Dissertação

A Static Analysis-based Platform-as-Service to Improve the Quality of Smart Contracts EVALUATED

A tecnologia Blockchain garante concordância num conjunto de dados desentralizados e imutáveis entre entidades peer-to-peer sem requerer confiança entre os mesmos. Esta tecnologia tem ganhado imensa popularidade e valor financeiro nos últimos anos. Da mesma forma, os smart contracts da rede Ethereum têm seguido o mesmo rumo. Mais de um milhão e meio de smart contracts foram lançados para a rede, nos quais foram encontrados algumas vulnerabilidades sérias. Ataques recentes a explorar estas vulnerabilidades resultaram em perdas financeiras extremas e, devido à imutabilidade dos smart contracts, estas vulnerabilidades são quase impossíveis de serem reparadas. Já foram criados vários analisadores estáticos para smart contracts e o programa SmartBugs foi desenvolvido como uma ferramenta extensível que agrega estes analisares de forma a detetar o maior número de vulnerabilidades antes do contrato ser lançado. Enquanto usam o SmartBugs, os programadores tendem a encontrar-se com uma grande sobrecarga para analisar os relatórios, unificar os resultados e entender as informações providenciadas por esta ferramenta. Nesta dissertação descrevemos o SARIF, um formato padrão para a informação gerada por analisadores estáticos, e também discutimos como convertemos as 11 ferramentas do SmartBugs para este formato. Além disso, programámos o protocolo SASP como um serviço que recebe pedidos de análise, executa a análise e agrega os resultados. Também explicamos a plataforma de desenvolvimento do GitHub como uma possível maneira de automatizar a análise e mostrar os resultados de forma mais intuitiva. O nosso objetivo é a maior adoção de ferramentas de análise estática por parte dos programadores.
Smart Contracts, Static Analysis, SmartBugs, SARIF, SASP, GitHub

novembro 15, 2021, 10:30

Publicação

Obra sujeita a Direitos de Autor

Orientação

ORIENTADOR

Rui Filipe Lima Maranhão de Abreu

Faculdade de Engenharia da Universidade do Porto

Professor Catedratico

ORIENTADOR

João Fernando Peixoto Ferreira

Departamento de Engenharia Informática (DEI)

Professor Auxiliar