Qu'est-ce qu'une bibliothèque de liens dynamiques?
Une bibliothèque de liens dynamiques est un système utilisé par Microsoft pour permettre à plusieurs applications d'accéder simultanément à la même section de code dans Windows®. C’est l’une des clés du multitâche qui fonctionne efficacement. En 2010, des chercheurs en sécurité ont découvert que des pirates informatiques pourraient exploiter les failles dans le fonctionnement du système de bibliothèques de liens dynamiques. Cela a conduit à un dilemme sur la façon de résoudre ce problème sans affecter la facilité d'utilisation des applications.
Pour comprendre le fonctionnement d'une bibliothèque de liens dynamiques, il est important de comprendre la différence entre Windows® et les applications logicielles. Windows® est un système d'exploitation qui existe en grande partie pour coordonner la manière dont des applications individuelles, également appelées programmes, accèdent aux capacités de traitement de l'ordinateur. Windows® lui-même est finalement un ensemble de codes informatiques qui agissent efficacement comme un livre de règles ou un guide pour la façon dont les applications interagissent les unes avec les autres et avec le matériel.
La bibliothèque de liens dynamiques est le système grâce auquel les applications peuvent accéder aux sections individuelles du code Windows® et les exécuter. Un exemple serait la section de Windows® responsable de l’impression de documents. La plupart des applications ont besoin d'accéder à cette fonctionnalité à un moment donné, mais si chaque application chargeait le code approprié dans la mémoire de l'ordinateur dès le début de son exécution, l'utilisation des ressources en serait inefficace et pourrait générer des conflits.
Pour résoudre ce problème, le code Windows® d'une fonction particulière, en l'occurrence l'impression, est stocké sous la forme d'un petit programme appelé bibliothèque de liens dynamiques ou fichier DLL. Si un utilisateur exécute une application telle qu'un traitement de texte, ce fichier n'est pas ouvert automatiquement. Au lieu de cela, le traitement de texte s'ouvre et active uniquement le fichier au fur et à mesure des besoins, dans ce cas lorsque l'utilisateur souhaite imprimer un document.
Historiquement, de nombreux développeurs d'applications ont simplement écrit du code indiquant le nom du nom de la bibliothèque de liens dynamiques appropriée, plutôt que de spécifier l'emplacement exact sur lequel il devrait être situé. Pour résoudre ce problème, Windows® dispose d'un système permettant de localiser les fichiers DLL manquants en recherchant une liste d'emplacement dans un ordre défini. Bien que cela puisse théoriquement être exploité si un fichier malveillant déguisé en fichier DLL était placé au bon endroit et donc trouvé et ouvert avant le fichier légitime, cela ne constituait pas un risque majeur pour la sécurité, car les pirates auraient besoin d'un accès physique à une machine pour y accéder. le fichier malveillant en place.
En 2010, il a été découvert que les pirates informatiques pouvaient théoriquement obtenir de tels fichiers via une connexion à distance, c'est-à-dire via Internet. Cela signifie que des dizaines d'applications Windows® étaient vulnérables aux attaques utilisant cette méthode. La communauté de sécurité était divisée sur le point de savoir s'il était préférable que les applications individuelles soient réécrites pour spécifier l'emplacement du fichier DLL légitime, qui dépendait de l'action de chaque développeur, ou pour que Microsoft modifie la manière dont Windows® traite ces fichiers. pourrait potentiellement empêcher les applications de fonctionner correctement.