Skip to Main Content
Back to blog

So prüfen Sie, ob der CrowdStrike Falcon Sensor läuft

by Micah Sorenson

September 13, 2024 - 10 min

How to tell if CrowdStrike Falcon sensor is running

Dieser Leitfaden für IT- und Security-Teams zeigt, wie Sie erkennen, ob der CrowdStrike Falcon Sensor installiert, korrekt konfiguriert und aktiv ist. Die Überprüfung kann entweder mit osquery oder mit 1Password® Extended Access Management erfolgen.

CrowdStrike ist ein Sicherheitsunternehmen, dessen Plattform häufig als Endpoint Detection and Response (EDR)-Lösung eingesetzt wird. Die zentrale Komponente ist der CrowdStrike Falcon Sensor, ein Agent, der auf Endgeräten installiert wird und Malware, verdächtige Aktivitäten sowie Sicherheitslücken erkennt.

Laut CrowdStrike ist der Falcon Sensor „extrem leichtgewichtig (unter 1 % CPU-Auslastung) und unauffällig: keine Benutzeroberfläche, keine Pop-ups, keine Neustarts und automatische Updates im Hintergrund“. Deshalb wissen viele Nutzer gar nicht, dass der CrowdStrike Agent auf ihrem Gerät installiert ist – geschweige denn, ob er korrekt funktioniert.

Für IT-Teams kann es jedoch entscheidend sein zu prüfen, ob der CrowdStrike Falcon Sensor tatsächlich läuft. Ob der CrowdStrike Agent korrekt installiert, konfiguriert und aktiv ist, kann den Unterschied zwischen einer schweren Sicherheitsverletzung und einem ruhigen Wochenende für das IT-Team ausmachen.

Eine reine Prüfung, ob CrowdStrike installiert ist, reicht dabei nicht aus. Man muss auch sicherstellen, dass der CrowdStrike Agent korrekt konfiguriert ist und aktiv mit der Plattform kommuniziert.

In vielen Unternehmen fehlen entsprechende Reports. Wenn ein Gerät beispielsweise keine Daten mehr sendet, gibt es häufig keinen Alarm, weil unklar ist, ob es sich nur um ein veraltetes Gerät handelt. Der Kontext, warum ein Gerät fehlt, fehlt somit ebenfalls. Um den Status des CrowdStrike Sensors zuverlässig zu überprüfen, müssen zusätzliche Informationen gesammelt werden.

So prüfen Sie, ob CrowdStrike installiert und aktiv ist (Mac, Windows und Linux)

Um sicherzustellen, dass CrowdStrike korrekt funktioniert, sollten mehrere Parameter überprüft werden, darunter:

  • Client ID

  • RFM-Status (nur Linux)

  • aktive System Extension (nur macOS)

  • Betriebsstatus des CrowdStrike Agents

  • installierte Version

Unter Windows ist dies relativ einfach. Dort können Sie:

  • die Client ID über die Registry abrufen

  • den Status des CrowdStrike Agents über die Services-Tabelle prüfen

  • die installierte Version über die Programmliste auslesen

Bei macOS und Linux stehen diese Tabellen jedoch nicht vollständig zur Verfügung. Deshalb müssen zusätzliche Methoden eingesetzt werden, um den Status des CrowdStrike Falcon Sensors zu validieren.

Eine Möglichkeit besteht darin, das CrowdStrike-Tool falconctl abzufragen. Dieses Binary liefert Informationen darüber, ob der Sensor wirklich aktiv ist und mit CrowdStrike kommuniziert.

Um die fehlenden Informationen zu erhalten, hat unser Team zusätzliche Tabellen erstellt, die Daten aus dem Falcon-Binary für macOS und Linux auslesen. Damit lassen sich wichtige Werte prüfen:

  • Client ID

  • RFM-Status

  • aktive System Extension

  • Betriebsstatus des CrowdStrike Sensors

Dadurch entsteht eine deutlich robustere Lösung, die auch Fehler im CrowdStrike Agent erkennt, die bei einer einfachen Installationsprüfung unbemerkt bleiben würden.

CrowdStrike Sensor mit einer nativen osquery-Implementierung erkennen

Auch mit einer Standard-Installation von osquery lassen sich Informationen über den CrowdStrike Falcon Sensor abrufen. Die genaue Methode hängt jedoch vom jeweiligen Betriebssystem ab.

Im Folgenden zeigen wir einen allgemeinen Ansatz für macOS, Linux und Windows.

MacOS

Schritt 1: Wir prüfen zunächst, ob der CrowdStrike Falcon Sensor als aktive System Extension vorhanden ist. Dazu verwenden wir die Tabelle system_extensions.

