Fuzzing de smart contracts : EchidnaAFL

Autores
Rentería, Dago Martín de; Regnier, Melissa
Año de publicación
2024
Idioma
español castellano
Tipo de recurso
tesis de grado
Estado
versión publicada
Colaborador/a o director/a de tesis
Galeotti, Juan Pablo
Descripción
En los últimos años, han cobrado popularidad y gran capital financiero las tecnologías blockchain y en particular Ethereum, que introdujo el concepto de smart contracts que permitió el desarrollo de una gran variedad de proyectos. Esto dio lugar a la investigación y desarrollo de herramienta de testing de smart contracts, en particular fuzzing. En esta tesis, en búsqueda de una herramienta para extender, llevamos a cabo en primer lugar un análisis del state-of-the-art de las herramientas de fuzzing existentes, lo que nos llevó a elegir a Echidna, debido a su popularidad, simpleza de extensión y disponibilidad de código y desarrolladores. En base a esto, realizamos una investigación de reverse-engineering que nos permitió documentar extensamente el algoritmo de Echidna, obteniendo diversos diagramas que disponibilizamos para el uso de la comunidad. Una vez hecho esto, implementamos una versión de Echidna que incorpora conceptos de la herramienta AFL Fast, que asigna energía a los elementos del corpus en función de la frecuencia del camino explorado por cada elemento. Además, implementamos una versión random que asigna energías uniformes para utilizar como testigo en el análisis. Finalmente, mediante el uso de tres distintos benchmarks, comparamos los resultados obtenidos por las tres distintas versiones y concluimos que la adaptación implementada obtiene resultados equivalentes a la original pero con un overhead de tiempo significativo, mientras que la versión random también obtiene resultados similares sin ningún overhead de tiempo. Esto nos lleva a concluir que la estrategia de elección de elementos de corpus no pareciera influir lo suficiente en la eficiencia de la herramienta ya que su comparación con random que representa la elección trivial de elementos de corpus resulta en el mismo nivel de performance. Como trabajo futuro, se pueden seguir explorando los resultados observados haciendo uso de benchmarks más complejos y extensos que permitan otorgarle mayor confianza a lo concluido o incluso proponer nuevas estrategias de feedback utilizando la documentación provista en esta tesis para facilitar el desarrollo.
Fil: Rentería, Dago Martín de. Universidad de Buenos Aires. Facultad de Ciencias Exactas y Naturales; Argentina.
Fil: Regnier, Melissa. Universidad de Buenos Aires. Facultad de Ciencias Exactas y Naturales; Argentina.
Materia
ETHEREUM
SMART CONTRACTS
FUZZING
ECHIDNA
AFL-FAST
FEEDBACK
ELECCION DE ELEMENTOS DE CORPUS
Nivel de accesibilidad
acceso abierto
Condiciones de uso
https://creativecommons.org/licenses/by-nc-sa/2.5/ar
Repositorio
Biblioteca Digital (UBA-FCEN)
Institución
Universidad Nacional de Buenos Aires. Facultad de Ciencias Exactas y Naturales
OAI Identificador
seminario:seminario_nCOM000510_RenteriaRegnier

