Depuis le mois de juillet, le ransomware LockFile se diffuse très rapidement et le nombre de ses victimes s’allonge. Connu pour se servir très rapidement des failles récentes (Exchange Server et PetitPotam par exemple), le ransomware LockFile doit aussi son succès à des astuces rendant difficile sa détection par les solutions de sécurité.
Parmi ces techniques, les experts de Sophos ont découvert un process nommé « le chiffrement intermittent ». Cela signifie que le ransomware ne chiffre que des bouts de données à l’intérieur d’un fichier au lieu de son contenu complet. Ce procédé accélère considérablement le chiffrement ou plutôt la corruption des données, mais trompe également les systèmes de protection qui s’appuient sur une analyse statique pour la détection.
Une ribambelle de techniques d’évitement
LockFile a clairement été conçu pour échapper à toute détection, à commencer par son propre fichier exécutable qui est à la fois encapsulé et malformé. En effet, la première section du fichier est remplie de zéros, puis d’une deuxième section contenant des données codées. Trois fonctions situées à la fin décodent les informations de la deuxième section, les placent dans la première, puis exécute le code. L’objectif de cette routine est de déjouer la surveillance des solutions de sécurité des endpoints.
Autre technique, LockFile se sert de l’interface de gestion Windows (WMI) pour rechercher et supprimer les processus importants associés aux applications métiers, notamment les VM Hyper-V et VMware, les environnements Oracle (VM Virtual Box, MTS Recovery Service, le kernel RDBMS, TNS Listener), mais aussi SQL Server de Microsoft et la base de données MySQL. L’objectif de l’arrêt de ces processus est de débloquer les verrous de ces environnements (bases de données, machines virtuelles ou fichiers de configuration) et d’accéder aux applications pour ensuite les chiffrer. En exploitant le WMI, la fin des processus est du fait du système et non de l’exécutable du ransomware. Encore un moyen pour tromper la détection.
LockFile se sert d’une autre astuce pour effectuer des opérations sur les fichiers. Il ne les modifie pas directement sur le disque, mais les mappe d’abord dans la mémoire RAM du système. Après avoir réalisé les modifications, il utilise le processus du système Windows pour valider les modifications sur le disque. Pour une solution d’analyse du comportement, ces actions apparaissent comme des opérations d’entrées/sorties effectuées par l’OS lui-même et non par un processus potentiellement suspect. LockFile n’est pas le premier ransomware à s’appuyer sur le mapping des I/O en mémoire. Maze et WastedLocker ont également utilisé cette technique, mais elle n’est pas très courante, précise Mark Loman, directeur de l'ingénierie des technologies Next-Gen de Sophos, dans un billet de blog.
Une amélioration du chiffrement intermittent
Si LockFile reprend des techniques éprouvées, le chiffrement intermittent constitue selon les experts de Sophos une réelle nouveauté. Ils soulignent que si d’autres ransomwares comme LockBit 2.0, DarkSide et BlackMatter ont utilisé le chiffrement partiel ne cryptant que le début des documents pour accélérer le processus, l'approche de LockFile est différente et significative.
Du point de vue de la sécurité, le chiffrement intermittent est mauvais car il laisse les données exposées, mais l'objectif dans ce cas-là n'est pas la confidentialité des données. Il s'agit d'une corruption de données contrôlée et réversible où le chiffrement est un simple outil. Par conséquent, les ransomwares n'ont pas besoin de crypter le contenu complet des fichiers, mais de le faire juste assez pour les rendre inutilisables par l'utilisateur, ce que LockBit 2.0, DarkSide et BlackMatter réalisent en cryptant la partie initiale des fichiers.
L'approche de LockFile, cependant, consiste à crypter tous les 16 octets d'un fichier. Ainsi, les fichiers résultants contiendront 16 octets de données chiffrées, suivis de 16 octets de données originales intactes, suivis de 16 autres octets de données chiffrées et ainsi de suite. Ce processus n'est pas aussi rapide que le cryptage de la partie initiale, mais il présente un autre avantage : il fausse l'analyse statistique. En effet, certains services de détection de ransomware utilisent des tests d'analyse statistique pour détecter si une modification de fichier est le résultat d'un chiffrement de fichier. Si le test indique qu'un fichier a été crypté, le programme empêche le processus de modifier d'autres fichiers. Cela fonctionne parce que les fichiers cryptés, qui sont constitués de données aléatoires, sont très différents d'un fichier non chiffré.
Déjouer le test des analyses statiques
L'un des tests couramment utilisés pour détecter des différences statistiquement significatives dans les données est appelé le test du chi carré (chi^2). « Un fichier texte non crypté de 481 Ko (disons un livre) a un score de chi^2 de 3850061. Si le document a été crypté par DarkSide, il aurait un score chi^2 de 334 - ce qui indique clairement que le document a été chiffré », explique le dirigeant de Sophos. Il ajoute que « si le même document est crypté par le ransomware LockFile, il aurait encore un score chi^2 significativement élevé de 1789811. » En d'autres termes, si un programme de détection est calibré par ses créateurs pour ne détecter et agir que sur de très grands écarts statistiques afin d'éviter les faux positifs, il pourrait passer à côté du chiffrement effectué par LockFile.
Enfin, la dernière astuce de LockFile consiste à se supprimer après avoir terminé le processus de chiffrement. Cela peut entraver la réponse aux incidents car les experts chercheront un binaire de ransomware à analyser et à nettoyer du système.