Damit lässt sich feststellen, ob der CrowdStrike Agent auf dem Endpoint installiert und aktiviert ist. Außerdem sehen wir, welche Version der System Extension installiert ist.

Schritt 2: Das ist auf einmal recht viel Information. Daher zerlegen wir es zunächst in die Spalten, die uns interessieren:

  • Identifier – die Kennung der System Extension (com.crowdstrike.falcon.Agent)

  • State – der Status der Extension, also z. B. aktiv und aktiviert oder deaktiviert

  • Version – die Version der Extension

Schritt 3: Mit diesen Spalten erstellen wir ein JSON_OBJECT. Dieses nimmt unsere Spalten auf und gibt für jede Zeile ein JSON-formatiertes Objekt zurück.

  • JSON_OBJECT('identifier', identifier, 'state', state, 'version', version)

Schritt 4: Jetzt können wir die Objekte in ein Array zusammenfassen, das alle Einträge enthält.

  • JSON_GROUP_ARRAY(JSON_OBJECT('identifier', identifier, 'state', state, 'version', version))

Schritt 5: Anschließend erstellen wir zwei Objekt-Arrays und fügen Filter hinzu, um die Daten zu trennen.

  • Das erste enthält die Zeile(n), bei denen der Wert der Spalte state gleich "activated_enabled" ist.

    • FILTER(WHERE state = 'activated_enabled')

  • Das zweite enthält die Zeile(n), bei denen der Wert der Spalte state nicht gleich "activated_enabled" ist.

    • FILTER(WHERE state != 'activated_enabled')

Schritt 6: Jetzt können wir alle CrowdStrike-System-Extensions abrufen, indem wir alles zusammenführen und eine WHERE-Klausel hinzufügen, um nur CrowdStrike-System-Extensions zu berücksichtigen.

SELECT JSON_GROUP_ARRAY(JSON_OBJECT('identifier', identifier, 'state', state, 'version', version)) FILTER(WHERE state = 'activated_enabled') AS active_system_extensions, JSON_GROUP_ARRAY(JSON_OBJECT('identifier', identifier, 'state', state, 'version', version)) FILTER(WHERE state != 'activated_enabled') AS inactive_system_extensions FROM system_extensions WHERE identifier = 'com.crowdstrike.falcon.Agent' COLLATE NOCASE

CrowdStrike auf Linux prüfen

Schritt 1: Zunächst erfassen wir die installierte Version des CrowdStrike Falcon Sensors und validieren damit gleichzeitig die Installation über die Paketverwaltung.

Auf Debian-basierten Systemen wird die Tabelle deb_packages verwendet, auf RHEL-basierten Systemen entsprechend rpm_packages.

SELECT MAX(version) AS version FROM deb_packages WHERE name = 'falcon-sensor' COLLATE NOCASE

Schritt 2: Anschließend erfassen wir den Betriebsstatus des Sensors über die Tabelle systemd_units.

SELECT COUNT(*), CASE WHEN LOWER(sub_state) = 'running' AND LOWER(load_state) = 'loaded' AND LOWER(active_state) = 'active' THEN 'Yes' ELSE 'No' END AS sensor_operational FROM systemd_units WHERE id = 'falcon-sensor.service' COLLATE NOCASE

Diese Abfrage überprüft, ob der Dienst falcon-sensor.service aktiv ausgeführt wird. Wenn die Zustände running, loaded und active erfüllt sind, wird der Sensor als betriebsbereit (Yes) markiert. Andernfalls wird No zurückgegeben.

CrowdStrike auf Windows prüfen

Step 1: Zunächst erfassen wir die Agent ID und Client ID aus der Tabelle registry.

Für beide IDs sind nur die ersten 32 Zeichen relevant. Deshalb verwenden wir die Funktion SUBSTR, um zusätzliche Zeichen abzuschneiden.

SELECT MAX(SUBSTR(data, 1, 32)) FILTER(WHERE name = 'AG') AS agent_id, MAX(SUBSTR(data, 1, 32)) FILTER(WHERE name = 'CU') AS client_id FROM registry WHERE key = 'HKEY_LOCAL_MACHINE\SYSTEM\CrowdStrike\{9b03c1d9-3138-44ed-9fae-d9f4c034b88d}\{16e0423f-7058-48c9-a204-725362b67639}\Default' COLLATE NOCASE

Schritt 2: Anschließend erfassen wir die Version und validieren damit gleichzeitig die Installation über die Tabelle programs.

