T1055.004: Асинхронный вызов процедур
Злоумышленники могут внедрять вредоносный код в процессы через очередь асинхронных вызовов процедур (APC) с целью обхода защиты, действующей на уровне процессов, а также для повышения уровня своих привилегий. Внедрение через APC — это способ выполнения произвольного кода в адресном пространстве отдельного активного процесса.
Внедрение через APC обычно осуществляется посредством добавления вредоносного кода в очередь APC потока процесса. Стоящие в очереди функции APC выполняются, когда поток входит в изменяемое состояние. Сначала создается дескриптор существующего целевого процесса с использованием вызовов нативного API Windows, таких как OpenThread
. Далее может использоваться QueueUserAPC
для вызова функции (например, LoadLibrayA
), указывающей на вредоносную DLL.
Вариация внедрения через APC, получившая название Early Bird ("Ранняя пташка"),", использует создание приостановленного процесса, в который может быть внедрен вредоносный код и затем запущен еще до того, как происходит вызов точки входа процесса (и срабатывание потенциальных перехватчиков вредоносного ПО) посредством APC . AtomBombing — еще одна вариация, использующая APC для вызова вредоносного кода, ранее записанного в глобальную таблицу атомов.
Запуск кода в контексте другого процесса может обеспечить доступ к памяти процесса, системным и сетевым ресурсам и, возможно, повышенным привилегиям. Выполнение посредством APC также дает возможность избежать обнаружения защитными решениями, поскольку маскируется под легитимный процесс.
Какие продукты Positive Technologies покрывают технику
Описание методов обнаружения техники пока недоступно
Способы обнаружения
ID | DS0009 | Источник и компонент данных | Процесс: Вызовы API ОС | Описание | Отслеживание вызовов Windows API, связанных с разными типами внедрения кода, сопряжено с генерацией больших объемов данных. Для эффективной защиты нужно осуществлять сбор данных только при определенных условиях, чтобы выявлять известные вредоносные последовательности вызовов. В противном случае будет трудно выделить вредоносные вызовы API среди множества легитимных. Для этой техники могут использоваться такие вызовы API Windows, как |
---|
ID | DS0009 | Источник и компонент данных | Процесс: Обращение к процессу | Описание | Отслеживайте просматриваемые процессы, которые могут внедрять вредоносный код в процессы через очередь асинхронных вызовов процедур (APC) с целью обхода защиты, действующей на уровне процессов, а также для повышения уровня привилегий. |
---|
ID | DS0009 | Источник и компонент данных | Процесс: Изменения в процессе | Описание | Отслеживайте изменения в процессах, которые могут использоваться для внедрения вредоносного кода в процессы через очередь асинхронных вызовов процедур (APC) с целью обхода защиты, действующей на уровне процессов, а также для повышения уровня привилегий. |
---|
Меры противодействия
ID | M1040 | Название | Предотвращение некорректного поведения | Описание | В некоторых решениях для обеспечения безопасности конечных точек можно настроить блокирование определенных типов внедрения кода в процессы на основе детектирования распространенных последовательностей действий, характерных для процесса внедрения. |
---|