L'exploit BadUSB est mortel, mais peu peuvent être touchés

Il y a neuf ans, j'ai créé ce que je crois être le premier ver USB au monde. En jouant avec une clé USB et en plaçant un fichier caché dessus, j'ai pu faire en sorte que n'importe quel ordinateur sur lequel la clé USB «infectée» était branchée propage automatiquement le fichier sur l'ordinateur hôte, puis à nouveau lorsqu'un nouvel USB l'appareil a été branché.

Cela a fonctionné dans les appareils photo numériques et les téléphones portables. J'ai pu obtenir n'importe quel périphérique USB - en fait, n'importe quel périphérique multimédia amovible - pour exécuter mon fichier de ver. J'ai eu beaucoup de plaisir à jouer avec.

J'ai signalé la constatation à mon employeur et aux vendeurs concernés; ils ont à leur tour demandé mon silence pendant un laps de temps significatif, afin de pouvoir fermer le trou. J'avais prévu de présenter ma découverte lors d'une grande conférence sur la sécurité nationale et j'ai dû choisir entre la crédibilité d'un pirate informatique et la sécurité publique. Je suis allé avec ce dernier.

À vrai dire, je ne voulais pas énerver ce vendeur parce que c'était un possible futur client ou employeur. Le trou était colmaté et le public n'en était pas plus sage. Plusieurs années plus tard, j'ai été surpris de voir une méthode très similaire utilisée dans le programme malveillant Stuxnet.

Mais mon expérience m'a fait ne plus jamais faire confiance à un appareil branché. Depuis lors, je n'ai jamais branché un périphérique USB ou une carte multimédia amovible dans un ordinateur que je possédais qui ne provenait pas et restait sous mon contrôle. Parfois, la paranoïa est appropriée.

BadUSB est une menace sérieuse maintenant dans la nature

Cela m'amène à aujourd'hui. Il y a maintenant publié sur GitHub le code source de BadUSB (à ne pas confondre avec un faux programme malveillant appelé BadBIOS), ce qui fait que mon expérience d'il y a neuf ans ressemble à un jeu d'enfant. BadUSB est une menace réelle qui a de graves conséquences pour les périphériques d'entrée matériels informatiques.

BadUSB écrit - ou écrase - le code du micrologiciel d'un périphérique USB pour effectuer des actions malveillantes. Annoncé pour la première fois en juillet 2014, BadUSB a été découvert par deux chercheurs en informatique des Security Research Labs de Berlin, qui ont ensuite fait une démonstration de leur découverte lors de la Black Hat Conference.

L'attaque est redoutée car toutes les méthodes traditionnelles de vérification de la malveillance sur un périphérique de stockage USB ne fonctionnent pas. Le code malveillant est implanté dans le micrologiciel de l'USB, qui est exécuté lorsque l'appareil est connecté à un hôte. L'hôte ne peut pas détecter le code du micrologiciel, mais le code du micrologiciel peut interagir avec et modifier le logiciel sur l'ordinateur hôte.

Le code du micrologiciel malveillant pourrait planter d'autres logiciels malveillants, voler des informations, détourner le trafic Internet, etc., tout en contournant les analyses antivirus. L'attaque a été considérée comme si viable et dangereuse que les chercheurs n'ont fait qu'une démonstration de l'exploit. Avec beaucoup de prudence, ils n'ont pas publié le code de preuve de concept ou les appareils infectés. Mais deux autres chercheurs ont procédé à une ingénierie inverse de l'exploit, ont créé un code de démonstration et l'ont publié dans le monde entier sur GitHub.

Ciblez le drame qui est déjà apparu sur des sites d'actualités et de technologies grand public comme CNN, le Atlanta Journal-Constitution, le Register et PC Magazine, en vous exclamant: «Le monde va être plein de périphériques USB malveillants!

Pourquoi l'exploit BadUSB va bien au-delà de l'USB

Premièrement, il est important de reconnaître que la menace est réelle. Le micrologiciel USB peut être modifié pour faire ce que prétendent les chercheurs. Les pirates du monde entier téléchargent probablement le code de preuve de concept, fabriquent des périphériques USB malveillants et utilisent le code de preuve de concept comme point de départ pour des actes bien plus malveillants que l'exploit de test des chercheurs.

Deuxièmement, le problème ne se limite pas aux périphériques USB. En fait, les périphériques USB sont la pointe de l'iceberg. Tout périphérique matériel branché sur votre ordinateur avec un composant du micrologiciel peut probablement être rendu malveillant. Je parle de périphériques FireWire, de périphériques SCSI, de disques durs, de périphériques DMA, etc.

Pour que ces appareils fonctionnent, leur micrologiciel doit être inséré dans la mémoire de l'appareil hôte où il est ensuite exécuté - afin que les logiciels malveillants puissent facilement accompagner ce trajet. Il y a peut-être des microprogrammes qui ne peuvent pas être exploités, mais je ne sais pas pourquoi.

