Micro-Agent-Ereigniserfassung

Defender für IoT-Sicherheits-Agents erfassen Daten und Systemereignisse von Ihrem lokalen Gerät und senden die Daten zur Verarbeitung an die Azure-Cloud.

Wenn Sie einen Log Analytics-Arbeitsbereich konfiguriert haben und damit verbunden sind, werden diese Ereignisse in Log Analytics angezeigt. Weitere Informationen finden Sie im Tutorial: Untersuchen von Sicherheitswarnungen.

Der Defender für IoT-Micro-Agent sammelt viele Arten von Geräteereignissen, einschließlich neuer Prozess- und Verbindungsereignisse. Die neuen Prozess- und Verbindungsereignisse können auf einem Gerät häufig eintreten. Diese Funktionalität ist wichtig für eine umfassende Sicherheit. Die Anzahl der von den Sicherheits-Agents gesendeten Nachrichten kann jedoch Ihre IoT Hub-Kontingente und -Kostenlimits schnell erreichen oder überschreiten. Diese Nachrichten und Ereignisse enthalten äußerst wertvolle Sicherheitsinformationen, die für den Schutz Ihres Geräts von entscheidender Bedeutung sind.

Defender für IoT-Agents aggregieren die folgenden Ereignistypen, um die Anzahl der Nachrichten und die Kosten bei gleichzeitiger Aufrechterhaltung der Sicherheit Ihres Geräts zu reduzieren:

  • Prozessereignisse (nur Linux)

  • Netzwerkaktivitätsereignisse

  • Dateisystemereignisse

  • Statistikereignisse

Weitere Informationen finden Sie unter Ereignisaggregation für Prozess- und Netzwerksammler.

Ereignisbasierte Sammler werden, basierend auf der entsprechenden Aktivität, innerhalb des Geräts ausgelöst. Beispiel: a process was started in the device.

Triggerbasierte Sammler werden auf der Basis von den Kundenkonfigurationen zeitgesteuert ausgelöst.

Prozessereignisse (ereignisbasierter Sammler)

Prozessereignisse werden unter Linux-Betriebssystemen unterstützt.

Prozessereignisse werden als identisch angesehen, wenn die Befehlszeile und die Benutzer-ID identisch sind.

Der Standardpuffer für Prozessereignisse beträgt 256 Prozesse. Wenn dieser Grenzwert erreicht wird, wird der Puffer zyklisch durchlaufen. Außerdem wird das älteste Prozessereignis verworfen, um Platz für das neueste verarbeitete Ereignis zu schaffen. Es wird eine Warnung zur Erhöhung der Cachegröße protokolliert.

Die für jedes Ereignis gesammelten Daten lauten:

Parameter Beschreibung
Timestamp Das erste Mal, dass der Vorgang beobachtet wurde.
Prozess-ID Die Linux-PID.
ID des übergeordneten Prozesses Die übergeordnete Linux-PID, sofern vorhanden.
Befehlszeile Die Befehlszeile.
Typ Kann entweder fork oder exec sein.
Trefferanzahl Die aggregierte Anzahl. Die Anzahl der Ausführungen desselben Prozesses in demselben Zeitrahmen, bis die Ereignisse an die Cloud gesendet werden.

Netzwerkaktivitätsereignisse (ereignisbasierter Sammler)

Die Netzwerkaktivitätsereignisse werden als identisch angesehen, wenn der lokale Port, der Remote-Port, das Transportprotokoll, die lokale Adresse und die Remote-Adresse identisch sind.

Der Standardpufferwert für ein Netzwerkaktivitätsereignis ist 256. Für Situationen, in denen der Cache voll ist:

  • Eclipse ThreadX-Geräte: Bis zum Beginn des nächsten Sammlungszyklus werden keine neuen Netzwerkereignisse mehr zwischengespeichert.

  • Linux-Geräte: Das älteste Ereignis wird durch jedes neue Ereignis ersetzt. Es wird eine Warnung zur Erhöhung der Cachegröße protokolliert.

Bei Linux-Geräten wird nur „IPv4“ unterstützt.

Die für jedes Ereignis gesammelten Daten lauten:

Parameter BESCHREIBUNG
Lokale Adresse Die Quelladresse der Verbindung.
Remoteadresse Die Zieladresse der Verbindung.
Lokaler Port Der Quellport der Verbindung.
Remoteport Der Zielport der Verbindung.
Eingehende Bytes Die gesamten aggregierten RX-Bytes der Verbindung.
Ausgehende Bytes Die gesamten aggregierten TX-Bytes der Verbindung.
Transportprotokoll Kann „TCP“, „UDP“ oder „ICMP“ sein.
Anwendungsprotokoll Das der Verbindung zugeordnete Anwendungsprotokoll.
Erweiterte Eigenschaften Die zusätzlichen Details der Verbindung. Beispiel: host name.
Trefferanzahl Die Anzahl der beobachteten Pakete

