IT-словарь › Безопасность › Indirect syscalls

Indirect syscalls

Безопасность Svenska → Обновлено: 2026-10-19

Переход на инструкцию системного вызова внутри ntdll вместо собственной, чтобы стек вызовов выглядел нормально. Один из ходов в гонке вооружений, идущей уже десять лет.

Предыстория такова: средства защиты давно перехватывают функции пользовательского режима в ntdll, чтобы видеть, что пытается сделать процесс. Ответом стали прямые системные вызовы: положить инструкцию в собственный код и обойти библиотеку целиком. Это работало, но оставило новый след — адрес возврата указывал на память, не принадлежащую ни одному известному модулю, а такую аномалию тривиально ловить, если знаешь, куда смотреть. Косвенные системные вызовы решают это: регистры готовятся вручную, а затем выполняется переход на инструкцию там, где она и лежит, внутри библиотеки, — получается стек, который труднее отличить от обычного. Обнаружение соответственно сместилось к более полному восстановлению стека и к собственным обратным вызовам ядра, до которых процесс не дотягивается.

← Назад к словарю