Skip to content

Un échantillon Windows n'a presque aucun import et aucune chaîne de nom d'API suspecte. Est-il pour autant inoffensif ?

Réponse courte

Non. Une table d'imports clairsemée ne prouve rien. Un malware stocke souvent des hachages ou d'autres identifiants au lieu de noms d'API et les résout à l'exécution avec GetProcAddress et LoadLibrary, ce qui ne laisse ni chaînes révélatrices ni entrées d'import pour l'analyse statique. MITRE ATT&CK suit cela sous Dynamic API Resolution (T1027.007). Une table d'imports quasi vide, avec peu de texte lisible, est un signal d'alerte : passez à l'analyse dynamique ou au dépaquetage.

Le tri statique commence par la table d'imports et les chaînes : un programme qui importe CreateRemoteThread et VirtualAllocEx en dit long. Les attaquants le savent ; l'absence de ces indices n'est donc pas une preuve d'innocuité.

Ce qui se passe

MITRE ATT&CK décrit la Dynamic API Resolution (T1027.007) : au lieu de lier normalement les fonctions Windows, le malware conserve des hachages ou d'autres identifiants et, à l'exécution, les utilise avec GetProcAddress() et LoadLibrary() pour reproduire lui-même le processus de liaison et de chargement. Les identifiants peuvent même être chiffrés et décodés seulement à l'exécution. Le binaire révèle donc très peu de choses dans sa table d'adresses d'imports et ses chaînes avant d'être lancé.

Comment réagir

  • Considérez une table d'imports minuscule (souvent seulement GetProcAddress/LoadLibrary, ou rien) comme un signal, pas comme une garantie.
  • Passez à l'analyse dynamique dans un laboratoire isolé, ou au dépaquetage et au débogage, pour voir les fonctions résolues.
  • Les notes de détection d'ATT&CK mentionnent des séquences d'appels GetProcAddress/LoadLibrary après allocation mémoire et mapping manuel.

Pourquoi les distracteurs échouent

Ne rien importer n'empêche pas un programme d'atteindre les API. Windows n'a aucune règle rejetant les petites tables d'imports. Et les programmes légitimes importent normalement ce qu'ils utilisent : une table vide est inhabituelle, pas normale.

Ce que veulent les recruteurs

Le réflexe : l'absence de preuve en statique n'est pas une preuve d'absence, et le nom de la technique.

Questions de suivi probables

  • Comment retrouveriez-vous les noms d'API derrière un ensemble de hachages en rétro-ingénierie ?
  • Quels signaux d'analyse dynamique révèlent une résolution d'API à l'exécution ?
  • En quoi le packing diffère-t-il du hachage d'API, et un échantillon peut-il utiliser les deux ?

Sources

Recevez 100 questions d'entretien en cybersécurité + réponses

Laissez votre e-mail et nous vous enverrons le pack PDF gratuit et le jeu de flashcards.

Pas de spam. Désabonnez-vous à tout moment.