PolySécure Podcast

Teknik - Revue de code - ChatGPT face aux vulnérabilités OWASP Top 10 - Parce que... c'est l'épisode 0x586!


Listen Later

Parce que… c’est l’épisode 0x586!
Shameless plug
  • 10 au 18 mai 2025 - NorthSec
  • 03 au 05 juin 2025 - Infosecurity Europe
  • 27 et 29 juin 2025 - LeHACK
  • 12 au 17 octobre 2025 - Objective by the sea v8
  • 10 au 12 novembre 2025 - IAQ - Le Rendez-vous IA Québec
  • 17 au 20 novembre 2025 - European Cyber Week
  • 25 et 26 février 2026 - SéQCure 2065
  • Description
    Introduction et contexte de la recherche

    Gabriel St-Hilaire, enseignant au Cégep Seigneur de Sichel depuis une dizaine d’années et spécialiste en développement d’applications web, a mené une recherche dans le cadre de sa maîtrise en cybersécurité à l’Université de Sherbrooke. Sa recherche porte sur l’utilisation de ChatGPT pour aider au développement sécuritaire.

    La problématique qui a motivé cette recherche est simple : pourquoi les programmeurs continuent-ils à faire des erreurs de sécurité dans leur code malgré l’enseignement des bonnes pratiques ? Pour répondre à cette question, Gabriel a exploré la littérature scientifique et identifié trois constats majeurs :

    1. Les programmeurs en entreprise cherchent à déléguer la responsabilité de la sécurité, pensant que quelqu’un d’autre fera la revue de code et trouvera les problèmes.
    2. La cybersécurité passe souvent au second plan, sacrifiée au profit des délais et des fonctionnalités à livrer rapidement.
    3. Il existe un manque de connaissances : même quand des outils signalent des problèmes de sécurité, les développeurs ne savent pas comment les résoudre.
    4. État actuel des méthodes de détection

      Gabriel a ensuite examiné l’efficacité des méthodes actuelles pour détecter les vulnérabilités :

      • Les revues de code par des pairs ont un taux de détection inférieur à 50%, et même ceux qui trouvent les vulnérabilités ne savent souvent pas comment les corriger.
      • Les outils d’analyse statique de sécurité sont encore moins efficaces, avec un taux de détection moyen d’environ 18% (35% pour les meilleurs outils). Ces outils ont également un taux élevé de faux positifs et se concentrent souvent sur certaines catégories de vulnérabilités au détriment d’autres.
      • Potentiel de l’intelligence artificielle

        Face à ces lacunes, Gabriel s’est intéressé au potentiel de l’intelligence artificielle pour améliorer la détection des vulnérabilités. Deux éléments sont ressortis de ses recherches :

        1. Des modèles d’IA spécialisés peuvent être très performants (jusqu’à 98% de taux de détection) pour des types spécifiques de vulnérabilités comme les injections SQL, mais ne sont pas adaptés à la variété de technologies et vulnérabilités rencontrées en pratique.
        2. L’IA générative, particulièrement GPT-4, montre une excellente compréhension du code (97% de taux de compréhension), même lorsque le code est obscurci (87%).
        3. Gabriel souligne que l’IA générative présente un double avantage : non seulement elle peut analyser le code, mais elle permet aussi d’entamer un dialogue pour comprendre les problèmes détectés, ce qui en fait un excellent outil pédagogique.

          Méthodologie de la recherche

          Pour tester l’efficacité de ChatGPT dans un contexte réaliste, Gabriel a :

          1. Développé une application PHP de base sans failles de sécurité
          2. Ajouté 86 vulnérabilités différentes dans des fonctionnalités réalistes
          3. Soumis ces modifications à ChatGPT en lui demandant de faire une revue de code de sécurité
          4. Demandé à ChatGPT d’identifier les lignes problématiques, de décrire les vulnérabilités et de fournir les codes CWE (Common Weakness Enumeration) correspondants
          5. Résultats et conclusions

            Les résultats ont été analysés selon trois critères :

            • “Trouvé” : ChatGPT a identifié la ligne problématique, donné la bonne description et le bon code CWE
            • “Partiellement trouvé” : ChatGPT a identifié la ligne et la bonne description, mais pas le bon code CWE
            • “Non trouvé” : ChatGPT n’a pas détecté la vulnérabilité
            • ChatGPT a atteint un taux de détection complète (avec le bon code CWE) d’environ 17-19%, ce qui est faible. Cependant, en incluant les détections partielles, le taux monte à environ 56%, ce qui est supérieur aux revues de code humaines et aux outils d’analyse statique actuels.

              Limites et perspectives

              Gabriel a identifié plusieurs limites et pistes d’amélioration :

              1. La documentation des codes CWE est inégale, ce qui complique la tâche de ChatGPT pour les classifier correctement.
              2. ChatGPT a du mal à détecter les vulnérabilités qui concernent l’absence de quelque chose (comme l’absence de journalisation).
              3. La nature non déterministe de ChatGPT pose problème pour une utilisation rigoureuse en entreprise (résultats différents pour la même question).
              4. Le manque de contexte lors de l’analyse de modifications de code isolées peut conduire à des faux positifs.
              5. Pour améliorer ces résultats, Gabriel suggère :

                • Fournir plus de contexte à ChatGPT (l’ensemble du projet)
                • Réduire le paramètre de température de ChatGPT pour avoir des réponses plus déterministes
                • Poser des questions plus spécifiques pour détecter les vulnérabilités liées à l’absence de certains mécanismes
                • Explorer des modèles d’IA plus spécialisés ou personnalisés (RAG)
                • Cette recherche ouvre la voie à une meilleure intégration de l’IA dans les processus de développement sécuritaire, non seulement pour détecter les vulnérabilités mais aussi pour aider les développeurs à les comprendre et les corriger.

                  Collaborateurs
                  • Nicolas-Loïc Fortin
                  • Gabriel T. St-Hilaire
                  • Crédits
                    • Montage par Intrasecure inc
                    • Locaux réels par Cybereco
                    • ...more
                      View all episodesView all episodes
                      Download on the App Store

                      PolySécure PodcastBy Nicolas-Loïc Fortin et le Polysecure crew


                      More shows like PolySécure Podcast

                      View all
                      Security Now (Audio) by TWiT

                      Security Now (Audio)

                      1,966 Listeners

                      Le rendez-vous Tech by NotPatrick

                      Le rendez-vous Tech

                      40 Listeners

                      NoLimitSecu by NoLimitSecu

                      NoLimitSecu

                      2 Listeners

                      La Science, CQFD by France Culture

                      La Science, CQFD

                      74 Listeners

                      La French Connection by Hackfest Communication

                      La French Connection

                      1 Listeners

                      Ça s'explique by Radio-Canada

                      Ça s'explique

                      27 Listeners

                      Code source by Le Parisien

                      Code source

                      59 Listeners

                      Cyber Security Headlines by CISO Series

                      Cyber Security Headlines

                      117 Listeners

                      La revue de presse de Paul Arcand by Cogeco Media

                      La revue de presse de Paul Arcand

                      20 Listeners

                      Cybersécurité All Day by Michael VIRGONE

                      Cybersécurité All Day

                      0 Listeners

                      Cyber Citoyen by Cyber Citoyen

                      Cyber Citoyen

                      0 Listeners

                      🔴 RadioCSIRT : L’Actu Cyber Qui Protège Votre Quotidien ! ⚡️ by Marc Frédéric GOMEZ

                      🔴 RadioCSIRT : L’Actu Cyber Qui Protège Votre Quotidien ! ⚡️

                      0 Listeners

                      On n'a pas tout dit by Cogeco Média

                      On n'a pas tout dit

                      3 Listeners