Chiosa
AI Security & Safety

P2Patch encuentra vías de elusión y refuerza reparaciones de vulnerabilidades

2 min
Publicado en Chiosa Actualizado

En palabras sencillas

P2Patch es un sistema para reparar vulnerabilidades de software. Un agente de software encuentra un ejemplo ejecutable del fallo, otro modifica el programa y un árbitro de ejecución comprueba si el ejemplo todavía funciona.

El primer ejemplo se convierte en un requisito para la reparación. Después, el sistema busca otra vía hacia el mismo fallo en el programa parcheado. En 41 de 101 ejecuciones de reparación en C/C++ y Java, encontró una vía de elusión confirmada después de que el parche bloqueara el ejemplo original. La prueba muestra por qué bloquear un solo ejemplo puede dejar otra ruta abierta.

La investigación

¿Cómo pueden los evaluadores saber si una reparación de software cierra la vulnerabilidad reportada, en vez de limitarse a bloquear el ejemplo que la orientó?

A menudo, la misma evidencia que guía la reparación también se usa para comprobar el éxito, de modo que superar una prueba puede ocultar otra ruta hacia el mismo fallo.

P2Patch convierte los ataques confirmados contra un parche en nuevos requisitos de reparación y luego comprueba el resultado con pruebas de ataque independientes.

Los investigadores compararon P2Patch con la reparación de una sola pasada basada en el mismo hallazgo, sin un ejemplo de ataque en vivo ni una búsqueda posterior de vías de elusión. Midieron, para cada proyecto, la proporción de pruebas de ataque concluyentes y reservadas que bloqueó el parche, y luego promediaron esa proporción entre proyectos.

En las pruebas que bloquea el arreglo oficial, los promedios fueron 0.847 para P2Patch y 0.781 para la reparación de una sola pasada, entre 101 casos.

En las pruebas que también se reproducen después del arreglo oficial, los promedios fueron 0.625 y 0.421, entre los 40 casos con ese tipo de suite. El orquestador evaluó los resultados de ejecución y los investigadores calcularon estos promedios.

Los dos grupos de pruebas muestran una mayor cobertura medida tanto en las rutas que cierra el arreglo oficial como en las rutas candidatas que deja abiertas.

La búsqueda de ataques tiene un presupuesto fijo, y las suites de pruebas escritas de forma independiente cubren rutas seleccionadas, no todo el espacio de entradas. Por tanto, una ejecución estable o una cobertura medida alta no demuestran que el parche no contenga vulnerabilidades.

Análisis

Detalles

Siguiente paperProfiling reveals capabilities that threat labels miss in agent skills