Análisis de código en tiempo de ejecución (IAST)

Este producto no es compatible con el sitio Datadog seleccionado. ().

Descripción general

El Análisis de código en tiempo de ejecución (IAST) de Datadog identifica vulnerabilidades a nivel de código en sus servicios, utilizando un enfoque de Interactive Application Security Testing (IAST) para encontrar vulnerabilidades dentro del código de su aplicación según la instrumentación de aplicaciones de Datadog. IAST permite a Datadog identificar vulnerabilidades utilizando tráfico de aplicaciones legítimo en lugar de depender de pruebas externas que podrían requerir configuración adicional o programación periódica. También monitorea las interacciones de su código con otros componentes de su pila, como bibliotecas e infraestructura, proporcionando una vista actualizada de su superficie de ataque.

Cómo funciona

Análisis de código en tiempo de ejecución (IAST) utiliza la biblioteca de rastreo de Datadog para seguir los datos controlados por el usuario a medida que fluyen a través de su aplicación en tiempo de ejecución. Solo se informa una vulnerabilidad cuando IAST puede confirmar que la entrada contaminada llega a un punto vulnerable en el código, lo que mantiene los hallazgos procesables.

  • Seguimiento de fuentes de datos: IAST observa los datos que ingresan a su aplicación desde fuentes externas, como URL de solicitud, cuerpos o encabezados. Estas entradas se etiquetan y rastrean a lo largo de su ciclo de vida.
  • Análisis del flujo de datos: La biblioteca de rastreo de Datadog rastrea cómo se mueven los datos de entrada a través de la aplicación, incluso cuando se transforman, dividen o combinan. Esto permite a IAST comprender si la entrada original llega a partes sensibles del código y cómo lo hace.
  • Identificación de puntos vulnerables: IAST detecta ubicaciones de código donde las entradas controladas por el usuario se utilizan de formas potencialmente inseguras; por ejemplo, en consultas SQL, ejecución de código dinámico o renderizado HTML.
  • Confirmación de la vulnerabilidad: Solo se informa una vulnerabilidad cuando IAST puede confirmar que la entrada contaminada realmente llega a un punto vulnerable en el código. Este enfoque minimiza los falsos positivos y mantiene los hallazgos procesables.

Tipos de vulnerabilidad admitidos

Datadog IAST detecta los siguientes tipos de vulnerabilidades a nivel de código en los lenguajes admitidos. La cobertura puede variar según el idioma y el framework; para obtener soporte a nivel de framework, consulte Requisitos de compatibilidad.

GravedadRegla de detecciónJava.NETNode.jsPython
CríticaInyección NoSQLFALSETRUETRUEFALSE
CríticaInyección SQLTRUETRUETRUETRUE
CríticaFalsificación de solicitud del lado del servidor (SSRF)TRUETRUETRUETRUE
CríticaInyección de códigoFALSEFALSETRUEFALSE
CríticaInyección de comandosTRUETRUETRUETRUE
AltaInyección LDAPTRUETRUETRUEFALSE
AltaInyección de HTML en correo electrónicoTRUETRUETRUEFALSE
AltaSecretos codificadosTRUETRUETRUEFALSE
AltaContraseñas codificadasFALSEFALSETRUEFALSE
AltaRecorrido de rutaTRUETRUETRUETRUE
AltaViolación de límite de confianzaTRUETRUEFALSEFALSE
AltaCross-Site Scripting (XSS)TRUETRUEFALSEFALSE
AltaDeserialización no confiableTRUEFALSEFALSEFALSE
AltaRedirección no validadaTRUETRUETRUEFALSE
AltaInyección de XPathTRUETRUEFALSEFALSE
AltaInyección de encabezadoTRUETRUETRUETRUE
AltaFuga de listado de directoriosTRUEFALSEFALSEFALSE
AltaEscape de HTML predeterminado no válidoTRUEFALSEFALSEFALSE
AltaManipulación de verbosVERDADEROFALSOFALSOFALSO
MedioSin cookie SameSiteVERDADEROVERDADEROVERDADEROVERDADERO
MedioCookie inseguraVERDADEROVERDADEROVERDADEROVERDADERO
MedioSin cookie HttpOnlyVERDADEROVERDADEROVERDADEROVERDADERO
MedioHashing débilVERDADEROVERDADEROVERDADEROVERDADERO
MedioCifrado débilVERDADEROVERDADEROVERDADEROVERDADERO
MedioFuga de rastreo de pilaVERDADEROVERDADEROFALSOFALSO
MedioInyección de reflexiónVERDADEROVERDADEROFALSOFALSO
MedioProtocolo de autenticación inseguroVERDADEROVERDADEROFALSOFALSO
MedioClave codificadaFALSOVERDADEROFALSOFALSO
MedioDiseño de JSP inseguroVERDADEROFALSOFALSOFALSO
BajoFalta el encabezado HSTSVERDADEROVERDADEROVERDADEROFALSO
BajoFalta el encabezado X-Content-Type-OptionsVERDADEROVERDADEROVERDADEROFALSO
BajoAleatoriedad débilVERDADEROVERDADEROVERDADEROVERDADERO
BajoAdmin Console activaVERDADEROFALSOFALSOFALSO
BajoTiempo de espera de sesiónVERDADEROFALSOFALSOFALSO
BajoReescritura de sesiónVERDADEROFALSOFALSOFALSO

