System Service Descriptor Table ( SSDT ) внутренняя таблица отправки в Microsoft Windows .
Функция
SSDT сопоставляет системные вызовы с адресами функций ядра. Когда системный вызов выдается приложением пользовательского пространства , он содержит индекс службы как параметр, указывающий, какой системный вызов вызывается. Затем SSDT используется для разрешения адреса соответствующей функции в ntoskrnl.exe.
В современных ядрах Windows используются два SSDT: один для общих процедур ( KeServiceDescriptorTable ) и второй ( KeServiceDescriptorTableShadow ) для графических процедур. Параметр, передаваемый вызывающим приложением пользовательского пространства, определяет, какой SSDT должен использоваться.
Крючок
Модификация SSDT позволяет перенаправлять системные вызовы подпрограммам вне ядра. Эти процедуры могут использоваться либо для сокрытия наличия программного обеспечения, либо в качестве бэкдора, позволяющего злоумышленникам выполнять постоянный код с привилегиями ядра. По обеим причинам перехват вызовов SSDT часто используется как метод как в руткитах режима ядра Windows, так и в антивирусном программном обеспечении . [1] [2]
В 2010 году было показано, что многие продукты компьютерной безопасности, основанные на перехвате вызовов SSDT, уязвимы для эксплойтов, использующих условия гонки для атаки на проверки безопасности продуктов. [2]
Смотрите также
Рекомендации
- ^ "Руткиты Windows 2005 года, часть первая" . Symantec . 2005 г.
- ^ а б «Атака побеждает« большинство »антивирусных программ» . ZD Net UK . 2010 г.