Press "Enter" to skip to content

3.7. Sécurité

Comme beaucoup d’autres domaines applicatifs, la cybersécurité n’échappe pas à la grosse tendance liée à l’essor de l’apprentissage automatique. Ce qui suit fait d’abord rapidement le point sur l’intelligence artificielle en cybersécurité depuis ses débuts jusqu’à maintenant puis esquisse quelques lignes pour les prochaines années.

Très brièvement, la sécurité informatique concerne les moyens matériels, humains et organisationnels visant à assurer la confidentialité, l’intégrité et la disponibilité des informations et des services. Pour ce faire, on utilise des moyens de prévention tels que les pare-feux*, le chiffrement et le contrôle d’accès, et des moyens de détection tels que les systèmes de détection d’intrusions (IDS – Intrusion Detection System) et de monitoring et d’analyse de logs*. À cela, on peut ajouter des outils d’analyse forensique (analyse d’un système informatique après incident), de reprise après incidents, etc.

Plusieurs systèmes et travaux de recherche proposent des approches à base d’intelligence artificielle en cybersécurité. Pour plus de lisibilité, ces approches peuvent être réparties en deux grandes catégories: i) les approches statistiques et apprentissage automatique et ii) les approches logiques* ou symboliques.

Dans la première catégorie, on dénombre surtout une variété d’approches pour traiter, essentiellement, le problème de détection d’intrusions et d’anomalies dans les flux de données* analysées. Traditionnellement, l’approche la plus utilisée en pratique est dite “par signatures” en ce sens que la détection d’attaques consiste en la recherche de traces caractéristiques des attaques connues. En pratique, cette approche peut s’avérer efficace en termes de taux de détection par rapport au taux de fausses alertes sous-jacent, mais souffre d’un problème majeur qui est celui de l’incapacité de détecter les attaques inconnues ou nouvelles, communément appelées zero day attacks*. Pour y remédier, un autre type d’approches dites comportementales se basent, quant à elles, uniquement sur les activités et fonctionnements normaux d’un système. En général, ce modèle normal d’activités est appris sur les données d’observation du système en conditions normales. Malheureusement, toutes les approches comportementales génèrent un taux de fausses alertes trop élevé pour être déployées en pratique. Cela dit, il est clair que des techniques d’apprentissage automatique peuvent être construites sur des données et utilisées pour la détection d’intrusions ou d’anomalies. En effet, il suffit de collecter des données ou des traces d’activités que l’on veut détecter, apprendre un modèle supervisé ou non supervisé pour détecter des activités d’intérêt.

C’est ainsi que les tout premiers travaux sur la détection d’intrusions, au début des années 1980, utilisaient des réseaux de neurones*. Depuis, on a utilisé pratiquement toutes les techniques d’apprentissage supervisé* et non supervisé* en détection d’intrusions et d’anomalies. Le gros du travail est, comme dans beaucoup de domaines, consacré à la collecte, la vérification et l’étiquetage des jeux de données représentatifs des activités à détecter. Cela est d’autant plus difficile que des jeux de données, récents et de qualité, sont presque introuvables dans la communauté de recherche et chez les praticiens de la sécurité informatique.

Les approches symboliques en sécurité informatique se déclinent d’abord sous la forme de systèmes experts, probabilistes ou non, implémentant des règles de détection. Il s’agit dans la plupart des cas d’automatiser des raisonnements d’experts en sécurité informatique. On trouve ensuite des systèmes de représentation de connaissances, comme des ontologies*, en vue d’automatiser certaines tâches de raisonnement. En effet, il existe actuellement plusieurs ontologies et taxonomies généralistes ou spécifiques à certains domaines de la sécurité informatique. Ainsi, une ontologie en sécurité réseau formalisera les concepts, les entités et les relations relatifs aux protocoles de communication, vulnérabilités, intrusions, services, etc. On trouve également des approches symboliques dans certains systèmes de contrôle d’accès où il est question d’exprimer et d’implanter une politique de sécurité en termes de permissions qu’ont les utilisateurs sur l’accès aux données et dans quelles conditions ils les ont.

En général, on retrouve les deux approches combinées pour traiter différentes tâches d’intérêt. Ainsi, on retrouve souvent des approches d’apprentissage automatique pour la détection d’intrusions et des approches statistiques et symboliques pour la corrélation d’événements et d’alertes

issues des outils de détection utilisés. En analyse forensique, on combine souvent des modèles probabilistes et/ou logiques pour évaluer la plausibilité des différentes hypothèses possibles, identifier des causes, établir les responsabilités, etc.

Vu les énormes quantités de données à analyser, les techniques d’apprentissage automatique sont plus que nécessaires pour le traitement de ces données, pour la détection de traces de comportements malveillants, d’anomalies, etc. Mais cela ne suffit pas, puisque l’analyse et la prise de décision depuis les résultats remontés par les algorithmes d’apprentissage, et plus généralement d’intelligence artificielle, nécessitent l’expertise humaine. Cette dernière peut s’appuyer sur des techniques d’intelligence artificielle symbolique comme mentionné plus haut, concernant la corrélation d’alertes et d’événements. L’explicabilité, un des derniers thèmes émergents en intelligence artificielle, peut apporter une aide précieuse pour comprendre, par exemple, les activités détectées et les recommandations proposées.

À la différence des autres domaines applicatifs, plusieurs freins doivent être levés pour le déploiement à grande échelle de l’apprentissage automatique en sécurité informatique. En particulier, les jeux de données disponibles pour paramétrer les algorithmes d’apprentissage comme le 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 d’apprentissage automatique. Par ailleurs, on compare souvent la détection d’intrusions à la recherche d’une aiguille dans une botte de foin. Cette comparaison n’est malheureusement pas correcte puisque dans le cas de la détection d’intrusions, on ne sait souvent pas ce que l’on cherche ni là où il faut chercher. Il est clair qu’il faut développer des solutions permettant de partager et de mutualiser des jeux de données anonymisés pour la sécurité, tels que les logs réseau, les logs système ou les logs applicatifs. Comme ces jeux de données contiennent généralement des informations sensibles, 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’intrusions.

Il est à noter enfin que l’intelligence artificielle peut représenter, de son côté, de nouveaux défis pour la sécurité informatique, car elle peut être utilisée, par exemple, pour rendre encore plus sophistiquée des techniques d’attaques et de brouillage (“obfuscation”).