Capacidades clave

Revise y priorice las vulnerabilidades

El Explorador de vulnerabilidades para IAST proporciona una vista dedicada centrada en las vulnerabilidades a nivel de código detectadas por IAST. Todos los hallazgos en este explorador corresponden a vulnerabilidades confirmadas en servicios que se ejecutan con la biblioteca de rastreo de Datadog y con IAST habilitado. Cada capacidad de Code Security tiene su propio explorador (SAST, SCA, IAST, escaneo de secretos e IaC), por lo que los hallazgos de IAST no se mezclan con otros tipos en esta vista.

Cada hallazgo incluye una breve descripción, los servicios afectados, el tipo de vulnerabilidad, la primera y última hora de detección, y el archivo, método y número de línea exactos donde se confirmó el problema. Puede filtrar los resultados por servicio, equipo, entorno, gravedad y otras facetas para centrarse en el trabajo que es importante para su grupo.

Puntuación de severidad de Datadog

Debido a que IAST detecta vulnerabilidades en su código de primera parte, los hallazgos no tienen una puntuación CVE o CVSS pública. Datadog asigna una gravedad base para cada tipo de vulnerabilidad (por ejemplo, inyección de comandos o inyección SQL), y luego ajusta esa base a la Datadog Severity Score según el contexto de tiempo de ejecución y las señales de explotabilidad observadas en su entorno. Estos factores ayudan a distinguir el riesgo teórico de las vulnerabilidades que tienen más probabilidades de ser explotadas en entornos del mundo real. La siguiente tabla describe cómo influye cada factor en la puntuación final.

Factor de riesgoCómo se evalúaImpacto en la puntuación
Gravedad baseDefinida por Datadog según el tipo de vulnerabilidad (por ejemplo, inyección de comandos, inyección SQL).Punto de partida para la puntuación de gravedad.
Contexto de tiempo de ejecución en producciónSi el servicio afectado se está ejecutando en un entorno de producción.Disminuye si el servicio no se está ejecutando en producción.
Bajo ataqueEvidencia de actividad de ataque activa dirigida al servicio.Disminuye si no se observa actividad de ataque.

Indicadores de tiempo de ejecución

El panel lateral de vulnerabilidades muestra los factores de contexto de tiempo de ejecución como indicadores, para que pueda ver de un vistazo por qué se ajustó la puntuación de un hallazgo:

  • Service In Production: Corresponde al factor Contexto de tiempo de ejecución en producción. Datadog determina si un servicio se está ejecutando en producción a partir de sus etiquetas env y environment. Si el servicio afectado no se está ejecutando en producción, la Datadog Severity Score disminuye.
  • Exposed to Attacks: Corresponde al factor Bajo ataque. Un servicio se marca como expuesto a ataques si se ha detectado una señal de seguridad en él en los últimos 15 días. Si no se observa actividad de ataque, el panel muestra Not Exposed to Attacks y la Datadog Severity Score disminuye.

Para ver cómo cada indicador afectó a un hallazgo específico, abra la pestaña Datadog Severity Breakdown en el panel lateral. Para obtener más información sobre cómo se evalúan estos riesgos en Datadog Security, consulte Security Inbox.

Remediar una vulnerabilidad de código

Haga clic en cualquier hallazgo en el Explorador de vulnerabilidades para IAST para abrir el panel lateral de vulnerabilidades, el cual brinda a los desarrolladores e ingenieros de seguridad el contexto completo necesario para solucionar el problema.

El panel resume la gravedad del hallazgo, el tipo de vulnerabilidad, la fecha de vencimiento y los indicadores de tiempo de ejecución (como Exposed to Attacks y Service In Production), y muestra dónde se confirmó la vulnerabilidad en su código, cuándo se detectó por primera y última vez, qué servicio, entorno y equipo afecta, y referencias de estándares relevantes como CWE. Cuando la integración de GitHub, GitLab o Azure DevOps está habilitada, Datadog también muestra el commit que introdujo la vulnerabilidad y un fragmento del código vulnerable.

