Llegamos a ustedes gracias a:



Reportajes y análisis

9 mejores herramientas SAST y DAST

[20/04/2022] La llamada cadena de suministro de software ha generado mucho revuelo estos días. Salió a la luz por la campaña de intrusión global en la que los atacantes utilizaron el proceso de actualización del popular software de gestión Orion de SolarWinds para cargar código malicioso. Más de 18 mil clientes se vieron afectados, aunque los atacantes solo atacaron de forma selectiva a grandes empresas y organismos gubernamentales una vez que instalaron su puerta trasera.

El de SolarWinds fue probablemente el ataque a la cadena de suministro de mayor repercusión en la historia reciente, pero ha habido muchos otros. El ataque condujo a una reevaluación de quién es responsable de la seguridad. Por ejemplo, una de las principales respuestas al ataque a SolarWinds fue la Orden Ejecutiva del presidente Biden para mejorar la ciberseguridad de la nación. Entre otras cosas, la orden hace hincapié en la necesidad de la seguridad de la cadena de suministro. Y por primera vez, una directiva gubernamental de alto nivel menciona específicamente la responsabilidad de los desarrolladores de desplegar software seguro.

Aunque la OE solo se aplica a las agencias gubernamentales y a quienes hacen negocios con ellas, cada vez es más evidente que todas las organizaciones necesitan evaluar a sus proveedores de software para asegurarse de que están desplegando código seguro. Tanto si una empresa solo desarrolla programas y aplicaciones para sí misma como si forma parte de la cadena de suministro de software para otros, evaluar y certificar que su código es seguro es más crítico que nunca.

El mayor problema de este esfuerzo es que, durante muchos años, los desarrolladores han sido evaluados casi exclusivamente en función de la rapidez con la que podían codificar, siendo la seguridad una idea tardía o la responsabilidad de otra persona. Muchos miembros de la comunidad de desarrolladores se están formando en materia de ciberseguridad, pero necesitarán ayuda para asegurarse de que están desplegando un código libre de vulnerabilidades. Ahí es donde las herramientas SAST y DAST pueden convertirse en activos inestimables para ayudar a asegurar la cadena de suministro de software.

¿Qué son las herramientas SAST y DAST?

No es de extrañar que tanto las herramientas de comprobación estática de la seguridad de las aplicaciones (SAST, por sus siglas en inglés) como sus primas cercanas, las herramientas de comprobación dinámica de la seguridad de las aplicaciones (DAST, por sus siglas en inglés), hayan recibido una atención renovada con el impulso de la seguridad de la cadena de suministro de software. Ambas pueden poner el poder de desplegar un código seguro directamente en manos del desarrollador, ya sea como parte de un programa oficial de DevSecOps, o para ayudar a trasladar más la responsabilidad de la seguridad más cerca de donde se crean las aplicaciones.

Tanto las herramientas SAST como las DAST tienen como objetivo final hacer que el código sea más seguro. Lo ideal es que esto ocurra mucho antes de que un programa o una aplicación llegue a un entorno de producción, y antes de que pueda formar parte de la cadena de suministro de software. Sus objetivos son los mismos, pero abordan el problema desde ángulos diferentes.

Las herramientas SAST analizan el código fuente de los programas y aplicaciones aún en desarrollo. Algunas pueden integrarse en una canalización de integración y entrega continuas (CI/CD) o configurarse para que se activen cada vez que un desarrollador emita una solicitud de extracción automáticamente. De este modo, las herramientas SAST pueden garantizar que los nuevos cambios realizados en una aplicación no hayan añadido vulnerabilidades de forma involuntaria o hayan roto el programa. Algunas herramientas SAST pueden formar parte de un entorno de desarrollo integrado (IDE), en el que la plataforma puede advertir a los desarrolladores sobre los errores mientras trabajan, de forma similar a como un procesador de textos moderno gestiona la corrección ortográfica.

Por otro lado, las herramientas DAST se despliegan después de completar y compilar un programa. Una herramienta DAST no se preocupa tanto por las vulnerabilidades que se esconden dentro del código, ya que una herramienta SAST ya las ha eliminado (cruzando los dedos). En cambio, una herramienta DAST actúa como un probador externo, tratando de hackear un programa utilizando, por ejemplo, las interfaces HTTP y HTML expuestas. También puede configurar algunas para que busquen vulnerabilidades a los ataques más frecuentes en sectores específicos como el financiero o el minorista.

Como resultado de estas diferencias, las herramientas SAST requieren un soporte específico para su lenguaje de programación, mientras que las herramientas DAST en su mayoría no lo requieren, aunque pueden ser capaces de trabajar también con el código fuente para localizar los problemas.

Aunque algunas organizaciones pueden utilizar exclusivamente una herramienta DAST o SAST, hoy en día, probablemente sea más seguro para las organizaciones implementar ambas, o trabajar con una herramienta que tenga ambos componentes. Aquellas que utilizan tanto herramientas SAST como DAST pueden proteger mejor sus aplicaciones y, por lo tanto, también ayudan a proteger sus vínculos dentro de la cadena de suministro de software. 