Anmeldungssammler (ereignisbasierter Sammler)

Der Anmeldungssammler erfasst Benutzeranmeldungen, Abmeldungen und fehlgeschlagene Anmeldeversuche.

Der Anmeldungssammler unterstützt die folgenden Arten von Sammlungsmethoden:

  • UTMP und SYSLOG. UTMP erfasst interaktive SSH-Ereignisse, Telnet-Ereignisse und Terminalanmeldungen sowie alle fehlgeschlagenen SSH-, Telnet- und Terminalanmeldeereignisse. Ist SYSLOG auf dem Gerät aktiviert, erfasst der Anmeldungssammler auch SSH-Anmeldeereignisse über die SYSLOG-Datei mit dem Namen auth.log.

  • PAM (Pluggable Authentication Modules, Module für austauschbare Authentifizierung): Erfasst SSH- und Telnet-Anmeldeereignisse sowie lokale Anmeldeereignisse. Weitere Informationen finden Sie unter Konfigurieren von PAM (Pluggable Authentication Modules) zum Überwachen von Anmeldeereignissen.

Die folgenden Daten werden gesammelt:

Parameter Beschreibung
operation Einer der folgenden: Login, Logout, LoginFailed
Prozess-ID Die Linux-PID.
user_name Der Linux-Benutzer.
executable Das Terminalgerät. Zum Beispiel: tty1..6 oder pts/n.
remote_address Die Quelle der Verbindung – entweder Remote-IP-Adresse im IPv6- oder IPv4-Format oder 127.0.0.1/0.0.0.0 zur Angabe der lokalen Verbindung

Systeminformationen (triggerbasierter Sammler)

Die für jedes Ereignis gesammelten Daten lauten:

Parameter BESCHREIBUNG
hardware_vendor Der Name des Geräteherstellers.
hardware_model Die Modellnummer des Geräts.
os_dist Die Verteilung des Betriebssystems. Beispiel: Linux.
os_version Die Version des Betriebssystems. Beispiel: Windows 10 oder Ubuntu 20.04.1.
os_platform Das Betriebssystem des Geräts
os_arch Die Architektur des Betriebssystems. Beispiel: x86_64.
agent_type Der Typ des Agents (Edge/eigenständig).
agent_version Die Version des Agents.
nics Der Netzwerkschnittstellencontroller. Die vollständige Liste der Eigenschaften ist nachstehend aufgeführt.

Die nics-Eigenschaften bestehen aus Folgendem:

Parameter Beschreibung
type Einer der folgenden Werte: UNKNOWN, ETH, WIFI, MOBILE oder SATELLITE.
vlans Das der Netzwerkschnittstelle zugeordnete virtuelle LAN.
vendor Der Anbieter des Netzwerkcontrollers.
info IPS und MACs, die dem Netzwerkcontroller zugeordnet sind. Dazu gehören die folgenden Felder:
- ipv4_address: Die IPv4-Adresse.
- ipv6_address: Die IPv6-Adresse.
- mac: Die MAC-Adresse.

Baseline (triggerbasierter Sammler)

Der Baselinesammler führt regelmäßige CIS-Überprüfungen aus und sendet failed-, pass- und skip-Prüfergebnissen an den Defender für IoT-Clouddienst. Defender für IoT aggregiert die Ergebnisse und stellt basierend auf den Fehlern Empfehlungen zur Verfügung.

Die für jedes Ereignis gesammelten Daten lauten:

Parameter BESCHREIBUNG
Prüf-ID Im CIS-Format. Beispiel: CIS-debian-9-Filesystem-1.1.2.
Ergebnis überprüfen Dies kann Fail, Pass, Skip oder Error sein. Zum Beispiel, Error in einer Situation, in der die Prüfung nicht durchgeführt werden kann.
Fehler Fehler – Die Informationen zum Fehler und die entsprechende Beschreibung.
Beschreibung Die Beschreibung der Überprüfung vom CIS.
Wartung Die Empfehlung zur Wartung vom CIS.
Schweregrad Der Schweregrad.

SBoM (triggerbasierter Sammler)

Der SBoM-Collector (Software Bill of Materials, Softwarestückliste) sammelt regelmäßig die auf dem Gerät installierten Pakete.

Die für jedes Paket gesammelten Daten umfassen Folgendes:

Parameter Beschreibung
Name Der Paketname.
Version Die Paketversion
Hersteller Der Anbieter des Pakets (Feld Maintainer in DEB-Paketen).

Peripherieereignisse (ereignisbasierter Collector)

Der Collector „Peripherieereignisse“ sammelt Verbindungen und Trennungen von USB- und Ethernet-Ereignissen.

Welche Felder gesammelt werden, hängt vom Typ des Ereignisses ab:

USB-Ereignisse

