T1055.014: Перехват виртуального динамического общего объекта (VDSO)
Злоумышленники могут внедрить вредоносный код в процессы посредством перехвата виртуального динамического общего объекта (VDSO) с целью обхода защиты, действующей на уровне процессов, а также для повышения уровня своих привилегий. Перехват виртуального динамического общего объекта (VDSO) — это способ выполнения произвольного кода в адресном пространстве отдельного активного процесса.
Перехват VDSO включает перенаправление вызовов динамически подключаемых общих библиотек. Механизмы защиты памяти могут предотвратить запись исполняемого кода в процесс посредством таких техник, как Системные вызовы ptrace. Однако злоумышленники могут переписать код системных вызовов, встраиваемых в процесс из общего объекта VDSO, чтобы он открывал и размещал вредоносный общий объект. Этот код затем может быть вызван посредством перенаправления потока исполнения процесса с помощью подмены ссылок на адреса в памяти, хранящихся в глобальной таблице смещений процесса (которая хранит абсолютные адреса размещенных функций библиотеки).
Запуск кода в контексте другого процесса может обеспечить доступ к памяти процесса, системным и сетевым ресурсам и, возможно, повышенным привилегиям. Выполнение посредством перехвата виртуального динамического общего объекта (VDSO) также дает возможность избежать обнаружения защитными решениями, поскольку маскируется под легитимный процесс.
Способы обнаружения
ID | DS0011 | Источник и компонент данных | Модуль: Загрузка модуля | Описание | Monitor library load events, especially unusual creation of these binary files followed by loading into processes. Look for libraries that are not recognized or not normally loaded into a process. |
---|
ID | DS0009 | Источник и компонент данных | Процесс: Вызовы API ОС | Описание | Monitor for malicious usage of system calls, such as ptrace and mmap, that can be used to attach to, manipulate memory, then redirect a processes' execution path. Monitoring for Linux specific calls such as the ptrace system call should not generate large amounts of data due to their specialized nature, and can be a very effective method to detect some of the common process injection methods. |
---|
Меры противодействия
ID | M1040 | Название | Предотвращение некорректного поведения | Описание | Some endpoint security solutions can be configured to block some types of process injection based on common sequences of behavior that occur during the injection process. |
---|