Fuzzing de smart contracts : EchidnaAFL

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 test...

Descripción completa

Detalles Bibliográficos
Autores principales: Rentería, Dago Martín de, Regnier, Melissa
Otros Autores: Galeotti, Juan Pablo
Formato: Tesis de grado publishedVersion
Lenguaje:Español
Publicado: Universidad de Buenos Aires. Facultad de Ciencias Exactas y Naturales 2024
Materias:
Acceso en línea:https://hdl.handle.net/20.500.12110/seminario_nCOM000510_RenteriaRegnier
https://repositoriouba.sisbi.uba.ar/gsdl/cgi-bin/library.cgi?a=d&c=aextesisg&d=seminario_nCOM000510_RenteriaRegnier_oai
Aporte de:
id I28-R145-seminario_nCOM000510_RenteriaRegnier_oai
record_format dspace
spelling I28-R145-seminario_nCOM000510_RenteriaRegnier_oai2024-12-17 Galeotti, Juan Pablo Rentería, Dago Martín de Regnier, Melissa 2024-03-25 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. application/pdf https://hdl.handle.net/20.500.12110/seminario_nCOM000510_RenteriaRegnier spa Universidad de Buenos Aires. Facultad de Ciencias Exactas y Naturales info:eu-repo/semantics/openAccess https://creativecommons.org/licenses/by-nc-sa/2.5/ar ETHEREUM SMART CONTRACTS FUZZING ECHIDNA AFL-FAST FEEDBACK ELECCION DE ELEMENTOS DE CORPUS Fuzzing de smart contracts : EchidnaAFL info:eu-repo/semantics/bachelorThesis info:ar-repo/semantics/tesis de grado info:eu-repo/semantics/publishedVersion https://repositoriouba.sisbi.uba.ar/gsdl/cgi-bin/library.cgi?a=d&c=aextesisg&d=seminario_nCOM000510_RenteriaRegnier_oai
institution Universidad de Buenos Aires
institution_str I-28
repository_str R-145
collection Repositorio Digital de la Universidad de Buenos Aires (UBA)
language Español
orig_language_str_mv spa
topic ETHEREUM
SMART CONTRACTS
FUZZING
ECHIDNA
AFL-FAST
FEEDBACK
ELECCION DE ELEMENTOS DE CORPUS
spellingShingle ETHEREUM
SMART CONTRACTS
FUZZING
ECHIDNA
AFL-FAST
FEEDBACK
ELECCION DE ELEMENTOS DE CORPUS
Rentería, Dago Martín de
Regnier, Melissa
Fuzzing de smart contracts : EchidnaAFL
topic_facet ETHEREUM
SMART CONTRACTS
FUZZING
ECHIDNA
AFL-FAST
FEEDBACK
ELECCION DE ELEMENTOS DE CORPUS
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.
author2 Galeotti, Juan Pablo
author_facet Galeotti, Juan Pablo
Rentería, Dago Martín de
Regnier, Melissa
format Tesis de grado
Tesis de grado
publishedVersion
author Rentería, Dago Martín de
Regnier, Melissa
author_sort Rentería, Dago Martín de
title Fuzzing de smart contracts : EchidnaAFL
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
publisher Universidad de Buenos Aires. Facultad de Ciencias Exactas y Naturales
publishDate 2024
url https://hdl.handle.net/20.500.12110/seminario_nCOM000510_RenteriaRegnier
https://repositoriouba.sisbi.uba.ar/gsdl/cgi-bin/library.cgi?a=d&c=aextesisg&d=seminario_nCOM000510_RenteriaRegnier_oai
work_keys_str_mv AT renteriadagomartinde fuzzingdesmartcontractsechidnaafl
AT regniermelissa fuzzingdesmartcontractsechidnaafl
_version_ 1824952584659533824