Generador de abstracciones de comportamiento para contratos inteligentes mediante fuzzing

Autores
Grinspan, Ian
Año de publicación
2025
Idioma
español castellano
Tipo de recurso
tesis de grado
Estado
versión publicada
Colaborador/a o director/a de tesis
Godoy, Javier Ignacio
Garbervetsky, Diego David
Descripción
Los contratos inteligentes son programas inmutables desplegados en la blockchain, utilizados para gestionar activos digitales y automatizar acuerdos sin intermediarios. Dada la inmutabilidad de su código una vez desplegado y el manejo de recursos de alto valor que emplean, la identificación temprana de errores y vulnerabilidades es crucial para evitar pérdidas económicas y fallos de seguridad. En este trabajo se presenta un enfoque para la generación automática de abstracciones por predicados, aplicada a contratos inteligentes escritos en Solidity para la red Ethereum. A diferencia de herramientas previas que emplean análisis estático, esta propuesta se basa en técnicas de análisis dinámico mediante fuzzing, utilizando la herramienta de código abierto Echidna. El prototipo desarrollado permite explorar el comportamiento de los contratos generando abstracciones que reflejan el estado del contrato y las precondiciones necesarias para la habilitación de sus funciones. Este enfoque permite identificar estados de ejecución no triviales y condiciones que podrían pasar desapercibidas en un análisis manual. Se analizan las ventajas y limitaciones de la herramienta propuesta, comparándola con enfoques previos que emplean analizadores estáticos, y se discuten posibles extensiones para mejorar la eficiencia y precisión del análisis.
Smart contracts are immutable programs deployed on the blockchain, used to manage digital assets and automate agreements without intermediaries. Given the immutability of their code once deployed and the high-value resources they handle, early identification of errors and vulnerabilities is crucial to prevent economic losses and security breaches. This work presents an approach for the automatic generation of predicate-based abstractions applied to smart contracts written in Solidity for the Ethereum network. Unlike previous tools that rely on static analysis, this proposal is based on dynamic analysis techniques through fuzzing, using the open-source tool Echidna. The developed prototype allows for exploring contract behavior by generating abstractions that reflect the contract’s state and the preconditions required to enable its functions. This approach helps identify non-trivial execution states and conditions that might be overlooked in manual analysis. The advantages and limitations of the proposed tool are analyzed, comparing it with previous approaches that use static analyzers, and potential extensions are discussed to improve the efficiency and accuracy of the analysis.
Fil: Grinspan, Ian. Universidad de Buenos Aires. Facultad de Ciencias Exactas y Naturales; Argentina.
Materia
VALIDACION DE SOFTWARE
ANALISIS DINAMICO
FUZZING
ECHIDNA
BLOCKCHAIN
CONTRATOS INTELIGENTES
ETHEREUM
SOLIDITY
ABSTRACCIONES POR PREDICADOS
SOFTWARE VALIDATION
DYNAMIC ANALYSIS
FUZZING
ECHIDNA
BLOCKCHAIN
SMART CONTRACTS
ETHEREUM
SOLIDITY
PREDICATE-BASED ABSTRACTIONS
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_nCOM000843_Grinspan