El panel lateral incluye pestañas para Data Flow (cómo la entrada contaminada llega al sumidero vulnerable), Remediation (guía paso a paso y código de ejemplo para su framework), Datadog Severity Breakdown (cómo el contexto de tiempo de ejecución dio forma a la puntuación) y More Information (referencias relacionadas). Desde el panel Next Steps a la derecha, puede cambiar el estado del hallazgo, silenciarlo, crear un ticket de Jira o ServiceNow, o ir directamente a los pasos de remediación.

Para flujos de trabajo repetibles, utilice Set up Automation para aplicar las mismas acciones automáticamente a hallazgos nuevos y existentes que coincidan con sus criterios. Consulte Automatizar la clasificación y remediación para obtener más detalles.

Crear tickets a partir de hallazgos

Puede crear un ticket bidireccional en Jira o ServiceNow directamente desde cualquier hallazgo de IAST para realizar un seguimiento y remediar problemas en sus flujos de trabajo existentes. El estado del ticket permanece sincronizado entre Datadog y su herramienta de tickets, por lo que las actualizaciones realizadas en cualquiera de los sistemas se mantienen alineadas. Para obtener más información, consulte Integraciones de tickets.

Para crear tickets de forma masiva o como parte de un proceso repetible, utilice Automation Pipelines para abrir tickets automáticamente para los hallazgos que coincidan con condiciones como gravedad, servicio, entorno o equipo.

Silenciar hallazgos

Para suprimir un hallazgo, haga clic en Mute en el panel de detalles del hallazgo. Esto abre un flujo de trabajo donde puede crear una Regla de automatización para el filtrado consciente del contexto por valores de etiqueta (por ejemplo, por service o env). Silenciar un hallazgo lo oculta de la clasificación activa y lo excluye de los informes.

Para restaurar un hallazgo silenciado, haga clic en Unmute en el panel de detalles. También puede usar el filtro Status en el Explorador de vulnerabilidades para IAST para revisar los hallazgos silenciados.

Notificar sobre nuevos hallazgos

Dirija los nuevos hallazgos de IAST al equipo correcto tan pronto como se detecten. Las notificaciones de Datadog admiten Slack, Microsoft Teams, correo electrónico, PagerDuty, webhooks y más, para que cada equipo pueda recibir los hallazgos donde ya trabaja. Para obtener detalles sobre la configuración, consulte Security Notifications.

Automatizar la clasificación y la remediación

Utilice Automation Pipelines para aplicar acciones consistentes de clasificación y remediación a los hallazgos de IAST nuevos y existentes, sin intervención manual. Desde el menú Set up Automation en el panel lateral de hallazgos, o desde la página de configuración de Automation Pipelines, usted puede:

Las Automation Pipelines se aplican tanto a los hallazgos recién detectados como a los que ya existen en Datadog, por lo que los cambios de política se aplican retroactivamente en todo su entorno.

Contexto de vulnerabilidad a nivel de código en Application Performance Monitoring

IAST enriquece la información que Application Performance Monitoring (APM) ya recopila al marcar los servicios donde se han confirmado vulnerabilidades a nivel de código. Los servicios vulnerables se resaltan directamente en la Security view en el APM Catalog, para que pueda pasar de un servicio vulnerable a sus trazas, registros y contexto de infraestructura con un solo clic.

Ciclo de vida de la vulnerabilidad

Datadog rastrea las vulnerabilidades de IAST al nivel de servicio, según lo que confirmen las bibliotecas de rastreo de Datadog en sus aplicaciones en ejecución. Se abre una vulnerabilidad cuando IAST confirma una vulnerabilidad a nivel de código en un servicio en ejecución. Se cierra una vulnerabilidad cuando Datadog ya no la detecta de acuerdo con las reglas de ciclo de vida a continuación.

ProductoContextoEscenarioCuándo se abre una vulnerabilidadCuándo se cierra una vulnerabilidad
IASTServicioServicio en ejecuciónDatadog confirma una vulnerabilidad a nivel de código en un servicio en ejecución.Después de 14 días, si la vulnerabilidad no se vuelve a detectar durante ese período.
IASTServicioNueva versión del servicio implementadaDatadog confirma una vulnerabilidad a nivel de código en un servicio en ejecución.24 horas después de que la vulnerabilidad ya no se detecte en la nueva versión, en el entorno donde se detectó originalmente.

Si una vulnerabilidad previamente cerrada se detecta de nuevo en un plazo de 15 meses, Datadog la vuelve a abrir automáticamente para que no se pierdan los problemas recurrentes.

Configurar Análisis de código en tiempo de ejecución (IAST)

Para habilitar IAST, configure Datadog Tracing Library para su servicio. Encontrará instrucciones detalladas específicas para cada lenguaje en Configurar Análisis de código en tiempo de ejecución (IAST). Si necesita ayuda adicional, comuníquese con el soporte de Datadog.

Para obtener información sobre cómo deshabilitar IAST, consulte Disabling Code Security.

Lecturas adicionales