PolySécure Podcast

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


Listen Later

Parce que… c’est l’épisode 0x304!
Shameless plug
  • 24 et 25 juin 2026 - Troopers
  • 26 et 27 juin 2026 - leHACK
  • 19 septembre 2026 - Bsides Montréal
  • 1 au 3 décembre 2026 - Forum INCYBER - Canada 2026
  • 24 et 25 février 2027 - SéQCure 2027
  • Description
    Notes
    • A systematic approach to evading antivirus software
    • Collaborateurs
      • Nicolas-Loïc Fortin
      • Philippe Pépos Petitclerc
      • Crédits
        • Montage par Intrasecure inc
        • Locaux réels par NorthSec
        • é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.

          La technique du « probing »

          Une contribution importante est le probing (sondage) : on teste un programme, on le modifie légèrement, puis on le reteste pour comparer les détections. Si le programme part non détecté, il peut rester non détecté ou le devenir. S’il part détecté, trois issues sont possibles : devenir non détecté, rester détecté avec le même identifiant, ou être détecté avec un nouvel identifiant. Comme les antivirus retournent des identifiants distincts plutôt qu’un simple verdict binaire, on extrait davantage d’information. En choisissant intelligemment la transformation, on isole la capacité réelle. Par exemple, ajouter un octet inoffensif casse un hash : si la détection reste identique, elle n’était pas basée sur un hash. Pour le dynamique, utiliser un packer (crypter) qui chiffre le payload et le déchiffre à l’exécution permet de révéler la présence d’une sandbox.

          Différences entre moteurs et stratégie d’évasion

          Tous les moteurs testés possèdent une sandbox détectable, mais leur usage varie énormément : certains détectent beaucoup via leur sandbox, d’autres presque rien. Philippe note que la capacité marketing (« on a du behavior, du sandboxing ») peut exister tout en ayant une banque de signatures si mince qu’elle ne se déclenche presque jamais. Les philosophies d’implémentation diffèrent : chaque éditeur capitalise sur sa technologie de prédilection. Sa méthode d’évasion consiste à « blinder » chaque capacité détectée : une fois la présence d’un unpacker ou d’une sandbox identifiée, il associe les techniques d’évasion connues qui neutralisent spécifiquement chacune, construisant un ensemble minimal couvrant toutes les capacités trouvées. L’objectif n’est pas une évasion universelle unique, mais un flowchart indiquant quoi faire et quoi éviter — ajouter du code inutile risquant de se faire repérer. Les résultats détaillés figureront dans sa thèse, le protocole étant maintenant stable et prêt à être lancé à grande échelle.

          Le volet CTF et l’intelligence artificielle

          L’équipe montréalaise de Philippe, active depuis une dizaine d’années, monte presque toujours sur le podium au Nordsec et vise une qualification au DEF CON. Leur distinction : une propension à sortir des sentiers battus et à trouver des solutions « weird », parfois des bypass transformant un défi de six heures en trente minutes. Sur l’IA, le Nordsec a levé cette année ses restrictions. L’équipe constate que le harnessing et le prompting ont moins d’impact que de simplement relancer le modèle plusieurs fois : la température et la répétition comptent davantage. Les modèles plus puissants, surchargés d’outils, « se creusent des trous » en polluant leur contexte. L’IA réussit aujourd’hui environ 95 % des défis sauvegardés, ce qui soulève des questions sur le plaisir et l’avenir des CTF — un défi que Philippe fait confiance aux organisateurs du DEF CON pour relever.

          Notes
          • A systematic approach to evading antivirus software
          • Collaborateurs
            • Nicolas-Loïc Fortin
            • Philippe Pépos Petitclerc
            • Crédits
              • Montage par Intrasecure inc
              • Locaux réels par NorthSec
              • ...more
                View all episodesView all episodes
                Download on the App Store

                PolySécure PodcastBy Nicolas-Loïc Fortin et tous les collaborateurs


                More shows like PolySécure Podcast

                View all
                Tech Café by Guillaume Vendé

                Tech Café

                12 Listeners

                Silicon Carne, un peu de picante dans un monde de Tech ! by Carlos Diaz

                Silicon Carne, un peu de picante dans un monde de Tech !

                76 Listeners