web-dev-qa-db-fra.com

Pourquoi tant de ransomwares sont-ils cassables?

Le site: https://www.nomoreransom.org/ propose de nombreux outils de décryptage pour ransomware.

Mais pourquoi?

Il ne devrait pas être si difficile d'utiliser l'API Windows Crypto (par exemple, simplement google "créer une clé AES dans Windows") pour créer des clés AES, les crypter avec une clé RSA publique générée localement et crypter la clé RSA privée correspondante avec un RSA public Clé que l'attaquant contrôle. (La méthode de Wanacry.)

Si la victime paie la rançon, elle doit envoyer la clé RSA privée chiffrée aux attaquants et, espérons-le, récupérer la clé RSA privée déchiffrée.

Pourquoi ces gens essaient-ils de réinventer la roue et commettent-ils des erreurs qui permettent le développement d'outils de décryptage?

67
kiara

Divulgation: Je travaille pour l'un des fournisseurs participant à NoMoreRansom.

La plupart des ransomwares modernes implémentent en effet une cryptographie appropriée. Les versions antérieures utilisaient Rand() pour la génération de clés, ensemencant les générateurs aléatoires avec des variantes de time() - c'est pourquoi il était important pour un décryptage réussi de savoir exactement quand l'infection s'est produite; idéalement en quelques minutes. Ceux-ci pourraient être décryptés avec force brute. Mais la plupart des ransomwares modernes utilisent en effet soit l'API Windows Crypto, soit des bibliothèques de crypto groupées.

Cependant, peu importe la façon dont le ransomware est correctement implémenté, il y a toujours un point faible - pour faciliter le déchiffrement, la ou les clés doivent être stockées quelque part. Cet emplacement pourrait être localisé par des sociétés de sécurité, qui travailleraient avec les forces de l'ordre pour le reprendre. L'accès au serveur permet à l'entreprise de sécurité de décrypter les fichiers des victimes de ransomwares. C'est par exemple le cas du ransomware GangCrab.

100
George Y.

C'est juste une question de coût/gain. Les développeurs de ransomwares ne veulent généralement pas créer un outil de sécurité avec toutes les révisions impliquées. Ils veulent juste l'outil moins cher qui leur permettra d'obtenir plus d'argent qu'il n'en coûte. Bien sûr, ils sont probablement cassables, mais qui s'en soucie? À condition que certaines des premières victimes aient payé ce qu'on leur a demandé, l'agresseur reçoit beaucoup plus d'argent qu'il n'en a dépensé. De plus, plus vous en utilisez un longtemps, plus le risque d'être pris est élevé si une agence gouvernementale de sécurité parvient à intervenir.

C'est plus ou moins ce que font de nombreux voleurs dans la vie réelle lorsqu'ils parviennent à entrer dans une maison au hasard: prendre les choses les plus précieuses dans les plus brefs délais et s'en aller.

Les choses sont différentes à la fois dans la vie réelle et dans le monde informatique pour les attaques ciblées. Si vous voulez attaquer une banque ou une bijouterie, le gain devrait être suffisamment élevé pour passer beaucoup de temps de préparation. De même, lorsqu'un service gouvernemental attaque une cible stratégique, il utilisera des outils de meilleure qualité. Mais il est rarement utilisé pour des cibles aléatoires.

49
Serge Ballesta

La réponse évidente est qu'aucun criminel ne voudrait interagir aussi directement avec sa victime.

"envoyer la clé RSA privée chiffrée aux attaquants"

nécessite un point de contact cohérent.

Dans le modèle actuel, toute la communication est à sens unique et fongible:

  • un logiciel malveillant affiche un écran demandant à la victime de déposer des bitcoins (pas de contact direct)
  • les criminels surveillent les dépôts et envoient un e-mail avec la clé (la communication est automatisée et à sens unique à partir de tout intermédiaire jetable)

Le modèle actuel fonctionne si bien qu'il est l'une des principales menaces mondiales. Il existe toujours des moyens d'améliorer un système, mais s'il n'est pas cassé, quel est l'avantage?

21
schroeder

Franchement, il est assez difficile de réussir un bon cryptage et décryptage de fichiers, même avec une bibliothèque qui est censée le faire pour vous. J'ai essayé de modifier un crypteur (destiné à obscurcir les virus pour cacher leurs signatures des programmes antivirus) qui utilisait à l'origine une technique de décalage de bits très basique, et cela ne fonctionnait pas bien parce que la plupart des programmes antivirus forceraient littéralement le binaire et pourraient réaliser qu'il était en fait un virus! Je voulais remplacer le "cryptage" de bitshift, si vous pouviez même l'appeler ainsi, avec le cryptage AES via une bibliothèque C # que j'avais utilisé avec succès dans le passé pour les chaînes, mais je ne pourrais jamais le faire fonctionner. Un autre problème est que plus votre algorithme de cryptage est compliqué, plus il faut de temps pour balayer l'intégralité du disque, puis décrypter à la fin quand/s'ils paient. Il est également plus susceptible d'échouer au milieu et d'entraîner un travail incomplet.

Ce que j'ai vu une fois sur l'ordinateur de ma grand-mère, avant que le ransomware ne décolle vraiment et ne s'améliore, était un programme de ransomware qui aurait crypté ses fichiers et voulait environ 200 $ pour les décrypter. Tout ce qu'il a fait, en réalité, a été d'ajouter l'extension ".crypted" à la fin de chaque fichier afin que Windows ne sache pas quel programme utiliser pour ouvrir l'un d'eux! Une fois que j'ai compris cela, tout ce qui était nécessaire était d'utiliser le gestionnaire de tâches pour localiser et supprimer le fichier rançongiciel d'origine, puis écrire un script de commandes pour vérifier récursivement chaque fichier du système pour l'extension .crypted et le supprimer s'il est présent. Problème résolu en une heure, pas d'argent payé aux pirates du tout! Mais s'ils avaient utilisé AES, cette technique n'aurait pas fonctionné du tout, et la suppression du fichier de virus détruirait probablement tout espoir que vous ayez jamais eu de casser le cryptage de qualité militaire.

La différence est que le gars qui a utilisé la première technique pour renommer l'extension de fichier afin que Windows ne puisse ouvrir aucun fichier avait probablement déjà des centaines d'infections au moment où le gars utilisant le cryptage de qualité militaire a même terminé son virus, et 5% des personnes qui sont assez intelligents pour réparer le premier sont probablement aussi assez intelligents pour ne pas être infectés par le second. Les 95% restants qui ne pouvaient trouver aucun moyen de réparer l'un ou l'autre des virus autres que le simple paiement de la rançon, l'ont probablement payé la première fois (au gars avec le ransomware facilement cassable), puis ont immédiatement mis en place une solution de sauvegarde complète. pour l'empêcher de se reproduire. S'ils ont ensuite été infectés par le ransomware de qualité militaire, ils ont déjà appris leur leçon une fois et viennent d'être restaurés à partir de la sauvegarde. Espérons que même les personnes qui n'ont pas encore été infectées commencent à configurer des sauvegardes, de sorte qu'elles n'ont même jamais à payer la rançon une fois.

À partir de ce scénario, vous pouvez voir comment le gars avec le ransomware facilement cassable peut le libérer en premier, il agit plus rapidement et est plus fiable et plus facile à inverser même si le programme antivirus parvient à supprimer le virus avant le décryptage, et à cause de cela, il fera plus d'argent que la personne qui passe des tonnes de temps à mettre en place un virus ransomware entièrement à l'épreuve des balles, mais sera plus tard sur le marché après que les gens auront commencé à sauvegarder et à sauvegarder leurs fichiers importants.

5