Методы и модели системного анализа
Динамические системы
Компьютерный анализ текстов
Информатика сообществ и формирование социальных сетей
Распознавание образов
Управление рисками и безопасностью
В.С. Белоус, И.А. Тарханов "Поиск уязвимостей в смарт-контрактах на основе машинного обучения"
В.С. Белоус, И.А. Тарханов "Поиск уязвимостей в смарт-контрактах на основе машинного обучения"
Аннотация. 

С ростом популярности блокчейн-проектов растет и количество децентрализованных приложений на их основе. Центральным звеном этих приложений являются смарт-контракты. Эта технология ещё относительно молода и имеет ряд известных проблем с безопасностью. Статистика взлома смарт-контрактов свидетельствует о актуальности проблемы поиска уязвимостей в коде смарт контрактов. В статье описано 3 модели машинного обучения для поиска уязвимостей в смарт-контрактах, написанных  на языке Solidity. Особое внимание уделяется подготовке датасета для обучения и сравнению с известными анализаторами кода. Полученные по результатам обучения и апробации моделей метрики позволяют утверждать, что модель, состоящая из трёх двунаправленных рекуррентных слоев BiGRU и трех сверточных слоев CNN эффективна при задаче поиска уязвимостей смарт-контрактов. 

Ключевые слова: 

уязвимость, смарт-контракт, машинное обучение, BiGRU, CNN.


DOI: 10.14357/20790279240310

EDN: URZLYI
Стр. 89-102.

Литература

