Les coprocesseurs de sécurité embarqués — Intel ME (Management Engine) et AMD PSP (Platform Security Processor) — constituent des systèmes informatiques autonomes intégrés au cœur de chaque processeur moderne. Dotés de leur propre micrologiciel, de leur propre mémoire et de leur propre noyau, ils s'exécutent indépendamment du CPU principal et du système d'exploitation, y compris lorsque la machine est éteinte mais alimentée. Ces sous-systèmes disposent d'un accès complet et permanent à la mémoire RAM, au contrôleur réseau (via AMT pour Intel ME) et aux périphériques, ce qui les place au-dessus de toute protection logicielle, hyperviseur et antivirus compris. Cette position privilégiée en fait une cible stratégique : la problématique Intel ME AMD PSP exploitation firmware concentre aujourd'hui l'attention des chercheurs, car une compromission à ce niveau garantit une persistance invisible, survivant à la réinstallation du système comme au remplacement du disque.

En bref

  • Intel ME est un OS complet (MINIX) avec accès DMA à la RAM et au réseau — actif même machine éteinte
  • AMT (port 16992) fournit un accès distant total au système, indépendant de l'OS — cible de choix
  • AMD PSP (ARM Cortex-A5) gère Secure Boot, fTPM et SEV — accès DMA sans accès réseau direct
  • me_cleaner + HAP bit réduisent la surface d'attaque ME de ~5 MB à ~90 KB de firmware
  • Coreboot + Heads est la solution la plus robuste pour un firmware auditable et ME minimal

En bref

  • Intel ME : architecture MINIX, AMT, accès réseau et mémoire DMA, firmware exploitation
  • AMD PSP : architecture ARM TrustZone, fTPM, Secure Boot et vulnérabilités
  • Exploitation : JTAG access, SPI flash extraction, buffer overflows dans le firmware
  • Vulnérabilités critiques : CVE-2017-5705 (ME RCE), AMD fTPM attacks, SA-00086
  • Mitigations : HAP bit, me_cleaner, coreboot, et audit de firmware
Intel ME (Management Engine) — Coprocesseur autonome intégré dans le chipset Intel (PCH), exécutant un OS basé sur MINIX avec un accès complet à la mémoire RAM, au réseau et aux périphériques. Le ME fonctionne indépendamment du CPU principal et est actif même quand le système est éteint (en standby S5), tant que l'alimentation ATX est connectée.

Architecture Intel ME

Intel ME est un système informatique complet intégré dans le PCH (Platform Controller Hub) :

ComposantDétailImplication sécurité
CPUx86 (Quark) ou ARC (ancien), 32-bitExécute du code arbitraire si compromis
OSMINIX modifié (depuis ME 11+)Stack TCP/IP, filesystem, scheduler
MémoireAccès DMA à toute la RAM du systèmeLecture/écriture de la mémoire du CPU
RéseauAccès direct au NIC (AMT, port 16992)Backdoor réseau indétectable par l'OS
StockageSPI flash (firmware), ME storagePersistance au-delà du reformatage
FonctionsAMT, Boot Guard, PTT (fTPM), ICCChaque fonction étend la surface d'attaque

Intel AMT : Accès Réseau à Distance

Intel AMT (Active Management Technology) est la fonction la plus critique de ME : elle fournit un accès distant complet au système (KVM, redirection de console, power management) via le réseau, indépendamment de l'OS. AMT écoute sur le port 16992 (HTTP) et 16993 (HTTPS) et offre une interface web et SOAP pour le contrôle à distance. Un attaquant compromettant AMT obtient un accès indétectable et persistant au système.

Retour terrain

Dans les projets techniques complexes, j'ai appris à toujours commencer par auditer la documentation existante plutôt que l'infrastructure elle-même. Dans 80 % des cas, le delta entre la documentation et la réalité est la source première de risques. Une infrastructure bien documentée qui ne correspond pas à la réalité est plus dangereuse qu'une infrastructure sans documentation — parce qu'elle induit une fausse confiance.