A continuación, se presentan algunas de las principales herramientas SAST y DAST que se utilizan actualmente. Hemos tratado de encontrar las herramientas más populares o mejor valoradas para presentarlas, incluyendo aquellas que han obtenido una alta puntuación en otras revisiones o que tienen grupos de usuarios y bases de instalación muy activas. Sin embargo, hay bastantes opciones, así que seguro que se nos han escapado algunas buenas. Pero esta lista debería ayudar a cualquiera a empezar a elegir una buena herramienta SAST o DAST para ayudar a proteger sus aplicaciones y software antes del despliegue.

Las 5 mejores herramientas SAST

1. Checkmarx SAST: El programa Checkmarx SAST combina características avanzadas con una de las mejores interfaces de usuario basadas en la web para programas SAST. La interfaz permite prosperar incluso a aquellos que son nuevos en las cuestiones de seguridad en el desarrollo de software. Checkmarx no solo identifica las vulnerabilidades, sino que se esfuerza por explicar por qué una vulnerabilidad descubierta es tan arriesgada. Y al pulsar un botón de "Mejor ubicación de la solución", los desarrolladores obtienen información sobre las formas más fáciles y eficaces de eliminar esos problemas.

Checkmarx es compatible con más de 25 lenguajes de programación. Se puede configurar la aplicación para que se ejecute automáticamente como parte de un canal CI/CD o configurar consultas personalizadas y ejecutarlas cuando sea necesario. También puede encajar en cualquier IDE convencional o plataforma de gestión de código fuente.

2. CyberRes Fortify: La plataforma CyberRes Fortify tiene elementos de pruebas SAST y DAST. Como producto SAST, utiliza una interfaz visual limpia para mostrar a los desarrolladores las vulnerabilidades específicas dentro del código y las estadísticas sobre los tipos de defectos descubiertos regularmente, desglosados en 810 categorías de vulnerabilidad. A continuación, dirige a los desarrolladores a su interfaz de formación gamificada, que se esfuerza por hacer que el aprendizaje sobre la seguridad y el código seguro sea interesante y divertido.

La plataforma es compatible con 27 lenguajes y marcos de programación y puede desplegarse en las instalaciones o utilizarse como servicio. También puede integrarse en la mayoría de los principales IDE, como Eclipse y Visual Studio.

3. Perforce Klocwork SAST: Perforce Klocwork SAST busca la velocidad incluso en los entornos más grandes. Funciona con programas codificados en C, C++, Java, JavaScript y Python, incluso dentro de contenedores Docker. Y se puede integrar en cualquier IDE importante como Visual Studio Code, IntelliJ y muchos otros.

Sus desarrolladores afirman que han diseñado Klocwork para cubrir el vacío existente en las herramientas SAST y permitirles operar en entornos complejos. Incluso puede utilizar Klocwork para escanear bases de código realmente masivas, compuestas por millones de líneas de código. Utiliza varios trucos para reducir aún más los tiempos de escaneo, como escanear solo las áreas de código modificadas y no todo el programa cada vez.

Klocwork incluso ayuda a formar a los desarrolladores en materia de seguridad. Se integra completamente en la plataforma de formación Secure Code Warrior, que se centra en la formación sobre seguridad y concienciación. Así que puede detectar problemas en el código, ayudar a solucionarlos y formar a los desarrolladores para que sean mejores codificadores.

4. Plataforma SpectralOps: Check Point adquirió recientemente Spectral, pero la nueva empresa sigue apoyando activamente la plataforma SpectralOps, probablemente por sus características únicas de SAST. SpectralOps descubre secretos. En concreto, encuentra información sensible como claves de API, credenciales y tokens que los desarrolladores suelen codificar en los programas durante el desarrollo. La idea es exponer esos secretos y los errores de configuración de la seguridad que podrían permitir el acceso a ellos mientras un programa está todavía en desarrollo. De este modo, las organizaciones no tienen que preocuparse de que usuarios malintencionados hagan lo mismo con una aplicación desplegada.

Escanea continuamente en cada paso del ciclo de vida de desarrollo del software, utilizando la inteligencia artificial para hacer un seguimiento de más de dos mil motores de detección. SpectralOps emplea otras pruebas para asegurarse de que no se trata de un falso positivo cuando descubre algo sospechoso. Después de eso, puede informar de sus hallazgos a Slack, emitir un ticket de JIRA, o alertar a los desarrolladores utilizando casi cualquier plataforma de comunicación deseada.

5. Veracode Static Analysis SAST: La plataforma Veracode Static Analysis SAST es un servicio en la nube, por lo que incluso elimina la complejidad de mantener una aplicación SAST dentro de su entorno. Veracode adopta el principio de aprendizaje "justo a tiempo", lo que significa que el código vulnerable puede ser marcado mientras el desarrollador está escribiendo el código. Después de corregir el código, con la ayuda de Veracode, se puede generar un informe para que las organizaciones puedan elogiar a sus desarrolladores conscientes de la seguridad y alentarlos con un refuerzo positivo.