SELECT MAX(version) AS version FROM programs WHERE name = 'CrowdStrike Sensor Platform' COLLATE NOCASE

Schritt 3: Abschließend erfassen wir den Betriebsstatus des Agents über die Tabelle services.

SELECT COUNT(*), IIF(LOWER(status) = 'running', 'Yes', 'No') AS sensor_operational FROM services WHERE name = 'CSFalconService' COLLATE NOCASE

Diese Abfrage prüft, ob der CrowdStrike Falcon Sensor über den Dienst CSFalconService aktiv läuft. Wenn der Status running ist, wird der Sensor als betriebsbereit (Yes) markiert. Andernfalls wird No zurückgegeben.

Wie 1Password sicherstellt, dass der CrowdStrike Agent korrekt läuft

Bei 1Password haben wir zusätzliche Tabellen erstellt, um weitere Informationen aus dem CrowdStrike Falcon Sensor abzurufen. (Eine ausführliche Anleitung zum Erstellen von osquery-Tabellen finden Sie in unserem Blog.)

Diese Daten werden je nach Betriebssystem unterschiedlich erfasst.

MacOS

Wir prüfen die Ausgabe des folgenden Befehls:

/Applications/Falcon.app/Contents/Resources/falconctl stats -p

Dabei werden folgende Informationen erfasst:

  • Agent ID

  • Client ID

  • Betriebsstatus

  • Version des CrowdStrike Agents

Zusätzlich wird überprüft, ob der CrowdStrike Falcon Sensor als aktive System Extension installiert ist.

Linux

Unter Linux wird folgender Befehl verwendet:

/opt/CrowdStrike/falconctl -g –aid –cid –rfm-state –version

Damit lassen sich folgende Werte abrufen:

  • Agent ID

  • Client ID

  • RFM-Status

  • Version des CrowdStrike Sensors

Der Betriebsstatus wird zusätzlich über systemd_units validiert.

Windows

Unter Windows werden die wichtigsten Informationen über:

  • Registry-Tabellen

  • Services-Tabellen

  • WMI-Tabellen gesammelt.

Damit lassen sich Agent ID, Client ID, Version und Status des CrowdStrike Agents überprüfen.

Was ist CrowdStrike ZTA (Zero Trust Assessment)?

Bis zu diesem Punkt haben wir erläutert, wie sich erkennen und überprüfen lässt, ob der CrowdStrike Agent installiert, korrekt konfiguriert und aktiv ist. Nun betrachten wir, wie die Device Trust-Lösung von 1Password (als Teil von 1Password Extended Access Management) eine zusätzliche Sicherheitsmetrik nutzt, die CrowdStrike bereitstellt: den Dienst ZTA (Zero Trust Assessment).

Der ZTA-Dienst überwacht das Betriebssystem sowie die Einstellungen des CrowdStrike Falcon Sensors, um sicherzustellen, dass sie den konfigurierten Richtlinien entsprechen. Anschließend berechnet der Dienst für jeden Host einen Security Score zwischen 1 und 100. Ein höherer Wert weist zwar auf eine bessere Sicherheitslage des Geräts hin, allerdings hängt der Score stark von der jeweiligen Richtlinienkonfiguration ab. Daher definiert ZTA selbst nicht, welcher Wert als „gut“ gilt.

Unser Ziel ist es, einen Check zu erstellen, der Geräte an der Authentifizierung hindert, wenn sie keinen ausreichend hohen ZTA-Score erreichen.

Wenn Sie mehr über den CrowdStrike ZTA-Dienst erfahren möchten, empfehlen wir, sich die entsprechende Demo anzusehen. Für den weiteren Verlauf dieses Abschnitts gehen wir davon aus, dass Sie bereits wissen, was der ZTA-Dienst ist und wie er Informationen über Host-Geräte bereitstellt.

Der ZTA-Security-Score wird auf dem Hostgerät generiert und in einer gemeinsamen Datei namens data.zta gespeichert (mit Ausnahme von Linux). Diese Datei ist ein verschlüsseltes und signiertes JSON Web Token (JWT).

Wenn wir dieses JWT analysieren, können wir die verschiedenen darin enthaltenen Claims erkennen. Für unsere Zwecke sind insbesondere die Assessment-Claims (ZTA) relevant. Diese sind in vier verschiedene Werte unterteilt:

  • der ZTA OS Security Score

  • der ZTA Falcon Sensor Security Score

  • der ZTA Overall Security Score

  • die ZTA Version

Wie 1Password CrowdStrike ZTA nutzt

Es gibt einige Komponenten, die wir implementieren mussten, um die CrowdStrike ZTA-Daten nutzen zu können.

