Cyberexpert. L’intelligence artificielle au service de la sécurité informatique

Est-il possible de décrire la raison humaine avec tellement de précision au point de pouvoir la reproduire à l’aide d’une machine ? L’avis des scientifiques sur la question est partagé. Les développeurs qui travaillent sur l’intelligence artificielle adoptent les méthodes les plus diverses. Certains accordent leurs préférences aux réseaux neuronaux artificiels tandis que d’autres s’intéressent aux manipulations de symboles. Mais jusqu’à présent, pas un seul exemplaire d’intelligence artificielle n’a réussi le test de Turing au cours duquel il doit être impossible de discerner l’intelligence de la machine et celle de l’homme.

Un des domaines les plus prometteurs pour l’application de l’intelligence artificielle est la virologie informatique et la réparation à distance des ordinateurs.

Une des plus grandes difficultés dans le domaine de l’intelligence artificielle (AI) est la création d’une intelligence autonome, à savoir une intelligence artificielle capable d’apprendre, de prendre des décisions indépendantes et de réapprendre et de modifier son comportement. Il est possible de construire des systèmes hyperspécialisés ou de développer une intelligence artificielle complexe plus universelle, mais dans la majorité des cas, un tel système utilise l’expérience et les connaissances, décrites sous la forme d’exemples, de règles ou d’algorithme d’apprentissage, introduites par l’homme.

Pourquoi la création d’une intelligence autonome est-elle si compliquée ? Parce que la machine ne possède pas encore les qualités humaines que sont la pensée imagée, l’intuition, la capacité à discerner l’essentiel de l’accessoire et, le plus important, la soif d’en connaître davantage. Toutes ces qualités permettent à l’homme de trouver des solutions à des situations inhabituelles. Pour que l’intelligence artificielle fonctionne, elle doit avoir été dotée au préalable d’un algorithme d’action efficace. Ceci étant dit, des tentatives qui s’approchent de plus en plus de la création d’une intelligence artificielle autonome sont réalisées en permanence et certaines d’entre elles avec un certain succès.

Frais du travail manuel

La détection de programmes malveillants et la restauration des paramètres de fonctionnement normaux de l’ordinateur comportent trois étapes essentielles, que ces opérations soient confiées à l’homme ou à une machine intelligente. La première étape consiste à récolter des données objectives sur l’ordinateur étudié et sur les programmes qui y sont installés. La situation optimale est l’analyse à l’aide d’outils automatisés rapides fonctionnant sans intervention humaine et capable de créer des rapports dans un format lisible par la machine.

La deuxième étape est l’étude des données récoltées et la réalisation d’études de précision. Par exemple, les rapports ont mis en évidence des objets suspects. Il faut mettre ces objets en quarantaine et les soumettre à une analyse globale afin de déterminer le danger qu’ils présentent et de décider de la suite des événements.

La troisième étape est la procédure de réparation qui peut être confiée à un langage de script spécialisé contenant les instructions de suppression des fichiers malveillants et le rétablissement des paramètres normaux de l’ordinateur.

Il y a quelques années de cela, les étapes 2 et 3 étaient réalisées en général sans automatisation. Elles reposaient sur le travail des experts travaillant pour les éditeurs de logiciels antivirus et de membres de forums spécialisés. Toutefois, l’augmentation du nombre de victimes de programmes malveillants lançant un appel à l’aide a entraîné toute une série de problèmes parmi lesquels nous pouvons citer les cas suivants :

  • Dans le cadre du traitement manuel des rapports et des fichiers en quarantaine, l’expert antivirus est confronté à un flux incessant de données qu’il faut interpréter, ce qui ralentit le processus de l’analyse ;
  • Tout individu a des limites psychophysiologique naturelles. Tout expert peut être fatigué et se tromper et plus le volume de tâches à résoudre est élevé, plus la probabilité d’erreur est grande. Ainsi, un expert antivirus surchargé peut ne pas remarquer un programme malveillant ou, au contraire, il peut supprimer une application légitime ;
  • L’analyse des fichiers en quarantaine est une opération qui demande beaucoup de travail car l’expert doit tenir compte des particularités de la réception d’un exemplaire ou d’un autre (où se trouvait-il et quels sont les soupçons qui ont conduit à sa mise en quarantaine).

