Die chinesische Regierung hat einen Angriff auf Google und andere Firmen gestartet, wie man ihn bisher nicht kannte. ZDNet erläutert die Details des Zusammenspiels von Malware und gezielt platzierten Spionen in Unternehmen.
Letzte Woche fand[1] der Sicherheitshersteller McAfee[2] eine neue Lücke im Internet Explorer. Zuvor berichtete[3] Google, dass es, wie auch andere Firmen, aus China angegriffen wurde, ohne dabei technische Details zu nennen. Google reagierte[4] ungewöhnlich heftig. Man will sich der chinesischen Zensur nicht länger beugen und nimmt sogar einen Rückzug aus dem chinesischen Markt in Kauf.
Inzwischen ist bekannt, dass der Angriff auf Google und andere Firmen durch Ausnutzung der von McAfee entdeckten Sicherheitslücke im Internet Explorer realisiert wurde. Dabei machen sich die Angreifer eine fehlerhafte Pointerreferenz zunutze. Mittels einer präparierten Webseite wird dem Nutzer ein Trojan-Downloader untergeschoben, der über eine gesicherte HTTPS-Verbindung weitere Schadsoftware nachlädt.
Google sprach zunächst von einer präparierten PDF-Datei. Adobe dementierte[5] jedoch, dass dies der Fall sei, und verweist auf die Ergebnisse von McAfee. Letztendlich ist jedoch nicht auszuschließen, dass die Angreifer eine zweite, bisher unbekannte Lücke im Acrobat Reader ausgenutzt haben.
McAfee nannte den Angriff "Operation Aurora", da zwei Malware-Binaries, die bei der Attacke verwendet werden, "Aurora" als Teil eines Pfadnamens enthalten. Dieser Pfadname zeigt auf das Verzeichnis, in dem sich Debug-Symbole und Source-Code auf dem Rechner des Entwicklers befinden. McAfee-CTO George Kurtz hat keinen Zweifel daran, dass die "Entwickler" intern den Codenamen Aurora für das "Projekt" verwenden.
Microsoft hat die Existenz des Bugs im Internet Explorer inzwischen bestätigt[6]. Wie immer beginnt Microsoft den Blogeintrag mit der guten Nachricht: Internet Explorer 5.01 SP4 unter Windows 2000 SP4 ist nicht betroffen. Die Liste der verwundbaren Kombinationen ist allerdings länger. Angreifbar sind die Internet-Explorer-Versionen 6, 7 und 8 unter Windows XP, 2003, Vista, 2008, 7 und 2008 R2.
In einigen Tagen oder Wochen wird Microsoft sicherlich einen Fix für das Problem anbieten. Für die Redmonder bestimmt ein Grund zum Feiern, denn die "Schweizer-Käse-Software" Internet Explorer hat wieder ein Loch weniger. Einen wirklichen Grund, die Sektkorken knallen zu lassen, haben jedoch nur die Aurora-Developer. Ihr Job ist dadurch gesichert, dass sie Code für eines der vielen verbleibenden Löcher im Internet Explorer oder einem anderen marktrelevanten Browser schreiben müssen.
Neben Google sind etwa 30 weitere Unternehmen angegriffen worden, darunter Yahoo, Symantec, Juniper Networks, Northrop Grumman und Dow Chemical. Dass der Angriff überhaupt entdeckt wurde, ist Googles Wachsamkeit zu verdanken. Die anderen Unternehmen hätten sich möglicherweise wochen- oder monatelang unbemerkt ausspionieren lassen.
Dass hinter dem Angriff die chinesische Regierung steckt, bezweifelt inzwischen niemand mehr. Sowohl Google als auch iDefense, eine Tochter von Verisign, haben die Ausgangs-IP-Adressen rückverfolgen können. Hinzu kommt, dass bei ausschließlichem Interesse an Wirtschaftsspionage nicht davon auszugehen ist, dass sich der Angreifer ausgerechnet für die Googlemail-Konten zweier Menschenrechtler in China näher interessiert.
Die Ausnutzung der Lücke im Internet-Explorer beweist die Professionalität der Angreifer. Typische Programmierfehler in einer Sprache wie C, die Speicherarithmetik zulässt, werden nahezu täglich entdeckt. Dazu gehören beispielsweise Pufferüberläufe, Dereferenzierungen von Null-Pointern und Pointer auf nicht mehr existierende Objekte.
Sicherheitsforscher, die solche Lücken entdecken, veröffentlichen meist Proof-of-Concept-Code, der das angegriffene Programm oder im Fall einer Kernel-Mode-Lücke den Rechner zum Absturz bringt. Einen Absturz zu erzeugen, ist nicht schwer. Man modifiziert einfach die Rücksprungadresse auf dem Stack, so dass beim nächsten RET-Befehl auf eine vom Angreifer bestimmte Adresse gesprungen wird.
Die Schwierigkeit liegt allerdings darin, herauszufinden, auf welche Adresse man springen muss, um zu Code zu gelangen, den der Angreifer in ein präpariertes Dokument oder eine präparierte Website eingeschmuggelt hat. Da alle modernen Betriebssysteme Flat-Memory-Modelle verwenden, ist die Adresse, an der ein Dokument geladen wird, grundsätzlich dynamisch und nicht vorhersagbar. Die Rücksprungadresse auf dem Stack ist jedoch eine absolute Adresse.
Eingeschleuster Code lässt sich nur mit einer Angabe wie "Dokumentanfang plus X Byte" lokalisieren. Die Adresse des Dokumentenanfangs auf dem angegriffenen Rechner kann der Angreifer aber nicht kennen, wenn er sein präpariertes Dokument erstellt. Aus diesem Grund lassen sich die meisten Sicherheitslücken, die durch fehlerhafte Verwendung von Speicherarithmetik entstehen, nicht praktisch ausnutzen, außer um ein Programm oder einen Rechner abstürzen zu lassen.
Eine der Voraussetzungen, dass so ein Angriff ausgenutzt werden kann, ist das Vorhandensein von exakt gleichen Bedingungen. Das heißt: dieselbe Betriebssystemversion mit möglichst identischem Patchstand. Das angegriffene Programm muss binär absolut identisch mit dem Rechner des Angreifers sein, also derselbe Patchlevel in derselben Sprachversion. Keine Chance hat ein Angreifer, wenn im Browser mehrere Tabs oder Fenster geöffnet sind, bevor das präparierte Dokument geladen ist.
Externe Programme wie der Adobe Acrobat Reader sind grundsätzlich stärker gefährdet als ein Browser. Das liegt daran, dass der Angreifer darauf hoffen kann, dass das externe Programm nicht gestartet ist, wenn der Benutzer das präparierte Dokument anklickt. Wer grundsätzlich vor dem Starten des Browsers ein PDF-Dokument öffnet, erhält einen ziemlich guten Schutz vor der "produktiven" Ausnutzung einer Lücke im Acrobat Reader.
Wenn das Programm gestartet wird, um das vom Browser erhaltene Dokument zu laden, besteht eine Chance, dass das Programm sich deterministisch genug verhält, damit das Dokument immer an dieselbe Adresse geladen wird. In diesem Fall lässt sich der Schadcode zur Ausführung bringen.
Auch dann bestehen erhebliche Unsicherheiten für den Angreifer. Die Ladeadresse des Dokuments kann sich etwa in Abhängigkeit davon verändern, ob der Browser die Datei im Verzeichnis C:\Users\user1\Temporary Internet Files oder in C:\Benutzer\username2\Temporäre Internet Dateien speichert. Dabei spielt auch die Anzahl der Zeichen im Benutzernamen eine Rolle. Es ist durchaus möglich, dass der jetzt entdeckte Schadcode nur Benutzernamen mit einer bestimmten Anzahl von Zeichen trifft.
Grundsätzlich ist die Wahrscheinlichkeit, von einem solchen Angriff betroffen zu sein, vergleichbar mit dem Knacken des Jackpots beim Lotto. Größere Unternehmen, die zehntausende von Rechnern besitzen, machen aber schon eine recht große "Tippgemeinschaft" aus. Es ist davon auszugehen, dass die chinesische Regierung ihren Angriff auf Millionen von PCs angesetzt und bei etwa 30 Rechnern einen Treffer gelandet hat.
Auch bei dieser statistisch geringen Ausbeute kann die "Leistung" der chinesischen Hacker von der Programmiertechnik her nur bewundert werden. Eine funktionierende Malware durch Ausnutzung einer Speicherarithmetiklücke ist kein Code, den man schnell mal programmieren kann. Es dürften monatelange "Forschungsarbeiten" durch sehr gut ausgebildete Spezialisten vorangegangen sein.
Google fahndet inzwischen im eigenen Unternehmen nach Helfern. Sie sollen unter anderem die Lock-Emails an Personen mit Zugang zu vertraulichen Informationen versandt haben. Darüber hinaus ist davon auszugehen, dass sie Informationen über die verwendeten Binaries von Internet-Explorer, Acrobat Reader und anderen Programmen an die Angreifer geliefert haben.
Das zu tun, ist nicht schwer. Dazu müssen sie nur auf ihrem eigenen Rechner Dateien wie iexplore.exe und shdocvw.dll an ihre Kontaktleute schicken. Wenn ein Unternehmen die gleiche Hardware auf vielen Arbeitsplätzen einsetzt und darüberhinaus ein zentrales Patchmanagement wie WSUS nutzt, das den gleichen Patchstand auf allen Rechnern garantiert, lässt sich die Erfolgswahrscheinlichkeit für einen Angriff um ein Vielfaches erhöhen.
Hier sind Microsoft und andere Hersteller durchaus gefordert. Mit Execute-Only-Rechten können Programme und DLL-Dateien unter Windows so geschützt werden, dass sie zwar ausgeführt, aber nicht gelesen werden dürfen. Das macht es einem Helfer im Unternehmen schwerer, an die Dateien zu kommen.
Hat Code aus einem präparierten Dokument erst einmal weitere Schädlinge nachgeladen, dann nützt keine Antiviren-Software. Wenn die Malware etwa als virtuelles Rootkit implementiert wurde, ist sie praktisch nicht mehr zu entdecken. Ein solches Rootkit ist nicht einfach herzustellen, aber wer es schafft, eine Speicherarithmetiklücke "produktiv" auszunutzen, für den ist auch ein virtuelles Rootkit kein Problem.
Ein virtuelles Rootkit nutzt die Hardwarevirtualisierungsunterstützung von modernen Prozessoren aus. Es macht sich die Tatsache zu Nutze, dass es mit diesen Prozessoren möglich ist, auch im Ring 0 bestimmte Befehle abzufangen. Dazu zählen I/O-Befehle. Damit wird dem Kernel des Betriebssystems vorgegaukelt, dass eine bestimmte Hardware im System vorhanden sei, obwohl das nicht der Fall ist.
Eine Virtualisierungslösung wie VMware Workstation benötigt dieses Feature, um etwa mehrere virtuelle Grafikkarten zu emulieren. Eine Malware wartet dabei nur ab, bis der Kernel per Plug-and-Play die vermeintliche Hardware erkennt und einen Treiber mit I/O-Befehlen lädt. Beim ersten I/O-Befehl übergibt der Kernel die Kontrolle an die Malware.
Da der Schädling im Kernel-Mode läuft, muss er nur ein wenig an den Pagetables oder am Global Descriptor Table (GDT) herumspielen, um sich selbst so zu verstecken, dass ihn der Kernel nicht mehr findet. Der Rest ist vor allem Fleißarbeit. So muss die Malware etwa dafür sorgen, dass sie sich an der richtigen Stelle im Dateisystemtreiber einklinkt, damit das Verzeichnis mit beliebigen weiteren Schädlingen nicht mehr entdeckt wird. So können Teile von Festplatte und Hauptspeicher vollständig vor dem Betriebssystem verborgen werden.
Auch verhaltensbasierte Antiviren-Software oder eine Firewall hilft dann nicht mehr weiter. Für diese Komponenten existiert erst gar nichts, was auf verdächtiges Verhalten untersucht werden könnte.
Die Hackerin Joanna Rutkowska[7] hat ein solches virtuelles Rootkit bereits 2006 vorgestellt. Ihr Prototyp The Blue Pill[8] war in der Lage sich auf AMD-Prozessoren mit AMD-V (Pacifica) so zu verstecken, dass er nicht entdeckt werden konnte. Der Prototyp unterstützte bereits "nested Hypervisors". So ist es möglich, sich auch vor Bare-Metal-Hypervisor wie VMware ESX zu verstecken. Mit Intels VT-x-Technologie lässt sich dasselbe realisieren. Die notwendige Anleitung, um eine solche Malware zu erstellen, gibt es bei Intel und AMD.
Die einzige Möglichkeit, ein solches Rootkit zu entdecken, ist das Booten eines Rechners von einem garantiert unverseuchten Read-Only-Medium und ein vollständiger Scan der Festplatte. Theoretisch könnte sich ein virtuelles Rootkit allerdings auch in einem flashbaren BIOS verstecken. Das würde auch ein Booten von einer unverseuchten CD oder DVD aushebeln.
Die Technologie des virtuellen Rootkits ist bereits seit vier Jahren bekannt. Wer professionell Regierungen, Bürgerrechtler und Wirtschaftsunternehmen ausspioniert, wird sicherlich über diese oder eine andere Technologie verfügen, die die kommerziellen Schutzprogramme und Security-Appliances jeder Art aushebeln.
Wenn sich chinesische Regierungshacker einmal eingenistet haben, sind sie bei der Auswahl der Malware, die sie auf den ausspionierten Rechner laden, nicht gerade zimperlich. Erst im April 2009 machte die chinesische Regierung von sich reden, als sie mit Ghostnet[9] das Büro des Dalai Lama ausspionierte. Dabei aktivierte die Malware kurzerhand das Mikrofon auf den Laptops der Mitarbeiter des Dalai Lama und sandte alles an einen sogenannten Command-and-Control-Server.
Setzt man bei der Datenübertragung die frei verfügbare GSM-Kompression ein, lässt sich die Umgebung eines Laptops mit 9600 Bit/s belauschen. Das sind nur 7,5 Prozent der Bandbreite eines gewöhnlichen Internetradios. Eine solche Übertragung fällt wegen des geringen Datenvolumens kaum auf.
Das Munk Centre for International Studies[10] der Universität von Toronto, das der Dalai Lama eingeschaltet hatte, konnte seinerzeit herausfinden, dass darüber hinaus mindestens 397 Rechner in Regierungsstellen von 105 Ländern von Ghostnet mit Spyware verseucht wurden.
Softwarehersteller und BSI schauen machtlos zu
Wenn McAfee CTO George Kurtz einen Wendepunkt[11] in der Cyberkriminalität sieht, ist diese Feststellung sicherlich berechtigt. Kriminelle Angriffe durch einen Staat, der Wissen von Technologiefirmen, Banken und Regierungen erwerben will, haben ganz andere Dimensionen als eine Jagd nach Kreditkartendaten.
Auch die Schäden durch finanziellen Betrug sind erheblich. Wenn ein fremder Staat sich allerdings widerrechtlich technologisches Wissen verschafft, sind die Folgen nachhaltiger. Wenn in China Autos gebaut werden, die europäischen Modellen wie ein Ei dem anderen gleichen, und sogar ein chinesischer Transrapid in der Entwicklung ist, dann werden amerikanische und europäische Technologieinvestitionen in China monetarisiert.
Gegen solche Angriffe ist man derzeit grundsätzlich faktisch machtlos. Die "Operation Aurora" zeigt, mit welcher Professionalität China vorgeht. Eine wirkliche Hilfe bieten weder die Softwarehersteller noch Regierungsstellen wie das Bundesamt für Sicherheit in der Informationstechnik[12] (BSI).
Microsoft empfiehlt vor allem, die Datenausführungsverhinderung[13] (DEP) einzuschalten. Sinnvoll ist das nur, wenn man die DEP nicht nur in der Opt-In-Konfiguration nutzt, wie es standardmäßig der Fall ist, sondern die Opt-Out-Konfiguration einsetzt, so dass allen Programmen verboten wird, als Daten gekennzeichnete Speicherbereiche auszuführen. Das BSI empfiehlt wie sein französisches Pendant CERTA[14], den Internet Explorer nicht mehr zu benutzen, bis ein Patch verfügbar ist.
Gegen den aktuellen Angriff helfen diese Maßnahmen tatsächlich. Auch Technologien wie Address Space Layout Randomization[15] (ASLR), die in neueren Windows-Version implementiert sind, erschweren Angriffe nach dem Muster der Operation Aurora erheblich. Weniger sinnvoll sind Sandbox-Technologien, wie sie neuere Browser beherrschen. Um etwa das Mikrofon eines Laptops zu aktivieren, reicht ein Browser mit aktivierten Sandbox-Technologien, etwa der Internet Explorer Protected Mode.
Man muss sich darüber im Klaren sein, dass ein komplizierter Angriff nach Aurora-Muster gar nicht erforderlich ist. In der Regel reicht es aus, die Unerfahrenheit vieler Anwender auszunutzen. Ein Angreifer kann beispielsweise einen User auf eine Webseite mit einem Video locken. Dort bekommt er eine Meldung, dass er den notwendigen Codec nicht installiert habe.
Dass sich bei der Installation des vermeintlichen Codecs die Benutzerkontensteuerung und eventuell installierte Sicherheitsprogramme melden, ist für den Benutzer nichts Ungewöhnliches. In einem größerem Unternehmen wird sich mindestens ein Anwender finden, der den Trojaner hineinlässt. Wenn dieser ein virtuelles Rootkit nachlädt, sind die meisten Unternehmensadministratoren überfordert.
Zu den Sicherheitsbehörden wie dem BSI kann man nach der "Operation Aurora" nur feststellen, dass sich der Wissensvorsprung äußerst professioneller Hacker gegenüber offiziellen Stellen in rasanten Schritten immer weiter vergrößert. Sensible Daten zu schützen wird wohl auf absehbare Zeit ein Kampf gegen Windmühlen bleiben.
Unsinnige Zertifizierungen wie der BSI-Grundschutz[16] lähmen kleine und mittlere Unternehmen, deren Wettbewerbsvorteil gegenüber großen Konkurrenten vor allem aus Agilität und Flexibilität besteht. Einen Nutzen davon haben nur die Berater, die Unternehmen durch die Zertifizierung bringen. Die geübte Kritik am BSI-Grundschutz, dass es sich um blinden und nutzlosen Aktionismus handelt, ist in allen Punkten gerechtfertigt.
Hier ist dringend Handlungsbedarf erforderlich. Eine bürokratische Behörde, die langsam und träge Normen und Standards aufstellt, kann bestenfalls dazu beitragen, die Haftung von Unternehmen zu begrenzen, die sich an die Standards halten. Die teils existenzwichtigen Daten sind trotzdem in Peking und werden dort zu Geld gemacht.
URLs in diesem Artikel:[1] = http:/
[2] = http:/
[3] = http:/
[4] = http:/
[5] = http:/
[6] = http:/
[7] = http:/
[8] = http:/
[9] = http:/
[10] = http:/
[11] = http:/
[12] = https:/
[13] = http:/
[14] = http:/
[15] = http:/
[16] = http:/