Seminario web destacado: Presentación de la prueba CT de Parasoft C/C++ para pruebas continuas y excelencia en el cumplimiento | Vea ahora

El papel de SAST para el escaneo de aplicaciones en el cumplimiento de DISA ASD STIG

Foto de cabeza de Arthur Hicken, evangelista de Parasoft
11 de septiembre de 2023
8 min leer

El escaneo de aplicaciones es una de las mejores formas de detectar vulnerabilidades de seguridad en el software. SAST es un potente modelo de escaneo de aplicaciones utilizado en varias organizaciones. Aquí hay una discusión sobre el papel del análisis estático de Parasoft en el escaneo de software.

La Agencia de Sistemas de Información de Defensa (DISA), la Seguridad y Desarrollo de Aplicaciones (ASD) y las Guías de Implementación Técnica de Seguridad (STIG), conocidas como DISA ASD STIG, es una guía de implementación técnica sobre seguridad y desarrollo de aplicaciones para la agencia de sistemas de información de defensa. Existen muchas STIG para proteger diferentes partes de la infraestructura y los servicios del Departamento de Defensa; sin embargo, las pautas de la ASD cubren el desarrollo de aplicaciones internas y la evaluación de aplicaciones de terceros.

Lograr el cumplimiento de las directrices DISA ASD STIG requiere pruebas, generalmente en forma de documentación, que satisfagan a los auditores. Esta publicación cubre:

  • Desafíos asociados al logro del cumplimiento de la DISA ASD STIG
  • El enfoque recomendado por Parasoft para lograr el cumplimiento de una manera eficiente, menos riesgosa y rentable.
  • Requisitos que especifican el uso de escáneres de aplicaciones o escáneres de códigos de aplicaciones, que los equipos pueden validar con analizadores estáticos.

Comprender los desafíos de cumplimiento de DISA ASD STIG

DISA ASD STIG proporciona un conjunto detallado de pautas para mejorar la seguridad de los sistemas de software, principalmente dentro de la Departamento de Defensa (DoD). La autoridad de cumplimiento evalúa si los sistemas y el software están configurados para cumplir con los requisitos de la Agencia de Seguridad de la Información de Defensa (DISA). El incumplimiento de los DISA STIG puede bloquear o retrasar la implementación de su software.

