T1574.004: Перехват поиска dylib-библиотек
Злоумышленники могут запускать свою полезную нагрузку, помещая вредоносную динамическую библиотеку (dylib) с ожидаемым именем по пути, проверяемому целевым приложением во время выполнения. Динамический загрузчик будет пытаться найти dylib-библиотеки путем последовательного перебора путей поиска. Пути к dylib-библиотекам могут начинаться с префикса @rpath
, что позволяет разработчикам указывать относительные пути в массивах путей поиска, зависящие от местоположения исполняемого файла в момент запуска. Если используется мягкая связь, например функция LC_LOAD_WEAK_DYLIB
, приложение продолжит выполнение даже при отсутствии ожидаемой библиотеки. Мягкая связь позволяет разработчикам запускать приложение в разных версиях macOS по мере добавления новых API.
Злоумышленники могут запустить свой код, вставив вредоносные dylib-библиотеки с именем отсутствующей dylib-библиотеки по пути, проверяемому приложением. Библиотеки dylib загружаются в адресное пространство приложения, что позволяет вредоносной библиотеке наследовать привилегии и ресурсы приложения. В зависимости от приложения это может привести к повышению привилегий и неограниченному доступу к сети. Этот метод также дает возможность избежать обнаружения защитными решениями, поскольку выполнение происходит в контексте легитимного процесса.
Способы обнаружения
ID | DS0011 | Источник и компонент данных | Модуль: Загрузка модуля | Описание | Отслеживайте загрузку динамических библиотек. Библиотеки, зависимые от пути выполнения, содержат команды LC_LOAD_DYLIB, LC_LOAD_WEAK_DYLIB и LC_RPATH. Загрузчик macOS также распознает следующие специальные ключевые слова: @rpath, @loader_path и @executable_path. Проанализировать передаваемые загрузчику команды для отдельных бинарных файлов или фреймворков можно с помощью команды otool -l. Для обнаружения приложений, уязвимых к перехвату поиска dylib-библиотек, можно воспользоваться утилитой Objective-See Dylib Hijacking Scanner. |
---|
ID | DS0022 | Источник и компонент данных | Файл: Создание файла | Описание | Отслеживайте создание dylib-библиотек. |
---|
ID | DS0022 | Источник и компонент данных | Файл: Изменение файла | Описание | Отслеживайте перемещение, переименование, замену и модификацию dylib-библиотек в файловых системах. Изменения в наборах dylib-библиотек, загружаемых процессом, которые не соответствуют ранее зарегистрированному поведению и не связаны с известным ПО или установкой исправлений, следует считать подозрительными. Проверяйте систему на наличие нескольких dylib-библиотек с одинаковыми названиями и отслеживайте, какие их версии загружались в процесс. |
---|
Меры противодействия
ID | M1022 | Название | Ограничение разрешений для файлов и каталогов | Описание | Установите контроль доступа к каталогам, чтобы предотвратить запись файлов в пути поиска приложений — как в папках, из которых запускаются приложения, так и в стандартных папках dylib. |
---|