T1036.009: Изменение дерева процессов

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

В Linux-системах злоумышленники могут выполнить серию вызовов нативного API, чтобы изменить дерево процессов вредоносной программы. Например, злоумышленники могут запустить свою полезную нагрузку без аргументов, дважды вызвать API-функцию fork(), а затем заставить родительский процесс завершиться. Это создает "внучатый" процесс без родительского процесса, и он немедленно становится сыном системного процесса init (PID 1) — в результате выполнение полезной нагрузки успешно отсоединяется от дерева процессов, ранее порожденного злоумышленниками.

Другой пример — использование системного вызова daemon для отсоединения от текущего родительского процесса и работы в фоновом режиме.

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

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

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

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

Отслеживайте аномальное создание фоновых процессов, а также запуск процессов из нетипичных расположений, например /dev/shm.

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

Отслеживайте такие вызовы API, как fork(), которые могут использоваться для маскировки или изменения метаданных процесса.