211service.com
Le talon d'Achille de votre ordinateur
Les ordinateurs doivent souvent être connectés à des imprimantes, des appareils photo, des clés USB et d'autres matériels, mais les petits logiciels qui permettent les communications avec ces périphériques, appelés pilotes de périphérique, ont mauvaise réputation. Les experts pensent que les défaillances des pilotes de périphériques sont responsables d'environ 85 % des plantages sur les machines Windows, et que des pilotes de périphériques mal écrits peuvent également introduire des failles de sécurité sur un ordinateur autrement protégé. Une partie du problème est qu'un pilote de périphérique ne peut pas être facilement examiné par une personne extérieure à l'entreprise qui l'a créé.
Les pilotes de périphériques sont terribles, dit Vitaly Chipounov , chercheur au Dependable Systems Lab de l'Ecole Polytechnique Fédérale de Lausanne (EPFL) en Suisse. Au Conférence technique annuelle Usenix à Boston la semaine dernière, Chipounov a présenté un outil logiciel qui pourrait aider à protéger les ordinateurs contre les pilotes douteux en identifiant les problèmes avant qu'ils n'atteignent le système d'un utilisateur.
L'outil de Chipounov peut tester les pilotes de périphériques sans avoir besoin d'accéder au code sous-jacent. Il fonctionne en chargeant un pilote dans un ordinateur virtuel et en simulant son comportement, en recherchant des problèmes tels que des blocages ou des plantages soudains. L'outil fonctionne sans communiquer avec un élément matériel réel correspondant. Même ainsi, en simulant la façon dont le matériel interagit avec le pilote, il peut montrer comment un pilote réagira lorsqu'il sera connecté à un équipement défectueux. Une fois que l'outil détecte un problème, il peut fournir des informations sur la cause, ce qui peut aider à identifier une solution.
Les chercheurs ont travaillé avec six pilotes de périphériques populaires écrits pour Windows, et ils ont trouvé 14 bogues sérieux. Certains des pilotes testés avaient été certifiés compatibles avec Windows par Microsoft. Les chercheurs disent que cela montre que leur outil pourrait améliorer la certification des pilotes de périphériques. Leurs expériences ont révélé un modèle dans la façon dont certains pilotes associés ont échoué, ce qui suggère que les fournisseurs de matériel responsables peuvent avoir copié le code d'un pilote de périphérique bogué à un autre. Au moins, ils devraient copier et coller du code qui fonctionne, plaisante Chipounov.
La stabilité et la sécurité des pilotes de périphérique est un problème important, dit Vinod Ganapathie , professeur adjoint d'informatique à l'Université Rutgers. Sur les ordinateurs Linux, Mac et Windows, les pilotes de périphériques bénéficient généralement des mêmes privilèges que le système d'exploitation lui-même, dit-il. Beaucoup de ces pilotes sont écrits par des fournisseurs tiers et ne subissent pas le même niveau de test que le système d'exploitation. Certains pilotes de périphériques publiés sur le Web sont modifiés pour contenir du code malveillant.
Les pilotes de périphériques malveillants peuvent effectuer diverses activités néfastes, telles que masquer la présence de programmes malveillants et surveiller le trafic réseau, explique Ganapathy. Les pilotes de périphériques bénins mais vulnérables présentent également des risques similaires, car un attaquant peut détourner des vulnérabilités pour effectuer les mêmes types d'activités malveillantes.
D'autres chercheurs travaillent sur différentes manières de rendre les pilotes de périphériques plus sûrs. Ganapathie et Michael Swift à l'Université du Wisconsin-Madison, par exemple, ont développé des moyens d'implémenter des pilotes afin qu'ils soient isolés du cœur du système d'exploitation.
Les chercheurs de l'EPFL veulent permettre aux utilisateurs de tester eux-mêmes les conducteurs. La version actuelle de leur outil nécessite beaucoup d'expertise technique, elle ne convient donc qu'aux fournisseurs de matériel ou de logiciels qui pourraient l'utiliser pour déboguer ou certifier des pilotes. Mais la vision des chercheurs est que les utilisateurs finaux puissent déterminer s'ils doivent installer un pilote ou non. Ils disent que l'outil pourrait être ajouté à un système d'exploitation. Il pourrait automatiquement présenter à l'utilisateur un bouton Tester maintenant pour les nouveaux pilotes, leur permettant de vérifier les problèmes avant qu'ils ne surviennent.