De achilleshiel van uw computer

Computers moeten vaak worden aangesloten op printers, camera's en USB-flashstations en andere hardware, maar de kleine stukjes software die communicatie met deze randapparatuur mogelijk maken, ook wel apparaatstuurprogramma's genoemd, hebben een slechte reputatie. Experts zijn van mening dat defecten aan apparaatstuurprogramma's verantwoordelijk zijn voor ongeveer 85 procent van de crashes op Windows-machines, en slecht geschreven apparaatstuurprogramma's kunnen ook beveiligingslekken veroorzaken op een anderszins beschermde computer. Een deel van het probleem is dat een apparaatstuurprogramma niet gemakkelijk kan worden onderzocht door iemand buiten het bedrijf dat het heeft gemaakt.





Apparaatstuurprogramma's zijn verschrikkelijk, zegt Vitaly Chipounov , een onderzoeker in het Dependable Systems Lab aan de Ecole Polytechnique Federale de Lausanne (EPFL) in Zwitserland. Bij de Jaarlijkse technische conferentie van Usenix vorige week in Boston demonstreerde Chipounov een softwaretool die computers kan helpen beschermen tegen onbetrouwbare stuurprogramma's door problemen te identificeren voordat ze het systeem van een gebruiker bereiken.

De tool van Chipounov kan apparaatstuurprogramma's testen zonder toegang tot de onderliggende code. Het werkt door een stuurprogramma in een virtuele computer te laden en het gedrag ervan te simuleren, waarbij wordt gecontroleerd op problemen zoals plotseling vastlopen of crashen. De tool werkt zonder te communiceren met een bijbehorend echt stuk hardware. Toch kan het, door de manier waarop hardware met de bestuurder interageert, te simuleren, laten zien hoe een bestuurder zal reageren wanneer deze is aangesloten op een apparaat met fouten. Zodra het hulpprogramma een probleem vindt, kan het informatie geven over de oorzaak, wat kan helpen bij het identificeren van een oplossing.

De onderzoekers werkten met zes populaire apparaatstuurprogramma's die voor Windows zijn geschreven, en ze vonden 14 ernstige bugs. Sommige van de geteste stuurprogramma's waren door Microsoft gecertificeerd als compatibel met Windows. De onderzoekers zeggen dat dit aantoont dat hun tool de certificering van apparaatstuurprogramma's kan verbeteren. Hun experimenten brachten een patroon aan het licht in de manier waarop sommige gerelateerde stuurprogramma's faalden, wat suggereert dat de verantwoordelijke hardwareleveranciers mogelijk code van het ene stuurprogramma met fouten naar het andere hebben gekopieerd. Ze zouden in ieder geval code moeten kopiëren en plakken die werkt, grapt Chipounov.



De stabiliteit en beveiliging van apparaatstuurprogramma's is een belangrijk probleem, zegt Vinod Ganapathy , een assistent-professor computerwetenschappen aan de Rutgers University. Op Linux-, Mac- en Windows-computers krijgen apparaatstuurprogramma's doorgaans dezelfde rechten als het besturingssysteem zelf, zegt hij. Veel van deze stuurprogramma's zijn geschreven door externe leveranciers en ondergaan niet hetzelfde testniveau als het besturingssysteem. Sommige apparaatstuurprogramma's die op internet zijn geplaatst, zijn aangepast om schadelijke code te bevatten.

Kwaadaardige apparaatstuurprogramma's kunnen allerlei snode activiteiten uitvoeren, zoals het verbergen van de aanwezigheid van schadelijke programma's en snuffelen in netwerkverkeer, zegt Ganapathy. Goedaardige maar kwetsbare apparaatstuurprogramma's vormen ook vergelijkbare risico's, omdat een aanvaller kwetsbaarheden kan kapen om dezelfde soort kwaadaardige activiteiten uit te voeren.

Andere onderzoekers werken aan verschillende manieren om apparaatstuurprogramma's veiliger te maken. Ganapathie en Michael Swift aan de Universiteit van Wisconsin-Madison hebben bijvoorbeeld manieren ontwikkeld om stuurprogramma's te implementeren, zodat ze worden geïsoleerd van de kern van het besturingssysteem.

De EPFL-onderzoekers willen gebruikers in staat stellen zelf chauffeurs te testen. De huidige versie van hun tool vereist veel technische expertise, dus het is alleen geschikt voor gebruik door hardware- of softwareleveranciers die het zouden kunnen gebruiken om stuurprogramma's te debuggen of te certificeren. Maar de visie van de onderzoekers is dat eindgebruikers kunnen bepalen of ze een driver moeten installeren of niet. Ze zeggen dat de tool kan worden toegevoegd aan een besturingssysteem. Het kan de gebruiker automatisch een knop Nu testen voor nieuwe stuurprogramma's presenteren, zodat ze kunnen controleren op problemen voordat ze zich voordoen.

zich verstoppen