Séminaire 2010 : attaques physiques sur un poste utilisateur

Mon 22 February 2010 by gabriel

Accès physique = root : cet adage est connu depuis longtemps dans la communauté de la sécurité informatique. Il est toujours d'actualité : Damien Aumaître a montré au cours de cette présentation comment il est possible de compromettre entièrement la sécurité d'un poste utilisateur en détournant les fonctionnalités offertes aux périphériques physiques en passant par le bus Firewire ou plus généralement par les bus matériels.

Après une introduction sur les différents types d’attaques à distance et physique illustrés par une fraude financière en 2004 réalisée à l’aide de keyloggers dans une banque ; la sécurité physique du poste de travail a été présentée. Celui-ci peut être compromis de multiples façons, dépendant de 3 paramètres : à savoir si le poste est allumé, si le disque dur est chiffré, et si la session et verrouillée.

L’attaque est triviale si le poste est allumé et la session non verrouillée, elle consiste à installer simplement une porte dérobée depuis un média amovible ou depuis un site internet. Par exemple, les clés USB U3 émulent un lecteur cd virtuel, mais peuvent être modifiées pour exécuter n’importe quel programme à l’insertion de la clé. Si la session est verrouillé, une injection de code par attaque DMA (Firewire, PCMCIA) autorisera la lecture et l’écriture de la mémoire physique.

Dans le cas d’un poste éteint dont le disque dur est chiffré, un keylogger matériel USB ou PS/2 (en vente libre sur internet pour environ 50 dollars) enregistrera les touches frappées au clavier si la séquence de démarrage n’est pas protégée. L’attaquant devra cependant réussir à installer physiquement ce dispositif derrière le poste de l’utilisateur, et à le récupérer. Si le disque dur n’est pas chiffré, l’utilisation d’un LiveCD permet d’accéder directement au disque et donc l’installation d’un trojan.

Enfin, le cas le plus complexe est celui du poste éteint dont le disque dur est chiffré. Un keylogger matériel peut aussi être utilisé dans cette situation, toujours dans le but d’enregistrer les frappes au clavier. Les clés de chiffrement peuvent être récupérées par des méthodes différentes, par exemple en installant un rootkit sur le secteur de démarrage, ou en modifiant le chargeur de chiffrement sur la MBR (evil maid attack).

Les attaques de types DMA ont ensuite été détaillées techniquement. Les processeurs utilisent un contrôleur PCI dédié pour effectuer les transferts de données, tout périphérique relié au bus PCI peut donc les utiliser (FireWire, PCMCIA, ExpressCard, etc.). Cependant, une faille de conception existe puisque ni le processeur ni le système d’exploitaiton ne sont conscients de ces transferts. Il est donc possible de lire et écrire dans la mémoire physique, et ainsi de contourner tous les mécanismes de protection du processeur et du système d’exploitation.

Damien a illustré cette attaques par deux démonstrations basées sur la reprogrammation du FPGA d’une carte CardBus. La première, effectuée sur Windows 7 64bits, supprime la vérification du mot de passe du verrouillage de session après l’insertion de la carte, permettant d’accéder au poste d’un utilisateur même s’il est verrouillé. La seconde, sur Windows XP, exécute un shell alors que la session est verrouillée.

La présentation s’est terminée par l’explication des limites des attaques DMA, et comment s’en protéger. La désactivation des pilotes périphériques FireWire, PCMCIA/CardBus est ainsi recommandée. La désactivation dans le BIOS de ces périphériques pourrait aussi empécher ce type d’attaque.