DLL Sideloading — техника, при которой атакующие кладут вредоносную DLL рядом с легитимной, часто подписанной программой Windows, чтобы та загрузила и выполнила их код.
Как работает DLL Sideloading
Программы Windows загружают динамические библиотеки (DLL) по имени. Если полный путь не указан, Windows ищет библиотеку в нескольких местах, начиная с папки самого приложения. Атакующие берут легитимный исполняемый файл, ожидающий определённую DLL, — например, компонент антивируса, медиаплеера или утилиты обновления производителя, — копируют его в папку вместе с вредоносной DLL с тем же именем и запускают. Доверенная программа загружает вредоносную библиотеку, та выполняет нагрузку и нередко перенаправляет вызовы в настоящую DLL, чтобы всё продолжало работать.
В MITRE ATT&CK эта техника относится к перехвату потока выполнения (Hijack Execution Flow, T1574) вместе с родственными приёмами перехвата порядка поиска DLL.
Почему это важно
- Вредоносный код работает внутри подписанного процесса с хорошей репутацией, что помогает обходить EDR и белые списки приложений.
- Сетевые подключения и файловая активность выглядят как действия доверенной программы.
- Атакующие доставляют связку «легитимный EXE + вредоносная DLL + зашифрованная нагрузка» в архиве или ISO-образе.
DLL Sideloading больше десяти лет остаётся визитной карточкой APT-группировок, особенно с вредоносным ПО семейств PlugX и ShadowPad, а сейчас его широко применяют вымогатели и операторы инфостилеров. Техника хорошо сочетается с подходом Living off the Land, основанным на злоупотреблении доверенным ПО.
Как обнаружить и предотвратить
- Отслеживать запуск подписанных программ из необычных мест — папок Temp или «Загрузки».
- Следить за загрузкой неподписанных DLL подписанными процессами и за известными уязвимыми исполняемыми файлами.
- Использовать контроль приложений (WDAC, AppLocker) с правилами для DLL и ограничивать запись в папки программ.
- Разработчикам — загружать DLL по полному пути и использовать безопасные настройки порядка поиска.