Vous êtes dans : Accueil > Tribunes libres >

Lojax : ce malware qui s’incruste et dont on peut difficilement se débarrasser

Charles Blanc-Rolin , MARDI 05 MARS 2019 Soyez le premier à réagirSoyez le premier à réagir

Dans un récent épisode de l’excellent podcast NoLimitSecu [1], Jean-Ian Boutin [2] chercheur chez ESET, est revenu en détails sur Lojax, le premier rootkit [3] capable de corrompre le firmware UEFI [4] révélé par ESET au mois de septembre dernier [5].

Au delà des révélations d’un certain Edward Snowden [6] sur l’existence de rootkit UEFI, personne n’avait encore pu constater l’existence d’un tel specimen.
Même si à ce jour, ce logiciel malveillant n’a été aperçu que sur une minorité de postes et ce, lors d’attaques très ciblées et présumées « étatiques », comme le souligne Jean-Ian Boutin, à l’origine de cette découverte, son analyse est vraiment très intéressante.
Les attaques dans lesquelles il a été découvert ont été attribuées à un groupe connu sous les noms de Sednit, Fancy Bear, APT28, Pawn Storm, Sofacy Group, ou encore STRONTIUM, qui opérerait depuis 2004 et qui semblerait être lié aux services de renseignements militaires russes (ça c’est les américains qui le disent). Ce groupe serait à l’origine notamment de l’attaque contre TV5 Monde qui s’est déroulée en 2015.

Mon inquiétude est que cette pratique ce démocratise, les logiciels malveillants « haut de gamme » d’aujourd’hui risquent de devenir des « malware » répandus de demain.

Pourquoi Lojax

Les chercheurs de la société ESET l’ont baptisé Lojax, car ce logiciel malveillant abuse d’un composant d’une solution légitime, à savoir LoJack (anciennement CompuTrace), une solution intégrée par plusieurs constructeurs (Lenovo, HP, Dell, Fujitsu, Panasonic, Toshiba, et Asus) permettant de lutter contre le vol d’ordinateurs portables. 

Comment fonctionne-t-il vraiment ?

La solution « anti-vol » LoJack, si elle est activée dans le BIOS / firmware UEFI, réinstalle automatiquement sur un système Windows lors de son démarrage et ce, même si le disque dur est formaté ou remplacé, son agent permettant de tenter de localiser un ordinateur portable lorsque celui-ci a été dérobé à son propriétaire.
Si le code développé sur la partie UEFI est différent de LoJack, le logiciel malveillant Lojax reprend son principe de fonctionnement et utilise en revanche son agent légitime et « whitelisté » par de nombreuses solutions antivirus pour communiquer avec des serveurs de commande et de contrôle et potentiellement télécharger de nouvelle charges malveillantes à l’avenir, ce qui lui permet de s’assurer une persistance quasi définitive sur la machine infectée.

Comment est-il déployé ?

Ce qui est intéressant de noter, c’est que les attaquants ont réussi à le déployer à distance depuis le système d’exploitation Windows, sans aucun accès physique à la machine.
Grâce notamment à l’outil RWEverything (Read & Write Everything) [7], en s’appuyant sur son driver légitime et signé numériquement pouvant être utilisé facilement sous Windows. Les attaquants ont pu lire le contenu du firmware UEFI de la machine, intégrer leur code malveillant au firmware orignal pour le ré-écrire par la suite (en vérité ce n’est pas si simple, mais, ils ont réussi).

rweverything

La réécriture a été possible grâce à une mauvaise implémentation du système de protection du registre de contrôle du BIOS / firmware UEFI, vulnérabilité connue sous le nom de « Speed Racer » [8], qui a ensuite permis de modifier le registre verrouillant l’accès au firmware en lecture seule, en autorisant l’écriture de la mémoire flash. 

Les recherches techniques et la mise en application de cette attaque complexe sont vraiment remarquables. Bien que les attaques constatées aient été très ciblées et qu’une grande partie du travail des attaquants ait été réalisée manuellement, de nombreuses tâches pourraient être automatisées et d’autres attaquants pourraient bien s’inspirer de ce mode opératoire. Le plus gros du travail a été fait, et une automatisation pour une exploitation à plus grande échelle serait loin d’être irréalisable.

Alors comment s’en débarrasse-t-on ?

Il n’existe malheureusement que très peu de solutions pérennes.

La première consiste à mettre à jour le firmware dans une version qui n’est plus vulnérable à « Speed Racer », ce qui est une action très lourde à réaliser sur l’ensemble d’un parc informatique et qui nécessite qu’une version corrigée du firmware ait été publiée par le constructeur.

La seconde solution est d’avoir un antivirus capable de détecter une menace de type LoJack et de la neutraliser à chaque redémarrage de la machine, autant dire qu’on n’est pas serein du tout.

La troisième solution est de recycler la machine en utilisant un système Linux sur lequel le firmware corrompu ne sera pas en capacité de déployer l’agent LoJack corrompu, mais là c’est mission impossible sur les postes clients de nos SIH, très souvent dépendants aux systèmes Windows.

Quatrième et dernière solution, remplacer les postes corrompus et « non patchables » par de nouveaux postes, et là c’est le service financier qui ne va pas être content.

Autant dire qu’au delà de cette analyse et ce retour d’expérience passionnant, je ne suis pas du tout pressé de voir se répandre ce type d’attaques.


[1] https://www.nolimitsecu.fr/lojax/

[2] https://twitter.com/jiboutin

[3] https://fr.wikipedia.org/wiki/Rootkit

[4] https://fr.wikipedia.org/wiki/UEFI

[5] https://www.welivesecurity.com/wp-content/uploads/2018/09/ESET-LoJax.pdf

[6] https://fr.wikipedia.org/wiki/Edward_Snowden

[7] http://rweverything.com/

[8] https://bromiumlabs.files.wordpress.com/2015/01/speed_racer_whitepaper.pdf

malware, logiciel, code, antivirus