Les attaques bas niveau, qui s’immiscent entre le système d’exploitation et les composants matériels, ne sont pas une nouveauté, mais elles semblent faire un retour remarqué sur le devant de la scène cyber. Difficiles à exécuter, ces infections se distinguent par leur capacité d’obfuscation et leur persistance.
Le paysage de la cybersécurité est un domaine en mouvement constant du fait de la course poursuite entre les défenseurs et les attaquants. Ces derniers sont en recherche continuelle de nouvelles méthodes pour tromper la vigilance des systèmes de sécurité et des utilisateurs. Face à la levée de boucliers pour former les utilisateurs et sécuriser les appareils contre l’hameçonnage et les logiciels malveillants, et la popularité croissante du Secure Boot, une fonctionnalité du BIOS/UEFI qui permet de s’assurer qu’un ordinateur démarre en utilisant uniquement les logiciels approuvés par le fabricant de l’ordinateur, les cybercriminels se tournent vers de nouveaux exploits pour contourner les systèmes de détection. Les attaques bas niveau, qui s’immiscent entre le système d’exploitation et les composants matériels, ont pris le relais. C’est le niveau le plus difficile à détecter, puisqu’il n’est généralement pas accessible aux applications, seulement aux pilotes et aux modules système. Bootkit ou rootkit, ils s’installent à la racine du système.
Un bootkit qui contourne les contrôles de Windows
Depuis quelques mois, les comptes-rendus des attaques font état de la réapparition de ces attaques bas niveau. Le 13 octobre dernier, les chercheurs d’Eset ont découvert un bootkit UEFI (interface entre le micrologiciel et l’OS, qui succède au BIOS) inconnu jusqu’à présent, et qui persiste sur la partition système EFI (ou ESP) qui contient les informations de démarrage du système d’exploitation. Baptisé ESPecter, ce bootkit contourne la fonction Windows Driver Signature Enforcement pour charger son propre pilote non signé et mener des activités d’espionnage. « ESPecter est la seconde découverte d’un bootkit UEFI persistant sur l’ESP, ce qui montre que les menaces UEFI ne se limitent plus à des implants flash SPI, comme ceux découverts par Eset en 2018, utilisés par Lojax », explique l’éditeur.
De son côté, Kaspersky a révélé les dernières évolutions de FinSpy qui montre un fonctionnement hybride assez original. FinSpy n’est pas un bootkit à proprement parler. Il infecte ses victimes via l’installation d’applications légitimes et très répandues comme TeamViewer, VLC Media Player ou WinRAR. Il a toutefois la capacité de délivrer une charge utile, un kit de démarrage UEFI en lieu et place du chargeur de démarrage UEFI de Windows. Ce kit est en fait un composant qui démarre le système d’exploitation avec un autre composant malveillant après le lancement du micrologiciel.
Un bootkit furtif, installé sur une partition séparée
Cette méthode d’infection permet aux attaquants d’installer un bootkit sans avoir à contourner les contrôles de sécurité du micrologiciel. « Même si, dans ce cas, les hackers n’ont pas infecté le micrologiciel UEFI lui-même, mais son étape de lancement, l’attaque était particulièrement furtive, car le module malveillant était installé sur une partition séparée et pouvait directement contrôler le processus de démarrage de la machine infectée », détaille Kaspersky dans son communiqué.
La séquence de démarrage d’un ordinateur est une des phases les plus délicates en termes de sécurité informatique. Durant cette phase, le système est vulnérable et ce qui est installé durant ces cycles est encore plus difficile à détecter a posteriori. Ainsi, lorsque l’ordinateur est allumé, le Bios puis le système d’exploitation chargent en mémoire les différents modules nécessaires au fonctionnement du système. Une séquence durant laquelle l’ordre de préséance des chargements commence par la lecture du micrologiciel de la carte mère afin d’identifier les différents organes et de charger les paramètres en conséquence.
Une protection rapprochée…
Le Bios peut ensuite accéder au disque de démarrage pour charger le système d’exploitation. Durant cette phase, les pilotes essentiels au démarrage du noyau sont alors chargés et le noyau commence à fonctionner. Il charge à son tour le reste des pilotes et le registre système. Fondu dans les modules du système, les attaques bas niveau sont persistantes et difficiles à détecter. L’exemple de FinSpy est éclairant à ce sujet.
Contrairement aux versions précédentes injectant le cheval de Troie immédiatement dans l’application infectée, les nouveaux échantillons de FinSpy bénéficiaient d’une protection rapprochée. Deux composants lui servent de gardes du code : un module de prévalidation non persistant et un autre de post-validation. Le premier exécute plusieurs contrôles de sécurité pour s’assurer que l’appareil qu’il est en train d’infecter n’appartient pas à un chercheur en sécurité. Une fois ces contrôles de sécurité terminés, le composant post-validation est fourni par le serveur, garantissant que la victime infectée est bien celle ciblée par le pirate. À la suite de quoi, le serveur commande le déploiement du cheval de Troie dans son intégralité.
Pour se protéger des bootkits, rootkits et menaces similaires, les experts conseillent de suivre quelques règles : toujours utiliser la dernière version du micrologiciel, s’assurer que le système est correctement configuré et que Secure Boot est activé, enfin configurer Privileged Account Management pour empêcher les attaquants d’accéder aux comptes privilégiés nécessaires à l’installation d’un bootkit.
Mourad Krim