Détecter et se protéger
contre les ransomwares
[Guide pas à pas]

Les ransomwares (ou rançongiciel) - logiciel informatique malveillant qui prend en otage des données et demande une rançon en échange d'une clé permettant de les déchiffrer - représentant une préoccupation croissante, selon le FBI.

FileAudit joue un rôle crucial en ce qui concerne la détection et la protection d'un réseau contre ces attaques. Dans cet article, nous allons détailler pas à pas comment configurer FileAudit de façon à détecter et arrêter les attaques de ransomware.

Fonctionnement du chiffrement des ransomwares

Un ransomware de chiffrement arrive généralement à travers une pièce jointe d’un email ouverte par un employé négligent. Une faille de sécurité est exploitée, puis un code malveillant est lancé, ce qui permet ensuite de télécharger et d’installer un programme sur la machine de la victime.

Ensuite, le programme contactera un serveur distant qui appartient aux attaquants, puis une paire de clés de chiffrement asymétrique sera générée. La clé privée sera conservée sur le serveur attaquant alors que la clé publique sera stockée sur l’ordinateur de la victime. C’est alors que le programme peut commencer à chiffrer tous les fichiers auxquels l'utilisateur a accès en générant une clé de chiffrement symétrique aléatoire pour chaque fichier. Il va ensuite chiffrer le fichier avec cette clé et ajouter à la fin du fichier la clé de chiffrement chiffrée avec la clé asymétrique publique.

Cela fonctionne de cette façon car le chiffrement direct des données avec une clé asymétrique est 1000 fois plus lent qu'avec une clé symétrique. Sans la clé privée, il n'est pas possible de déchiffrer les fichiers.

C’est alors que l’attaquant pourra demander une rançon pour révéler la clé privée qui permettra de déchiffrer les fichiers.

Configuration de FileAudit pour détecter les attaques de ransomware

Lorsque qu’un ransomware commence à chiffrer des fichiers dans un dossier ou un partage audité par FileAudit, cela va déclencher un grand nombre d’événements d'accès dans FileAudit. C’est alors que nous pourrons utiliser des alertes d'accès en masse pour le détecter.

Tout d’abord il faut comprendre les types d’accès générés par le chiffrement d’un fichier. Tout d’abord, le contenu du fichier va être lu pour être chargé en mémoire. Ensuite, les données sont chiffrées et écrite dans un nouveau fichier. Enfin, le fichier d’origine est supprimé.

En conséquence, nous devrions voir trois évènements d’accès consécutifs dans FileAudit: une lecture, une écriture et une suppression. Ainsi, afin de détecter une attaque de chiffrement massive sur un serveur de fichiers, il faut définir trois alertes de masse: lecture massive, écriture massive et suppression massive. Si nous recevons les trois alertes simultanément, nous serons très probablement face à une attaque de ransomware.

Pour tester cette hypothèse, nous avons développé un outil qui peut chiffrer tous les fichiers dans un dossier spécifique.

L'outil permet de générer une arborescence de dossiers contenant de nombreux fichiers. Les noms des fichiers du dossier correspondront tous au modèle EncryptMe*.* afin d’éviter des erreurs ultérieurement lorsque la tâche de chiffrement sera exécutée. Les fichiers qui ne correspondent pas au modèle ne seront pas chiffrés. Il y a environ 8000 fichiers dans le dossier.

Note : L’outil de simulation peut être téléchargé en cliquant ici.
Le Framework .NET 4 (ou plus) est requis pour faire tourner l’outil.

 

Une fois l’arborescence de dossiers générée, il faut alors configurer le dossier à auditer dans FileAudit.

Ensuite, nous allons créer les trois alertes de masse dans FileAudit par type d'accès : respectivement lecture, écriture et suppression.

Nous conservons les seuils par défaut pour le moment. Nous verrons plus tard si nous devons les ajuster.

Dans les alertes ajoutées aux chemins surveillés de FileAudit, nous spécifions l’étoile (*) pour surveiller tous les chemins vérifiés.

Il faut ensuite sauvegarder l'alerte et s’assurer que les paramètres SMTP ont été correctement configurés dans les paramètres de FileAudit.

Note : Vous pouvez également configurer une "alerte d'accès unique" pour les extensions de fichiers pouvant être générées à partir d'un logiciel ransomware, tel que .cryptolocker. La capture d'écran ci-dessous montre une liste des extensions courantes de ransomware.

Simulation d’attaque ransomware

Tout est configuré dans FileAudit, nous pouvons alors lancer la simulation. Nous ouvrons une session sur un poste de travail avec le compte Bob, nous lançons ensuite l'outil de chiffrement et spécifions le dossier préalablement créé avec un chemin UNC. Il faut alors cliquer sur le bouton « Encrypt ».

Nous vérifions immédiatement le dossier racine et nous constatons que les extensions des fichiers ont été modifiées. De plus, si nous essayons d'afficher le contenu d'un fichier, il n'y a que des données aléatoires.

Il faut alors vérifier la boîte aux lettres de l'administrateur. Nous voyons bien les trois alertes comme prévu. Nous recevons également des alertes successives chaque minute, car le chiffrement a pris plus de temps que la période de latence (plus d’une minute dans ce cas).

Grâce à l’observateur d’accès de FileAudit, nous pouvons confirmer nos soupçons. Pour chaque fichier, le fichier est lu, un nouveau fichier est écrit et le fichier original est supprimé.

Si nous regardons les statistiques dans FileAudit, l’utilisateur responsable du chiffrement massif se trouve parmi les 5 premiers utilisateurs et l’adresse IP à partir de laquelle le chiffrement a été effectué se trouve dans les 5 principales sources.

Note : Notre outil émule un chiffrement similaire à celui du monde réel des ransomwares.

Arrêter l’attaque de ransomware

Maintenant que nous avons vu comment détecter l’attaque, nous allons voir comment l’arrêter. Avec la dernière version de FileAudit, vous pouvez désormais réagir aux attaques afin d’éviter tout dommage important, à l’aide d’un script qui peut être créé et exécuté à chaque fois qu’une alerte spécifique est déclenchée.

Dans ce cas, vous pouvez donc exécuter un script pour déconnecter l’utilisateur automatiquement lorsque les trois alertes de lecture, écriture et suppression sont déclenchées. De cette façon, vous arrêtez l’attaque immédiatement, pas seulement lorsque le service informatique intervient.

Nous retournons donc dans la configuration de nos alertes. Pour chaque alerte, dans l'onglet exécution, nous configurons le script pour détecter les trois alertes comme ceci:

En détail, le champ Paramètre(s) est:
-UserName {UserName} -AccessTypes {DisplayAccessTypes} -ServerName '{ServerName}' -ComputerName '{ClientNames}'

Les trois alertes doivent avoir le même script configuré.

Note 1 : Pour télécharger le script, cliquez ici.

Note 2 : Le compte d'utilisateur qui exécute le script doit être un compte d'administrateur de domaine, car le script ferme la session utilisateur qui a déclenché les alertes (qui est le compte exécutant le processus de rançongiciel).

Conclusion

FileAudit permet de détecter et d’arrêter une attaque de ransomware afin d’éviter des dommages trop importants. Cependant, dans le domaine de la sécurité informatique, une défense en profondeur fait partie intégrante d'une stratégie de protection solide. Une sauvegarde reste bien évidemment votre ligne de défense ultime.

Découvrez FileAudit grâce
à un essai gratuit de 20 jours.

Essai gratuit