Am Donnerstag sorgte ein Sicherheitsupdate außerhalb der regulären Patchdays für Aufsehen. ZDNet untersucht, ob es sich bei der Lücke auch um eine Backdoor handeln kann, die absichtlich in den Quellcode von Windows geschleust wurde.
Wenn Microsoft mit großem Aufwand die Nachricht verbreitet, man solle außerhalb der regulären Patchdays ein Update[1] einspielen, und das möglichst schnell, dann darf man davon ausgehen, dass es ein ernsthaftes Problem gibt. Erste technische Details zum Bulletin MS08-67[2] lassen mehr als eine gewöhnliche Sicherheitslücke vermuten.
Ein Technet-Blogeintrag[3] weist darauf hin, dass Windows ab Version 2000 eventuell eine eingebaute Hintertür besitzt. So ist dort zu lesen, dass RPC-Anfragen, die an die UUID[4] 4b324fc8-1670-01d3-1278-5a47bf6ee188 gehen, geblockt werden sollen, bis der Patch eingespielt ist. Alternativ könne man die Ports 139 und 445 sperren.
Natürlich ist es möglich, dass es sich um eine unglückliche Verkettung von Bugs handelt, die zu dieser gravierenden Sicherheitslücke führen. Allerdings entspricht die Art der Lücke nicht den typischen Unachtsamkeiten beim Programmieren, die sich beispielsweise in einem Buffer-Overflow manifestieren. Insbesondere stellt sich die Frage, warum man beide Ports 139 (Netbios) und 445 (Active Directory Services) sperren muss.
Hintertüren, mit denen sich Betriebssystemhersteller Zugang zu jedem Rechner verschaffen können, sind nicht neu. Insbesondere ältere Versionen von VMS[5] machten seinerzeit von sich reden, als bekannt wurde, dass es Kombinationen von Benutzernamen und Passwort gibt, mit dem man sich auf jedem VMS-System einloggen kann.Auch Microsoft musste im April 2000 bereits einmal heftig die Existenz einer Backdoor dementieren[6], nachdem ein Microsoft-Mitarbeiter in einem Interview mit dem Wall Street Journal eine Kombination von Username und Passwort mitgeteilt hat, mit der man sich Zugang zu dem damals neuen Internet Information Server (IIS[7]) verschaffen konnte.
Microsofts Dementi wollte niemand ernsthaft glauben. Die Behauptung, es handle sich um einen Bug, ist ziemlich unwahrscheinlich. Anders als bei einem Sechser im Lotto kann man mathematisch nicht exakt sagen, wie hoch die Wahrscheinlichkeit ist, dass durch einen Bug rein zufällig ein Universalpasswort entsteht, dass ebenso zufällig weder Gast- noch Benutzerrechte verleiht, sondern Administratorrechte.
Wer allerdings auch nur Grundkenntnisse in der Programmierung besitzt, dem sagt der gesunde Menschenverstand, dass der Sechser im Lotto wahrscheinlicher sein dürfte. Im Zusammenhang mit der damaligen Sicherheitslücke wurden in der betroffenen DLL-Datei auch der Text "!seineew era sreenigne epacsteN" gefunden. Rückwärts gelesen ergibt das "Netscape engineers are weenies!". Das ließ Microsofts Zufallstheorie nicht gerade wahrscheinlicher erscheinen.
Mit der gestern veröffentlichten Lücke verhält es sich ähnlich: Wenn sowohl Port 139 als auch Port 445 gesperrt werden müssen, wobei Port 445 zur Authentifizierung dient, dann müsste zweimal genau derselbe Fehler bei der Active-Directory-Authentifizierung und beim eigentlichen RPC-Server gemacht worden sein. Besonders zu denken gibt die Tatsache, dass die Lücke offensichtlich aus Windows 2000 stammt und immer wieder durch neue Releases und Services Packs geschleppt wurde. Das gibt natürlich zu Spekulationen Anlass, ob sich weitere Hintertüren in Windows befinden.
Heute hat Microsoft eine Policy, die jede Art von Easter Eggs[8] und Backdoors verbietet. Hasstiraden auf den Mittbewerb in DLL-Dateien machen bei ihrer Entdeckung keinen guten Eindruck. Selbst ungefährliche Easter Eggs, mit denen sich die Entwickler verewigen, beispielsweise in Form einer an Doom erinnernden Animation[9] wie in Excel 95, sind nicht mehr erlaubt.
Während Easter Eggs noch als Scherz angesehen werden können, hört der Spaß bei Backdoors auf. Backdoors sind zwar keine Zufallsprodukte, jedoch kommen sie meist nicht auf Aufweisung des Managements zustande. Programmierer bauen Backdoors oft als vermeintliche Lebensversicherung ein. Sie glauben, wenn es zu einer Beendigung des Arbeitsverhältnisses kommen soll, etwas in der Hand zu haben.
Tatsächlich ist es unwahrscheinlich, dass ein Microsoft-Entwickler heute noch Backdoors einbaut. Jeglicher Source Code durchläuft einen Sicherheits-Audit. Wenn dabei eine Backdoor gefunden wird, kommt es sofort zur Kündigung. Sollte Backdoor-Code in ein veröffentlichtes Produkt eingeflossen sein, so darf der Entwickler mit zusätzlichen Schadenersatzforderungen rechnen.
Anders sieht es mit Code aus, der bereits in älteren Windows-Versionen eingeschleust wurde. Hier besteht immer die Gefahr, dass er bis in die neuesten Releases bestehen bleibt und die Sicherheit des Betriebssystems aushebelt.Wegen der Lücke MS08-067 besteht in vielen Fällen kein Grund zur Panik. Auch ohne den gestern veröffentlichten Patch sind die meisten Windows-Rechner über das Internet nicht angreifbar.
Damit die Lücke ausgenutzt werden kann, muss man Zugang zu den Ports 139 und 445 eines Rechners haben. Die meisten Windows-Rechner, die mit öffentlicher IP-Adresse im Internet stehen, haben diese Ports mit einer Firewall geblockt, da RPC recht häufig der Angriffspunkt für das Ausnutzen einer Sicherheitslücke ist. Hinter einem NAT-Router stehende Rechner sind grundsätzlich nicht mit RPC über das Internet angreifbar, es sei denn, die Ports werden explizit an einen Windows-Rechner weitergeleitet.
Anders sieht es im Intranet aus. Windows-Server stehen meist mit ungeschützten Ports 135, 139 und 445 in Firmennetzen. Andernfalls wäre weder RPC noch File- und Printsharing möglich. Nahezu die gesamte Administration eines Windows-Servers geschieht über RPC. Fast alle Serververwaltungstools von Windows nutzen RPC.
Gelingt es nun mit der jetzt bekannt gewordenen UUID, ohne Authentifizierung beliebigen Code auf fremden Rechnern auszuführen, kann man nahezu alles machen. Inbesondere scheint es möglich, sich am Client eine falsche Identität zu verschaffen.
Schnell handeln, sprich den Patch installieren, sollten alle Serverbetreiber, die RPC durch HTTP tunneln. Diese Möglichkeit bietet Microsoft seit Windows Server 2003 an. Meist wird diese Technik verwendet, um Anwendern vom Internet aus Zugang zu Microsoft Exchange zu verschaffen, ohne dass eine VPN-Verbindung notwendig ist.
Dieser Tunneldienst ist in der Regel stark eingeschränkt, so dass nur erwünschte Dienste im Internet angeboten werden. Da aber nicht bekannt ist, die Lücke auch bei der RPC-Tunnelung greift, sollte man den Patch sofort installieren.Ob die Lücke MS08-067 tatsächlich nur ein Bug oder eine absichtlich eingebaute Backdoor ist, lässt sich mit den zur Verfügung stehenden Informationen nicht klären. Die Doppelportsperre von 139 und 445 lässt allerdings mindestens aufhorchen.
Selbst wenn es sich um eine Backdoor handeln sollte, bedeutet das allerdings nicht, dass sie auf Anweisung des Geschäftsführung eingebaut wurde. Wahrscheinlicher ist, dass sich ein Entwickler in Eigenregie einen Zugang zu allen Windows-Rechnern verschaffen wollte. Eine andere Erklärung ist, dass die Backdoor für die internen Testprozesse in der Entwicklung geschaffen wurde. Zum RTM hat man das Entfernen möglicherweise einfach vergessen.
Wenn man zum Administrator auf jedem Windows-Rechner wird und beliebigen Code ausführen kann, dann hat man nahezu unbegrenzte Möglichkeiten - vom Formatieren der Festplatte bis zum unbemerkten Datendiebstahl. Insofern ist Microsofts Hinweis, dass es sich um einen "wormable exploit" handelt, fast schon überflüssig.
Zu denken gibt die Lücke auf jeden Fall. Auch wenn Backdoors Microsoft als Organisation nicht bekannt sind, so gibt es einzelne Entwickler, die sie kennen, weil sie sie selbst eingebaut haben. Ebenso muss man darüber nachdenken, ob Microsofts Security-Audits ausreichend sind, wenn man die Tatsache bedenkt, dass der Code über sechs Jahre unentdeckt geblieben ist.
URLs in diesem Artikel:[1] = http:/
[2] = http:/
[3] = http:/
[4] = http:/
[5] = http:/
[6] = http:/
[7] = http:/
[8] = http:/
[9] = http:/