Les attaques DMA (Direct Memory Access) exploitent les interfaces matérielles à haut débit — Thunderbolt, PCIe, FireWire et USB4 — pour lire et écrire directement dans la mémoire physique d'un système sans passer par le processeur ni le système d'exploitation. Ces attaques sont dévastatrices car elles contournent l'ensemble des protections logicielles : chiffrement de disque, authentification, EDR, et même le Secure Boot. Un attaquant avec un accès physique de quelques secondes peut extraire les clés de chiffrement, injecter du code en mémoire kernel, ou contourner l'écran de verrouillage. Ce guide technique détaille l'ensemble des vecteurs d'attaque DMA, les outils d'exploitation (PCILeech, Inception), les mécanismes de protection (IOMMU/VT-d, Thunderbolt Security Levels, Kernel DMA Protection) et les méthodologies de test pour les audits de sécurité matérielle.
En bref
- Vecteurs DMA : Thunderbolt 3/4, PCIe, FireWire IEEE 1394, USB4 et M.2/NVMe
- Outils : PCILeech, Inception, FPGA-based DMA platforms (Screamer, Squirrel)
- Attaques : extraction de clés BitLocker/FileVault, bypass écran de verrouillage, injection kernel
- Mitigations : IOMMU/VT-d, Thunderbolt Security Levels, Kernel DMA Protection, Secure Boot
- Méthodologie de test physique pour les audits de sécurité matérielle
Principes du DMA et Vecteurs d'Attaque
Le DMA est un mécanisme fondamental de l'architecture PC : les périphériques (carte réseau, carte graphique, contrôleur de stockage) ont besoin de transférer de grandes quantités de données vers et depuis la RAM sans solliciter le CPU à chaque octet. Le contrôleur DMA permet ces transferts directs entre le périphérique et la mémoire physique. Le problème de sécurité est évident : un périphérique malveillant peut lire ou écrire n'importe quelle adresse de la mémoire physique, accédant aux données de tous les processus, du kernel et des structures de sécurité.
| Interface | Débit | Accès DMA | Risque |
|---|---|---|---|
| Thunderbolt 3/4 | 40 Gbps | Oui (PCIe tunneling) | Critique |
| USB4 | 40-80 Gbps | Oui (PCIe tunneling) | Critique |
| FireWire (IEEE 1394) | 800 Mbps | Oui (natif) | Critique |
| ExpressCard | 5 Gbps (PCIe x1) | Oui (PCIe direct) | Critique |
| M.2/NVMe | 64 Gbps (PCIe 5.0 x4) | Oui (PCIe direct) | Nécessite ouverture |
| USB 3.x standard | 20 Gbps | Non (sauf USB4) | Faible |
PCILeech : L'Outil de Référence
PCILeech est l'outil de référence pour l'exploitation DMA. Il supporte de multiples plateformes matérielles (FPGA, Thunderbolt, USB3380) et offre des fonctionnalités puissantes :
# PCILeech — Exemples d'utilisation
# 1. Dump de la mémoire physique complète
pcileech dump -out memory.raw -min 0 -max 0x100000000
# 2. Recherche de patterns en mémoire (clés de chiffrement)
pcileech search -s "PRIVATE KEY" -min 0 -max 0x100000000
# 3. Injection de shellcode en mémoire kernel
pcileech kmdload -kmd LINUX_X64
# 4. Bypass de l'écran de verrouillage Windows
pcileech patch -sig wx64_intelptt_unlock
# 5. Extraction de credentials (LSASS)
pcileech lsass -out creds.txt
Plateformes FPGA pour Attaques DMA
Les plateformes FPGA sont le standard pour les attaques DMA professionnelles. Elles émulent un périphérique PCIe légitime (carte réseau, contrôleur USB) et interceptent/injectent les transactions DMA :
- Screamer (PCIe) : carte PCIe basée sur Xilinx Artix-7. Se connecte via le slot PCIe x1/x4 et émule n'importe quel device ID. Compatible PCILeech avec des débits de lecture de 2+ GB/s.
- Squirrel (M.2) : facteur de forme M.2 — se branche dans le slot M.2 d'un laptop. Discret et efficace pour les audits physiques.
- USB3380-based : carte USB-to-PCIe bridge. Moins performante mais bon marché (~50€) et facilement disponible.
- LambdaConcept PCIe Screamer : plateforme open-source avec firmware PCILeech. Inclut un sniffer PCIe pour l'analyse passive du trafic.
Extraction de Clés BitLocker via DMA
L'une des attaques DMA les plus impactantes cible BitLocker (chiffrement de disque Windows). Quand BitLocker utilise le TPM seul (sans PIN de pre-boot), la clé de chiffrement (FVEK — Full Volume Encryption Key) est déchiffrée au boot et stockée en mémoire RAM. Un attaquant DMA peut :
- Connecter un device DMA au système allumé (ou en veille S3)
- Scanner la mémoire physique à la recherche du FVEK pattern
- Extraire la clé — le disque peut être déchiffré hors-ligne
Attaques FireWire Historiques
FireWire (IEEE 1394) est l'ancêtre des attaques DMA — le protocole accorde par conception un accès DMA complet à tout périphérique connecté, sans aucune authentification. L'outil Inception automatise les attaques FireWire :
# Inception — bypass de l'écran de verrouillage via FireWire
inception --target win10 # Patch la mémoire pour bypass le login
inception --target osx # Même chose sur macOS
inception --target linux # Et Linux
# Inception modifie la routine d'authentification en mémoire
# pour qu'elle accepte n'importe quel mot de passe
IOMMU/VT-d : La Mitigation Principale
L'IOMMU crée des tables de traduction d'adresses pour les périphériques DMA, similaires aux tables de pages du MMU pour les processus. Chaque périphérique ne peut accéder qu'aux régions de mémoire physique qui lui sont explicitement assignées. Intel VT-d et AMD AMD-Vi implémentent l'IOMMU au niveau matériel.
- Thunderbolt Security Levels : None (SL0, DMA libre), User (SL1, confirmation), Secure (SL2, confirmation + UUID), USB-only (SL3, pas de PCIe tunneling)
- Kernel DMA Protection (Windows 10+) : active l'IOMMU avant le chargement des drivers Thunderbolt, bloquant le DMA pré-boot
- DMAR ACPI table : décrit les mappings IOMMU au BIOS/UEFI. Certains BIOS ne configurent pas correctement l'IOMMU, laissant des fenêtres d'attaque
dmesg | grep -i iommu sur Linux, ou msinfo32 → Kernel DMA Protection sur Windows. Testez avec un device PCILeech USB3380 (~50€) avant d'investir dans une plateforme FPGA.À retenir
- Les attaques DMA permettent la lecture/écriture de TOUTE la mémoire physique via Thunderbolt, PCIe ou FireWire
- PCILeech + FPGA (Screamer/Squirrel) est le standard pour les audits DMA professionnels
- BitLocker sans PIN de pre-boot est vulnérable — la FVEK est en RAM et extractible par DMA
- L'IOMMU (VT-d/AMD-Vi) est la mitigation principale mais n'est pas toujours activé par défaut
- Thunderbolt 4 impose Security Level 2 minimum mais des contournements via ATS existent
FAQ — Questions Fréquentes
Les MacBooks sont-ils vulnérables aux attaques DMA ?
Les MacBooks avec Apple Silicon (M1+) ne sont pas vulnérables aux attaques DMA classiques car Apple implémente un IOMMU strict (DART — Device Address Resolution Table) qui isole chaque périphérique. Les MacBooks Intel avec Thunderbolt 3 étaient vulnérables avant macOS Catalina 10.15.4 qui a activé l'IOMMU par défaut. Les MacBooks avec puce T2 ajoutent une couche de protection supplémentaire.
Comment se protéger contre les attaques DMA ?
Activez l'IOMMU dans le BIOS (VT-d/AMD-Vi), configurez Thunderbolt en Security Level 2 ou 3, utilisez un PIN de pre-boot avec BitLocker (pas TPM seul), désactivez FireWire si non utilisé, et activez Kernel DMA Protection sur Windows 10+. Pour les environnements les plus sensibles, désactivez physiquement les ports Thunderbolt ou utilisez des bloqueurs de port physiques.
PCILeech fonctionne-t-il à distance ?
Non, PCILeech nécessite un accès physique pour connecter le device DMA. Cependant, une fois le shellcode injecté en mémoire kernel, l'attaquant peut établir un accès distant persistant. Certains scénarios d'attaque combinent l'accès physique bref (evil maid) avec un implant réseau pour un accès continu.
Besoin d'un accompagnement expert ?
Nos consultants spécialisés en sécurité matérielle et audits physiques vous accompagnent dans l'évaluation de votre posture de sécurité.
Contactez-nousTélécharger cet article en PDF
Format A4 optimisé pour l'impression et la lecture hors ligne
À propos de l'auteur
Ayi NEDJIMI
Expert Cybersécurité Offensive & Intelligence Artificielle
Ayi NEDJIMI est consultant senior en cybersécurité offensive et intelligence artificielle, avec plus de 20 ans d'expérience sur des missions à haute criticité. Il dirige Ayi NEDJIMI Consultants, cabinet spécialisé dans le pentest d'infrastructures complexes, l'audit de sécurité et le développement de solutions IA sur mesure.
Ses interventions couvrent l'audit Active Directory et la compromission de domaines, le pentest cloud (AWS, Azure, GCP), la rétro-ingénierie de malwares, le forensics numérique et l'intégration d'IA générative (RAG, agents LLM, fine-tuning). Il accompagne des organisations de toutes tailles — des PME aux grands groupes du CAC 40 — dans leur stratégie de sécurisation.
Contributeur actif à la communauté cybersécurité, il publie régulièrement des analyses techniques, des guides méthodologiques et des outils open source. Ses travaux font référence dans les domaines du pentest AD, de la conformité (NIS2, DORA, RGPD) et de la sécurité des systèmes industriels (OT/ICS).
Ressources & Outils de l'auteur
Articles connexes
eBPF Offensif : Rootkits et Évasion Kernel-Level
Vol de Mots de Passe Chrome : DPAPI, Exploits et Outils
Le vol de mots de passe Chrome constitue l'une des techniques les plus exploitées par les attaquants dans les phases de post-exploitation et de mouvement latéral. Avec plus de 65 % de parts de marché des navigateurs en 2024, Google Chrome — et par extension l'ensemble des navigateurs basés sur Ch...
Extraction Credentials Firefox : NSS, Key4.db et Exploits
L'extraction des credentials stockés dans le gestionnaire de mots de passe Firefox constitue l'une des techniques post-exploitation les plus redoutables du paysage offensif contemporain. Contrairement aux idées reçues, le mécanisme de protection de Firefox repose sur une architecture complexe art...
Commentaires
Aucun commentaire pour le moment. Soyez le premier à commenter !
Laisser un commentaire