La mission du hackathon : écrire un programme capable d'analyser des millions de lignes de code open-source, d'identifier les failles de sécurité et de les corriger, le tout sans intervention humaine. En cas de succès, les participants gagneraient des millions de dollars dans le cadre d'un concours de deux ans parrainé par la DARPA, l'Agence pour les projets de recherche avancée de la défense.
Dans le cadre du concours de cette année, les équipes utilisent leurs programmes améliorés par l'IA pour analyser et améliorer des millions de lignes de code réel.
Shellphish est l'une des sept équipes qui ont rédigé des documents décrivant suffisamment bien leur approche pour obtenir un financement d'un million de dollars pour les étapes qui culmineront lors des demi-finales en août à Def Con, qui ont attiré 40 participants. Le vainqueur recevra 2 millions de dollars supplémentaires en 2025.
Selon les termes du concours de la DARPA, tous les finalistes doivent publier leurs programmes en open source, de sorte que les fournisseurs de logiciels et les consommateurs puissent les utiliser.
Le défi de la sécurité des logiciels open source
Les programmes libres, tels que le système d'exploitation Linux, permettent de tout faire fonctionner, des sites web aux centrales électriques. Le code n'est pas intrinsèquement plus mauvais que celui des programmes propriétaires d'entreprises telles que Microsoft et Oracle, mais il n'y a pas assez d'ingénieurs qualifiés chargés de le tester.
En conséquence, le code libre mal entretenu a été à l'origine de certaines des violations de cybersécurité les plus coûteuses de tous les temps, y compris le désastre d'Equifax en 2017 qui a exposé les informations personnelles de la moitié des Américains. L'incident, qui a donné lieu au plus important règlement de violation de données jamais conclu, a coûté à l'entreprise plus d'un milliard de dollars en améliorations et en pénalités.
Faille dans Apache Struts
En effet, Equifax a pointé du doigt une faille dans Apache Struts (un framework libre servant au développement d'applications web Java EE) qui aurait été utilisée. À l'époque, STRUTS était un système largement utilisé : environ 65 % des sociétés figurant dans la liste Fortune 100 parmi lesquelles Lockheed Martin, Citigroup, Vodafone, Virgin Atlantic, Reader's Digest, Office Depot et Showtime.
Bien sûr, Apache Struts s'est empressé de réagir :
Log4j
En 2013, un utilisateur a proposé d'ajouter du code à Log4j, et la petite équipe de la Fondation Apache chargée de la maintenance de Log4j l'a approuvé. En novembre 2021, un ingénieur chinois a constaté que la section ajoutée contenait un énorme défaut de conception qui permettrait de prendre le contrôle du système, et il a signalé le problème au groupe Apache.
Alors qu'Apache travaillait sur un correctif pour résoudre le problème, un chercheur non identifié a découvert les changements en cours et a développé un outil malveillant pour prendre le contrôle des ordinateurs utilisant Log4j. Apache a publié le correctif à la hâte, déclenchant une course entre des milliers de défenseurs et ceux qui tentaient d'exploiter la faille avant qu'elle ne soit corrigée.
De nombreuses instances de Log4j n'ont toujours pas été corrigées. Fin juillet, la National Security Agency et d'autres organismes ont averti que des espions nord-coréens continuaient à s'introduire dans des serveurs web américains utilisant d'anciennes versions.
Le comité d'examen de la cybersécurité de la Maison Blanche a conclu que seuls un meilleur codage et des audits approfondis auraient pu empêcher la diffusion de la faille Log4j, et que les efforts en matière de logiciels libres comme ceux d'Apache « nécessiteraient un soutien financier et une expertise soutenus ».
L'Agence pour la cybersécurité et la sécurité des infrastructures (CISA) du ministère de la sécurité intérieure a réagi en accordant de petites subventions à des start-up et en incitant les entreprises à déclarer le contenu de leurs logiciels. Mais il s'agit là d'initiatives à évolution lente.
Le rappel le plus récent de la vulnérabilité remonte au mois de mars. Un ingénieur de Microsoft a alors constaté une légère augmentation de l'utilisation des processeurs grâce à des outils open-source pour Linux qui venaient d'être mis à jour. Il a découvert qu'une porte dérobée pour l'espionnage avait été insérée par le mainteneur officiel des outils, et a tiré la sonnette d'alarme à temps pour empêcher la livraison de ces outils dans les versions les plus populaires de Linux.
L’IA comme solution
Quoiqu'il en soit, si les hommes ne sont pas en mesure de suivre l'évolution de tous les codes tissés dans tous les secteurs industriels, la DARPA espère que les machines le pourront.
« L'objectif est de disposer d'un "système de raisonnement cybernétique" de bout en bout qui s'appuie sur de grands modèles de langage pour trouver des vulnérabilités, prouver qu'il s'agit bien de vulnérabilités et les corriger », a expliqué l'un des professeurs conseillers, Yan Shoshitaishvili, de l'État de l'Arizona.
Pour y parvenir, l'équipe est confrontée à la réalité souvent sombre qui se cache derrière les nobles aspirations de l'IA. Les étudiants s'efforcent notamment d'imposer des « contrôles d'équilibre » pour éviter les hallucinations, de vérifier que les correctifs résolvent effectivement les problèmes qu'ils sont censés résoudre et de faire débattre deux systèmes d'IA sur les meilleurs correctifs, une troisième IA décidant du vainqueur.
« L'IA est comme un enfant de trois ans avec des connaissances infinies », a déclaré Lukas Dresel, étudiant diplômé de l'UC-Santa Barbara et co-capitaine de l'équipe. « Il faut lui donner des informations exploitables ».
L'équipe Shellphish est l'un des 40 participants au concours AIxCC (artificial intelligence cyber challenge) organisé par la DARPA, l'organisme de recherche du Pentagone chargé de mettre au point des armes secrètes et de s'en défendre. « Nous voulons redéfinir la manière dont nous sécurisons les bases de code critiques largement utilisées, en raison de l'omniprésence des logiciels libres dans les secteurs des infrastructures critiques », a déclaré Andrew Carney, chef de projet de la DARPA pour le concours.
Une explosion du nombre de violation de données
Bien que la DARPA ait contribué à la création de l'internet pour pallier les défaillances de communication, il est devenu douloureusement évident que le réseau a également introduit d'énormes faiblesses.
Sans sécurité intégrée, les vastes interconnexions permettent à n'importe qui ou n'importe quoi de partir de n'importe où et de chercher à pénétrer dans les machines qui alimentent le monde moderne. Une fois à l'intérieur, les utilisateurs peuvent se faire passer pour des employés ou des administrateurs de système, voler des secrets nationaux ou commerciaux, fermer l'endroit ou demander une rançon.
Les pirates informatiques font plus de victimes que jamais : Le nombre de violations de données signalées à l'Internet Crime Complaint Center du FBI a triplé entre 2021 et 2023. Des agents gouvernementaux s'introduisent dans les centrales électriques et hydrauliques de pays rivaux. Les gangs criminels, gorgés de profits illicites, n'hésitent pas à mettre hors service des hôpitaux et à envoyer ailleurs des patients désespérés.
Les logiciels libres, qu'ils soient écrits par des étudiants ou des génies clairvoyants, sont presque aussi omniprésents que l'internet lui-même et, selon certaines estimations, ils se nichent à l'intérieur de 90 % des logiciels commerciaux.
Comme tous les logiciels, ils comportent des bogues, dont certains peuvent être exploités pour prendre le contrôle d'une machine.
Certains grands projets de logiciels libres sont gérés par des armées de bénévoles de la taille de Wikipédia et sont généralement en bonne santé. D'autres ont des mainteneurs qui reçoivent des subventions de grandes entreprises utilisatrices qui en font un travail. Et puis il y a tout le reste, y compris les programmes écrits comme des devoirs par des auteurs qui s'en souviennent à peine.
L'Open Source a toujours été « à utiliser à vos risques et périls », a déclaré Brian Behlendorf, qui a créé l'Open Source Security Foundation après avoir passé des dizaines d'années à maintenir un logiciel serveur libre pionnier, Apache, et d'autres projets au sein de l'Apache Software Foundation. « Il ne s'agit pas de libre comme dans liberté d'expression », a-t-il ajouté, précisant qu'il s'agit plus de « libre comme lorsqu'on prend un chiot ; il a besoin d'être soigné et nourri ».
Les implications pour l’emploi et la société
- Automatisation des emplois de sécurité informatique : Si l’IA peut détecter et corriger les bogues plus efficacement que les humains, quel sera l’impact sur les emplois dans le domaine de la sécurité informatique ? Les experts en sécurité devront-ils se reconvertir ou trouver de nouvelles façons de contribuer ?
- Responsabilité : Qui sera responsable si l’IA introduit accidentellement de nouvelles vulnérabilités ? Comment pouvons-nous garantir que l’IA ne crée pas de problèmes de sécurité supplémentaires ?
- Transparence et confiance : Les utilisateurs doivent-ils faire confiance à un système automatisé pour détecter les bogues ? Comment pouvons-nous rendre l’IA plus transparente et compréhensible pour les non-experts ?
Yan a comparé les progrès attendus à des étapes importantes en matière de sécurité, comme les mises à jour forcées des logiciels et les « bacs à sable » des navigateurs, qui empêchent les programmes web de s'échapper du navigateur et de s'exécuter ailleurs sur l'appareil de l'utilisateur. L'IA ne sera pas en mesure de sécuriser tous les logiciels, a-t-il déclaré. Mais elle donnera aux humains plus de temps pour essayer.
Sources : DARPA (1, 2), Open Source Security Foundation, National CyberSecurity Center
Et vous ?
L’IA peut-elle remplacer complètement les humains dans la détection de bogues ? Pensez-vous que l’IA peut surpasser les compétences humaines en matière de détection de vulnérabilités logicielles ?
Quels sont les avantages et les inconvénients de l’utilisation de l’IA pour la sécurité des logiciels ? Pensez aux implications positives et négatives de l’automatisation de la détection de bogues.
Comment pouvons-nous garantir que l’IA ne crée pas de nouveaux problèmes de sécurité ? Discutez des risques potentiels liés à l’utilisation de l’IA dans ce domaine.
Quelles sont les responsabilités éthiques des développeurs et des chercheurs en matière de sécurité logicielle ? Évoquez la manière dont les décisions prises lors de la conception de l’IA peuvent avoir un impact sur la sécurité globale.
Quelles autres applications de l’IA pourraient améliorer la cybersécurité ? Partagez vos idées sur d’autres domaines où l’IA pourrait jouer un rôle crucial dans la sécurité informatique.