new virus Hardware backdooring : infection du bios et autres cartes réseaux ...

 

Cette année, les chanceux qui étaient à la DefCon et la Black Hat Conference de Las Vegas ont pu assister à une conf’ d’un chercheur en sécurité français, Jonathan Brossard, qui a présenté un Proof-Of-Concept d’un malware répondant au doux nom de RakShasa. Ce n’est pas la première fois que l’on parle d’infecter directement le BIOS, mais là ou c’est sympa, c’est que flasher le BIOS, formater le système ou remplacer un composant ne résoud pas le problème de l’infection. J’ai pris plaisir à lire son papier, et je vais essayer de vous en faire partager les grandes lignes.

Lors de la création de son malware, Brossard fixe plusieurs conditions à sa réalisation :

  • Il doit être persistant. Et pas seulement entre chaque reboot, mais aussi dans le cas où l’utilisateur formate le système, change une partie du matériel (carte réseau, disque dur, …), ou encore après une mise à jour/réinitialisation du firmware d’un composant (BIOS, carte mère ou autre périphérique). En gros, le malware va devoir être redondant.
  • Il doit être invisible. Pas détectable par un antivirus ou autres.
  • Il doit être portable et indépendant. Autrement dit, utilisable sur tous les OS qui seront installés sur une machine cible (même ceux que l’on ne connait pas encore …) et sans utilisation du-dit OS.
  • Il doit pouvoir être mis à jour à distance (accès réseau nécessaire).
  • Il ne doit pas couté bonbon en matière de logiciel (je ne parle pas du temps de dev’ …). C’est en entre autre ce qui a poussé l’équipe à utilisé des logiciels open source et gratuit : maintenance gratuite du malware (merci la communauté open source), code disponible et facilement modifiable, …

Hormis ceci, la backdoor doit répondre à deux règles :

  • Le déni plausible : Ah bon, y’avait quelque chose ?
  • La non-attribution : Je vous jure que c’est pas moi !

 xkcd network 300x167 Hardware backdooring : infection du bios et autres cartes réseaux ...

Parlons maintenant pratique. Le malware va s’en prendre dans un premier temps au BIOS. Le BIOS, c’est la première partie logicielle à être exécuter, et il a la main sur toutes les ressources matérielles avant même qu’elles ne passent en mode protégé. Autrement dit, une infection à ce niveau donne la main sur beaucoup de choses… C’est pourquoi RakShasa n’est rien d’autre qu’un BIOS alternatif composé de versions modifiés de Coreboot (pour la détection hardware) et de SeaBios (affichage ou pas des menus BIOS, bootsplash, …). Bien entendu, dans le but d’être le plus discret possible, toutes les informations complémentaires de lancement sont cachés et les logos / noms du fabricant d’origine remis pour faire mine de rien… RakShasa, en plus de remplacer votre BIOS, va flasher le firmware de boot de la carte réseau par un autre firmware alternatif : iPXE.

Pour maximiser les chances de contrôle à distance et de mise à jour du malware, RakShasa va tout d’abord charger le firmware iPXE (le boot réseau), pour essayer de récupérer une connexion : une liste de SSID rentrés dans le firmware, des pings google.com… L’auteur rappelle aussi qu’il aurait pu faire beaucoup d’autres choses (DDos sur le LAN, tenté l’accès au routeur, broadcast massif, …) mais comme le but est la discrétion, on sort du contexte.

Une fois l’accès distant établi, RakShasa va télécharger un *.pdf vérolé sur un blog, un autre fichier infecté sur un ftp, … Son but est de multiplier les points d’accès distants pour se faire le moins voir possible par un équipement de surveillance sur le LAN tout en gardant la possibilité de se mettre à jour.

L’autre atout de RakShasa, c’est le fait qu’il a la main sur tout un tas de choses : le microcode CPU, la désactivation de l’ASLR (l’Address Space Layout Randomization), … Il peut ainsi rendre la machine vulnérables de tous les cotés … Un vrai gruyère une fois infectée !

Revenons sur l’invisibilité de la bête … Contrairement à d’autres malwares, ici aucune écriture n’est faite sur la MBR ou sur le système de fichier. Vous pouvez envoyer votre disque dur à une société spécialisé dans la détection de virus, elle ne trouvera rien. Dans le même genre, RakShasa se charge effectivement dans la RAM lors du boot d’iPXE, mais une fois la modification du kernel faite, il va se décharger de la RAM. Adieu donc, toute analyse forensics de la mémoire…

La conclusion de ce travail, c’est surtout qu’il faut se rappeler qu’une telle chose peut-être opéré directement au niveau du fabricant (qui a dit les chinois?) ou à n’importe quel moment de la livraison d’une machine. Et que pour que les choses évoluent, ce n’est pas un nouveau système d’exploitation qu’il faut, ce serait une refonte totale de l’architecture des PC afin de se recentrer sur la sécurité des composants de la machine plutôt que de se concentrer sur leur interopérabilité.

 

[source et papier, que je vous recommande si ça vous intéresse !]

Related posts:

  1. [Vista/Seven] Lenteur réseaux, DNS et accès aux partages réseaux
  2. [Chrome] Cortex, une extension axée réseaux sociaux (et elle est pas minus)
  3. L’arme ultime de l’administrateur réseaux …
  4. [Securité] Un certificat du gouvernement malaisien volé
  5. [Google] Chrome, Drive et autres lors de la Google I/O