Insecure Direct Object Reference
Insecure Direct Object Reference (IDOR)
Description
Une vulnérabilité IDOR (Insecure Direct Object Reference) se produit lorsqu'une application expose une référence directe à un objet interne sans autorisation appropriée.
Cette classe de vulnérabilité entraîne une référence directe non sécurisée, ce qui peut conduire à un accès à des données sensibles et à un contournement d'autorisation.
Recommandation
Il existe plusieurs moyens d'empêcher les vulnérabilités IDOR :
-
Utiliser des références d'objets indirectes : Au lieu d'exposer des références directes à des objets internes (tels que des identifiants de base de données), utilisez des références indirectes ou des jetons qui sont mappés aux objets côté serveur. Cela empêche les utilisateurs d'altérer directement les identifiants.
-
Mettre en œuvre des contrôles d'accès : Appliquez des contrôles d'accès à la fois sur le frontend et le backend pour imposer des restrictions sur les données auxquelles les utilisateurs peuvent accéder. Cela inclut le contrôle d'accès basé sur les rôles (RBAC), le contrôle d'accès basé sur les attributs (ABAC) ou tout autre mécanisme de contrôle d'accès pertinent.
-
Utiliser des références d'objets sécurisées par cryptographie : Si possible, utilisez des techniques cryptographiques telles que HMAC ou UUID pour générer des références d'objets ou des jetons sécurisés et imprévisibles.
Liens
Normes
- CWE_TOP_25:
- CWE_862
- PCI_STANDARDS:
- REQ_2_2
- REQ_6_2
- REQ_6_3
- REQ_6_4
- REQ_7_3
- REQ_11_3
- SOC2_CONTROLS:
- CC_2_1
- CC_4_1
- CC_6_1
- CC_7_1
- CC_7_2
- CC_7_4
- CC_7_5
- HIPAA_CONTROLS:
- SECURITY221
- SECURITY212
- SECURITY213