Los escáneres dicen que todo está bien, pero los hackers ya están dentro; Hadrian llega para ponerle remedio

Los escáneres dicen que todo está bien, pero los hackers ya están dentro; Hadrian llega para ponerle remedio

Ponen en acceso público un proyecto para auditar APIs

image

Encontrar una vulnerabilidad en una interfaz de programación de aplicaciones suele ser más difícil de lo que parece. Muchos escáneres informan alegremente «todo está limpio», pero pasan por alto el problema principal: errores en la verificación de permisos. El nuevo instrumento abierto Hadrian está precisamente dirigido a ese tipo de problemas.

La empresa Praetorian publicó en acceso abierto un marco para la comprobación de seguridad de interfaces de programación de aplicaciones. Hadrian funciona con REST, GraphQL y gRPC y busca vulnerabilidades de la lista OWASP API Top 10.

La herramienta se centra en la lógica de autorización. En la configuración se definen roles de usuarios con distintos permisos, tras lo cual el sistema comprueba automáticamente el acceso a cada método de la API para distintos roles. Este enfoque ayuda a detectar situaciones en las que un usuario obtiene acceso a datos o funciones ajenas.

Hadrian busca, en particular, vulnerabilidades de clase BOLA y BFLA, relacionadas con la comprobación incorrecta de permisos a nivel de objetos y funciones. El instrumento también verifica errores de autenticación, divulgación excesiva de datos y problemas de configuración.

Para la comprobación se utiliza un esquema de tres etapas. Primero un usuario crea un recurso, luego otro intenta modificarlo o eliminarlo, y después el sistema comprueba el resultado. Ese mecanismo permite asegurarse de que la operación se realizó realmente, y no que simplemente se devolvió una respuesta exitosa del servidor.

Hadrian utiliza plantillas en formato YAML, por lo que los escenarios de prueba se definen sin escribir código. Las plantillas integradas cubren las principales categorías de vulnerabilidades para distintos tipos de API. Los informes se generan en formato de texto, JSON o Markdown. El instrumento soporta diversos métodos de autenticación, limitación de la velocidad de solicitudes y trabajo a través de proxy. También dispone de un modo de vista previa que muestra qué comprobaciones se ejecutarán sin realizar realmente las pruebas.

El proyecto se distribuye con código fuente abierto.