Total Recall : un cyborg stagiaire à l'assaut du phishing

  

Interview de Vincent Falconieri, stagiaire au Computer Incident Response Center Luxembourg (CIRCL) et co-créateur du programme Total Recall.

Comment en es-tu venu à t’intéresser à la sécurité de l’information ?

Vincent Falconieri : « A l’Institut national des sciences appliquées de Lyon (INSA) il y a une association de sécurité informatique qui s’appelle INSECURITY, je l’ai rejoint dès mon arrivée dans l’école. »

Est-ce que tu connaissais déjà ce domaine ?

« Oui, mais j’en avais une vision assez utopique, celle-ci a depuis changé, d’une matière qui nécessite d’être un expert “en tout”. C’est cette vision initiale qui m’a mené à rejoindre le club de sécurité informatique ainsi que la variété des sujets traités. La sécurité représentait pour moi le “dernier rempart” à atteindre en informatique. Ma vision a depuis changé, comprenant qu’il faut surtout avoir une connaissance générale large et être bon un peu partout, mais sans être un expert. »

Pourquoi as-tu rejoint CIRCL ?

« Au sein d’INSECURITY, un professeur est en charge de chapeauter les activités du club, François Lesueur. Celui-ci joue également un rôle de mentor auprès des étudiants, notamment afin de les conseiller dans leurs choix de carrière. Comme il était déjà en contact avec le CIRCL, il m’a proposé de postuler chez eux. »

Comment s’est passé ton intégration ?

« De manière plutôt inattendue ! Sachant que l’on m’a directement proposé de travailler sur un module MISP pour tester mes compétences avant de passer sur un projet plus important. Cette première période a duré un mois. C’était une très bonne entrée en matière, bien cadrée. J’ai pu découvrir qui étaient les référents dans chaque domaine, comment fonctionnent les outils et quelles étaient les technologies sous-jacentes. »

Comment est venue l’idée de Total Recall ?

« D’une part, j’avais une expérience préalable au projet Total Recall. Et d’autre part, l’équipe travaillant sur le développement du projet MISP au CIRCL avait rencontré un problème quant à la corrélation d’images. Celle-ci demande une technique bien plus complexe que lorsqu’il s’agit d’éléments textuels. Ce qui se rapproche le plus de l’outil nécessaire c’est la recherche inversée de Google image. Il n’existait donc pas de solution qui respecte la notion open source et gratuite du fait de contrainte technique ou légale. Il a d’abord été envisagé d’utiliser la technique de fuzzy hash. Cependant, j’avais assisté à une conférence à l’INSA de Pierre Letessier qui travaillait à l’Institut national de l’audiovisuel (INA). Leur équipe avait rencontré le même problème, par exemple pour connaître le temps de publicité dans les matchs de foot. Ils avaient choisi de se baser sur une technique plus ancienne, mais efficace, les points SIFT. Je me suis donc porté volontaire afin de travailler sur le projet Total Recall. La première étape fut de prendre contact avec Pierre Letessier en lui demandant de but en blanc : « J’aimerais beaucoup recréer un outil proche du vôtre, et libre, est-ce que vous auriez des conseils ? » et celui-ci m’a tout de suite répondu positivement. »

Comment fonctionne Total Recall ?

« Il existe trois éléments : le State of the Art, Carl Hauser et Douglas Quaid. Le State of the Art permet de réunir les théories qui semblent le mieux fonctionner. Carl Hauser donne les méthodes avec lesquelles Douglas Quaid travaille. Et ce dernier arrive à dire si deux images sont identiques.

De la théorie, le State of the Art, on passe donc à une phase bac à sable, Carl Hauser, avec les premières implémentations d’algorithmes; ensuite si la méthode tient le coup on la transfère dans Douglas Quaid, qui sera lui-même utilisé à terme dans MISP. Il faut savoir que l’humain reste inclus dans le processus de décision afin d’éviter la création d’une “zone grise” trop importante où les algorithmes généreraient de nombreux faux positifs, … La coordination entre l’analyste et l’algorithme (une sorte d’intelligence augmentée) est nécessaire puisque, dans de nombreux cas de machine learning, il est possible d’obtenir un résultat sans connaître le cheminement suivi, ce qui peut conduire à des résultats aberrants et pourtant invisibles. »

Articulation des différents projets

Est-ce que l’aspect open source ne règle pas cela ?

« Il y a plusieurs niveaux d’opacité: pour un système grand public, qui donne des résultats, on peut avoir un premier niveau d’opacité “légale” qui cache les techniques par lesquelles ces résultats ont été obtenu. Le système est une boîte noire parce que l’on a pas le droit de l’ouvrir.

