J'ai la mémoire flash qui flanche, ou le virus en PXE
David Maynor se rattrape et vient de concocter un article très complet traitant de l'usage des mémoires flash dans le secteur de l'informatique nomade et des équipements de commutation. Sous le titre accrocheur de « hacking flash memory », l'auteur attire l'attention sur un point technique : le nombre de cycle d'écriture d'une flash n'est pas illimité. Et rien n'interdit un auteur de malwares de pondre un code qui, en boucle, lancera des millions d'enregistrement, rendant ainsi très rapidement inutilisable le « disque dur silicium » de nos machines portable. Et d'expliquer également que les principaux systèmes d'exploitation, Linux notamment, mais Windows également, ne cessent d'effectuer des écritures en cache, qui, très rapidement, pourraient « user » la flash de ces nouveaux disques durs silicium. Fort heureusement, plusieurs mécanismes minimisent ce risque en interdisant que cette « usure » n'affecte qu'une petite zone de l'espace de stockage. En répartissant les cycles d'écriture sur l'ensemble de la mémoire, l'on parvient à prolonger la vie effective de l'unité de stockage.
Reste que, sur des équipements de commutation, et notamment les routeurs qui, eux aussi utilisent force mémoire flash, une attaque concertée pourrait bien transformer l'intégralité d'un réseau en un tas de ferraille et d'époxy inutilisable... Contre de telles attaques en « flash spoiling », il est nécessaire que la mémoire soit aisément interchangeable, sans qu'il soit obligatoire de dessouder un composant TSOP ou FBGA, ce qui est rarement à la portée d'un SoftwareMan.
Le dernier chapitre est de loin le plus intéressant. Car, nous rappelle Maynor, les mémoires flash les plus discrètes qui soient, ce sont bien celles qui se trouvent sur les cartes réseau modernes. Fi donc, que ces vieilles 2732 qui contenaient une « rom Novell » ou un lancement « 3Com 3+ » *. Le boot PXE (Pre-boot eXecution Environment) se loge désormais sur une petite mémoire flash, infime composant perdu sur toutes les cartes Ethernet, entre un décodeur d'adresse PCI et un couple de buffers de lignes. Et il est plus simple d'écrire dans la mémoire d'une carte réseau que dans celle du bios... la seconde étant généralement entourée de plus de mécanismes de sécurité.
Sans trop s'étendre, Maynor touche là probablement un moyen d'attaque qui ne déplairait pas du tout à Joanna Rutkowska. Un boot PXE est très nettement antérieur à celui de la machine elle-même. Il est situé à un stade idéal pour injecter un de ces rootkits virtuels héritiers de BluePill. Ils échappent, par construction et conception, à toute analyse effectuée par les antivirus, antispywares, NAC et autres protocoles de vérification. Et, si l'auteur du malware est assez prudent, il achèvera sa procédure d'infection par une série d'écritures massivement répétées, lesquelles supprimeront tout espoir de restaurer l'adaptateur dans son état initial. Un scénario catastrophe qui mériterait l'écriture d'un second épisode, rédigé soit par l'équipe de l'Avert Lab de McAfee, soit par leurs ennemis techniques de toujours, le Team d'Invisible Things.
*NdlC Note de la Correctrice : Le lecteur me pardonnera sans doute, car j'avoue avoir ici quelque peu sévi. L'auteur, dans sa fougueuse sénescence et sa nostalgie du passé, s'est « oublié » dans une digression remontant aux cartes Arcnet et à la bonne époque des tentatives de réseaux chiffrés/compressés inventés dans les labos de SMT (les papas de Goupil). Il y en avait près de 4 pages, que j'ai illico fait passer à la trappe. C'était aussi passionnant qu'un « souvenir de service militaire »