Le chercheur en sécurité Yohanes Nugroho a publié un décrypteur pour la variante Linux du ransomware Akira, qui utilise la puissance du GPU pour récupérer la clé de décryptage et déverrouiller des fichiers gratuitement.

Nugroho a développé le décrypteur après avoir demandé l’aide d’un ami, estimant que le système crypté pouvait être résolu en une semaine, sur la base de la façon dont Akira génère des clés de cryptage à l’aide d’horodatages.

Le projet a fini par prendre trois semaines en raison de complexités imprévues, et le chercheur a dépensé 1 200 $en ressources GPU pour déchiffrer la clé de cryptage, mais finalement, il a réussi.

Utilisation des GPU pour forcer les clés brutes
Le décrypteur de Nugroho ne fonctionne pas comme un outil de décryptage traditionnel où les utilisateurs fournissent une clé pour déverrouiller leurs fichiers.

Au lieu de cela, il force brutalement les clés de chiffrement (uniques pour chaque fichier) en exploitant le fait que le chiffreur Akira génère ses clés de chiffrement en fonction de l’heure actuelle (en nanosecondes) en tant que graine.

Une graine de chiffrement est une donnée utilisée avec des fonctions cryptographiques pour générer des clés de chiffrement solides et imprévisibles. Étant donné que la graine influence la génération de la clé, il est essentiel de la garder secrète pour empêcher les attaquants de recréer des clés de chiffrement ou de déchiffrement par force brute ou d’autres attaques cryptographiques.

Akira ransomware génère dynamiquement des clés de chiffrement uniques pour chaque fichier à l’aide de quatre graines d’horodatage différentes avec une précision à la nanoseconde et hache 1 500 tours de SHA-256.

Quatre horodatages utilisés pour générer des clés

Ces clés sont chiffrées avec RSA-4096 et ajoutées à la fin de chaque fichier chiffré, il est donc difficile de les déchiffrer sans la clé privée.

Le niveau de précision de la synchronisation dans les horodatages crée plus d’un milliard de valeurs possibles par seconde, ce qui rend difficile la force brute des touches.

De plus, Nugroho dit que le ransomware Akira sur Linux crypte plusieurs fichiers simultanément en utilisant le multithreading, ce qui rend difficile la détermination de l’horodatage utilisé et ajoute encore plus de complexité.

Threads CPU gérant le cryptage des fichiers à différents moments

Le chercheur a réduit les horodatages possibles à la force brute en examinant les fichiers journaux partagés par son ami. Cela lui a permis de voir quand le ransomware a été exécuté, les métadonnées du fichier pour estimer les temps d’achèvement du chiffrement, et de produire des benchmarks de chiffrement sur différents matériels pour créer des profils prévisibles.

Les premières tentatives utilisant un RTX 3060 étaient beaucoup trop lentes, avec un plafond de seulement 60 millions de tests de cryptage par seconde. La mise à niveau vers un RTC 3090 n’a pas beaucoup aidé non plus.

Finalement, le chercheur s’est tourné vers l’utilisation de RunPod & Vast.ai des services GPU cloud qui offraient suffisamment de puissance au juste prix pour confirmer l’efficacité de son outil.

Plus précisément, il a utilisé seize GPU RTX 4090 pour forcer brutalement la clé de déchiffrement en environ 10 heures. Cependant, en fonction de la quantité de fichiers cryptés à récupérer, le processus peut prendre quelques jours.

Le chercheur a noté dans son article que les experts en GPU pouvaient encore optimiser son code, de sorte que les performances peuvent probablement être améliorées.

Nugroho a rendu le décrypteur disponible sur GitHub, avec des instructions sur la façon de récupérer des fichiers cryptés par Akira.

Comme toujours, lorsque vous tentez de déchiffrer des fichiers, effectuez une sauvegarde des fichiers cryptés d’origine, car il est possible que les fichiers soient corrompus si la mauvaise clé de déchiffrement est utilisée.

Breachtrace n’a pas testé l’outil et ne peut garantir sa sécurité ou son efficacité, utilisez-le donc à vos risques et périls.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *