Fuzzing multiplataforma guiado con ejecución concólica
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.
Autor principal: | |
---|---|
Otros Autores: | |
Formato: | bachelorThesis |
Lenguaje: | Español |
Publicado: |
2024
|
Materias: | |
Acceso en línea: | http://hdl.handle.net/11086/552169 |
Aporte de: |
id |
I10-R141-11086-552169 |
---|---|
record_format |
dspace |
spelling |
I10-R141-11086-5521692024-11-29T15:09:27Z Fuzzing multiplataforma guiado con ejecución concólica Aznarez Rojo, Gastón Wolovick, Nicolás Curetti, Maria Gutson, Daniel 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 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. 2024-06-04T15:46:37Z 2024-06-04T15:46:37Z 2023 bachelorThesis http://hdl.handle.net/11086/552169 spa Attribution 4.0 International http://creativecommons.org/licenses/by/4.0/ |
institution |
Universidad Nacional de Córdoba |
institution_str |
I-10 |
repository_str |
R-141 |
collection |
Repositorio Digital Universitario (UNC) |
language |
Español |
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 |
spellingShingle |
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 Aznarez Rojo, Gastón Fuzzing multiplataforma guiado con ejecución concólica |
topic_facet |
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 |
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. |
author2 |
Wolovick, Nicolás |
author_facet |
Wolovick, Nicolás Aznarez Rojo, Gastón |
format |
bachelorThesis |
author |
Aznarez Rojo, Gastón |
author_sort |
Aznarez Rojo, Gastón |
title |
Fuzzing multiplataforma guiado con ejecución concólica |
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 |
publishDate |
2024 |
url |
http://hdl.handle.net/11086/552169 |
work_keys_str_mv |
AT aznarezrojogaston fuzzingmultiplataformaguiadoconejecucionconcolica |
_version_ |
1824552006680838144 |