Dans un ordinateur portable, la webcam utilise souvent une technique simple pour indiquer qu’elle est activée : une LED. Si quelques marques proposent une véritable protection physique (avec un clapet à activer manuellement), dans la majorité des cas, on a donc juste une LED. Et des étudiants viennent de montrer que même si la gestion de la LED est matérielle, il est tout de même possible d’activer la webcam dans certains cas… sans allumer cette LED.
Reprogrammer le firmware
Les chercheurs ont travaillé sur la webcam utilisée dans les appareils Apple entre 2005 et 2008 environ. On retrouve en effet le même modèle dans les iMac G5, plusieurs iMac Intel, les MacBook et les MacBook Pro. Dans tous les cas, c’est le même module de contrôle qui est utilisé, et il est possible de le reprogrammer. Les étudiants ont donc codé un petit programme — qui n’est pas public — capable de reprogrammer le firmware de la webcam au lancement, en désactivant la LED de la webcam. Quand on quitte le programme, le firmware original est remis en place.
Cette attaque permet aussi d’effectuer une attaque depuis une machine virtuelle. En reprogrammant la webcam depuis une machine virtuelle, en envoyant un firmware émulant un clavier (ou une souris), il est en effet possible de passer sur l’hôte. L’idée est simple : quand on reprogramme la webcam, le programme de virtualisation considère (avec raison) qu’il s’agit d’un nouveau périphérique USB et le connecte donc à la machine hôte. Ensuite, la webcam reprogrammée peut envoyer des commandes directement à l’hôte (lancer un programme dans l’exemple).
Les étudiants proposent un petit programme qui empêche la reprogrammation de la webcam par un utilisateur et ne fournissent pas les logiciels utilisés pour passer outre la LED. À noter que s’ils ont utilisé Mac OS X sur d’anciennes machines, beaucoup de modèles de webcam sont vulnérables, la puce de contrôle utilisée étant assez courante.