Un buen grupo de CISO con los que hemos conversado estaban desconcertados por esto: Como fabricante de Fin-tech, somos implacables en mantener nuestras aplicaciones seguras. Usamos las mejores herramientas AST para examinar nuestro código fuente y asegurarnos de que es perfecto antes de su lanzamiento. Si mis aplicaciones no tienen ninguna vulnerabilidad, ¿por qué necesito una herramienta de prueba de penetración para comprobarlo?
Para responder a esto, primero debemos entender y comparar dos cosas: La Prueba de Seguridad de Aplicaciones (ATS) y la prueba de penetración.
La AST está diseñada para analizar el código fuente de las aplicaciones y probar las aplicaciones en busca de vulnerabilidades de seguridad. AST puede utilizar ataques simulados para evaluar y verificar la seguridad de la aplicación. Existen varias tecnologías AST:
- SAST (AST estático):
- Dinámica (AST dinámico)
- IAST (AST interactivo)
Empecemos con el SAST. La SAST se centra en inspeccionar el código fuente e identifica un diseño defectuoso a nivel de código. Requiere una comprensión profunda de cada uno de los diferentes lenguajes de programación. Sin embargo, no cubre los siguientes problemas que típicamente ocurren en un entorno de ejecución o en una etapa de producción:
- Configuración incorrecta del usuario (configuración inapropiada del filtro; configuración incorrecta de la autenticación, etc.)
- Contraseñas débiles establecidas por los usuarios
- Credenciales robadas
- Los parámetros se pasan a través de diferentes aplicaciones o sistemas frontales y traseros.
- Sistemas operativos
- Software de terceros en el que no se dispone de código fuente
Para probar/observar cómo se comporta una aplicación y procesa las interacciones de los usuarios en un entorno de ejecución, necesitará una herramienta DAST o/y IAST. La tecnología que una herramienta de auto-pentest utiliza sobre una sola aplicación puede ser categorizada como DAST o IAST.
DAST/IAST y Pentest (PT) comparten este punto en común. Sin embargo, el PT en sí mismo tiene un alcance mucho más amplio que sólo el AST. A diferencia del AST, que se detiene en la prueba de aplicaciones, el PT está diseñado para probar contra la infraestructura general de TI, incluyendo aplicaciones generales, aplicaciones web, servidores anfitriones y dispositivos de red, así como puntos finales, IO y dispositivos móviles, en algunos casos.
Una herramienta de auto-pentest como RidgeBot™ evalúa e identifica las vulnerabilidades no sólo dentro de las aplicaciones, sino también dentro de los sistemas y redes. Ofrece una cobertura mucho más amplia de los activos de TI y aprovecha las tecnologías de piratería informática más avanzadas. Además de encontrar vulnerabilidades para explotar, un sistema avanzado de pruebas de penetración aprovecha la escalada de privilegios para realizar movimientos laterales de una aplicación/sistema a otro. Es la forma más eficaz de probar las brechas entre aplicaciones/sistemas, una característica crítica que no está cubierta por una herramienta AST.
En resumen, un auto-pentest no cubre el examen a nivel de código fuente que hace una herramienta como SAST, sino que ambos se complementan (Ver Tabla 1). Una organización debe tener ambos.
- La herramienta SAST lleva a cabo el examen de vulnerabilidad a nivel de código en las aplicaciones.
- Los auto-pentest realizan el examen en las aplicaciones en un entorno de ejecución.
- Más allá de las aplicaciones, una herramienta auto-pentest cubre sistemas, redes y cualquier brecha entre aplicaciones, sistemas y redes.
Para una organización con suficiente presupuesto, podrían tener todas estas herramientas, SAST, DAST, IAST y PT. La cobertura de cada herramienta se ilustra de manera sencilla en el siguiente diagrama:
Tabla 1 Comparación de la cobertura de SAST y Auto-Pentest.