Dangr: lenguaje declarativo para la búsqueda de vulnerabilidades e indicadores de compromiso usando ejecución simbólica

Autores
Martínez Gavier, Lucía
Año de publicación
2025
Idioma
español castellano
Tipo de recurso
tesis de grado
Estado
versión publicada
Colaborador/a o director/a de tesis
Gutson, Daniel Fernando
D'Argenio, Pedro Ruben
Descripción
Tesis (Lic. en Cs. de la Computación)--Universidad Nacional de Córdoba, Facultad de Matemática, Astronomía, Física y Computación, 2025.
Fil: Martínez Gavier, Lucía. Universidad Nacional de Córdoba. Facultad de Matemática, Astronomía, Física y Computación; Argentina.
En un contexto donde las amenazas a la seguridad informática son cada vez más sofisticadas, detectar vulnerabilidades e indicadores de compromiso es un desafío crítico. Las herramientas utilizadas actualmente para identificar software inseguro, basadas en análisis de firmas, suelen ser insuficientes frente a binarios desconocidos, ofuscaciones y optimizaciones del compilador. Esto resalta la necesidad de enfoques más adaptativos que integren análisis semántico para identificar patrones de comportamiento. En este trabajo se introduce Dangr, un lenguaje declarativo diseñado para la detección de vulnerabilidades y comportamientos sospechosos en binarios, que basa su análisis en la ejecución simbólica. Dangr permite la definición de reglas que combinan propiedades sintácticas y semánticas, lo que facilita la identificación de comportamientos maliciosos incluso en escenarios complejos. El sistema incluye dos componentes principales: un compilador que traduce reglas de Dangr a programas en Python, y una librería de runtime que implementa las primitivas del análisis utilizando el framework angr. Como validación, se estudiaron escenarios como el caso real de evasión de debugging en el backdoor de XZ Utils. Los resultados muestran que Dangr permite implementar detecciones automatizables con alta precisión gracias a la integración de análisis semántico, lo que facilita la identificación de patrones complejos en binarios.
In a context where cybersecurity threats are becoming increasingly sophisticated, detecting vulnerabilities and indicators of compromise is a critical challenge. Current tools for identifying insecure software, which rely on fingerprinting analysis, are often insufficient when faced with unknown binaries, obfuscations and compiler optimizations. This highlights the need for more adaptive approaches that incorporate semantic analysis to identify behavioral patterns. This work introduces Dangr, a declarative language designed for detecting vulnerabilities and suspicious behaviors in binaries, based on symbolic execution. Dangr enables the definition of rules that combine syntactic and semantic properties, facilitating the identification of malicious behaviors even in complex scenarios. The system includes two main components: a compiler that translates Dangr rules into Python programs and a runtime library that implements analysis primitives using the angr framework. As part of the validation process, some scenarios were analyzed, including the real-world case of debugging evasion in the XZ Utils backdoor. The results show that Dangr enables highly precise, automatable detections by integrating semantic analysis, making it easier to identify complex patterns in binaries.
Fil: Martínez Gavier, Lucía. Universidad Nacional de Córdoba. Facultad de Matemática, Astronomía, Física y Computación; Argentina.
Materia
Detección de intrusiones
Anomalías y mitigación de malware
Ejecución simbólica
Ciberseguridad
Análisis semántico
Análisis de binarios
Lenguaje de dominio específico
Intrusion
Anomaly detection and malware mitigation
Cybersecurity
Domain specific language
Nivel de accesibilidad
acceso abierto
Condiciones de uso
Repositorio
Repositorio Digital Universitario (UNC)
Institución
Universidad Nacional de Córdoba
OAI Identificador
oai:rdu.unc.edu.ar:11086/555074

