De plus en plus souvent nous entendons parler de problèmes liés à la « cybersécurité » tels que : les sujets médiatiques bien connus « the fappening » (2014) où des photos dénudées de stars ont été volées dans le « Cloud-Computing » ; « The Impact Team » (2015) qui a publié l’ensemble des comptes de « Ashley Madison » contenant des époux/épouses infidèl(e)s et « WannaCry » (2017) ; un virus qui a pris en otage des ordinateurs (notamment des ordinateurs d’hôpitaux) contre une somme d’argent.
Ces divers problèmes mettent en avant le fait qu’il existe toujours une brèche de sécurité exploitable par des pirates informatiques, principalement dû à une simple erreur de programmation (développement) dans la superposition de couches logicielles (utilisation de fonctions ou autres programmes existants). Ces petites brèches sont vulnérables face aux 120 000 « cyberattaques » (www.planetoscope.com) quotidiennes.
Les termes « cyberguerre », « guerre cybernétiques » et « cyberterrorisme » sont à présent couramment employés alors qu’ils n’étaient initialement destinés qu’aux films de science-fiction. Des « pirates » informatiques affirment qu’ils ont été engagés afin de concevoir des logiciels malveillants ou d’exploiter des failles de vulnérabilité. Ceux-ci exploitent des concepts de l’intelligence artificielle, en particulier l’apprentissage automatique. Du côté de la « cybersécurité » ou sécurité informatique, l’utilisation de l’intelligence artificielle est encore très peu répandue. La seule exception sont les antivirus qui exploitent des heuristiques mais cela ne constitue qu’une unique ligne de défense intelligente et auto-adaptative face à une infrastructure déjà infectée. Le MIT (www.mit.edu) mène des recherches au croisement de l’apprentissage automatique et de la sécurité informatique [1] depuis une dizaine d’années mais ces concepts peinent encore à être mis en œuvre dans des solutions de sécurité.
Un des problèmes majeurs dans la sécurité informatique qui nécessite l’utilisation de l’apprentissage automatique est l’utilisation d’attaques conjointes qui sont traitées de manière individuelle par les systèmes de sécurité. Ces attaques individuelles ne sont pas interprétées en tant que tel étant donné que chacune d’entre-elle effectue une action anodine (ex : créer un fichier) mais contribue activement à la réalisation d’une intrusion ou exploitation. Dans un système en temps réel (un système informatique répondant dans des délais très courts), beaucoup d’informations sont traitées par seconde. Analyser ces informations qui constitue une quantité phénoménale de données va ralentir le système, ce qui va à l’encontre du concept de temps réel. Il faut donc trouver une alternative aux méthodes existantes afin de détecter les actions combinées d’une attaque sans analyser les données de manière classique (avec un algorithme qui vérifie un ensemble de motifs d’attaques). C’est là qu’intervient le projet « Shota » qui vise à employer l’auto-apprentissage sur ces quantités de données (big data) afin de sécuriser les systèmes en temps réels modernes.
Les modèles d’auto-apprentissage employés sont les réseaux de neurones convolutif afin d’intégrer à terme, un système de détection hardware similaire au « Intel Movidius Neural Compute Stick ». Ces réseaux de neurones permettent de traiter rapidement des données complexes [2] avec une dépendance temporelle (réseaux de neurones à mémoire à court et long termes [6]). L’outil Cuckoo sandbox [3] permet de collecter les interactions des programmes exécutés avec le système d’exploitation [4,5].
[1] Dua, S., & Du, X. (2016). Data mining and machine learning in cybersecurity. CRC press.
[2] Xin, Y., Kong, L., Liu, Z., Chen, Y., Li, Y., Zhu, H., ... & Wang, C. (2018). Machine learning and deep learning methods for cybersecurity. IEEE Access, 6, 35365-35381.
[3] Oktavianto, D., & Muhardianto, I. (2013). Cuckoo malware analysis. Packt Publishing Ltd.
[4] Darshan, S. S., Kumara, M. A., & Jaidhar, C. D. (2016, December). Windows malware detection based on cuckoo sandbox generated report using machine learning algorithm. In 2016 11th International Conference on Industrial and Information Systems (ICIIS) (pp. 534-539). IEEE.
[5] Jamalpur, S., Navya, Y. S., Raja, P., Tagore, G., & Rao, G. R. K. (2018, April). Dynamic malware analysis using cuckoo sandbox. In 2018 Second international conference on inventive communication and computational technologies (ICICCT) (pp. 1056-1060). IEEE.
[6] Hochreiter, S., & Schmidhuber, J. (1997). Long short-term memory. Neural computation, 9(8), 1735-1780.
[7] Mahdavifar, S., Ghorbani, A.A. DeNNeS: deep embedded neural network expert system for detecting cyber attacks. Neural Comput & Applic (2020).