
Temas Principales y Ideas Clave:
- Importancia de la Seguridad de APIs:
- Los atacantes encuentran las APIs muy atractivas como objetivo debido a que son un punto central de acceso a datos y funcionalidades de las aplicaciones.
- El patrón de ataque contra APIs suele ser más simple y directo para los atacantes una vez que encuentran una vulnerabilidad.
- «Once they found it. They can go straight to breach.»
- Las regulaciones como PCI DSS 4.0, GDPR, CCPA, HIPAA, la nueva regulación de la SEC sobre notificación de brechas, requisitos de la ONU para la industria automotriz y FedRAMP están prestando cada vez más atención a la seguridad de las APIs.
- Estas regulaciones generalmente se centran en la seguridad, la privacidad y la notificación de incidentes relacionados con APIs.
- OWASP API Security Top 10:
- El curso cubre en detalle el OWASP API Security Top 10, proporcionando ejemplos del mundo real, la descripción de cada riesgo y las mejores prácticas para su mitigación.
- Cada una de las 10 principales amenazas se explora en un módulo separado.
- El curso destaca que las amenazas de la lista OWASP API Security Top 10 no son teóricas y han resultado en brechas significativas en el mundo real.
- Ejemplos de Vulnerabilidades del OWASP Top 10:
- OWASP #1: Broken Object Level Authorization (BOLA):Ejemplos de Coinbase (manipulación del ID del activo en la API de Brokerage) y Peloton (acceso no autorizado a registros de otros usuarios).
- «There was a ‘missing logic validation check’ in their Brokerage API endpoint.» (Coinbase)
- La importancia de verificar la autorización en la capa de la API, independientemente de los controles de la interfaz de usuario.
- OWASP #2: Broken Authentication:Ejemplo de Duolingo (exposición de 2 millones de registros a través de APIs no seguras).
- Énfasis en la necesidad de autenticación adecuada basada en la sensibilidad de la aplicación y pruebas continuas.
- OWASP #3: Broken Object Property Level Authorization (BOPLA) / Excessive Data Exposure:Ejemplo de Venmo (exposición de datos de transacciones anonimizados pero que revelaban información sensible a través de la API).
- Necesidad de controlar qué datos pueden ver y manipular los usuarios.
- OWASP #4: Unrestricted Resource Consumption (antes Lack of Resources & Rate Limiting):Importancia de implementar controles de tráfico y autenticación para mitigar ataques de volumen y raspado de datos (ejemplo de Duolingo corrigiendo el acceso anónimo).
- «Simply by being able to associate that traffic to the source user, they could really mitigate this type of risk going forward.»
- OWASP #5: Broken Function Level Authorization:Ejemplo de Bumble (elevación de cuenta de gratuita a pagada mediante la manipulación de una función de la API).
- Necesidad de controlar el acceso a funciones sensibles y probar los permisos de cada tipo de usuario.
- OWASP #6: Unrestricted Access to Sensitive Business Flows:Ejemplo de Instagram (abuso del flujo de restablecimiento de contraseña para intentar tomar el control de cuentas).
- Importancia de considerar el potencial de abuso de los flujos de negocio legítimos y no solo el «happy path».
- «We’ve really got to make sure we train ourselves as API developers, as product managers and security teams to not just think about the happy path… but also the potential for abuse.»
- OWASP #7: Server-Side Request Forgery (SSRF): No se proporciona un ejemplo específico, pero se menciona como parte del OWASP Top 10.
- OWASP #8: Security Misconfiguration:Énfasis en la implementación de las mejores prácticas estándar para la configuración y operación seguras de los servidores de API (hardening, patching, políticas, controles, etc.).
- Ejemplo de Experian (acceso a registros de crédito de casi todos los adultos estadounidenses debido a una configuración insegura y controles de acceso inadecuados).
- «Turns out as long as you put any digits in the birthday field, you could put all zeros, and it would still work.» (Experian)
- OWASP #9: Improper Inventory Management:Dos aspectos principales: conciencia y visibilidad de todas las APIs, y control (si deben estar en ejecución, si están actualizadas, documentadas, etc.).
- Ejemplo de Optus (API interna con acceso público no autenticado a 9.8 millones de registros de suscriptores, utilizando IDs incrementales).
- Mención de «zombie» o «shadow APIs».
- OWASP #10: Unsafe Consumption of APIs:Se centra en la seguridad al consumir APIs de terceros.
- Ejemplo de Companies House (vulnerabilidad XSS explotada a través de la falta de validación de entrada en el nombre de la empresa).
- Importancia de no asumir que las APIs de terceros son inherentemente seguras y realizar la propia validación de entrada y pruebas de autorización.
- Patrones de Ataque Comunes:
- Los atacantes a menudo automatizan sus ataques.
- Intentarán superar el rate limiting distribuyendo ataques a través de miles de direcciones IP y utilizando proxies residenciales.
- Los ataques a menudo explotan errores de lógica y validación.
- Los Tres Pilares de la Seguridad de APIs:
- Gobernanza: Establecer y hacer cumplir procesos estándar para el desarrollo, prueba y despliegue seguro de APIs.
- Incluye conciencia (inventario, infraestructura, datos, riesgos) y políticas/procesos (desarrollo, despliegue, documentación, diseño).
- La documentación de las APIs (idealmente utilizando OpenAPI/Swagger) es crucial para la seguridad y la usabilidad.
- Los «style guides» para APIs deben definir convenciones de nombres, manejo de errores, versionado, etc.
- Monitoreo: Protección en tiempo de ejecución de las APIs en producción.
- Incluye protección en tiempo real (aplicación de políticas, filtrado de tráfico), detección de amenazas (tráfico fraudulento, ataques distribuidos, respuesta a incidentes) y validación de controles.
- El monitoreo puede ser proactivo (bloqueo activo en gateways/firewalls) o reactivo (alertas en SIEMs/herramientas de gestión de logs).
- El monitoreo del tráfico de red puede ayudar con el descubrimiento de APIs, pero no proporciona una visión completa.
- El desafío fundamental del monitoreo en tiempo de ejecución es tener suficiente contexto para determinar si una solicitud es válida o maliciosa.
- Pruebas: Asegurar que las APIs estén libres de vulnerabilidades y funcionen según lo esperado.
- Incluye pruebas automatizadas, fuzzing, pruebas de penetración (pen testing) y auditorías de seguridad.
- Las pruebas deben cubrir la autenticación, autorización (a nivel de objeto y función), validación de entrada, manejo de errores y lógica de negocio.
- El testing de la lógica de negocio es particularmente desafiante y a menudo no es cubierto por las herramientas de seguridad tradicionales (SAST/DAST).
- Panorama de la Tecnología de Seguridad de Aplicaciones:
- El mercado de ciberseguridad es vasto, con muchas sub-tecnologías dentro de la seguridad de aplicaciones.
- Las herramientas tradicionales como escáneres de vulnerabilidades web pueden no detectar las vulnerabilidades únicas y los errores de lógica específicos de las APIs.
- Es importante considerar herramientas de seguridad de APIs especializadas.
- Principales Recomendaciones (Do’s and Don’ts):
- No confiar en nada: Asumir que cualquier entrada del usuario no es válida.
- Validar todas las entradas: Asegurarse de que los parámetros coincidan con lo esperado.
- No revelar información útil en los mensajes de error.
- Implementar una autenticación fuerte basada en el contexto y la sensibilidad.
- Implementar una autorización adecuada para controlar el acceso a datos y funciones.
- Requerir documentación de APIs.
- Realizar pruebas continuas en cada lanzamiento para identificar vulnerabilidades.
Próximos Pasos Sugeridos por el Curso:
- Obtener la insignia y el certificado del curso visitando apisecuniversity.com/freecodecamp.
- Considerar los talleres de seguridad de APIs ofrecidos por APIsec University (apisecuniversity.com/workshop).
- Mantenerse en contacto y explorar otros cursos en APIsec University.
Conclusión:
La seguridad de las APIs es un aspecto crítico de la ciberseguridad moderna. Este curso proporciona una base sólida para comprender los riesgos, las amenazas y las mejores prácticas para proteger las APIs. La adopción de los tres pilares de la seguridad de APIs (gobernanza, monitoreo y pruebas), junto con la comprensión del OWASP API Security Top 10 y los patrones de ataque comunes, es fundamental para construir y mantener APIs seguras en el panorama de amenazas actual.