Таблица дескрипторов системных служб

Таблица дескрипторов системных служб ( SSDT ) ​​— это внутренняя таблица диспетчеризации в Microsoft Windows .

Функция

SSDT сопоставляет системные вызовы с адресами функций ядра. Когда системный вызов выдается приложением пользовательского пространства , он содержит индекс службы в качестве параметра, указывающего, какой системный вызов вызывается. Затем SSDT используется для разрешения адреса соответствующей функции в ntoskrnl.exe.

В современных ядрах Windows используются два SSDT: один для общих процедур ( KeServiceDescriptorTable ) и второй ( KeServiceDescriptorTableShadow ) для графических процедур. Параметр, переданный вызывающим приложением пользовательского пространства, определяет, какой SSDT будет использоваться.

Зацепление

Модификация SSDT позволяет перенаправлять системные вызовы в процедуры за пределами ядра. Эти процедуры могут использоваться либо для сокрытия наличия программного обеспечения, либо в качестве бэкдора, позволяющего злоумышленникам выполнять постоянный код с привилегиями ядра. По обеим причинам перехват вызовов SSDT часто используется как метод как в руткитах режима ядра Windows, так и в антивирусном программном обеспечении . [1] [2]

В 2010 году было показано, что многие продукты компьютерной безопасности, которые полагались на перехват вызовов SSDT, уязвимы к эксплойтам, использующим состояния гонки для атаки на проверки безопасности продуктов. [2]

Смотрите также

Ссылки

  1. ^ "Windows rootkits 2005, часть первая". Symantec . 2005.
  2. ^ ab «Атака побеждает «большинство» антивирусных программ». ZD Net UK . 2010.
Получено с "https://en.wikipedia.org/w/index.php?title=System_Service_Descriptor_Table&oldid=1221434157"