Alcanzabilidad como evidencia

Demuestra si el código vulnerable se invoca realmente

Análisis de tres capas: grafos de llamadas estáticos, coincidencia de símbolos binarios y sondas eBPF en tiempo de ejecución. Produce pruebas firmadas con DSSE que reducen significativamente los falsos positivos.

Lo que esto significa para su negocio

Corrija solo las vulnerabilidades que su aplicación realmente puede alcanzar — omita el resto. Stella demuestra qué CVEs son alcanzables para que su equipo se concentre en riesgos reales, no en ruido de escáneres. ReachabilityAnálisis que demuestra si el código vulnerable es realmente llamado por su aplicación — filtrando falsos positivos del ruido de escáneres

Resumen ejecutivo de 30 segundos

Hasta 70-90%

Reducción típica de ruido

El rango observado varía según el stack y la cobertura.

3

Capas de análisis

Grafos de llamadas estáticos, símbolos binarios, sondas eBPF en tiempo de ejecución

100%

Firmado y reproducible

Cada veredicto de alcanzabilidad es evidencia firmada con DSSE

Análisis de tres capas

Cada capa aporta evidencia progresivamente más sólida de que una función vulnerable es (o no) alcanzable desde el código de tu aplicación. CVECommon Vulnerabilities and Exposures – un identificador único para una vulnerabilidad de seguridad conocida públicamente

Capa 1

Análisis estático de grafos de llamadas

Extrae grafos de llamadas de bytecode, AST y código fuente. Rastrea rutas desde puntos de entrada hasta símbolos vulnerables.

  • • Soporte de lenguajes: Go, Rust, C#, Java, Python, JavaScript, C/C++
  • • Maneja despacho virtual, llamadas de interfaz y reflexión con una aproximación conservadora
  • • Produce un DAG con estado de alcanzabilidad por nodo
Capa 2

Análisis de símbolos binarios

Cruza símbolos vulnerables con exportaciones binarias compiladas. Confirma que el código está realmente vinculado.

  • • Extracción de tablas de símbolos de ELF, PE, Mach-O
  • • Referencias cruzadas de información de depuración DWARF/PDB cuando estén disponibles
Capa 3

Sondas eBPF en tiempo de ejecución

Perfilado opcional en producción. Captura invocaciones reales de funciones durante la ejecución.

  • • Instrumentación eBPFExtended Berkeley Packet Filter — una tecnología del kernel de Linux que ejecuta programas aislados para observabilidad y análisis en tiempo de ejecución de alto rendimiento sin módulos del kernel basada en Tetragon
  • • Registra symbol_id, code_id, hit_count, loader_base
  • • Preservación de la privacidad: no se capturan valores de argumentos

Resultado: significativamente menos falsos positivos. Concéntrate en 12 CVE alcanzables en lugar de 487 teóricas.

Implementation: node hash joins

Las pruebas de alcanzabilidad se direccionan por contenido para deduplicación y verificación. Los hashes de nodo permiten diferenciar versiones de forma eficiente. Hash de nodo SHA256(normalize(purl) + ":" + normalize(symbol)) Hash de ruta SHA256(entryNodeHash + ":" + joinedIntermediateHashes + ":" + sinkNodeHash) Se conservan las rutas significativas Top-K en el paquete de evidencia. Las rutas se clasifican por frecuencia de ejecución (desde runtime) o profundidad de llamada (desde estática).
Read more

Las pruebas de alcanzabilidad se direccionan por contenido para deduplicación y verificación. Los hashes de nodo permiten diferenciar versiones de forma eficiente.

Hash de nodo

SHA256(normalize(purl) + ":" + normalize(symbol))

Hash de ruta

SHA256(entryNodeHash + ":" + joinedIntermediateHashes + ":" + sinkNodeHash)

Se conservan las rutas significativas Top-K en el paquete de evidencia. Las rutas se clasifican por frecuencia de ejecución (desde runtime) o profundidad de llamada (desde estática).

Desconocidos como estado de primera clase

Cuando el análisis no puede determinar la alcanzabilidad, la incertidumbre se rastrea explícitamente; no se oculta ni se asume silenciosamente como segura.

Bucket de alcanzabilidadPeso predeterminado
Punto de entrada1.0
Llamada directa0.85
Confirmado en runtime0.45
Desconocido0.5
Inalcanzable0.0

Puntuación final = max(bucket_weights) en todos los caminos. Los nodos desconocidos contribuyen a la puntuación de riesgo en lugar de ser ignorados.

Matriz de cobertura de accesibilidad para la activación de políticas

Antes de habilitar el bloqueo duro en producción, valide la cobertura en su propio corpus de código. La siguiente matriz describe cómo evaluar cada ruta de lenguaje/tiempo de ejecución y cómo se deben tratar las incógnitas.

