Saltar a contenido

Insecure Direct Object Reference

Insecure Direct Object Reference

Descripción

Un IDOR (Insecure Direct Object Reference) se produce cuando una aplicación expone una referencia directa a un objeto interno sin la debida autorización.

Esta clase de vulnerabilidad da como resultado una referencia directa insegura, lo que puede provocar el acceso a datos sensibles y la omisión de autorización.

Recomendación

Existen varias formas de prevenir las vulnerabilidades de referencia indirecta de objetos:

  1. Utilizar referencias de objetos indirectas: En lugar de exponer referencias directas a objetos internos (como ID de bases de datos), utilice referencias indirectas o tokens que se asocian a los objetos del lado del servidor. Esto evita que los usuarios alteren directamente los identificadores.

  2. Implementar controles de acceso: Aplique controles de acceso tanto en el frontend como en el backend para imponer restricciones sobre a qué datos pueden acceder los usuarios. Esto incluye el control de acceso basado en roles (RBAC), el control de acceso basado en atributos (ABAC) o cualquier otro mecanismo de control de acceso pertinente.

  3. Utilizar referencias de objetos criptográficamente seguras: Si es posible, utilice técnicas criptográficas como HMAC o UUID para generar referencias de objetos o tokens seguros e impredecibles.

Enlaces

Estándares

  • 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