Sicherheitslücken im Internet Explorer

Microsofts Windows und die zugehörigen Produkte sind nicht gerade der Inbegriff an Systemsicherheit, das ist ein offenes Geheimnis. Die tiefe Integration des Internet Explorers in das Betriebssystem und die nahezu unbegrenzte Erweiterbarkeit durch ActiveX-Komponenten öffnen Angriffen aus dem Internet Tür und Tor. Besonders die Fähigkeit des Active Scriptings ermöglicht Aktionen auf dem Computer des arglosen Website-Besuchers, deren Konsequenzen er zu keinem Zeitpunkt abschätzen kann. Im Zweifelsfall hilft hier nur das konsequente Deaktivieren von Active Scripting - auch wenn das letztlich bedeutet, dass einige Sites nicht mehr in ihrer vollen Funktionalität zu betrachten sind.

Vielen Anwendern ist gar nicht bewusst, dass ihre wenige Monate alte Internet-Explorer-Version sich inzwischen als so löchrig wie ein Schweizer Käse erwiesen hat. In schöner Regelmäßigkeit stoßen engagierte Tüftler wie Georgi Guninski auf immer neue Sicherheitslücken im Internet Explorer.

IIS 5.0 Cross Site Scripting

Die folgenden zwei Sicherheitslöcher, die Georgi Guninski meldet, sind keine Browser-Bugs im eigentlichen Sinne, betreffen jedoch jeden Surfer. Grundlage ist der Internet Information Server 5.0 unter Windows 2000. Die Sicherheitslücke wird über den Browser (IE oder NS) aufgestoßen, das eigentliche Problem befindet sich auf Seiten des Webservers. Die Bedrohung stellen dabei .shtml-Dateien oder die Datei /_vti_bin/shtml.dll dar.

Für den Sicherheitseinbruch über die shtml.dll-Datei müssen die FrontPage Server Extensions installiert sein.

Über spezielle URLs kann der Internet Information Server 5.0 dazu gebracht werden, spezifizierte Inhalte an den Browser zurückzusenden. Das Sicherheitsrisiko besteht insbesondere, wenn Javascript aktiviert ist. Es reicht dabei, dass der Surfer auf einen Link klickt oder bösartig aktivierte Webseiten aufruft. Der Internet Information Server liefert daraufhin vom Anwender bestimmte aktive Inhalte zurück.

Beide URLs führen im Browser vom IIS bereitgestelltes JavaScript aus, das der bösartige Angreifer definiert.

Resultat: Diese Sicherheitslücke ermöglicht das Lesen von Dokumenten auf einem Webserver in einer Firewall (Intranet) oder den Diebstahl von Cookies. Sollte der Anwender eine Webseite in der Sicherheitszone unter "Vertrauenswürdige Seiten" eingeordnet haben, können andere Browserattacken gestartet werden.

Java VM Applet

Die Microsoft Virtual Machine (VM) läuft auf allen Microsoft Windows Betriebssystemen. Sie ist ebenfalls Bestandteil des Internet Explorer 4.x sowie 5.x.

Die Java VM Applet-Sicherheitslücke erlaubt einem böswilligen Website-Betreiber über ein Java Applet, die Identität des Besuchers anzunehmen und in dessen Identität andere Webseiten zu besuchen und deren Informationen abzurufen. Die dem Java Applet mittels Sandbox gesetzten Grenzen können dabei auf Grund der Sicherheitslücke überschritten werden.

Das Java Applet stellt beim Aufruf eine Verbindung zu einer beliebigen Webseite her. Der bösartige Eindringling kann diese Sicherheitslücke beispielsweise dazu verwenden, eine Intranetseite hinter einer Firewall zu besuchen und mittels der Identität des Besuchers dort Informationen abrufen. Voraussetzung ist die Kenntnis des Intranetnamens.

Programmstart unter Windows 98/2000

Mit IE 5.5/IE 5.x für Windows 98 lassen sich nach Aussagen von Georgi Guninski beliebige Dateien über das Microsoft Netzwerk ausführen. Dies betrifft zudem lokale Administratoren unter Windows 2000. Die Sicherheitslücke tritt beim Ordneraufruf (lokal oder per Remote Access) über den Browser auf. Die Ordner müssen dabei wie Webseiten behandelt werden - das ist die Standardeinstellung unter Windows 98/2000. Zu Grunde liegt eine Schwäche unter Windows 98/2000, die eben genau dieses Surfen durch Ordnerstrukturen erlaubt und sie wie Webseiten anzuzeigen lässt. Die Anzeigeart des Ordners bestimmt die Datei folder.htt - eine spezielle HTML-Datei, die Active Scripting oder ActiveX-Objekte enthalten kann. Das ActiveX Control ShellDefView ermöglicht dabei die Anzeige der Ordnerdateien. InvokeVerb, eine spezielle Methode dieses ActiveX Controls, wird verwendet, um beispielsweise die Eigenschaften des Ordners anzuzeigen - oder, was das Ganze brisant macht - um Dateien zu öffnen oder auszuführen. Resultat: Die feindliche Übernahme des Computers/Servers ist möglich.

