Mieux protéger l’exécution du logiciel

Solution de cybersécurité en cours d’industrialisation dans le Startup Studio d’Inria, Introspicion ambitionne d’élargir la protection des systèmes par une analyse du chemin d’exécution logiciel. Cet outil possède trois couches de défense : signal d’alerte, blocage de l’attaque et fermeture dynamique de la vulnérabilité. Quand il détecte une faille, il effectue une première réparation dans le code binaire sans attendre la publication du correctif par l’éditeur de l’application. Avantages : une meilleure couverture et une plus forte réactivité face aux attaques.


22 jours : c’est le temps moyen nécessaire à un pirate pour concevoir une attaque quand il apprend l’existence d’une vulnérabilité dans un réseau informatique*.  Il faut ensuite 9 jours en moyenne pour produire un correctif. Puis encore… 102 jours en moyenne pour que ce patch soit installé par les administrateurs des systèmes. Autant dire une éternité. D’où le besoin de mieux détecter ces attaques et de colmater les brèches plus vite.

Depuis plusieurs années des plateformes spécialisées se mettent en place pour mener la garde anti-intrusion sur les systèmes d’information exposés aux acteurs non identifiés. On les appelle des EDR (Endpoint Detection and Response). Elles déploient des panoplies complètes d’outils affectés à différentes fonctions de sécurité. Actuellement en développement dans le Startup Studio Inria au centre de recherche de Rennes, Introspicion va venir compléter l’arsenal de ces plateformes.

Pour l’instant, les EDR manquent de visibilité sur ce qui se passe à l’intérieur du logiciel, résume Byron Hawkins, le scientifique porteur du projet. Imaginons un chemin d’exécution dans lequel un utilisateur télécharge une image, la place dans un document Word, puis sauvegarde le fichier sur le cloud. L’EDR n’y voit rien à redire. Pour lui, c’est une séquence très normale   : une image en entrée, un import dans un fichier Word, une sortie sur le réseau. Rien de suspect a priori. Mais si l’on s’intéresse aux événements à l’intérieur du logiciel, on va peut-être découvrir des anomalies dans les branches logiques au moment du décodage de l’image. À partir de là, on pourra faire l’association avec une transmission de fichier un peu atypique. Par exemple l’envoi vers un cloud où l’utilisateur possède un compte suivi… d’un deuxième envoi vers un autre serveur. Vu de l’extérieur, cela paraît tout à fait normal. Un EDR ne peut pas soupçonner systématiquement toutes les transmissions. Il faut d’abord qu’un signal arrivant du logiciel vienne pointer une anomalie. Ensuite seulement, l’EDR va pouvoir mettre en œuvre ses compétences habituelles de façon très efficace pour étudier le problème, en s’intéressant par exemple aux adresses IP.

 

Réparation immédiate

Introspicion va permettre l’observation de l’exécution du code binaire le long des branches logiques et dans la mémoire, améliorant ainsi la vision interne des événements auxquels le logiciel est soumis. Ces fonctionnalités arrivent dans le sillage de travaux que Byron Hawkins a débutés durant sa thèse à l’université de Californie Irvine et poursuivis ensuite à Inria. “La solution comprend aussi un deuxième aspect qui repose sur Padrone, une technologie initiée par Erven Rohou, responsable de l’équipe Pacap d’Inria* et conseiller scientifique de notre projet. Cette brique nous permet de faire des réparations dans le code binaire sans avoir à redémarrer la machine et sans perturber le logiciel en cours d’exécution. De cette façon, nous pouvons fermer immédiatement une vulnérabilité dans l’attente du patch correctif qui sera publié par l’éditeur du logiciel.

Une des questions scientifiques sous-jacentes est de savoir comment effectuer de l’introspection d’exécution logicielle sur un grand nombre de chemins et donc sur un très vaste jeu de données.

Il faut trouver une méthode d’évaluation efficace pour trier le très peu de cas potentiellement vraiment malveillants par rapport à l’immense majorité de cas normaux.

« L’apprentissage machine est très en vogue, mais il s’appuie sur des techniques aléatoires, évolutives et un peu approximatives. Cela ne convient donc pas parfaitement pour le type de données à traiter ici. Vu le niveau de performance et de précision exigé, nous avons opté pour une évaluation beaucoup plus déterministe qui utilise seulement quelques éléments d’apprentissage machine.

 

Industrialisation

Les questions scientifiques étant résolues, le projet se trouve actuellement au stade de l’industrialisation. “Toutes les briques fonctionnent. Nous espérons pouvoir commencer à travailler sur des cas concrets début 2022 et être capables de détecter des exploits que, pour l’instant, les EDR ne repèrent pas.” La phase de développement doit prendre en compte deux exigences. “Si notre logiciel a la permission de modifier du code protégé, alors il peut devenir lui-même une cible de choix. Donc il doit être particulièrement sécurisé. Dans le cas contraire, un attaquant pourrait s’emparer de cette autorisation de modifier le code.” Deuxième défi : “la diversité des domaines d’exécution, que ce soit les serveurs, le téléphone mobile, les ordinateurs clients, l’Internet des objets, etc. L’adaptation de la technologie à tous ces domaines demande du temps.

Comment sera commercialisée la solution ? “Encore trop tôt pour le dire. On peut imaginer de proposer nos différents modules comme des plugins venant compléter les EDR existants. Une autre façon de procéder consisterait à s’intégrer directement dans un EDR du marché.

  • RAND Study Examines 200 Real-World Zero-Day Vulnerabilities, March 9, 2017.
  • Pacap est une équipe-projet d’Inria et de l’Université Rennes 1, commune à l’Irisa (UMR 6074).

Les commentaires sont clos.