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...
Autores principales: | , |
---|---|
Otros Autores: | |
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 |