Scriptlet Rendering

Dieses Sicherheitsloch erlaubt es einem Website-Betreiber, Dateien auf dem Computer eines Besuchers zu lesen, jedoch nicht zu löschen oder zu editieren. Der Angreifer muss dabei den genauen Pfad und Namen der Datei wissen. Die einzigen anzeigbaren Dateien sind allerdings .txt oder .doc-Dateien.

Das ActiveX-Control, das für das für aufgerufene Scriptlets verwendet wird, wurde eigentlich zum Rendern von HTML entworfen. Mittels dieses ActiveX-Controls lassen sich andere Dateien anzeigen, sofern Name und Standort der Datei bekannt sind.

Programmstart über Word/Access

Microsoft Word 2000 und Access 2000 erlauben (mit oder ohne den Service Release 1a) das Ausführen eines beliebigen Programms, wenn ein Word-Dokument geöffnet ist. Der Programmstart kann nach Angaben von Georgi Guninski über den Internet Explorer beim Besuch einer Website oder beim Öffnen/Vorschau einer HTML-Nachricht in Outlook ausgeführt werden.

Der Ablauf: Word akzeptiert eine Access-Datenbank als Datenherkunft für Seriendruck oder -mails. Im schlimmsten Fall öffnet Word die Datenbank und führt VBA in Formularen aus, die beim Datenbankstart geöffnet sind. Und: VBA erlaubt den Start von beliebigen Programmen. Voraussetzung dafür: Der Angreifer muss auf eine .mdb-Datenbank zugreifen können, die sich entweder auf dem UNC Share oder auf dem lokalen Laufwerk befindet. Als Endergebnis erhält der Angreifer die volle Kontrolle über den Computer.

Probleme mit 128 Bit und NT

Keine Sicherheitslücke im eigentlichen Sinne, aber dennoch ziemlich ärgerlich: Beim Update des Internet Explorers auf 5.01 Servicepack 1 oder auf die neue Version 5.5 wird gleichzeitig die 128-Bit-Verschlüsselung installiert.

Das ist kein Problem, solange man das NT Servicepack 6a nicht installieren muss. Genau das muss man aber jedes Mal wiederholen, wenn man neue NT-Komponenten installiert. Servicepack 6a verweigert jedoch die Installation, sobald starke Verschlüsselung installiert ist.

Active Setup Control 2

Das Active-Setup-Control behandelt jegliche von Microsoft signierte CAB-Datei als vertrauenswürdig und installiert sie deshalb ohne Rückfrage. Gleichzeitig kann der Webprogrammierer angeben, in welches Verzeichnis die geladene CAB-Datei auf dem Rechner des Benutzers zu schreiben ist. In Kombination kann ein böswilliger Webmaster eine Webseite erstellen, die dafür sorgt, dass wichtige Systemdateien zerstört werden. Benutzer von Windows 2000 sind sicher, weil die so genannte System File Protection die zerstörten Dateien automatisch wieder herstellt.

Frame Domain Verification

Wieder einmal ist Active Scripting Voraussetzung für einen Angriff, der das Cross-Domain-Sicherheitsmodell umgeht. Dieses soll dafür sorgen, dass Daten in verschiedenen Domains, etwa lokal und auf einem Internet-Host, voneinander abgeschirmt sind.

Durch zwei fehlerhafte Funktionen im Internet Explorer lassen sich dennoch lokale Daten des Surfers ausspionieren. Zu diesem Zweck weist eine entsprechend präparierte Website den Browser an, ein Frame in einem Fenster zu öffnen. In diesen Frame lassen sich nun Dateien von der Festplatte des angegriffenen PCs laden, sofern deren Pfad und Name bekannt ist. Ein einfaches Skript, das im Browserfenster abläuft, kann auf den Frame zugreifen und dessen Inhalt zum Hacker übermitteln.

Unauthorized Cookie Access

