Skip to content

Kann man Advanced Persistent Threats erkennen?

Die "Operation Aurora", Stuxnet und der Angriff auf RSA - drei bekannte Advanced Persistent Threats und zwei entscheidende Fragen: Kann man solche Angriffe erkennen, und wenn ja: Wie?

Der eigentliche Angriff

Fangen wir mit dem eigentlichen Angriff an, dem Einschleusen des ersten Schadcodes. Davon habe Sie jetzt drei Varianten kennen gelernt:

  1. "Operation Aurora": Eine E-Mail lockte einen Benutzer auf eine für eine Drive-by-Infektion präparierte Webseite, auf der eine 0-Day-Schwachstelle im Internet Explorer zum Einschleusen des Codes ausgenutzt wurde.
  2. Stuxnet: Entweder gelangte der Wurm von einer (oder mehreren) der fünf zuerst angegriffenen Organisationen ins lokale Netz, oder er wurde von einem bösartigen Mitarbeiter eingeschleust. Für die Verbreitung wurde eine 0-Day-Schwachstelle ausgenutzt, drei weitere 0-Day-Schwachstellen dienen zum Verankern im infizierten System etc..
  3. Der Angriff auf RSA: Eine bereits als Spam aussortierte E-Mail wurde von einem Benutzer geöffnet, eine enthaltene Excel-Datei nutzte eine 0-Day-Schwachstelle im Flash Player aus, um den Schadcode einzuschleusen.

Wie hätten diese Angriffe erkannt werden können? Eine Antiviren-Lösung dürften alle Opfer installiert haben, aber die ist gegen Exploits für 0-Day-Schwachstellen nur bedingt wirksam. Im Fall der Operation Aurora hätte ein Virenscanner den JavaScript-Code zum Einschleusen des Exploits erkennen können, sofern der nicht ebenfalls neu war - wovon man aber fast ausgehen kann. Warum sollten die Angreifer einen 0-Day-Exploit mit bekannten JavaScript-Code einzuschleusen versuchen und damit das Risiko einer Entdeckung eingehen?

Das gleiche gilt auch bei Stuxnet: Egal ob der Wurm nun über die fünf Organisationen oder einen Mitarbeiter ins lokale Netz kam, die 0-Day-Exploits werden vom Virenscanner kaum erkannt. Bei einem "Innentäter" kommt hinzu, dass der den Scanner evtl. sogar abschalten oder gezielt einen evtl. vorhandenen Rechner ohne Virenschutz auswählen kann.

Womit wir beim Angriff auf RSA wären. Auch hier wieder das gleiche Problem: Den 0-Day-Exploit erkennt kaum ein Virenscanner, sobald die präparierte Datei geöffnet wurde, hatte RSA verloren. ABER: Die Mail mit der präparierten Datei wurde bereits vorher als Spam erkannt - hätte der Benutzer sie nicht trotzdem geöffnet (woraus man ihm aber keinen Vorwurf machen sollte), wäre nichts passiert.

Das Mails mit Schadsoftware als Spam aussortiert werden, kann ich aus eigener Erfahrung bestätigen: Die meisten Mails mit Schadsoftware im Anhang werden als Spam aussortiert, egal ob der Anhang nun ein Onlinebanking-Trojaner, Ransomware oder was auch immer ist. Normalerweise nutzen die Cyberkriminellen für den Versand ihre Schadsoftware-Mails anscheinend die gleichen Methoden wie die Spammer, wenn sie nicht sogar auf entsprechende Angebote zurückgreifen. Und Botnets sind in diesem Zusammenhang ja sowieso ein Spezialfall: Ob ein Botnet nun seinen eigenen Schadcode per Mail verbreitet oder an Spammer vermietet wird, bleibt auf Empfängerseite gleich. Aber ich schweife ab, und was für Schadsoftware allgemein gilt, muss speziell für APTs nicht gelten. Wenn der Angreifer Wert darauf legt, wird er seine E-Mail auch durch den Spamfilter bekommen.

Kurze Zusammenfassung

Fassen wir das ganze noch mal zusammen: Wir haben es im Grunde mit drei typischen Angriffswegen zu tun, den "Innentäter" klammere ich erst mal aus. Drive-by-Infektionen und präparierte, per Mail zugeschickte Schadsoftware werden von Cyberkriminellen ständig genutzt. Ein Wurm, der sich von einem Netz in andere, verbundene Netze ausbreitet, ist auch durchaus üblich. Diese drei Wege sollten dann ja eigentlich von üblichen Schutzprogrammen überwacht und darüber eindringender Schadcode erkannt werden. Das hat hier aber in keinem Fall funktioniert, die Angriffe über die 0-Day-Schwachstellen wurden nicht erkannt.

