ESC

Escribe para buscar entre todos los artículos

Volver al archivo

Descifrando el OWASP API Top 10 de 2023: protege tu camino hacia la seguridad

Guía completa sobre los 10 riesgos críticos de seguridad en APIs según OWASP 2023, con ejemplos y soluciones para cada vulnerabilidad.

La seguridad de las APIs es fundamental en la era digital. Para garantizar la protección de tus aplicaciones y datos, es crucial comprender los riesgos asociados. Explora estos 10 riesgos críticos de OWASP (Open Web Application Security Project) que pueden afectar la seguridad de tus APIs. ¡Mantén tus sistemas seguros y protege la integridad de tus datos!

Riesgos

API 1:2023 - Broken Object Level Authorization (Autorización Rota a Nivel de Objeto)

Las APIs tienden a exponer puntos finales que manejan identificadores de objetos, creando una amplia superficie de ataque de problemas de Control de Acceso a Nivel de Objeto. Debe considerarse la validación de autorización a nivel de objeto en cada función que accede a una fuente de datos utilizando un ID del usuario.

Soluciones:

  • Implementar una validación exhaustiva de las solicitudes para garantizar que los usuarios solo accedan a sus propios datos.
  • Utilizar tokens de autorización con ID de usuario y verificar la coincidencia antes de permitir el acceso.
  • Implementar un sistema de control de acceso a nivel de objeto en cada función que accede a los datos.

API 2:2023 - Broken Authentication (Autenticación Rota)

Los mecanismos de autenticación a menudo se implementan incorrectamente, lo que permite a los atacantes comprometer tokens de autenticación o explotar fallos de implementación para asumir temporal o permanentemente la identidad de otros usuarios. Comprometer la capacidad de un sistema para identificar al cliente/usuario compromete la seguridad de la API en general.

Ejemplo 1 de problema: Contraseñas débiles permiten que los atacantes adivinen las credenciales.

  • Establecer políticas de contraseñas sólidas que requieran una combinación de letras, números y caracteres especiales.
  • Implementar la autenticación de dos factores para agregar una capa adicional de seguridad.
  • Utilizar servicios de autenticación seguros y actualizados.

Ejemplo 2 de problema: Sesiones no se manejan de forma segura, lo que permite la suplantación de identidad.

  • Implementar manejo seguro de sesiones, como expiración automática de sesiones inactivas.
  • Utilizar tokens de sesión seguros y renovables para evitar el acceso no autorizado.
  • Realizar pruebas de penetración para identificar vulnerabilidades en el manejo de sesiones.

Ejemplo 3 de problema: Tokens de autenticación se almacenan de manera insegura.

  • Almacenar tokens de autenticación de forma segura utilizando técnicas de cifrado.
  • Implementar políticas de gestión segura de tokens, como rotación y revocación de tokens.
  • Realizar auditorías de seguridad para detectar el almacenamiento inseguro de tokens.

API 3:2023 - Broken Object Property Level Authorization (Autorización Rota a Nivel de Propiedad de Objeto)

Esta categoría combina API3:2019 Exposición Excesiva de Datos y API6:2019 - Asignación Masiva, centrándose en la causa raíz: la falta de validación de autorización adecuada a nivel de propiedad de objeto. Esto lleva a la exposición o manipulación de información por parte de partes no autorizadas.

Soluciones:

  • Implementar autorización a nivel de propiedad de objeto en cada propiedad, verificando si el usuario tiene acceso.
  • Realizar revisiones de código para garantizar que todas las funciones implementen la autorización adecuada a nivel de propiedad de objeto.
  • Utilizar herramientas de análisis estático de seguridad para identificar problemas de autorización en el código fuente.

API 4:2023 - Unrestricted Resource Consumption (Consumo No Restringido de Recursos)

Satisfacer las solicitudes de API requiere recursos como ancho de banda de red, CPU, memoria y almacenamiento. Los ataques exitosos pueden llevar a la Denegación de Servicio o un aumento en los costos operativos.

Soluciones:

  • Implementar límites de solicitud por usuario o IP para evitar abuso.
  • Utilizar servicios de mitigación de ataques DDoS para proteger contra solicitudes excesivas.
  • Monitorear el uso de recursos y configurar alertas para detectar patrones inusuales.

API 5:2023 - Broken Function Level Authorization (Autorización Rota a Nivel de Función)

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

Soluciones:

  • Clarificar y documentar claramente las diferencias entre funciones administrativas y regulares.
  • Implementar un control de acceso granular basado en roles para garantizar que solo los administradores tengan acceso a funciones críticas.
  • Realizar pruebas exhaustivas de autorización para identificar y corregir problemas de acceso no autorizado.

API 6:2023 - Unrestricted Access to Sensitive Business Flows (Acceso No Restringido a Flujos de Negocios Sensibles)

Las APIs vulnerables a este riesgo exponen flujos de negocios, como la compra de un boleto o la publicación de un comentario, sin considerar cómo la funcionalidad podría perjudicar al negocio si se utiliza de manera excesiva de forma automatizada. Esto no necesariamente proviene de errores de implementación.

