Les chercheurs de chez Eclypsium viennent de montrer un type d'attaque assez inattendu à la conférence DEF CON 33 : ils ont transformé des webcams Lenovo en accessoires BadUSB. C'est un nom assez générique pour les attaques qui permettent à un accessoire USB de se faire passer pour un autre. L'exemple type est une clé USB tout à fait classique qui cache en fait un système qui va s'identifier comme un clavier et effectuer des actions prédéfinies, potentiellement malveillantes.

Le rapport avec les webcams de Lenovo, comme la 510 et la Performance ? Les deux caméras — comme probablement d'autres — sont des ordinateurs sous Linux. Elles intègrent un système sur puce ARM de chez SigmaStar, qui intègre deux cœurs Cortex A7, de la mémoire vive, un peu de stockage, etc. Le système GNU/Linux qui anime les webcams emploie une technologie appelée Linux USB Gadget. Elle permet à un système d'être vu comme un périphérique USB, tel qu'un clavier, une souris… ou une webcam.

L'attaque BadCam est assez simple sur le papier, à cause d'un problème qui a été corrigé par Lenovo (grâce aux chercheurs) : le système d'exploitation de la webcam et son mécanisme de mise à jour du firmware ne vérifiaient pas la validité du firmware. Il était donc possible (avant la version 4.8.0) d'installer une version modifiée du système d'exploitation, qui permettait de cacher un logiciel malveillant. La caméra semble alors fonctionner comme une webcam… mais peut interagir avec le système en profitant des fonctions Linux USB Gadget. Elle peut par exemple envoyer des commandes comme s'il s'agissait d'un clavier ou d'une souris, et donc prendre le contrôle d'un ordinateur en profitant de failles ou en créant des mouvements précis. Il est aussi possible d'émuler une liaison réseau, par exemple, pour que le système GNU/Linux intégré communique avec son hôte, en secret.
La solution pour contrer l'attaque est aussi simple que le problème de départ : Lenovo a développé un système qui valide le firmware avant de l'installer dans la mémoire flash de la caméra. Mais pour deux caméras avec un système corrigé, il y en a probablement de nombreuses autres vulnérables à ce type d'attaque.