Les chercheurs de Positive Technologies viennent de montrer qu'une technologie a priori anodine est un point d'entrée possible pour les malandrins dans certains cas. Il s'agit de l'interface (micro)SD Express, qui commence réellement à arriver dans nos appareils. Le problème mis en avant par l'attaque DaMAgeCard n'est pas nouveau, des équivalents existaient pour le FireWire ou le Thunderbolt, mais les protections ne sont pas généralisées.
Premièrement, commençons par l'interface SD Express. Il s'agit essentiellement d'un connecteur PCI-Express 1x externe, qui permet aux rares cartes disponibles d'atteindre des débits de l'ordre de 1 Go/s. Les cartes (micro)SD Express sont essentiellement l'équivalent d'un SSD NVMe, il est donc possible de créer un adaptateur qui permet de brancher un périphérique PCI-Express quelconque dans un emplacement compatible.
Deuxièmement, il faut expliquer brièvement les attaques de type DMA. L'idée est simple : pour des questions de performances, certains périphériques peuvent prendre le contrôle du bus pour effectuer des transferts dans la mémoire vive. Un périphérique peut donc demander au système de lire le contenu de la mémoire à un emplacement précis, sans que le CPU de l'ordinateur ciblé puisse intervenir. La faille existe en FireWire — une technologie portée par Apple dans les années 2000 —, en Thunderbolt — une autre technologie portée par Apple —, en PCI-Express, etc. Pour les personnes qui veulent effectuer une attaque de ce type, les interfaces externes sont évidemment plus pratiques car elles ne nécessitent pas d'ouvrir l'ordinateur.
La solution principale pour régler ce problème est celle choisie par Apple, et porte le nom d'IOMMU. Pour éviter qu'un périphérique puisse accéder à l'ensemble de la mémoire, ce mécanisme pensé au départ pour la virtualisation permet de créer un espace virtuel pour les périphériques. Prenons un exemple : sans IOMMU, si un périphérique demande de lire l'adresse pci0x10000
, il va accéder à la version physique de cette adresse (0x10000
). Avec la technologie active, le périphérique va demander l'adresse pci0x10000
mais le système va simplement créer un espace virtuel à une autre adresse (par exemple 0xFF0000
), totalement séparée de la mémoire du système. Le périphérique aura bien accès à la mémoire… mais pas celle qu'un malandrin voudrait atteindre.
FireWire, Thunderbolt, SD Express
DaMAgeCard applique la même procédure à l'interface SD Express. Les chercheurs ont construit un adaptateur (micro)SD Express vers PCI-Express, qui permet de connecter des cartes capables d'effectuer l'attaque.
Les résultats restent moyennement concluants dans la pratique, pour plusieurs raisons. La première, c'est que l'interface SD Express reste rare. Les chercheurs ont testé sur un PC portable Lenovo dont le contrôleur n'était pas compatible SD Express, un PC portable MSI et une console portable Ayaneo, qui est l'équivalent d'un Steam Deck ou d'une Asus Rog Ally. L'attaque ne fonctionne pas avec les lecteurs externes de cartes SD Express, qui pour le moment se cantonnent à de l'USB1. Le second problème, c'est que les fabricants de PC portables disposent donc d'une protection globalement efficace : l'IOMMU.
Dans les appareils testés, le PC portable MSI active bien la technologie quand l'adaptateur est branché à chaud, ce qui empêche l'attaque. Mais elle est visiblement désactivée quand l'adaptateur est branché à froid, avant le démarrage de l'OS. Dans le cas de la console Ayaneo, c'est encore plus simple : la technologie IOMMU n'est pas active.
Des risques assez faibles
Dans l'absolu, les risques restent assez faibles. Les appareils équipés d'un lecteur de cartes (micro)SD Express sont rares, et les fabricants sérieux activent l'IOMMU qui bloque les attaques. C'est par exemple le cas chez Apple : les attaques par DMA en FireWire ou en Thunderbolt ne fonctionnent généralement plus grâce à une implémentation solide de la technologie. Qui plus est, Apple n'a pour le moment pas intégré d'emplacement SD Express dans ses appareils, ce qui règle évidemment directement le souci.
Notons enfin que la norme SD Express n'est pas la seule à souffrir du problème. Techniquement, les cartes CFexpress ou XQD souffrent exactement du même souci, mais les risques sont bien plus faibles pour une raison très pragmatique : les ordinateurs n'intègrent pratiquement jamais de lecteurs de cartes CFexpress.
-
Elle devrait techniquement fonctionner sur d'éventuels lecteurs Thunderbolt… mais il serait probablement plus simple d'effectuer l'attaque directement en Thunderbolt. ↩︎
Source : Next.