Vergitterte Fenster, Teil 2
Das Service Pack 2 rüstet diverse Sicherheitsfunktionen in Windows XP nach. Der Fokus dieser Betrachtung liegt auf den Verbesserungen bei Internet Explorer, Outlook Express und Patch Management.
- Daniel Bachfeld
Eins der Sorgenkinder in Windows ist immer noch der Internet Explorer. Hier geht es mit Service Pack 2 richtig ans Eingemachte: Das Add-on-Management hat nun eine grafische Oberfläche spendiert bekommen. Dem stellt man eine Crash Detection zu Fehlersuche bei Abstürzen des Browsers zur Seite. Mit Add-ons lässt sich der Browser um neue Funktionen erweitern. Dies können sowohl ActiveX-Controls als auch Toolbars, Browsererweiterungen und Browser Helper Objects sein, etwa das Acrobat-Plug-in zum Lesen von PDF-Dokumenten. Viele Webserver bieten solche Zusätze bereits beim Besuch einer Seite an. Mit dem neuen Management können Anwender diese vom Internet Explorer nachladbaren Plug-ins besser kontrollieren, sowie deaktivieren und deinstallieren. Darüberhinaus zeigt das Management Add-ons an, etwa Ad- und Spyware, die sich bisher nur durch Einträge in der Registry verraten haben und unter Umständen das Surfverhalten des Benutzers ausspähen.
Die Add-on-Crash-Detection soll beim Absturz des Internet Explorers das verantwortliche Plug-in ausfindig machen. Anhand der Liste der geladenen Erweiterungen und dem Wert des Instruction Pointers zum Zeitpunkt des Crash identifiziert die Detection die fehlerträchtige Datei und zu welchem Add-on sie gehört. In einem Dialog kann der Anwender dann die Erweiterung deaktivieren, um weitere Abstürze zu verhindern.
Benimmregeln
Mit Service Pack 2 taucht in den Einstellungen des Internet Explorers auch erstmals der bislang wenig bekannte Begriff "Binärdateien" (Binary Behaviors) auf. Sie sind eine schnelle Alternative zu Skripten und kommunizieren als COM-Komponente mit dem Browser, um bestimmte Aufgaben zu erfüllen. Anders als Skripte laufen sie bisher in keiner Zone des Internet Explorers und unterliegen auch keinen Restriktionen, obwohl sie Zugriff auf das System im Kontext des angemeldeten Benutzers haben. Zukünftig kann der Anwender diese Binärdateien für jede Sicherheitszone aktivieren oder deaktivieren.
Damit ActiveX-Controls gegebenenfalls von anderen Webseiten mitbenutzt werden können, sind sie seit langem als "safe for scripting" und "safe for initialization" markierbar. Zudem konnte der Anwender für bestimmte Zonen ActiveX zulassen oder sperren. Leider funktionierte dieses Model auf Basis der aufgerufenen URL und der zugeordneten Zone nicht immer zuverlässig. Eine Reihe bekannter Angriffsarten nutzt diese Schwäche bereits aus. Microsoft hat das ActiveX-Sicherheitsmodell renoviert, sodass ein Objekt immer eindeutig einer URL zugeordnet ist.
Versucht eine Webseite ein neues ActiveX-Control in den Browser zu laden, so informiert ein Dialog den Anwender, über die Identität des "Publishers" des Controls und fragt ob es installiert werden soll. Auch wenn man dem nicht zustimmt, erscheint der Dialog bei jedem Besuch der Seite aufs neue. Bislang bietet der Dialog nur die Option, einem Publisher immer zu vertrauen. Dem fügt man nun die Option hinzu, einem Publisher immer zu mißtrauen. Ist sie aktiviert, blockiert der Internet Explorer dessen Controls ohne weitere Nachfragen.
Selbst wenn man die Webseite nicht verlässt, aber den ActiveX-Control-Dialog verneint, sind manche Webseiten hartnäckig und bieten immer wieder das selbe Control an. Unter Umständen kann das den Anwender dazu verleiten, doch "OK" zu klicken, um aus der Schleife herauszukommen. Mit Service Pack 2 ist nur noch eine einzige Nachfrage pro Control und Seite zugelassen. Mit dem neuen Schlüssel RunInvalidSignatures unterbindet der Internet Explorer standardmäßig die Installation von Controls mit fehlerhaften oder ungültigen digitalen Signaturen.
Auch wenn Microsoft die Java Virtual Machine (JVM) eigentlich nicht mehr mit neueren Service Packs ausliefert, fügt Service Pack 2 eine Funktion hinzu, um sie explizit abzuschalten. Anwender die die JVM noch installiert haben, können sie nun explizit deaktivieren. Bisher gibt es im Internet Explorer nur die Option "Java deaktivieren", die aber auch die installierten JVMs anderer Hersteller abschaltet.
Gefahrenzone
Gefahrenzone
Das Zonenmodell des Internet Explorer definiert, welche Webseite welche Aktionen durchführen darf. Beispielsweise kann eine im Internet aufgerufene Webseite nicht auf die Festplatte zugreifen. Auf dem PC gespeicherte HTML-Seiten öffnet der Browser im Kontext "Local Machine", für die keine Sicherheitseinstellungen definiert sind. Diese Zone ist keine echte Zone im Internet Explorer und nur über die Registry konfigurierbar. Durch Tricks versuchen Angreifer, Skripte in dieser Zone auszuführen, um ihre Rechte auf dem System auszubauen. Um dem entgegenzuwirken, gelten fortan echte Sicherheitseinstellungen für die Zone "Local Machine" (Zone 0). Microsoft behauptet zwar, dass die Einstellungen dafür strenger als die der "Internet Zone" seien, vergleicht man aber die Registry-Einstellungen beider Zonen, so kommt man zu einem anderen Ergebnis: Zumindest in der Beta-Version ist alles ist auf "Erlauben" oder "Aktivieren".
Ohnehin ist das unerlaubte Wechseln in die lokale Sicherheitszone die am meisten ausgenutzte Schwachstelle im Internet Explorer. Mit Zone Elevation Blocking will Microsoft verhindern, dass eine Seite oder ein Link in einer Zone mit mehr Rechten ausgeführt wird, es sei denn der Anwender erlaubt das. Objekte oder Elemente einer Seite, die der Browser in der "Internet Zone" ausführt, können somit laut Microsoft nie in die Zone "Lokales Intranet" wechseln.
Bei der Übertragung einer Datei vom Server zum Client können falsche Typinformation übertragen werden. So erkennt der Internet Explorer etwa eine Datei anhand ihres MIME-Typs als .php-Datei, in Wirklichkeit handelt es sich aber um eine .hta-Datei, die nach dem Herunterladen gestartet wird. Obwohl die Angaben der Datei-Erweiterung und des MIME-Typs, respektive Content-Typs des HTTP-Headers unterschiedlich sind, meldet der Browser keinen Fehler. Mit obigem Beispiel php/hta-Beispiel haben bereits einige Webseiten Dialer und Trojaner auf Client-PCs installiert. Davor will Microsoft Windows XP nun schützen, indem der Internet Explorer gleich vier Informationen miteinander vergleicht: Dateiendung, Content Type, Content Disposition und das Ergebnis eines MIME-Sniffs. Der MIME-Sniff versucht den Inhalt der Datei anhand von Mustern zu erkennen. Stimmt ein Wert nicht mit den anderen überein, so benennt der Internet Explorer die Datei um und legt sie im Cache ab, ohne sie mit einer Applikation zu öffnen. Welchen Namen die Datei erhält, geht aus der Dokumentation nicht hervor.
Despotisch
Gedanken hat sich Microsoft auch um die nervigen Pop-Up-Fenster (window.createPopup) gemacht, die einige Webseiten automatisch öffnen. Gemeint sind hier nicht die Fenster des Windows-Nachrichtendienstes, sondern mit Werbung und Spam gefüllte Browser-Fenster. Mit dem Pop-up-Manager können Anwender das Öffnen dieser Plagegeister unterdrücken, allerdings nur für Webseiten in der Internet-Zone und "eingeschränkte Sites". Versucht eine blockierte Seite ein Fenster zu öffnen, so alarmiert der Pop-up-Manager den Anwender mit einem Hinweis und einem Warnton. Der Besuch einiger Webseiten könnte demnächst also ziemlich geräuschvoll werden. Glücklicherweise kann man aber den Warnton wieder abstellen. Darüberhinaus ändert sich das Verhalten der Pop-up-Fenster hinsichtlich Lage und Größe, um zu verhindern, dass diese Teile des Hauptfensters verdecken und ungestörtes Surfen unmöglich machen. Damit ist es auch nicht mehr möglich, mit sogenannten Chromeless Windows -- Frames ohne Rahmen und Statusleisten -- Dialogboxen oder Teile der Windows-GUI zu simulieren. Durch den geschickten Aufbau solcher Fenster war es möglich, beispielsweise den Login-Dialog täuschend echt zu simulieren. Dahinter steckte aber ein skriptgesteuertes Pop-up, das eingegebene Namen und Passwörter an einen Rechner ins Internet schickte.
Um die Herkunft einer Seite zu verschleiern, versuchen einige Websites den Blick auf Adress- und Statusleisten eines neuen Fensters zu versperren, indem sie Teile des neuer Browser-Frames außerhalb des sichtbaren Bildschirmes platzieren. Zukünftig können Skripten der window.open()-Funktion nicht mehr beliebige Parameter zum Öffnen und Platzieren neuer Fenster übergeben. Standardmäßig werden solche Fenster zusätzlich immer mit Statusleiste geöffnet.
Aus Sicherheitsgründen ist der Zugriff von Objekten einer DNS-Domäne auf Objekte einer anderen Domäne verboten. Das soll verhindern, dass ein Skript eines Browserfensters auf die Inhalte eines anderen Browserfensters zugreifen kann, um etwa Information auszulesen. Durch Implementierungsfehler gilt diese Einschränkung aber nicht vollständig für Objekte, die im Cache abgelegt sind. Der neue Schlüssel FEATURE_OBJECT_CACHING blockiert den Zugriff von Skripten auf Objekte im Cache. Die geschieht unabhängig davon, ob Skript und Objekt von derselben URL stammen. Beim Aufruf einer neuen URL löscht der Browser alle Referenzen.
Sicher mailen
Sicher mailen
Mit einigen Änderungen wollen die Redmonder auch Outlook Express zu mehr Sicherheit verhelfen. Inbesondere die Behandlung von HTML-Mails stieß in der Vergangenheit immer wieder auf Kritik. Unter anderem können in solchen Mails Bilder und andere Objekte eingebettet sein, die Outlook beim Ansehen oder Öffnen aus dem Internet nachlädt. Das ist unter E-Mail-Spammern eine verbreitete Methode, um herauszufinden, ob ein E-Mail-Konto gültig ist. Des Weiteren ist es für Anwender mit einer Wählverbindung lästig, wenn eine Mail eine Verbindung öffnen will, nur um Bilder nachzuladen. Dafür wurde Outlook Express nun mit einer Option ausgestattet, mit der Anwender das Nachladen von externen Inhalten sperren können -- eine Option die andere Mailer schon lange anbieten.
Etwas Verwirrung stiftet die Beschreibung der Funktion zur Darstellung von HTML-Mails als reinen Text (Plain Text). Diese Funktion ist eigentlich in Outlook Express schon vorhanden, um unter anderem das Ausführen versteckter Skripte in Mails zu verhindern. Laut Dokument soll aber nun ein neues Rich Edit Control HTML-Mails als Text anzeigen. Ein Unterschied in der Darstellung war nicht festzustellen. Allerdings kann man nun bei Ansicht einer Mail im Nur-Text-Mode mit der Option "Nachricht als HTML" temporär wieder die HTML-Darstellung umschalten.
Ein neues API -- Attachment Execution Service (AES) -- soll zudem Funktionen für applikationsunabhängige, einheitliche Sicherheitschecks von Mail-Anhängen bieten. Damit Anwendungen davon Gebrauch machen, müssen die Entwickler die Produkte allerdings anpassen.
Pflegedienst
Eine verbesserte Computerwartung soll den Administrator größerer Netze in die Lage versetzen, den Überblick über aktuelle Sicherheitsupdates zu behalten. Dabei soll unter anderem ein neuer Windows Installer 3.0 mit Patch Management Support helfen, der auch Microsofts Software Update Services (SUS) unterstützt. Dadurch lassen sich die Abhängigkeiten einzelner Produkte von verschiedenen Patches leichter auflösen, beispielsweise beim Internet Explorer, bei dem in kumulativen Patches mehrere ältere Updates enthalten sein können. Sogar die Reihenfolge der Installation mehrerer Updates ist konfigurierbar. Allerdings müssen Applikationen mit dem Windows Installer installiert worden sein, um die neuen Funktionen nutzen zu können.
Bisher ersetzen Patches immer nur ganze Dateien. Zukünftig sollen Patches kleiner und zuverlässiger werden, sofern die Hersteller sie mit dem Installer erstellen. Durch Differenz-Kompression enthält ein Patch nur die notwendigen Änderungen und nicht den kompletten Code. Nach dem Entfernen eines Patches stellt der Windows Installer sogar den alten Zustand her, indem er eventuell ältere Patches einfach wiedereinspielt. Ob Privatanwender ebenfalls von den neuen Möglichkeiten profitieren, hängt davon ab, wie Hersteller zukünftig ihre Patches erstellen. Bisher sind mit dem Installer erstellte Patches im Consumer-Bereich eher selten. Stattdessen müssen Anwender Patches als EXE-Dateien einspielen, die meist einfach eine Datei ersetzen. Die De-Installation ist damit kaum möglich. Anwender müssen also darauf hoffen, dass die Hersteller die neuen Funktionen aufgreifen.
Was guckst Du?
Was guckst Du?
Zweifelsohne fügt Service Pack 2 in Windows XP eine Reihe neuer und verbesserter Sicherheitsfunktionen ein. Insbesondere die Netzwerksicherheit, die aufgemotzte Windows Firewall und die Execution Protection machen Windows widerstandsfähiger gegen Angriffe aus dem Netz. Hätten diese Funktionen schon früher zu Verfügung gestanden, wären einige Internetwürmer nie zu ihrer traurigen Berühmtheit gelangt. An anderer Stelle doktort Microsoft aber nur an Symptomen herum. Am Internet Explorer und seinem Zonenmodell schraubt man solange, bis aktuelle bekannte Exploits nicht mehr funktionieren. Skripting-Funktionen zum Öffnen von Fenstern bändigt man mit neuen Restriktionen. Statt alte Konzepte über Bord zu werfen, wird der Browser mit weiteren Funktionen noch komplexer - und damit fehleranfälliger.
Was geht?
Service Pack 2 greift sehr tief in Windows XP ein, teilweise so tief, dass einige Applikationen nicht mehr funktionieren. Bei einigen muss der Anwender - wenn er denn weiß wie es geht - die neuen Standardeinstellungen manuell wieder zurückdrehen. Administratoren haben hier mit Gruppenrichtlinien leichteres Spiel. Andere Applikationen können ihren Dienst unter Umständen gänzlich versagen. Microsoft weist Entwickler schon jetzt darauf hin, welche neuen Programmier-APIs zukünftig zu benutzen sind, damit alle Netzwerk-Anwendungen reibungslos funktionieren. Ohnehin gibt es noch keine Applikation, die mit den neuenn Sicherheitsfunktionen umgehen kann. Dass mit Erscheinen des Service Pack 2 die Hersteller mit SP2-Ready-Produkten aufwarten können oder Patches zu Verfügung stellen, ist unwahrscheinlich.
Literatur
[1] Vergitterte Fenster, Teil 1
[2] Changes to Functionality in Service Pack 2 for Microsoft WIndows XP
[3] Deploying Internet Connection Firewall Settings for Windows XP with Service Pack 2
[4] Buffer-Overflows und andere Sollbruchstellen (dab)