Prácticas recomendadas de seguridad de CI/CD [Hoja de referencia]

En esta hoja de referencia de 13 páginas, cubriremos las mejores prácticas en las siguientes áreas de la canalización de CI/CD: seguridad de la infraestructura, seguridad del código, administración de secretos, acceso y autenticación, monitoreo y respuesta.

¿Qué son las pruebas interactivas de seguridad de aplicaciones (IAST)?

IAST (Interactive Application Security Testing) es un método de prueba de seguridad que monitorea las aplicaciones en tiempo real durante el tiempo de ejecución para detectar vulnerabilidades mediante el análisis del comportamiento del código y el flujo de datos en entornos en vivo.

Equipo de expertos de Wiz
7 Minuto de lectura

IAST (Interactive Application Security Testing) es una metodología de pruebas de seguridad para identificar vulnerabilidades en aplicaciones web. Funciona monitoreando una aplicación en tiempo real mientras se está ejecutando y se prueba activamente, a menudo durante procesos de control de calidad o pruebas automatizadas. Las herramientas IAST se integran con la aplicación y analizan su comportamiento y Flujo de datos para detectar problemas de seguridad, proporcionando información sobre posibles vulnerabilidades, especialmente en la base de código.

Si hay algún problema, IAST alerta al equipo de desarrollo con información sobre el caso de prueba fallido, el contexto de la ubicación del código y la aplicación's durante la prueba.

¿Por qué es importante IAST?

La velocidad de desarrollo es primordial. Sacar nuevas funciones y corregir errores rápidamente puede hacer o deshacer un proyecto's éxito. Pero sacrificar la seguridad en nombre de la velocidad de desarrollo puede perseguir el proceso de desarrollo a largo plazo. La creación de sistemas seguros puede agregar trabajo adicional, ya sea con largas ejecuciones de pruebas o cargando a los desarrolladores con falsos positivos que en realidad no conducen a problemas de seguridad en producción. Afortunadamente, con las pruebas interactivas de seguridad de aplicaciones (IAST), hay una manera de identificar vulnerabilidades sin ralentizar la entrega. 

Echemos un vistazo más de cerca a IAST, cómo funciona y por qué es posible que desee considerarlo para mantener sus sistemas seguros.

¿Cómo funciona IAST?

IAST usa bibliotecas de sensores que rastrean cómo se comporta la aplicación mientras se está probando. El proceso cambia las pruebas de seguridad de los equipos de seguridad a los equipos de desarrollo al requerir que los desarrolladores integren estas bibliotecas en el código de la aplicación; el uso de IAST con una aplicación sin modificar no funciona.

Los sensores dan a IAST acceso al código de la aplicación, al flujo de datos, a la configuración del sistema, a los componentes y a las conexiones de red, lo que le permite realizar un seguimiento del software's completa mientras se está probando y envía alertas si se detecta un comportamiento vulnerable.

IAST puede ejecutarse en el archivo DevSecOps después del paso de compilación, ya que la aplicación debe ejecutarse para que las pruebas funcionen.

¿En qué se diferencia IAST de otros métodos de pruebas de seguridad?

Pruebas estáticas de seguridad de aplicaciones (SAST) y pruebas dinámicas de seguridad de aplicaciones (DAST) y Análisis de composición de software (SCA) son herramientas populares de pruebas de seguridad de aplicaciones con diferentes fortalezas y debilidades. Comparemos IAST con ellos para ver cómo encaja en el panorama general de las pruebas de seguridad.

SAST vs. IAST

DefinitionComparison with IAST
SAST scans source code for suspicious patterns. It’s very fast and can run without compiling or executing an application, enabling it to run inside an IDE, as seen in figure 2.Still, it can’t catch all security vulnerabilities; some are too complex or manifest only in specific security contexts.IAST is slower than SAST because it requires execution for its sensors to work. However, this also gives IAST the context that SAST is missing and allows IAST to report fewer false positives, a major pain point with SAST scanning.
Figure 2: Security scan inside an IDE

IAST vs. DAST

