Fuzzing multiplataforma guiado con ejecución concólica
- Autores
- Aznarez Rojo, Gastón
- Año de publicación
- 2023
- Idioma
- español castellano
- Tipo de recurso
- tesis de grado
- Estado
- versión publicada
- Colaborador/a o director/a de tesis
- Wolovick, Nicolás
Curetti, Maria
Gutson, Daniel - Descripción
- Tesis (Lic. en Ciencias de la Computación)--Universidad Nacional de Córdoba, Facultad de Matemática, Astronomía, Física y Computación, 2023.
Fil: Aznarez Rojo, Gastón. Universidad Nacional de Córdoba. Facultad de Matemática, Astronomía, Física y Computación; Argentina.
Fuzzing o pruebas de Fuzz, es el proceso de encontrar vulnerabilidades de seguridad en programas, dándole como entrada datos inválidos, inesperados o aleatorios. Como este proceso es altamente dependiente de la interfaz de entrada y del entorno de ejecución del sujeto bajo análisis, realizar Fuzzing sobre programas con interfaces complejas y/o entornos de ejecución poco flexibles, se vuelve más complicado y casi inviable. En este trabajo desarrollaremos y analizaremos una herramienta para realizar pruebas de Fuzzing guiado sobre binarios compilados para plataformas foráneas y dependientes del entorno de ejecución. El proceso se lleva a cabo capturando el programa bajo análisis, emulando el mismo y utilizando ejecución simbólica dinámica para generar casos de prueba, con el objetivo de conseguir una mayor cobertura del programa con la menor cantidad de intentos. A su vez, se mostrarán los desafı́os impuestos por la naturaleza del problema, las herramientas utilizadas y la arquitectura del fuzzer. Por último, se puso a prueba la herramienta con un caso de estudio sobre una plataforma especı́fica, para encontrar un error introducido previamente y con el objeto de vulnerar el programa.
Fuzzing, or Fuzz testing, is the process of finding security vulnerabilities in programs by providing invalid, unexpected, or random data as input. Since this process is highly dependent on the input interface and the execution en- vironment of the subject under analysis, performing Fuzzing on programs with complex interfaces and/or inflexible execution environments becomes more com- plicated and almost unfeasible. In this work, we will develop and analyze a tool to perform guided Fuzzing tests on binaries compiled for foreign platforms and dependent on the execution environment. The process is carried out by capturing the program under analysis, emula- ting it, and using dynamic symbolic execution to generate test cases, aiming to achieve greater program coverage with the fewest attempts. Additionally, the challenges imposed by the nature of the problem, the tools used, and the fuzzer architecture will be presented. Finally, the tool was tested with a case study on a specific platform to find a previously introduced bug and to exploit the program.
Fil: Aznarez Rojo, Gastón. Universidad Nacional de Córdoba. Facultad de Matemática, Astronomía, Física y Computación; Argentina. - Materia
-
Seguridad y privacidad
Métodos formales y teoría de seguridad
Lógica y verificación
Emulación
Pruebas de Fuzz
Ejecución simbólica
Security and privacy
Formal methods and theory of security
Logic and verification
Testing
Fuzzing
Fuzz testing - Nivel de accesibilidad
- acceso abierto
- Condiciones de uso
- Repositorio
- Institución
- Universidad Nacional de Córdoba
- OAI Identificador
- oai:rdu.unc.edu.ar:11086/552169
Ver los metadatos del registro completo
id |
RDUUNC_04eafeb0511778af8a0d310b8ae0b857 |
---|---|
oai_identifier_str |
oai:rdu.unc.edu.ar:11086/552169 |
network_acronym_str |
RDUUNC |
repository_id_str |
2572 |
network_name_str |
Repositorio Digital Universitario (UNC) |
spelling |
Fuzzing multiplataforma guiado con ejecución concólicaAznarez Rojo, GastónSeguridad y privacidadMétodos formales y teoría de seguridadLógica y verificaciónEmulaciónPruebas de FuzzEjecución simbólicaSecurity and privacyFormal methods and theory of securityLogic and verificationTestingFuzzingFuzz testingTesis (Lic. en Ciencias de la Computación)--Universidad Nacional de Córdoba, Facultad de Matemática, Astronomía, Física y Computación, 2023.Fil: Aznarez Rojo, Gastón. Universidad Nacional de Córdoba. Facultad de Matemática, Astronomía, Física y Computación; Argentina.Fuzzing o pruebas de Fuzz, es el proceso de encontrar vulnerabilidades de seguridad en programas, dándole como entrada datos inválidos, inesperados o aleatorios. Como este proceso es altamente dependiente de la interfaz de entrada y del entorno de ejecución del sujeto bajo análisis, realizar Fuzzing sobre programas con interfaces complejas y/o entornos de ejecución poco flexibles, se vuelve más complicado y casi inviable. En este trabajo desarrollaremos y analizaremos una herramienta para realizar pruebas de Fuzzing guiado sobre binarios compilados para plataformas foráneas y dependientes del entorno de ejecución. El proceso se lleva a cabo capturando el programa bajo análisis, emulando el mismo y utilizando ejecución simbólica dinámica para generar casos de prueba, con el objetivo de conseguir una mayor cobertura del programa con la menor cantidad de intentos. A su vez, se mostrarán los desafı́os impuestos por la naturaleza del problema, las herramientas utilizadas y la arquitectura del fuzzer. Por último, se puso a prueba la herramienta con un caso de estudio sobre una plataforma especı́fica, para encontrar un error introducido previamente y con el objeto de vulnerar el programa.Fuzzing, or Fuzz testing, is the process of finding security vulnerabilities in programs by providing invalid, unexpected, or random data as input. Since this process is highly dependent on the input interface and the execution en- vironment of the subject under analysis, performing Fuzzing on programs with complex interfaces and/or inflexible execution environments becomes more com- plicated and almost unfeasible. In this work, we will develop and analyze a tool to perform guided Fuzzing tests on binaries compiled for foreign platforms and dependent on the execution environment. The process is carried out by capturing the program under analysis, emula- ting it, and using dynamic symbolic execution to generate test cases, aiming to achieve greater program coverage with the fewest attempts. Additionally, the challenges imposed by the nature of the problem, the tools used, and the fuzzer architecture will be presented. Finally, the tool was tested with a case study on a specific platform to find a previously introduced bug and to exploit the program.Fil: Aznarez Rojo, Gastón. Universidad Nacional de Córdoba. Facultad de Matemática, Astronomía, Física y Computación; Argentina.Wolovick, NicolásCuretti, MariaGutson, Daniel2023info:eu-repo/semantics/bachelorThesisinfo:eu-repo/semantics/publishedVersionhttp://purl.org/coar/resource_type/c_7a1finfo:ar-repo/semantics/tesisDeGradoapplication/pdfhttp://hdl.handle.net/11086/552169spainfo:eu-repo/semantics/openAccessreponame:Repositorio Digital Universitario (UNC)instname:Universidad Nacional de Córdobainstacron:UNC2025-10-16T09:28:01Zoai:rdu.unc.edu.ar:11086/552169Institucionalhttps://rdu.unc.edu.ar/Universidad públicaNo correspondehttp://rdu.unc.edu.ar/oai/snrdoca.unc@gmail.comArgentinaNo correspondeNo correspondeNo correspondeopendoar:25722025-10-16 09:28:01.804Repositorio Digital Universitario (UNC) - Universidad Nacional de Córdobafalse |
dc.title.none.fl_str_mv |
Fuzzing multiplataforma guiado con ejecución concólica |
title |
Fuzzing multiplataforma guiado con ejecución concólica |
spellingShingle |
Fuzzing multiplataforma guiado con ejecución concólica Aznarez Rojo, Gastón Seguridad y privacidad Métodos formales y teoría de seguridad Lógica y verificación Emulación Pruebas de Fuzz Ejecución simbólica Security and privacy Formal methods and theory of security Logic and verification Testing Fuzzing Fuzz testing |
title_short |
Fuzzing multiplataforma guiado con ejecución concólica |
title_full |
Fuzzing multiplataforma guiado con ejecución concólica |
title_fullStr |
Fuzzing multiplataforma guiado con ejecución concólica |
title_full_unstemmed |
Fuzzing multiplataforma guiado con ejecución concólica |
title_sort |
Fuzzing multiplataforma guiado con ejecución concólica |
dc.creator.none.fl_str_mv |
Aznarez Rojo, Gastón |
author |
Aznarez Rojo, Gastón |
author_facet |
Aznarez Rojo, Gastón |
author_role |
author |
dc.contributor.none.fl_str_mv |
Wolovick, Nicolás Curetti, Maria Gutson, Daniel |
dc.subject.none.fl_str_mv |
Seguridad y privacidad Métodos formales y teoría de seguridad Lógica y verificación Emulación Pruebas de Fuzz Ejecución simbólica Security and privacy Formal methods and theory of security Logic and verification Testing Fuzzing Fuzz testing |
topic |
Seguridad y privacidad Métodos formales y teoría de seguridad Lógica y verificación Emulación Pruebas de Fuzz Ejecución simbólica Security and privacy Formal methods and theory of security Logic and verification Testing Fuzzing Fuzz testing |
dc.description.none.fl_txt_mv |
Tesis (Lic. en Ciencias de la Computación)--Universidad Nacional de Córdoba, Facultad de Matemática, Astronomía, Física y Computación, 2023. Fil: Aznarez Rojo, Gastón. Universidad Nacional de Córdoba. Facultad de Matemática, Astronomía, Física y Computación; Argentina. Fuzzing o pruebas de Fuzz, es el proceso de encontrar vulnerabilidades de seguridad en programas, dándole como entrada datos inválidos, inesperados o aleatorios. Como este proceso es altamente dependiente de la interfaz de entrada y del entorno de ejecución del sujeto bajo análisis, realizar Fuzzing sobre programas con interfaces complejas y/o entornos de ejecución poco flexibles, se vuelve más complicado y casi inviable. En este trabajo desarrollaremos y analizaremos una herramienta para realizar pruebas de Fuzzing guiado sobre binarios compilados para plataformas foráneas y dependientes del entorno de ejecución. El proceso se lleva a cabo capturando el programa bajo análisis, emulando el mismo y utilizando ejecución simbólica dinámica para generar casos de prueba, con el objetivo de conseguir una mayor cobertura del programa con la menor cantidad de intentos. A su vez, se mostrarán los desafı́os impuestos por la naturaleza del problema, las herramientas utilizadas y la arquitectura del fuzzer. Por último, se puso a prueba la herramienta con un caso de estudio sobre una plataforma especı́fica, para encontrar un error introducido previamente y con el objeto de vulnerar el programa. Fuzzing, or Fuzz testing, is the process of finding security vulnerabilities in programs by providing invalid, unexpected, or random data as input. Since this process is highly dependent on the input interface and the execution en- vironment of the subject under analysis, performing Fuzzing on programs with complex interfaces and/or inflexible execution environments becomes more com- plicated and almost unfeasible. In this work, we will develop and analyze a tool to perform guided Fuzzing tests on binaries compiled for foreign platforms and dependent on the execution environment. The process is carried out by capturing the program under analysis, emula- ting it, and using dynamic symbolic execution to generate test cases, aiming to achieve greater program coverage with the fewest attempts. Additionally, the challenges imposed by the nature of the problem, the tools used, and the fuzzer architecture will be presented. Finally, the tool was tested with a case study on a specific platform to find a previously introduced bug and to exploit the program. Fil: Aznarez Rojo, Gastón. Universidad Nacional de Córdoba. Facultad de Matemática, Astronomía, Física y Computación; Argentina. |
description |
Tesis (Lic. en Ciencias de la Computación)--Universidad Nacional de Córdoba, Facultad de Matemática, Astronomía, Física y Computación, 2023. |
publishDate |
2023 |
dc.date.none.fl_str_mv |
2023 |
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/552169 |
url |
http://hdl.handle.net/11086/552169 |
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_ |
1846143319070998528 |
score |
12.712165 |