Pośrednie wywołania systemowe (indirect syscalls)
Skok do instrukcji wywołania systemowego wewnątrz ntdll zamiast noszenia własnej, tak by stos wywołań wyglądał normalnie. Jeden z ruchów w wyścigu zbrojeń trwającym od dekady.
Tło jest takie, że produkty bezpieczeństwa od dawna hakują funkcje trybu użytkownika w ntdll, by widzieć, co proces próbuje zrobić. Odpowiedzią były bezpośrednie wywołania systemowe: umieszczenie instrukcji we własnym kodzie i całkowite ominięcie biblioteki. To działało, ale tworzyło nowy ślad, bo adres powrotu wskazywał wtedy na pamięć nienależącą do żadnego znanego modułu — anomalię, na którą banalnie łatwo ustawić alarm, gdy już wiadomo, czego szukać. Pośrednie wywołania systemowe rozwiązują to, ustawiając rejestry samodzielnie, a następnie skacząc do instrukcji, która już leży wewnątrz biblioteki, co daje stos trudniejszy do odróżnienia od zwykłego. Wykrywanie odpowiednio przesunęło się ku pełniejszej rekonstrukcji stosu i ku wywołaniom zwrotnym samego jądra, które leżą poza zasięgiem procesu.