Import Address Table IAT
forensicsDé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
Expert en cybersécurité offensive et intelligence artificielle. Pentest, audit et développement IA sur-mesure.
Services
- Audit Infrastructure
- Audit Kubernetes
- Audit Microsoft 365
- Audit Sécurité Réseau
- Analyse de Risques
- Audit Active Directory
- Audit Application Web
- Audit Cloud (AWS/Azure/GCP)
- Audit Messagerie
- Audit API (OWASP Top 10)
- Audit DevSecOps & CI/CD
- Audit Code Source (SAST)
- Audit Postes de Travail
- Audit Sauvegarde & Résilience
- Audit OT/SCADA (IEC 62443)
- Développement IA
- Formations
Ressources
Projets & Outils
© 2026 Ayi NEDJIMI Consultants. Tous droits réservés.
Un projet cybersécurité ?
Expert dispo · Réponse 24h