Parameter Beschreibung
Timestamp Die Zeit, zu der das Ereignis aufgetreten ist.
ActionType Gibt an, ob es sich bei dem Ereignis um ein Verbindungs- oder Trennungsereignis handelt.
bus_number Spezifischer Controllerbezeichner, jedes USB-Gerät kann mehrere haben.
kernel_device_number Darstellung im Kernel des Geräts, nicht eindeutig und kann jedes Mal auftreten, wenn das Gerät verbunden ist.
device_class Bezeichner, der die Geräteklasse angibt.
device_subclass Bezeichner, der den Gerätetyp angibt.
device_protocol Bezeichner, der das Geräteprotokoll angibt.
interface_class Gibt den Gerätetyp an, wenn die Geräteklasse 0 ist.
interface_subclass Gibt den Gerätetyp an, wenn die Geräteklasse 0 ist.
interface_protocol Gibt den Gerätetyp an, wenn die Geräteklasse 0 ist.

Ethernet-Ereignisse

Parameter Beschreibung
Timestamp Die Zeit, zu der das Ereignis aufgetreten ist.
ActionType Gibt an, ob es sich bei dem Ereignis um ein Verbindungs- oder Trennungsereignis handelt.
bus_number Spezifischer Controllerbezeichner, jedes USB-Gerät kann mehrere haben.
Schnittstellenname Der Name der Schnittstelle.

Dateisystemereignisse (ereignisbasierter Collector)

Der Collector „Dateisystemereignisse“ sammelt Ereignisse, wenn unter Überwachungsverzeichnissen Änderungen auftreten für: Erstellen, Löschen, Verschieben und Ändern von Verzeichnissen und Dateien. Informationen zum Definieren der Verzeichnisse und Dateien, die Sie überwachen möchten, finden Sie unter Systeminformationscollector-spezifische Einstellungen.

Die folgenden Daten werden gesammelt:

Parameter Beschreibung
Timestamp Die Zeit, zu der das Ereignis aufgetreten ist.
Maske Linux-Inotify-Maske im Zusammenhang mit dem Dateisystemereignis; die Maske identifiziert den Typ der Aktion und kann Folgendes sein: Zugriff/Geändert/Metadaten geändert/Geschlossen/Offen/Verschoben/Erstellt/Gelöscht.
Pfad Verzeichnis-/Dateipfad, für den das Ereignis generiert wurde.
Hitcount Die Häufigkeit des Aggregierens dieses Ereignisses.

Statistikdaten (triggerbasierter Collector)

Der Statistikcollector generiert verschiedene Statistiken für die verschiedenen Micro-Agent-Collectors. Diese Statistiken enthalten Informationen über die Leistung der Collectors im vorherigen Sammlungszyklus. Beispiele für mögliche Statistiken sind die Anzahl der erfolgreich gesendeten Ereignisse und die Anzahl der Ereignisse, die gelöscht wurden, sowie die Gründe für die Fehler.

Erfasste Felder:

Parameter Beschreibung
Timestamp Die Zeit, zu der das Ereignis aufgetreten ist.
Name Name des Collectors.
Ereignisse Ein Array von Paaren mit Beschreibung und Trefferanzahl im JSON-Format.
Beschreibung Gibt an, ob die Nachricht gesendet/gelöscht wurde, und ggf. den Grund für die Löschung.
Hitcount Anzahl der entsprechenden Nachrichten.

Ereignisaggregation für Prozess- und Netzwerksammler

Funktionsweise der Ereignisaggregation für die Prozessereignisse und Netzwerkaktivitätsereignisse:

Defender für IoT-Agents aggregieren Ereignisse während des Sendeintervalls, das in der Konfiguration der Meldungshäufigkeit für den jeweiligen Sammler definiert ist, z. B. Process_MessageFrequency oder NetworkActivity_MessageFrequency. Nachdem der Sendeintervallzeitraum abgelaufen ist, sendet der Agent die aggregierten Ereignisse zur weiteren Analyse an die Azure-Cloud. Die aggregierten Ereignisse werden im Arbeitsspeicher gespeichert, bis sie an die Azure-Cloud gesendet werden.

Um den Speicherbedarf des Agents zu verringern, erhöht der Agent immer dann die Trefferanzahl dieses konkreten Ereignisses, wenn er ähnliche Ereignisse erfasst wie die, die bereits im Arbeitsspeicher vorhanden sind. Wenn das Aggregationszeitfenster überschritten wird, sendet der Agent die Trefferanzahl für jeden Ereignistyp, der aufgetreten ist. Die Ereignisaggregation ist die Aggregation der Trefferanzahl ähnlicher Ereignisse. Netzwerkaktivitäten mit demselben Remotehost und demselben Port werden beispielsweise als ein Ereignis aggregiert, und nicht als separates Ereignis für jedes Paket.

Hinweis

Der Mikro-Agent sendet standardmäßig Protokolle und Telemetrie für Problembehandlungs- und Überwachungszwecke an die Cloud. Dieses Verhalten kann über den Zwilling konfiguriert oder deaktiviert werden.

Nächste Schritte

Weitere Informationen finden Sie unter