Self-evolving network verifiers
Ce document propose des « vérificateurs de réseaux auto-évolutifs », un système qui apprend et affine de manière autonome des modèles de réseaux symboliques en comparant de façon itérative les propositions d'un agent de codage par rapport au comportement réel des routeurs, éliminant ainsi la nécessité d'une maintenance manuelle de modèles sujette à l'erreur et permettant la vérification de fonctionnalités réseau complexes et spécifiques aux fournisseurs.
Article original sous licence CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Ceci est une explication générée par l'IA de l'article ci-dessous. Elle n'a pas été rédigée ni approuvée par les auteurs. Pour une précision technique, consultez l'article original. Lire la clause de non-responsabilité complète
Imaginez l'internet comme une immense ville invisible faite entièrement de routes, de feux de signalisation et de camions de livraison. Dans cette ville, les « feux de signalisation » sont en réalité des programmes informatiques complexes s'exécutant sur des routeurs, décidant précisément de la destination de chaque donnée. Si ces programmes commettent une erreur, toute la ville peut se retrouver dans un embouteillage, provoquant le crash d'internet. Pendant des années, des ingénieurs ont tenté de construire des « super-contrôleurs de trafic » — des outils logiciels capables de prédire chaque possible embouteillage avant qu'il ne se produise, même si une route disparaît soudainement ou qu'une nouvelle règle est ajoutée. Ces outils sont comme des boules de cristal capables de voir l'avenir du réseau.
Cependant, il y a un pièat. Pour utiliser ces boules de cristal, vous devez d'abord leur enseigner les règles de la route. Or, les règles ne sont pas écrites dans un livre unique et parfait. Au contraire, elles sont éparpillées à travers des milliers de pages de manuels techniques, et différentes entreprises (comme les fabricants de routeurs Cisco ou Juniper) interprètent parfois les règles légèrement différemment. C'est comme essayer d'apprendre à un robot à conduire dans une ville où chaque panneau de signalisation est écrit dans un dialecte différent, et où les panneaux changent chaque fois que la ville met à jour son logiciel. Maintenir la carte du robot à jour est un travail incessant et épuisant pour les experts humains. Si la carte est ne serait-ce qu'un peu erronée, la boule de cristal donne une fausse prédiction, et le réseau reste vulnérable aux pannes.
C'est ici qu'intervient une nouvelle idée proposée par des chercheurs de l'ETH Zürich. Ils proposent qu'au lieu d'avoir un expert humain qui dessine méticuleusement la carte, nous laissions la carte se dessiner elle-même. Ils ont construit un système où un « codeur-robot » (une IA) observe un véritable routeur (ou une simulation parfaite de celui-ci) et apprend les règles en observant ce qu'il fait réellement. Si la carte du codeur-robot dit « tournez à gauche », mais que le vrai routeur tourne à droite, le codeur-robot corrige sa carte immédiatement. C'est comme un étudiant qui apprend à conduire en étant assis sur le siège passager, en regardant l'instructeur et en corrigeant sa propre carte mentale chaque fois qu'il reçoit une mauvaise direction.
Les chercheurs ont testé cette idée en donnant à leur système trois règles de conduite complexes qu'il ne connaissait pas : comment gérer différents quartiers (zones OSPF), comment gérer le trafic via un hub central (réflexion de route BGP), et comment livrer des colis à travers différentes villes virtuelles (L3VPN sur EVPN). Le système n'a pas simplement deviné ; il a utilisé un simulateur de « vérité terrain » comme un enseignant de confiance. Lorsque le modèle de l'IA était en désaccord avec le simulateur, le simulateur fournissait un « contre-exemple » — un scénario spécifique où l'IA se trompait. L'IA réécrivait ensuite son propre code pour corriger cette erreur spécifique.
Les résultats ont été étonnamment fructueux. En seulement quelques cycles de ce processus de « supposition et vérification », le système a appris par lui-même ces trois fonctionnalités complexes. Il a même découvert que certains routeurs suivent un ordre d'opérations légèrement différent de ce que disent les manuels officiels, détectant ainsi des particularités propres aux constructeurs que les experts humains manquent souvent. Tout le processus n'a coûté qu'environ 30 à 40 dollars de temps de calcul par fonctionnalité et a nécessité quelques centaines d'étapes pour que l'IA comprenne tout.
Cependant, l'article prend soin de noter que ce n'est pas une baguette magique qui résout tout instantanément. Le système est excellent pour apprendre ce qui lui a été testé, mais il ne peut pas garantir qu'il ne fera jamais d'erreur dans une situation qu'il n'a pas encore rencontrée. C'est comme un étudiant qui a réussi tous les examens blancs, mais qui pourrait encore être surpris par une question piège lors de l'examen final. Les chercheurs suggèrent que le véritable défi n'est plus d'écrire le code, mais de construire de meilleurs « générateurs de tests » pour soumettre sans cesse des scénarios complexes à l'IA afin de s'assurer qu'elle est vraiment prête pour le monde réel. Ils ont également constaté que, bien que l'IA puisse apprendre les règles, elle écrivait parfois un code qui était correct mais très lent, nécessitant un second cycle d'« optimisation » pour être assez rapide pour une utilisation réelle.
En résumé, cet article suggère une nouvelle façon de construire des outils de sécurité réseau : arrêter d'essayer d'écrire manuellement le livre de règles pour chaque routeur possible, et plutôt laisser une IA apprendre les règles en observant les routeurs fonctionner, en corrigeant ses erreurs avec l'aide d'un simulateur de confiance. C'est un passage de « l'expert humain dessinant la carte » à « l'IA apprenant à conduire en regardant la route », promettant de rendre l'internet plus sûr et plus facile à gérer, à condition de tester rigoureusement les compétences de conduite de l'IA.
Noyé(e) sous les articles dans votre domaine ?
Recevez des digests quotidiens des articles les plus récents correspondant à vos mots-clés de recherche — avec des résumés techniques, dans votre langue.