Mauvaise gestion des stocks

Mauvaise gestion des stocks

L'ancienne version de l'API que vous avez oubliée répond toujours.

Qu'est-ce que Mauvaise gestion des stocks?

Un contrôle de sécurité ne couvre que les points finaux dont vous savez qu'ils sont en cours d'exécution. Les anciennes versions d'API, les points de terminaison non documentés et les hôtes oubliés restent déployés en dehors de cette image, continuant à servir le code non protégé qu'ils ont toujours fait. Vous obtiendrez un 401 de la version actuelle, modifierez un segment d'URL de la v2 à la v1 et en obtiendrez 200 avec le nom, l'adresse e-mail et l'adresse personnelle d'un client, puis intégrerez les identifiants de compte dans une liste groupée. Le correctif supprime l'ancienne version afin que chaque chemin en dessous renvoie 410 Gone. La dépréciation dans la documentation n'est pas une retraite.

Ce que vous apprendrez dans Mauvaise gestion des stocks

Mauvaise gestion des stocks — Étapes de la formation

  1. Une ancienne version, toujours répertoriée

    Emberline est une application solaire et énergétique domestique : les clients associent leurs panneaux et leur batterie, et l'application lit leur compte à partir de l'API d'Emberline. Aujourd'hui, Bob cible Emberline. Il n'a ni compte ni jeton ; il veut juste une liste de clients et l'endroit où ils vivent, pour vendre. Il commence par consulter la documentation publique des développeurs d'Emberline pour apprendre l'API.

  2. Obsolète, pas disparu

    La documentation décrit deux versions de l'API. Bob lit comment chacun est étiqueté et une étiquette attire son attention.

  3. Demander la version actuelle

    Tout d'abord, Bob appelle la version actuelle de la manière décrite dans la documentation : il demande un compte par son identifiant, en utilisant l'exemple d'identifiant de la référence. Il n’a aucun jeton, c’est donc un cas non authentifié. Si la passerelle fait son travail, elle devrait le refuser.

  4. La passerelle refuse

    La version actuelle fait exactement ce qu'elle devrait.

  5. Changer un segment

    Bob envoie la même requête, toujours sans jeton, et ne change qu'une seule chose : la version dans l'URL, de v2 à v1 , la version obsolète. Tout le reste est identique. Si l’ancienne version a vraiment disparu, cela ne devrait aboutir à rien.

  6. La version oubliée répond

    La même demande que la passerelle vient de refuser est revenue avec des données.

  7. Parcourez les comptes

    Un enregistrement est un avertissement. Étant donné que v1 ne demande aucun jeton, rien n'empêche Bob de parcourir les identifiants de compte. Il conserve la version sur v1 et change l'identifiant pour le client suivant.

  8. Chaque client, à grande échelle

    Une autre identité, un autre vrai client.

  9. Contrôle des connaissances

    Vous venez de voir un attaquant sans compte lire les enregistrements client en changeant la version dans l'URL. Verrouillez pourquoi.

  10. L'alerte débarque

    Vous possédez la passerelle API d'Emberline et le cycle de vie de chaque version d'API qui la sous-tend. Du jour au lendemain, la surveillance a signalé des milliers de lectures non authentifiées sur l'ancien point de terminaison des comptes /v1 , à partir d'une seule adresse, parcourant les identifiants de compte dans l'ordre. Les opérations de sécurité vous ont envoyé un e-mail.

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

OWASP API Top 10

  • API9:2023 Improper Inventory Management

CWE

  • CWE-1059 Insufficient Technical Documentation

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