Skip to main content

Что такое библиотека динамических ссылок?

Библиотека динамических ссылок - это система, используемая Microsoft для одновременного доступа нескольких приложений к одному и тому же фрагменту кода в Windows®. Это один из ключей к эффективной многозадачности. В 2010 году исследователи безопасности обнаружили, что лазейки в том, как работает система динамических библиотек, могут быть использованы хакерами. Это привело к дилемме о том, как это исправить, не влияя на удобство использования приложений.

Чтобы понять, как работает библиотека динамических ссылок, важно понимать разницу между Windows® и программными приложениями. Windows® - это операционная система, которая существует в основном для координации того, как отдельные приложения, также известные как программы, получают доступ к возможностям обработки компьютера. Сама Windows®, в конечном счете, представляет собой набор компьютерных кодов, которые эффективно действуют как свод правил или руководство о том, как приложения взаимодействуют друг с другом и с оборудованием.

Библиотека динамических ссылок - это система, с помощью которой приложения могут обращаться к отдельным разделам кода Windows® и запускать их. Одним из примеров может быть раздел Windows®, отвечающий за печать документов. Большинству приложений требуется доступ к этой функции в какой-то момент, но если каждое приложение загружает соответствующий код в память компьютера, как только приложение начинает работать, это приводит к неэффективному использованию ресурсов и может вызвать конфликты.

Чтобы решить эту проблему, код Windows® для конкретной функции, в данном случае печати, хранится в виде небольшой программы, известной как библиотека динамических ссылок или файл DLL. Если пользователь запускает приложение, такое как текстовый процессор, этот файл не открывается автоматически. Вместо этого текстовый процессор открывает и активирует файл только тогда, когда это необходимо, в этом случае, когда пользователь хочет напечатать документ.

Исторически многие разработчики приложений просто писали код, в котором говорилось, как называлось имя соответствующей библиотеки динамических ссылок, вместо того, чтобы точно указывать, где она должна находиться на компьютере. Чтобы обойти это, в Windows® установлена ​​система поиска недостающих DLL-файлов путем поиска в заданном списке мест в определенном порядке. Хотя это теоретически может быть использовано, если вредоносный файл, замаскированный под файл DLL, будет помещен в нужное место и, таким образом, найден и открыт перед легитимным файлом, это не считается серьезной угрозой безопасности, поскольку хакерам потребуется физический доступ к компьютеру для получения вредоносный файл на месте.

В 2010 году было обнаружено, что хакеры теоретически могут получить такие файлы через удаленное соединение, то есть через Интернет. Это означало, что десятки приложений Windows® были уязвимы для атак с использованием этого метода. Сообщество безопасности было разделено в отношении того, было ли лучше, чтобы отдельные приложения были переписаны, чтобы указать расположение легитимного DLL-файла, который зависел от действий каждого разработчика, или чтобы Microsoft изменила способ работы Windows® с такими файлами, что потенциально может привести к тому, что приложения перестанут работать должным образом.