Samstag, 11. Februar 2012 |
Microsoft hat wie angekündigt zwei außerplanmäßige Security Bulletins veröffentlicht, die drei Schwachstellen in der ActiveX-Implementierung bzw. -Unterstützung beheben. Und weil man gerade dabei ist, hat man noch drei kritische Schwachstellen im Internet Explorer behoben.
Das Security Bulletin MS09-035 beschreibt die Schwachstellen in Visual Studio und ist damit quasi für die Grundlagen der ganzen Misere zuständig. Da Visual Studio selbst nicht durch die Schwachstellen gefährdet wird, werden die als moderat eingestuft - obwohl die damit erstellten ActiveX-Controls ein System ins Verderben reißen können: Mehrere zuvor nicht veröffentlichte Schwachstellen in der Microsoft Active Template Library (ATL) zum Erstellen von ActiveX-Controls erlauben die Ausführung beliebigen Codes beim Aufruf von VariantClear mit einem nicht korrekt initialisierten Parameter oder der Instantiierung eines Objekts aus einem Data-Stream. Das Lesen eines Strings ohne abschließendes Null-Byte erlaubt das Lesen von hinter dem String gespeicherten Daten.
Betroffen sind Microsoft Visual Studio .NET 2003, Microsoft Visual Studio 2005, Microsoft Visual Studio 2008, Microsoft Visual C++ 2005 Redistributable Package und Microsoft Visual C++ 2008 Redistributable Package und die ActiveTemplate Library Version 7.0, 7.1, 8.0 und 9.0.
Die Schwachstelle bei der Instantiierung eines Objekts aus einem Data-Stream erlaubt insbesondere das Umgehen der Killbit-Einstellung im Internet Explorer und hebelt damit die wichtigste Schutzfunktion für unsichere ActiveX-Controls aus. Das Killbit ist ein Registry-Eintrag, der (laut Planung) verhindert, dass der Internet Explorer ein ActiveX-Control instantiiert, das bekannte Schwachstellen oder unsichere Methoden enthält.
Mark Dowd, Ryan Smith und David Dewey werden heute auf der Sicherheitskonferenz Black Hat einen Vortrag halten, in dem die Schwachstellen demonstriert werden: "The Language of Trust: Exploiting Trust Relationships in Active Content". Ein Preview der Präsentation zeigt, wie ein ActiveX-Control trotz gesetztem Killbit geladen wird. Die drei beschreiben in einem Eintrag im Microsoft BlueHat Blog die Hintergründe: 'Black Hat USA Spotlight: ATL Killbit Bypass'.
Das Security Bulletin MS09-034 für den Internet Explorer wird von Microsoft als kritisch eingestuft und liefert 'Defense-in-depth'-Maßnahmen, um Angriffe über die in der Active Template Library (ATL) behobenen Schwachstellen zu verhindern. Wer meint, das wäre kritisch, sieht sich getäuscht: Das Bulletin wird zwar als kritisch eingestuft, das aber auch nur, weil gleichzeitig noch 3 weitere Schwachstellen behoben werden. 'Defense-in-depth' kommt im Bereich 'Severity Ratings and Vulnerability Identifiers' nicht mal vor.
Zwei Schwachstellen beim Zugriff auf gelöschte Speicherobjekte und eine beim Ausführen bestimmter Tabellenoperationen erlauben die Ausführung beliebigen Codes, alle drei Schwachstellen waren zuvor nicht bekannt und werden als insgesamt kritisch eingestuft.
Die nur als moderat eingestuften Schwachstellen in Visual Studio sind das bei weitem größere Problem. Während beim Internet Explorer mit dem Installieren der Patches die drei kritischen Schwachstellen behoben und Angriffe über die Schwachstellen in der ATL zumindest erschwert werden, fängt bei Visual Studio mit dem Installieren der Patches die eigentliche Arbeit erst an: Alle mit betroffenen Versionen erstellten ActiveX-Controls und Komponenten müssen geprüft, ggf. angepasst und neu übersetzt werden. Und danach müssen diese fehlerbereinigten Controls und Komponenten noch an die Benutzer verteilt werden.
Adobe hat bereits untersucht, in wie weit Produkte betroffen sind, und das Ergebnis im Blog des Adobe Product Security Incident Response Team veröffentlicht: Flash Player und Shockwave Player verwenden betroffene ATL-Versionen und deren Internet-Explorer-Plugins enthalten die entsprechenden Schwachstellen. Die Schwachstellen im Shockwave Player wurden bereits behoben und ein entsprechendes Security Bulletin veröffentlicht, ein Security Advisory für den Flash Player kündigt ein Update für den 30. Juli an.
Selten gab es von Microsoft so viele zusätzliche Informationen zu einer Schwachstelle wie diesmal:
Los geht es im Blog des Microsoft Security Response Center (MSRC), in dem die Security Bulletins angekündigt werden: 'Microsoft Security Advisory 973882, Microsoft Security Bulletins MS09-034 and MS09-035 Released'. Das darin erwähnte 'Microsoft Security Advisory (973882) - Vulnerabilities in Microsoft Active Template Library (ATL) Could Allow Remote Code Execution' liefert Informationen über die andauernde Untersuchung der Schwachstellen sowie FAQ-Bereiche für alle möglichen Interessenten.
Im Security Research & Defense Blog gibt es gleich eine ganze Reihe von Einträgen zu den Security Bulletins: In 'Overview of the out-of-band release' gibt es allgemeine Informationen und die Begründung dafür, die Bulletins außer der Reihe zu veröffentlichen. Die Defense-in-depth-Maßnahmen des Internet Explorers werden in 'Internet Explorer Mitigations for ATL Data Stream Vulnerabilities' beschrieben, darin werden auch mögliche Probleme behandelt. Und in 'MSVIDCTL (MS09-032) and the ATL vulnerability' werden die Zusammenhänge mit der Schwachstelle im Microsoft Video ActiveX Control beschrieben.
Ein weiterer Eintrag im Security Research & Defense Blog beschreibt die ATL-Schwachstellen aus Entwicklersicht: 'ATL vulnerability developer deep dive'. Was Entwickler sonst noch beachten müssen, verrät ein Artikel im Visual C++ Developer Center: 'Active Template Library Security Update for Developers'.
Wie die Schwachstellen im Code gefunden wurden, wird im Security Development Lifecycle Blog beschrieben: 'ATL, MS09-035 and the SDL'. Die Zusammenarbeit aller Beteiligten bei der Entwicklung der Patches beschreibt ein Eintrag im Blog des MSRC Ecosystem Strategy Team: 'Threat Complexity Requires New Levels of Collaboration'. Die Entwicklung aus Sicht der Entdecker der Schwachstellen schildern diese im Microsoft BlueHat Blog: 'Black Hat USA Spotlight: ATL Killbit Bypass'.
Die Schwachstellen in der Active Template Library haben es in sich: Schwachstellen in ActiveX-Controls werden sehr gerne im Rahmen von Drive-by-Infektionen ausgenutzt, und viel zu oft wurden Schwachstellen in ActiveX-Controls nicht behoben, sondern lediglich das Killbit für das Control gesetzt. Wenn es den Cyberkriminellen gelingt, die durch das Setzen des Killbits vor ihrem Zugriff geschützten, weiterhin angreifbaren ActiveX-Controls zu erreichen, steigen ihre Erfolgschancen drastisch. Und abgesehen davon, das durch das Umgehen des Killbits zuvor unerreichbare Schwachstellen ausnutzbar werden, erlauben zwei der Schwachstellen in der ATL ja auch noch selbst das Ausführen von Code. Wenn die Cyberkriminellen es geschickt anstellen und entsprechend verwundbare ActiveX-Controls finden, können sie über die eine Schwachstelle das Killbit umgehen und über die andere ihren Schadcode einschleusen.
Schlechtes Omen: Ein Eintrag im Blog von F-Secure erinnert an das letzte außerplanmäßige Security Bulletin von Microsoft und was daraus geworden ist: Der RPC-Wurm Downadup/Conficker. Zumindest das bleibt uns diesmal wohl erspart: Die Schwachstellen sind kaum für einen Wurm geeignet.
Für Anwender gilt jetzt: Patchen so schnell wie möglich. Für Umgebungen, in denen die Patches vor der Freigabe ausgiebig getestet werden müssen (und die Defense-in-depth-Maßnahmen des Internet Explorers könnten Probleme bereiten) ist das Zeitfenster denkbar eng, denn die Cyberkriminellen werden sofort nach der Veröffentlichung der Patches mit deren Analyse begonnen haben, und die Präsentation auf der Black-Hat-Konferenz wird sicher weitere Hinweise auf die Schwachstellen und ihre Ausnutzung liefern. Microsoft rechnet selbst mit zuverlässig funktionierenden Exploit-Code für die ersten beiden Schwachstellen in der ATL, also auch für die, mit der sich das Killbit umgehen lässt.
Auf Entwickler wartet eine unangenehme Aufgabe: Prüfen, ob der eigene Code betroffen ist, und den dann ggf. anpassen. Worauf zu achten ist, verraten die oben verlinkten Texte von Microsoft. Mit dem Beheben der evtl. vorhandenen Schwachstellen ist aber erst die eine Hälfte des Problems gelöst, danach muss die fehlerfreie Version noch an die Benutzer verteilt werden. Was manchmal gar nicht so einfach ist: Wie viele haben wohl noch einige längst in Vergessenheit geratene ActiveX-Controls auf der Platte schlummern, die jetzt zur tickenden Zeitbombe werden können? Für den Frühjahrsputz ist es je nach Sichtweise viel zu spät oder viel zu früh, aber wahrscheinlich ist es jetzt die passende Gelegenheit, mal nach solchen Altlasten zu suchen.
Carsten Eilers
Einträge in 'Security aktuell':
Internet Explorer
Visual Studio