T1574.004: Перехват поиска dylib-библиотек

Злоумышленники могут запускать свою полезную нагрузку, помещая вредоносную динамическую библиотеку (dylib) с ожидаемым именем по пути, проверяемому целевым приложением во время выполнения. Динамический загрузчик будет пытаться найти dylib-библиотеки путем последовательного перебора путей поиска. Пути к dylib-библиотекам могут начинаться с префикса @rpath, что позволяет разработчикам указывать относительные пути в массивах путей поиска, зависящие от местоположения исполняемого файла в момент запуска. Если используется мягкая связь, например функция LC_LOAD_WEAK_DYLIB, приложение продолжит выполнение даже при отсутствии ожидаемой библиотеки. Мягкая связь позволяет разработчикам запускать приложение в разных версиях macOS по мере добавления новых API.

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

Способы обнаружения

IDDS0011Источник и компонент данныхМодуль: Загрузка модуляОписание

Отслеживайте загрузку динамических библиотек. Библиотеки, зависимые от пути выполнения, содержат команды LC_LOAD_DYLIB, LC_LOAD_WEAK_DYLIB и LC_RPATH. Загрузчик macOS также распознает следующие специальные ключевые слова: @rpath, @loader_path и @executable_path. Проанализировать передаваемые загрузчику команды для отдельных бинарных файлов или фреймворков можно с помощью команды otool -l. Для обнаружения приложений, уязвимых к перехвату поиска dylib-библиотек, можно воспользоваться утилитой Objective-See Dylib Hijacking Scanner.

IDDS0022Источник и компонент данныхФайл: Создание файлаОписание

Отслеживайте создание dylib-библиотек.

IDDS0022Источник и компонент данныхФайл: Изменение файлаОписание

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

Меры противодействия

IDM1022НазваниеОграничение разрешений для файлов и каталоговОписание

Установите контроль доступа к каталогам, чтобы предотвратить запись файлов в пути поиска приложений — как в папках, из которых запускаются приложения, так и в стандартных папках dylib.