Aller au contenu principal
Expert Cybersécurité & IAv9.0
Centres de ressources conformité
Besoin d'un accompagnement expert ?
Devis personnalisé sous 24h — audit, conformité, incident
Checklists Sécurité — Audit & Durcissement
Formats disponibles
📄 PDF 📊 Excel 🌐 Web

11 checklists professionnelles couvrant 2 200+ points de contrôle. Téléchargement gratuit, aucune inscription.

Import Address Table IAT

forensics

Définition

L'Import Address Table (IAT) est une structure fondamentale du format PE (Portable Executable) Windows qui contient les adresses des fonctions importées depuis des DLLs externes. En forensique et en analyse de malware, l'IAT est l'une des sources d'information les plus révélatrices sur les capacités d'un binaire : la liste des fonctions importées trahit directement ce que le programme est capable de faire. Techniquement, l'IAT est remplie par le Windows Loader lors du chargement du PE en mémoire. Le fichier PE sur disque contient des références symboliques aux fonctions importées (Import Directory Table, Import Name Table). Le Loader résout ces références en cherchant les DLLs correspondantes et en remplaçant les références par les adresses réelles des fonctions en mémoire, remplissant ainsi l'IAT. C'est pour cela que l'IAT d'un module varie selon la version de Windows et de ses DLLs. Forensiquement, l'analyse de l'IAT lors d'une analyse statique permet de profiler rapidement un malware. Les groupes de fonctions importées révèlent les capacités : Kernel32.dll (CreateProcess, WriteFile, VirtualAlloc — exécution et manipulation de fichiers), Advapi32.dll (RegSetValueEx, OpenSCManager — registre et services), Wininet.dll / WinHTTP (connexions HTTP), WS2_32.dll (sockets réseau), CryptDll / BCrypt (chiffrement). Un malware important exclusivement des fonctions de bas niveau (Ntdll.dll uniquement) est souvent un malware sophistiqué qui évite les hooks sur les APIs Win32. L'IAT Hooking est une technique de malware consistant à modifier les pointeurs dans l'IAT d'un processus pour rediriger les appels API vers du code malveillant. Forensiquement, les outils d'analyse comme PE-sieve et Process Hacker peuvent détecter des discordances dans l'IAT (pointeurs ne pointant pas vers le module attendu), révélant des hooks malveillants en mémoire. Pour les malwares packés ou obfusqués, l'IAT peut être délibérément vide ou minimale (le packer charge dynamiquement les fonctions via GetProcAddress et LoadLibrary), nécessitant l'analyse dynamique pour reconstruire l'IAT réelle en mémoire.

Fonctionnement

L'IAT est une table de pointeurs dans la section .rdata du PE. Avant le chargement, elle contient des offsets symboliques (ou des ordinals pour les imports par ordinal). Après le chargement par le Windows Loader, elle est remplie avec les adresses réelles des fonctions dans les DLLs chargées. Les appels CALL [IAT_entry] dans le code référencent ces pointeurs.

Application DFIR

Analyse IAT en statique : PEStudio affiche l'IAT avec les blacklist de fonctions suspectes (WriteProcessMemory, VirtualAllocEx = injection probable). En dynamique (après unpack) : x64dbg affiche l'IAT en mémoire. IAT Hooking detection : Process Hacker > Properties > Modules > Verify signatures, PE-sieve --iat (scan discordances). Les fonctions importées résolues dynamiquement (GetProcAddress) n'apparaissent pas dans l'IAT statique.

Outils

Analyse statique IAT : PEStudio, PE-Bear, CFF Explorer, IDA Pro (imports view), Ghidra (imports panel). Analyse dynamique IAT : x64dbg (IAT view), API Monitor, Frida. IAT patching/reconstruction : Scylla (reconstruction IAT après unpacking), ImportREC. Détection hooks : PE-sieve (--iat flag), Process Hacker, Volatility dlllist+malfind.

Articles liés

Un projet cybersécurité ?

Expert dispo · Réponse 24h

Devis