Seule l’automatisation du processus de traitement des données relatives aux menaces informatiques permet de résoudre ces problèmes. Toutefois, rares sont les tentatives impliquant divers algorithmes qui ont donné des résultats satisfaisants. La raison principale est que le programme malveillant est en amélioration constante. Des dizaines de nouveaux types de programmes malveillants apparaissent chaque jour, avec des méthodes d’introduction et de dissimulation dans les systèmes informatiques différentes. Par conséquent, il est difficile d’élaborer un algorithme d’identification et le pire est qu’un tel algorithme est vite dépassé et qu’il faut l’actualiser et le réparer en permanence. L’autre problème est dû au fait que la qualité du fonctionnement de n’importe quel algorithme est limitée par le niveau professionnel des spécialistes qui l’ont créé.

L’application de système spécialisé pour la chasse au virus a donné un peu plus de résultats. Les développeurs de système antivirus spécialisés sont confrontés à des problèmes similaires : l’efficacité du fonctionnement du système dépend de la qualité des règles et des bases de connaissance qu’il utilise. De plus, ces bases doivent également être actualisées en permanence, ce qui signifie qu’il faut y consacrer des ressources humaines.

Principes généraux de fonctionnement de CyberHelper

Malgré tout, les expériences dans le domaine ont finalement débouché sur des réussites. Le système CyberHelper a été développé, un des systèmes les plus proches de la réalisation de l’intelligence artificielle autonome pour lutter contre les programmes malveillants. Les nombreux sous-systèmes indépendants de CyberHelper sont capables de se synchroniser, d’échanger des données et de coopérer. Bien entendu, CyberHelper contient un certain nombre d’algorithmes et de règles « durs », comme dans tout programme traditionnel, mais la majorité des sous-systèmes utilisent une logique vague et déterminent eux-mêmes leur comportement pour la résolution des tâches.

Au cœur du système CyberHelper, nous retrouvons l’utilitaire AVZ développé par l’auteur en 2004 pour recueillir automatiquement des données sur les ordinateurs et les programmes malveillants étudiés afin de les mettre dans un format lisible par la machine. L’utilitaire rédige des rapports au format HTML (lecture par l’homme) et XML (analyse par la machine) sur l’étude du système informatique. Depuis 2008, le noyau d’AVZ est intégré aux produits antivirus de Kaspersky Lab.

Complexité de la réalisation

Les experts qui traitent les rapports et les fichiers en quarantaine peuvent se tromper ou réaliser des actions qui n’ont pas d’explication logique du point de vue de la machine.

Voici un exemple typique :

Le spécialiste voit dans le rapport un fichier inconnu portant le nom %Systems32%ntos.exe, caractéristique des programmes malveillants, et sur la base de son expérience et de son intuition, il supprime le fichier sans le mettre en quarantaine ou sans l’étudier davantage.

Par conséquent, les informations relatives aux actions entreprises par les experts et leurs conclusions ne peuvent pas toujours être utilisées directement pour entraîner le système.

Prenons ici l’exemple d’un utilisateur qui, avant de contacter le spécialiste, a tenté de réparer lui-même l’ordinateur et n’a supprimé qu’une partie des composants du programme malveillant. Il a restauré les fichiers exécutables infectés, mais il n’a pas nettoyé la base de registres système. Pour conclure, le troisième problème typique : pendant l’analyse du rapport, seules les métadonnées des objets suspects sont disponibles et l’analyse des fichiers en quarantaine ne donne que des informations initiales sur les objets suspects. Ces informations ne permettent que de tirer des conclusions préliminaires qui seront précisées par la suite à l’aide d’une étude plus détaillée. De plus, après quelques temps il sera possible de classer n’importe quel objet de façon univoque : il peut être détecté à l’aide des signatures en tant que programme malveillant ou considéré comme « sain ». De telles informations seront, peut-être, obtenues avec un délai considérable (de quelques minutes à plusieurs mois) et devront être confirmées à plusieurs reprises. La confirmation peut avoir lieu non seulement dans des services antivirus externes, mais également dans les sous-systèmes de CyberHelper lui-même.

Prenons un exemple typique : un analyseur ne trouve rien de dangereux dans le comportement du fichier étudié et transmet ce verdict au système CyberHelper. Après quelques temps, l’analyseur termine son travail, réalise une nouvelle analyse de fichiers déjà étudiés et pour certains d’entre eux, il obtient un verdict en contradiction avec le verdict précédent. Un tel problème peut se présenter également au niveau des conclusions des experts antivirus pour les applications dont le classement est discuté, par exemple les systèmes d’administration à distance ou les utilitaires de suivi de l’utilisateur. Leur classement peut changer selon la version de l’application installée. La particularité citée, à savoir la variabilité et la non-univocité des paramètres analysés des programmes, fait que les décisions dans CyberHelper sont prises sur la base de plus de 50 études indépendantes différentes. Les priorités de chaque type d’étude et la signification de ses résultats changent en permanence au cours de l’entraînement du système intelligent.