Dada la naturaleza extensa de esta directriz de cumplimiento, las agencias gubernamentales y los contratistas de defensa a menudo enfrentan varios desafíos al intentar cumplir con los requisitos de cumplimiento de DISA ASD STIG. Algunos de estos desafíos incluyen los siguientes.

  • Los requisitos son complejos. Los DISA ASD STIG constan de una gran cantidad de controles, configuraciones y recomendaciones de seguridad específicos. Estas pautas cubren una amplia gama de áreas, como autenticación, control de acceso, cifrado, configuración de red y más. El gran volumen de directrices, junto con su profundidad técnica, puede dificultar que las organizaciones las comprendan, interpreten e implementen correctamente. Garantizar que cada directriz se cumpla adecuadamente en los distintos sistemas y componentes requiere una atención meticulosa a los detalles y experiencia en configuraciones de seguridad.
  • Problemas con los sistemas heredados. Muchas agencias gubernamentales y sucursales del Departamento de Defensa operan sistemas heredados que se han utilizado durante años, si no décadas. Es posible que estos sistemas no hayan sido diseñados teniendo en cuenta los principios de seguridad modernos y su arquitectura podría ser incompatible con algunos requisitos de STIG. Reconfigurar estos sistemas heredados para cumplir con los estándares de seguridad actuales puede ser un desafío importante. Muy a menudo, implica reescribir código, actualizar hardware o incluso reemplazar los sistemas por completo, todo lo cual puede resultar costoso y perjudicial.
  • Documentación y elaboración de informes. El cumplimiento de DISA ASD STIG requiere una documentación exhaustiva de las configuraciones de seguridad, los cambios realizados y la justificación de esos cambios. Las organizaciones deben mantener registros detallados para demostrar su cumplimiento de las pautas. Generar informes precisos y completos para fines de auditoría es esencial, pero esto puede llevar mucho tiempo y generar gastos administrativos. No mantener la documentación adecuada puede generar dificultades durante las auditorías o al abordar incidentes de seguridad.
  • Diversa infraestructura de TI. Las organizaciones gubernamentales y los componentes del Departamento de Defensa a menudo operan entornos de TI complejos y diversos. Pueden utilizar una variedad de sistemas operativos, hardware, aplicaciones de software y equipos de red. Cada uno de estos componentes puede tener diferentes requisitos y configuraciones de seguridad. Por lo tanto, personalizar la implementación de las directrices STIG para adaptarlas a las características específicas de cada tecnología puede llevar mucho tiempo y requerir conocimientos especializados y principalmente esfuerzo manual.
  • Equilibrando la seguridad y la interoperabilidad. La colaboración y el intercambio de información son esenciales dentro de las instituciones gubernamentales y de defensa. A menudo, diferentes agencias o componentes necesitan trabajar juntos utilizando sistemas interconectados. Sin embargo, implementar controles de seguridad estrictos para lograr el cumplimiento podría obstaculizar la interoperabilidad o el intercambio de datos dentro de estas agencias. Entonces, el desafío aquí es lograr el equilibrio adecuado entre hacer cumplir las medidas de seguridad y mantener una comunicación fluida. Para intentar garantizar el equilibrio adecuado, es posible que sea necesario realizar ajustes en las configuraciones o los flujos de trabajo para satisfacer las necesidades tanto de seguridad como de colaboración.
  • Monitoreo y mantenimiento continuo. El cumplimiento no es una tarea única. Requiere monitoreo y mantenimiento cada vez que se actualiza el sistema para garantizar que los sistemas permanezcan seguros a lo largo del tiempo. Lograr el cumplimiento inicial de las directrices DISA ASD STIG es solo el punto de partida. La mayor parte del trabajo consiste en garantizar el cumplimiento continuo, lo que requiere que las organizaciones establezcan procesos para el monitoreo y mantenimiento continuos. Hacer esto puede implicar revisar los sistemas, las configuraciones y las medidas de seguridad con regularidad para identificar cualquier desviación de los requisitos STIG establecidos. Sin embargo, esta tarea puede resultar desalentadora debido a factores como la evolución de las pautas DISA ASD STIG, los cambios en el sistema, el panorama de amenazas en evolución y el costo del esfuerzo manual que normalmente se necesita para garantizar el cumplimiento.

Enfoque de tres niveles para el cumplimiento del desarrollo de software

Para lograr el cumplimiento, se requiere un enfoque de validación de tres niveles:

  • Escaneo de código de aplicación detecta vulnerabilidades con herramientas de análisis estático para garantizar la reparación en la aplicación. El ASD STIG tiene pautas específicas sobre qué clases de vulnerabilidades detectar y remediar.
  • Prueba del sistema para seguridad con herramientas de pruebas funcionales y de penetración verifica y valida los requisitos de DISA ASD STIG.
  • Cumplimiento de turno a la izquierda con procesos preventivos elimina las malas prácticas de codificación que conducen a vulnerabilidades. Esta franja más amplia de detección incluye el escaneo de aplicaciones y la aplicación de estándares de codificación de la industria como la codificación segura OWASP, CWE o CERT. También incluye pautas como la eliminación de “el código huele”, Que son prácticas deficientes que se sabe que son la causa principal de las vulnerabilidades de seguridad del software.

Este golpe 1-2-3 es la clave para lograr el cumplimiento mediante validación y documentación. El objetivo es madurar el proceso más allá de la detección en la prevención de vulnerabilidades de seguridad.

¿Qué significa el cumplimiento de DISA ASD STIG?

El ASD STIG utiliza un código de categoría de gravedad (CAT I, CAT II, ​​CAT III) para organizar y priorizar las directrices en función del posible impacto de una explotación de la directriz.

Infografía que enumera las pautas del código de categoría DISA para las Categorías I (11%), II (81%), III (8%).

La evaluación de la documentación de productos y procesos, así como la observación y verificación de la funcionalidad con respecto a las pautas, determina el cumplimiento. En otras palabras, el STIG requiere evidencia de un diseño e implementación seguros a través de la documentación, verificación y validación de todos los aspectos del ciclo de vida del desarrollo de software. Eso incluye implementación y operación. Estas pautas se aplican durante toda la vida útil del producto, desde la configuración, la implementación, el mantenimiento y el final de la vida útil.

Pruebas de seguridad de aplicaciones estáticas

Importante para la discusión en esta publicación es el requisito de los escáneres de código de aplicación:

