ThinkPad X1 Carbon est devenu un périphérique USB grâce à des fouilles incessantes

Dans ce qui est peut-être l'un des articles d'ingénierie inverse sur ordinateur portable les plus impressionnants de mémoire récente, [Andrey Konovalov] nous apporte une histoire incroyablement détaillée sur la façon dont il a découvert et activé avec succès une clé USB appareil contrôleur dans un ThinkPad X1 Carbon équipé d’un processeur Intel de 6e génération.

Si vous avez toujours voulu jeter un coup d'œil aux sales secrets d'un système basé sur un processeur Intel quelque peu moderne, cet article ne vous épargne aucun détail et couvre des dizaines de couches d'abstraction – depuis les pilotes Linux et la modification de la NVRAM jusqu'à la création de câbles USB personnalisés et La puce BIOS clignote, fouillant profondément dans les registres PCH non documentés pour le dessert.

Tous [Andrey] Ce que je voulais, c'était d'éviter de bricoler un Raspberry Pi supplémentaire. En utilisant un contrôleur de périphérique connecté PCIe, il a trouvé une référence à intel_xhci_usb_sw-role-switch sous Linux sysfs, et a plongé dans un terrier de lapin, où il a découvert que le cœur IP utilisé pour les ports USB de l'ordinateur portable dispose d'un mode « périphérique » qui peut être activé. Une fouille dans les tables ACPI l'a confirmé, mais a également souligné que le périphérique est désactivé dans le BIOS. De plus, il s'est avéré qu'il était enfermé derrière un menu caché. Des expériences de déverrouillage de ce menu ont suivi, notamment lorsqu'il s'agissait de contourner Intel Boot Guard, un mécanisme qui vérifie les signatures d'image du BIOS avant le démarrage.

Une prise SPI [Andrey] j'ai utilisé Adafruit pour faciliter la mise à jour du BIOS afin de déverrouiller le menu caché

[Andrey] nous montre différentes façons dont il a essayé d'activer le contrôleur, juste pour le plaisir, de l'utilisation des exploits BootGuard à la rétro-ingénierie du mappage de variables NVRAM EFI, et même une longue section sur l'exploration directe des registres d'Intel PCH pour essayer d'activer le Périphérique USB depuis l'espace utilisateur, assisté par [Maxim Goryachy] de la renommée d'Intel en matière d'ingénierie inverse. En fin de compte, la méthode de mise à jour des correctifs NVRAM s'est avérée être la méthode la plus viable pour un utilisateur moyen, et le billet de blog contient suffisamment de détails pour tout pirate informatique entreprenant qui souhaiterait que cela fonctionne également pour lui.

En guise de danse de la victoire, nous avons une section sur toutes les choses merveilleuses que vous pouvez faire si votre appareil prend en charge le mode périphérique USB. Il y a l'exemple évident du stockage USB, mais [Alexey] nous montre quelques outils intéressants à retenir : le framework du noyau Linux Raw Gadget pour créer tout type de périphérique USB dont vous pourriez rêver, le fuzzer de pile USB syzkaller et Facedancer, un framework pour l'émulation de périphérique USB.

Si vous pensez que tout cela fait beaucoup, sachez que nous n'avons décrit qu'environ la moitié de tous les trucs sympas que contient le billet de blog – vous devriez aller y jeter un oeil et vous préparer une tasse de thé, parce qu'il y a tellement de trucs sympas. des choses à apprendre.

Véritablement, cet article de blog est un témoignage du dévouement d'un hacker et un brillant exemple de jusqu'où vous pouvez aller si vous êtes prêt à continuer à creuser. Votre ordinateur portable cache-t-il des secrets dont personne ne connaissait l'existence ? N'oubliez pas qu'il n'y a qu'une seule façon de le savoir.

François Zipponi
Je suis François Zipponi, éditorialiste pour le site 10-raisons.fr. J'ai commencé ma carrière de journaliste en 2004, et j'ai travaillé pour plusieurs médias français, dont le Monde et Libération. En 2016, j'ai rejoint 10-raisons.fr, un site innovant proposant des articles sous la forme « 10 raisons de... ». En tant qu'éditorialiste, je me suis engagé à fournir un contenu original et pertinent, abordant des sujets variés tels que la politique, l'économie, les sciences, l'histoire, etc. Je m'efforce de toujours traiter les sujets de façon objective et impartiale. Mes articles sont régulièrement partagés sur les réseaux sociaux et j'interviens dans des conférences et des tables rondes autour des thèmes abordés sur 10-raisons.fr.