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