Une seconde couche pourrait être une opacité de connaissance : on a le droit d’ouvrir la boite, mais on ne sait pas lire ce qu’il y a à l’intérieur. Ici, étant ceux qui conçoivent le produit, nous ne rencontrons pas le problème.

Une troisième couche correspond à l’opacité technique ou structurelle. Si les paramètres ou le fonctionnement de l’algorithme est opaque, même si le code est disponible, alors on doit croire ou ne pas croire le résultat mais on ne peut le discuter. On peut ouvrir la boîte noire, lire ce qu’il y a à l’intérieur, le comprendre, mais ne pas savoir comment chaque décision a été prise. L’algorithme lui-même est opaque lors de son exécution.

A l’inverse, une volonté a été que Douglas Quaid mette à disposition le processus complet de décision. Les retours de l’analyste pourront également être intégrés dans le processus de décision de l’algorithme. Cependant cette fonctionnalité n’est pas encore présente. »

Est-ce que l’amélioration automatisée de l’algorithme peut se faire au travers de la communauté à l’instar du travail fait sur MISP ?

« En effet, car si je n’ai pas les compétences ou le temps pour améliorer l’algorithme par moi-même des membres de la communauté pourront cetainement l’améliorer et le faire évoluer dans telle ou telle direction. »

Pourquoi utiliser cette référence cinématographique ?

« Il faut le voir comme une boutade expliquant la manière dont on a avancé sur ce projet. Dans un premier temps on a commencé avec une libraire que l’on a nommé Carl Hauser qui a été suivie par une seconde : Douglas Quaid. CIRCL souhaitait également éviter les problèmes d’acronymes rencontrés avec MISP et AIL, en donnant des noms plus compréhensibles aux projets. »

Quel bilan fais-tu de ton expérience ?

« L’un des principaux avantages de mon expérience au CIRCL a été de voir comment travaille un CERT. J’avais déjà vu des professionnels de la sécurité de l’information travaillant dans des entreprises. Cependant, je n’avais pas encore vu une telle synergie entre des individus autour de leurs missions. Chaque jour, on discute de sujets sensibles, on traite des informations qui le sont tout autant, ce qui implique une charge de travail importante et une confiance mutuelle. »

Est-ce que cela t’a permis de trouver la spécialité de la sécurité de l’information que tu préfères ?

« Bien que j’ai passé six mois à travailler dans un CSIRT, je n’ai pas vraiment fait de cybersécurité. Ma mission a été de créer un logiciel qui a pour but de renforcer la sécurité, ce qui est une nuance importante. Cela me prouve que l’on peut faire des choses qui ont autant de sens sans techniquement faire de la cybersécurité ou de la réponse sur incident. Le développement d’outil, bien que n’étant pas au cœur du métier, peut permettre d’améliorer l’efficacité des analystes dans leurs missions. Cette expérience m’a permis de prendre confiance en mes capacités en ingénierie logicielle tout en élargissant ma compréhension du domaine. »

Souhaites-tu continuer dans ce domaine ?

« Comme je l’indiquais, ce qui me motivait lorsque j’ai intégré le club sécurité de l’INSA c’était l’image de ces experts, qui excellaient dans tous les domaines. J’ai en fait appris que c’est une vision erronée, il faut surtout avoir une capacité d’adaptation et d’apprentissage afin de faire face à des problématiques diversifiées. Grâce au CIRCL, je prends en compte un nouvel élément qui est la finalité de mon travail, son impact, son sens. Bien plus que le challenge technique ou la connaissance, c’est bien le sens et l’utilité pour la communauté qui m’importe. Pendant six mois je ne me suis jamais posé la question de savoir pourquoi je me levais. »

Pour en savoir plus…

=> Présentation de Total Recall par Alexandre Dulaunoy à la conférence Pass the Salt

=> SOA/État de l’art
Comporte des informations sur les différents algorithmes, des tests de leurs implémentations, des limites trouvées, des avantages, des désavantages, des évolutions, des idées d’améliorations, etc.

Outils et références

=> VisJS-Classificator :

=> Carl-Hauser

=> Douglas-Quaid

=> Documentation de Douglas-Quaid

=> Résultats de Douglas-Quaid

=> Page Open-Data du CIRCL

=> Page du dataset circl-ail-dataset-01

=> Page du dataset circl-phishing-dataset-01

=> Module d’export PDF pour MISP

=> Taxonomie MISP-darkweb

Script pour extraire les tags d’un machinetag.json et en faire une liste “lisible”

=> Papier des jeux de données

=> Papier de VisJS-Classificator

=> Papier de Carl-Hauser

=> Papier de Douglas-Quaid