DefinitionComparison with IAST
DAST is a black-box testing method and therefore doesn’t see the code. DAST only executes the application and checks its outputs for vulnerabilities. It’s much slower than SAST but catches different application vulnerabilities.In contrast to IAST, DAST doesn’t require changes to the code, considering it doesn’t use sensor libraries. However, because of the missing sensors, it has less context than IAST and requires many more test cases, which gives IAST a speed advantage over DAST.

IAST vs. SCA

DefinitionComparison with IAST

SCA detects potential security vulnerabilities in your application's third-party source components. It scans the packages you use, checks which have entries in the list of known vulnerabilities, and reports these issues. SCA is a very fast process because it doesn’t evaluate or scan your application code.

In short, SCA only checks if you use dependencies with vulnerabilities. Nonetheless, SCA usually has a high rate of false positives, as it doesn’t check if you use a dependency's vulnerable parts.

SCA is much faster than IAST but only reports vulnerabilities in third-party code. It also tends to have a high rate of false positives.While IAST is slower, it covers your own code and that of third parties. Its sensors ensure that only vulnerabilities in executed code lead to an alert, minimizing false positives.

¿Cuáles son las ventajas y limitaciones de IAST?

Si bien IAST puede parecer una mejor alternativa a SAST y DAST, no es la solución perfecta para todos los problemas de seguridad. Exploremos sus beneficios y limitaciones para comprender mejor su aplicabilidad.

Beneficios de IAST

  • Automatización: Al igual que con otros métodos de prueba de seguridad, puede automatizar el proceso de IAST e integrarlo en una canalización de CI/CD para asegurarse de que siempre se ejecute antes de que se implemente el nuevo código en producción. 

  • Cobertura completa en tiempo de ejecución: Los sensores IAST realizan un seguimiento de toda la aplicación en tiempo de ejecución. Esto significa que cubren el comportamiento de su propio código y el código en bibliotecas de terceros. IAST informará si algo realiza una solicitud de red o accede a una ubicación específica.

  • Transparencia: Los sensores proporcionan a IAST acceso al contexto de ejecución, como un depurador. Esto permite a IAST vincular vulnerabilidades a secciones específicas del código fuente, lo que facilita a los desarrolladores su localización y corrección.

  • Feedback en tiempo real: Supongamos que una prueba es realizada por un ser humano y no automáticamente en un Canalización de CI/CD. En ese caso, IAST puede proporcionar información en tiempo real alertando al evaluador sobre posibles vulnerabilidades cuando un sensor las detecta.

  • Casos de uso de producción: El requisito de ejecución de IAST también puede ser un beneficio, ya que permite a los desarrolladores reproducir los problemas mencionados en los informes de errores y probarlos con sensores de tiempo de ejecución. 

Limitaciones de IAST

  • Falta de soporte universal para lenguajes de programación: La mayor limitación de las herramientas IAST es que dependen del lenguaje de programación. Como debe instalar las bibliotecas de sensores para dar a IAST el contexto que requiere, no tendrá suerte si el lenguaje de programación que elija no es compatible con una herramienta IAST. A menos que utilice un lenguaje de programación popular, IAST simplemente no lo es'T una opción.

  • Comentarios tardíos en el SDLC: IAST requiere que la aplicación se compile y ejecute para ejecutarse más adelante en El ciclo de vida del desarrollo de software, lo que hace que su retroalimentación sea mucho más lenta que la de los escáneres de seguridad que trabajan directamente con el código fuente. IAST no puede proporcionar comentarios a un desarrollador dentro de un IDE mientras implementa una característica.

  • Implementación de alto esfuerzo: El esfuerzo de integración de IAST es mucho mayor que el de SAST o DAST porque requiere la instalación y configuración de las bibliotecas de sensores. SAST o DAST pueden probar la aplicación tal cual sin ningún cambio.

  • Falsos negativos: Dado que los sensores IAST solo realizan un seguimiento del código que se ejecuta, no detectarán problemas con el código que no se ejecuta en las pruebas. Esto aumenta el riesgo de falsos negativos en bases de código grandes que son más difíciles de probar.

  • Altos costos: Compilar y ejecutar código para pruebas es mucho más costoso que simplemente ejecutar SAST, que solo escanea el código tal cual. Además, la información en tiempo real de los sensores IAST tampoco es gratuita.