id RDUUNC_dd9258047832b42ca048299a20dd94c4
oai_identifier_str oai:rdu.unc.edu.ar:11086/555074
network_acronym_str RDUUNC
repository_id_str 2572
network_name_str Repositorio Digital Universitario (UNC)
spelling Dangr: lenguaje declarativo para la búsqueda de vulnerabilidades e indicadores de compromiso usando ejecución simbólicaMartínez Gavier, LucíaDetección de intrusionesAnomalías y mitigación de malwareEjecución simbólicaCiberseguridadAnálisis semánticoAnálisis de binariosLenguaje de dominio específicoIntrusionAnomaly detection and malware mitigationCybersecurityDomain specific languageTesis (Lic. en Cs. de la Computación)--Universidad Nacional de Córdoba, Facultad de Matemática, Astronomía, Física y Computación, 2025.Fil: Martínez Gavier, Lucía. Universidad Nacional de Córdoba. Facultad de Matemática, Astronomía, Física y Computación; Argentina.En un contexto donde las amenazas a la seguridad informática son cada vez más sofisticadas, detectar vulnerabilidades e indicadores de compromiso es un desafío crítico. Las herramientas utilizadas actualmente para identificar software inseguro, basadas en análisis de firmas, suelen ser insuficientes frente a binarios desconocidos, ofuscaciones y optimizaciones del compilador. Esto resalta la necesidad de enfoques más adaptativos que integren análisis semántico para identificar patrones de comportamiento. En este trabajo se introduce Dangr, un lenguaje declarativo diseñado para la detección de vulnerabilidades y comportamientos sospechosos en binarios, que basa su análisis en la ejecución simbólica. Dangr permite la definición de reglas que combinan propiedades sintácticas y semánticas, lo que facilita la identificación de comportamientos maliciosos incluso en escenarios complejos. El sistema incluye dos componentes principales: un compilador que traduce reglas de Dangr a programas en Python, y una librería de runtime que implementa las primitivas del análisis utilizando el framework angr. Como validación, se estudiaron escenarios como el caso real de evasión de debugging en el backdoor de XZ Utils. Los resultados muestran que Dangr permite implementar detecciones automatizables con alta precisión gracias a la integración de análisis semántico, lo que facilita la identificación de patrones complejos en binarios.In a context where cybersecurity threats are becoming increasingly sophisticated, detecting vulnerabilities and indicators of compromise is a critical challenge. Current tools for identifying insecure software, which rely on fingerprinting analysis, are often insufficient when faced with unknown binaries, obfuscations and compiler optimizations. This highlights the need for more adaptive approaches that incorporate semantic analysis to identify behavioral patterns. This work introduces Dangr, a declarative language designed for detecting vulnerabilities and suspicious behaviors in binaries, based on symbolic execution. Dangr enables the definition of rules that combine syntactic and semantic properties, facilitating the identification of malicious behaviors even in complex scenarios. The system includes two main components: a compiler that translates Dangr rules into Python programs and a runtime library that implements analysis primitives using the angr framework. As part of the validation process, some scenarios were analyzed, including the real-world case of debugging evasion in the XZ Utils backdoor. The results show that Dangr enables highly precise, automatable detections by integrating semantic analysis, making it easier to identify complex patterns in binaries.Fil: Martínez Gavier, Lucía. Universidad Nacional de Córdoba. Facultad de Matemática, Astronomía, Física y Computación; Argentina.Gutson, Daniel FernandoD'Argenio, Pedro Ruben2025-02-27info:eu-repo/semantics/bachelorThesisinfo:eu-repo/semantics/publishedVersionhttp://purl.org/coar/resource_type/c_7a1finfo:ar-repo/semantics/tesisDeGradoapplication/pdfhttp://hdl.handle.net/11086/555074spainfo:eu-repo/semantics/openAccessreponame:Repositorio Digital Universitario (UNC)instname:Universidad Nacional de Córdobainstacron:UNC2025-09-29T13:41:23Zoai:rdu.unc.edu.ar:11086/555074Institucionalhttps://rdu.unc.edu.ar/Universidad públicaNo correspondehttp://rdu.unc.edu.ar/oai/snrdoca.unc@gmail.comArgentinaNo correspondeNo correspondeNo correspondeopendoar:25722025-09-29 13:41:24.16Repositorio Digital Universitario (UNC) - Universidad Nacional de Córdobafalse
dc.title.none.fl_str_mv Dangr: lenguaje declarativo para la búsqueda de vulnerabilidades e indicadores de compromiso usando ejecución simbólica
title Dangr: lenguaje declarativo para la búsqueda de vulnerabilidades e indicadores de compromiso usando ejecución simbólica
spellingShingle Dangr: lenguaje declarativo para la búsqueda de vulnerabilidades e indicadores de compromiso usando ejecución simbólica
Martínez Gavier, Lucía
Detección de intrusiones
Anomalías y mitigación de malware
Ejecución simbólica
Ciberseguridad
Análisis semántico
Análisis de binarios
Lenguaje de dominio específico
Intrusion
Anomaly detection and malware mitigation
Cybersecurity
Domain specific language
title_short Dangr: lenguaje declarativo para la búsqueda de vulnerabilidades e indicadores de compromiso usando ejecución simbólica
title_full Dangr: lenguaje declarativo para la búsqueda de vulnerabilidades e indicadores de compromiso usando ejecución simbólica
title_fullStr Dangr: lenguaje declarativo para la búsqueda de vulnerabilidades e indicadores de compromiso usando ejecución simbólica
title_full_unstemmed Dangr: lenguaje declarativo para la búsqueda de vulnerabilidades e indicadores de compromiso usando ejecución simbólica
title_sort Dangr: lenguaje declarativo para la búsqueda de vulnerabilidades e indicadores de compromiso usando ejecución simbólica
dc.creator.none.fl_str_mv Martínez Gavier, Lucía
author Martínez Gavier, Lucía
author_facet Martínez Gavier, Lucía
author_role author
dc.contributor.none.fl_str_mv Gutson, Daniel Fernando
D'Argenio, Pedro Ruben
dc.subject.none.fl_str_mv Detección de intrusiones
Anomalías y mitigación de malware
Ejecución simbólica
Ciberseguridad
Análisis semántico
Análisis de binarios
Lenguaje de dominio específico
Intrusion
Anomaly detection and malware mitigation
Cybersecurity
Domain specific language
topic Detección de intrusiones
Anomalías y mitigación de malware
Ejecución simbólica
Ciberseguridad
Análisis semántico
Análisis de binarios
Lenguaje de dominio específico
Intrusion
Anomaly detection and malware mitigation
Cybersecurity
Domain specific language
dc.description.none.fl_txt_mv Tesis (Lic. en Cs. de la Computación)--Universidad Nacional de Córdoba, Facultad de Matemática, Astronomía, Física y Computación, 2025.
Fil: Martínez Gavier, Lucía. Universidad Nacional de Córdoba. Facultad de Matemática, Astronomía, Física y Computación; Argentina.
En un contexto donde las amenazas a la seguridad informática son cada vez más sofisticadas, detectar vulnerabilidades e indicadores de compromiso es un desafío crítico. Las herramientas utilizadas actualmente para identificar software inseguro, basadas en análisis de firmas, suelen ser insuficientes frente a binarios desconocidos, ofuscaciones y optimizaciones del compilador. Esto resalta la necesidad de enfoques más adaptativos que integren análisis semántico para identificar patrones de comportamiento. En este trabajo se introduce Dangr, un lenguaje declarativo diseñado para la detección de vulnerabilidades y comportamientos sospechosos en binarios, que basa su análisis en la ejecución simbólica. Dangr permite la definición de reglas que combinan propiedades sintácticas y semánticas, lo que facilita la identificación de comportamientos maliciosos incluso en escenarios complejos. El sistema incluye dos componentes principales: un compilador que traduce reglas de Dangr a programas en Python, y una librería de runtime que implementa las primitivas del análisis utilizando el framework angr. Como validación, se estudiaron escenarios como el caso real de evasión de debugging en el backdoor de XZ Utils. Los resultados muestran que Dangr permite implementar detecciones automatizables con alta precisión gracias a la integración de análisis semántico, lo que facilita la identificación de patrones complejos en binarios.
In a context where cybersecurity threats are becoming increasingly sophisticated, detecting vulnerabilities and indicators of compromise is a critical challenge. Current tools for identifying insecure software, which rely on fingerprinting analysis, are often insufficient when faced with unknown binaries, obfuscations and compiler optimizations. This highlights the need for more adaptive approaches that incorporate semantic analysis to identify behavioral patterns. This work introduces Dangr, a declarative language designed for detecting vulnerabilities and suspicious behaviors in binaries, based on symbolic execution. Dangr enables the definition of rules that combine syntactic and semantic properties, facilitating the identification of malicious behaviors even in complex scenarios. The system includes two main components: a compiler that translates Dangr rules into Python programs and a runtime library that implements analysis primitives using the angr framework. As part of the validation process, some scenarios were analyzed, including the real-world case of debugging evasion in the XZ Utils backdoor. The results show that Dangr enables highly precise, automatable detections by integrating semantic analysis, making it easier to identify complex patterns in binaries.
Fil: Martínez Gavier, Lucía. Universidad Nacional de Córdoba. Facultad de Matemática, Astronomía, Física y Computación; Argentina.
description Tesis (Lic. en Cs. de la Computación)--Universidad Nacional de Córdoba, Facultad de Matemática, Astronomía, Física y Computación, 2025.
publishDate 2025
dc.date.none.fl_str_mv 2025-02-27
dc.type.none.fl_str_mv info:eu-repo/semantics/bachelorThesis
info:eu-repo/semantics/publishedVersion
http://purl.org/coar/resource_type/c_7a1f
info:ar-repo/semantics/tesisDeGrado
format bachelorThesis
status_str publishedVersion
dc.identifier.none.fl_str_mv http://hdl.handle.net/11086/555074
url http://hdl.handle.net/11086/555074
dc.language.none.fl_str_mv spa
language spa
dc.rights.none.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
dc.source.none.fl_str_mv reponame:Repositorio Digital Universitario (UNC)
instname:Universidad Nacional de Córdoba
instacron:UNC
reponame_str Repositorio Digital Universitario (UNC)
collection Repositorio Digital Universitario (UNC)
instname_str Universidad Nacional de Córdoba
instacron_str UNC
institution UNC
repository.name.fl_str_mv Repositorio Digital Universitario (UNC) - Universidad Nacional de Córdoba
repository.mail.fl_str_mv oca.unc@gmail.com
_version_ 1844618900511129600
score 13.070432