Faut-il avoir peur de Jonathan Brossard et Florentin Demetrescu ? Ces deux chercheurs ont développé Rakshasa. Et pour qui s’est un peu intéressé au pandémonium Hindouiste, les Rakshasa sont des êtres que l’on n’aime pas trop avoir pour voisin. Et celui de MM Brossard et Demetrescu encore moins que les autres, puisqu’il s’agit d’un Bios forgé pouvant intégrer n’importe quel vecteur d’attaque, y compris un rootkit « pré-boot » (ou bootkit).
D’un point de vue alchimique, Rakshasa est un concentré de bonnes choses, parfaitement innocentes d’ailleurs. Notamment Coreboot et Seabios, des substituts open source de Bios pour machine en architecture X86. De précédents travaux avaient prouvé la possibilité de camoufler dans ces microcodes des charges utiles persistantes (car chargées en NVRam), indétectables aux antivirus, invisibles aux HIPS…
Mais l’équipe Brossard/Demetrescu transforme ce qui pouvait être désagréable en quelque chose de franchement démoniaque, en intégrant dans le patrimoine génétique de Rakshasa un autre procédé tout aussi innocent et très utilisé dans les mondes unixiens et par les anciens utilisateurs de réseaux Novell : l’injection de code via réseau et protocole PXE (ou plus exactement son équivalent open source, iPXE). Inutile de préciser que le nombre de machines compatibles avec ces trois développements est absolument impressionnant. Pour parachever le tableau, l’on peut préciser que
– l’injection de ce bios modifié peut fort bien s’opérer via un lien Wifi, ôtant à l’administrateur tout espoir (ou presque) de conserver une trace de l’intervention sur ses logs réseau
– que la mise à jour systématique du bios de la machine, par mesure de précaution purement chamanique, peut être contrée en installant d’autres instances de l’exploit dans d’autres espaces de stockage. Sur l’espace PXE d’une carte Ethernet par exemple, espace qui n’est utilisé que très rarement de nos jours. D’autres extensions PCI possèdent également des eproms aisément accessibles qui sont autant de nids à infection échappant à tout scanner ou antivirus de la création.
– Que l’injection elle-même (le flashage du bios en quelques sortes) est totalement indépendante du système d’exploitation choisi. Seule la charge utile devra être adaptée…
Une fois le tout refondu en un unique vecteur d’attaque, Rakshasa peut s’installer et travaille un peu comme la douve du mouton : du centre névralgique de la machine, en un point situé en deçà du système d’exploitation, le méphistoBios peut embarquer trappes, outils de contournement ou de blocage destinés à compromettre la machine cible.
Hackito Virtuoso ?
Le développement de Rakshasa est-il seulement une preuve de virtuosité technique ? Pour l’heure, oui, indiscutablement. Peut-on considérer cet outil comme utilisable à grande échelle ? C’est tout à fait envisageable… c’est même, compte tenu de la quasi impossibilité de mettre à niveau l’intégralité du parc informatique matériel mondial, une véritable aubaine pour les armuriers spécialisés dans la cyber-guerre. Rooter via liaison Wifi, cinq ou six machines dans un ministère stratégique peut faire bien plus de dégâts, bien plus discrètement, que le plus tenace des Conficker. Mais s’attaquer, en mode furtif, aux millions d’ordinateurs d’une nation, c’est s’offrir le plus joli des botnet, aussi difficile à tuer que le canard de Robert Lamoureux. Il y a dans Rakshasa de la véritable graine d’APT et de techno-espionnage pas trop difficile à mettre en œuvre. Ce ne sera certes pas la principale menace des années 2012 et suivantes, mais son scénario d’exploitation est assez réaliste pour perturber le sommeil de quelques responsables informatiques dans quelques secteurs Scada par exemple. Si l’on se souvient de la fameuse « intrusion longue durée » qui avait frappé Areva avec des moyens traditionnels, on peut aisément imaginer ce que cela pourrait donner avec un bootkit aussi vicieux.
Au Tibet, les Rakshasa sont gentils
Mais il n’y a pas que du mauvais, dans cet exploit. Une trappe « ante-kernel land » que l’on peut télécharger, qui accepte de contenir des charges utiles dans le « domaine utilisateur », et que l’on peut tout aussi aisément faire disparaître sans que le moindre log ou le moindre scanner ne puisse en témoigner, cela peut être très utile à des entreprises dont le personnel itinérant souhaiterait se protéger de l’inquisition d’un Patriot Act par exemple. Ce pourrait également être la voie d’une nouvelle génération d’applications «dans le cloud » (cloud interne s’entend) qui expédie vers des clients légers non plus seulement une instance d’un système et de ses applications, mais également d’un firmware que l’on sait certifié et fiable. Toujours sur ce même thème, le déploiement forcé de bios Open Source précisément tels que ceux de Coreboot, pourrait mettre fin aux soupçons de « rootkits chinois dans les ordinateurs Lenovo ». Soupçon qui avait, à une époque, donné au Sénat Américain l’occasion d’émettre une recommandation à l’encontre de cette marque, ancien satellite d’IBM et qui était largement utilisé dans les administrations US.
Rakshasa pourrait également servir de base de travail à une extension des services de déploiement de patch « bas niveau ». Sans aller jusqu’à envisager des attaques reposant sur les failles bios (Joanna Rutkowska n’est pas la seule à en avoir parlé), un outil de mise à jour de ce type permettrait de débloquer des fonctions ou en limiter d’autres sans que l’administrateur n’ait à sortir de son bureau, et sans faire appel à des outils propriétaires généralement peu administrables et incompatibles avec les consoles de supervision les plus utilisées. L’idée est d’ailleurs exploitée depuis fort longtemps dans la gestion des terminaux mobiles ou des clients-fins, mais avec des solutions propriétaires.
Ah, pour les plus paranoïaques de nos lecteurs : rappelons que la majorité des Bios de nos machines utilisent non plus d’antiques eproms 27C512, mais des mémoires programmables en mode série, lesquelles ne passent en écriture que sur validation d’un signal Write Enable sur une broche du circuit. Et jusqu’à présent, on n’a encore jamais vu de rootkit capable de modifier la position d’un strap ou de dessouder une résistance de pull-up. Parfois, le bonheur, c’est simple comme un coup de cutter sur une piste ou un usage adroit du fer à souder.
Brillant, merci !
Vous voulez pas mettre un bouton Twitter sur vos articles qu’on puisse les partager ?