PERCI: Processo de verificação de contratos inteligentes para aplicações IoT
| Ano de defesa: | 2024 |
|---|---|
| Autor(a) principal: | |
| Orientador(a): | |
| Banca de defesa: | |
| Tipo de documento: | Dissertação |
| Tipo de acesso: | Acesso aberto |
| Idioma: | por |
| Instituição de defesa: |
Não Informado pela instituição
|
| Programa de Pós-Graduação: |
Não Informado pela instituição
|
| Departamento: |
Não Informado pela instituição
|
| País: |
Não Informado pela instituição
|
| Área do conhecimento CNPq: | |
| Link de acesso: | http://repositorio.ufc.br/handle/riufc/81175 |
Resumo: | The growth of devices in the Internet of Things (IoT) has brought an increase in the amount of data flowing through the network. As a consequence of that, a reliable environment has became essential to avoid security vulnerabilities. In this scenario, Blockchain emerges as a promising technology to enhance IoT security, enabling decentralized, encrypted, and immutable data registration with the consensus of network participants. Smart contracts are self-executing programs distributed in a Blockchain. In IoT applications that use Blockchain, smart contracts can eliminate the need for intermediaries, allowing for more secure and transparent data transfers between involved parties in a decentralized manner. However, smart contracts are subject to security flaws, mainly caused by programming errors and vulnerabilities in the source code, which can result in financial losses or compromise data integrity, posing risks to users’ privacy and security. Therefore, performing tests with different approaches before deployment can expose errors in the smart contract code and reduce security risks. This work then proposes a process, called PERCI, that defines a set of verification steps for smart contracts in IoT applications to detect known vulnerabilities, using a combination of static and dynamic analysis tools before the contract deployment. The combination of static and dynamic analyses is proposed to improve vulnerability detection, providing a more robust solution. For this, the process uses two static analysis tools, Slither and Mythril, and one dynamic analysis tool, Manticore. PERCI is evaluated, firstly, by demosntrating that the combination of the analyses of each tool resulted in more efficient vulnerability detection, providing a more comprehensive and precise verification of the smart contract code. Additionally, this work integrated a smart contract to register and authenticate devices on the Blockchain with an IoT application that shows weather conditions through colors with a smart lamp. The process evaluation demonstrated the feasibility of using combined static and dynamic analyses for more efficient vulnerability detection. Finally, this dissertation is expected to contribute to improving the security and the reliability of IoT applications that use Blockchain. |
| id |
UFC-7_9b97107a8bdcfd1e118e4e1537122848 |
|---|---|
| oai_identifier_str |
oai:repositorio.ufc.br:riufc/81175 |
| network_acronym_str |
UFC-7 |
| network_name_str |
Repositório Institucional da Universidade Federal do Ceará (UFC) |
| repository_id_str |
|
| spelling |
Alves, Joyce QuintinoOliveira, Carina Teixeira deAndrade, Rossana Maria de Castro2025-06-04T13:59:52Z2025-06-04T13:59:52Z2024ALVES, Joyce Quintino. PERCI: Processo de verificação de Contratos Inteligentes para aplicações IoT. 2025. 81 f. Dissertação (Mestrado em Ciência da Computação) - Universidade Federal do Ceará, Fortaleza, 2024.http://repositorio.ufc.br/handle/riufc/81175The growth of devices in the Internet of Things (IoT) has brought an increase in the amount of data flowing through the network. As a consequence of that, a reliable environment has became essential to avoid security vulnerabilities. In this scenario, Blockchain emerges as a promising technology to enhance IoT security, enabling decentralized, encrypted, and immutable data registration with the consensus of network participants. Smart contracts are self-executing programs distributed in a Blockchain. In IoT applications that use Blockchain, smart contracts can eliminate the need for intermediaries, allowing for more secure and transparent data transfers between involved parties in a decentralized manner. However, smart contracts are subject to security flaws, mainly caused by programming errors and vulnerabilities in the source code, which can result in financial losses or compromise data integrity, posing risks to users’ privacy and security. Therefore, performing tests with different approaches before deployment can expose errors in the smart contract code and reduce security risks. This work then proposes a process, called PERCI, that defines a set of verification steps for smart contracts in IoT applications to detect known vulnerabilities, using a combination of static and dynamic analysis tools before the contract deployment. The combination of static and dynamic analyses is proposed to improve vulnerability detection, providing a more robust solution. For this, the process uses two static analysis tools, Slither and Mythril, and one dynamic analysis tool, Manticore. PERCI is evaluated, firstly, by demosntrating that the combination of the analyses of each tool resulted in more efficient vulnerability detection, providing a more comprehensive and precise verification of the smart contract code. Additionally, this work integrated a smart contract to register and authenticate devices on the Blockchain with an IoT application that shows weather conditions through colors with a smart lamp. The process evaluation demonstrated the feasibility of using combined static and dynamic analyses for more efficient vulnerability detection. Finally, this dissertation is expected to contribute to improving the security and the reliability of IoT applications that use Blockchain.Com o crescimento dos dispositivos na Internet das Coisas (IoT), a quantidade de dados trafegando pela rede aumenta e um ambiente confiável torna-se essencial para evitar vulnerabilidades de segurança. Nesse cenário, a Blockchain surge como uma tecnologia promissora para aprimorar a segurança na IoT, pois possibilita o registro de dados de forma descentralizada, criptografada e imutável, com o consenso dos participantes da rede. Os contratos inteligentes são programas autoexecutáveis distribuídos em uma Blockchain. Nas aplicações de IoT que utilizam Blockchain, os contratos inteligentes podem eliminar a necessidade de intermediários, permitindo transferências de dados mais seguras e transparentes entre as partes envolvidas, de forma descentralizada. Contudo, os contratos inteligentes estão sujeitos a falhas de segurança, causadas principalmente por erros de programação e vulnerabilidades presentes no código-fonte podem resultar, por exemplo, em perdas financeiras ou comprometer a integridade dos dados, causando riscos à privacidade e à segurança dos usuários. Diante disso, realizar testes com diferentes abordagens antes da implantação pode expor erros no código do contrato inteligente e reduzir os riscos de segurança. Este trabalho propõe então um processo, denominado PERCI, que define um conjunto de etapas de verificação de contratos inteligentes para aplicações IoT, a fim de detectar vulnerabilidades conhecidas usando a combinação de ferramentas de análises estática e dinâmica, antes da implantação do contrato inteligente. A combinação de análises estática e dinâmica é proposta para melhorar a detecção de vulnerabilidades, proporcionando uma solução mais robusta. Para isso, utiliza-se no processo duas ferramentas de análise estática, Slither e Mythril, e uma ferramenta de análise dinâmica, Manticore. Para avaliar o PERCI, primeiro, demonstrou-se que a combinação das análises de cada ferramenta teve uma detecção mais eficiente de vulnerabilidades, proporcionando uma verificação mais abrangente e precisa do código dos contratos inteligentes. Além disso, este trabalho integrou um contrato inteligente para registrar e autenticar dispositivos na Blockchain a uma aplicação IoT que representa condições meteorológicas por meio de cores com uma lâmpada inteligente. A avaliação do processo demonstrou a viabilidade do uso combinado de análises estática e dinâmica na detecção mais eficiente de vulnerabilidades. Por fim, espera-se que esta dissertação contribua para a melhoria da segurança e confiabilidade das aplicações IoT que utilizam Blockchain.PERCI: Processo de verificação de contratos inteligentes para aplicações IoTPERCI - Smart Contract Verification Process for IoT applicationsinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisInternet das coisasSegurançaBlockchainContratos inteligentesInternet of thingsSecurityBlockchainSmart contractsCNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAOinfo:eu-repo/semantics/openAccessporreponame:Repositório Institucional da Universidade Federal do Ceará (UFC)instname:Universidade Federal do Ceará (UFC)instacron:UFC0009-0005-0165-5476http://lattes.cnpq.br/7563717731745850http://lattes.cnpq.br/9576713124661835http://lattes.cnpq.br/28935904098257562025-06-04ORIGINAL2024_dis_jqalves.pdf2024_dis_jqalves.pdfapplication/pdf4512977http://repositorio.ufc.br/bitstream/riufc/81175/3/2024_dis_jqalves.pdf091cd17cbcd9749debf30eb22f05bf5fMD53LICENSElicense.txtlicense.txttext/plain; charset=utf-81748http://repositorio.ufc.br/bitstream/riufc/81175/4/license.txt8a4605be74aa9ea9d79846c1fba20a33MD54riufc/811752025-06-04 10:59:53.251oai:repositorio.ufc.br:riufc/81175Tk9URTogUExBQ0UgWU9VUiBPV04gTElDRU5TRSBIRVJFClRoaXMgc2FtcGxlIGxpY2Vuc2UgaXMgcHJvdmlkZWQgZm9yIGluZm9ybWF0aW9uYWwgcHVycG9zZXMgb25seS4KCk5PTi1FWENMVVNJVkUgRElTVFJJQlVUSU9OIExJQ0VOU0UKCkJ5IHNpZ25pbmcgYW5kIHN1Ym1pdHRpbmcgdGhpcyBsaWNlbnNlLCB5b3UgKHRoZSBhdXRob3Iocykgb3IgY29weXJpZ2h0Cm93bmVyKSBncmFudHMgdG8gRFNwYWNlIFVuaXZlcnNpdHkgKERTVSkgdGhlIG5vbi1leGNsdXNpdmUgcmlnaHQgdG8gcmVwcm9kdWNlLAp0cmFuc2xhdGUgKGFzIGRlZmluZWQgYmVsb3cpLCBhbmQvb3IgZGlzdHJpYnV0ZSB5b3VyIHN1Ym1pc3Npb24gKGluY2x1ZGluZwp0aGUgYWJzdHJhY3QpIHdvcmxkd2lkZSBpbiBwcmludCBhbmQgZWxlY3Ryb25pYyBmb3JtYXQgYW5kIGluIGFueSBtZWRpdW0sCmluY2x1ZGluZyBidXQgbm90IGxpbWl0ZWQgdG8gYXVkaW8gb3IgdmlkZW8uCgpZb3UgYWdyZWUgdGhhdCBEU1UgbWF5LCB3aXRob3V0IGNoYW5naW5nIHRoZSBjb250ZW50LCB0cmFuc2xhdGUgdGhlCnN1Ym1pc3Npb24gdG8gYW55IG1lZGl1bSBvciBmb3JtYXQgZm9yIHRoZSBwdXJwb3NlIG9mIHByZXNlcnZhdGlvbi4KCllvdSBhbHNvIGFncmVlIHRoYXQgRFNVIG1heSBrZWVwIG1vcmUgdGhhbiBvbmUgY29weSBvZiB0aGlzIHN1Ym1pc3Npb24gZm9yCnB1cnBvc2VzIG9mIHNlY3VyaXR5LCBiYWNrLXVwIGFuZCBwcmVzZXJ2YXRpb24uCgpZb3UgcmVwcmVzZW50IHRoYXQgdGhlIHN1Ym1pc3Npb24gaXMgeW91ciBvcmlnaW5hbCB3b3JrLCBhbmQgdGhhdCB5b3UgaGF2ZQp0aGUgcmlnaHQgdG8gZ3JhbnQgdGhlIHJpZ2h0cyBjb250YWluZWQgaW4gdGhpcyBsaWNlbnNlLiBZb3UgYWxzbyByZXByZXNlbnQKdGhhdCB5b3VyIHN1Ym1pc3Npb24gZG9lcyBub3QsIHRvIHRoZSBiZXN0IG9mIHlvdXIga25vd2xlZGdlLCBpbmZyaW5nZSB1cG9uCmFueW9uZSdzIGNvcHlyaWdodC4KCklmIHRoZSBzdWJtaXNzaW9uIGNvbnRhaW5zIG1hdGVyaWFsIGZvciB3aGljaCB5b3UgZG8gbm90IGhvbGQgY29weXJpZ2h0LAp5b3UgcmVwcmVzZW50IHRoYXQgeW91IGhhdmUgb2J0YWluZWQgdGhlIHVucmVzdHJpY3RlZCBwZXJtaXNzaW9uIG9mIHRoZQpjb3B5cmlnaHQgb3duZXIgdG8gZ3JhbnQgRFNVIHRoZSByaWdodHMgcmVxdWlyZWQgYnkgdGhpcyBsaWNlbnNlLCBhbmQgdGhhdApzdWNoIHRoaXJkLXBhcnR5IG93bmVkIG1hdGVyaWFsIGlzIGNsZWFybHkgaWRlbnRpZmllZCBhbmQgYWNrbm93bGVkZ2VkCndpdGhpbiB0aGUgdGV4dCBvciBjb250ZW50IG9mIHRoZSBzdWJtaXNzaW9uLgoKSUYgVEhFIFNVQk1JU1NJT04gSVMgQkFTRUQgVVBPTiBXT1JLIFRIQVQgSEFTIEJFRU4gU1BPTlNPUkVEIE9SIFNVUFBPUlRFRApCWSBBTiBBR0VOQ1kgT1IgT1JHQU5JWkFUSU9OIE9USEVSIFRIQU4gRFNVLCBZT1UgUkVQUkVTRU5UIFRIQVQgWU9VIEhBVkUKRlVMRklMTEVEIEFOWSBSSUdIVCBPRiBSRVZJRVcgT1IgT1RIRVIgT0JMSUdBVElPTlMgUkVRVUlSRUQgQlkgU1VDSApDT05UUkFDVCBPUiBBR1JFRU1FTlQuCgpEU1Ugd2lsbCBjbGVhcmx5IGlkZW50aWZ5IHlvdXIgbmFtZShzKSBhcyB0aGUgYXV0aG9yKHMpIG9yIG93bmVyKHMpIG9mIHRoZQpzdWJtaXNzaW9uLCBhbmQgd2lsbCBub3QgbWFrZSBhbnkgYWx0ZXJhdGlvbiwgb3RoZXIgdGhhbiBhcyBhbGxvd2VkIGJ5IHRoaXMKbGljZW5zZSwgdG8geW91ciBzdWJtaXNzaW9uLgo=Repositório InstitucionalPUBhttp://www.repositorio.ufc.br/ri-oai/requestbu@ufc.br || repositorio@ufc.bropendoar:2025-06-04T13:59:53Repositório Institucional da Universidade Federal do Ceará (UFC) - Universidade Federal do Ceará (UFC)false |
| dc.title.pt_BR.fl_str_mv |
PERCI: Processo de verificação de contratos inteligentes para aplicações IoT |
| dc.title.en.pt_BR.fl_str_mv |
PERCI - Smart Contract Verification Process for IoT applications |
| title |
PERCI: Processo de verificação de contratos inteligentes para aplicações IoT |
| spellingShingle |
PERCI: Processo de verificação de contratos inteligentes para aplicações IoT Alves, Joyce Quintino CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO Internet das coisas Segurança Blockchain Contratos inteligentes Internet of things Security Blockchain Smart contracts |
| title_short |
PERCI: Processo de verificação de contratos inteligentes para aplicações IoT |
| title_full |
PERCI: Processo de verificação de contratos inteligentes para aplicações IoT |
| title_fullStr |
PERCI: Processo de verificação de contratos inteligentes para aplicações IoT |
| title_full_unstemmed |
PERCI: Processo de verificação de contratos inteligentes para aplicações IoT |
| title_sort |
PERCI: Processo de verificação de contratos inteligentes para aplicações IoT |
| author |
Alves, Joyce Quintino |
| author_facet |
Alves, Joyce Quintino |
| author_role |
author |
| dc.contributor.co-advisor.none.fl_str_mv |
Oliveira, Carina Teixeira de |
| dc.contributor.author.fl_str_mv |
Alves, Joyce Quintino |
| dc.contributor.advisor1.fl_str_mv |
Andrade, Rossana Maria de Castro |
| contributor_str_mv |
Andrade, Rossana Maria de Castro |
| dc.subject.cnpq.fl_str_mv |
CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO |
| topic |
CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO Internet das coisas Segurança Blockchain Contratos inteligentes Internet of things Security Blockchain Smart contracts |
| dc.subject.ptbr.pt_BR.fl_str_mv |
Internet das coisas Segurança Blockchain Contratos inteligentes |
| dc.subject.en.pt_BR.fl_str_mv |
Internet of things Security Blockchain Smart contracts |
| description |
The growth of devices in the Internet of Things (IoT) has brought an increase in the amount of data flowing through the network. As a consequence of that, a reliable environment has became essential to avoid security vulnerabilities. In this scenario, Blockchain emerges as a promising technology to enhance IoT security, enabling decentralized, encrypted, and immutable data registration with the consensus of network participants. Smart contracts are self-executing programs distributed in a Blockchain. In IoT applications that use Blockchain, smart contracts can eliminate the need for intermediaries, allowing for more secure and transparent data transfers between involved parties in a decentralized manner. However, smart contracts are subject to security flaws, mainly caused by programming errors and vulnerabilities in the source code, which can result in financial losses or compromise data integrity, posing risks to users’ privacy and security. Therefore, performing tests with different approaches before deployment can expose errors in the smart contract code and reduce security risks. This work then proposes a process, called PERCI, that defines a set of verification steps for smart contracts in IoT applications to detect known vulnerabilities, using a combination of static and dynamic analysis tools before the contract deployment. The combination of static and dynamic analyses is proposed to improve vulnerability detection, providing a more robust solution. For this, the process uses two static analysis tools, Slither and Mythril, and one dynamic analysis tool, Manticore. PERCI is evaluated, firstly, by demosntrating that the combination of the analyses of each tool resulted in more efficient vulnerability detection, providing a more comprehensive and precise verification of the smart contract code. Additionally, this work integrated a smart contract to register and authenticate devices on the Blockchain with an IoT application that shows weather conditions through colors with a smart lamp. The process evaluation demonstrated the feasibility of using combined static and dynamic analyses for more efficient vulnerability detection. Finally, this dissertation is expected to contribute to improving the security and the reliability of IoT applications that use Blockchain. |
| publishDate |
2024 |
| dc.date.issued.fl_str_mv |
2024 |
| dc.date.accessioned.fl_str_mv |
2025-06-04T13:59:52Z |
| dc.date.available.fl_str_mv |
2025-06-04T13:59:52Z |
| 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.citation.fl_str_mv |
ALVES, Joyce Quintino. PERCI: Processo de verificação de Contratos Inteligentes para aplicações IoT. 2025. 81 f. Dissertação (Mestrado em Ciência da Computação) - Universidade Federal do Ceará, Fortaleza, 2024. |
| dc.identifier.uri.fl_str_mv |
http://repositorio.ufc.br/handle/riufc/81175 |
| identifier_str_mv |
ALVES, Joyce Quintino. PERCI: Processo de verificação de Contratos Inteligentes para aplicações IoT. 2025. 81 f. Dissertação (Mestrado em Ciência da Computação) - Universidade Federal do Ceará, Fortaleza, 2024. |
| url |
http://repositorio.ufc.br/handle/riufc/81175 |
| 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.source.none.fl_str_mv |
reponame:Repositório Institucional da Universidade Federal do Ceará (UFC) instname:Universidade Federal do Ceará (UFC) instacron:UFC |
| instname_str |
Universidade Federal do Ceará (UFC) |
| instacron_str |
UFC |
| institution |
UFC |
| reponame_str |
Repositório Institucional da Universidade Federal do Ceará (UFC) |
| collection |
Repositório Institucional da Universidade Federal do Ceará (UFC) |
| bitstream.url.fl_str_mv |
http://repositorio.ufc.br/bitstream/riufc/81175/3/2024_dis_jqalves.pdf http://repositorio.ufc.br/bitstream/riufc/81175/4/license.txt |
| bitstream.checksum.fl_str_mv |
091cd17cbcd9749debf30eb22f05bf5f 8a4605be74aa9ea9d79846c1fba20a33 |
| bitstream.checksumAlgorithm.fl_str_mv |
MD5 MD5 |
| repository.name.fl_str_mv |
Repositório Institucional da Universidade Federal do Ceará (UFC) - Universidade Federal do Ceará (UFC) |
| repository.mail.fl_str_mv |
bu@ufc.br || repositorio@ufc.br |
| _version_ |
1847793351372308480 |