.dll

Mais c’est quoi ce foutu machin ? DLL par ci, DLL par là, j’entends parler de ça depuis trop longtemps sans jamais m’être penché sur ce que c’était. Il est temps de regarder.

Dynamic Link Library

Lisons un peu wikipedia pour comprendre.

Une bibliothèque logicielle (library) peut être statique, partagée ou dynamique.

  • Statique : la bibliothèque est incluse dans le programme au moment de sa compilation.
  • Partagée : la bibliothèque est donc partagée entre plusieurs programmes qui, à leur lancement, font le lien avec la bibliothèque en question.
  • Dynamique : C’est pareil que partagé mais en plus dynamique, avec les avantages et les inconvénients que cela entraîne.

Le mode de gestion des DLL sous Windows peut induire différents problèmes (version obsolète, usurpation, etc.).

Comment usurper une DDL ?

Tellement simple, sur le papier : quand un programme charge une DLL, il y a un ordre de recherche dans le système Windows. Il suffit donc de (réussir à) placer une DLL malveillante qui se charge plus tôt dans l’ordre de recherche que la DLL légitime, souvent dans un dossier ou un sous-dossier du programme visé. Par exemple, QBot (ou QakBot) a utilisé cette technique via la calculatrice Windows1 ! Un article de BleepingComputer détaille le procédé.

A voir également