Points clés
- Utilisez des chemins d’accès complets, validez les DLL à l’aide de signatures numériques et restreignez les autorisations d’écriture dans les répertoires critiques.
- Mettez en place des stratégies de contrôle des applications, comme Microsoft AppLocker ou WDAC, pour bloquer l’exécution de DLL non autorisées.
- Servez-vous d’outils RMM, des journaux d’événements Windows, de Sysmon ou de scripts PowerShell pour suivre l’activité suspecte des DLL et y répondre.
- Une approche hybride, qui associe détection et alertes automatisées à des vérifications manuelles, renforce la détection et la réponse dans les environnements complexes.
Les bibliothèques de liens dynamiques (DLL), souvent préinstallées, sont indispensables au fonctionnement des applications Windows. Les attaquants peuvent toutefois détourner ce comportement par défaut pour injecter du code malveillant et agir sans être repérés. Ce guide présente des stratégies efficaces de prévention du détournement de DLL dans les environnements d’entreprise.
Le fonctionnement du détournement de DLL
Au lancement d’une application Windows, celle-ci recherche les DLL nécessaires selon un ordre prédéfini. Un pirate peut abuser de ce processus en plaçant un fichier DLL malveillant dans le répertoire, lequel sera chargé à la place du fichier légitime.
Voici quelques-unes des menaces de détournement de DLL identifiées ces dernières années :
- APT41 : groupe malveillant qui exploite généralement des variantes du détournement de DLL.
- RTM : recourt à l’injection de DLL pour forcer des applications comme TeamViewer à charger des bibliothèques malveillantes.
- Astaroth : manipule l’ordre de recherche pour télécharger et exécuter des charges utiles malveillantes.
- BOOSTWRITE : code malveillant qui modifie l’ordre de recherche du fichier Dwrite.dll.
Comme cet exploit s’attaque au comportement du système d’exploitation, il peut contourner les logiciels antivirus classiques et d’autres contrôles de sécurité. S’il n’est pas détecté, un fichier DLL frauduleux peut servir de porte dérobée pour exécuter du code malveillant en héritant des privilèges de l’application compromise.
Réduire le risque de détournement de DLL dans les environnements informatiques gérés
Pour limiter le risque de détournement de DLL, les entreprises doivent combiner configuration sécurisée, durcissement des terminaux et surveillance proactive. Voici des stratégies concrètes :
1. Imposer des pratiques sécurisées de chargement des bibliothèques
Comme les attaques par DLL se produisent généralement au moment où le système prépare le chargement d’une application, il est logique de renforcer les stratégies liées à ce comportement et aux répertoires système. Voici quelques références de configuration à envisager :
- Utilisez des chemins d’accès complets dans le code de l’application pour indiquer l’emplacement exact des DLL.
- Validez les DLL à l’aide de signatures numériques afin que seules les bibliothèques de confiance soient chargées.
- Activez le mode de recherche sécurisée des DLL pour donner la priorité aux répertoires système plutôt qu’aux chemins accessibles en écriture par l’utilisateur.
- Restreignez les autorisations d’écriture sur les répertoires inclus dans l’ordre de recherche des DLL, en particulier C:\Windows\System32 et les dossiers d’applications.
De plus, le chargement de DLL distantes doit en général être interdit ou réservé aux utilisateurs autorisés. Activez le mode de recherche sécurisée des DLL, s’il n’est pas déjà défini par défaut, afin d’obliger le système à respecter la hiérarchie lors de la recherche automatique des fichiers DLL.
2. Appliquer des mesures de durcissement des terminaux
Les étapes suivantes portent sur le contrôle des applications. Par souci de cohérence, vous pouvez recourir à des solutions tierces pour identifier et bloquer les logiciels potentiellement malveillants qui tentent de manipuler l’ordre de recherche des DLL.
Vous pouvez par exemple utiliser des stratégies de contrôle des applications (comme Microsoft AppLocker ou Windows Defender Application Control) pour empêcher l’exécution de DLL non autorisées. En intégrant ces contrôles à votre posture de sécurité, vous réduisez nettement votre exposition au détournement de DLL tout en améliorant la résilience globale de vos terminaux.
3. Surveiller et détecter les activités suspectes
Une solution centralisée de gestion informatique, comme un outil de surveillance et gestion à distance (RMM), permet de suivre à grande échelle les modifications apportées aux répertoires critiques (dossiers système, chemins de données d’application, par exemple) et d’alerter les équipes informatiques en cas d’altération potentielle. Certaines solutions peuvent même bloquer automatiquement l’exécution des fichiers frauduleux.
Pour les entreprises qui ne disposent pas d’un RMM, les outils natifs de Windows, tels que les journaux d’événements Windows, Sysmon et les scripts PowerShell, aident à surveiller l’activité des DLL, tandis que les solutions EDR (détection et réponse sur les terminaux) offrent des capacités avancées de détection des menaces.
Une approche hybride, dans laquelle les modifications suspectes dans les répertoires système et applicatifs sont signalées automatiquement, puis vérifiées manuellement ou traitées selon des stratégies personnalisées, est également courante dans les environnements informatiques complexes. Cette stratégie en couches garantit une détection et une réponse rapides aux tentatives de détournement de DLL.
Renforcer la détection et la réponse face au détournement de DLL
Si la prévention constitue le premier niveau de protection, une surveillance continue reste indispensable pour détecter les tentatives de détournement de DLL et y répondre. Les équipes de sécurité doivent par exemple suivre en permanence les chemins de chargement de DLL anormaux, auditer la création de fichiers dans les répertoires exécutables et examiner le comportement des processus à la recherche d’activités inhabituelles.
De plus, les solutions EDR (détection et réponse sur les terminaux) qui ciblent l’exécution suspecte de bibliothèques doivent être clairement définies afin d’identifier les attaques qui contournent les contrôles préventifs. En associant une gestion informatique proactive à une configuration sécurisée, les entreprises renforcent leur résilience face au détournement de DLL et réduisent le risque d’exploits réussis.
Sujets connexes :