1. Ray P. P. Web3: A comprehensive review on background, technologies, applications, zero-trust architectures, challenges and future directions //Internet of Things and Cyber-Physical Systems. – 2023.
2. Crypto Hacks 2023: Full List of Scams and Exploits as Millions Go Missing. // ccn.com. 2024. URL: https://www.ccn.com/education/crypto-hacks-2023-full-list-of-scams-and-exploits-as-millions-go-missing
3. Huang Y. et al. Smart contract security: A software lifecycle perspective //IEEE Access. – 2019. – Т. 7. – С. 150184-150202.
4. Kiani R., Sheng V. S. Ethereum Smart Contract Vulnerability Detection and Machine Learning-Driven Solutions: A Systematic Literature Review //Electronics. – 2024. – Т. 13. – №. 12. – С. 2295.
5. Mukhopadhyay M. Ethereum Smart Contract Development: Build blockchain-based decentralized applications using solidity. – Packt Publishing Ltd, 2018.
6. What Are Smart Contracts and How Do They Work? // chain.link. 2023. URL: https://chain.link/education/smart-contracts (дата обращения: 17.11.2023)
7. Wei Z., Sun J., Zhang Z., Zhang X., Yand X., Zhu L. Survey on Quality Assurance of Smart Contracts. // ACM Comput. Surv. 2023. URL: https://arxiv.org/pdf/2311.00270.pdf (дата обращения: 17.11.2023)
8. Harz D., Knottenbelt W. Towards Safer Smart Contracts: A Survey of Languages and Verification Methods. // arXiv:1809.09805. 2018. URL: https://arxiv.org/pdf/1809.09805.pdf (дата обращения: 17.11.2023)
9. Brousmiche K., Abdellatif T. Formal Verification of Smart Contracts Based on Users and Blockchain Behaviors Models. // 9th IFIP International Conference on New Technologies, Mobility and Security. 2018. URL: https://www.researchgate.net/publication/324175498_Formal_Verification_of_Smart_Contracts_Based_on_Users_and_Blockchain_Behaviors_Models (дата обращения: 17.11.2023)
10. He J., Balunovic M., Ambroladze N., Tsankov P., Martin T. Learning to Fuzz from Symbolic Execution with Application to Smart Contracts. // In Proceedings of the 2019 ACM SIGSAC Conference on Computer and Communications Security. 2019. URL: https://dl.acm.org/doi/10.1145/3319535.3363230 (дата обращения: 17.11.2023)
11. Click C., Paleczny M. A simple graph-based intermediate representation //ACM Sigplan Notices. – 1995. – Т. 30. – №. 3. – С. 35-49.
12. Chakraborty S., Krishna R., Ding Y., Ray B. Deep Learning Based Vulnerability Detection: Are We There Yet? // IEEE Transactions on Software Engineering. 2022. URL: https://www.researchgate.net/publication/352279734_Deep_Learning_based_Vulnerability_Detection_Are_We_There_Yet (дата обращения: 17.11.2023)
13. Multilabel Classification: An Introduction with Python’s Scikit-Learn. // KDnuggets. 2023. URL: https://www.kdnuggets.com/2023/08/multilabel-classification-introduction-python-scikitlearn.html (дата обращения: 17.11.2023)
14. Gated Recurrent Unit Networks. // geeksforgeeks. 2023. URL: https://www.geeksforgeeks.org/gated-recurrent-unit-networks/ (дата обращения: 12.01.2024)
15. Crash Course in Convolutional Neural Networks for Machine Learning // machinelearningmastery. 2023. URL: https://machinelearningmastery.com/crash-course-convolutional-neural-networks/ (дата обращения: 12.01.2024)
16. Zhuang Y. et al. Smart contract vulnerability detection using graph neural networks //Proceedings of the Twenty-Ninth International Conference on International Joint Conferences on Artificial Intelligence. – 2021. – С. 3283-3290.
17. From cloud data warehouse to an AI-ready data platform. // Google BigQuery. 2024. URL: https://cloud.google.com/bigquery?hl=ru (дата обращения: 12.01.2024)
18. Sendner C., Chen H., Fereidooni H., Petzi L., König J., Stang J., Dmitrienko A. Smarter Contracts: Detecting Vulnerabilities in Smart Contracts with Deep Transfer Learning // ISBN 1-891562-83-5. 2023. URL: https://www.ndss-symposium.org/wp-content/uploads/2023/02/ndss2023_s263_paper.pdf (дата обращения: 17.11.2023)
19. Zouhar V., Meister C., Gastaldi J., Du L., Sachan M., Cotterell R. Tokenization and the Noiseless Channel. // 2023.acl-long.284. 2023. URL: https://aclanthology.org/2023.acl-long.284 (дата обращения: 17.11.2023)
20. Text Vectorization layer. // TensorFlow. 2023. URL: https://www.tensorflow.org/api_docs/python/tf/keras/layers/TextVectorization (дата обращения: 17.11.2023)
21. Embedding layer. // TensorFlow. 2023. URL: https://www.tensorflow.org/api_docs/python/tf/keras/layers/Embedding (дата обращения: 17.11.2023)
22. Шолле Ф. Глубокое обучение на Python. СПб.: Питер, 2018. 400 с.
23. Жерон О. Прикладное машинное обучение с помощью Scikit-Learn, Keras и TensorFlow: концепции, инструменты и техники для создания интеллектуальных систем. СПб.: ООО «Диалектика», 2020. 1040 с.
24. Optimizers Adam. // TensorFlow. 2024. URL: https://www.tensorflow.org/api_docs/python/tf/keras/optimizers/Adam (дата обращения: 30.03.2024).
25. Mythril. Security analysis tool for EVM bytecode // GitHub. 2024. URL: https://github.com/Consensys/mythril (дата обращения: 30.03.2024)
26. sFuzz. // GitHub. 2024. URL: https://github.com/duytai/sFuzz (дата обращения: 30.03.2024)
27. Wei Z., Sun J., Zhang Z., Zhang X., Li M., Zhu L. A Comparative Evaluation of Automated Analysis Tools for Solidity Smart Contracts. // arXiv:2310.20212v. 2023. URL: https://arxiv.org/pdf/2310.20212 (дата обращения: 17.11.2023)

2025-75-1
2024-74-4
2024-74-3
2024-74-2

© ФИЦ ИУ РАН 2008-2018. Создание сайта "РосИнтернет технологии".