Kommen wir zum "Innentäter". Auch so etwas kommt durchaus vor, aber deutlich seltener. Sofern der Mitarbeiter aber "nur" einen infizierten USB-Stick an einen Rechner steckt, sollte der darauf laufende Virenscanner den Schadcode eigentlich erkennen. Sofern der Täter ausreichende Rechte hat, kann er den Scanner aber ausschalten und/oder den Schadcode sogar selbst installieren. In so einem Fall lässt sich der Angriff erst recht nicht verhindern. Generell lohnt es sich, über das Problem "bösartiger Mitarbeiter" einmal genauer nachzudenken. Aber das bleibt als Thema für einen zukünftigen Text. Ab sofort gehe ich von einem Angriff von außen aus.

Zwischenfazit 1

Den ersten Angriff wird man also i.A. nicht erkennen und damit auch nicht abwehren können. 0-Day-Exploits fallen nur auf, wenn sie entweder altbekannten Code weiterverwenden oder bei einer Verhaltensanalyse Verdacht erregen. Beides werden Angreifer im Rahmen eines APT nach Möglichkeit vermeiden. U.a. deshalb hält ja Bruce Schneier den Begriff für ein nützliches Buzzword. Aber wie sieht es denn mit den weiteren Aktionen aus?

Der später eingeschleuste Schadcode

Was ist denn über den nach dem ersten Angriff eingeschleusten Schadcode bekannt?

  • "Operation Aurora": Die installierte Backdoor basierte auf VNC, auch die Methode zur Tarnung des Schadcodes war bereits bekannt.
  • Stuxnet: Erst wurden korrekt signierte Treiber installiert, dann der Steuerrechner für die SCADA-Systeme übernommen. Dabei wurden u.a. Default-Passwörter ausgenutzt.
  • Der Angriff auf RSA: Der Angreifer installierte das bekannte RAT Poison Ivy.

Evtl. vorhandene Virenscanner scheinen ja wohl weder im Fall der Operation Aurora noch beim Angriff auf RSA besonders erfolgreich gewesen zu sein. Wenn der Virenscanner den bekannten Code nicht erkennt, wer dann? Im Fall von Stuxnet sieht die Sache etwas anders aus, ein Virenscanner dürfte auf SCADA-Systemen zumindest damals nicht gerade üblich gewesen sein. Mit einem derartigen Angriff hat leichtsinnigerweise niemand gerechnet. Das ein Virenscanner die korrekt signierten Treiber nicht bemängelt, ist verständlich. Immerhin sind sie ja signiert, um einen Angriff darüber auszuschließen. Anders sieht es nur aus, wenn sie bereits als Schadsoftware bekannt sind, dann sollte der Scanner sie natürlich erkennen und melden. Da das aber beim ersten Angriff mit Stuxnet nicht der Fall war, kann man dem Virenscanner und dessen Hersteller daraus keinen Vorwurf machen.

Hätte man den nachgeladenen Schadcode erkennen können? Für sowas setzt man ja i.A. die Virenscanner ein, und man sollte ja eigentlich erwarten, dass ein Virenscanner zumindest bekannten Schadcode und Code aus der Grauzone erkennt. Denn wenn der Virenscanner den alten Schadcode nicht erkennt, wer sollte es dann tun?

Zwischenfazit 2

Der nach dem ersten Angriff eingeschleuste Schadcode sollte, sofern er nicht ebenfalls völlig neu ist, eigentlich vom Virenscanner erkannt werden. Da dass anscheinend nicht der Fall ist, lässt sich auch an dieser Stelle nur feststellen: Auch der nach dem ersten Angriff nachgeladene Schadcode wird i.A. nicht erkannt und abgewehrt.

Womit wir zum letzten möglichen Ansatzpunkt für das Erkennen des Angriffs kommen: Den Aktionen des Angreifers nach der Kompromittierung des ersten Rechners. Um die geht es in der nächsten Folge.

Carsten Eilers


Übersicht über alle Artikel zum Thema

Was ist ein Advanced Persistent Threat (APT)?
Ein bekannter Advanced Persistent Threat: Operation Aurora
Ein weiterer bekannter Advanced Persistent Threat: Stuxnet
Noch ein bekannter Advanced Persistent Threat: Der Angriff auf RSA
Kann man Advanced Persistent Threats erkennen?
Advanced Persistent Threats - Wo verrät sich der Angreifer?
Advanced Persistent Threats - So verrät sich der Angreifer!
Gezielte Angriffe und Advanced Persistent Threats
Advanced Persistent Threats gegen tibetische Aktivisten und mehr

Trackbacks

Keine Trackbacks