Zum Hauptinhalt Zur Navigation

Bibliotheken: Automatische Fehlersuche in Linux-Systemen

Der Informatiker Silvio Cesare entwickelt ein System zum Auffinden von unter Linux eingebundenen Bibliotheken. Diese werden dann automatisch nach bekannten Sicherheitslücken und Fehlern durchsucht.
/ Sebastian Grüner
6 Kommentare News folgen (öffnet im neuen Fenster)
Der Graph zeigt die Verbindungen zwischen Fedora-Paketen. (Bild: Silvio Cesare - foocodechu.com)
Der Graph zeigt die Verbindungen zwischen Fedora-Paketen. Bild: Silvio Cesare - foocodechu.com

Der australische Informatiker Silvio Cesare hat ein Werkzeug vorgestellt, das automatisch Fehler in eingebundenen Bibliotheken eines Linux-Systems aufspürt, berichtet das SC Magazine(öffnet im neuen Fenster) . Cesare stellte seine Implementierung und theoretischen Überlegungen auf der Sicherheitskonferenz Ruxcon 2011 in Melbourne(öffnet im neuen Fenster) vor und veröffentlichte seine Präsentation(öffnet im neuen Fenster) .

Eingebundene Bibliotheken

In der Erklärung zu seinem Projekt Clonewise(öffnet im neuen Fenster) schreibt Cesare, dass "Entwickler manchmal Code von anderen Projekten einbinden" . Dies führe jedoch dazu, dass zwei Versionen derselben Software existierten und dementsprechend Bugfixes und Sicherheitsupdates in beide eingepflegt werden müssten.

Zwar hätten einige Linux-Distributoren Richtlinien, die eine Codeeinbindung verböten, es gebe aber auch einige Bespiele für solch eine Praxis. Cesare nennt explizit die Zlib-Bibliothek(öffnet im neuen Fenster) , die wegen ihrer Funktionalität und ihrer Lizenz häufig verwendet wird.

Aufspüren von Fehlern

Das manuelle Auffinden solcher eingebundener Bibliotheken ist sehr zeitaufwendig und Cesare zufolge existieren allein in Debian über 420 solcher Bibliotheken. Das von Cesare entwickelte Tool identifiziert gleichen Code anhand des Dateinamens und des Inhalts. Über Hashes, die mit ssdeep(öffnet im neuen Fenster) erzeugt wurden, können gleiche Pakete aufgespürt werden. Die Auswertung möglicher Verbindungen geschieht mit Hilfe der Graphen-Theorie(öffnet im neuen Fenster) .

Der gleichartige Code wird anschließend mit CVEs(öffnet im neuen Fenster) abgeglichen, um Sicherheitsprobleme aufzufinden. Dadurch fand Cesare fünf angreifbare Pakete in Debian und Fedora, die Bzip2(öffnet im neuen Fenster) oder Libtiff(öffnet im neuen Fenster) nutzten. Auch fand Cesare heraus, dass in Firefox eine Version der Libpng-Bibliothek(öffnet im neuen Fenster) eingebunden war, die drei Monate lang einen bekannten Fehler enthielt.

Software noch fehlerbehaftet

Die Forschungsarbeit von Cesare befindet sich noch in einer frühen Phase. So erzeuge die Software zurzeit noch zu 90 Prozent falsche Resultate, schreibt SC-Magazine. Das Aufspüren von Überschneidungen sei so dennoch schneller, als es manuell möglich sei. Das Fedora-Projekt nutzt nun die Ergebnisse von Cesare und pflegt eine Datenbank mit den Codeüberschneidungen, Ähnliches gilt für Debian.

Cesare plant, zukünftig auch eine Binäranalyse für Windows durchführen zu können. Der Quellcode seiner Anwendung zum Finden von eingebundenem Code ist auf Github verfügbar(öffnet im neuen Fenster) .


Relevante Themen