La vulnérabilité CVE-2017-5689 (INTEL-SA-00075) est emblématique : un bug d'authentification dans AMT permettait le bypass complet de l'authentification en envoyant une réponse d'authentification vide (ou avec un hash tronqué). Tout système avec AMT activé et accessible sur le réseau était compromis — des millions de systèmes d'entreprise affectés.

AMD PSP : Platform Security Processor

Le AMD PSP est l'équivalent AMD de Intel ME : un coprocesseur ARM Cortex-A5 avec TrustZone intégré dans le die du CPU AMD. Le PSP gère le Secure Boot, le fTPM (firmware TPM), la gestion des clés mémoire (SME/SEV), et la validation de l'intégrité du firmware UEFI. Contrairement à Intel ME, le PSP n'a pas d'équivalent AMT (pas d'accès réseau direct), mais il a un accès DMA à la RAM.

Vulnérabilités Critiques Intel ME

  • INTEL-SA-00086 (CVE-2017-5705/5706/5707) : multiples buffer overflows dans le kernel ME permettant l'exécution de code arbitraire sur le coprocesseur ME. Affecte les ME versions 11.0 à 11.7. Exploitation via JTAG ou accès SPI flash.
  • CVE-2018-3655 (SA-00125) : faille dans le démarrage sécurisé de ME permettant l'exécution de firmware non signé sur le ME — persistance totale.
  • AMT silent provisioning : un administrateur réseau peut provisionner AMT sans le consentement de l'utilisateur, créant un accès distant sur des systèmes que l'utilisateur croit sécurisés.

me_cleaner et Mitigation

me_cleaner est un outil open-source qui supprime la majorité du firmware Intel ME de la SPI flash, ne conservant que les modules essentiels au démarrage du système. Sur la plupart des systèmes, ME peut être réduit de ~5 MB à ~90 KB sans affecter le fonctionnement. Le HAP bit (High Assurance Platform) — un bit découvert dans le firmware ME par les chercheurs de Positive Technologies — désactive ME après l'initialisation du hardware. Ce bit était apparemment utilisé par la NSA pour désactiver ME sur ses propres systèmes.

# me_cleaner — réduire le firmware Intel ME
# ATTENTION : opération risquée, peut bricker le système

# 1. Extraire le firmware SPI (via programmer SPI ou flashrom)
flashrom -p internal -r bios_dump.bin

# 2. Appliquer me_cleaner
python3 me_cleaner.py -S -O cleaned.bin bios_dump.bin
# -S : soft disable (HAP bit si supporté)

# 3. Re-flasher (risque de brick)
flashrom -p internal -w cleaned.bin

Coreboot et Firmware Open-Source

Coreboot est un firmware open-source qui remplace le BIOS/UEFI propriétaire. Combiné avec me_cleaner et un payload comme Heads (boot sécurisé vérifié par l'utilisateur), il offre la meilleure protection possible contre les implants firmware. Les laptops System76, Purism Librem et NovaCustom utilisent coreboot avec ME désactivé.

⚠️ Attention — La désactivation d'Intel ME via me_cleaner ou le HAP bit est une opération risquée qui peut bricker le système. De plus, certaines fonctionnalités dépendent de ME (gestion de la puissance, initialisation mémoire). Testez toujours sur du matériel non critique et maintenez un programmeur SPI externe pour la récupération.

À retenir

  • Intel ME est un OS complet (MINIX) avec accès DMA à la RAM et au réseau — actif même machine éteinte
  • AMT (port 16992) fournit un accès distant total au système, indépendant de l'OS — cible de choix
  • AMD PSP (ARM Cortex-A5) gère Secure Boot, fTPM et SEV — accès DMA sans accès réseau direct
  • me_cleaner + HAP bit réduisent la surface d'attaque ME de ~5 MB à ~90 KB de firmware
  • Coreboot + Heads est la solution la plus robuste pour un firmware auditable et ME minimal

🔗 Références externes