Pendant quelques mois, Lenovo a fourni à ses clients des ordinateurs dont le BIOS imposait l'installation de logiciels maison, et exposait ses utilisateurs à une importante faille de sécurité. Le constructeur avait exploité à mauvais escient une faculté offerte par Microsoft.

Alors que Lenovo se remet à peine du scandale Superfish, voilà que le constructeur est à nouveau sur la sellette pour avoir imposé un logiciel qui expose ses utilisateurs à de graves failles de sécurité. Mais c'est cette fois-ci pire encore, puisqu'il s'agit d'un logiciel imposé directement par le firmware de la carte-mère, qui se réinstalle tout seul à chaque fois que l'utilisateur formate son disque dur pour réinstaller Windows.

Toute une série d'ordinateur portables et de PC de bureau Lenovo (voir la liste ici) étaient fournis jusqu'à juin dernier avec un BIOS, le Lenovo Service Engine (LSE), qui vérifiait à chaque reboot le contenu du fichier C:Windowssystem32autochk.exe utilisé par Microsoft pour diagnostiquer d'éventuelles corruptions du système au démarrage de Windows. LSE remplace ce fichier par une variante qui vérifie également la présence de deux fichiers exécutables, LenovoUpdate.exe et LenovoCheck.exe, ou les ajoute en cas d'absence.

Ces deux fichiers qui s'exécutent au lancement de Windows bénéficient des droits d'administrateur, et peuvent donc télécharger et installer ce qu'ils veulent sans aucun contrôle. Lenovo télécharge ainsi des drivers, ou installe son logiciel OneKey Optimizer (.pdf) censé optimiser les performances du PC grâce à différents diagnostics et réglages automatisés. Impossible pour le propriétaire d'un tel système d'éviter leur installation, sauf à renoncer à Windows.

WINDOWS PLATFORM BINARY TABLE

Or un chercheur en sécurité informatique, Roel Schouwenberg, a découvert qu'il était possible de provoquer un buffer-overflow dans LSE pour obtenir un accès administrateur au lancement de Windows, et ainsi être capable, par exemple, d'installer un rootkit qui donnera accès à l'ensemble du système à distance. Lenovo a été prévenu en avril de cette faille de sécurité et a décidé en juin de ne plus équiper ses ordinateurs avec un BIOS LSE. Il a par ailleurs publié fin juillet un nouveau firmware (pour portables et pour ordinateurs de bureau) pour que ceux qui avaient déjà acheté l'un des ordinateurs concernés puissent supprimer LSE et ainsi se mettre à l'abri.

Pour imposer ses logiciels, Lenovo exploitait une faculté offerte aux constructeurs d'indiquer lors du boot une zone mémoire physique sur laquelle figurent des binaires à exécuter lors du lancement de Windows. C'est le Windows Platform Binary Table (.docx), conçu par Microsoft pour permettre aux constructeurs d'y mettre les drivers indispensables au bon fonctionnement du PC, ou pour installer des logiciels permettant de détecter la connexion d'un ordinateur volé, ce qu'un voleur ne doit évidemment pas pouvoir désinstaller. Le WPBT n'était absolument pas conçu pour que les industriels imposent leurs logiciels maison à chaque réinstallation ou lancement de Windows, ce que Microsoft a clarifié en modifiant ses lignes de conduite de sécurité.

Lenovo précise que la faille n'a concerné que des ordinateurs siglés Lenovo, et aucun ordinateur de la marque Think autrefois détenue par IBM.

Nouveauté : Découvrez

La meilleure expérience de Numerama, sans publicité,
+ riche, + zen, + exclusive.

Découvrez Numerama+

Abonnez-vous gratuitement à Artificielles, notre newsletter sur l’IA, conçue par des IA, vérifiée par Numerama !