Splunk SURGE a récemment publié un livre blanc, un blog et une vidéo qui décrivent les vitesses de chiffrement de 10 familles de ransomwares différentes. Au début de notre recherche, lors de la phase de revue de la littérature, nous avons découvert qu’un autre groupe avait mené une étude similaire sur les vitesses de chiffrement des ransomwares. Et qui était ce groupe, me demandez-vous ? Tenez-vous bien : c’était justement l’une des équipes qui produisent ces ransomwares. LockBit a publié les résultats sur son site web (et nous ne mettrons pas de lien ici car c’est un site .onion peu recommandable), dans le but de convaincre des affiliés potentiels de rejoindre l’équipe de LockBit, car ils étaient les plus rapides et donc les meilleurs. Une chose était claire : une fois notre étude terminée, il faudrait tester les conclusions de LockBit.
Lisez la suite pour tout savoir !
LockBit a publié son rapport en février 2021. Le groupe a testé les vitesses de chiffrement de 36 variantes de ransomwares différentes, dont deux des leurs : LockBit 1.0 et LockBit 2.0. LockBit 1.0 était déjà considéré comme l’un des rançongiciels les plus rapides, sinon le plus rapide. Dans ces conditions, pourquoi créer LockBit 2.0 ? Et cette nouvelle version est-elle réellement plus rapide ?
Fig. 1. Capture d’écran de la comparaison par LockBit des vitesses de chiffrement des ransomwares.
Les résultats montrent que LockBit 2.0 était en effet plus rapide que LockBit 1.0, et que les deux étaient loin devant les autres variantes de ransomware. Selon ces données, LockBit 2.0 était deux fois plus rapide que la variante non-LockBit la plus proche, Cuba. LockBit a inclus les échantillons de ransomware sur son site web avec cet appel à l’action : « Si vous avez des doutes concernant ce tableau, vous pouvez facilement vérifier les informations fournies en téléchargeant les échantillons qui ont été utilisés pour les tests. »
Nous avons voulu tester Lockbit 3.0 (mentionné dans ce blog), mais malgré des heures de recherche sur Google, de supplications sur Twitter et d’envoi de messages à des groupes Keybase et Slack secrets… nous n’avons pas pu en trouver un seul échantillon !
Avions-nous des doutes sur la rapidité de LockBit ? Non. Avions-nous des doutes sur leurs conclusions générales ? Oui. Nos recherches initiales ont révélé que la vitesse de chiffrement de Babuk était beaucoup plus proche de celle de LockBit que ce que LockBit avait rapporté. Après ce constat, nous savions qu’un plan de test complet était indispensable pour débusquer les autres erreurs.
Le tableau de LockBit était la seule référence dont nous disposions pour reproduire cette expérience. LockBit fournit les détails suivants :
S’il y a un aspect sur lequel nous aurions voulu avoir davantage d’informations, c’est le jeu de données que LockBit a utilisé pour l’expérience de chiffrement. Cela nous aiderait à mieux comprendre certaines de leurs découvertes, comme le temps nécessaire pour chiffrer 100 Go et 10 To. Ont-ils utilisé des types et des tailles de fichiers variés, ou ont-ils utilisé des milliers de copies du même fichier pour tester le chiffrement ?
LockBit a fourni les spécifications du système d’exploitation, du processeur et de la mémoire qu’ils ont utilisés dans leurs tests. Pour le disque dur, ils mentionnent un SSD, mais rien sur les IOPS ou le débit des disques sous-jacents. Ce blog donne un aperçu de haut niveau de l’impact que peuvent avoir les IOPS et le débit sur les performances des applications. Nous avons constaté dans nos recherches initiales que la vitesse du disque est tout aussi importante que la vitesse du processeur et le nombre de processeurs en ce qui concerne les performances de chiffrement globales.
Synthèse des résultats des tests de LockBit :
Pour ces tests, nous avons utilisé la même approche que dans notre projet de recherche précédent. Nous avons créé un environnement identique pour chaque variante testée. Une version modifiée de Splunk Attack Range a été utilisée pour créer les systèmes dans Amazon Web Services (AWS). Le système « victime » présentait les spécifications suivantes :
Ce sont les spécifications les plus proches que nous avons pu trouver dans AWS pour répliquer les tests de LockBit. La vitesse du disque était la plus élevée disponible, mais elle était la même pour toutes les variantes. Et comme mentionné précédemment, nous avons utilisé notre ensemble de données « victime », contenant de nombreux types et tailles de fichiers, afin de répliquer au mieux un système de fichiers réel.
Nous avons testé chaque variante individuellement pour éviter toute contamination par d’autres variantes susceptibles de se propager latéralement au cours de l’expérience. Chaque variante a été lancée manuellement, car certaines ne fonctionnent pas bien lorsqu’elles sont lancées via PowerShell (oui Babuk, je parle de toi). Nous avons effectué une observation manuelle via RDP pour confirmer l’aboutissement de chaque test.
Dans notre laboratoire, nous avons également configuré un serveur Windows 2019 agissant en tant que contrôleur de domaine. Il n’avait pas de disques partagés, mais aucune règle de pare-feu sur le système ou AWS n’empêchait l’accès entre celui-ci et le système « victime » initial.
Avant les révélations, sachez simplement que nos résultats étaient proches de ceux de LockBit, mais pas identiques. Et je pense que vous pouvez avoir davantage confiance en nous qu’en une équipe de pirates à la fois juge et partie dans ses tests.
Cela dit, LockBit encore une fois remporté la première place lors de nos tests. Mais pas LockBit 2.0 ! LockBit 1.0 était en fait plus rapide que son homologue plus récent. Pas de beaucoup, mais tout de même.
Temps de chiffrement total :
Cependant, LockBit 2.0 est beaucoup plus efficace que 1.0 : il utilise deux fois moins de threads CPU et accède au disque 27 fois de moins. Il semble donc que LockBit ait apporté un certain nombre d’améliorations entre ces deux versions, mais pas dans le domaine de la vitesse globale.
Mais LockBit 2.0 est quand même arrivé juste derrière 1.0, non ? Tout faux. Une autre variante a fait reculer LockBit 2.0 d’une place !
Petit résumé de nos résultats :
PwndLocker, LockBit 1.0 et LockBit 2.0 exécutent des méthodes de chiffrement partiel similaires, ce qui permet d’accélérer le chiffrement.
LockBit 2.0 ne chiffre que les 4 premiers Ko d’un fichier et laisse le reste intact. C’est encore suffisant pour rendre la plupart des fichiers inutilisables après le chiffrement.
Fig. 2. Capture d’écran d’un exemple de fichier .txt chiffré par LockBit 2.0 (les 4 premiers Ko, en rouge, ont été chiffrés et le début du reste, en vert, n’a pas été modifié).
PwndLocker ne touche pas aux 128 premiers octets, chiffre seulement les 64 Ko suivants et laisse le reste intact.
Fig. 3. Capture d’écran d’un exemple de fichier .txt crypté par PwndLocker (128 octets non chiffrés en vert, chiffrement des 64 Ko suivants en rouge).
Et notre variante la plus rapide, LockBit 1.0, chiffre 256 Ko de chaque fichier très rapidement en utilisant un nombre élevé de threads CPU ainsi qu’un grand nombre d’accès au disque.
Les variantes les plus rapides ont tendance à utiliser des méthodes de chiffrement partiel, davantage de threads CPU ou une combinaison des deux.
Avos termine bon dernier dans le test de LockBit comme dans le nôtre. Cependant, en dehors de ce classement, peu de résultats coïncident entre les deux séries de tests. Nous avons ajouté un tableau détaillé de nos résultats de test indiquant les statistiques de chiffrement à la fin de ce blog.
Voici le tableau comparant nos résultats de test à ceux de LockBit.
Variante |
Classement au test Splunk |
Classement au test LockBit |
LockBit 1.0 |
1 |
2 |
PwndLocker |
2 |
15 |
LockBit 2.0 |
3 |
1 |
Conti |
4 |
19 |
Babuk 2.0 |
5 |
5 |
SunCrypt |
6 |
17 |
Sodinokibi |
7 |
6 |
REvil-A |
8 |
18 |
Ryuk |
9 |
20 |
REvil-B |
10 |
33 |
RansomEXX |
11 |
10 |
DarkSide-A |
12 |
23 |
DarkSide-B |
13 |
22 |
Ragnar |
14 |
7 |
DarkSide-C |
15 |
31 |
Cuba |
16 |
3 |
BlackMatter |
17 |
4 |
BlackKingdom |
18 |
33 |
Phoenix |
19 |
29 |
Ranzy |
20 |
14 |
MAKOP |
21 |
9 |
DearCry |
22 |
25 |
Avaddon |
23 |
12 |
Pysa |
24 |
11 |
Hades |
25 |
30 |
Sekhmet |
26 |
16 |
MountLocker |
27 |
26 |
Thanos |
28 |
13 |
Zeppelin |
29 |
21 |
MedusaLocker |
30 |
28 |
Nefilim |
31 |
24 |
Nemty |
32 |
27 |
Babuk 1.0 |
33 |
32 |
Avos |
34 |
34 |
Notre principale hypothèse concernant les divergences entre les résultats est l’utilisation de différents types et tailles de fichiers. Si nous savions quel ensemble de données LockBit a utilisé, nous aurions plus d’informations sur les résultats de leurs tests.
Après cette expérience, voici quelques points clés et recommandations :
Il était intéressant d’utiliser dans nos tests les mêmes échantillons que LockBit. Si le classement des échantillons les plus rapides et les plus lents était étroitement aligné entre les tests, entre ces extrêmes, les résultats étaient très différents. Cependant, le temps total nécessaire au chiffrement de notre système de fichiers de test était encore assez court, même dans les tests les plus lents, ce qui nous incite à réitérer notre recommandation de regarder en amont de l’explosion lorsque vous hiérarchisez vos défenses réseau.
Bonne chasse !
Statistiques de chiffrement de nos tests :
Variante |
Total des chiffrements |
Durée en minutes |
Chiffrements par minute |
LockBit 1.0 |
98552 |
2,33 |
42297 |
PwndLocker |
98388 |
2,47 |
39833 |
LockBit 2.0 |
98548 |
2,5 |
39419 |
Conti |
98560 |
3,6 |
27378 |
Babuk 2.0 |
98560 |
4,63 |
21287 |
SunCrypt |
95805 |
4,8 |
19959 |
Sodinokibi |
98553 |
5,27 |
18701 |
REvil-A |
98553 |
5,32 |
18525 |
Ryuk |
98384 |
5,93 |
16591 |
REvil-B |
98553 |
9,87 |
9985 |
RansomEXX |
88192 |
9,95 |
8864 |
DarkSide-A |
98553 |
12,47 |
7903 |
DarkSide-B |
98553 |
15,48 |
6366 |
Ragnar |
98560 |
16,97 |
5808 |
DarkSide-C |
98446 |
23,25 |
4234 |
Cuba |
98560 |
23,45 |
4203 |
BlackMatter |
98553 |
26,63 |
3701 |
BlackKingdom |
98560 |
28,73 |
3431 |
Phoenix |
98552 |
29,05 |
3392 |
Ranzy |
98660 |
30,3 |
3256 |
MAKOP |
98560 |
30,97 |
3182 |
DearCry |
94537 |
32,6 |
2900 |
Avaddon |
98660 |
37,48 |
2632 |
Pysa |
97080 |
39,6 |
2452 |
Hades |
98552 |
42 |
2346 |
Sekhmet |
98560 |
47,88 |
2058 |
MountLocker |
98559 |
49,53 |
1990 |
Thanos |
93808 |
53,88 |
1741 |
Zeppelin |
98046 |
53,92 |
1818 |
MedusaLocker |
98560 |
58,68 |
1680 |
Nefilim |
98560 |
60,97 |
1617 |
Nemty |
98046 |
99,03 |
990,1 |
Babuk 1.0 |
98560 |
108,3 |
910,06 |
Avos |
69360 |
132,2 |
524,66 |
Valeurs de hash SHA256 des fichiers des échantillons testés :
Variante |
SHA256 |
Avaddon |
05af0cf40590aef24b28fa04c6b4998b7ab3b7f26e60c507adb84f3d837778f2 |
Avos |
01792043e07a0db52664c5878b253531b293754dc6fd6a8426899c1a66ddd61f |
Babuk 1.0 |
8203c2f00ecd3ae960cb3247a7d7bfb35e55c38939607c85dbdb5c92f0495fa9 |
Babuk 2.0 |
c4282e9040cdc1df92b722568a8b4c42ce9f6533fed0bd34b7fdbae264947784 |
BlackKingdom |
c4aa94c73a50b2deca0401f97e4202337e522be3df629b3ef91e706488b64908 |
BlackMatter |
22d7d67c3af10b1a37f277ebabe2d1eb4fd25afbd6437d4377400e148bcc08d6 |
Conti |
ebeca2df24a55c629cf0ce0d4b703ed632819d8ac101b1b930ec666760036124 |
Cuba |
271ef3c1d022829f0b15f2471d05a28d4786abafd0a9e1e742bde3f6b36872ad |
DarkSide-A |
243dff06fc80a049f4fb37292f8b8def0fce29768f345c88ee10699e22b0ae60 |
DarkSide-B |
4d9432e8a0ceb64c34b13d550251b8d9478ca784e50105dc0d729490fb861d1a |
DarkSide-C |
9cee5522a7ca2bfca7cd3d9daba23e9a30deb6205f56c12045839075f7627297 |
DearCry |
2b9838da7edb0decd32b086e47a31e8f5733b5981ad8247a2f9508e232589bff |
Hades |
fe997a590a68d98f95ac0b6c994ba69c3b2ece9841277b7fecd9dfaa6f589a87 |
LockBit 1.0 |
95739e350d7f2aca2c609768ee72ad67fcf05efca5c7ad8df3027c82b9c454cf |
LockBit 2.0 |
e1330fcb0a11f4a3f88ce551726cea82dfc0b4adc71fbfefcfc84f73c1ec8b7f |
MAKOP |
2b5a3934d3e81fee4654bb1a7288c81af158a6d48a666cf8e379b0492551188f |
MedusaLocker |
dde3c98b6a370fb8d1785f3134a76cb465cd663db20dffe011da57a4de37aa95 |
MountLocker |
226a723ffb4a91d9950a8b266167c5b354ab0db1dc225578494917fe53867ef2 |
Nefilim |
0bafde9b22d7147de8fdb852bcd529b1730acddc9eb71316b66c180106f777f5 |
Nemty |
a2fe2942436546be34c1f83639f1624cae786ab2a57a29a75f27520792cbf3da |
Phoenix |
008ec79765325200361d9c93ac35edd430f8b17894ff843268caa5acd6224549 |
PwndLocker |
4e6c191325b37da546e72f4a7334d820995d744bf7bb1a03605adb3ad30ce9ca |
Pysa |
af99b482eb0b3ff976fa719bf0079da15f62a6c203911655ed93e52ae05c4ac8 |
Ragnar |
9bdd7f965d1c67396afb0a84c78b4d12118ff377db7efdca4a1340933120f376 |
RansomEXX |
4cae449450c07b7aa74314173c7b00d409eabfe22b86859f3b3acedd66010458 |
Ranzy |
c4f72b292750e9332b1f1b9761d5aefc07301bc15edf31adeaf2e608000ec1c9 |
REvil-A |
12d8bfa1aeb557c146b98f069f3456cc8392863a2f4ad938722cd7ca1a773b39 |
REvil-B |
d74f04f0b948d9586629e06e2a2a21bdf20d678e47058afb637414eb3701c1f6 |
Ryuk |
7faeb64c50cd15d036ca259a047d6c62ed491fff3729433fefba0b02c059d5ed |
WasSekhmet |
b2945f293ee3f68a97cc493774ff1e8818f104fb92ef9dbeead05a32fc7006ff |
Sodinokibi |
06b323e0b626dc4f051596a39f52c46b35f88ea6f85a56de0fd76ec73c7f3851 |
SunCrypt |
3090bff3d16b0b150444c3bfb196229ba0ab0b6b826fa306803de0192beddb80 |
Thanos |
8a4a038a965ba42a0442d44abf25e4d21f5049d4a4a8aa9cb6691ec4282814a1 |
Zeppelin |
b7f96fbb9844cac5c7f4ec966683f3564bbb9a2f453927e1c579dcb0154f5f83 |
Auteurs et contributeurs : comme toujours, la sécurité chez Splunk est une affaire de famille. Crédit aux auteurs et collaborateurs : Shannon Davis, Ryan Kovar
Photo principale/d’en-tête par Artem Beliaïkin de Pexels
*Cet article est une traduction de celui initialement publié sur le blog Splunk anglais.
La plateforme Splunk élimine les obstacles qui séparent les données de l'action, pour donner aux équipes d'observabilité, d'IT et de sécurité les moyens de préserver la sécurité, la résilience et le pouvoir d'innovation de leur organisation.
Fondée en 2003, Splunk est une entreprise internationale. Ses plus de 7 500 employés, les Splunkers, ont déjà obtenu plus de 1 020 brevets à ce jour, et ses solutions sont disponibles dans 21 régions du monde. Ouverte et extensible, la plateforme de données Splunk prend en charge les données de tous les environnements pour donner à toutes les équipes d'une entreprise une visibilité complète et contextualisée sur l'ensemble des interactions et des processus métier. Splunk, une base solide pour vos données.