OWASP API Security Top 10 RC

imagen
Este proyecto está destinado a un número cada vez mayor de organizaciones que implementan API potencialmente sensibles como parte de sus soluciones de software. Las API se utilizan para tareas internas y para interactuar con servicios de terceros. Desafortunadamente, muchas API no pasan rigurosas pruebas de seguridad que las harían a salvo de ataques, expandiendo el panorama de amenazas para la aplicación web.

El proyecto de seguridad OWASP API Security Top 10 está diseñado para resaltar riesgos potenciales en API inseguras y sugerir medidas para mitigar dichos riesgos.

OWASP


El proyecto OWASP está referenciado por muchos estándares, herramientas y organizaciones, incluidos MITRE, PCI DSS, DISA, FTC y muchos otros. Metodologías OWASP es una metodología reconocida para evaluar vulnerabilidades en aplicaciones web en todo el mundo. Los proyectos OWASP reflejan las amenazas más importantes para las aplicaciones web y móviles, API, describen métodos y metodologías de prueba.

Como desarrolladores o consultores de seguridad, muchas personas se han encontrado con una API como parte de un proyecto. Aunque existen algunos recursos para ayudar a crear y evaluar estos proyectos (por ejemplo, la hoja de referencia de seguridad OWASP REST ), no se ha desarrollado ningún proyecto de seguridad integral para ayudar a los desarrolladores, pentesters y profesionales de la seguridad.

API MODERNA


Este documento está en estado Release Candidat; se planea una presentación oficial para el segundo trimestre de 2020. API Security se centra en estrategias y soluciones para comprender y mitigar las vulnerabilidades únicas y los riesgos de seguridad de las interfaces de programación de aplicaciones (API).

Lo que se convirtió en el requisito previo para crear esta hoja:

  • Los dispositivos del cliente son cada vez más diversos y complejos.
  • La lógica se mueve del backend a la interfaz (junto con algunas vulnerabilidades).
  • Menos capas de abstracción.
  • El cliente y el servidor (y la base de datos) "hablan" en el mismo lenguaje JSON.
  • El servidor se usa más como proxy de datos.
  • El componente de representación es el cliente, no el servidor.
  • Los clientes consumen datos sin procesar.
  • Las API revelan la implementación subyacente de la aplicación.
  • El estado del usuario generalmente es mantenido y monitoreado por el cliente.
  • Cada solicitud HTTP envía parámetros adicionales (identificadores de objeto,
  • filtros).

Una aplicación web moderna es casi imposible de imaginar sin usar una API.



OWASP API Security Top 10


A1 Autorización incorrecta a nivel de objeto


A menudo, las API exponen puntos finales responsables de los identificadores, lo que abre grandes oportunidades para ataques en el nivel de control de acceso. Las verificaciones de autorización a nivel de objeto deben implementarse en cada función que acepte la entrada del usuario.

A2 autenticación no válida


Los mecanismos de autenticación a menudo se implementan incorrectamente, lo que permite a los atacantes comprometer los tokens de autenticación o explotar errores en la implementación para suplantar a otro usuario de forma temporal o permanente. Comprometer la capacidad del sistema para identificar al cliente / usuario compromete la seguridad de toda la API.

A3 Emisión de información redundante


En un esfuerzo por la estandarización, los desarrolladores pueden revelar todos los parámetros del objeto, sin tener en cuenta la importancia de cada uno de ellos, esperando que el cliente filtre los datos antes de mostrárselos al usuario.

A4 Falta de límites en recursos y solicitudes


Muy a menudo, las API no imponen ninguna restricción sobre el tamaño o la cantidad de recursos solicitados por el usuario. Esto puede conducir no solo a la degradación del rendimiento e incluso a DoS, sino también a ataques de autenticación, por ejemplo, fuerza bruta.

A5 Autorización incorrecta de funciones


Las políticas de acceso complejas con diferentes jerarquías, grupos y roles, así como una separación opaca entre las funciones administrativas y normales, a menudo generan vulnerabilidades en la autorización. Al explotar estas vulnerabilidades, los atacantes obtienen acceso a los recursos de otros usuarios o a la funcionalidad del administrador.

A6 Reasignación de parámetros


La vinculación de datos recibidos del cliente (por ejemplo, en JSON) a modelos de datos sin filtrado generalmente conduce a una reasignación de parámetros. Los atacantes, explorar la API, leer la documentación o simplemente adivinar pueden agregar parámetros "adicionales" a las solicitudes, cambiando los objetos a los que no tienen acceso.

A7 Errores de configuración de seguridad


Los errores en la configuración de seguridad suelen ser el resultado de la configuración predeterminada, "muletas", almacenamiento en las nubes, configuración incorrecta de encabezados HTTP, métodos HTTP innecesarios, configuración CORS excesivamente amplia y salida de error habilitada.

Inyección A8


Vulnerabilidades de inyección como SQL, NoSQL, inyección de código / comando, etc. sucede cuando se envían datos no confiables al controlador como parte de una solicitud o comando. Los datos incrustados por el atacante pueden "engañar" al controlador y ejecutará un comando arbitrario, o recibirá datos sin la autorización adecuada.

A9 Gestión de recursos incorrecta


Las API a menudo proporcionan más funciones que las aplicaciones web tradicionales, por lo que es especialmente importante que la documentación esté completa y actualizada. Las API instaladas y configuradas correctamente juegan un papel importante en la protección contra problemas como el acceso abierto a versiones anteriores de la API y la funcionalidad de depuración.

A10 Registro y monitoreo inadecuados.


El registro y la supervisión inadecuados, junto con la falta o la falta de integración en los procesos de respuesta, permiten a los atacantes desarrollar sus ataques, establecerse en la red, capturar nuevos objetivos, descargar o destruir datos. La mayoría de las investigaciones de piratería muestran que el tiempo de detección promedio excede los 200 días, y el hecho de la piratería es detectado por contratistas externos, en lugar de sistemas de monitoreo internos.

OWASP API Security Top 10 2019


OWASP Rusia capítulo: OWASP Rusia
Chat de OWASP Rusia: https://t.me/OWASP_Russia
Canal OWASP Rusia: https://t.me/OWASP_RU

Source: https://habr.com/ru/post/470395/


All Articles