T1055.014: Перехват виртуального динамического общего объекта (VDSO)
Злоумышленники могут внедрить вредоносный код в процессы посредством перехвата виртуального динамического общего объекта (VDSO) с целью обхода защиты, действующей на уровне процессов, а также для повышения уровня своих привилегий. Перехват виртуального динамического общего объекта (VDSO) — это способ выполнения произвольного кода в адресном пространстве отдельного активного процесса.
Перехват VDSO включает перенаправление вызовов динамически подключаемых общих библиотек. Механизмы защиты памяти могут предотвратить запись исполняемого кода в процесс посредством таких техник, как Системные вызовы ptrace. Однако злоумышленники могут переписать код системных вызовов, встраиваемых в процесс из общего объекта VDSO, чтобы он открывал и размещал вредоносный общий объект. Этот код затем может быть вызван посредством перенаправления потока исполнения процесса с помощью подмены ссылок на адреса в памяти, хранящихся в глобальной таблице смещений процесса (которая хранит абсолютные адреса размещенных функций библиотеки).
Запуск кода в контексте другого процесса может обеспечить доступ к памяти процесса, системным и сетевым ресурсам и, возможно, повышенным привилегиям. Выполнение посредством перехвата виртуального динамического общего объекта (VDSO) также дает возможность избежать обнаружения защитными решениями, поскольку маскируется под легитимный процесс.
Способы обнаружения
ID | DS0009 | Источник и компонент данных | Процесс: Вызовы API ОС | Описание | Отслеживайте эксплуатацию системных вызовов, таких как ptrace и mmap, которые могут быть использованы для присоединения к процессу, манипулирования памятью и перенаправления потока выполнения. Отслеживание таких специфических для Linux вызовов, как системный вызов ptrace, в силу их особого характера не должно приводить к генерации большого количества данных и может быть очень эффективно для обнаружения некоторых распространенных методов внедрения кода в процессы. |
---|
ID | DS0011 | Источник и компонент данных | Модуль: Загрузка модуля | Описание | Отслеживайте события загрузки библиотек, особенно аномальное создание этих бинарных файлов с последующей загрузкой в память процессов. Отслеживайте нераспознанные библиотеки, а также те, которые обычно не загружаются в память процессов. |
---|
Меры противодействия
ID | M1040 | Название | Предотвращение некорректного поведения | Описание | В некоторых решениях для обеспечения безопасности конечных точек можно настроить блокирование определенных типов внедрения кода в процессы на основе детектирования распространенных последовательностей действий, характерных для процесса внедрения. |
---|