Proyecto OWASP API Top 10

Continuando con la publicación anterior, ahora desarrollaremos las vulnerabilidades que el proyecto  OWASP API Top 10 ha identificado.

API1 – Autorización de nivel de objeto roto (Broken Object Level Authorization)

Las API tienden a exponer puntos finales que manejan identificadores de objeto, creando un problema de control de acceso a nivel de superficie de ataque amplio. Las comprobaciones de autorización a nivel de objeto deben considerarse en cada función que accede a una fuente de datos utilizando la entrada del usuario.

Se recomienda implementar un acceso seguro y / o autenticación y autorización modernas basadas en estándares en todas las aplicaciones que acceden a sistemas remotos.
Automatice la implementación de flujos de trabajo de autorización para garantizar implementaciones seguras y consistentes en todas las aplicaciones.

Evite implementaciones estáticas y manuales de tecnologías o estándares de identidad, acceso y autenticación. En su lugar, aproveche la tecnología para automatizar este proceso de modo que su aplicación adopte estándares de autenticación, esto es que se vincule dinámicamente con la del proveedor de identidad sin que sea necesario cambiar el código de la aplicación manualmente.

Los desarrolladores pueden lograr esto aplicando técnicas y/o políticas en su API Management:
• Cifrado de datos
• Ofuscación de código
• Comunicación confiable
• Segmentación API

API2 – Autenticación rota (Broken Authentication)

Los mecanismos de autenticación a menudo se implementan incorrectamente, lo que permite a los atacantes comprometer los tokens de autenticación o explotar fallas de implementación para asumir las identidades de otros usuarios de manera temporal o permanente. La capacidad comprometida del sistema para identificar al cliente / usuario compromete la seguridad de la API en general

Para abordar esto se recomienda que los desarrolladores, nunca almacene credenciales o tokens de autorización en texto claro. Cifre toda la información de token, credenciales y usuarios y almacene esos elementos por separado en una bóveda de almacenamiento segura fuera del alcance de los servicios que no pertenecen a la cadena de confianza.
Cifre las preferencias, cadenas y recursos en la aplicación para evitar que los atacantes junten información que luego pueden usar para realizar ataques.
Implemente la autenticación multifactor (MFA) de forma nativa en todas las aplicaciones móviles que tengan una cuenta creada o se conecte a un punto final remoto para fines de identificación, verificación o recuperación.
Los desarrolladores pueden lograr esto aplicando técnicas y/o políticas en su API Management:

• Cifrado de datos
• Ofuscación de código
• Comunicación confiable
• Segmentación API

API3: Exposición excesiva de datos (Excessive Data Exposure)

Al esperar implementaciones genéricas, los desarrolladores tienden a exponer todas las propiedades de los objetos sin considerar su sensibilidad individual, confiando en que los clientes realicen el filtrado de datos antes de mostrarlo al usuario. Sin controlar el estado del cliente, los servidores reciben cada vez más filtros que se pueden abusar para obtener acceso a datos confidenciales

Para abordar esto se recomienda que los desarrolladores evitar implementar APIs en aplicaciones de forma genérica, y no exponga en exceso las propiedades del objeto o los parámetros utilizados en la transacción API. En su lugar, implemente API con la mayor especificidad posible, dado el caso de uso.

Aproveche el aprendizaje automático y las técnicas de desarrollo basadas en inteligencia artificial para aplicar la ofuscación y el cifrado de forma adaptativa y dinámica en relación con el contexto ambiental.
Los desarrolladores pueden lograr esto aplicando técnicas y/o políticas en su API Management:

• Ofuscación de código
• Blindaje API
• Comunicación confiable
• Segmentación API

API4: falta de recursos y limitación de velocidad: (Lack of Resources and Rate Limiting)

A menudo, las API no imponen ninguna restricción sobre el tamaño o la cantidad de recursos que puede solicitar el cliente / usuario. Esto no solo puede afectar el rendimiento del servidor API, lo que lleva a la denegación de servicio (DoS), sino que también deja la puerta abierta a fallas de autenticación como la fuerza bruta.

Para abordar esto se recomienda implementar políticas de control de tráfico en el API Management, como parte del estándar de construcción de APIs

API5: Autorización de nivel de función roto (Broken Function Level Authorization)

Las políticas de control de acceso complejas con diferentes jerarquías, grupos y roles, y una separación poco clara entre las funciones administrativas y regulares, tienden a conducir a fallas de autorización. Al explotar estos problemas, los atacantes obtienen acceso a los recursos y / o funciones administrativas de otros usuarios.

Para abordar esta vulnerabilidad, considere implementar políticas de Trusted Session Inspection, ya que Trusted Session identificará y bloqueará cualquier certificado malicioso durante el protocolo de enlace SSL.

 

En la siguiente publicación presentaremos los 5 siguientes  OWASP API Top 10.

Si deseas más información escríbenos a contacto@apiservice.cl