Exposition excessive des données

Exposition excessive des données

L'écran masque les champs. Ce n’est pas le cas de la réponse de l’API.

Qu'est-ce que Exposition excessive des données?

Un point de terminaison sérialise l'intégralité d'un enregistrement stocké et fait confiance à l'application client pour afficher uniquement les champs sécurisés. Les appelants lisent la réponse brute, pas l'interface rendue. Vous ouvrirez une carte de profil affichant un nom et une ville, capturerez l'appel derrière et rechercherez l'e-mail, le téléphone, la date de naissance et les coordonnées du domicile dans la charge utile, puis le répéterez sur un fil de découverte pour des milliers de personnes. Le correctif est une projection explicite de liste verte côté serveur. Le point de terminaison corrigé répond toujours à 200, mais avec moins de champs.

Ce que vous apprendrez dans Exposition excessive des données

Exposition excessive des données — Étapes de la formation

  1. Une page de coureur public

    Aujourd'hui, Bob cible Trailkin, une application de course à pied sociale, pour récolter des données personnelles sur ses membres à grande échelle. Il s'est inscrit en tant que membre ordinaire avec une identité jetable. Les profils Trailkin sont publics de par leur conception : n’importe qui peut rechercher n’importe quel coureur. Bob ouvre la page d'une cible, qui affiche la carte publique du coureur et un flux d'autres coureurs à proximité.

  2. Uniquement les champs sécurisés, à l'écran

    La carte de profil est volontairement clairsemée. C’est ce que tout le monde est censé voir, et cela ne montre rien qu’un attaquant pourrait utiliser pour trouver ou usurper l’identité de cette personne.

  3. Coureurs près de chez vous

    Sous la carte, la même page montre le fil de découverte de Trailkin : d'autres membres courant à proximité. Comme le profil, chaque carte ici affiche uniquement des détails publics.

  4. Regardez les demandes

    La carte et le flux ont chacun été extraits des données récupérées par l'application via l'API. Bob ouvre les outils réseau du navigateur et recharge la page une fois, capturant les deux appels effectués par l'application pour la créer.

  5. Deux appels, et tout ce que la carte cachait

    Les outils réseau ont capturé le rechargement. Les deux appels effectués par la page figurent dans la liste des demandes et Bob ouvre la réponse au premier, l'appel de profil.

  6. Ouvrir l'appel à proximité

    Un profil est une victime. L'appel du flux se trouve juste là dans la liste. Bob clique dessus pour lire ce que la demande des coureurs à proximité de chez vous a renvoyé.

  7. La fuite, à grande échelle

    La réponse à proximité est la même fuite, multipliée sur l’ensemble de l’alimentation.

  8. Contrôle des connaissances

    Vous venez de regarder un compte de membre simple lire des détails privés que l'application n'affiche jamais. Verrouillez pourquoi.

  9. L'alerte débarque

    Vous possédez le service de profil d'athlète de Trailkin. Du jour au lendemain, la surveillance a signalé un compte de membre unique qui extrayait des enregistrements complets pour des milliers d'utilisateurs via le profil public et les points de terminaison à proximité. La sécurité vous a envoyé les détails par e-mail.

  10. Ouvrez le routeur de profil

    Ouvrez le routeur de l'athlète et voyez comment il transforme un enregistrement stocké en réponse.

Couverture des référentiels de sécurité

OWASP API Top 10

  • API3:2019 Excessive Data Exposure

CWE

  • CWE-213 Exposure of Sensitive Information Due to Incompatible Policies
  • CWE-200 Exposure of Sensitive Information to an Unauthorized Actor

CIS Controls

  • CIS 16 Application Software Security

NIST CSF

  • PR.AT-02 Individuals in specialized roles are provided with awareness and training so that they possess the knowledge and skills to perform relevant tasks with cybersecurity risks in mind
  • PR.PS Platform Security