Lenovo : scandale autour d'un outil installant automatiquement pilotes et logiciels

Avec, évidemment, une faille de sécurité 127
En bref
image dediée
Applications
Vincent Hermann

Lenovo est à nouveau pris dans une tourmente, à cause d’un choix fait sur une partie de ses machines. Le constructeur s’est servi d’une fonctionnalité présente dans Windows pour provoquer la réinstallation automatique de ses outils sur un système vierge, via un code dans le firmware de la machine, et sans que l’utilisateur ne puisse y faire quoi que ce soit.

À peine remis de SuperFish...

L’année 2015 est décidément compliquée pour Lenovo. Le début de l’année a déjà été marqué par le scandale autour de SuperFish, un logiciel « complémentaire » livré avec les ordinateurs portables grand public du constructeur et qui n’avait finalement pour autre ambition que de fournir des contenus publicitaires injectés directement dans les pages web. Le gros problème venait de l’utilisation d’un certificat unique pour toutes les machines, qui permettait à SuperFish de s’introduire dans les flux sécurisés.

Lenovo avait fait amende honorable et réagi prestement. Des correctifs avaient rapidement été distribués, SuperFish supprimé de toutes les nouvelles machines vendues, et le constructeur s’était en particulier engagé à fournir des ordinateurs aussi propres que possible, avec une liste restreinte de logiciels. Ces derniers, que beaucoup appellent des « bloatwares », sont la plaie de bon nombre d’utilisateurs, chez qui le premier geste après l’achat d’une nouvelle machine est de les désinstaller.

... qu'un nouveau scandale débarque

À peine les cendres de SuperFish retombées que Lenovo doit faire face à un autre scandale. Sur certains ordinateurs portables, le fait d’effacer les outils du constructeur depuis Windows ou même de réinstaller complètement le système se solde par leur réinstallation automatique. Comment des logiciels peuvent-ils ainsi se remettre en place sans que l’utilisateur ne valide ou choisisse quoi que ce soit ?

Le constructeur place en fait un composant nommé « Lenovo Service Engine » directement dans le firmware de la carte mère. Le LSE est exécuté avant le chargement de Windows et a donc préséance. Il vérifie que le fichier « autochk.exe » dans le dossier SYSTEM32 de Windows est bien celui de Lenovo, et le remplace si ce n’est pas le cas. Cet exécutable sert normalement à vérifier l’intégrité de l’espace de stockage, mais la version de Lenovo va beaucoup plus loin.

Deux exécutables disposant de droits administrateurs

Elle commence par vérifier la présence de deux autres exécutables, « LenovoUpdate.exe » et « LenovoCheck.exe ». S’ils ne sont pas présents, ils sont copiés dans le dossier SYSTEM32 depuis le firmware. Ce qui signifie que les versions n’évoluent que via des mises à jour de ce dernier (certains de nos lecteurs voient déjà se profiler le souci principal). Ces deux fichiers s’exécutent avec des droits administrateurs et une fois Windows chargé, se connectent à Internet pour récupérer les pilotes, les utilitaires, un logiciel d’optimisation et tout ce que Lenovo juge bon que l’utilisateur ait à sa disposition.

Lenovo n’a en fait pas inventé cette méthode. Le constructeur utilise la Windows Platform Binary Table, créée spécifiquement pour permettre aux OEM d’installer automatiquement des pilotes et utilitaires depuis le firmware. D’après la documentation technique de la WPBT, Windows en lit les informations pour savoir où chercher le contenu à installer. Les exécutables doivent être natifs et se lancer en espace utilisateur, et Microsoft recommande qu’ils soient les plus sécurisés possibles.

L'inévitable faille de sécurité

Et c’est bien là que le bât blesse : une faille a bien été trouvée dans le LSE. Elle provient d’un dépassement de mémoire tampon et peut permettre à un autre exécutable de gagner des droits administrateurs. En définitive, l’utilisateur se retrouve en danger de voir du code malveillant s’exécuter sans qu’il ne puisse y faire quoi que ce soit, puisque l’ensemble tire parti d’un mécanisme sur lequel il n’est pas censé avoir le pouvoir.

Lenovo a été averti de ce problème en avril, mais il a fallu attendre juin pour qu’il laisse tomber le LSE et le supprime de tous les nouveaux portables commercialisés. Un peu plus tard, on a appris que certains ordinateurs fixes possédaient également le composant, mais seuls ceux commercialisés avec Windows 8/8.1 entre le 23 octobre 2014 et le 10 avril dernier sont touchés, tandis que les portables peuvent être sous Windows 7, 8/8.1 ou 10.

Lenovo n'a fait qu'exploiter une fonctionnalité de Windows

Le 31 juillet, Lenovo a fini également par mettre à disposition un outil supprimant toute trace du LSE sur les machines concernées. On peut le récupérer ici pour les portables et là pour les fixes. Mardi, le constructeur a communiqué officiellement sur le sujet, publiant au passage la liste complète des machines concernées. Comme durant l’affaire SuperFish, on remarque qu’aucun modèle estampillé Think n’est touché, laissant encore une fois le monde professionnel épargné et le grand public considéré comme trop ignare pour trouver à y redire.

Mais si Lenovo a choisi de court-circuiter l’utilisateur, il n’a fait qu’exploiter une fonctionnalité qui a bel et bien été prévue par Microsoft. Ce type de fonctionnement renvoie vers la problématique beaucoup plus générale de la maitrise qu’a le client de sa propre machine, sans parler du risque inhérent que de tels mécanismes représentent pour la sécurité. Le géant du logiciel ne peut pas se contenter d’appeler les OEM à fournir des outils « les plus sécurisés possibles » : si une fonctionnalité de ce genre doit perdurer, les règles doivent en être drastiques. Dans un monde idéal, elle ne devrait même pas exister.


chargement
Chargement des commentaires...