System Service Dispatch Table

Un article de Wikipédia, l'encyclopédie libre.

Image:Crystal Clear app virus detected.png
Cet article fait partie de la série
Programmes malveillants
Virus
Cabir - MyDoom.A
Tchernobyl - Yamanner
Ver
Bagle - Blaster
Code Red - I love you
Melissa - Morris
NetSky - Nimda
SQL Slammer - Santy
Sasser - Sobig
Cheval de Troie
Back Orifice - SubSeven
ByteVerify - XXXDial
Logiciel espion
CoolWebSearch - Cydoor
Gator - New.net
SaveNow
Composeur d’attaque
ToneLoc
Voir aussi
Logiciel malveillant
Sécurité informatique
Programmation

SSDT ou System Service Dispatch Table est un tableau de descripteur de service situé dans le Noyau de windows, utilisé pour diriger des appels système vers un traitement approprié : table d'adressage des API.

[modifier] Point d'accroche dans la table SSDT

"SSDT hooking" Le "crochetage" de la table SSDT en vue de sa modification est une des techniques fréquemment utilisées par les rootkits. En modifiant cette table, ils peuvent réorienter l'exécution vers leur code au lieu du module de traitement (fonction) originellement appelé. Certaines de ces fonctions sont crochetées tant * par les rootkits malsains que les anti-rootkits

Sur Windows XP, cette table est en lecture seule, mais cette protection peut être contournée.

Exemples d'appel système détourné :

  • Pour les thread, processus, (et jobs) : NtAssignProcessToJobObject, NtCreateThread et NtTerminateThread, NtOpenProcess et NtTerminateProcess...etc
  • pour les fichiers : NtQueryDirectoryFile, NtDeleteFile...etc
  • pour les pilotes : NtLoadDriver et NtUnloadDriver
  • Pour la mémoire : NtProtectVirtualMemory et NtWriteVirtualMemory
  • Divers : NtCreateKey, NtReplaceKey

Par voie de conséquence, cette table du noyau est l'une des plus contrôlées par les utilitaires de détection des rootkits. Sa restauration en cas de modification non désirée est une protection supplémentaire que certains anti-rootkits proposent.

[modifier] Références externes