T1546.006: Добавление LC_LOAD_DYLIB
Злоумышленники могут закрепиться в системе путем запуска вредоносного содержимого, активируемого выполнением зараженных бинарных файлов. Бинарные файлы Mach-O имеют ряд заголовков, которые используются для выполнения определенных операций при загрузке бинарного файла. Заголовок LC_LOAD_DYLIB в бинарном файле Mach-O указывает системам macOS и OS X, какие динамические библиотеки (dylibs) следует загружать во время выполнения. Их можно добавлять по мере необходимости в скомпилированный бинарный файл, внося в остальные поля и зависимости соответствующие изменения. Существуют инструменты для внесения таких изменений.
Злоумышленники могут изменить заголовки бинарного файла Mach-O, чтобы при каждом его запуске загружались и выполнялись вредоносные динамические библиотеки. Практически любые изменения сделают цифровую подпись в бинарном файле недействительной, однако эта проблема может быть решена простым удалением команды LC_CODE_SIGNATURE из бинарного файла, чтобы подпись не проверялась во время его загрузки.
Способы обнаружения
ID | DS0011 | Источник и компонент данных | Модуль: Загрузка модуля | Описание | Monitor DLL/PE file events, specifically creation of these binary files as well as the loading of DLLs into processes. Look for DLLs that are not recognized or not normally loaded into a process. |
---|
ID | DS0009 | Источник и компонент данных | Процесс: Создание процесса | Описание | Monitor processes for those that may be used to modify binary headers. |
---|
ID | DS0017 | Источник и компонент данных | Команда: Выполнение команд | Описание | Monitor executed commands and arguments that may establish persistence by executing malicious content triggered by the execution of tainted binaries. |
---|
ID | DS0022 | Источник и компонент данных | Файл: Изменение файла | Описание | Monitor file systems for changes to application binaries and invalid checksums/signatures. |
---|
ID | DS0022 | Источник и компонент данных | Файл: Метаданные файла | Описание | Changes to binaries that do not line up with application updates or patches are also extremely suspicious. |
---|
Меры противодействия
ID | M1047 | Название | Аудит | Описание | Binaries can also be baselined for what dynamic libraries they require, and if an app requires a new dynamic library that wasn't included as part of an update, it should be investigated. |
---|
ID | M1038 | Название | Защита от выполнения | Описание | Allow applications via known hashes. |
---|
ID | M1045 | Название | Подпись исполняемого кода | Описание | Enforce that all binaries be signed by the correct Apple Developer IDs. |
---|