Cybersécurité & Intelligence artificielle : peut-on dormir sur nos deux neurones ?
Frederic Cuppens et Nora Cuppens, IMT Atlantique, Rennes
Actuellement, on ne parle plus que d’Intelligence Artificielle et des applications de l’IA à la cybersécurité. Il est bon de rappeler que l’utilisation de techniques issues de l’Intelligence Artificielle pour la sécurité ne date pas d’hier. Déjà au début des années 80, des travaux de recherche proposaient d’appliquer diverses techniques d’IA au domaine de la détection d’intrusion telles que les réseaux de neurones, les approches immunologiques ou les algorithmes génétiques. Si on ne parlait pas encore de deep learning, on parlait déjà de data mining et de machine learning. Encore aujourd’hui, les résultats de ces diverses techniques pour la détection d’intrusion sont mitigés. Les IDPS (Intrusion Detection and Prevention System) commerciaux commencent seulement à combiner les approches classiques dites par signatures avec des méthodes d’analyse reposant sur l’apprentissage automatique. Cependant, le taux de fausses alertes (les fameux faux positifs) générées par ces produits reste élevé, voire extrêmement élevé selon de nombreux utilisateurs de ces produits. Par ailleurs, la capacité de ces produits de détecter de nouvelles attaques (les attaques dites zero-day, le graal de la détection d’intrusion) reste limitée, voire inexistante.
Certes le Gartner, dans son Magic Quadrant, estime que les systèmes de détection d’intrusion intégrant des solutions reposant sur l’IA vont connaître une évolution telle que
« d’ici fin 2020, 60 % des déploiements IDPS seront complétés par des méthodes d’analyse telles que l’apprentissage automatique et l’analyse comportementale des utilisateurs et des entités — alors que ces solutions ne représentent que 10 % aujourd’hui ».
Mais de quoi parle-t-on au juste et pourquoi les évolutions sont-elles si lentes alors que dans d’autres domaines les résultats du deep learning sont si spectaculaires ? Tout d’abord, il faut constater que pour que le deep learning donne de bons résultats, en surpassant parfois les capacités d’un être humain, il faut disposer de données massives pour paramétrer correctement les fonctions d’apprentissage. C’est le cas dans le domaine des jeux comme les échecs ou le go (où de très nombreuses parties de joueurs humains existent mais aussi parce que l’algorithme de deep learning peut générer des données à l’infini en jouant contre lui-même comme dans le cas de AlphaGo) ou dans d’autres domaines comme l’apprentissage d’images. Pour que le deep learning soit efficace, il faut aussi une idée claire de ce que l’on souhaite apprendre ; il existe des règles précises dans le cas des jeux et l’on sait caractériser ce que l’on cherche à apprendre dans le cas des bases d’images.
Dans le cas de la détection d’intrusion, les choses sont pour le moment très différentes. Les jeux de données disponibles pour paramétrer les algorithmes de deep learning sont très peu mis à disposition et souvent de taille insuffisante. Les exemples d’attaques sont des événements sous-représentés par rapport au comportement « normal » du système sous surveillance. Ce dernier point n’est pas sans conséquence lorsqu’on utilise ces techniques de deep learning. Par ailleurs, on compare souvent la détection d’intrusion à la recherche d’une aiguille dans une botte de foin. Cette comparaison n’est malheureusement pas correcte : dans le cas de la détection d’intrusion, on ne sait souvent pas ce que l’on cherche (donc pas de caractérisation de l’aiguille) ni où il faut chercher (donc pas de botte de foin).
Comment avancer ? Apporter des réponses à cette question est un sujet central des travaux de recherche menés dans le cadre de la chaire Cyber CNI. Il faut tout d’abord développer des solutions permettant de partager et mutualiser des jeux de données pour la sécurité, tels que logs réseau, les logs système ou les logs applicatif. Comme ces jeux données contiennent généralement des informations sensibles, et donc difficiles à partager, des travaux sont menés pour anonymiser ces jeux de données. Il s’agit d’un travail difficile car il faut que les données, une fois anonymisées, restent utiles pour la détection d’intrusion.
Pour répondre à la question « qu’est-ce que l’on cherche à apprendre ? », les travaux de recherche s’intéressent à des études de cas spécifiques pour lesquels il est possible d’apprendre le comportement « normal » du système sous surveillance, par exemple un processus industriel ou un service bancaire particulier. Parmi les approches utilisées, nous ne nous limitons pas aux techniques de deep learning mais nous nous intéressons également à d’autres techniques comme par exemple, celles issues de la théorie du signal ou de la théorie du contrôle.
Enfin, comment être efficace ? L’analyse des résultats remontés par les algorithmes d’intelligence artificielle nécessite des expertises allant au-delà des seules expertises cyber et mathématique. Le besoin d’explication apportée par des experts du système cible supervisé est indispensable. C’est également l’un des objectifs de la chaire Cyber CNI.