Le micrologiciel n'est en soi rien de plus que des instructions logicielles stockées sur du silicium. À son niveau de base, ce n'est rien d'autre que de la programmation logicielle. Et le micrologiciel est nécessaire pour permettre au périphérique matériel de communiquer avec le périphérique informatique hôte. La spécification API de l'appareil indique aux programmeurs de l'appareil comment écrire du code qui fait fonctionner l'appareil correctement, mais ces spécifications et instructions ne sont jamais assemblées avec la sécurité à l'esprit. Non, ils ont été écrits pour que les éléments se parlent (un peu comme Internet).

Il ne faut pas beaucoup d'instructions de programmation pour activer une activité malveillante. Vous pouvez formater la plupart des périphériques de stockage ou «brique» un ordinateur avec une poignée d'instructions. Le plus petit virus informatique jamais écrit ne faisait que 35 octets. La charge utile dans l'exemple de preuve de concept de GitHub n'est que de 14 Ko, et elle comprend de nombreuses vérifications d'erreurs et un codage finesse. Croyez-moi, 14K est minuscule dans le monde actuel des logiciels malveillants. Il est facile d'intégrer et de masquer des logiciels malveillants dans n'importe quel contrôleur de micrologiciel.

En fait, il y a de très bonnes chances que les pirates et les nations connaissent et utilisent depuis longtemps ces portes dérobées de micrologiciels. Les observateurs de la NSA ont longuement spéculé sur de tels dispositifs, et ces soupçons ont été confirmés par des documents récemment publiés par la NSA.

La vérité effrayante est que les pirates informatiques ont piraté des appareils de micrologiciel et les ont forcés à des actions non autorisées aussi longtemps que le micrologiciel existe.

BadUSB est la plus grande menace que vous puissiez être enlevez votre liste de panique

La réalité est que vous auriez dû être au moins nerveux à propos de tout périphérique micrologiciel branché sur votre ordinateur - USB ou autre - depuis longtemps. Je suis comme ça depuis près d'une décennie.

Votre seule défense est que vous branchez les micrologiciels de fournisseurs en qui vous avez confiance et que vous les gardez sous votre contrôle. Mais comment savez-vous que les appareils que vous avez branchés n'ont pas été compromis en masse ou n'ont pas été falsifiés entre le fournisseur et vos ordinateurs? Les fuites d'Edward Snowden suggèrent que la NSA a intercepté des ordinateurs en transit pour installer des appareils d'écoute. D'autres espions et hackers ont sûrement essayé les mêmes tactiques pour infecter des composants le long de la chaîne d'approvisionnement.

Pourtant, vous pouvez vous détendre.

Du matériel malveillant est possible et peut être utilisé dans certains scénarios limités. Mais il est peu probable que ce soit répandu. Le piratage matériel n'est pas facile. Cela demande beaucoup de ressources. Différents jeux d'instructions sont utilisés pour différents jeux de puces. Ensuite, il y a le problème embêtant de faire en sorte que les victimes visées acceptent les appareils malveillants et les insèrent dans leurs ordinateurs. Pour les cibles de très grande valeur, de telles attaques de type «Mission Impossible» sont plausibles, mais pas tellement pour le Joe moyen.

Les pirates informatiques d'aujourd'hui (y compris les agences d'espionnage aux États-Unis, au Royaume-Uni, en Israël, en Chine, en Russie, en France, en Allemagne, etc.) ont beaucoup plus de succès en utilisant les méthodes traditionnelles d'infection logicielle. Par exemple, en tant que pirate informatique, vous pouvez créer et utiliser un outil d'attaque hyperviseur Blue Pill ultra-sophistiqué et supersneaky ou opter pour un programme de Troie logiciel courant qui fonctionne bien depuis des décennies pour pirater un nombre beaucoup plus grand de personnes.

Mais supposons que les micrologiciels malveillants ou les périphériques USB commencent à apparaître largement? Vous pouvez parier que les fournisseurs répondront et résoudront le problème. BadUSB n'a pas de défense aujourd'hui, mais il pourrait être facilement défendu à l'avenir. Après tout, il s'agit simplement d'un logiciel (stocké dans le micrologiciel), et le logiciel peut le vaincre. Les organismes de normalisation USB mettront probablement à jour la spécification pour empêcher de telles attaques, les fournisseurs de microcontrôleurs réduiraient le risque de malveillance à partir du micrologiciel et les fournisseurs de systèmes d'exploitation réagiraient probablement encore plus tôt.

Par exemple, certains fournisseurs de systèmes d'exploitation empêchent désormais les périphériques DMA d'accéder à la mémoire avant qu'un ordinateur ne démarre complètement ou avant qu'un utilisateur ne se connecte, uniquement pour empêcher les attaques découvertes provenant de périphériques DMA branchés. Windows 8.1, OS X (via les mots de passe Open Firmware) et Linux ont des défenses contre les attaques DMA, bien qu'ils exigent généralement que les utilisateurs activent ces défenses. Les mêmes types de défenses seront mis en œuvre si BadUSB se généralisait.

Ne craignez pas BadUSB, même si un ami hacker décide de vous jouer un tour en utilisant sa clé USB malicieusement encodée. Faites comme moi - n'utilisez pas de périphériques USB qui n'ont pas été sous votre contrôle à tout moment.

N'oubliez pas: si vous craignez d'être piraté, soyez beaucoup plus préoccupé par ce qui s'exécute dans votre navigateur que par ce qui s'exécute à partir de votre firmware.