Un ransomware (ou rançongiciel) est un logiciel informatique malveillant qui prend en otage des données (en les chiffrant) et demande une rançon en échange d'une clé qui permettra de les déchiffrer.
FileAudit permet de détecter et protéger un réseau contre ce type d’attaques. Dans cet article, nous allons expliquer pas à pas comment utiliser FileAudit afin de détecter et arrêter les attaques de ransomware.
Comment fonctionne un ransomware ?
Une attaque de ransomware commence généralement par un email, une pièce jointe ouverte par un employé négligent. C’est alors qu’une faille de sécurité est exploitée et que les attaquants lancent un code malveillant. A partir de là, ils téléchargent et installent un programme sur la machine de la victime.
Ensuite, ce programme va contacter un serveur distant qui appartient aux hackers, puis une paire de clés de chiffrement asymétrique sera finalement générée. La clé privée sera conservée sur le serveur attaquant et la clé publique sera stockée sur la machine de la victime. C’est maintenant que le programme commence à 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. Ensuite, le fichier sera chiffré avec cette clé et le programme va ajouter à la fin du fichier la clé de chiffrement chiffrée avec la clé asymétrique publique.
L’attaquant pourra alors demander une rançon pour dévoiler 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 se met à chiffrer des fichiers présents dans un dossier ou un partage audité par FileAudit, cela déclenchera un certain nombre d’événements d'accès dans FileAudit. C’est pourquoi nous pouvons utiliser des alertes d'accès en masse pour le détecter.
Il faut d’abord comprendre les types d’accès générés par le chiffrement d’un fichier. Premièrement, le fichier va être lu pour être chargé en mémoire. Deuxièmement, les données vont être chiffrées et écrites dans un nouveau fichier. Pour finir, le fichier d’origine va être supprimé.
Nous devrions donc voir trois évènements d’accès consécutifs dans FileAudit: une lecture, une écriture et une suppression. C’est pourquoi, pour détecter une attaque de ransomware sur un serveur de fichiers, il faut définir trois alertes de masse dans FileAudit: lecture de masse, écriture de masse et suppression de masse. Si nous recevons les trois alertes simultanément, cela signifie que nous sommes très probablement face à une attaque de ransomware.
Pour tester cette hypothèse, nous avons développé un outil qui permet de chiffrer tous les fichiers dans un dossier spécifique.
Cet outil permet de générer une arborescence de dossiers contenant un grand nombre de fichiers. Les noms des fichiers du dossier correspondront tous au modèle EncryptMe*.* pour é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 : Vous pouvez télécharger l’outil de simulation en cliquant ici.
Le Framework .NET 4 (ou plus) est requis pour faire fonctionner l’outil.
Une fois l’arborescence de dossiers générée, il faut configurer le dossier à auditer dans FileAudit.
Nous allons ensuite 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 pourrons toujours les modifier plus tard si nécessaire.
Dans les alertes ajoutées aux chemins surveillés de FileAudit, il faut spécifier l’étoile (*) pour surveiller tous les chemins vérifiés.
Il suffit ensuite de sauvegarder l'alerte et de 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’une attaque de ransomware
Maintenant que tout est configuré dans FileAudit, nous pouvons lancer une simulation. Il faut donc ouvrir une session sur un poste de travail (ici avec le compte Bob), puis lancer l'outil de chiffrement et spécifier le dossier préalablement créé avec un chemin UNC. Il faut ensuite cliquer sur le bouton « Encrypt ».
Il est temps de vérifier immédiatement le dossier racine afin de constater que les extensions des fichiers ont été modifiées. De plus, lorsque nous essayons d'afficher le contenu d'un fichier, il n'y a que des données aléatoires.
Ensuite, il faut vérifier la boîte aux lettres de l'administrateur. Nous pouvoir bien voir 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 ici).
Rendez-vous ensuite sur l’observateur d’accès de FileAudit où nous pouvons confirmer nos soupçons. Pour chaque fichier, nous pouvons voir trois évènements : lecture, écriture et suppression.
Note : Notre outil émule un chiffrement similaire à celui d’une attaque réelle de ransomware.
Arrêter l’attaque de ransomware
Nous venons de voir comment détecter l’attaque, il est temps de voir comment l’arrêter. Avec FileAudit, vous pouvez réagir automatiquement aux attaques afin d’éviter des dommages importants, à l’aide d’un script qui peut être créé et exécuté lorsqu’une alerte spécifique est déclenchée.
Dans ce cas, il faut donc exécuter un script de déconnexion de l’utilisateur automatiquement lorsque les trois alertes sont déclenchées. De cette façon, vous arrêtez l’attaque immédiatement.
Pour ce faire, il faut retourner dans la configuration des alertes. Pour chaque alerte, dans l'onglet exécution, il faut configurer le script pour détecter les trois alertes comme ci-dessous:
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 ransomware).
Conclusion
Avec FileAudit vous pouvez détecter et arrêter une attaque de ransomware pour éviter des dommages trop importants. Cependant, une défense en profondeur fait partie intégrante d'une stratégie de sécurité solide. Une sauvegarde de vos données reste bien évidemment votre ligne de défense ultime.
Partager