Soluciones:

  • Implementar controles de límites de compra por usuario para prevenir compras masivas automatizadas.
  • Monitorear y analizar patrones de compra inusuales y aplicar detección de comportamiento fraudulento.
  • Utilizar sistemas de protección contra bots para detectar y mitigar actividades automatizadas maliciosas.

API 7:2023 - Server Side Request Forgery (Falsificación de Peticiones en el Lado del Servidor)

Los fallos de Server-Side Request Forgery (SSRF) pueden ocurrir cuando una API obtiene un recurso remoto sin validar la URI proporcionada por el usuario. Esto permite a un atacante forzar la aplicación a enviar una solicitud manipulada a un destino inesperado, incluso cuando está protegido por un cortafuegos o una VPN.

Soluciones:

  • Implementar una lista blanca de dominios o recursos a los que se puede acceder desde la API.
  • Validar y filtrar cuidadosamente las URIs proporcionadas por los usuarios para evitar solicitudes no autorizadas.
  • Restringir el acceso a recursos sensibles y confidenciales a través de reglas de firewall y políticas de red.

API 8:2023 - Security Misconfiguration (Configuración de Seguridad Incorrecta)

Las APIs y los sistemas que las respaldan suelen tener configuraciones complejas para hacer que las APIs sean más personalizables. Los ingenieros de software y DevOps pueden pasar por alto estas configuraciones o no seguir las mejores prácticas de seguridad, abriendo la puerta a diferentes tipos de ataques.

Soluciones:

  • Revisar y reducir los permisos y accesos de la API para que se ajusten a las necesidades mínimas.
  • Almacenar contraseñas y claves de API de forma segura utilizando técnicas de cifrado y administración de secretos.
  • Revisar y ajustar las configuraciones de firewall y reglas de red para restringir el tráfico no deseado.

API 9:2023 - Improper Inventory Management (Gestión Incorrecta del Inventario)

Las APIs tienden a exponer más puntos finales que las aplicaciones web tradicionales, lo que hace que la documentación adecuada y actualizada sea muy importante. Un inventario adecuado de hosts y versiones de API desplegadas también es importante para mitigar problemas como versiones de API obsoletas y puntos finales de depuración expuestos.

Soluciones:

  • Mantener la documentación de la API actualizada de manera continua con cada cambio en la API.
  • Implementar un proceso de despliegue y actualización de API que retire automáticamente las versiones obsoletas.
  • Implementar una política de desactivación automática de puntos finales de depuración en entornos de producción.

API 10:2023 - Unsafe Consumption of APIs (Consumo no Seguro de APIs)

Los desarrolladores tienden a confiar en los datos recibidos de APIs de terceros más que en la entrada de usuario, por lo que tienden a adoptar estándares de seguridad más débiles. Para comprometer APIs, los atacantes van tras servicios de terceros integrados en lugar de intentar comprometer directamente la API objetivo.

Soluciones:

  • Evaluar la seguridad de los servicios de terceros antes de integrarlos, incluyendo pruebas de seguridad y revisión de la documentación de seguridad del proveedor.
  • Mantener un registro de las vulnerabilidades conocidas en los servicios de terceros utilizados y aplicar parches o actualizaciones de seguridad de manera oportuna.
  • Configurar conexiones seguras (HTTPS) al utilizar servicios de terceros para proteger la confidencialidad de los datos transmitidos.

Conclusión

La seguridad de las APIs es esencial en el mundo digital actual, donde las aplicaciones confían en gran medida en la interoperabilidad y la comunicación con servicios externos. Los riesgos identificados en el OWASP API Top Ten 2023 plantean desafíos significativos que deben abordarse de manera proactiva para garantizar la protección de los datos y la integridad de las operaciones.

Cada uno de los riesgos presentados, desde la Autorización Rota hasta el Consumo no Seguro de APIs, tiene el potencial de poner en peligro la seguridad de las aplicaciones y la confianza de los usuarios. Sin embargo, con las soluciones adecuadas y la atención constante a las mejores prácticas de seguridad, es posible mitigar estos riesgos y fortalecer la seguridad de las APIs.

Es fundamental que las organizaciones adopten una mentalidad de seguridad desde el inicio del desarrollo y la implementación de APIs. Esto incluye la revisión y actualización continua de la documentación, la gestión adecuada de inventarios y versiones, la configuración segura de sistemas y la validación exhaustiva de autorizaciones y autenticaciones.

La colaboración con proveedores de servicios de terceros también requiere una evaluación constante de la seguridad y la implementación de medidas para garantizar la integridad de los datos compartidos.

Referencia

OWASP API Security Top 10 - 2023

SV
Autor

Sebastián Vargas

CISO & Fundador de TTPSEC SpA. Más de 15 años en ciberseguridad, governance, riesgo y compliance. Escribiendo sobre seguridad de la información desde 2018.

¿Te sirve el contenido?

Recomendarme en LinkedIn
Volver al archivo