Dans le futur, les machines corrigeront leurs propres bugs

C'est la moindre des choses.

|
16 Juin 2016, 2:15pm

Photo: University of Salford/Flickr

Dans le jeu de cartes cyberpunk Netrunner, il y a Ice et il y a l'IA. Ice protège les serveurs informatiques d'une attaque pirate, tandis que le job de l'IA est de passer à travers les barrières de sécurité de ces mêmes serveurs. La partie se déroule toute seule, sans intervention extérieure ou presque : machine contre machine. Il s'agit d'une sorte de course à l'armement autonome qui, dans notre monde informatique actuel, n'existe pas encore.

Pourtant, depuis deux ans, une poignée de chercheurs, de pirates et de spécialistes de reverse engineering travaillent sur ce sujet.

« Protéger l'ensemble de nos appareils électroniques d'une attaque pirate, et ce, manuellement, est une tâche herculéenne, » explique David Melski, vice-président du département de recherche de GrammaTech, une entreprise développant des logiciels de sécurité informatique.

GrammaTech, ainsi des professeurs de l'Université de Virginie, font partie des sept finalistes du Cyber Grand Challenge de la DARPA, une compétition de « capture de drapeau » sponsorisée par le département de recherche de l'armée américaine qui aura lieu en août à la DEF CON, la convention de hackers de Las Vegas.

Chaque équipe est chargée de concevoir un outil capable de briser la sécurité d'un logiciel donné en identifiant et en exploitant ses vulnérabilités, tout en se protégeant elle-même des attaques des autres équipes.

En bref, la DARPA demande aux équipes de concevoir des applications de détection de bugs capables de pirater les ordinateurs des participants tout en se défendant contre les tentatives de hack de ces derniers. L'équipe gagnante remportera un prix de 2 millions de dollars.

On comprend pourquoi la DARPA s'intéresse de près à ce genre d'outils. Aujourd'hui, les logiciels contrôlent la plupart des opérations qui régissent nos vies. On ne peut donc pas tolérer qu'ils soient menacés en permanence. De même qu'aucun logiciel n'est exempt de vulnérabilités, avoir des IA capables de seconder les humains dans la traque aux bugs sera bientôt une nécessité.

L'environnement informatique servant de support à la compétition a été pensé avec soin. Le code produit par les compétiteurs ne pourra pas être utilisé tel quel pour servir des applications pratiques. « Si l'on s'était attaqué directement à des situations réalistes, on aurait été découragés immédiatement, » explique Jörg Hoffmann, professeur au sein du groupe de recherche en intelligence artificielle de l'Université Saarland, dans un document publié l'année dernière par l'Association pour la promotion de l'intelligence artificielle. « Même pour sur attaques purement techniques, simuler le comportement d'un pirate de manière réaliste est une tâche énorme. »

« Nous pensons qu'il faudra des années avant qu'un ordinateur puisse réellement remplacer un humain, qui utilise une forme de créativité dont les machines sont incapables pour le moment, notamment dans le domaine de la sécurité informatique. »

En d'autres mots, Hoffmann pense que nous ne pourrons pas réaliser le rêve de la DARPA—utiliser des ordinateurs pour détecter et réparer des bugs—avant d'avoir mis au point une machine réellement intelligente.

Bien sûr, la question de déterminer en quoi consiste une « vraie » intelligence artificielle est débattue depuis très longtemps. On peut également estimer que nous n'avons pas besoin d'un firewall capable d'égaler les compétences d'Einstein afin de protéger notre Windows 10. « Il y a une vieille blague qui dit qu'on n'utilise l'expression d''intelligence artificielle' qu'en cas de problème insoluble. Lorsqu'il a été résolu, on appelle ça 'l'automatisation', » plaisante Melski. « Il faut vraiment définir ce qu'est l'intelligence, ce qu'elle n'est pas, et ce n'est pas moi qui m'en chargerai. »

Dans le cas présent, les programmes conçus par ces équipes peuvent déjà rivaliser avec les capacités humaines, voire les outrepasser dans certains cas. Mais en termes de créativité et de ruse, ils demeurent incapables de « penser » les problèmes de sécurité informatique à la manière d'un humain. Ainsi, le Cyber Grand Challenge de la DARPA constitue une sorte de travail de repérage avant de s'engager dans des recherches plus approfondies.

