nov. 11, 2026
Cybersécurité

DLL hijacking : comment une bibliothèque piégée peut détourner un logiciel Windows

Le DLL hijacking exploite la manière dont Windows cherche certaines bibliothèques. Comprenez les risques pour les utilisateurs et les développeurs, sans manipulations dangereuses.

Concept visuel de chaîne de confiance logicielle, fichier et bouclier de sécurité, sans personnage menaçant.
Sur cette page
  1. Qu'est-ce que le DLL hijacking ?
  2. Pourquoi l'ordre de recherche des DLL compte-t-il ?
  3. Quel est le danger pour l'utilisateur ?
  4. Comment réduire le risque sur un PC Windows ?
  5. Bonnes pratiques pour les développeurs
  6. Comment enquêter sur un soupçon de DLL détournée ?
  7. Ce qu'il faut retenir

Qu'est-ce que le DLL hijacking ?

Le DLL hijacking désigne une famille de techniques par lesquelles un programme charge une bibliothèque de liens dynamiques (.dll) différente de celle prévue. Dans certains scénarios, un attaquant parvient à placer un fichier malveillant dans un emplacement que l'application est susceptible de consulter avant le bon composant.

Microsoft décrit ce risque dans sa documentation consacrée à l'ordre de recherche des DLL et à la sécurité du chargement dynamique. Toutes les applications Windows ne sont pas vulnérables : le risque dépend du mode de chargement, des chemins, des privilèges et du contrôle des dossiers concernés.

Pourquoi l'ordre de recherche des DLL compte-t-il ?

Quand une application demande à Windows de charger une DLL sans chemin complet, le système utilise un ordre de recherche dépendant du type d'application et de plusieurs mécanismes de protection. Si un emplacement recherché peut être modifié par un acteur malveillant, une bibliothèque non prévue peut être chargée.

Le comportement précis varie selon les versions de Windows, les applications empaquetées, les listes de DLL connues, les manifestes et l'utilisation de fonctions de chargement sécurisées. Il ne suffit donc pas d'affirmer « Windows charge toujours la DLL du dossier courant » : ce serait une simplification inexacte.

Quel est le danger pour l'utilisateur ?

Le chargement d'une bibliothèque malveillante peut permettre l'exécution de code avec les droits du processus qui l'a chargée. Si ce processus dispose de privilèges élevés, les conséquences peuvent être plus graves. Le danger augmente lorsque l'utilisateur exécute des logiciels non fiables ou copie des DLL dont la provenance n'est pas vérifiée.

Un fichier portant un nom connu comme MSVCP140.dll n'est pas nécessairement authentique : le nom n'est pas une preuve de légitimité. Un antivirus ou une signature peuvent aider à l'analyse, mais aucun contrôle unique ne garantit l'innocuité absolue d'un fichier.

Comment réduire le risque sur un PC Windows ?

  • Installez les logiciels et leurs dépendances depuis des éditeurs identifiés.
  • Maintenez Windows et les applications à jour.
  • Évitez les packs « toutes les DLL manquantes » téléchargés sur des sites non vérifiés.
  • Utilisez un compte standard pour le travail quotidien lorsque possible.
  • Gardez la protection antivirus active et surveillez les alertes d'intégrité.
  • Ne placez pas de DLL récupérées au hasard dans les dossiers système.

Si un programme demande un fichier, identifiez son package d'origine et privilégiez l'installateur officiel. Nos dossiers sur VCRUNTIME140_1.dll et XINPUT1_3.dll expliquent cette méthode.

Bonnes pratiques pour les développeurs

Microsoft recommande, selon les cas, de spécifier un chemin fiable et de limiter les dossiers utilisés pour charger les DLL. Les fonctions et indicateurs Windows conçus pour contrôler l'ordre de chargement, ainsi que les politiques de packaging et de signature, peuvent réduire la surface d'attaque.

Il faut vérifier les dépendances réelles d'une application et tester ses mécanismes de mise à jour. Une application qui accepte des extensions tierces doit traiter séparément ce scénario : une stratégie trop restrictive peut casser des modules légitimes.

Comment enquêter sur un soupçon de DLL détournée ?

Un utilisateur peut relever le chemin de la DLL chargée, son éditeur, sa signature et les événements de sécurité, puis demander une analyse à une équipe IT ou sécurité. Évitez les suppressions manuelles à l'aveugle : retirer une bibliothèque utilisée par un programme peut empêcher son démarrage et faire perdre des éléments d'investigation.

Un administrateur peut enrichir l'enquête avec la télémétrie d'exécution et les outils de sécurité déjà déployés. Ce guide ne fournit pas de procédure permettant de mettre en place un détournement.

Ce qu'il faut retenir

Un avertissement « DLL manquante » n'est pas un indice d'attaque à lui seul. La meilleure prévention est la provenance fiable des logiciels, la réduction des privilèges et le chargement sécurisé des bibliothèques par les développeurs.

Sources

  1. Dynamic-Link Library Security — Microsoft
  2. Dynamic-link library search order — Microsoft