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