IronHide: Plate-forme d'attaques par entrées-sortiesFernand Lone Sang,Vincent Nicomette,Yves Deswarte

Les attaquants continuent à faire preuve d'ingéniosité pour contourner les nombreux mécanismes de protection mis en oeuvre dans les systèmes informatiques. Aujourd'hui, les scénarios d'attaques qui ciblent les composants logiciels ne reposent plus exclusivement sur l'utilisation d'autres composants logiciels, et peuvent impliquer des composants matériels. Ainsi, nous avons pu constater, ces dix dernières années, des attaques utilisant des contrôleurs d'entrées-sorties (ex. un contrôleur Ethernet, un contrôleur de clavier) ou des périphériques (ex. un iPod FireWire, une souris USB), à des fins, par exemple, d'escalade de privilèges. Malheureusement, cette classe d'attaques hybrides reste encore méconnue à ce jour. Du fait de leur caractère récent, nous n'avons qu'une vision limitée des actions malveillantes qu'un attaquant peut effectuer s'il a un contrôle sur un composant matériel. Dans l'optique d'élargir cette vision, et de proposer une classification de ces attaques, nous avons mis au point un contrôleur d'entrées-sorties capable de générer des requêtes quelconques (valides mais surtout invalides) sur les bus d'entrées-sorties. Cet article présente ses caractéristiques principales et détaille quelques expérimentations qu'il est difficile, voire impossible, d'effectuer avec des contrôleurs d'entrées-sorties sur étagère, et que nous avons pu mener avec succès avec notre contrôleur. Finalement, nous discutons d'autres cas d'utilisation que nous avons envisagés pour ce contrôleur, à la fois d'un point de vue offensif et d'un point de vue défensif.