Encore un « Epic Fail » de l’Internet des objets, affirme Michael Jordon, de l’entreprise Britannique Contextis. La preuve ? l’installation d’une version du jeux vidéo Doom dans le firmware d’une imprimante Canon Pixma. Ce modèle, vendu aux environs d’une cinquantaine d’euros, est un périphérique largement répandu, destiné au marché grand public. Son principal avantage (sa principale faiblesse aussi) est son accès sans fil, si séduisant pour les « filophobes »… et les hackers.
La faille de sécurité peut, après coup, sembler évidente. Une fois le firmware extrait de la machine, l’équipe de Contextis s’est intéressé aux séquences de caractères redondants et en a extrait un graphe… lequel a montré que la fréquence de certains d’entre eux était fortement élevée. Même un débutant en cryptanalyse (ou un lecteur assidu des œuvres d’Ange Albertini) comprend que cette absence de distribution uniforme est le signe d’une mauvaise maîtrise des procédés de chiffrement. Le « codage » du firmware Canon n’est rien d’autre qu’un simple Xor. C’est là la seule protection, la signature du fichier (au format Srec) n’est même pas contrôlée. Son remplacement par un autre programme, Doom en l’occurrence (mais ce pourrait être un vecteur d’espionnage plus inquisiteur), ne provoque strictement aucune alerte.
En règle générale, les mauvaises pratiques font école au sein d’une équipe de développement. Et il n’est pas rare que les micrologiciels destinés à des machines d’entrée de gamme se retrouvent, en partie, sur des équipements professionnels, protégés par les mêmes mécanismes aussi peu résistants. Seule une bonne campagne de fuzzing sur les firmwares de quelques OEM lèvera ce doute.
Jusqu’à présent, les attaques visant les imprimantes relevaient plus du déni de service et de la tentative de destruction matérielle (dérèglement du cycle de chauffage de certaines laser notamment). Longtemps, donc, le « virus imprimante » a été qu’un mythe, qui a débuté dans les années 80 avec l’apparition d’une légende urbaine, celle du code « caché dans le buffer d’impression ». Désormais, ce n’est plus un simple buffer de 4 ko qui est offert aux attaquants potentiels, mais l’espace d’une mémoire flash conséquente (plusieurs Mo au moins, voir plus encore si l’on compte le tampon d’impression qui gère les files de documents). Une mémoire flash qui contient le firmware de la machine et qui n’est qu’exceptionnellement remis à jour par son propriétaire, qui ne fait jamais l’objet d’alertes tonitruantes dans la presse en général, et qui, accessoirement, dispose d’une liaison Ethernet sans fil ou Bluetooth capable d’émettre discrètement, à qui veut bien l’entendre, le contenu de tout ce qui y est imprimé… même lorsque les cartouches d’encre sont vides.