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)