"... una herramienta automatizada que analiza el código fuente de la aplicación en busca de fallas de seguridad, código malicioso y puertas traseras". —Descripción general de DIAS ASD STIG, sección 4.1

En terminología más común, se trata de pruebas de seguridad de aplicaciones estáticas (SAST) implementadas a través del análisis de código estático. “Debe utilizarse siempre que sea posible. Particularmente en el entorno de desarrollo, donde el código que se ha identificado como que requiere corrección se puede abordar antes de su lanzamiento ". El ASD STIG también contiene la siguiente guía:

“Se puede utilizar un escáner de aplicaciones para probar sistemas de aplicaciones de desarrollo o producción en busca de vulnerabilidades de seguridad resultantes de errores en el código de la aplicación o de configuraciones incorrectas del sistema de aplicación. Estas vulnerabilidades incluyen SQL Injection, Code Injection, Cross Site Scripting (XSS), divulgaciones de archivos, permisos y otras vulnerabilidades de seguridad que se pueden encontrar en aplicaciones accesibles en red ”—Descripción general de DIAS ASD STIG, Sección 4.2 - Escáner de aplicaciones

El ASD STIG requiere el uso de pruebas de vulnerabilidad activa, por ejemplo, herramientas de prueba de penetración o DAST, para probar el software ejecutable. Estas herramientas son necesarias durante el desarrollo y la implementación para respaldar las evaluaciones de vulnerabilidad.

Métodos de validación DISA ASD STIG

El ASD STIG describe formas de verificar el cumplimiento de los requisitos, que incluyen:

  • Código de aplicación y escaneo de aplicaciones
  • Revisión manual
  • Pruebas de seguridad funcional

Los equipos utilizan informes y auditorías de la herramienta SAST para validar aplicaciones y escanear códigos. Las pruebas funcionales consisten en verificar con herramientas automatizadas o pruebas manuales que la vulnerabilidad no está presente en el software. En otras palabras, piense en el enfoque como "hacer algo, comprobar algo". Por ejemplo, verifique si la acción funcionó correctamente y se registró si es necesario). Estos enfoques se adaptan a las pruebas automatizadas debido a la eficiencia y las herramientas de seguimiento de auditoría que proporcionan.

Un enfoque pragmático para el cumplimiento de DISA ASD STIG con herramientas de análisis estático

La realidad del desarrollo de software para DoD, que requiere DISA ASD STIG, es que debe probar todos los requisitos y vulnerabilidades. Puede ser una tarea abrumadora, pero la automatización es posible para aliviar algunas de las cargas.

La recomendación de Parasoft sobre cómo abordar el cumplimiento de DISA ASD STIG es aprovechar la automatización donde tenga más sentido, como en las canalizaciones de CI/CD o en los procesos DevSecOps. El objetivo es aliviar la carga del cumplimiento, utilizar técnicas preventivas para prevenir vulnerabilidades y, en última instancia, lograr un cumplimiento continuo.

Es más costoso y lleva más tiempo detectar y corregir vulnerabilidades cuando el software está casi completo que durante el desarrollo. Por esta razón, el enfoque de Parasoft es girar hacia la izquierda evaluando, detectando y remediando vulnerabilidades en una etapa más temprana del ciclo de vida.

Satisfacción de los requisitos de escaneo de la aplicación DISA ASD STIG con análisis estático

DISA ASD STIG utiliza el término "escaneo de aplicaciones", que equivale al análisis de código estático y tecnologías relacionadas, como el análisis de composición de software. Además del requisito general para la evaluación de vulnerabilidades a través del análisis de código estático, existen requisitos específicos para escanear vulnerabilidades específicas como:

  • OWASP Top 10 (V-69513)
  • Desbordamientos (V-70277)
  • Condiciones de carrera (V-70185)
  • Manejo de errores (V-70391)

Aunque esto parece un pequeño conjunto de vulnerabilidades, la realidad es que esto se traduce en muchas debilidades de software relacionadas. Por ejemplo, el Top 10 de OWASP (Open Web Application Security Project) se traduce en más de 50 CWE. Cada uno puede tener múltiples debilidades relacionadas.

Aunque este es el conjunto de vulnerabilidades específicas para el cumplimiento, es prudente considerar una franja más amplia de vulnerabilidades para detectar. Además, es importante que los equipos amplíen su enfoque más allá de las pautas de DISA ASD STIG para incluir pautas preventivas como las que se incluyen en los estándares comunes de codificación segura de la industria.