Además de la integración en un IDE, Veracode se centra en la velocidad. Cada compilación de un programa o aplicación puede ser escaneada automáticamente, con un tiempo medio de escaneo de solo 90 segundos. Y la plataforma Veracode también hace un seguimiento meticuloso de lo que hace, con informes recopilados en el portal online. Esto facilita la superación de auditorías, sin sorpresas, incluso en entornos de desarrollo muy complejos o con mucha actividad.

Las 4 mejores herramientas DAST

1. Acunetix DAST: La plataforma DAST de Acunetix utiliza DAST e IAST (pruebas de seguridad de aplicaciones interactivas, que incorporan el código de escaneo y prueba en un programa compilado, de forma similar a los símbolos de depuración) para buscar más de siete mil vulnerabilidades en código terminado, diseños de sitios web, aplicaciones, etc. Al aprovechar el IAST, Acunetix puede lanzar sus escaneos mientras un programa se está ejecutando activamente, descubriendo potencialmente más vulnerabilidades que cuando se examina una aplicación en reposo. IAST también debería limitar los falsos positivos en comparación con SAST.

El código de la plataforma está escrito en C++ para que sea rápido. Se siente aún más rápido porque la plataforma comienza a exportar hasta el 90% de sus resultados, mientras el escaneo se está ejecutando y ni siquiera a mitad de camino. Los usuarios pueden configurar la plataforma Acunetix para que se ejecute una sola vez o establecer programas para realizar pruebas repetidas a lo largo del tiempo. Y como la plataforma es tan ágil, puede incluso escanear varios entornos simultáneamente sin ralentizarse.

2. Micro Focus Fortify WebInspect: La plataforma Micro Focus Fortify WebInspect está disponible como una instalación local, un servicio o una combinación de ambos en un entorno híbrido. Aunque funciona como una herramienta DAST aislada, se integra en la canalización CI/CD y puede ser utilizada por los desarrolladores, que normalmente solo utilizan herramientas SAST.

Lo hace en parte al permitir escaneos que buscan solo las vulnerabilidades más críticas. De este modo, los desarrolladores son alertados de cualquier error realmente importante y pueden corregirlo mucho antes de su despliegue. También puede escanear el cumplimiento de varios marcos industriales y gubernamentales como NIST 800-53, PCI DSS, OWASP o HIPAA.

Una vez que se descubre una vulnerabilidad, la plataforma utiliza una interfaz gráfica y explicaciones paso a paso para revelar el problema y sugerir correcciones.

3. Synopsys Managed DAST: Como su nombre indica, la plataforma Synopsys Managed DAST está disponible como servicio gestionado. Además del hecho de que esto elimina la necesidad de mantener y gestionar la plataforma internamente, otra ventaja clave es que Synopsys proporciona ayuda experta cuando se necesita. Si el análisis DAST revela un problema que el equipo de desarrollo no sabe cómo solucionar, puede recurrir a los expertos de Synopsys para que le ayuden, y los análisis posteriores verifican la mitigación de cualquier problema.

Además de descubrir todas las vulnerabilidades comunes que afectan a la mayoría de los programas, como la inyección de SQL, el cross-site scripting y otros errores de seguridad, el DAST de Synopsys tiene un modo de escaneo manual que puede buscar y descubrir problemas más complejos. Puede descubrir vulnerabilidades relacionadas con errores de autenticación y gestión de sesiones, problemas de control de acceso, fugas de información y otros que no aparecen en un escaneo típico.

4. Tenable.io Web App Scanning: Tenable existe desde hace más tiempo que muchas otras empresas de ciberseguridad ,y tiene la reputación de ofrecer una sólida plataforma de gestión de vulnerabilidades basada en la nube para clientes gubernamentales y privados. La aplicación Tenable Web App Scanning forma parte de esa plataforma y actúa como una herramienta DAST capaz.

La aplicación de Tenable solo funciona con aplicaciones web, pero realiza un escaneo profundo de las mismas. El alcance del escaneo cubre tanto HTML5 como HTML estándar, además de AJAX. La aplicación tiene una interfaz sencilla, lo que la hace accesible a los equipos que no cuentan con especialistas profesionales en seguridad de aplicaciones. La configuración de la automatización es fácil, y los usuarios pueden configurar con precisión las secciones de código que se van a escanear. Por ejemplo, se puede configurar el Web App Scanner para que solo analice partes de una aplicación mientras que, en un posible guiño a sus clientes gubernamentales, pasa por alto otras.

Como ventaja final, puede utilizar el Web App Scanner solo o integrarlo fácilmente en cualquiera de las otras soluciones de ciberseguridad creadas por Tenable, todas las cuales comparten una interfaz similar para facilitar la implementación.

Puede ver también: