T1055.014: Перехват виртуального динамического общего объекта (VDSO)

Злоумышленники могут внедрить вредоносный код в процессы посредством перехвата виртуального динамического общего объекта (VDSO) с целью обхода защиты, действующей на уровне процессов, а также для повышения уровня своих привилегий. Перехват виртуального динамического общего объекта (VDSO) — это способ выполнения произвольного кода в адресном пространстве отдельного активного процесса.

Перехват VDSO включает перенаправление вызовов динамически подключаемых общих библиотек. Механизмы защиты памяти могут предотвратить запись исполняемого кода в процесс посредством таких техник, как Системные вызовы ptrace. Однако злоумышленники могут переписать код системных вызовов, встраиваемых в процесс из общего объекта VDSO, чтобы он открывал и размещал вредоносный общий объект. Этот код затем может быть вызван посредством перенаправления потока исполнения процесса с помощью подмены ссылок на адреса в памяти, хранящихся в глобальной таблице смещений процесса (которая хранит абсолютные адреса размещенных функций библиотеки).

Запуск кода в контексте другого процесса может обеспечить доступ к памяти процесса, системным и сетевым ресурсам и, возможно, повышенным привилегиям. Выполнение посредством перехвата виртуального динамического общего объекта (VDSO) также дает возможность избежать обнаружения защитными решениями, поскольку маскируется под легитимный процесс.

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

IDDS0009Источник и компонент данныхПроцесс: Вызовы API ОСОписание

Отслеживайте эксплуатацию системных вызовов, таких как ptrace и mmap, которые могут быть использованы для присоединения к процессу, манипулирования памятью и перенаправления потока выполнения. Отслеживание таких специфических для Linux вызовов, как системный вызов ptrace, в силу их особого характера не должно приводить к генерации большого количества данных и может быть очень эффективно для обнаружения некоторых распространенных методов внедрения кода в процессы.

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

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

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

IDM1040НазваниеПредотвращение некорректного поведенияОписание

В некоторых решениях для обеспечения безопасности конечных точек можно настроить блокирование определенных типов внедрения кода в процессы на основе детектирования распространенных последовательностей действий, характерных для процесса внедрения.