Schadprogrammen, die darauf aus sind, Daten zu stehlen, bieten sich zahlreiche Möglichkeiten, unbemerkt in Unternehmensnetze zu gelangen. ZDNet erklärt die gefährlichsten und zeigt, dass man auf nur wenige Einfluss nehmen kann.
Mit der Operation Aurora[1] hat die Jagd auf Daten in Firmen und bei Privatpersonen eine neue Dimension bekommen. Erstmals wurde öffentlich bekannt, dass die chinesische Regierung mit professionellen Mitteln versucht, technologisches Wissen zu stehlen.
Als Exportweltmeister hat China Deutschland im Jahr 2009 überholt, denn es ist als Produktionsland wegen geringer Kosten beliebt. Was China jedoch fehlt, ist das Know-how, um hochwertige Güter ohne einen westlichen Partner zu produzieren. Das versucht sich das Land jetzt mit allen Mitteln anzueignen.
Gefährdet sind vor allem mittelständische Betriebe. Am Beispiel der Automobilindustrie lässt sich das leicht nachvollziehen: Es ist nicht schwierig, aus Blech etwas zu formen, das aussieht wie ein Auto. Interessant sind jedoch Informationen über die der Zusammensetzung von Bremsbelägen oder über Fahrdynamikregelung[2]. Derartiges Wissen lässt sich bei mittelständischen Zulieferern abgreifen.
Wenn man einmal resümiert, welche Einfallstore für Malware und Hacker sich nicht nur auf heimischen Privatcomputern, sondern auch auf Arbeitsplatzrechnern in Unternehmen bieten, erkennt man, dass derzeit wenig Chancen bestehen, sich gegen professionelle Angriffe zu schützen. ZDNet hat die gravierendsten Probleme zusammengefasst.
Exploits: veröffentlichen oder geheimhalten?
Wenn ein Sicherheitsforscher eine Lücke in einem Programm entdeckt, muss er sich entscheiden, ob er diese Lücke öffentlich macht oder nicht. Über den richtigen Weg wird äußerst kontrovers diskutiert. Eigentlich sollte man davon ausgehen, dass der Entdecker sich an das betroffene Unternehmen wendet. Erst nachdem das Unternehmen einen Fix bereitgestellt hat, sollte er sein Wissen preisgeben.
Der Aurora-Angriff der chinesischen Regierung auf Google und andere Unternehmen zeigt jedoch, dass dieses Verhalten nicht unbedingt sinnvoll ist. Die bei der "Operation Aurora" ausgenutzte Sicherheitslücke im Internet Explorer war Microsoft nämlich bereits seit September 2009 bekannt.
Unternommen haben die Redmonder allerdings nichts. Als die Aurora-Attacke jedoch in den Nachrichten die Runde machte, konnte Microsoft innerhalb einer Woche einen Patch liefern.
Microsoft gab zu, bereits im September einen vertraulichen Hinweis erhalten zu haben. Wenn der Hinweisgeber seine Entdeckung damals öffentlich gemacht hätte, wären die redmonder in Zugzwang gewesen, die Lücke zu schließen.
Da der Monopolist jedoch durch Nichtstun glänzte, blieb den chinesischen Regierungshackern genug Zeit, durch weitere Forschungen eine "produktive" Ausnutzung dieser Lücke zu entwickeln. Sicherheitslecks lassen sich bei der Softwareentwicklung nicht vermeiden, solange Software von Menschen geschrieben wird.
Dennoch müssen sich die Hersteller, allen voran Microsoft, ihrer Verantwortung bewusst sein. Das "Liegenlassen" von bekannten Lücken aus Kostengründen kann für Kunden existenzbedrohend sein.
Über die Unzulänglichkeiten der gängigen Sicherheitslösungen ließe sich ein ganzes Buch schreiben. Daher sei hier nur ein aktuelles Beispiel genannt: Der sogenannte VDM-Exploit[3], der letzte Woche veröffentlicht wurde, und mit dem sich jeder Benutzer sofort durch einen Download sowie einen Mausklick Adminrechte auf allen 32-Bit-Windows-Versionen verschaffen kann, wird spätestens seit dem Wochenende von den gängigen Anti-Malware-Lösungen erkannt.
Es handelt sich jedoch um eine trügerische Sicherheit. Ein ZDNet-Leser stellte am Wochenende fest, dass er sich mithilfe des Exploits auf seinem Rechner nicht zum Administrator machen konnte. Der Grund war schnell gefunden. Der Exploit startet eine Kommandozeile, indem er das Programm C:\Windows\System32\cmd.exe aufruft. Wenn Windows nicht auf der Partition C: installiert ist, schlägt dieser Vorgang fehl.
Fünf zusätzliche Zeilen Code unter Verwendung des API GetSystemDirectory[4] und Neukompilierung lösten das Problem des Lesers. Das führte jedoch dazu, dass der Exploit nicht mehr von der Anti-Malware erkannt wurde. Wenn ein Exploit im Sourcecode vorhanden ist, reicht es in der Regel aus, ihn mit einer anderen Compilerversion oder mit anderen Optimierungsflags zu kompilieren, um den Schädling vor der Antivirenlösung zu verbergen.
Das genannte Beispiel zeigt zwei schwerwiegende Probleme von Anti-Malware-Lösungen: Zum einen funktioniert die verhaltensbasierte Erkennung nicht, zum anderen versuchen die Hersteller einen Schädling möglichst am Dateianfang zu erkennen, damit die Antiviren-Engine schneller läuft.
Bei der verhaltensbasierten Erkennung überprüfen die Programme nur, ob ein Programm auffällig viele Registry-Einträge macht oder verdächtige Internetverbindungen aufbaut. Der VDM-Exploit ließe sich verhaltensbasiert jedoch daran erkennen, dass ein Programm auf dem Standard-Desktop SYSTEM-Account-Rechte besitzt, obwohl der Mutterprozess unter einer normalen User-ID läuft, die das Recht "Replace a process level token" nicht besitzt. Dazu müsste die Antiviren-Lösungen jedoch auch neuen Code und nicht nur neue Signaturen herunterladen.
Hinzu kommt, dass bei den Herstellern von Antivirenlösungen kaum Know-how über die Funktionsweise von Viren und anderen Schädlingen besteht. Wer einmal einer Einladung in das Forschungslabor eines Herstellers gefolgt ist, wird schnell feststellen, dass man sich dort nur mit Mustern, Signaturen und Tarnmechanismen der Schädlinge beschäftigt.
Zudem müssen die Experten in den Labors auf Performance achten. So scannt der der VDM-Exploit beispielsweise nach einem bestimmten Code-Muster im 16-Bit-Subsystem. Dieses Muster befindet sich auch im Exploit selber. Würde das Antiviren-Programm nach diesem Muster in der EXE- und in der DLL-Datei suchen, könnte es den Schädling auch nach einer Neukompilierung erkennen. Dazu müsste die Datei jedoch fast bis zum Ende durchgescannt werden.
Es dürfte unmittelbar klar sein, dass man illoyale Mitarbeiter identifizieren kann, die gegen Bezahlung bereit sind, vertrauliche Daten zu stehlen. Ein unauffälliger USB-Stick mit 64 GByte Kapazität ist leicht mit nach Hause genommen. Das gleiche gilt für Mitarbeiter, bei denen es normal ist, dass sie ihren Notebook mit auf Dienstreise nehmen.
Die gängigen DLP-Lösungen[5] (Data Loss Prevention oder Data Leakage Protection) helfen dabei überhaupt nicht. Sie legen meist nur einen Hook[6] auf das CopyFile-API[7]. Normalerweise reicht es aus, eine Datei sequentiell in den Hauptspeicher zu lesen, die Daten mit 0xFF zu XORen[8] und das Ergebnis auf einen Datenträger zu schreiben. Wendet man dieselbe XOR-"Verschlüsselung" ein zweites Mal an, erhält man wieder die ursprüngliche Datei. Ein solches DLP-sicheres Kopierprogramm benötigt etwa zehn Zeilen Code.
Damit eine Sicherheitslücke produktiv ausgenutzt werden kann, muss ein Angreifer möglichst viel über das Unternehmen wissen, das er ausspionieren möchte. Hier besteht die Gefahr, dass Mitarbeiter unbewusst Informationen preisgeben, die man besser für sich behält. Wenn man etwa auf dem örtlichen Administratorstammtisch gefragt wird, welche Antiviren-Lösung und welche Security-Appliance installiert ist, sollte man acht geben, wem man antwortet.
Diese Informationen sind wertvolle Hinweise für professionelle Datendiebe, welche Sicherheitslösungen sie austricksen müssen. Um etwa einen Pufferüberlauf ausnutzen zu können, hat ein Angreifer nur dann Erfolg, wenn er die genaue Version des Betriebssystems inklusive Sprachversion und Patchstatus kennt.
Dasselbe gilt für das angegriffene Programm, etwa Internet Explorer oder Adobe Acrobat Reader. Ein illoyaler Mitarbeiter, der einem Hacker Programmdateien und Windows-DLLs von Arbeitsplatzrechnern übermittelt, liefert wichtige Hinweise, wie ein Unternehmen von außen unbemerkt angegriffen werden kann.
Das Beispiel Conficker[9] zeigt, wie wichtig es ist, seine Server auf dem aktuellen Patchlevel zu halten. Der Conficker-Wurm begann im Dezember 2008, sein Unwesen zu treiben. Bis Mitte 2009 wurden immer wieder neue Infektionen bekannt. Dass die französische Luftwaffe ihre Flugzeuge am Boden[10] halten musste, war nur eine der vielen Folgen.
Wenn alle Administratoren ihre Rechner einigermaßen regelmäßig gepatcht hätten, wäre der Angriff erspart geblieben. Bereits im Oktober 2008 warnte[11] Microsoft vor der Sicherheitslücke. An der Tatsache, dass der Hersteller sich zu einem Patch außerhalb des normalen Update-Zyklus entschieden hatte, konnte man erkennen, dass es sich um etwas Ernstes handelt. Die Lücke im RPC-Protokoll war so gravierend, dass eine Hintertür vermutet wurde, die ein Programmierer möglicherweise absichtlich, jedoch ohne Wissen des Programmanagements eingeschleust hatte.
Noch immer messen sich Administratoren daran, wie lange sie einen Server ohne Reboot betreiben können. Dabei werden Windows-Admins von ihren Linux-Kollegen oft belächelt. Wer jedoch einen sicheren Betrieb gewährleisten will, muss sich mit den Besonderheiten eines jeden Betriebssystems abfinden.
Unter Windows lässt sich eine Datei, die in Benutzung ist, nicht austauschen. Da die gegenseitigen Aufrufe von DLLs sehr komplex sind, geht es oft nicht ohne Reboot.
Unter Linux ist hingegen Vorsicht geboten. Zwar lassen sich in Benutzung befindliche Dateien scheinbar austauschen, jedoch greifen Prozesse solange auf die alte, im Dateisystem nicht mehr sichtbare Version zu, bis alle Prozesse die Datei geschlossen haben. Wenn etwa die Shared-Libraries von OpenSSL[12] wegen Sicherheitsproblemen ausgetauscht werden, müssen zumindest alle Prozesse neu gestartet werden, die OpenSSL nutzen. Das bedenken viele Linux-Admins nicht, und ihr scheinbar gepatchtes System ist nach wie vor unsicher.
Eine Warnung vor unsicheren Kennwörtern mag wie ein alter Hut klingen, doch die Brisanz dieses Thema nimmt weiter zu. Gerade kleinere Unternehmen, die projektweise zusammenarbeiten, nutzen Dienste wie eine "Festplatte im Netz" via WebDAV[13] und Web-2.0-Angebote wie Google Docs[14].
Meist ist es mit großem technischen Aufwand verbunden, einen sicheren Mechanismus wie einen Active Directory Federation Trust und ein VPN zwischen zwei kleinen oder mittelständischen Unternehmen einzurichten. Für eine Zusammenarbeit, die nur einige Monate dauert, ist dieser Aufwand zu hoch.
Daraufhin werden Mitarbeiter "kreativ" und nutzen öffentlich verfügbare Collaboration-Dienste. Meist entspricht die Passwort-Policy dieser Dienste nicht den Unternehmensrichtlinien.
Die Nutzung von Internet-Diensten ist nicht ungefährlich. Eine Studie von Imperva[15] vom Dezember 2009 zeigt warum: Das am häufigsten genutzte Passwort ist 123456. Auf den Plätzen zwei und drei folgen 12345 und 123456789. Ferner befinden sich Password, iloveyou, Nicole, Daniel und Qwerty in der Liste der 20 meistgenutzten Kennwörter.
Je größer ein virtuelles Team ist, desto leichter ist es für einen Angreifer, auf vertrauliche Daten zuzugreifen. Es reicht aus, dass ein Mitglied des Teams ein unsicheres Passwort benutzt, um möglicherweise hochbrisante Daten preiszugeben, ohne dass dafür spezielle Kenntnisse erforderlich sind.
Die am Beispiel der Website rockyou.com[16] durchgeführte Studie hat ergeben, dass die Nutzung der 5000 meistgenutzten Passwörter in einer Dictionary-Attacke[17] zu einer Erfolgsquote von 0,9 Prozent führt. Das entspricht einem gehackten Account pro 111 Versuche.
Eine große Gefahr besteht durch die Nutzung unverschlüsselter Protokolle. Dazu gehört vor allem FTP. Viele Webhoster erlauben den Upload von Dateien für eine Website via FTP. Obwohl die meisten Hoster auch eine sichere Möglichkeit zum Hochladen anbieten, etwa SFTP[18], FTPS[19] oder WebDAV via HTTPS[20], nutzen viele Anwender FTP. Letzteres funktioniert einfach und problemlos. Für die verschlüsselten Übertragungen muss der User vor allem unter Windows oft Zusatzprogramme installieren oder die Kommandozeile benutzen.
Das Abgreifen von unverschlüsselten Passwörtern bei Providern, Carriern und Internet-Knotenpunkten durch illoyale Mitarbeiter ist verbreiteter, als die betroffenen Unternehmen zugeben wollen. Regelmäßig entdecken Sicherheitsfirmen Server im Internet, auf denen sich oft mehrere hunderttausend FTP-Passwörter[21] befinden.
Diese Passwörter werden dazu genutzt, Malware auf die zugehörigen Websites einzuschleusen. So werden legitime Websites mit Schädlingen verseucht, die sich Nutzer unbemerkt herunterladen. Auf diese Weise gelangen Trojaner in das eigene Firmennetz, ohne dass ein eigenes Passwort kompromittiert wurde.
Hauptsächlich sind kleine Webshops betroffen, auf die Firmennutzer über Preissuchmaschinen geleitet werden. Der USB-Dongle-Hersteller Aladdin[22] konnte jedoch feststellten, dass auch Rüstungsunternehmen und Behördenwebsites infiziert wurden.
Beim derzeitigen Stand der Sicherheitstechnik muss man es als Utopie betrachten, einen Rechner, sei es in der Firma oder privat, gegen einen professionellen und gezielten Angriff schützen zu können. Durch eine Reihe geeigneter Maßnahmen lassen sich jedoch recht hohe Hürden setzen. Kommt ein gut vorbereiteter Angriff allerdings von einer fremden Regierung, ist man mehr oder weniger schutzlos.
Unbeteiligte Dritte, etwa Webshop-Betreiber, können durch Nachlässigkeiten bei der Wahl des Passworts oder durch die Verwendung von unverschlüsselten Übertragungen unbewusst zu einem wichtigen Mosaikstein einer gezielten Attacke werden.
Wer Sicherheitslösungen wie eine Anti-Malware-Software einsetzt, muss sich im Klaren darüber sein, dass alle Standard-Lösungen ohne viel Aufwand umgangen werden können. Alle derzeitigen Lösungen weisen gravierende Mängel auf, die jeder, der einen Compiler bedienen kann, ausnutzen kann. Wenn ein Angreifer weiß, welche Lösung im Unternehmen eingesetzt wird, ist es ein Leichtes sie auszutricksen. Die sogenannten DLP-Lösungen[5] sind sogar völlig nutzlos.
Ein Hacker kann sehr davon profitieren, wenn er weiß, welche genaue Version von bestimmten Programmdateien und DLLs auf den Arbeitsplatzrechnern installiert ist. Dazu reicht es aus, dass ein Mitarbeiter ein Programm startet, das von diesen Dateien Hashwerte bildet und diese in einer Datei sammelt, gegen die der Angreifer verschiedene Service Packs, Patches und Sprachversionen testet. Dann reichen einige KByte an Daten, um die komplette Konfiguration eines Rechner preiszugeben. Idealerweise versteckt man diese Daten in einem NTFS-Filestream[23] einer harmlosen Textdatei.
Geht man von einer aktuell sehr hohen Bedrohungslage durch professionelle Angriffe fremder Regierungen aus, müssen gefährdete Unternehmen sehr schnell reagieren. Noch stärker gefordert sind allerdings die Hersteller von Sicherheitslösungen. Ihre Software wirkt bestenfalls wie ein einfaches Kellervorhängeschloss, mit dem man versucht, die Goldreserven der Deutschen Bundesbank zu sichern.
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] = http:/
[13] = http:/
[14] = http:/
[15] = http:/
[16] = http:/
[17] = http:/
[18] = http:/
[19] = http:/
[20] = http:/
[21] = http:/
[22] = http:/
[23] = http:/