DLL Sideloading

21 января, 2026, 17:50

DLL Sideloading — это техника уклонения от защиты и выполнения кода, при которой злоумышленник злоупотребляет механизмом поиска и загрузки динамических библиотек (DLL) операционной системой Windows. Атакующий помещает вредоносную DLL-библиотеку в каталог, который легитимное и доверенное приложение будет искать раньше, чем системный каталог, что приводит к загрузке и выполнению вредоносного кода под прикрытием и с привилегиями этого доверенного приложения.

Возможности и принцип работы DLL Sideloading:

  • Эксплуатация порядка поиска DLL (DLL Search Order Hijacking): По умолчанию Windows ищет необходимые DLL в определенной последовательности (например, сначала в каталоге приложения, затем в системных каталогах). Поместив вредоносную DLL с тем же именем, что и требуемая библиотека, в папку приложения (или другую директорию с более высоким приоритетом в пути поиска), злоумышленник заставляет приложение загрузить её вместо легитимной.
  • Использование цифровых подписей и доверия: Поскольку вредоносный код выполняется в контексте правильно подписанного и доверенного приложения (например, explorer.exesvchost.exe или популярного ПО от вендоров), он может обходить контроль целостности кода, приложения из белых списков (AppLocker) и системы обнаружения вторжений (IDS/IPS), которые доверяют подписанным процессам.
  • Способы внедрения вредоносной DLL:
    • Размещение в одной директории с исполняемым файлом целевого приложения.
    • Использование уязвимостей или слабых разрешений для записи в каталоги, где приложение ищет библиотеки.
    • Манипуляция переменной окружения PATH или другими параметрами, влияющими на порядок поиска DLL.
  • Сценарии использования в атаках:
    • Персистентность: Обеспечение выживания вредоносного ПО в системе.
    • Повышение привилегий: Загрузка в контексте приложения, работающего от имени SYSTEM или администратора.
    • Обход защиты: Выполнение кода, минуя антивирусы и системы контроля приложений, которые доверяют хостовому процессу.

DLL Sideloading является популярной техникой в арсенале APT-групп и создателей сложного вредоносного ПО (например, APT29 (Cozy Bear) активно её используют). Это разновидность атаки «Живи за счет земли» (Living-off-the-Land, LOLBins), так как эксплуатирует легитимные механизмы ОС. Для защиты необходимы многоуровневые меры:

  1. Настройка безопасного порядка загрузки DLL: Использование функций SetDefaultDllDirectories() или SetDllDirectory() в приложениях для ограничения путей поиска.
  2. Контроль целостности и цифровых подписей: Верификация подписей не только основного EXE, но и всех загружаемых DLL.
  3. Поведенческий анализ (EDR): Обнаружение аномалий в процессе загрузки библиотек доверенными приложениями (например, загрузка DLL из необычных путей).
  4. Принцип наименьших привилегий: Ограничение прав приложений и пользователей на запись в системные и программные каталоги.
    Техника тесно связана с другими методами, такими как DLL Search Order Hijacking и DLL Proxying (когда вредоносная DLL также загружает оригинальную, чтобы сохранить функциональность приложения для маскировки).

Упоминания