Teknik - A systematic approach to evading antivirus software - Parce que... c'est l'épisode 0x304! — PolySécure Podcast

Teknik - A systematic approach to evading antivirus software - Parce que... c'est l'épisode 0x304!

PolySécure Podcast · 03/06/2026 04:00 · 37 min

Contenu de l'épisode

Parce que… c’est l’épisode 0x304! Shameless plug Description

Dans cet épisode spécial enregistré au Northsec, Philippe Pépos Petitclerc se présente comme chercheur académique en voie de terminer son doctorat, avec un parcours en pentest et une grande passion pour les CTF (Capture The Flag). L’entretien porte sur sa recherche en techniques d’évasion d’antivirus, présentée lors de l’événement.

Cadrer la portée de la recherche

Philippe insiste d’abord sur deux éléments de cadrage. Premièrement, la modernité : on ne parle plus vraiment d’antivirus mais d’EDR (Endpoint Detection and Response). Selon lui, l’antivirus a été fusionné dans le concept d’EDR, qui correspond à un antivirus auquel s’ajoutent des capacités de télémétrie, de visibilité et de réponse pour les équipes de défense (Blue Team). Deuxièmement, pour rendre la recherche constructive comme première étude dans ce domaine, il a mis de côté les modèles statistiques pour se concentrer d’abord sur les moteurs déterministes, c’est-à-dire ceux dont le résultat est certain (par exemple, chercher un hash précis dans un fichier).

Capacités versus signatures

Pour généraliser son approche, Philippe travaille avec un « AV générique » plutôt qu’un produit en particulier, l’objectif étant de bâtir un plan d’évasion applicable à n’importe quel antivirus rencontré. Il introduit une distinction centrale : la capacité de détection, qu’il décompose en « une analyse plus une raison ou une façon de regarder ». Il compare cela aux signatures : la signature, c’est ce qu’on cherche (par exemple le hash lui-même), tandis que la capacité, c’est comment et où on le cherche. Hacher un fichier et comparer le résultat constitue une capacité ; le hash recherché est la signature.

Construire l’inventaire des capacités

Pour cartographier ces capacités, Philippe a combiné deux sources. D’une part, la littérature scientifique sur les techniques de détection, abondante, bien qu’on ignore lesquelles ont réellement été adoptées dans les produits commerciaux (beaucoup relèvent du secret industriel, difficile à citer en recherche académique). D’autre part, l’observation des techniques d’évasion utilisées « in the wild », même non documentées sérieusement, car leur popularité révèle indirectement quelles détections fonctionnent vraiment. Il a ensuite classifié ces capacités selon les mêmes principes que l’analyse de programme classique, produisant une arborescence où chaque technique s’inscrit dans des classes successives, ce qui permet de « couper des branches » pour identifier précisément la méthode en jeu — une démarche qu’il rapproche de la philosophie d’ATT&CK.

La cartographie statique et dynamique

La cartographie se divise en deux grandes catégories. Les analyses statiques examinent un fichier sur disque sans l’exécuter : hashes, recherche de séquences d’octets (avec ou sans « trous »), reconstruction d’information sémantique comme un graphe de flot de contrôle (CFG), ou simple analyse de chaînes de caractères. Ces analyses « cheap » sont fréquentes mais faciles à évader, car l’apparence d’un fichier se modifie aisément. Les analyses dynamiques se subdivisent entre le virtuel (sandbox, émulation, dans un faux système) et le concret (sur le vrai système). On y trouve le traçage d’appels de fonction, le hooking, et la réapplication de détections statiques à des moments clés — puisque scanner la mémoire est coûteux, l’antivirus utilise des déclencheurs pour choisir quand inspecter. Philippe souligne cet effort d’économie de ressources inhérent à chaque implémentation.

Plus d'informations