id BDUBAFCEN_c0aca96170692ae37e013e92e4ea9302
oai_identifier_str seminario:seminario_nCOM000510_RenteriaRegnier
network_acronym_str BDUBAFCEN
repository_id_str 1896
network_name_str Biblioteca Digital (UBA-FCEN)
spelling Fuzzing de smart contracts : EchidnaAFLRentería, Dago Martín deRegnier, MelissaETHEREUMSMART CONTRACTSFUZZINGECHIDNAAFL-FASTFEEDBACKELECCION DE ELEMENTOS DE CORPUSEn los últimos años, han cobrado popularidad y gran capital financiero las tecnologías blockchain y en particular Ethereum, que introdujo el concepto de smart contracts que permitió el desarrollo de una gran variedad de proyectos. Esto dio lugar a la investigación y desarrollo de herramienta de testing de smart contracts, en particular fuzzing. En esta tesis, en búsqueda de una herramienta para extender, llevamos a cabo en primer lugar un análisis del state-of-the-art de las herramientas de fuzzing existentes, lo que nos llevó a elegir a Echidna, debido a su popularidad, simpleza de extensión y disponibilidad de código y desarrolladores. En base a esto, realizamos una investigación de reverse-engineering que nos permitió documentar extensamente el algoritmo de Echidna, obteniendo diversos diagramas que disponibilizamos para el uso de la comunidad. Una vez hecho esto, implementamos una versión de Echidna que incorpora conceptos de la herramienta AFL Fast, que asigna energía a los elementos del corpus en función de la frecuencia del camino explorado por cada elemento. Además, implementamos una versión random que asigna energías uniformes para utilizar como testigo en el análisis. Finalmente, mediante el uso de tres distintos benchmarks, comparamos los resultados obtenidos por las tres distintas versiones y concluimos que la adaptación implementada obtiene resultados equivalentes a la original pero con un overhead de tiempo significativo, mientras que la versión random también obtiene resultados similares sin ningún overhead de tiempo. Esto nos lleva a concluir que la estrategia de elección de elementos de corpus no pareciera influir lo suficiente en la eficiencia de la herramienta ya que su comparación con random que representa la elección trivial de elementos de corpus resulta en el mismo nivel de performance. Como trabajo futuro, se pueden seguir explorando los resultados observados haciendo uso de benchmarks más complejos y extensos que permitan otorgarle mayor confianza a lo concluido o incluso proponer nuevas estrategias de feedback utilizando la documentación provista en esta tesis para facilitar el desarrollo.Fil: Rentería, Dago Martín de. Universidad de Buenos Aires. Facultad de Ciencias Exactas y Naturales; Argentina.Fil: Regnier, Melissa. Universidad de Buenos Aires. Facultad de Ciencias Exactas y Naturales; Argentina.Universidad de Buenos Aires. Facultad de Ciencias Exactas y NaturalesGaleotti, Juan Pablo2024-03-25info:eu-repo/semantics/bachelorThesisinfo:eu-repo/semantics/publishedVersionhttp://purl.org/coar/resource_type/c_7a1finfo:ar-repo/semantics/tesisDeGradoapplication/pdfhttps://hdl.handle.net/20.500.12110/seminario_nCOM000510_RenteriaRegnierspainfo:eu-repo/semantics/openAccesshttps://creativecommons.org/licenses/by-nc-sa/2.5/arreponame:Biblioteca Digital (UBA-FCEN)instname:Universidad Nacional de Buenos Aires. Facultad de Ciencias Exactas y Naturalesinstacron:UBA-FCEN2025-10-16T09:31:08Zseminario:seminario_nCOM000510_RenteriaRegnierInstitucionalhttps://digital.bl.fcen.uba.ar/Universidad públicaNo correspondehttps://digital.bl.fcen.uba.ar/cgi-bin/oaiserver.cgiana@bl.fcen.uba.arArgentinaNo correspondeNo correspondeNo correspondeopendoar:18962025-10-16 09:31:09.141Biblioteca Digital (UBA-FCEN) - Universidad Nacional de Buenos Aires. Facultad de Ciencias Exactas y Naturalesfalse
dc.title.none.fl_str_mv Fuzzing de smart contracts : EchidnaAFL
title Fuzzing de smart contracts : EchidnaAFL
spellingShingle Fuzzing de smart contracts : EchidnaAFL
Rentería, Dago Martín de
ETHEREUM
SMART CONTRACTS
FUZZING
ECHIDNA
AFL-FAST
FEEDBACK
ELECCION DE ELEMENTOS DE CORPUS
title_short Fuzzing de smart contracts : EchidnaAFL
title_full Fuzzing de smart contracts : EchidnaAFL
title_fullStr Fuzzing de smart contracts : EchidnaAFL
title_full_unstemmed Fuzzing de smart contracts : EchidnaAFL
title_sort Fuzzing de smart contracts : EchidnaAFL
dc.creator.none.fl_str_mv Rentería, Dago Martín de
Regnier, Melissa
author Rentería, Dago Martín de
author_facet Rentería, Dago Martín de
Regnier, Melissa
author_role author
author2 Regnier, Melissa
author2_role author
dc.contributor.none.fl_str_mv Galeotti, Juan Pablo
dc.subject.none.fl_str_mv ETHEREUM
SMART CONTRACTS
FUZZING
ECHIDNA
AFL-FAST
FEEDBACK
ELECCION DE ELEMENTOS DE CORPUS
topic ETHEREUM
SMART CONTRACTS
FUZZING
ECHIDNA
AFL-FAST
FEEDBACK
ELECCION DE ELEMENTOS DE CORPUS
dc.description.none.fl_txt_mv En los últimos años, han cobrado popularidad y gran capital financiero las tecnologías blockchain y en particular Ethereum, que introdujo el concepto de smart contracts que permitió el desarrollo de una gran variedad de proyectos. Esto dio lugar a la investigación y desarrollo de herramienta de testing de smart contracts, en particular fuzzing. En esta tesis, en búsqueda de una herramienta para extender, llevamos a cabo en primer lugar un análisis del state-of-the-art de las herramientas de fuzzing existentes, lo que nos llevó a elegir a Echidna, debido a su popularidad, simpleza de extensión y disponibilidad de código y desarrolladores. En base a esto, realizamos una investigación de reverse-engineering que nos permitió documentar extensamente el algoritmo de Echidna, obteniendo diversos diagramas que disponibilizamos para el uso de la comunidad. Una vez hecho esto, implementamos una versión de Echidna que incorpora conceptos de la herramienta AFL Fast, que asigna energía a los elementos del corpus en función de la frecuencia del camino explorado por cada elemento. Además, implementamos una versión random que asigna energías uniformes para utilizar como testigo en el análisis. Finalmente, mediante el uso de tres distintos benchmarks, comparamos los resultados obtenidos por las tres distintas versiones y concluimos que la adaptación implementada obtiene resultados equivalentes a la original pero con un overhead de tiempo significativo, mientras que la versión random también obtiene resultados similares sin ningún overhead de tiempo. Esto nos lleva a concluir que la estrategia de elección de elementos de corpus no pareciera influir lo suficiente en la eficiencia de la herramienta ya que su comparación con random que representa la elección trivial de elementos de corpus resulta en el mismo nivel de performance. Como trabajo futuro, se pueden seguir explorando los resultados observados haciendo uso de benchmarks más complejos y extensos que permitan otorgarle mayor confianza a lo concluido o incluso proponer nuevas estrategias de feedback utilizando la documentación provista en esta tesis para facilitar el desarrollo.
Fil: Rentería, Dago Martín de. Universidad de Buenos Aires. Facultad de Ciencias Exactas y Naturales; Argentina.
Fil: Regnier, Melissa. Universidad de Buenos Aires. Facultad de Ciencias Exactas y Naturales; Argentina.
description En los últimos años, han cobrado popularidad y gran capital financiero las tecnologías blockchain y en particular Ethereum, que introdujo el concepto de smart contracts que permitió el desarrollo de una gran variedad de proyectos. Esto dio lugar a la investigación y desarrollo de herramienta de testing de smart contracts, en particular fuzzing. En esta tesis, en búsqueda de una herramienta para extender, llevamos a cabo en primer lugar un análisis del state-of-the-art de las herramientas de fuzzing existentes, lo que nos llevó a elegir a Echidna, debido a su popularidad, simpleza de extensión y disponibilidad de código y desarrolladores. En base a esto, realizamos una investigación de reverse-engineering que nos permitió documentar extensamente el algoritmo de Echidna, obteniendo diversos diagramas que disponibilizamos para el uso de la comunidad. Una vez hecho esto, implementamos una versión de Echidna que incorpora conceptos de la herramienta AFL Fast, que asigna energía a los elementos del corpus en función de la frecuencia del camino explorado por cada elemento. Además, implementamos una versión random que asigna energías uniformes para utilizar como testigo en el análisis. Finalmente, mediante el uso de tres distintos benchmarks, comparamos los resultados obtenidos por las tres distintas versiones y concluimos que la adaptación implementada obtiene resultados equivalentes a la original pero con un overhead de tiempo significativo, mientras que la versión random también obtiene resultados similares sin ningún overhead de tiempo. Esto nos lleva a concluir que la estrategia de elección de elementos de corpus no pareciera influir lo suficiente en la eficiencia de la herramienta ya que su comparación con random que representa la elección trivial de elementos de corpus resulta en el mismo nivel de performance. Como trabajo futuro, se pueden seguir explorando los resultados observados haciendo uso de benchmarks más complejos y extensos que permitan otorgarle mayor confianza a lo concluido o incluso proponer nuevas estrategias de feedback utilizando la documentación provista en esta tesis para facilitar el desarrollo.
publishDate 2024
dc.date.none.fl_str_mv 2024-03-25
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 https://hdl.handle.net/20.500.12110/seminario_nCOM000510_RenteriaRegnier
url https://hdl.handle.net/20.500.12110/seminario_nCOM000510_RenteriaRegnier
dc.language.none.fl_str_mv spa
language spa
dc.rights.none.fl_str_mv info:eu-repo/semantics/openAccess
https://creativecommons.org/licenses/by-nc-sa/2.5/ar
eu_rights_str_mv openAccess
rights_invalid_str_mv https://creativecommons.org/licenses/by-nc-sa/2.5/ar
dc.format.none.fl_str_mv application/pdf
dc.publisher.none.fl_str_mv Universidad de Buenos Aires. Facultad de Ciencias Exactas y Naturales
publisher.none.fl_str_mv Universidad de Buenos Aires. Facultad de Ciencias Exactas y Naturales
dc.source.none.fl_str_mv reponame:Biblioteca Digital (UBA-FCEN)
instname:Universidad Nacional de Buenos Aires. Facultad de Ciencias Exactas y Naturales
instacron:UBA-FCEN
reponame_str Biblioteca Digital (UBA-FCEN)
collection Biblioteca Digital (UBA-FCEN)
instname_str Universidad Nacional de Buenos Aires. Facultad de Ciencias Exactas y Naturales
instacron_str UBA-FCEN
institution UBA-FCEN
repository.name.fl_str_mv Biblioteca Digital (UBA-FCEN) - Universidad Nacional de Buenos Aires. Facultad de Ciencias Exactas y Naturales
repository.mail.fl_str_mv ana@bl.fcen.uba.ar
_version_ 1846142862716043264
score 12.712165