Thunderclap : Des Macs d’Apple vulnérables vis-à-vis de périphériques Thunderbolt malveillants

Cybersécurité

Des chercheurs ont révélé comment des périphériques malveillants Thunderbolt et PCI Express (PCIe) pouvaient être utilisés pour compromettre les ordinateurs utilisant macOS, Windows, Linux et FreeBSD.

thunderbolt

Surnommée “Thunderclap” dans une présentation faite lors du récent Network and Distributed System Security Symposium (NDSS), cette vulnérabilité concerne le DMA (Direct Memory Access), une technique standard permettant d’accélérer l’accès à la mémoire principale à partir du stockage, des contrôleurs USB, des cartes réseau et graphique.

Plus récemment, le même privilège de bas niveau a été étendu aux périphériques externes tels que Firewire, Thunderbolt 2 et 3 et USB-C, augmentant ainsi le risque d’attaque DMA depuis les sous-systèmes sécurisés de l’ordinateur jusqu’à quasiment tout ce qui pourrait lui être connecté.

Les attaques DMA sont théorisées depuis des années. C’est pourquoi l’accès est accordé via un espace d’adressage virtuel géré par le système d’exploitation et associé à des unités de gestion de mémoire d’entrée-sortie (IOMMU) matérielles.

Pour tester et modéliser la sécurité de l’accès des périphériques DMA dans des conditions réelles, les chercheurs ont construit en 2015 leur propre dispositif FPGA, appelé Thunderclap, comprenant des emplacements PCIe et des interfaces externes Thunderbolt 2/3, USB-C.

Malheureusement, soulignent les chercheurs, il s’avère que les IOMMU ne sont pas aussi efficaces que les concepteurs de systèmes l’ont laissé penser, et ce pour un ensemble complexe de raisons :

Le côté logiciel des interfaces des périphériques DMA n’est pas implémenté via un code d’appel système au niveau du noyau soigneusement renforcé, testé via des décennies d’attaques malveillantes et de fuzzing, mais par des milliers de pilotes de périphérique conçus dans un contexte de confiance mutuelle historique, de praticité matérielle et de maximisation des performances.

En résumé, il semble y avoir de nombreux chemins permettant à un périphérique malveillant de contourner ou de manipuler la couche IOMMU, sans l’aide des développeurs de système d’exploitation et des pilotes de périphérique mettant en œuvre l’accès de différentes manières.

L’interface Intel-Apple Thunderbolt était particulièrement utile, car elle existe depuis des années et est présente dans la quasi-totalité des ordinateurs portables et des ordinateurs de bureau Apple. Voici un extrait du blog des chercheurs :

Ces vulnérabilités permettent à un attaquant disposant d’un accès physique à un port Thunderbolt de compromettre une machine cible en quelques secondes, d’exécuter du code arbitraire avec les privilèges les plus élevés et d’obtenir éventuellement l’accès aux mots de passe, connexions bancaires, clés de chiffrement, fichiers privés, à la navigation et à d’autres données.

Quels ordinateurs sont affectés ?

Pour commencer, n’importe quel ordinateur avec un port Thunderbolt utilisant Windows, Linux ou FreeBSD, ainsi que macOS.

Toutefois, comme Thunderbolt est standard sur les Mac depuis 2011 et n’a commencé à apparaître que récemment sur les systèmes Windows et Linux, cette plateforme est particulièrement à risque. Tous les modèles Apple sont concernés (à l’exception du MacBook 12 pouces), y compris les modèles postérieurs à 2016 et utilisant Thunderbolt 3 sur USB-C ainsi que les modèles plus anciens utilisant un Mini DisplayPort.

Le problème ne concerne pas uniquement Thunderbolt et peut également affecter les cartes PCIe présentes sur de nombreux ordinateurs si celles-ci ont été compromises d’une manière ou d’une autre dans la chaîne logistique. Cela semble beaucoup moins probable étant donné que Thunderbolt et d’autres périphériques externes représentent une cible d’attaque plus facile.

Quoi faire ?

Cela dépend du sérieux avec lequel vous prenez la probabilité d’une attaque qui existe pour l’instant sous la forme d’une preuve de concept. Si cela vous dérange, désactiver les ports Thunderbolt constitue une réponse, bien que cela puisse être difficile ou peu pratique selon l’ordinateur concerné.

Les chercheurs suggèrent d’éviter les bornes de chargement USB-C publiques et de ne pas utiliser de périphériques inconnus :

Si vous êtes sollicité de manière inattendue, déclinez systématiquement, en particulier les demandes d’installation de pilotes, débranchez ensuite le périphérique et ne l’utilisez plus. 

Existe-t-il une solution ?

Tous les éditeurs de systèmes d’exploitation ont été informés du problème en 2016 et l’ont partiellement compensé par des mises à jour, en particulier macOS 10.12.4 et ultérieur, Windows 10 version 1803 et ultérieure (mises à jour matérielles supplémentaires requises pour les systèmes déjà mis à niveau) et correctifs Intel pour le noyau Linux. v5.0.

Cependant, selon les chercheurs, ces correctifs ne suppriment pas tous les risques, y compris ceux concernant les cartes PCIe.

À plus long terme, la possibilité de périphériques malveillants avec un accès puissant, que le système d’exploitation ne sera pas en mesure de stopper, semble être un autre problème de sécurité compliqué, et il faudra que les développeurs se mettent au travail pour s’attaquer sérieusement à corriger ce problème.


Billet inspiré de Thunderclap: Apple Macs at risk from malicious Thunderbolt peripherals, sur Sophos nakedsecurity.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.