Idioma/tiempo de ejecuciónRuta de llamada estáticaEvidencia binaria/símboloEvidencia en tiempo de ejecuciónPuerta predeterminada cuando se desconoce
Ir, óxido, C/C++Validar la extracción de rutas de llamadas directas y transitivasValidar la precisión de coincidencia de símbolo/ID de compilaciónConfirmación eBPF opcional para servicios de alto riesgoRevisar o bloquear hallazgos críticos por política
Lenguajes Java y JVMValidar la accesibilidad a nivel de método y los casos de envío dinámicoValidar la asignación de código de bytes/símbolo jarSeguimientos en tiempo de ejecución recomendados para caminos reflectantesEnrutar desconocidos al carril de revisión manual
.NETOValidar el gráfico de llamadas de IL y el linaje de paquetesValidar la resolución de PDB/símbolo en versiones de lanzamientoConfirmación de tiempo de ejecución para escenarios recortados/AOTRevisar las incógnitas antes de permitir una decisión
Nodo, Python, Ruby, PHPValidar puntos de entrada del marco y límites de importación dinámicosLa evidencia de símbolos es parcial por diseño para el despacho dinámicoSe recomienda encarecidamente realizar seguimientos en tiempo de ejecuciónMantener desconocido como estado explícito y requerir aprobación

Recomendación de política: trate unknown como un veredicto de primera clase, establezca umbrales explícitos por gravedad y registre los motivos de anulación del revisor en el paquete de evidencia.

Implementation: signed proofs

Cada análisis de alcanzabilidad produce una prueba firmada criptográficamente, almacenada en un almacenamiento direccionado por contenido. DSSE?Dead Simple Signing Envelope – un estándar simple y flexible para firmar datos arbitrarios con firmas criptográficas Sobre DSSEDead Simple Signing Envelope – un estándar simple y flexible para firmar datos arbitrarios con firmas criptográficas con in-totoUn marco para asegurar la cadena de suministro de software verificando que cada paso fue ejecutado según lo planificado y por actores autorizados (formato de predicado SLSASupply-chain Levels for Software Artifacts — un marco para garantizar la integridad de los artefactos de software a lo largo de la cadena de suministro) Verificable por auditores sin acceso a la red La reproducción determinista produce resultados idénticos bit a bit Grafos y trazas archivados para verificación sin conexión Rutas de almacenamiento direccionadas por contenido cas://reachability_graphs/<hh>/<sha>.tar.zst cas://runtime_traces/<hh>/<sha>.tar.zst
Read more

Cada análisis de alcanzabilidad produce una prueba firmada criptográficamente, almacenada en un almacenamiento direccionado por contenido. DSSEDead Simple Signing Envelope – un estándar simple y flexible para firmar datos arbitrarios con firmas criptográficas

  • Sobre DSSEDead Simple Signing Envelope – un estándar simple y flexible para firmar datos arbitrarios con firmas criptográficas con in-totoUn marco para asegurar la cadena de suministro de software verificando que cada paso fue ejecutado según lo planificado y por actores autorizados (formato de predicado SLSASupply-chain Levels for Software Artifacts — un marco para garantizar la integridad de los artefactos de software a lo largo de la cadena de suministro)
  • Verificable por auditores sin acceso a la red
  • La reproducción determinista produce resultados idénticos bit a bit
  • Grafos y trazas archivados para verificación sin conexión

Rutas de almacenamiento direccionadas por contenido

cas://reachability_graphs/<hh>/<sha>.tar.zst

cas://runtime_traces/<hh>/<sha>.tar.zst

Implementation: eBPF probes

La instrumentación opcional basada en Tetragon captura ejecuciones reales de funciones en producción, proporcionando la evidencia de alcanzabilidad más sólida. Datos capturados por la sonda symbol_id: identificador canónico de símbolo code_id: identificador de sección de código hit_count: frecuencia de ejecución loader_base: dirección base en memoria cas_uri: referencia direccionada por contenido Las sondas envían observaciones a /api/v1/observations en lotes. Cada observación incluye el URI de CAS para el artefacto subyacente.
Read more

La instrumentación opcional basada en Tetragon captura ejecuciones reales de funciones en producción, proporcionando la evidencia de alcanzabilidad más sólida.

Datos capturados por la sonda

symbol_id: identificador canónico de símbolo

code_id: identificador de sección de código

hit_count: frecuencia de ejecución

loader_base: dirección base en memoria

cas_uri: referencia direccionada por contenido

Las sondas envían observaciones a /api/v1/observations en lotes. Cada observación incluye el URI de CAS para el artefacto subyacente.

¿Listo para reducir significativamente los falsos positivos?

Instala Stella Ops y comienza a producir pruebas de alcanzabilidad firmadas con análisis de tres capas.