Informatiker an der École Polytechnique Fédérale de Lausanne (EPFL) haben eine Software entwickelt, die Treiber für Soundkarten, Laufwerke und andere Hardware am Computer auf Probleme überprüft. "Man sollte diesen Gerätetreibern nicht einfach trauen. Sie stecken voller Fehler", meint George Candea, Leiter des Dependable Systems Lab an der EPFL. Das wirkt sich auf die Systemstabilität aus. Einer Experten-Schätzung zufolge sind Fehler in Gerätetreibern für 85 Prozent aller Windows-Abstürze verantwortlich.
Dafür verspricht das Tool "DDT" Abhilfe. "Im Gegensatz zu traditionellen Testmethoden erfordert DDT keinen Zugriff auf den Quellcode", betont Candea. Dennoch hat die Software in einem Test mit sechs Microsoft-zertifizierten Treibern 14 schwerwiegende neue Bugs zu Tage gefördert, berichten die Forscher in einem Fachbeitrag zur diesjährigen USENIX Annual Technical Conference .
Tests ohne Quellcode
Gerade bei Windows sind viele Treiber nicht quelloffen, sodass der Code selbst gar nicht zur Verfügung stünde und somit auch nicht analysiert werden kann. Daher setzten die EPFL-Forscher darauf, mit DDT das Verhalten von Gerätetreibern im Betrieb mit einer "Symbolic Execution" genannten Methode möglichst genau zu prüfen. Die meisten Tests erfolgen dabei in einer virtuellen Maschine. Mit dem Tool lassen sich dabei diverse Probleme von Speicherlecks über Schutzverletzungen bis hin zu Endlosschleifen aufspüren.
Um das Tool zu testen, haben die Forscher damit vier Netzwerk- und zwei Soundkartentreiber untersucht, die allesamt Microsoft-zertifiziert sind. In jedem einzelnen hat DDT zumindest einen neuen Fehler entdeckt und das in allen Fällen innerhalb von Minuten. Dafür reicht ein normaler PC. "Wir versuchen, Konsumenten die Möglichkeit zu geben, Treiber zu testen", betont Candea. Denn das würde Kunden die Möglichkeit bieten, sich bei schlechten Produkten für andere Treiber und auch Hardware zu entscheiden. "Damit steigt der Druck auf Hersteller, fehlerfreie Gerätetreiber zu liefern", meint der Informatiker.
Stabilitäts-Spezialisten
Candeas Team hat mit Dimmunix auch ein Tool entwickelt, das Abstürze bei laufenden Programmen verhindert. "Prinzipiell wäre es wirklich interessant, beide Ansätze zu kombinieren", meint Candea auf Nachfrage von pressetext. Denn der Anwender hat bei einmal gekaufter Hardware oft keine andere Wahl, als den zugehörigen Treiber zu nutzen. Leider ist die Kombination in der Praxis nicht möglich. "Gerätetreiber sind im System etwas so Grundlegendes, dass Dimmunix damit nicht wirklich interagieren kann", erklärt der Informatikprofessor. (pte/bw)