Windows: Schwachstellen schneller finden mit Diffray

Mit der Python-Software Diffray lassen sich verdächtige Codestellen in DLL-Dateien in Windows 7 schnell aufspüren. Grundlage ist ein Vergleich zwischen Windows 8 und seinem Vorgänger.

Artikel veröffentlicht am ,
Die beiden Security-Forscher Marion Marschalek und Joseph Moti wollen die Suche nach Schwachstellen in Windows automatisieren.
Die beiden Security-Forscher Marion Marschalek und Joseph Moti wollen die Suche nach Schwachstellen in Windows automatisieren. (Bild: Jörg Thoma/Golem.de)

Offenbar hat Microsoft nicht alle Schwachstellen nachträglich in Windows 7 gepatcht, die in Windows 8 bereits behoben sind. Auf der Suche nach verdächtigem Code haben die Entwickler ein automatisiertes Verfahren entwickelt, das mögliche Lücken schneller aufspürt. Mit mehreren Hilfsmitteln haben sie eine Datenbank erstellt, und mit einfachem Diff suchen sie Unterschiede zwischen Windows-Versionen.

  • Die Benutzeroberfläche von Diffray (Bild: Marion Marschalek und Joseph Moti)
  • Verdächtiger Code in einer Windows-Bibliothek (Bild: Marion Marschalek und Joseph Moti)
Die Benutzeroberfläche von Diffray (Bild: Marion Marschalek und Joseph Moti)

Bislang ungepatchte Lücken in Windows zu entdecken, kann ein durchaus lukratives Geschäft sein. Zwischen 60.000 und 120.000 US-Dollar kosten die sogenannten Zero-Day-Lücken in einschlägigen Foren. Dabei geht es darum, sie möglichst schnell zu finden. Die beiden Security-Forscher Marion Marschalek und Joseph Moti wollten für das nicht ganz neue Verfahren, Schwachstellen anhand von Vergleichen zwischen zwei Betriebssystemversionen zu ermitteln, eine möglichst schnelle und effiziente Lösung finden. Sie stellten ihr Projekt auf der Sicherheitskonferenz Troopers 2014 vor.

Suche im Assembler-Code

Die Suche nach Schwachstellen beginnt mit einem Blick in die Patches für Windows 8. Wenn es sie für Windows 7 noch nicht gibt, ist das bereits verdächtig. Die in den Patches enthaltenen DLL-Dateien untersuchten die beiden Forscher dann genauer. Zunächst wandelten sie den Binärcode mit dem Diassembler IDA Pro in Assembler-Quelltext um. In diesem suchten sie nach Funktionsaufrufen, die in den ungepatchten Versionen fehlten.

Marschalek und Moti haben eine Liste als sicher geltender Funktionen erstellt, die sie unter anderem in der Entwicklungsumgebung Visual Studio gefunden haben. Ist ein solcher Funktionsaufruf unter der einen Windows-Version zu finden, in der anderen aber nicht, könnte das ein Hinweis darauf sein, dass es eine Schwachstelle gibt.

Automatisiert mit Diffray

Mit ihrer Python-basierten Software Diffray wollen die beiden Security-Forscher die Suche nach Schwachstellen automatisieren. Nachdem die Windows-Bibliotheken disassembliert sind, wird der Code in eine Datenbank eingepflegt, in der bereits die Funktionsaufrufe stehen. Zunächst werden zwei Versionen der Bibliotheksdateien ver- und dann mit den Funktionsaufrufen abgeglichen.

Die Ergebnisse müssen die beiden Forscher aber noch selbst auf mögliche Schwachstellen untersuchen, da sich das nicht automatisieren lässt. Von 100 gefundenen verdächtigen Codeeinträgen ließe sich einer ausnutzen, vermuten die beiden Sicherheitsforscher.

Noch zu viele False Positives

Noch gibt es einige Probleme. Zum einen dauert der Vorgang noch ziemlich lange. Alle Systembibliotheken von Windows 8 einzulesen, würde mehrere Tage dauern. Deshalb untersuchen sie zunächst die Bibliotheksdateien, die in Patches enthalten sind. Außerdem bringt Marschaleks und Motis Verfahren noch zu viele False Postives hervor, durchschnittlich etwa 90 Prozent. An Diffray wird noch entsprechend gefeilt. Aktuell liegt die Beta der Software in Version 0.9 auf Github vor.

Wenn sie mit dem Vergleich der Kernel-Module in Windows 7 und Windows 8 fertig sind, wollen sich die beiden Entwickler dem Vergleich zwischen Windows 8 und Windows 8.1 widmen.

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed


Aktuell auf der Startseite von Golem.de
Quellcode auf Github
MS-DOS 4.00 ist jetzt Open Source

Nachdem der ehemalige CTO eine alte MS-DOS-Floppy entdeckt hat, veröffentlicht Microsoft ein Stück Betriebssystem-Geschichte.

Quellcode auf Github: MS-DOS 4.00 ist jetzt Open Source
Artikel
  1. Startrampe Set: Lego bietet Milchstraße und Nasa-Rakete Artemis als Bausatz
    Startrampe Set
    Lego bietet Milchstraße und Nasa-Rakete Artemis als Bausatz

    Lego hat zwei neue Sets vorgestellt, die für Weltraumenthusiasten gedacht sind: das Nasa-Artemis-Startrampen-Set und das Milchstraßen-Galaxie-Set.

  2. Tarifrunde: Montag erneut Streiktag bei der Deutschen Telekom
    Tarifrunde
    Montag erneut Streiktag bei der Deutschen Telekom

    Beim letzten Warnstreik bei der Telekom waren 12.500 Beschäftigte beteiligt. Diesmal wird breiter mobilisiert. Die Telekom versucht Schadensbegrenzung.

  3. Auszieh-Apps: Apple entfernt KI-Nudify-Apps aus dem App Store
    Auszieh-Apps
    Apple entfernt KI-Nudify-Apps aus dem App Store

    Apps, die Personen per KI ungefragt digital ausziehen, sind beliebt. Nun entfernt Apple einige dieser Anwendungen aus dem App Store - aber erst nach Hinweisen von Journalisten.

Du willst dich mit Golem.de beruflich verändern oder weiterbilden?
Zum Stellenmarkt
Zur Akademie
Zum Coaching
  • Schnäppchen, Rabatte und Top-Angebote
    Die besten Deals des Tages
    Daily Deals • Asus OLED-Monitor zum Tiefstpreis • Gigabyte GeForce RTX 4070 Ti im Sale • MediaMarkt: Asus Gaming-Laptop 999€ statt 1.599€ • Gamesplanet Spring Sale [Werbung]
    •  /