đ Contexte
Article technique publiĂ© le 26 mars 2026 par Paul Meyer (Edgeless Systems) sur le blog katexochen.aro.bz. L’auteur dĂ©crit la reproduction complĂšte de l’attaque BadAML contre la plateforme Contrast (runtime Kubernetes basĂ© sur des CVMs) et la mise en place d’une mitigation.
đŻ Description de l’attaque BadAML
BadAML est une attaque exploitant les tables ACPI fournies par l’hĂŽte pour obtenir une exĂ©cution de code arbitraire Ă l’intĂ©rieur de VMs confidentielles (CVMs), contournant leurs garanties d’isolation mĂ©moire.
Le vecteur d’attaque repose sur :
- L’injection d’une table ACPI malveillante (SSDT) contenant du bytecode AML via l’option QEMU
-acpitable file=payload.aml - L’utilisation de OperationRegion AML pour accĂ©der Ă des adresses mĂ©moire physiques arbitraires, y compris les pages mĂ©moire privĂ©es du guest
- La méthode
_INIdĂ©clenchĂ©e automatiquement lors de l’initialisation des pĂ©riphĂ©riques - Un primitif lecture/Ă©criture (
PTCH) permettant de patcher octet par octet le script/initdans l’initrd - L’ouverture d’un shell root interactif sur la console sĂ©rie
đ ïž DĂ©tails techniques du payload ASL
Le payload définit un device ACPI fictif FAKE (HID MSFT0003) avec :
COM0: mappage du port sĂ©rie legacy (0x03F8) pour l’exfiltrationINRD: lecture d’un pointeur 64 bits vers l’initrd depuis une adresse mĂ©moire systĂšme- MĂ©thode
PTCH: primitive read-write arbitraire viaOperationRegiondynamique - Méthode
_INI: point d’entrĂ©e de l’attaque, patche/initpour exĂ©cutercd sysroot && sh </dev/ttyS0 >/dev/ttyS0 & #
đŹ Reproduction dans Contrast
Edgeless Systems a reproduit l’attaque end-to-end en :
- ImplĂ©mentant le chemin d’attaque complet hĂŽte-vers-guest (sans mĂ©canisme de mise Ă jour ACPI depuis le guest)
- Résolvant le problÚme des adresses hardcodées via une technique de scan mémoire en deux phases :
- Scan grossier (
CSCA) par incréments de 8 Mo pour localiser un fichier cible rempli du patternDEADBEEF - Scan fin (
FSCN) pour trouver le début du pattern
- Scan grossier (
- DĂ©monstration de l’Ă©criture en mĂ©moire privĂ©e en patchant les 4 premiers octets avec
CAFEBABE - Intégration du reproducer dans la CI comme test de régression
đĄïž Mitigation
La mitigation implĂ©mentĂ©e est un sandbox AML qui restreint l’exĂ©cution du bytecode aux pages mĂ©moire partagĂ©es uniquement, empĂȘchant l’accĂšs aux pages privĂ©es du guest.
đ Type d’article
Analyse technique dĂ©taillĂ©e visant Ă documenter la reproduction d’une attaque publiĂ©e (Takekoshi et al.) et Ă prĂ©senter la mitigation dĂ©ployĂ©e dans le produit Contrast d’Edgeless Systems.
đ§ TTPs et IOCs dĂ©tectĂ©s
TTP
- T1542 â Pre-OS Boot (Defense Evasion)
- T1059 â Command and Scripting Interpreter (Execution)
- T1055 â Process Injection (Defense Evasion)
- T1106 â Native API (Execution)
IOC
- Fichiers :
payload.aml
Malware / Outils
- BadAML SSDT payload (other)
đ Source originale : https://katexochen.aro.bz/posts/badaml/