ACPI, design principles and concerns

Publié le 06 Avril 2009 Mis à jour le 06 Avril 2009

Loïc Duflot, Olivier Levillain et Benjamin Morin, Trust 2009

Le Laboratoire Architectures et Réseaux a présenté ses travaux sur la norme de gestion d’alimentation des machines informatiques ACPI (Active Control and Power Interface) lors de la conférence Trust 2009. Cette norme de fait permet aux systèmes d’exploitation d’effectuer toutes les opérations de gestion d’alimentation et de configuration de la plateforme matérielle à partir d’informations fournies par le BIOS (tables ACPI) au démarrage de la machine.

Dans cet article, nous étudions les faiblesses de cette norme sur le plan de la sécurité et montrons comment un attaquant peut utiliser les tables ACPI à des fins d’escalades de privilèges (dans certains contextes bien précis) ou peut dissimuler des fonctions au sein de ces tables, fonctions qui seront exécutées automatiquement par le système d’exploitation en lieu et place des fonctions légitimes. Ont été également présentées plusieurs pistes de contremesures.

La présentation était également assortie d’une démonstration qui permettait de mettre en évidence l’impact d’un piégeage ou d’une bogue d’une table ACPI (dans la démonstration, débrancher deux fois consécutivement le cable d’alimentation de la machine portable permet à l’attaquant d’obtenir un "shell root").