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.

Detalles Bibliográficos
Autor principal: Aznarez Rojo, Gastón
Otros Autores: Wolovick, Nicolás
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