El papel de SAST para el escaneo de aplicaciones en el cumplimiento de DISA ASD STIG
Por Arthur Hiken
22 de diciembre de 2020
6 min leer
Saltar a la sección
DISA ASD STIG incluye la Agencia de Sistemas de Información de Defensa (DISA), Seguridad y Desarrollo de Aplicaciones (ASD) y Guías de Implementación Técnica de Seguridad (STIG). Son un conjunto de pautas para proteger las aplicaciones empresariales y de escritorio utilizadas por el Departamento de Defensa. Existen muchos STIGS para asegurar diferentes partes de la infraestructura y los servicios del Departamento de Defensa; sin embargo, las pautas de ASD cubren el desarrollo de aplicaciones internas y la evaluación de aplicaciones de terceros.
Lograr el cumplimiento de las pautas de DISA ASD STIG requiere una prueba, generalmente en forma de documentación, que satisfaga a los auditores. Esta publicación cubre:
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.
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 prueba funcionales y de penetración verifica y valida los requisitos de DISA ASD STIG. Consulte El papel de la automatización de pruebas funcionales en DISA ASD STIG para obtener más información.
- Cumplimiento de turno a la izquierda con procesos preventivos elimina las malas prácticas de codificación que generan 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 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.
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 activas (por ejemplo, herramientas de prueba de lápiz) 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 el escaneo de códigos y aplicaciones. La prueba funcional consiste 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 tiene más sentido, como en las canalizaciones de CI / CD o los procesos de DevSecOps. El objetivo es aliviar la carga del cumplimiento, pero también utilizar técnicas preventivas para prevenir vulnerabilidades. Es más costoso y requiere 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 desplazarse a la izquierda la evaluación, detección y corrección de vulnerabilidades en una fase 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 e informes de panel web específicos para C / C ++, Java y C # /. NET. Los informes de OWASP en las herramientas de Parasoft proporcionan un marco de cumplimiento totalmente auditable para los proyectos. Estos informes se integran en un panel de control específico de estándares como el que se muestra a continuación para 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 y 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 la base de código 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 usarlos para guiar fácilmente el desarrollo y mostrar esfuerzos a un auditor.


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.
Resumen
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 del cumplimiento y fomenta las técnicas preventivas que eliminan las vulnerabilidades al principio del ciclo de vida del proyecto. El análisis estático de Parasoft proporciona una detección temprana de vulnerabilidades. Esta solución refuerza el estilo y la calidad del código para evitar prácticas de seguridad deficientes lo antes posible.
Obtenga más información sobre el papel de la automatización de pruebas, los aspectos requeridos de las herramientas y un enfoque pragmático para implementar DISA ASD STIG en nuestro documento técnico.