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

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 le détournement de DLL(DLL Hijacking) et comment le détecter et l'empêcher.

Que sont les fichiers(Files) DLL ou les bibliothèques de liens dynamiques(Dynamic Link Libraries)

Piratage de DLL

(DLL)Les fichiers DLL sont des bibliothèques de liens dynamiques(Dynamic Link Libraries) 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 qu'un fichier d'application ne devienne trop volumineux et évite l'accaparement des ressources par l'application.

Le chemin d'accès aux fichiers DLL est défini par le système d'exploitation (DLL)Windows . Le chemin est défini à l'aide de Global Environmental Variables(Global Environmental Variables) . 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 n'y est pas trouvé, il va dans d'autres dossiers définis par les variables globales. Des priorités sont attachées aux chemins et cela aide Windows à déterminer les dossiers dans lesquels rechercher les DLL(DLLs) . C'est là qu'intervient le détournement de DLL .

Qu'est-ce que le piratage de DLL

Les DLL(DLLs) étant 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 s'agit d'un détournement de DLL(DLL Hijacking) .

Comme mentionné précédemment, il existe des priorités quant à l'endroit où le système d'exploitation recherche les fichiers DLL . Tout(First) d'abord , il regarde 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 fichier good.dll se trouve dans le dossier SysWOW64 et que quelqu'un place un bad.dll dans un dossier dont la priorité est supérieure à celle du dossier SysWOW64 , le système d'exploitation utilisera le fichier bad.dll, car il porte le même nom que la DLL . demandée par l'application. Une fois dans la RAM(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 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 sont toutes les applications vulnérables au piratage 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 piratage de DLLDLL_HIJACK_DETECT, est disponible via GitHub . Ce programme vérifie les applications pour voir si l'une d'entre elles est vulnérable au piratage 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 analysent simplement les applications sur la plate-forme Windows à la recherche de (Windows)vulnérabilités et n'empêchent pas réellement le piratage des fichiers DLL .

Comment empêcher le piratage de DLL

Le problème doit ê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. En lisant le 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 le DLL prévu , éliminant ainsi les chances de charger le même nom DLL dans un chemin de priorité plus élevée. Cette méthode n'est pas non plus 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 dessus.

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(secure your Windows system) . Utilisez un bon pare(firewall) -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 afin de 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 de DLL à partir de partages réseau distants
  2. Désactiver le chargement des fichiers DLL depuis (DLL)WebDAV
  3. Désactivez complètement le service WebClient ou réglez-le sur manuel
  4. Bloquez(Block) les ports TCP 445 et 139 car ils sont les plus 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 chargement de DLL . Cet outil atténue le risque d'attaques de piratage de DLL en empêchant les applications de charger de manière non sécurisée du code à partir de fichiers DLL .

Si vous souhaitez ajouter quelque chose à l'article, veuillez commenter ci-dessous.(If you would like to add anything to the article, please comment below.)



About the author

Je suis un développeur iPhone et macOS avec de l'expérience à la fois dans Windows 11/10 et dans la toute nouvelle plate-forme iOS d'Apple. Avec plus de 10 ans d'expérience, j'ai une compréhension approfondie de la façon de créer et de gérer des fichiers sur les deux plateformes. Mes compétences vont au-delà de la simple création de fichiers - j'ai également une solide connaissance des produits Apple, de leurs fonctionnalités et de leur utilisation.



Related posts