L'application web SERAPH

Une application participative pour recueillir des informations sur l'accès aux comptes en ligne


Contexte du projet

De nos jours, les utilisateurs possèdent un grand nombre de comptes en ligne sur de nombreux sites web et applications. Tous ces comptes, par le nombre de mots de passes et les possibilités de s'y connecter, posent des problèmes de sécurité. C'est dans ce cadre que s'inscrit ce projet. Il existe deux types de méthodes d'accès : les méthodes d'authentification (manière habituelle de se connecter à son compte) et les méthodes de récupération (pour récupérer un mot de passe oublié par exemple). Par exemple, la récupération de l'accès à un compte en cas de perte du mot de passe peut se faire à l'aide de l'adresse mail et du mot de passe de la boîte mail. Ainsi, les comptes en ligne sont liés les uns aux autres par ces méthodes de récupération. Cela aboutit généralement à un réseau de comptes complexe.

Problematique

Les méthodes de récupération sont parfois plus vulnérables que les méthodes d'authentification. Par exemple, l'attaque d'un compte et de son mot de passe par recherche exhaustive ou en utilisant des rainbow tables peut s'avérer une tâche ardue, alors qu'il est parfois beaucoup plus simple de trouver un accès à l'adresse électronique de récupération. De telles méthodes nécessitent alors des investigations plus poussées afin d'identifier les vulnérabilités de l'écosystème des comptes.


Le cœur du sujet : les graphes d'accès

Pour évaluer la sécurité d'un écosystème de comptes, nous devons comprendre comment ils sont construits. M. Radomirović, chercheur en sécurité de l'information à l'université du Surrey (Royaume-Uni) et client du projet, mène une étude sur le sujet et a élaboré un outil avec des collaborateurs : les graphes d'accès.

Il s'agit d'un formalisme graphique utilisé pour représenter et analyser les écosystèmes de comptes. Les sommets sont des facteurs d'authentification ou des plateformes (sites web ou applications utilisant un système de compte, par exemple Facebook) et sont reliés par des arêtes colorées.

Pour une plateforme donnée, les arêtes unies incidentes représentent les méthodes d'authentification et les arêtes pointillées indidentes les méthodes de récupération. Une méthode d'accès à une plateforme est représentée par l'ensemble des arêtes incidentes de même couleur à ce sommet.

Access graph example
Ce graphique représente un écosystème de compte ayant subit une attaque. L'accès à Coinbase (portefeuille de cryptomonnaies) se fait de deux manières : à l'aide du mot de passe du compte ou en demandant à l'assistance Coinbase la réinitialisation du mot de passe tout en accédant à la boîte mail de récupération de ce dernier. L'attaquant en parvenant à collecter des informations sur l'utilisateur et en utilisant le téléphone de ce dernier, parvient à avoir accès sa carte SIM. Il voit donc apparaître la demande de réinitialisation du mot de passe qu'il aura fait avec l'assistance Coinbase. Ayant son téléphone, il a donc réussi à changer le mot de passe et donc à s'introduire dans le compte Coinbase de la victime.

SERAPH en bref

L'étude des graphes d'accès nécessite une grande quantité de données. Ainsi l'application SERAPH fournit une solution participative et efficace pour récupérer les différentes méthodes d'accès aux comptes connues des utilisateurs. En effet, l'expérience a montré que récolter ces données sans l'aide d'une application est une tâche difficile, notamment en ce qui concerne les méthodes de récupération.

SERAPH est une application MVC à page unique fonctionnant sur Angular avec une attention particulière au design UX. Le back-end fonctionne sur NodeJS en utilisant ExpressJS et communique avec une base de données NoSQL. La simplicité d'utilisation étant le maître mot de l'application, SERAPH peut être utilisée à grande échelle avec de multiples interactions utilisateurs.

Découvrir SERAPH

Parcourez les différentes fonctionnalités de SERAPH ci-dessous.

main catalog screen

Une navigation pratique
SERAPH permet de consulter ses données à tout moment. Les informations contenues dans la base de données alimentent un catalogue qui permet à tout utilisateur de consulter les méthodes disponibles pour n'importe quelle plate-forme recensée. Les informations sont rafraîchies à chaque entrée et l'utilisateur peut décider s'il souhaite y contribuer ou non. Une barre de recherche est disponible pour trouver une plate-forme précise et des plate-formes peuvent être ajoutées.
completion screen

Une participation intuitive
Tout utilisateur connecté peut fournir ses propres informations sur les méthodes d'accès. Chaque action est facilitée par des aides graphiques. Ajoutez une nouvelle méthode en cliquant simplement sur une combinaison d'identifiants. Approuvez la contribution d'autrui d'un clic et signaler un problème à l'aide d'un simple formulaire.

Un système d'accréditation
Afin de renforcer la qualité des données, SERAPH utilise un système basé sur les "likes" et les rapports. Les "likes" sont utilisés pour approuver une méthode uniquement alors que des rapports peuvent être soumis pour n'importe quel élément (plate-forme, méthode d'accès, identifiants). Cela permet d'avoir un contrôle complet sur la base de données.
Access graph example

Un compte utilisateur
Un système de compte est mis en place pour contrôler le flux de données et personnaliser l'expérience de l'utilisateur. Les méthodes fournies par l'utilisateur connecté sont accessibles et facilement discernables de celles des autres utilisateurs afin qu'il puisse avoir une grande visibilité sur son travail. En outre, un utilisateur peut suivre l'état des informations qu'il a soumises durant leurs traitements.

Confidentialité et sécurité
Aucune donnée personnelle n'est collectée. Le mot de passe utilisé pour accéder à son compte utilisateur est à usage unique et est envoyé par mail à chaque connexion. Seule l'adresse électronique hachée est stockée dans la base de données pour associer les données à un utilisateur. Les données fournies sont totalement anonymes puisque chaque utilisateur est représenté par un identifiant. Un compte est lié à une adresse mail et un captcha est utilisé pour limiter la création automatique de comptes.

L'équipe de SERAPH

L'équipe est composée de 6 étudiants de 4ème année du département d'informatique de l'INSA Rennes. Le projet a été mené durant l'année 2022-2023.

Inés ANDRADE-PASCAL

Chef de projet

Fanny COUTELLER

Responsable communication

Bastien LEGRAND

Responsable des rapports

Elouan MOQUET

Responsable de la gestion du projet

Le Hoang NGUYEN

Étude de cas et gestionnaire d'outils

Martin GOUBET

Responsable serveur

Encadrant.e.s

Saša RADOMIROVIĆ

Enseignant chercheur à l'Université de Surrey (Royaume-Uni), initiateur du projet

Barbara FILA

Enseignante chercheuse à l'IRISA et à l'INSA Rennes, encadrante du projet