Resumen

IAST es una poderosa adición al ecosistema de pruebas de seguridad de aplicaciones. Los falsos positivos y los conjuntos de pruebas de larga duración son grandes problemas para la velocidad de desarrollo, e IAST aborda estos problemas. A diferencia de SAST y SCA, los sensores IAST garantizan que solo las vulnerabilidades en el código ejecutado generen alertas. Esto reduce la tasa de falsos positivos porque se ignoran los problemas en el código inactivo. Los sensores también agregan el contexto que faltaba en DAST, convirtiéndolo de un método de prueba de caja negra a un método de prueba de caja gris con información sobre el entorno de ejecución. Más contexto permite cubrir un mayor número de vulnerabilidades con menos pruebas que DAST.

Código Wiz + IAST

Wiz Code ofrece capacidades para ingerir e integrar los hallazgos de varias herramientas de pruebas de seguridad de aplicaciones, incluida IAST. La capacidad de Wiz Code para ingerir los hallazgos de IAST está diseñada para mejorar su protección integral de aplicaciones nativas de la nube. 

Al integrar los resultados de IAST, Wiz Code puede aportar información sobre vulnerabilidades en tiempo de ejecución directamente a su plataforma, lo que permite una visión más completa de los riesgos potenciales en las aplicaciones que se ejecutan en entornos de nube.

Aquí's cómo los usuarios pueden beneficiarse de la ingesta de hallazgos de IAST en Wiz Code:

  • Detección mejorada en entornos de preproducción: Los hallazgos de IAST se centran en las vulnerabilidades de tiempo de ejecución en las aplicaciones durante la preproducción o las pruebas de control de calidad, no en la producción en vivo. Al integrar los resultados de IAST en Wiz Code, los usuarios pueden descubrir vulnerabilidades que se manifiestan en condiciones de tiempo de ejecución realistas, como fallas de inyección o configuraciones incorrectas en la lógica de la aplicación, antes de que lleguen a producción. Esta información preventiva ayuda a prevenir problemas que, de otro modo, podrían conducir a vulnerabilidades costosas o disruptivas en entornos en vivo.

  • Vista completa más allá de las vulnerabilidades a nivel de aplicación: Mientras que los hallazgos de IAST se dirigen a las vulnerabilidades a nivel de aplicación de forma aislada de la infraestructura o las cargas de trabajo en la nube, Wiz Code completa el panorama al correlacionar estos hallazgos con la información de Wiz Cloud. Esta perspectiva más amplia ayuda a los usuarios a ver cómo los problemas de las aplicaciones pueden interactuar con los componentes subyacentes de la nube, proporcionando una vista completa que se alinea con la seguridad integral de la nube.

  • Precisión a través de la ingesta de gráficos de seguridad: Los hallazgos de IAST suelen conectar las vulnerabilidades con líneas de código específicas, de forma similar a las pruebas estáticas de seguridad de aplicaciones (SAST). Al mapear estos hallazgos en el gráfico de seguridad de Wiz Code, los usuarios obtienen una precisión milimétrica en la identificación y el abordaje de vulnerabilidades directamente dentro de la base de código. Mientras tanto, Wiz Cloud ofrece inteligencia de seguridad adicional, proporcionando contexto sobre cómo estos problemas a nivel de aplicación pueden afectar o relacionarse con el entorno de la nube.

Con la ingesta de IAST en Wiz, los usuarios se benefician de información específica sobre las vulnerabilidades de las aplicaciones en preproducción, mejorada por la visibilidad de extremo a extremo de Wiz Cloud tanto en la aplicación como en la infraestructura de la nube. ¿Quieres ver Wiz Code en acción? Obtener una demostración para ver cómo Iniciar de forma segura en el código le ayuda a mantenerse seguro en la nube.

Secure your cloud from code to production

Learn why CISOs at the fastest growing companies trust Wiz to accelerate secure cloud development.

Solicita una demo