Explorer de nouvelles frontières en cybersécurité s’impose alors que les menaces numériques évoluent. Les approches traditionnelles, telles que les audits manuels de code source et l’ingénierie inversée, ont été déterminantes pour identifier les vulnérabilités. Cependant, l’essor des capacités des Large Language Models (LLM) offre une opportunité unique de dépasser ces méthodes conventionnelles et potentiellement de découvrir et atténuer des vulnérabilités de sécurité auparavant indétectables.
Le défi en cybersécurité réside dans la menace persistante des vulnérabilités « intraçables » qui échappent à la détection par les systèmes automatisés conventionnels. Ces vulnérabilités représentent des risques significatifs car elles passent souvent inaperçues jusqu’à ce qu’elles soient exploitées. L’avènement des LLM sophistiqués offre une solution prometteuse en répliquant potentiellement la puissance analytique des experts humains dans l’identification de ces menaces insaisissables.
Au fil des ans, l’équipe de recherche de Google Project Zero a synthétisé des informations tirées de leur vaste expérience en recherche de vulnérabilités humaines pour affiner l’application des LLM dans ce domaine. Ils ont identifié des principes clés exploitant les forces des LLM tout en répondant à leurs limitations. Crucial dans leurs découvertes est l’importance des processus de raisonnement étendus, efficaces à travers diverses tâches. Un environnement interactif est essentiel, permettant aux modèles de s’ajuster et de corriger les erreurs de manière dynamique, augmentant ainsi leur efficacité. De plus, doter les LLM d’outils spécialisés tels que des débogueurs et des interpréteurs Python est crucial pour imiter l’environnement opérationnel des chercheurs humains et effectuer des calculs et des inspections d’état précis. L’équipe souligne également la nécessité d’une stratégie d’échantillonnage permettant l’exploration de multiples hypothèses à travers des trajectoires distinctes, facilitant une recherche de vulnérabilité plus complète et efficace. Ces principes exploitent les capacités des LLM pour des résultats plus précis et fiables dans les tâches de sécurité.
L’équipe de recherche a développé « Naptime, » une architecture pionnière pour la recherche de vulnérabilités assistée par LLM. Naptime incorpore une architecture spécialisée qui équipe les LLM d’outils spécifiques pour améliorer leur capacité à effectuer des analyses de sécurité efficaces. Un aspect clé de cette architecture est son focus sur l’ancrage par l’utilisation d’outils, assurant que les interactions des LLM avec la base de code cible imitent étroitement les workflows des chercheurs en sécurité humains. Cette approche permet une vérification automatique des sorties de l’agent, une caractéristique vitale compte tenu de la nature autonome du système.
L’architecture Naptime se concentre sur l’interaction entre un agent IA et une base de code cible, équipée d’outils comme le Code Browser, l’outil Python, le Debugger et le Reporter. Le Code Browser permet à l’agent de naviguer et d’analyser en profondeur la base de code, similaire à la façon dont les ingénieurs utilisent des outils comme le Chromium Code Search. L’outil Python et le Debugger permettent à l’agent de réaliser des calculs intermédiaires et des analyses dynamiques, améliorant la précision et la profondeur des tests de sécurité. Ces outils fonctionnent ensemble dans un environnement structuré pour détecter et vérifier les vulnérabilités de sécurité de manière autonome, assurant l’intégrité et la reproductibilité des résultats de recherche.
Les chercheurs ont intégré l’architecture Naptime avec l’évaluation CyberSecEval 2, améliorant substantiellement les performances des tests de sécurité des LLM. Par exemple, pour les scénarios “Buffer Overflow,” les scores de GPT 4 Turbo ont grimpé à des réussites parfaites en utilisant l’architecture Naptime, atteignant 1.00 à travers plusieurs essais, contre des scores initiaux de 0.05. De même, des améliorations étaient évidentes dans la catégorie « Advanced Memory Corruption, » où les performances de GPT 4 Turbo ont augmenté de 0.16 à 0.76 dans des scénarios de test plus complexes. Les modèles Gemini ont également montré des améliorations marquées; par exemple, les scores de Gemini 1.5 Pro dans les configurations Naptime sont montés à 0.58, démontrant des avancées significatives dans la gestion des tâches complexes comparé aux phases de test initiales. Ces résultats soulignent l’efficacité du cadre Naptime pour améliorer la précision et la capacité des LLM à mener des évaluations détaillées et précises des vulnérabilités.
En conclusion, le projet Naptime démontre que les LLM peuvent considérablement améliorer leurs performances en recherche de vulnérabilités avec les bons outils, particulièrement dans des environnements de test contrôlés comme les défis de style CTF. Cependant, le vrai défi réside dans la traduction de cette capacité aux complexités de la recherche de sécurité offensive autonome, où comprendre les états du système et le contrôle de l’attaquant est crucial. L’étude souligne la nécessité de fournir aux LLM des processus flexibles et itératifs semblables à ceux employés par les chercheurs humains experts pour refléter leur potentiel véritable. Alors que l’équipe de Google Project Zero, en collaboration avec Google DeepMind, continue de développer cette technologie, elle reste déterminée à repousser les limites de ce que les LLM peuvent accomplir en cybersécurité, promettant des avancées plus sophistiquées à l’avenir.