À la fin de l’année dernière, David Haynes, ingénieur en sécurité à la société d’infrastructure Internet Cloudflare, se retrouva à regarder une image étrange. «C’était du pur charabia», dit-il. « Un tas de pixels gris et noirs, fabriqués par une machine. » Il a refusé de partager l’image, disant que ce serait un risque pour la sécurité.
La prudence de Haynes était compréhensible. L’image a été créée par un outil appelé Mayhem qui sonde le logiciel pour trouver un inconnu défauts de sécurité, réalisé par une startup issue de l’Université Carnegie Mellon appelée ForAllSecure. Haynes l’avait testé sur le logiciel Cloudflare qui redimensionne les images pour accélérer les sites Web et lui a fourni plusieurs exemples de photos. Mayhem les a transformés en images maudites et glitches qui ont fait planter le logiciel de traitement de photos en déclenchant un bug inaperçu, une faiblesse qui aurait pu causer des maux de tête aux clients payant Cloudflare pour assurer le bon fonctionnement de leurs sites Web.
Cloudflare a depuis fait de Mayhem une partie standard de ses outils de sécurité. L’US Air Force, la Marine et l’Armée l’ont également utilisée. Le mois dernier, le Pentagone a attribué à ForAllSecure un contrat de 45 millions de dollars pour élargir l’utilisation de Mayhem à travers l’armée américaine. Le département a beaucoup de bugs à trouver. UNE Rapport du gouvernement 2018 a constaté que presque tous les systèmes d’armes testés par le ministère de la Défense entre 2012 et 2017 présentaient de graves vulnérabilités logicielles.
Mayhem n’est pas assez sophistiqué pour remplacer complètement le travail des chercheurs d’erreurs humains, qui utilisent leurs connaissances en conception de logiciels, leurs compétences en lecture de code, leur créativité et leur intuition pour trouver des failles. Mais le co-fondateur et PDG de ForAllSecure, David Brumley, affirme que l’outil peut aider les experts humains à faire plus. Le logiciel du monde comporte plus de failles de sécurité que les experts n’ont le temps de trouver, et plus de failles sont expédiées chaque minute. «La sécurité ne consiste pas à être sécurisée ou non sécurisée, mais à quelle vitesse vous pouvez vous déplacer», explique Brumley.
Mayhem est né d’un concours de piratage inhabituel de 2016 dans un Salle de bal du casino de Las Vegas. Des centaines de personnes se sont présentées pour regarder le Cyber Grand Challenge, organisé par l’agence de recherche du Pentagone DARPA. Mais il n’y avait aucun humain sur scène, seulement sept serveurs informatiques bien éclairés. Chacun a hébergé un bot qui a tenté de trouver et d’exploiter des bogues dans les autres serveurs, tout en trouvant et corrigeant ses propres failles. Après huit heures, Mayhem, réalisée par une équipe du laboratoire de sécurité Carnegie Mellon de Brumley, a remporté le premier prix de 2 millions de dollars. Son serveur magenta allumé atterrit dans le Smithsonian.
Brumley, qui est toujours professeur à Carnegie Mellon, dit que l’expérience l’a convaincu que la création de son laboratoire pourrait être utile dans le monde réel. Il a mis de côté les capacités offensives du bot de son équipe, le raisonnement de la défense était plus important et a commencé à le commercialiser. «Le Cyber Grand Challenge a montré qu’une sécurité totalement autonome est possible», dit-il. «Les ordinateurs peuvent faire un assez bon travail.»
Contrat américain
Les gouvernements chinois et israélien le pensaient également. Les deux contrats proposés, mais ForAllSecure a signé avec l’oncle Sam. Il a obtenu un contrat avec la Defense Innovation Unit, un groupe du Pentagone qui essaie d’accélérer les nouvelles technologies dans l’armée américaine.
ForAllSecure a été mis au défi de prouver le courage de Mayhem en recherchant des failles dans le logiciel de contrôle d’un avion de ligne commercial avec une variante militaire utilisée par les forces américaines. En quelques minutes, le pirate informatique a trouvé une vulnérabilité qui a ensuite été vérifiée et corrigée par le constructeur de l’avion.
D’autres bogues trouvés par Mayhem incluent un découvert plus tôt cette année dans le logiciel OpenWRT utilisé dans des millions de périphériques réseau. L’automne dernier, deux stagiaires de l’entreprise ont obtenu un paiement du programme de primes de bogues de Netflix après avoir utilisé Mayhem pour trouver une faille dans un logiciel qui permet aux gens d’envoyer des vidéos de leur téléphone à un téléviseur.
Brumley affirme que l’intérêt des sociétés automobiles et aérospatiales est particulièrement fort. Voitures et avions s’appuyer de plus en plus sur les logiciels, qui doit fonctionner de manière fiable pendant des années et est rarement mis à jour, le cas échéant.
Mayhem ne fonctionne que sur les programmes pour les systèmes d’exploitation basés sur Linux et trouve les bogues de deux manières, l’une scattershot, l’autre plus ciblée.
La première est une technique appelée flou, ce qui implique de bombarder le logiciel cible avec des entrées générées de manière aléatoire, telles que des commandes ou des photos, et de regarder pour voir si un déclencheur se bloque. La seconde, appelée exécution symbolique, consiste à créer une représentation mathématique simplifiée du logiciel cible. Ce double abruti peut être analysé pour identifier les points faibles potentiels de la cible réelle.
Le fuzzing est devenu plus largement utilisé dans la sécurité informatique ces dernières années. L’année dernière, Google a publié un outil de duplication qui, selon lui, a trouvé plus de 16 000 bugs dans son navigateur Chrome. Mais Haynes of Cloudflare dit que la technique n’est pas encore couramment utilisée dans l’industrie car les outils de fuzzing nécessitent généralement une adaptation trop minutieuse pour chaque programme cible. ForAllSecure a conçu Mayhem pour être plus adaptable, dit-il, permettant à Cloudflare d’utiliser le fuzzing plus régulièrement. L’exécution symbolique peut trouver des bogues plus complexes et a déjà été utilisée principalement dans les laboratoires de recherche, explique Haynes.
Les humains toujours nécessaires
Ruoyu Wang, professeur à l’Arizona State University, espère que Mayhem n’est que le début d’un avenir plus automatisé pour la sécurité informatique, mais il dit que cela nécessitera des robots détecteurs de bogues pour collaborer davantage avec les humains.
Mayhem montre que l’automatisation peut faire un travail utile, dit Wang, mais les moteurs de recherche de bogues existants ne peuvent pas être très utiles pour les services Internet ou les logiciels complexes. Le meilleur logiciel est loin d’être assez intelligent pour comprendre l’intention et le fonctionnement des programmes comme le font les gens. La capacité de Mayhem à essayer beaucoup de choses différentes plus rapidement que n’importe quel humain n’est pas un substitut. «De nombreux problèmes difficiles à trouver automatiquement des vulnérabilités sont loin d’être résolus», explique Wang.
Wang faisait partie d’une équipe appelée Mechanical Phish qui s’est classée troisième du tournoi DARPA 2016 qui a donné son départ à Mayhem. Il travaille maintenant sur un nouveau programme de recherche de l’agence appelé ÉCHECS, en essayant de créer un logiciel de recherche de bogues plus puissant qui sollicite les humains pour obtenir de l’aide sur les choses que les machines ne peuvent pas bloquer. «À l’heure actuelle, l’automatisation de pointe ne sait pas quand elle atteint une barrière», explique Wang. « Il devrait s’en rendre compte et consulter un humain. » Aujourd’hui, Mayhem recherche les bogues par lui-même, mais ses descendants peuvent être des joueurs d’équipe.
Cet article est apparu pour la première fois sur wired.com.