Viele Surfer haben ihren Browser so konfiguriert, dass er Cookies - zumindest von ausgewählten Internetangeboten - akzeptiert. Schließlich geht der Inhalt der Datenkrümel nur die Site etwas an, die ihn gesetzt hat. Dieses Sicherheitskonzept weist jedoch Löcher auf.

Klickt der Anwender einen entsprechend manipulierten Link auf einer Website an, kann diese auch Cookies lesen und ändern, die von einem anderen Server stammen. Darüber hinaus kann ein Angreifer über diese Lücke Cookies setzen, die scheinbar von einer anderen Internetseite herrühren.

Der potenzielle Schaden hängt davon ab, welche Informationen in den Cookies stecken. Dies wiederum handhabt jeder Webanbieter nach eigenem Gutdünken. Im schlimmsten Falle liegen Anschrift und E-Mail-Adresse oder sogar Kreditkartennummer und Passwort im Klartext vor.

Malformed Component Attribute

Eine Webseite muss beim Aufruf eines ActiveX-Controls dessen Namen sowie alle benötigten Parameter übergeben. Dazu zählen beispielsweise Angaben, wo die Komponente zu finden ist oder welche Größe und Position eine Dialogbox besitzt.

Einer dieser Parameter, das Codebase-Attribut, besitzt einen ungeprüften Puffer, den man durch einen überlangen String zum Überlaufen bringen kann.

Der Designfehler kann sich auf zweierlei Art auswirken. Wenn ein Hacker den Puffer mit Zufallswerten überflutet, stürzt der Internet Explorer ab. Ein Angreifer kann hingegen auch Programm-Code übergeben, der auf dem Computer des Surfers abläuft. Das Programm besitzt in diesem Fall dieselben Berechtigungen wie der gerade angemeldete Benutzer.

Java aktiviert abgeschaltetes Scripting

Etliche Sicherheitslücken des Internet Explorer kommen nicht zum Tragen, wenn man Active Scripting nicht zulässt. Aber selbst das gewährt keinen vollständigen Schutz. Wie der bulgarische Bugjäger Georgi Guninski herausgefunden hat, können Angreifer Java nutzen, um die Sicherheitslücken wieder zu öffnen.

Dazu wird das Skript mit Hilfe von Java in einem Bereich gestartet, in dem sich Active Scripting nicht abschalten lässt. Dies ist in der lokalen Sicherheitszone der Fall. Gelingt es dem Angreifer in dieser Zone einen IFrame zu öffnen, lässt sich per Java eine Javascript-URL in diesen Frame schreiben und der enthaltene Code zur Ausführung bringen.

Verborgene Programme in Wordpad

Über eine Sicherheitslücke im Microsoft-Programm Wordpad lässt sich beliebiger Code auf Windows 9x-Rechnern ausführen. Dazu muss der Anwender ein in Wordpad eingebettetes oder verknüpftes Objekt doppelklicken. Das Programm, das sich dahinter verbirgt, startet ohne Rückfrage.

Dieses Verhalten kann sich ein Angreifer im Internet zu Nutze machen. Eine entsprechende view-source- Anweisung auf einer Website verweist auf ein RTF-Dokument, das auf Grund seiner Größe nicht mehr mit Notepad, sondern mit Wordpad geöffnet werden kann.

HTTP-Authentifizierung

In der Grundeinstellung speichert der Internet Explorer Anwenderdaten und erlaubt so anderen Benutzern des gleichen Computers zu einem späteren Zeitpunkt auf passwortgeschützte Sites zuzugreifen.

Wenn Sie eine Website betreten, auf der Sie Benutzername und Passwort eingeben müssen, wird dieses vom Internet Explorer zunächst gespeichert. Sollte zu einem späteren Zeitpunkt ein anderer Anwender Ihren Computer benutzen, kann er sich leicht Zugang zu der passwortgeschützten Site verschaffen. Dazu muss er nur erneut zu der geschützten Site browsen. Die nun erfolgende Passwortabfrage lässt sich mit "Abbrechen" beenden. Daraufhin erscheint die übliche Authentifizierungs-Fehlermeldung. Wechselt man nun zu einer beliebigen anderen Site und benutzt von dort aus den Zurück-Button des Browsers gelangt man ohne weitere Sicherheitsabfrage auf die geschützte Seite.

Gefährlich ist diese Sicherheitslücke besonders deswegen, weil weder das Schließen und Neustarten des Internet Explorer noch ein vollständiger Reboot vor diesem Bug schützt.
 

Links zu diesem Thema:

Georgi Guninski