Sur la base des données disponibles actuellement, l’analyseur de CyberHelper avance plusieurs hypothèses sur les objets repris dans le rapports qui peuvent constituer un danger ou ceux qui peuvent enrichir la base de données des fichiers « sains ». Sur la base de ces hypothèses, AVZ écrit automatiquement les scripts pour la mise en quarantaine des objets suspects. Le script est transmis à l’utilisateur (étape 2 de l’algorithme général de CyberHelper) et il est exécuté sur l’ordinateur. À l’issue de l’exécution du script, l’objet est mis en quarantaine et de nouveaux rapports d’étude sont produits qui sont transmis au système intelligent (étape 3).

Au moment de l’écriture des scripts, il pourrait sembler que le système intelligent possède des données univoques sur les objets découverts pendant l’étude. Dans ce cas, le script peut contenir des instructions de suppression des programmes malveillants déjà connus ou d’appel de procédures spéciales pour supprimer les dommages déjà connus du système. De telles situations se présentent souvent et elles sont liées au fait que CyberHelper traite simultanément des centaines d’appels et il est fréquent que plusieurs utilisateurs, victimes du même programme malveillant, demandent de l’aide. Après avoir reçu et étudié les exemplaires requis d’un de ces utilisateurs, le système CyberHelper peut diffuser des scripts de réparation aux autres utilisateurs en évitant le stade de la mise en quarantaine. Cela fait gagner du temps aux utilisateurs et économise leur trafic. Les objets envoyés par l’utilisateur sont soumis à différentes études (dont les résultats enrichissent la base de connaissances de CyberHelper quel que soit le verdict prononcé). Ce processus d’étude est géré par l’intelligence artificielle du système CyberHelper. Ainsi, la machine intelligente peut analyser les hypothèses avancées à la première étape de l’algorithme général et les confirmer ou non.

Sous-systèmes techniques du CyberHelper

Les principaux sous-systèmes d’analyse du CyberHelper sont le sous-système autonome d’analyse des fichiers exécutables et le sous-système d’analyse du comportement des fichiers exécutables. Ils permettent à CyberHelper d’étudier de manière autonome les programmes malveillants et de s’entraîner sur la base des résultats de ces analyses. Si les études ont permis de confirmer le caractère malveillant d’un objet, il est transmis au laboratoire antivirus en vue d’une inclusion prioritaire dans les bases antivirus et un script de réparation (étape 5 de l’algorithme général du système) est créé pour l’utilisateur. Il est important de signaler que malgré la possibilité d’étudier les objets, le système CyberHelper n’est pas toujours capable de prendre une décision univoque sur les objets étudiés. Et en l’absence de décision univoque, toutes les données recueillies et les résultats initiaux sont transmis à l’expert humain pour analyse (étape 6 de l’algorithme général de CyberHelper) et la suite de la réparation de l’ordinateur est administrée par cet expert. CyberHelper n’intervient pas dans le processus mais continue à étudier les objets en quarantaine et les rapports afin de créer des rapports pour l’expert, ce qui le débarrasse d’une partie non négligeable du travail de routine.

Conclusion

Les programmes malveillants actuels se propagent et agissent à la vitesse de l’éclair. Afin d’opposer une réaction efficace aux menaces, il faut pouvoir réaliser une analyse intelligente instantanée de volumes importants de données inhabituelles. L’intelligence artificielle peut venir en aide car elle est capable de traiter les données à des vitesses qui dépassent celles de la pensée humaine. Le système CyberHelper est une des rares tentatives réussies d’approche de la création d’une intelligence artificielle autonome pour lutter contre les menaces informatiques. À l’instar de l’intelligence humaine, CyberHelper peut s’entraîner et définir lui-même ses actions. Les experts antivirus et la machine intelligente se complètent et travaillent ensemble pour un résultat plus efficace qui offre une protection plus fiable aux utilisateurs.

L’article a été publié dans le journal Secureview au 4ème trimestre 2010.

Posts similaires

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *