DogeFuzz : um framework extensível para estudos de fuzzing na análise dinâmica de Smart Contracts

Detalhes bibliográficos
Autor(a) principal: Medeiros, Ismael Coelho
Data de Publicação: 2023
Tipo de documento: Dissertação
Idioma: por
Título da fonte: Repositório Institucional da UnB
Texto Completo: http://repositorio2.unb.br/jspui/handle/10482/49807
Resumo: Dissertação (Mestrado) — Universidade de Brasília, Instituto de Ciências Exatas, Departamento de Ciência da Computação, 2023.
id UNB_392907f3b01c1ac22b33a456aa7b2150
oai_identifier_str oai:repositorio.unb.br:10482/49807
network_acronym_str UNB
network_name_str Repositório Institucional da UnB
repository_id_str
spelling DogeFuzz : um framework extensível para estudos de fuzzing na análise dinâmica de Smart ContractsSegurança de softwareContratos inteligentesFuzzing (Computação)Software - análiseBlockchainDissertação (Mestrado) — Universidade de Brasília, Instituto de Ciências Exatas, Departamento de Ciência da Computação, 2023.Smart contracts são programas Turing-completo que são executados em uma rede Blockchain. Muitas vezes, este tipo de programa armazena ativos digitais valiosos e em um Blockchain como o Ethereum, o bytecode de cada smart contract está público e transparente, e por isso, pode ser acessado por qualquer um. Isso faz com que este tipo de programa seja alvo constante de ataques e que a segurança de um contrato seja algo crítico. Este trabalho visa apresentar uma ferramenta flexível (chamada DogeFuzz) de forma que seja possível experimentar diferentes técnicas de fuzzing na análise dinâmica de smart contracts. Entre as estratégias de fuzzing existentes, exploramos os benefícios de se utilizar as técnicas de greybox fuzzing e directed greybox fuzzing direcionada a instruções críticas de um smart contract. Foi mostrado, por meio de um experimento com cerca de 300 smart contracts, que estas técnicas conseguiram encontrar vulnerabilidades mais rapidamente que uma estratégia de fuzzing simples como blackbox fuzzing, que gera inputs completamente aleatórios. Além disso, concluímos que uma ferramenta de fuzzing necessita ter tempo para gerar uma quantidade grande de inputs para explorar melhoras as vulnerabilidades existentes nos smart contracts e que novas pesquisas em cima do DogeFuzz devem levar isto em consideração na hora de planejar o experimento. E por fim, foi feita uma análise da relação de métricas (como cobertura, tempo de execução, e instruções críticas executadas) e a detecção de vulnerabilidades, e foi notado que algumas vulnerabilidades possuíam uma certa relação com estas métricas que foram colhidas durante a execução do experimento.Coordenação de Aperfeiçoamento de Pessoal de Nível Superior (CAPES).Smart contracts are Turing-complete programs that run on a Blockchain network. Often, this type of program stores valuable digital assets and on a Blockchain like Ethereum, the bytecode of each smart contract is public and transparent, and therefore can be accessed by anyone. This makes this type of program a constant target of attacks and the security of a contract is something critical. This work aims to present a flexible tool (called DogeFuzz) so that it is possible to experiment with different fuzzing techniques in the dynamic analysis of smart contracts. Among the existing fuzzing strategies, we explore the benefits of using greybox fuzzing and directed greybox fuzzing directed at critical instructions of a smart contract. It was shown, through an experiment with about 300 smart contracts, that these techniques managed to find vulnerabilities faster than a simple fuzzing strategy like blackbox fuzzing, which generates inputs completely random. In addition, we conclude that a fuzzing tool needs to have time to generate a large amount of inputs to better exploit existing vulnerabilities in smart contracts and that further research on DogeFuzz should take this into account when designing the experiment. And finally, an analysis was made of the relationship between metrics (such as coverage, execution time, and critical instructions executed) and the detection of vulnerabilities, and it was noted that some vulnerabilities had a certain relationship with these metrics that were collected during execution of the experiment.Instituto de Ciências Exatas (IE)Departamento de Ciência da Computação (IE CIC)Programa de Pós-Graduação em InformáticaAlmeida, Rodrigo Bonifácio deMedeiros, Ismael Coelho2024-08-13T18:59:12Z2024-08-13T18:59:12Z2024-08-132023-07-07info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdfMEDEIROS, Ismael Coelho. DogeFuzz: um framework extensível para estudos de fuzzing na análise dinâmica de Smart Contracts. 2023. 91 f., il. Dissertação (Mestrado em Informática) — Universidade de Brasília, Brasília, 2023.http://repositorio2.unb.br/jspui/handle/10482/49807porA concessão da licença deste item refere-se ao termo de autorização impresso assinado pelo autor com as seguintes condições: Na qualidade de titular dos direitos de autor da publicação, autorizo a Universidade de Brasília e o IBICT a disponibilizar por meio dos sites www.unb.br, www.ibict.br, www.ndltd.org sem ressarcimento dos direitos autorais, de acordo com a Lei nº 9610/98, o texto integral da obra supracitada, conforme permissões assinaladas, para fins de leitura, impressão e/ou download, a título de divulgação da produção científica brasileira, a partir desta data.info:eu-repo/semantics/openAccessreponame:Repositório Institucional da UnBinstname:Universidade de Brasília (UnB)instacron:UNB2024-08-13T18:59:12Zoai:repositorio.unb.br:10482/49807Repositório InstitucionalPUBhttps://repositorio.unb.br/oai/requestrepositorio@unb.bropendoar:2024-08-13T18:59:12Repositório Institucional da UnB - Universidade de Brasília (UnB)false
dc.title.none.fl_str_mv DogeFuzz : um framework extensível para estudos de fuzzing na análise dinâmica de Smart Contracts
title DogeFuzz : um framework extensível para estudos de fuzzing na análise dinâmica de Smart Contracts
spellingShingle DogeFuzz : um framework extensível para estudos de fuzzing na análise dinâmica de Smart Contracts
Medeiros, Ismael Coelho
Segurança de software
Contratos inteligentes
Fuzzing (Computação)
Software - análise
Blockchain
title_short DogeFuzz : um framework extensível para estudos de fuzzing na análise dinâmica de Smart Contracts
title_full DogeFuzz : um framework extensível para estudos de fuzzing na análise dinâmica de Smart Contracts
title_fullStr DogeFuzz : um framework extensível para estudos de fuzzing na análise dinâmica de Smart Contracts
title_full_unstemmed DogeFuzz : um framework extensível para estudos de fuzzing na análise dinâmica de Smart Contracts
title_sort DogeFuzz : um framework extensível para estudos de fuzzing na análise dinâmica de Smart Contracts
author Medeiros, Ismael Coelho
author_facet Medeiros, Ismael Coelho
author_role author
dc.contributor.none.fl_str_mv Almeida, Rodrigo Bonifácio de
dc.contributor.author.fl_str_mv Medeiros, Ismael Coelho
dc.subject.por.fl_str_mv Segurança de software
Contratos inteligentes
Fuzzing (Computação)
Software - análise
Blockchain
topic Segurança de software
Contratos inteligentes
Fuzzing (Computação)
Software - análise
Blockchain
description Dissertação (Mestrado) — Universidade de Brasília, Instituto de Ciências Exatas, Departamento de Ciência da Computação, 2023.
publishDate 2023
dc.date.none.fl_str_mv 2023-07-07
2024-08-13T18:59:12Z
2024-08-13T18:59:12Z
2024-08-13
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/masterThesis
format masterThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv MEDEIROS, Ismael Coelho. DogeFuzz: um framework extensível para estudos de fuzzing na análise dinâmica de Smart Contracts. 2023. 91 f., il. Dissertação (Mestrado em Informática) — Universidade de Brasília, Brasília, 2023.
http://repositorio2.unb.br/jspui/handle/10482/49807
identifier_str_mv MEDEIROS, Ismael Coelho. DogeFuzz: um framework extensível para estudos de fuzzing na análise dinâmica de Smart Contracts. 2023. 91 f., il. Dissertação (Mestrado em Informática) — Universidade de Brasília, Brasília, 2023.
url http://repositorio2.unb.br/jspui/handle/10482/49807
dc.language.iso.fl_str_mv por
language por
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
dc.source.none.fl_str_mv reponame:Repositório Institucional da UnB
instname:Universidade de Brasília (UnB)
instacron:UNB
instname_str Universidade de Brasília (UnB)
instacron_str UNB
institution UNB
reponame_str Repositório Institucional da UnB
collection Repositório Institucional da UnB
repository.name.fl_str_mv Repositório Institucional da UnB - Universidade de Brasília (UnB)
repository.mail.fl_str_mv repositorio@unb.br
_version_ 1814508344232116224