Les ransomwares représentent toujours la menace la plus dangereuse à laquelle les entreprises sont confrontées aujourd’hui. La combattre n’est pas une tâche facile, d’autant plus que les acteurs malveillants perfectionnent continuellement leurs techniques et leurs approches. Les changements récents incluent, par exemple, des modifications au niveau des modèles RaaS (Ransomware-as-a-Service) ; l’adoption de nouveaux langages de programmation ; des évolutions en matière de ciblage et de déploiement ; davantage d’attaques lancées hors des heures de bureau et durant le week-end pour entraver les efforts de détection et de réponse aux incidents.
L’un des développements les plus importants est l’augmentation des ransomwares distant : l’exploitation de l’architecture de domaine d’une entreprise pour chiffrer les données présentes sur les machines gérées appartenant à un domaine particulier. Toutes les activités malveillantes (accès initial, exécution des charges virales et chiffrement) se produisent sur une machine non gérée, contournant ainsi les piles de sécurité modernes, le seul indicateur de compromission étant la transmission de documents vers et depuis d’autres machines. Notre télémétrie indique qu’il y a eu une augmentation de 62 %, d’une année sur l’autre, des attaques intentionnelles débouchant sur un chiffrement à distance depuis 2022. De plus, le rapport de défense numérique Microsoft 2023 indique qu’environ 60 % des attaques de ransomware pilotées manuellement impliquent un chiffrement à distance, et que 80 % de toutes les compromissions proviennent d’appareils non gérés, révélant ainsi clairement un manque de gestion active des ressources/actifs. Les familles de ransomware connues pour utiliser un chiffrement à distance incluent Akira, ALPHV/BlackCat, BlackMatter, LockBit et Royal. Il s’agit d’une technique qui existe depuis un certain temps : en effet, dès 2013, CryptoLocker ciblait déjà les partages réseau.
Figure 1 : Une explication simplifiée du fonctionnement des ransomwares distants
Sans surprise, l’essor et le développement continu des ransomwares ont donné lieu à de très nombreuses recherches visant à les détecter et à s’en protéger : les universitaires, les chercheurs en sécurité et les éditeurs proposant tous diverses solutions. Les ransomwares, en tant que forme particulière de malware, présentent des défis pratiques et intellectuels uniques, et la gamme de solutions proposée pour les combattre en est la preuve vivante. Beaucoup de ces solutions ciblent un ou plusieurs aspects comportementaux distincts des ransomwares : énumération des systèmes de fichiers (filesystems), accès et chiffrement des fichiers, et génération de demandes de rançon. D’autres sont plus génériques, utilisant des techniques anti-malware courantes au niveau des ransomwares.
Dans cet article, nous allons vous proposer un bref aperçu de certaines de ces techniques ainsi que de leurs avantages et inconvénients, avant de vous présenter de manière détaillée notre solution dans ce domaine spécifique, à savoir : CryptoGuard.
Avant de commencer, un détail est à noter : une attaque de ransomware comporte plusieurs étapes, et la majorité d’entre elles se produiront avant que les solutions évoquées dans cet article n’entrent en jeu. Une entreprise correctement sécurisée disposera de plusieurs niveaux de protection qui devraient stopper les attaques à différents moments, signifiant ainsi que dans de nombreux cas, des solutions anti-ransomware spécifiques ne devraient pas être nécessaires. Mais lorsque tout le reste échoue et qu’un adversaire déterminé atteint le stade du chiffrement, nous avons besoin d’une technologie pour éviter que des dommages irréparables ne soient causés. Les autres phases d’une attaque : infection initiale, persistance, mouvement latéral, etc. sont réversibles, mais le chiffrement, par contre, ne l’est pas.
Méthodes anti-ransomware
Solutions statiques
Les techniques statiques (c’est-à-dire celles qui peuvent être utilisées passivement, sans que l’exécution du malware ne soit nécessaire) pour la détection des ransomwares ne sont pas très différentes de celles utilisées pour détecter tout autre type de malware. Les solutions de ce type incluent la correspondance de signatures, la comparaison des chaînes/séquences ; la comparaison des opérations sur les fichiers ; l’analyse des particularités comportementales ; les techniques de deep learning; et enfin l’examen des en-têtes PE.
Même si les méthodes statiques ont l’avantage d’être relativement rapides et peu coûteuses, des attaquants déterminés peuvent également les contourner en modifiant le code jusqu’à ce que les détections de signature soient devenues inefficaces. Elles sont également moins efficaces contre les nouvelles variantes, les packers, les obfuscateurs et les menaces en mémoire (in-memory), ainsi que contre les ransomwares distants.
Solutions dynamiques
Les solutions dynamiques, en revanche, ont tendance à être plus coûteuses en termes de ressources de calcul, mais offrent une plus grande couverture. Les solutions anti-ransomware dynamiques de ce type sont les suivantes :
Interactions avec le système de fichiers (Filesystem)
Certaines solutions de sécurité surveilleront les modifications apportées aux extensions de fichiers, les opérations de lecture/écriture et de renommage à haute fréquence, ou bien les nouveaux fichiers dont les extensions sont associées à des variantes de ransomware. D’un autre côté, certaines solutions exploitent d’autres interactions ; le projet open source Raccine, par exemple, repose sur le principe selon lequel de nombreuses variantes de ransomware suppriment les clichés instantanés à l’aide de vssadmin. Raccine fonctionne en interceptant les requêtes adressées à vssadmin et en tuant le processus responsable.
Étant donné que les ransomwares ciblent les fichiers, il semble logique que de nombreuses approches se concentrent sur les interactions avec le système de fichiers (filesystem). Cependant, beaucoup d’entre elles s’appuient sur des analyses au niveau d’un environnement sandbox ; reposent sur des modèles anormaux que les acteurs malveillants peuvent essayer d’éviter de générer ; ou bien peuvent être gourmandes en termes de ressources en raison du volume de surveillance impliquée (bien qu’il soit possible d’adapter dynamiquement le degré de surveillance). Certaines techniques basées sur le système de fichiers (filesystem) peuvent également ne pas être efficaces lorsqu’il s’agit de ransomwares distants.
Protection des dossiers
Alors que des solutions telles que Controlled Folder Access (CAF) dans Windows Defender limitent l’accès aux dossiers à des applications spécifiques, une telle approche s’adresse principalement aux utilisateurs individuels. La solution CAF contribue à la protection contre les ransomwares en limitant l’accès non autorisé aux dossiers désignés, permettant ainsi uniquement aux applications fiables de modifier les fichiers qu’ils contiennent. Cependant, pour les réseaux d’entreprise, cette méthode peut s’avérer moins pratique en raison de la nécessité constante d’une gestion méticuleuse des dossiers et des applications. De plus, cette approche ne prend pas en compte le cas de figure où des attaques prennent le contrôle d’applications de confiance, une tactique répandue dans les attaques de ransomware.
Appels API
Certaines solutions de sécurité évaluent les appels API invoqués par un processus, soit en signalant les appels suspects et rarement observés, soit en déterminant les séquences d’appel potentiellement malveillantes.
La plupart des ransomwares utilisent des appels API, bien que certaines variantes utilisent des mesures évasives pour les dissimuler (en particulier pour les appels API connus pour être suspects, tels que CreateRemoteThread ou VirtualAllocEx, couramment utilisés dans l’injection de processus ; ou les appels API liés au chiffrement). La surveillance des appels API au niveau du noyau (kernel) semble certainement être une approche intéressante, mais une telle surveillance est gourmande en ressources, peut générer des faux positifs et est difficile à mettre en œuvre à grande échelle. De plus, lorsqu’il s’agit de ransomwares distants, le processus lui-même peut ne pas se trouver sur l’hôte attaqué, ce qui peut fortement perturber cette approche.
Honeyfiles
De nombreux produits de sécurité utilisent des “honeyfiles“, des “fichiers leurres (decoy files)”, des “fichiers appâts (bait files)” ou des “fichiers Canary (canary files)” comme solutions anti-ransomware : à savoir des fichiers discrets qui sont placés dans un répertoire et auxquels les utilisateurs légitimes sont priés de ne pas toucher. Un système de surveillance distinct, soit au niveau de l’utilisateur, soit au niveau du noyau (kernel), est déclenché si ces fichiers sont consultés ou modifiés par un processus, auquel cas une alerte est générée.
Les honeyfiles sont légers, nécessitent peu d’efforts et peuvent fournir une alerte précoce lorsqu’une attaque est peut-être déjà en cours. Cependant, l’utilisation de ces derniers impliquent de prendre un certain nombre de précautions. Les défenseurs doivent s’assurer que toute alerte est reçue et traitée assez rapidement, car, de par sa conception, une attaque sera déjà en cours lorsqu’un honeyfile est déclenché. Ils doivent également être placés stratégiquement, à savoir suffisamment ‘enfouis’ dans les systèmes de fichiers pour garantir que les utilisateurs et les processus normaux et légitimes ne les déclenchent pas accidentellement, mais pas trop non plus pour que les documents importants ne soient chiffrés avant que le ransomware ait accès à ces derniers.
Empreinte digitale (fingerprinting)
Une technique moins courante consiste à “identifier” certains modèles malveillants : dans le trafic réseau (C2), la consommation des ressources du processeur (CPU) ou les signaux émis par le processeur (CPU).
Concernant le trafic réseau, il convient de noter que dans les attaques de ransomware modernes pilotées manuellement, les acteurs malveillants adaptent et compilent le binaire du ransomware de manière unique pour chaque victime, une démarche stratégique destinée à empêcher la détection et à compliquer le processus de déchiffrement. Ce ransomware personnalisé contient généralement une demande de rançon spécifique à la victime et est déployé de manière “fire-and-forget“, sans la nécessité d’avoir une communication directe avec l’acteur malveillant, car le processus de chiffrement est intégré au malware en question, en exploitant une clé publique intégrée et spécifique à la victime.
Une technologie INTEL émergente appelée TDT (Threat Detection Technology) offre la possibilité de détecter les ransomwares au niveau matériel. Une étude réalisée par SE Labs démontre une efficacité remarquable contre un large éventail de systèmes de chiffrement. Cependant, cette approche se limite à des processeurs Intel spécifiques, à l’exclusion des architectures ARM et AMD. Cette limitation provient du fait que la technologie TDT s’appuie sur un modèle d’apprentissage automatique (machine learning) entraîné avec des signaux de performances du processeur provenant des profils de chiffrement de familles de ransomware spécifiques. Le modèle, formé par Intel, dépend du support de l’éditeur et ne fonctionne pas avec le chiffrement à distance. Un inconvénient de cette technologie est que certaines variantes de ransomware, telles que LockBit et Akira, sont délibérément configurées pour chiffrer seulement une partie de chaque fichier. Cette technique accélère l’impact de l’attaque, affectant ainsi davantage de fichiers en moins de temps. Cette approche implique également que la détection par Intel TDT se produit après qu’un nombre important de fichiers ont déjà été compromis.
Figure 2 : Le ransomware Akira attaque spécifiquement et uniquement les données distantes et ne chiffre que 3 % de chaque fichier
Confinement automatisé piloté par télémétrie
La plupart des solutions modernes de protection endpoint transmettent les données vers le Cloud pour la réponse aux incidents et l’analyse des alertes. Cependant, la reconstitution automatique des détails d’une attaque active de ransomware menée par des opérateurs humains à partir de la télémétrie des alertes peut prendre de quelques minutes à plusieurs heures. Cette latence dépend de la configuration de la fréquence du reporting télémétrique, de la présence d’autres signaux d’alerte et de la capacité de traitement du Cloud pour assembler et corréler des événements spécifiques provenant de plusieurs machines protégées.
Suite à la détection, une réponse automatisée peut impliquer le déploiement d’une politique de confinement sur les appareils gérés, afin d’isoler un compte utilisateur spécifique suspecté d’avoir été compromis par l’attaquant. Bien que cette action vise à empêcher le chiffrement suite à une attaque de ransomware (à distance) imminente ou en cours provenant du compte identifié, il est important de noter que la diffusion de cette politique nécessite également du temps (jusqu’à quelques heures). De plus, dans les scénarios où l’attaquant démarre le chiffrement sans déclencher d’alertes préalables sur les machines gérées (comme indiqué ci-dessus, 80 % des attaques impliquent des machines non gérées) ou choisit de lancer le processus de chiffrement à partir d’un autre compte utilisateur, les conditions ne favorisent pas toujours une mise en œuvre efficace d’une stratégie de confinement dynamique basée dans le Cloud. Mais une telle approche peut être tout de même utile dans certains cas.
Restauration (rollback)
En général, les solutions anti-ransomware dynamiques nécessitent généralement un certain niveau de chiffrement ou de manipulation des données avant de détecter l’attaque. Par conséquent, un certain nombre de fichiers seront probablement chiffrés, nécessitant ainsi une fonction de sauvegarde et de restauration pour récupérer les fichiers concernés.
Pour restaurer les versions de fichier non chiffrées, certains produits de protection endpoint exploitent les clichés instantanés de volume (Volume Shadow Copies), une fonctionnalité Windows qui génère des instantanés de données à des moments précis. Ces “clichés instantanés” capturent l’état des fichiers ou des volumes, même lorsqu’ils sont en cours d’utilisation. Néanmoins, cette méthode a ses limites : les attaquants suppriment généralement les clichés instantanés ; ces derniers ne protègent pas les fichiers sur les lecteurs réseau mappés ; et une restauration efficace repose sur la détection et le traitement de l’incident impliquant le ransomware avant le prochain instantané planifié (qui se produit généralement toutes les quatre heures). Ainsi, comme indiqué précédemment, la plupart des attaques se produisent hors des heures de bureau, ce qui peut compliquer les tentatives de récupération utilisant cette méthode.
Résumé
En général, bon nombre de ces approches se concentrent sur la recherche des “éléments malveillants” : caractériser et identifier les aspects comportementaux qui indiquent une activité de ransomware. Bien que cette décision semble rationnelle, elle présente une faiblesse cruciale, dans la mesure où les acteurs malveillants sont incités à dissimuler ou à obfusquer ces caractéristiques et donc à échapper à la détection. CryptoGuard, en revanche, adopte une approche différente.
CryptoGuard
CryptoGuard, anciennement connu sous le nom de HitmanPro.Alert et qui fait partie d’Intercept X depuis 2016, a été développé pour la première fois en 2013 et a pour objectif de former une dernière couche de défense contre les ransomwares locaux et distants, lorsque des acteurs malveillants déterminés ont échappé à toutes les autres protections et sont donc en mesure de commencer le chiffrement. Ses succès notables incluent le blocage des ransomwares WannaCry, LockBit et REvil. Bien que nous suivions de manières très attentive les développements dans le domaine des ransomwares, CryptoGuard n’a pas beaucoup changé au fil des ans, principalement parce que ce n’était pas nécessaire.
Une approche asymétrique
Contrairement à la majorité des approches décrites ci-dessus, CryptoGuard ne recherche absolument pas les attaquants, les exécutables de ransomware ou bien les modèles de comportement malveillant. D’autres solutions de sécurité, notamment les produits Sophos, proposent bien sûr ce type de fonctionnalité, et c’est d’ailleurs un élément fondamental d’une défense multicouche, qui empêche idéalement les attaquants d’accéder à la phase de chiffrement, mais CryptoGuard lui-même utilise une approche plus asymétrique, lorsque ces couches ont été contournées.
Plutôt que de rechercher les “éléments malveillants”, CryptoGuard se concentre sur le contenu des fichiers, en analysant leurs modèles avec un algorithme mathématique. Chaque fois qu’un processus ouvre un fichier en lecture et en écriture, le pilote minifiltre (minifilter driver) de CryptoGuard, qui fonctionne au sein du noyau (kernel) du système d’exploitation Windows, génère en continu des histogrammes des données lues et écrites. Ces histogrammes servent à comprendre le modèle global et les caractéristiques des données. Ils subissent une évaluation pour déterminer leur entropie et analysent statistiquement si les données lues et écrites sont non chiffrées, compressées ou chiffrées. Les évaluateurs intégrés utilisent des modèles mathématiques pour classer les données. Étant donné que l’analyse utilise les mêmes mémoires tampons fournis par le système d’exploitation pour le processus demandeur, elle est très efficace car elle ne génère pas d’entrées/sorties de disque (E/S) supplémentaires.
Figure 3 : Un aperçu des opérations de CryptoGuard
Cette fonctionnalité offre une protection asymétrique, même dans les scénarios où une machine distante non protégée sur le réseau attaque des documents partagés sur un serveur de fichiers protégé par Sophos, par exemple. Comme indiqué ci-dessus, la plupart des attaques de ransomware menées par des opérateurs humains visent également à chiffrer les données partagées sur des machines distantes. Dans de tels cas, le ransomware lui-même n’est pas exécuté sur la machine distante protégée (soit parce qu’il n’a pas été déployé par l’attaquant à cet endroit, soit parce qu’il a été bloqué par la protection endpoint). Par conséquent, le binaire du ransomware lui-même ou le processus contrôlé par l’attaquant (qui effectue le chiffrement) ne peut pas être observé depuis la machine qui contient les données ciblées.
Ainsi, comme aucun code malveillant n’est détecté sur la machine attaquée, les technologies comme l’antivirus, le machine learning, les indicateurs de violation, etc., toutes axées sur l’identification des adversaires et de leur code malveillant, sont complètement mises de côté et ne sont pas utilisées (même s’il s’agit d’un facteur bien connu et très ancien responsable du chiffrement). Cependant, CryptoGuard peut reconnaître lorsqu’une machine distante remplace les documents du dossier partagé par des versions chiffrées et prend automatiquement des mesures en bloquant l’adresse IP de la machine distante et en annulant les modifications apportées. Il crée des sauvegardes temporaires de tous les fichiers modifiés, afin que les modifications puissent être annulées si un chiffrement de masse devait être détecté, et peut également repérer le déploiement de demandes de rançon au niveau des dossiers dans lesquels le ransomware a chiffré les fichiers. Ainsi, il permet parfois d’identifier des cas d’exfiltration de données, même s’il n’a pas été explicitement conçu à cet effet.
Zero-trust
Les adversaires abuseront parfois d’un processus existant ou ‘packageront’ un processus normalement inoffensif qui chargera une DLL malveillante (appelé chargement latéral/side-loading de DLL) afin d’effectuer le chiffrement. L’activité de chiffrement est effectuée sous l’identité du processus inoffensif, qui exécute désormais le code de l’attaquant et chiffre les documents.
Un exemple concret de cette technique est l’incident Kaseya VSA, où l’acteur malveillant REvil a intégré une DLL malveillante à chargement latéral dans un exécutable Windows Defender obsolète mais vulnérable. L’acteur malveillant a délibérément choisi Defender, car les protections font généralement confiance au code signé par Microsoft. De plus, une DLL ne peut pas être examinée aussi minutieusement qu’un exécutable dans un environnement sandbox, signifiant ainsi qu’elle peut être “approuvée” plus tôt.
À cette occasion, Sophos a détecté à la fois la charge virale REvil elle-même, ainsi qu’un certificat de code spécifique à REvil. Et tandis que les exclusions de protection de Kayesa ont permis d’installer le dropper REvil sur les machines, CryptoGuard a détecté le ransomware, car il n’était pas limité par de telles exclusions et peut bloquer le chiffrement des fichiers n’importe où sur les lecteurs protégés.
Présentation détaillée de la procédure
Conclusion
Il n’existe pas de solution idéale pour lutter contre les ransomwares. Une défense efficace doit inclure une multitude de niveaux, depuis la correction des vulnérabilités et l’examen des configurations jusqu’à la formation des utilisateurs et les solutions de sécurité à proprement parler. Mais quels que soient les couches utilisées par les entreprises et leur nombre, un aspect important à prendre en compte est la robustesse et l’efficacité de la dernière couche, lorsque toutes les autres mesures ont échoué et que les acteurs malveillants sont en mesure d’exécuter leur ransomware. À ce stade, les solutions que nous avons évoquées ici prennent tout leur sens.
Ces solutions sont variées et couvrent des activités et des aspects comportementaux nombreux et différents. Beaucoup varient considérablement en termes d’évolutivité, de polyvalence et de rapport coût-avantage, et présentent des forces et des faiblesses bien distinctes. Un point commun clé est que la plupart des solutions se concentrent sur la “détection des éléments malveillants” d’une manière ou d’une autre, que ce soit via l’analyse des appels API, des honeyfiles ou d’un type précis d’empreinte digitale. Ce n’est pas nécessairement un inconvénient, et une pile de défense à plusieurs niveaux et diversifiée constitue une approche solide. Mais, comme nous l’avons montré, l’approche CryptoGuard au sein d’Intercept X est légèrement différente et plus asymétrique : elle se concentre sur le contenu des fichiers plutôt que sur les comportements du ransomware ou de ses opérateurs.
Les ransomwares continuent d’évoluer et de plus en plus de solutions et de techniques apparaîtront probablement pour y apporter une réponse. Comme nous le faisons depuis dix ans, nous continuerons à suivre l’évolution des ransomwares et des solutions conçues pour les détecter et s’en protéger.
Billet inspiré de CryptoGuard: An asymmetric approach to the ransomware battle, sur le Blog Sophos.