Logiciels malveillants

Attaques de vulnérabilité de détournement de DLL, prévention et détection

Attaques de vulnérabilité de détournement de DLL, prévention et détection

DLL signifie Dynamic Link Libraries et sont des parties externes d'applications qui s'exécutent sur Windows ou tout autre système d'exploitation. La plupart des applications ne sont pas complètes en elles-mêmes et stockent le code dans différents fichiers. Si le code est nécessaire, le fichier associé est chargé en mémoire et utilisé. Cela réduit la taille du fichier d'application tout en optimisant l'utilisation de la RAM. Cet article explique ce qu'est Piratage de DLL et comment le détecter et le prévenir.

Que sont les fichiers DLL ou les bibliothèques de liens dynamiques

Les fichiers DLL sont des bibliothèques de liens dynamiques et, comme leur nom l'indique, sont des extensions de différentes applications. Toute application que nous utilisons peut ou non utiliser certains codes. Ces codes sont stockés dans différents fichiers et sont invoqués ou chargés dans la RAM uniquement lorsque le code associé est requis. Ainsi, il évite à un fichier d'application de devenir trop volumineux et d'éviter l'accaparement des ressources par l'application.

Le chemin des fichiers DLL est défini par le système d'exploitation Windows. Le chemin est défini à l'aide de variables environnementales globales. Par défaut, si une application demande un fichier DLL, le système d'exploitation regarde dans le même dossier dans lequel l'application est stockée. S'il ne s'y trouve pas, il va dans d'autres dossiers définis par les variables globales. Il y a des priorités attachées aux chemins et cela aide Windows à déterminer les dossiers à rechercher pour les DLL. C'est là qu'intervient le détournement de DLL.

Qu'est-ce que le piratage de DLL

Étant donné que les DLL sont des extensions et nécessaires à l'utilisation de presque toutes les applications sur vos machines, elles sont présentes sur l'ordinateur dans différents dossiers comme expliqué. Si le fichier DLL d'origine est remplacé par un faux fichier DLL contenant du code malveillant, il est appelé Piratage de DLL.

Comme mentionné précédemment, il existe des priorités quant à l'endroit où le système d'exploitation recherche les fichiers DLL. Tout d'abord, il recherche dans le même dossier que le dossier de l'application, puis effectue une recherche en fonction des priorités définies par les variables d'environnement du système d'exploitation. Ainsi, si un bon.dll est dans le dossier SysWOW64 et quelqu'un place un mauvais.dll dans un dossier qui a une priorité plus élevée par rapport au dossier SysWOW64, le système d'exploitation utilisera le mauvais.dll, car il porte le même nom que la DLL demandée par l'application. Une fois en RAM, il peut exécuter le code malveillant contenu dans le fichier et peut compromettre votre ordinateur ou vos réseaux.

Comment détecter le détournement de DLL

La méthode la plus simple pour détecter et empêcher le piratage de DLL consiste à utiliser des outils tiers. Il existe de bons outils gratuits disponibles sur le marché qui aident à détecter une tentative de piratage de DLL et à l'empêcher.

L'un de ces programmes est DLL Hijack Auditor, mais il ne prend en charge que les applications 32 bits. Vous pouvez l'installer sur votre ordinateur et analyser toutes vos applications Windows pour voir quelles applications sont vulnérables au détournement de DLL. L'interface est simple et explicite. Le seul inconvénient de cette application est que vous ne pouvez pas analyser les applications 64 bits.

Un autre programme, pour détecter le détournement de DLL, DLL_HIJACK_DETECT, est disponible via GitHub. Ce programme vérifie les applications pour voir si l'une d'entre elles est vulnérable au détournement de DLL. Si c'est le cas, le programme informe l'utilisateur. L'application a deux versions - x86 et x64 afin que vous puissiez utiliser chacune pour analyser respectivement les applications 32 bits et 64 bits.

Il convient de noter que les programmes ci-dessus ne font qu'analyser les applications sur la plate-forme Windows à la recherche de vulnérabilités et n'empêchent pas réellement le piratage des fichiers DLL.

Comment empêcher le détournement de DLL

Le problème devrait être résolu par les programmeurs en premier lieu car vous ne pouvez pas faire grand-chose à part renforcer vos systèmes de sécurité. Si au lieu d'un chemin relatif, les programmeurs commencent à utiliser un chemin absolu, la vulnérabilité sera réduite. La lecture du chemin absolu, Windows ou tout autre système d'exploitation ne dépendra pas des variables système pour le chemin et ira directement vers la DLL prévue, éliminant ainsi les chances de charger la même DLL de nom dans un chemin de priorité plus élevée. Cette méthode non plus n'est pas infaillible car si le système est compromis et que les cybercriminels connaissent le chemin exact de la DLL, ils remplaceront la DLL d'origine par la fausse DLL. Ce serait écraser le fichier afin que la DLL d'origine soit transformée en code malveillant. Mais encore une fois, le cybercriminel devra connaître le chemin absolu exact mentionné dans l'application qui appelle la DLL. Le processus est difficile pour les cybercriminels et on peut donc compter sur lui.

Pour en revenir à ce que vous pouvez faire, essayez simplement de faire évoluer vos systèmes de sécurité pour mieux sécuriser votre système Windows. Utilisez un bon pare-feu. Si possible, utilisez un pare-feu matériel ou activez le pare-feu du routeur. Utilisez de bons systèmes de détection d'intrusion pour savoir si quelqu'un essaie de jouer avec votre ordinateur.

Si vous souhaitez dépanner des ordinateurs, vous pouvez également effectuer les opérations suivantes pour renforcer votre sécurité :

  1. Désactiver le chargement des DLL à partir des partages réseau distants
  2. Désactiver le chargement des fichiers DLL à partir de WebDAV
  3. Désactivez complètement le service WebClient ou réglez-le sur manuel
  4. Bloquez les ports TCP 445 et 139 car ils sont principalement utilisés pour compromettre les ordinateurs
  5. Installez les dernières mises à jour du système d'exploitation et du logiciel de sécurité.

Microsoft a publié un outil pour bloquer les attaques de détournement de charge DLL. Cet outil atténue le risque d'attaques de piratage de DLL en empêchant les applications de charger du code de manière non sécurisée à partir de fichiers DLL.

Si vous souhaitez ajouter quelque chose à l'article, veuillez commenter ci-dessous.

Top 5 des cartes de capture de jeu
Nous avons tous vu et aimé des gameplays en streaming sur YouTube. PewDiePie, Jakesepticye et Markiplier ne sont que quelques-uns des meilleurs joueur...
Comment développer un jeu sur Linux
Il y a dix ans, peu d'utilisateurs de Linux prédisaient que leur système d'exploitation préféré serait un jour une plate-forme de jeu populaire pour l...
Ports Open Source des moteurs de jeux commerciaux
Les récréations de moteur de jeu gratuites, open source et multiplateformes peuvent être utilisées pour jouer à d'anciens ainsi qu'à certains des titr...