Cargando Eventos
Título: «Modelado de funciones propagadoras para taint tracking con CodeQL y GPT-4: una aproximación experimental» 
Director: Víctor Braberman
Director adjunto: Iván Postolski
Jurados: Diego Garbervetsky, Rodolfo Baader
Resumen
———————-
En el análisis estático de programas, el taint tracking se utiliza para detectar vulnerabilidades relacionadas con el flujo de inputs no sanitizados, como lo son las inyecciones de código. CodeQL es una herramienta de data-flow analysis que convierte el código fuente en una base de datos para detectar vulnerabilidades utilizando queries, sin embargo, su eficacia es limitada al utilizar métodos de APIs no contempladas en estas reglas. Este desafío se resuelve agregando modelos que extiendan las queries y especifiquen cómo fluye la información a través de sus parámetros. El proceso de modelado, que identifica las funciones propagadoras, requiere conocimientos especializados en CodeQL y seguridad informática, así como un entendimiento del dominio del problema y el código en cuestión por lo que resulta en una tarea costosa que debe ser abordada por un experto en el área.
Esta tesis estudia si el rol de un humano en el modelado de estas funciones propagadoras puede ser relegado a un modelo de lenguaje (GPT-4). Primero, se propone una taxonomía de los subproblemas del modelado y los distintos tipos de variaciones de información contextual a los que se enfrenta un experto. Adicionalmente, se identifican las competencias que caracterizan a dicho experto. Luego, se analizan estrategias de prompt engineering adecuadas y se recopilan casos relevantes creados por la comunidad para ser utilizados como oráculo. La evaluación empírica muestra que las capacidades de las LLMs aún no alcanzan las de un experto en ciberseguridad, sin embargo, a pesar de las limitaciones de esta técnica, como un contexto de prompting acotado y la falta de garantías teóricas de utilizar IA, se obtuvo un set de casos donde es viable usar al agente. Además, se establecen las bases para futuras investigaciones que extiendan el rol de las LLMs en la detección de vulnerabilidades en el código fuente.
Palabras claves: CodeQL, Taint Tracking, Static Analysis, LLM, GPT4, CWE, API modeling