¿En qué se diferencia la seguridad API de la seguridad general de las aplicaciones?
Publicado: 2023-07-19Aunque a veces se confunden como lo mismo, la seguridad de las aplicaciones y la seguridad de las API son dos disciplinas distintas. La seguridad de las aplicaciones se refiere a proteger aplicaciones completas, mientras que la seguridad de API se refiere a proteger las API que las organizaciones utilizan para conectar aplicaciones e intercambiar datos. Como tal, las organizaciones deben adoptar enfoques diferentes para las dos disciplinas.
¿Qué es la seguridad de las aplicaciones?
La seguridad de aplicaciones (AppSec) utiliza prácticas de autorización, cifrado y codificación segura para proteger datos y sistemas de ataques cibernéticos. Las organizaciones que implementan AppSec reducen el riesgo de violaciones de datos, protegen los datos confidenciales y garantizan que sus aplicaciones cumplan con los estándares de la industria.
ISACA define los cinco componentes críticos de los programas AppSec como:
- Seguridad por diseño
- Prueba de código seguro
- Lista de materiales del software
- Formación y sensibilización en seguridad.
- WAF y puertas de enlace de seguridad API y desarrollo de reglas
¿Qué es la seguridad API?
La seguridad de API, o interfaz de programación de aplicaciones, protege las API de ataques cibernéticos. El uso de API se ha disparado en los últimos años, brindando a las organizaciones oportunidades de innovación al permitir transferencias de datos entre aplicaciones. Desafortunadamente, a medida que el uso de API ha aumentado, también lo han hecho los ataques lanzados contra ellas. Una investigación de Salt Security reveló que los ataques a las API aumentaron un 400% entre junio y diciembre de 2022.
Amenazas de seguridad de aplicaciones versus API
Comprender la diferencia entre la seguridad de AppSec y API requiere comprender las principales amenazas de cada disciplina. Afortunadamente, OWASP, una organización sin fines de lucro que busca mejorar la seguridad del software, proporciona una lista completa de las amenazas más importantes a la seguridad de las aplicaciones y de las API. Conocidas como OWASP Top Ten, las listas recopilan información de la comunidad global de expertos en seguridad de OWASP para identificar las amenazas más críticas a las aplicaciones y API.
Curiosamente, si bien OWASP publicó la lista de los diez principales riesgos de seguridad de las aplicaciones web en 2003, no publicó la lista de los diez principales riesgos de seguridad de las API hasta finales de 2019. Esta discrepancia representa otra diferencia clave entre la seguridad de las aplicaciones y de las API: la seguridad de las aplicaciones es una cuestión bien establecida, Disciplina ampliamente investigada que ha pasado por numerosas etapas evolutivas, mientras que la seguridad API no.
Si bien no tenemos tiempo para un análisis en profundidad, vale la pena mirar brevemente cada lista para ver en qué se diferencian, lo que debería informar cómo las organizaciones abordan la seguridad de AppSec y API.
Los diez principales riesgos de seguridad de las aplicaciones de OWASP (2021)
- Control de acceso roto : cuando un usuario no autorizado puede acceder a información o sistemas restringidos
- Fallos criptográficos : cuando un tercero expone datos confidenciales sin una intención específica debido a la falta o fallas en la criptografía.
- Inyección : cuando un atacante intenta enviar datos a una aplicación de una manera que cambie el significado de los comandos enviados a un intérprete.
- Diseño inseguro : riesgos relacionados con fallas arquitectónicas y de diseño
- Configuración incorrecta de seguridad : cuando los equipos de seguridad configuran incorrectamente o dejan los controles de seguridad inseguros.
- Componentes vulnerables y obsoletos : cuando las organizaciones dejan componentes sin parches
- Fallos de identificación y autenticación (nee Autenticación rota) : cuando las aplicaciones son vulnerables a ataques de autenticación
- Fallas de integridad de datos y software : cuando el código y la infraestructura no logran proteger contra violaciones de integridad
- Fallos de registro y monitoreo de seguridad (nee Registro y monitoreo insuficientes) : cuando las organizaciones no logran detectar violaciones de datos debido a procedimientos de registro y monitoreo inadecuados.
- Falsificación de solicitudes del lado del servidor : cuando los atacantes engañan a las aplicaciones para que envíen una solicitud manipulada a un destino inesperado, incluso cuando están protegidas por un firewall, VPN u otro tipo de lista de control de acceso a la red (ACL).
Los diez principales riesgos de seguridad de las API de OWASP (2023)
- Autorización a nivel de objeto roto : cuando un objeto API (por ejemplo, bases de datos o archivos) no tiene controles de autorización adecuados, lo que otorga acceso a usuarios no autorizados.
- Autenticación rota : cuando los ingenieros de software y seguridad no entienden los límites de la autenticación API y cómo implementarla
- Autorización a nivel de propiedad de objeto roto : una combinación de exposición excesiva de datos y asignación masiva: cuando los atacantes explotan un bloqueo o una autorización inadecuada en el nivel de propiedad del objeto.
- Consumo de recursos sin restricciones: satisfacer las solicitudes de API requiere ancho de banda de red, CPU, memoria y almacenamiento. Los proveedores de servicios ponen a disposición otros recursos, como correos electrónicos, SMS, llamadas telefónicas o validación biométrica, a través de integraciones API y se pagan por solicitud. Los ataques exitosos pueden provocar una denegación de servicio o un aumento de los costos operativos.
- La autorización de nivel de función rota implica que los atacantes envíen llamadas API legítimas a puntos finales API expuestos
- Acceso sin restricciones a flujos comerciales confidenciales: las API vulnerables a este riesgo exponen un flujo comercial (como comprar un boleto o publicar un comentario) sin compensar cómo la funcionalidad podría dañar el negocio si se usa excesivamente de manera automatizada; esto no necesariamente proviene de errores de implementación.
- Falsificación de solicitudes del lado del servidor: cuando una API recupera un recurso remoto sin validar el URI proporcionado por el usuario; permitiendo a un atacante obligar a la aplicación a enviar una solicitud diseñada a un destino inesperado, incluso cuando esté protegida por un firewall o una VPN.
- Configuración incorrecta de seguridad : las API y los sistemas que las respaldan suelen contener configuraciones complejas para hacerlas más personalizables. Los ingenieros de software y DevOps pueden pasar por alto estas configuraciones o no seguir las mejores prácticas de seguridad con respecto a la configuración, lo que abre la puerta a diferentes tipos de ataques.
- Gestión inadecuada del inventario : las API exponen más puntos finales que las aplicaciones web tradicionales, lo que hace que la documentación adecuada y actualizada sea importante. Un inventario adecuado de hosts y versiones de API implementadas también es esencial para mitigar problemas como versiones de API obsoletas y puntos finales de depuración expuestos.
- Consumo inseguro de API: los desarrolladores tienden a confiar más en los datos recibidos de API de terceros que en las aportaciones del usuario y adoptan estándares de seguridad más débiles. Para comprometer las API, los atacantes buscan servicios integrados de terceros en lugar de intentar comprometer la API de destino directamente.
Como puede ver, si bien existe cierta superposición, las aplicaciones y las API están sujetas principalmente a amenazas diferentes y únicas, y las organizaciones deben responder en consecuencia. La diferencia clave entre las dos listas es que las organizaciones pueden mitigar todos los riesgos críticos asociados con la seguridad de las aplicaciones con herramientas y técnicas de seguridad tradicionales multipropósito, pero la seguridad API es diferente.
La seguridad de API es un problema muy moderno que requiere una solución igualmente moderna. Las organizaciones no pueden esperar que las herramientas que emplean para proteger sus aplicaciones y otros activos cumplan con la tarea de proteger las API. La seguridad de API requiere herramientas de seguridad específicas de API; Los métodos de protección tradicionales, como las puertas de enlace API y los firewalls de aplicaciones web (WAF), no son suficientes.