id BDUBAFCEN_cf9d729da49edd8ff48cacd2c40ba4f8
oai_identifier_str seminario:seminario_nCOM000843_Grinspan
network_acronym_str BDUBAFCEN
repository_id_str 1896
network_name_str Biblioteca Digital (UBA-FCEN)
spelling Generador de abstracciones de comportamiento para contratos inteligentes mediante fuzzingBehavior abstraction generator for smart contracts using a fuzzerGrinspan, IanVALIDACION DE SOFTWAREANALISIS DINAMICOFUZZINGECHIDNABLOCKCHAINCONTRATOS INTELIGENTESETHEREUMSOLIDITYABSTRACCIONES POR PREDICADOSSOFTWARE VALIDATIONDYNAMIC ANALYSISFUZZINGECHIDNABLOCKCHAINSMART CONTRACTSETHEREUMSOLIDITYPREDICATE-BASED ABSTRACTIONSLos contratos inteligentes son programas inmutables desplegados en la blockchain, utilizados para gestionar activos digitales y automatizar acuerdos sin intermediarios. Dada la inmutabilidad de su código una vez desplegado y el manejo de recursos de alto valor que emplean, la identificación temprana de errores y vulnerabilidades es crucial para evitar pérdidas económicas y fallos de seguridad. En este trabajo se presenta un enfoque para la generación automática de abstracciones por predicados, aplicada a contratos inteligentes escritos en Solidity para la red Ethereum. A diferencia de herramientas previas que emplean análisis estático, esta propuesta se basa en técnicas de análisis dinámico mediante fuzzing, utilizando la herramienta de código abierto Echidna. El prototipo desarrollado permite explorar el comportamiento de los contratos generando abstracciones que reflejan el estado del contrato y las precondiciones necesarias para la habilitación de sus funciones. Este enfoque permite identificar estados de ejecución no triviales y condiciones que podrían pasar desapercibidas en un análisis manual. Se analizan las ventajas y limitaciones de la herramienta propuesta, comparándola con enfoques previos que emplean analizadores estáticos, y se discuten posibles extensiones para mejorar la eficiencia y precisión del análisis.Smart contracts are immutable programs deployed on the blockchain, used to manage digital assets and automate agreements without intermediaries. Given the immutability of their code once deployed and the high-value resources they handle, early identification of errors and vulnerabilities is crucial to prevent economic losses and security breaches. This work presents an approach for the automatic generation of predicate-based abstractions applied to smart contracts written in Solidity for the Ethereum network. Unlike previous tools that rely on static analysis, this proposal is based on dynamic analysis techniques through fuzzing, using the open-source tool Echidna. The developed prototype allows for exploring contract behavior by generating abstractions that reflect the contract’s state and the preconditions required to enable its functions. This approach helps identify non-trivial execution states and conditions that might be overlooked in manual analysis. The advantages and limitations of the proposed tool are analyzed, comparing it with previous approaches that use static analyzers, and potential extensions are discussed to improve the efficiency and accuracy of the analysis.Fil: Grinspan, Ian. Universidad de Buenos Aires. Facultad de Ciencias Exactas y Naturales; Argentina.Universidad de Buenos Aires. Facultad de Ciencias Exactas y NaturalesGodoy, Javier IgnacioGarbervetsky, Diego David2025-04-22info: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_nCOM000843_Grinspanspainfo: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-FCEN2026-01-08T10:37:24Zseminario:seminario_nCOM000843_GrinspanInstitucionalhttps://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:18962026-01-08 10:37:25.347Biblioteca Digital (UBA-FCEN) - Universidad Nacional de Buenos Aires. Facultad de Ciencias Exactas y Naturalesfalse
dc.title.none.fl_str_mv Generador de abstracciones de comportamiento para contratos inteligentes mediante fuzzing
Behavior abstraction generator for smart contracts using a fuzzer
title Generador de abstracciones de comportamiento para contratos inteligentes mediante fuzzing
spellingShingle Generador de abstracciones de comportamiento para contratos inteligentes mediante fuzzing
Grinspan, Ian
VALIDACION DE SOFTWARE
ANALISIS DINAMICO
FUZZING
ECHIDNA
BLOCKCHAIN
CONTRATOS INTELIGENTES
ETHEREUM
SOLIDITY
ABSTRACCIONES POR PREDICADOS
SOFTWARE VALIDATION
DYNAMIC ANALYSIS
FUZZING
ECHIDNA
BLOCKCHAIN
SMART CONTRACTS
ETHEREUM
SOLIDITY
PREDICATE-BASED ABSTRACTIONS
title_short Generador de abstracciones de comportamiento para contratos inteligentes mediante fuzzing
title_full Generador de abstracciones de comportamiento para contratos inteligentes mediante fuzzing
title_fullStr Generador de abstracciones de comportamiento para contratos inteligentes mediante fuzzing
title_full_unstemmed Generador de abstracciones de comportamiento para contratos inteligentes mediante fuzzing
title_sort Generador de abstracciones de comportamiento para contratos inteligentes mediante fuzzing
dc.creator.none.fl_str_mv Grinspan, Ian
author Grinspan, Ian
author_facet Grinspan, Ian
author_role author
dc.contributor.none.fl_str_mv Godoy, Javier Ignacio
Garbervetsky, Diego David
dc.subject.none.fl_str_mv VALIDACION DE SOFTWARE
ANALISIS DINAMICO
FUZZING
ECHIDNA
BLOCKCHAIN
CONTRATOS INTELIGENTES
ETHEREUM
SOLIDITY
ABSTRACCIONES POR PREDICADOS
SOFTWARE VALIDATION
DYNAMIC ANALYSIS
FUZZING
ECHIDNA
BLOCKCHAIN
SMART CONTRACTS
ETHEREUM
SOLIDITY
PREDICATE-BASED ABSTRACTIONS
topic VALIDACION DE SOFTWARE
ANALISIS DINAMICO
FUZZING
ECHIDNA
BLOCKCHAIN
CONTRATOS INTELIGENTES
ETHEREUM
SOLIDITY
ABSTRACCIONES POR PREDICADOS
SOFTWARE VALIDATION
DYNAMIC ANALYSIS
FUZZING
ECHIDNA
BLOCKCHAIN
SMART CONTRACTS
ETHEREUM
SOLIDITY
PREDICATE-BASED ABSTRACTIONS
dc.description.none.fl_txt_mv Los contratos inteligentes son programas inmutables desplegados en la blockchain, utilizados para gestionar activos digitales y automatizar acuerdos sin intermediarios. Dada la inmutabilidad de su código una vez desplegado y el manejo de recursos de alto valor que emplean, la identificación temprana de errores y vulnerabilidades es crucial para evitar pérdidas económicas y fallos de seguridad. En este trabajo se presenta un enfoque para la generación automática de abstracciones por predicados, aplicada a contratos inteligentes escritos en Solidity para la red Ethereum. A diferencia de herramientas previas que emplean análisis estático, esta propuesta se basa en técnicas de análisis dinámico mediante fuzzing, utilizando la herramienta de código abierto Echidna. El prototipo desarrollado permite explorar el comportamiento de los contratos generando abstracciones que reflejan el estado del contrato y las precondiciones necesarias para la habilitación de sus funciones. Este enfoque permite identificar estados de ejecución no triviales y condiciones que podrían pasar desapercibidas en un análisis manual. Se analizan las ventajas y limitaciones de la herramienta propuesta, comparándola con enfoques previos que emplean analizadores estáticos, y se discuten posibles extensiones para mejorar la eficiencia y precisión del análisis.
Smart contracts are immutable programs deployed on the blockchain, used to manage digital assets and automate agreements without intermediaries. Given the immutability of their code once deployed and the high-value resources they handle, early identification of errors and vulnerabilities is crucial to prevent economic losses and security breaches. This work presents an approach for the automatic generation of predicate-based abstractions applied to smart contracts written in Solidity for the Ethereum network. Unlike previous tools that rely on static analysis, this proposal is based on dynamic analysis techniques through fuzzing, using the open-source tool Echidna. The developed prototype allows for exploring contract behavior by generating abstractions that reflect the contract’s state and the preconditions required to enable its functions. This approach helps identify non-trivial execution states and conditions that might be overlooked in manual analysis. The advantages and limitations of the proposed tool are analyzed, comparing it with previous approaches that use static analyzers, and potential extensions are discussed to improve the efficiency and accuracy of the analysis.
Fil: Grinspan, Ian. Universidad de Buenos Aires. Facultad de Ciencias Exactas y Naturales; Argentina.
description Los contratos inteligentes son programas inmutables desplegados en la blockchain, utilizados para gestionar activos digitales y automatizar acuerdos sin intermediarios. Dada la inmutabilidad de su código una vez desplegado y el manejo de recursos de alto valor que emplean, la identificación temprana de errores y vulnerabilidades es crucial para evitar pérdidas económicas y fallos de seguridad. En este trabajo se presenta un enfoque para la generación automática de abstracciones por predicados, aplicada a contratos inteligentes escritos en Solidity para la red Ethereum. A diferencia de herramientas previas que emplean análisis estático, esta propuesta se basa en técnicas de análisis dinámico mediante fuzzing, utilizando la herramienta de código abierto Echidna. El prototipo desarrollado permite explorar el comportamiento de los contratos generando abstracciones que reflejan el estado del contrato y las precondiciones necesarias para la habilitación de sus funciones. Este enfoque permite identificar estados de ejecución no triviales y condiciones que podrían pasar desapercibidas en un análisis manual. Se analizan las ventajas y limitaciones de la herramienta propuesta, comparándola con enfoques previos que emplean analizadores estáticos, y se discuten posibles extensiones para mejorar la eficiencia y precisión del análisis.
publishDate 2025
dc.date.none.fl_str_mv 2025-04-22
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_nCOM000843_Grinspan
url https://hdl.handle.net/20.500.12110/seminario_nCOM000843_Grinspan
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_ 1853758085828444160
score 13.25844