Les attaques IDOR (Insecure Direct Object Reference) concernent 15 % des programmes de bug bounty auxquels souscrivent les entreprises issues du secteur de la vente au détail et du e-commerce. Ces attaques représentent à elles seules la principale vulnérabilité à l’origine des programmes de bug bounty dans les secteurs des organisations publiques (18 %), de la technologie médicale (36 %) et des services professionnels (31 %).

Les attaques IDOR constituent, pour les cyberattaquants, une vulnérabilité facile à exploiter : en donnant aux utilisateurs le moyen de remplacer sur une plate-forme en ligne des contenus par d’autres, il devient possible de modifier le comportement de la plate-forme, de subtiliser des données, ou encore héberger des logiciels malveillants.

Elles sont simples à réaliser. L’attaquant se contente de manipuler les requêtes HTTP en modifiant l’un des paramètres pour avoir accès à l’information de son choix. Une telle attaque est possible lorsque les développeurs de sites et Web Apps permettent des accès trop directs aux informations sans en contrôler les conséquences.

Sur la seule plateforme HackerOne, chaque mois, plus de 200 vulnérabilités IDOR sont détectées et signalées aux clients avant d’avoir été exploitées.

Il existe plusieurs types d’attaques IDOR, notamment :

La modification d’une page web : les pirates parviennent à modifier la valeur d’une case à cocher, d’un bouton radio, d’API et de champs de formulaire de manière à récolter les sans peine les informations des utilisateurs du site.
La falsification d’URL, qui consiste à modifier l’URL du client en manipulant les paramètres de la requête HTTP.
Les requêtes HTTP qui hébergent les vulnérabilités IDOR.
L’affectation massive, permettant de détourner un modèle d’enregistrement pour modifier des données auxquelles l’utilisateur ne devrait pas pouvoir accéder.

Sous sa forme la plus simple et la plus fréquente, une vulnérabilité IDOR émerge lorsque l’utilisateur est en mesure d’accéder à un contenu et de le remplacer sans autorisation. Prenons l’exemple d’une vulnérabilité soumise à Shopify par le hacker californien Rojan Rijal (alias @rijalrojan) en 2018. En observant la manière dont les pièces jointes des fichiers étaient étiquetées lors de l’envoi d’une requête à l’application Exchange Marketplace de Shopify, il avait pu remplacer des documents en utilisant le même nom de fichier depuis différents comptes.

Des vulnérabilités facilement exploitables

Croire que l’on peut détecter les attaques IDOR à l’aide d’outils est une idée fausse. Ce genre d’attaques requiert que les équipes redoublent de créativité ainsi que des tests de sécurité manuels afin de pouvoir les identifier correctement. Si toutefois, certaines machines peuvent détecter un début d’activité IDOR, il est nécessaire ensuite de s’appuyer sur des analyses et des rapports de vulnérabilités élaborés par des experts. Si l’on se penche sur les tests d’intrusion traditionnels, on peut se rendre compte qu’à moins qu’un administrateur de pentest passe en revue tous les paramètres possibles et imaginables dans chaque point de terminaison de requête, ce type de vulnérabilité passera inaperçu.

Quelles sont les implications des vulnérabilités IDOR ?

Les attaques IDOR figurent parmi les plus récurrentes ces derniers temps. Nous avons pu le vérifier avec la plateforme de médias sociaux alt-tech Parler. L’entreprise classait ses messages par numéro dans l’URL, ce qui est révélateur d’IDOR. Dès lors que l’on incrémente le chiffre au sein de l’URL d’un message de Parler, on pouvait accéder sur la plateforme indéfiniment au message suivant. En l’absence d’authentification, il était donc possible pour un hackeur de facilement créer un programme lui permettant de télécharger l’intégralité des messages, photos, vidéos et données du site. S’il ne s’agissait que de messages publics, les données de géolocalisation comprises dans les messages étaient également téléchargées, divulguant ainsi les coordonnées GPS des domiciles des utilisateurs.

Freiner le développement des attaques IDOR

Il existe une stratégie permettant de freiner le développement des attaques IDOR et celle-ci suggère d’instaurer un mécanisme de contrôle d’accès robuste, en choisissant la méthodologie la mieux adaptée, en enregistrant tous les accès et, si possible, en effectuant un audit avec un contrôle post autorisation. Si l’on cherche à réduire l’impact d’une attaque IDOR, il n’est pas recommandé d’utiliser une valeur entière séquentielle mais d’avoir recours à des identificateurs universels uniques ou même un MAC (des identifiants hachés) avec un set par session d’utilisateur. Toutes ces mesures ne contribuent pas à éradiquer IDOR, mais permettent amplement de réduire son développement et l’impact néfaste qui en découle.

Quelques bonnes pratiques pour remédier aux vulnérabilités IDOR

1. Éviter d’afficher les références d’objets privés tels que les noms de fichiers.
2. Affiner la validation des paramètres.
3. Vérifier l’ensemble des objets référencés.
4. Générer des tokens de manière à ce qu’ils ne puissent être associés uniquement à l’utilisateur et ne soient pas publics.
5. Veiller à ce que les requêtes soient limitées au propriétaire de la ressource.
6. Privilégier des identificateurs séquentiels aux identificateurs universels uniques, car ces derniers ne détectent pas toujours efficacement les vulnérabilités IDOR.


Par Laurie Mercer, Ingénieur Sécurité HackerOne