Zunächst benötigten wir eine Möglichkeit, das JWT zu parsen, da es in osquery keine native Funktion dafür gibt. Ähnlich wie bei den anderen CrowdStrike-Tabellen, die wir zuvor erstellen mussten, haben wir eine JWT-Parser-Tabelle entwickelt, um diese Aufgabe zu übernehmen.

Als Nächstes wollten wir das geparste JWT mit den öffentlich verfügbaren CrowdStrike ZTA JWKs validieren. Die JWT-Parser-Tabelle akzeptiert ein Array von Signaturschlüsseln, das an sie übergeben wird, um die Signatur des JWT zu überprüfen.

Damit verfügen wir nun über alle Bausteine für unseren CrowdStrike ZTA Check. Dieser Check überprüft, ob die Signatur des ZTA-JWT mithilfe der entsprechenden JWKs gültig ist. Standardmäßig prüft der Check außerdem, ob der gesamte ZTA-Score mindestens 75 beträgt. Dieser Schwellenwert kann angepasst werden, ebenso wie die Mindestanforderungen für die anderen Scores, die standardmäßig auf 0 gesetzt sind.

Wie 1Password Device Trust CrowdStrike-Checks automatisiert

Wie Sie sehen können, mussten wir über die verschiedenen Betriebssysteme hinweg Daten und Statusinformationen von CrowdStrike aus mehreren Tabellen in osquery sowie aus unserem eigenen Agenten zusammenführen. Ohne die Daten unseres Agents würden die Checks an Qualität und Aussagekraft verlieren – und im Fall des ZTA-Checks gäbe es ihn überhaupt nicht.

Das gibt Ihnen einen Eindruck davon, wie viel Arbeit in die Erstellung unserer Software-Konfigurations-Checks fließt. Gleichzeitig zeigt es noch nicht das vollständige Bild unseres finalen Produkts. Anschließend bündeln wir diese unterschiedlichen Abfragen zu Checks, die Administratoren auf ihre gesamte Geräteflotte ausrollen können. Diese Checks lassen sich automatisch oder bei Bedarf ausführen (standardmäßig werden sie einmal pro Stunde ausgeführt).

Im Beispiel des CrowdStrike-Agent-Checks benachrichtigt unser Agent den Endnutzer sofort über unsere Toolbar-App, wenn ein Problem erkannt wird, und stellt entsprechende Anweisungen zur Behebung bereit.

CrowdStrike Falcon Agent System Extension Fehler

Wenn ein Nutzer versucht, sich über seinen IdP zu authentifizieren, ohne dass ein funktionsfähiger CrowdStrike Agent vorhanden ist, blockiert die Device-Trust-Lösung von 1Password den Zugriff, bis das Problem behoben wurde. (Wie bei allen unseren Checks können Administratoren auch hier einstellen, dass Nutzer lediglich gewarnt werden, statt den Zugriff zu blockieren. Aufgrund der wichtigen Sicherheitsfunktion von CrowdStrike entscheiden sich die meisten unserer Kunden jedoch dafür, diese Prüfung verpflichtend zu machen.)

Der Nutzen der Endnutzer-Remediation sollte bei diesem CrowdStrike-Agent-Check nicht unterschätzt werden. Zum einen können Endnutzer schneller wieder arbeiten, ohne dass IT-Mitarbeiter direkt eingreifen müssen. Zum anderen überwindet dieser Ansatz organisatorische Silos: In vielen Unternehmen liegt CrowdStrike im Verantwortungsbereich des Security-Teams, während der Kontakt zu Endnutzern meist von der IT-Abteilung übernommen wird.

Auch wenn diese Checks speziell für CrowdStrike entwickelt wurden, lässt sich derselbe Ansatz grundsätzlich auch auf andere EDR-Tools und Softwarelösungen übertragen.

Die Details können variieren, aber der grundlegende Ablauf sieht in der Regel so aus:

  • Konfigurationsdateien und/oder Logs finden und analysieren

  • Tabellen und Launcher-Funktionen erstellen, um diese Dateien auszulesen

  • Einen Check schreiben, der die benutzerdefinierten Tabellen nutzt

Wenn Sie Kunde von 1Password Extended Access Management sind, können Sie den gesamten Prozess – einschließlich der Erstellung von Remediation-Anweisungen für Endnutzer – über unseren Custom-Check-Editor durchführen.

Wenn Sie noch kein Kunde sind, aber mehr darüber erfahren möchten, wie unsere Device-Trust-Lösung funktioniert, vereinbaren Sie einfach eine Demo.