Endpoint Detection and Response, kurz EDR, beginnt mit der Umsetzung eines Schutzfeatures, das herkömmliche Antiviren-Software nur als Werbeversprechen des Herstellers bot: sogar bisher unbekannte Malware erkennen und stoppen. Aber während EDR-Software bei der Erkennung bösartiger Aktivitäten tatsächlich deutlich besser als ihre Vorgänger ist, hat sie ihr grundlegendes Problem geerbt: Sie ist zu leicht zu täuschen, wie jüngste Tests eines Forschungsteams zeigen.
Klassischer Virenschutz
Antivirensoftware scannt Dateien hauptsächlich auf bekannte Muster potenziell bösartiger Aktivitäten. Das bedeutet im Grunde, dass es sogenannte Signaturen in einer Datei verwendet, um nach bestimmten Zeichenfolgen zu suchen. Es ist kein Geheimnis, dass ein Programmierer seinen Schadcode sehr leicht so anpassen kann, dass diese Tests nicht mehr funktionieren. Antivirus-Software-Tests bei c’t haben dies immer wieder bewiesen.
AV-Software ergänzt diese Signatur-Scans durch Sandbox-Analysen, bei denen die verdächtige Software kontrolliert ausgeführt wird. Diese Sandboxen können jedoch nur bedingt ein reales System simulieren und sind daher erkennbar. Das praktische Ergebnis: Malware entdeckt die Sandbox, gibt sich harmlos aus und entzieht sich durch dynamische Analyse ebenfalls der Erkennung.
“Erstes Rennen”
Es gibt viele Mythen darüber, wie EDR funktioniert; Wie bei AV sind viele davon wahrscheinlich auf trübe Versprechungen der Hersteller zurückzuführen. Jorge Gimenez und Karsten Nohl vom Berliner Sicherheitsunternehmen SRLabs haben sich das konkret angeschaut und die zusätzlichen Schutzfunktionen technisch verständlich erklärt.
Daher konzentriert sich die EDR-Software nicht mehr so sehr auf den Inhalt der Dateien, sondern überwacht die Aktivitäten der Prozesse, die auf dem zu schützenden System laufen. Dazu hakt es sich typischerweise in die API-Aufrufe aller laufenden Programme ein (Hooking) und reagiert auf verdächtige Aktivitäten, die typischerweise von Malware angezeigt werden. Auf diese Weise kann es auch bisher völlig unbekannte Malware identifizieren und deren Weiterlauf verhindern. So zumindest die Theorie.
EDR überwacht die Systemaufrufe aller Prozesse, die ntdll.dll verwenden. Wer das übersieht, kann von EDR überlistet werden.
(Bild: SRLabs)
In der Praxis kämpft EDR jedoch mit genau dem gleichen Problem wie Antiviren-Software: Ein motivierter Angreifer kann sich gezielt der Entdeckung entziehen, wie Forscher in konkreten Tests herausgefunden haben. Dazu installierten sie drei prominente EDR-Lösungen in einer Testumgebung und versuchten diese dann auszutricksen. Zum Einsatz kamen Microsoft Defender for Endpoints, Sentinel One und Symantec EDR.
Nohl et al. haben mehrere Tricks ausprobiert, um zu vermeiden, dass sie sich durch den EDR haken; das heißt, die notwendigen Funktionen des Windows-Systems zu nutzen, ohne dass der Wächter es merkt. Letztendlich hatten sie den besten Erfolg mit einer Methode, die sie indirekte Systemaufrufe nennen. Im Prinzip umgehen sie die EDR-instrumentierte Systembibliothek ntdll.dll und rufen die benötigten Kernel-Funktionen selbst auf. Da der direkte Aufruf der Syscall-Funktion zu oft einen Alarm auslöste, suchte man im Hauptspeicher nach einem und nannte ihn daher “Indirect System Call”.
C&C hat über den EDR hinaus geschummelt
Sie haben es mit Cobalt Strike Beacons und Silver versucht; beides sind beliebte Backdoor-Programme, die Angreifer auf kompromittierten Systemen zur späteren Verwendung installieren. Sie werden in großem Umfang von cyberkriminellen Banden, beispielsweise im Rahmen von Ransomware-Kampagnen, und von staatlichen APT-Hackern eingesetzt.
Die gute Nachricht: Während die gleichzeitig getestete Antivirus-Software diese Command&Control-Malware nicht als bösartig identifizierte, identifizierten alle drei EDRs (mit einer Ausnahme) eine Bedrohung und schlugen Alarm. Zumindest in der Standardversion. Doch sobald die White-Hat-Hacker in ihre Trickkiste griffen, verschlechterten sich auch die EDR-Ergebnisse.
Rot zeigt einen erfolgreichen Bypass-Versuch an. Schließlich waren die Forscher in der Lage, alle EDR-Systeme zu täuschen.
(Bild: SRLabs)
Effektiver war es, den Schadcode nicht in einer ausführbaren Exe-Datei, sondern in einer Bibliothek (DLL) abzulegen. Letztlich gelang es den Forschern, ihre Malware an allen EDR-Systemen vorbeizuschmuggeln und so deren Schutzfunktion außer Kraft zu setzen. Der versprochene Alarm bei verdächtigen Aktivitäten wie C&C-Kommunikation, Installation eines Keyloggers oder Ausführung zusätzlicher Malware blieb meist aus.
“Es ist kein revolutionärer Sprung”
Ein abschließender Test der beiden Forscher warf eine grundsätzliche Frage nach dem Nutzen von EDR auf: 13 bzw. 16 Antivirenprogramme schlugen bei Virustotal Alarm, als sie mit den verwendeten Proben Cobalt Strike und Silver konfrontiert wurden. Dies deutet darauf hin, dass klassische Sandbox-Analysen noch Potenzial für eine bessere Erkennung haben. Gegenüber dem Einfügen des EDR hat es den Vorteil, dass es nicht „am Live-Objekt“ funktioniert.
Bisher haben Forscher nur vergleichsweise einfache und bekannte Ausweichtechniken verwendet. Grundsätzlich könne man bei Bedarf sogar noch weiter gehen, erklärte Nohl gegenüber Heise Security. Letztlich bleibt, dass gerade in Unternehmen ein EDR auch mit anderen Schutzmaßnahmen wie Filtern, Whitelisting, Least Privileges etc. kombiniert werden muss. um ein akzeptables Sicherheitsniveau zu erreichen.
„Die Umgehung eines EDR-Systems ist für den Hacker immer mit zusätzlichem Aufwand verbunden. In diesem Sinne spielen EDRs eine wichtige Rolle, um Hacker zu stoppen, aber sie sind nicht das Allheilmittel, als das sie oft angepriesen werden.“ fasst Nohl seine Erkenntnisse zusammen, die er auch findet präsentiert in einem Vortrag auf der Hack-in-the-Box-Konferenz. Aber ich hätte dasselbe über AV-Software sagen können.
(Ja)
Auf der Homepage