T1055.011: Внедрение в дополнительную память окна (EWM)

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

Перед созданием окна графические процессы в Windows должны задать или зарегистрировать класс окна, который будет определять внешний вид и поведение окна (посредством процедур окна, представляющих собой функции, обрабатывающие ввод и вывод данных). Регистрация новых классов окна может включать запрос до 40 байт дополнительной памяти окна, которые присоединяются к выделенной памяти каждого экземпляра класса. Эта дополнительная память окна используется для хранения данных, специфичных для данного окна, и использует специальные функции API для задания и получения этих значений .

Несмотря на малый размер дополнительной памяти окна, она может вмещать 32-битный указатель, который часто используется для указания на процедуру окна. Вредоносное ПО может задействовать эту область памяти в цепочке атаки, включающей запись кода в совместно используемые разделы памяти процесса, размещение указателя на код в EWM и инициирование выполнения посредством передачи управления адресу в EWM процесса.

Выполнение через внедрение в EWM может обеспечить доступ к памяти целевого процесса и, возможно, повышенным привилегиям. Запись полезных нагрузок в совместно используемые разделы памяти также позволяет избежать использования часто отслеживаемых вызовов API, таких как WriteProcessMemory и CreateRemoteThread. Более сложные образцы вредоносного ПО также потенциально могут обходить такие механизмы защиты, как запрет выполнения данных (DEP), комбинируя вызовы процедур окна и других системных функций, которые перезаписывают полезную нагрузку в исполняемой секции целевого процесса .

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

Какие продукты Positive Technologies покрывают технику

Описание методов обнаружения техники пока недоступно

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

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

Отслеживайте вызовы API, связанные с составлением списков EWM и манипулированием ими, такие как GetWindowLong и SetWindowLong. Вредоносное ПО, использующее эту технику, также использовало SendNotifyMessage для запуска связанной оконной процедуры и последующего внедрения вредоносного кода .

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

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

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