Risiken der Windows-Kommunikation

Die internen Mechanismen zur Kommunikation zwischen Windows-Prozessen bergen Risiken, die sich durch so genannte Shatter-Attacks ausnutzen lassen. Grund zur Panik sind sie indes nicht.

In Pocket speichern vorlesen Druckansicht
Lesezeit: 4 Min.
Von
  • Peter Siering

iDEFENSE hat in einem White Paper (Win32 Message Vulnerabilities Redux) untersucht, was es mit der ursprünglich von Chris Paget entdeckten Sicherheitslücke in Windows-Diensten auf sich hat. Paget hat seinerzeit herausgefunden, dass ein Programm darüber mehr Rechte erlangen kann, als einem Benutzer womöglich zustehen. Das Papier informiert darüber, dass die Lücke noch immer existiert, und zeigt Wege auf, sie zu schließen. Das Papier ist eine sehr sachliche Auseinandersetzung mit einem Thema, das einst viel Aufmerksamkeit erregt hat.

Windows benutzt spezielle Nachrichten nicht nur zum Darstellen und Steuern der grafischen Bedienoberfläche, sondern ein Programm kann sie auch hernehmen, um mit anderen Prozessen zu kommunizieren, selbst wenn diese in einem anderen Sicherheitskontexten arbeiten. Paget hatte entdeckt, dass sich eine spezielle Botschaft (WM_TIMER) gezielt nutzen lässt, um Code in einem anderen Sicherheitskontext anzuspringen. Die Reaktion Redmonds war erst zurückhaltend, später veröffentlichte man aber doch Fixes für das konkret aufgezeigte Problem.

Die Hausaufgabe, nämlich "den Windows-Botschaftenwald auf weitere solche Zeitbomben hin zu untersuchen", hat Microsoft jedoch nicht gemacht. iDEFENSE nennt nun nicht nur weitere Nachrichten, die ein Ausnutzen der Designschwäche erlauben, sondern auch Programme, die sich für solche Angriffen anfällig zeigen. Mit Kerio Personal Firewall 2.1.4, Sygate Personal Firewall Pro 5.0 und McAfee VirusScan 7.0 sind neben VNC 3.3.6 darunter pikanterweise immerhin drei Sicherheitstools.

Ein Angriffsszenario (Shatter-Attack genannt) nutzt die Tatsache aus, dass solche Software im Sicherheitskontext "System" als Dienst läuft und Fenster auf dem Desktop des angemeldeten Benutzers anzeigt. Eine Software, die diese Lücke ausnutzt, könnte in die Eingabefelder eventueller Dialoge Schadcode einfügen und diesen über das Zusenden einer Nachricht gezielt anspringt. Der Code würde dann im Sicherheitskontext "System" laufen und weitestgehende Rechte im System besitzen.

Die jetzt von iDEFENSE ausgemachte Nachricht "EM_SETWORDBREAKPROC" dürfte sich anders als WM_TIMER nicht mehr von Microsoft mit einem Fix entschärfen lassen, sondern zeigt einmal mehr das grundsätzliche Problem auf: Die Art und Weise, wie Windows Nachrichten verarbeitet, ist kein Designfehler per se. Die Schwierigkeiten enstehen durch den allzu sorglosen Umgang der Software-Entwickler damit. Die Warnungen Microsofts, die schon etliche Jahre alt sind, haben die Entwickler der genannten Programme jedenfalls in den Wind geschlagen und lassen ihre Dienste weiterhin direkt Fenster auf dem Desktop des angemeldeten Benutzers darstellen.

Die Wahrscheinlichkeit, dass eine Schadsoftware diese Lücke ausnutzt, scheint derzeit gering, weil es schwierig ist, die Lage des Schadcodes im Speicher auszumachen, den sie in ein Dialogelement eingefüllt hat. Die Suche im Speicher erfordert Rechte, die normalen Benutzern nicht zustehen. Wer sich die Mühe macht, Benutzer einzuschränken, dürfte ihnen auch die Rechte genommen haben, beliebige Software auf dem System auszuführen. Läut die Schadsoftware hingegen in einem Kontext, in dem sie sich diese Rechte verschaffen könnte, hat sie ohnehin so weit gehende Möglichkeiten, dass sie nicht diesen umständlichen, indirekten Weg einschlagen müsste.

Insofern ist das Bemühen von iDEFENSE, mit zusätzlicher Software alle gefährlichen Windows-Nachrichten automatisch auszufiltern, sicher ehrenhaft. Praktisch scheint es aber aus den genannten Gründe vergebene Müh -- interessant ist es dennoch: Über das Sub-Classing, also eine Möglichkeit eigene Behandlungsroutinen für den Umgang mit Nachrichten im Prozessorraum beliebiger Prozesse einzuführen, filtert die beispielhafte Sicherungssoftware die gefährlichen Botschaften aus. Auf diese Wiese ließen sich auch unsichere Programme gegen eine "Shatter"-Attack härten. (ps)