Como su nombre lo indica, OWASP Top 10 es una organización comprometida con la mejora de la seguridad de las aplicaciones web. Su proyecto OWASP Top 10 proporciona una lista de las vulnerabilidades de seguridad de aplicaciones web más comunes y de mayor impacto.

Integración con herramientas SCA

Si bien es posible utilizar herramientas de análisis estático para detectar la mayoría de los problemas, algunos no se pueden analizar estáticamente. La pauta para evitar software con vulnerabilidades conocidas está relacionada con el análisis de composición de software (SCA). Parasoft respalda esto al integrarse con herramientas SCA con nuestra salida de análisis estático en un solo informe, lo que resulta en una cobertura completa de los 10 principales.

El análisis estático de Parasoft tiene soporte listo para usar para OWASP Top 10 a través de configuraciones preconfiguradas y paneles web específicos para C / C ++, Javay C # /. NET. Los informes OWASP en Parasoft DTP proporcionan un marco de cumplimiento totalmente auditable para proyectos. El panel de control específico de estándares, como el que se muestra a continuación para DISA ASD STIG, proporciona una manera fácil de monitorear continuamente el estado.

Captura de pantalla del panel de informes que muestra los resultados del análisis estático que respaldan OWASP Top 10.
Panel de Parasoft DISA ASD STIG

Parasoft implementó todos los principales estándares de seguridad de aplicaciones, como la codificación segura SEI CERT, las pautas de codificación CWE (Common Weakness Enumeration), UL 2900, OWASP y paneles de control específicos de seguridad para cada uno. Esto ayuda a los usuarios a comprender el riesgo y la priorización de violaciones/vulnerabilidades/defectos de seguridad pendientes.

Informes centrados en la seguridad

Los informes de cumplimiento están disponibles a pedido. Los criterios de cumplimiento son flexibles y específicos para el proyecto y el código base del equipo. Los desarrolladores pueden diseñar políticas basadas en la gravedad, el riesgo, el impacto, la antigüedad del código, la importancia de los componentes, etc. Pueden utilizarlos para guiar fácilmente el desarrollo y mostrar sus esfuerzos a un auditor. Los desarrolladores también pueden pasar políticas al equipo de seguridad para integrarlas con los resultados de otras partes de las pruebas de seguridad, como el sistema operativo, la red y más.

Captura de pantalla del informe de cumplimiento de Parasoft OWASP Top 10 para DISA ASD STIG.
Informe de cumplimiento de Parasoft OWASP Top 10

Uno de los aspectos cruciales de las herramientas de análisis estático son las capacidades de generación de informes y análisis. Los proyectos crean una gran cantidad de datos en términos de advertencias y se multiplican por construcción. La gestión de datos es clave para la adopción exitosa y el retorno de la inversión de las herramientas de análisis estático.

Los cuadros de mando, los informes y la conformidad ajustados para cada norma de codificación y pauta de seguridad son fundamentales. Los análisis de Parasoft aprovechan los modelos de riesgo estándar de la industria y múltiples técnicas de inteligencia artificial (AI) y aprendizaje automático (ML) para priorizar las advertencias de seguridad y ayudar a los desarrolladores a enfocarse en los problemas más críticos con el mayor impacto.

Garantizar el cumplimiento de DISA ASD STIG con SAST

DISA ASD STIG presenta un abrumador conjunto de requisitos para proteger el software para las aplicaciones del Departamento de Defensa. Existen varios métodos para demostrar el cumplimiento de las reglas descritas en el STIG. Los métodos habituales incluyen:

  • Auditorías de documentación
  • Informes de herramientas como analizadores estáticos y otros
  • Esfuerzo manual para investigar los registros de la aplicación, si es necesario

El STIG describe las áreas clave de oportunidad para la automatización, como el código de aplicación y el escaneo de aplicaciones. El análisis estático ayuda a lograr algunos de estos.

Un enfoque pragmático alivia la carga de cumplimiento y fomenta técnicas preventivas que eliminan las vulnerabilidades en las primeras etapas del ciclo de vida del proyecto. El análisis estático de Parasoft proporciona una detección temprana de vulnerabilidades. Esta solución aplica el estilo y la calidad del código para evitar prácticas de seguridad deficientes lo antes posible.

Cómo abordar el cumplimiento de DISA ASD STIG para el desarrollo de software