Au Centre pour des systèmes sécurisés et fiables de l'Université d'Idaho, le directeur Jim Alves-Foss et le professeur Jia Song ont jeté leur dévolu sur une tâche réalisable à court terme. « Mon but est de mettre au point des outils et des méthodes pour les développeurs, de sorte qu'il soit moins cher et plus facile de développer des systèmes bien sécurisés, » explique Alves-Foss. Ils forment une équipe de deux personnes seulement, et sont autofinancés.

Selon Alves-Foss, des bugs que les chercheurs connaissent depuis des décennies surgissent encore régulièrement dans des programmes récents. Il s'agit de proies faciles pour les hackers ; pourtant, ils sont tellement simples à réparer d'un logiciel pourrait s'en occuper lui-même de manière automatisée. De même, il n'y a pas besoin de faire travailler une IA complexe pour les découvrir (l'équipe a opté pour un mélange entre un mélange entre heuristique et algorithmes pour détecter les bugs).

À l'inverse, l'AI s'est révélée très efficace jusqu'à présent quand il s'agit de décider quelle partie du logiciel analyser en priorité ; c'est la technique qu'a employé l'équipe de Melski chez Grammatech et UVA. Selon Melski, l'un des grands défis de la traque de vulnérabilités informatiques est de déterminer comment optimiser cette recherche.

« Même si la DARPA fournit de nombreuses ressources, elles demeurent limitées. Et il reste à prendre des décisions sur leur application, » explique Melski. C'est à ce moment-là que la recherche en IA trouve son intérêt : il faut créer un gestionnaire de tâches efficace capable de déterminer quels efforts consacrer à la traque de telle ou telle vulnérabilité sur tel ou tel type de programme, d'évaluer où les bugs sont susceptibles de se trouver, ainsi que leur gravité.

« Leur but est d'exploiter la froide logique des ordinateurs afin de trouver des vulnérabilités déjà identifiées par le passé au sein de nouveaux programmes. »

Pour le moment, il s'agit moins de créer une IA capable de découvrir et d'inventer de nouveaux types d'attaques ex nihilo, mais de mettre au point une IA susceptible d'exploiter de manière intelligente les ressources limitées mises à sa disposition afin de hiérarchiser les bugs à réparer en priorité.

« Nous pensons qu'il faudra des années avant qu'un ordinateur puisse réellement remplacer un humain, qui utilise une forme de créativité dont les machines sont incapables pour le moment, notamment dans le domaine de la sécurité informatique, » explique David Brumley, le co-fondateur de ForAllSecure, développeur de logiciels de sécurité et finaliste de la compétition de la DARPA.

À ce stade, les équipes ne voient pas leur travail à la lumière du grand rêve cyberpunk d'ordinateurs intelligents s'affrontant dans un univers abstrait éclairé au néon, mais plutôt comme un moyen d'améliorer ce que les humains font déjà .

Par exemple, Alves-Foss veut reprendre les travaux qu'il avait entamés en compagnie de Song lorsqu'ils étaient encore étudiants, afin qu'il serve de guide pour aider les gens à écrire du code de meilleure qualité, et tuer les vulnérabilités dans l'œuf avant même que le logiciel ne soit publié.

Dans la même logique, GrammaTech et ForAllSecure affirment que les outils produits à l'occasion de la compétition pourront facilement être intégrés à leurs produits commerciaux. À court terme, ces techniques pourraient être déployées sur des logiciels d'usage privé ou professionnel dans le but d'analyser des applications téléchargées sur Internet afin de traquer des bugs et vulnérabilités potentiels.

Brumley ajoute enfin que l'objectif de ForAllSecure est « d'exploiter la froide logique des ordinateurs afin de trouver des vulnérabilités déjà identifiées par le passé au sein de nouveaux programmes. » « Une IA pourra ici remplacer une armée d'humains, » explique le co-fondateur de l'entreprise, Thanassis Avgerinos.

Dans chacun de ces cas, les programmes actuellement en cours d'élaboration ne sont pas vraiment « intelligents » au sens sens humain du terme : ils réalisent des tâches que les humains ne veulent pas effectuer par eux-mêmes parce que cela exigerait une quantité démesurée de temps et d'efforts. La science-fiction a sans doute galvaudé le concept d'intelligence, mais ne soyez pas déçus : elle vous permet d'éviter les corvées ingrates.