Поиск уязвимостей в смарт-контрактах на основе машинного о6учения
- Авторы: Белоус В.С.1, Тарханов И.А.2,3
-
Учреждения:
- Hациональный исследовательский технологический университет «МИСиС»
- Федеральное государственное бюджетное учреждение высшего образования «Государственный академический университет гуманитарных наук»
- Федеральный исследовательский центр «Информатика и управление» Российской академии наук»
- Выпуск: Том 74, № 3 (2024)
- Страницы: 89-102
- Раздел: Управление рисками и безопасностью
- URL: https://journal-vniispk.ru/2079-0279/article/view/293624
- DOI: https://doi.org/10.14357/20790279240310
- EDN: https://elibrary.ru/URZLYI
- ID: 293624
Цитировать
Полный текст
Аннотация
С ростом популярности блокчейн-проектов растет и количество децентрализованных приложений на их основе. Центральным звеном этих приложений являются смарт-контракты. Эта технология еще относительно молода и имеет ряд известных проблем с безопасностью. Статистика взлома смарт-контрактов свидетельствует об актуальности проблемы поиска уязвимостей в коде смарт-контрактов. B статье описано 3 модели машинного обучения для поиска уязвимостей в смарт-контрактах, написанных на языке Solidity. Особое внимание уделяется подготовке датасета для обучения и сравнения с известными анализаторами кода. Полученные по результатам обучения и апробации моделей метрики позволяют утверждать, что модель, состоящая из трех двунаправленных рекуррентных слоев BiGRU и трех сверточных слоев CNN эффективна при поиске уязвимостей смарт-контрактов.
Ключевые слова
Об авторах
Вадим Сергеевич Белоус
Hациональный исследовательский технологический университет«МИСиС»
Email: belous.vadim@inbox.ru
Магистр. Область научных интересов: машинное обучение, блокчейн.
Россия, г. МоскваИван Александрович Тарханов
Федеральное государственное бюджетное учреждение высшего образования «Государственный академический университет гуманитарных наук»; Федеральный исследовательский центр «Информатика и управление» Российской академии наук»
Автор, ответственный за переписку.
Email: tarkhanov@isa.ru
Старший научный сотрудник. Кандидат технических наук, доцент. Область научных интересов: электронный документооборот, блокчейн, информационная безо- пасность.
Россия, г. Москва; г. МоскваСписок литературы
- 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.
- 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
- Huang Y. et al. Smart contract security: A software lifecycle perspective //IEEE Access. 2019. Vol. 7. P. 150184-150202.
- Kiani R., Sheng V.S. Ethereum Smart Contract Vulnerability Detection and Machine Learning-Driven Solutions: A Systematic Literature Review//Electronics. 2024. Vol. 13. No 12. P. 2295.
- Mukhopadhyay M. Ethereum Smart Contract Development: Build blockchain-based decentralized applications using solidity. Packt Publishing Ltd. 2018.
- What Are Smart Contracts and How Do They Work? // chain.link. 2023. URL: https://chain. link/education/smart-contracts (дата обращения: 17.11.2023)
- 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)
- 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)
- 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)
- 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)
- Click C., Paleczny M. A simple graph-based intermediate representation //ACM Sigplan Notices. 1995. Vol. 30. No 3. P. 35-49.
- 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)
- 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)
- Gated Recurrent Unit Networks. // geeksforgeeks. 2023. URL: https://www.geeksforgeeks.org/ gated-recurrent-unit-networks/ (дата обращения: 12.01.2024)
- Crash Course in Convolutional Neural Networks for Machine Learning // machinelearningmastery. 2023. URL: https://machinelearningmastery.com/crash-course-convolutional-neural-networks/ (дата обращения: 12.01.2024)
- 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.P. 3283-3290.
- From cloud data warehouse to an AI-ready data platform. // Google BigQuery. 2024. URL: https:// cloud.google.com/bigquery?hl=ru (дата обращения: 12.01.2024)
- 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 // 2023. URL: https://www.ndss-symposium.org/wp-content/uploads/2023/02/ndss2023_s263_paper. pdf (дата обращения: 17.11.2023)
- 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)
- Text Vectorization layer. // TensorFlow. 2023. URL: https://www.tensorflow.org/api_docs/ python/tf/keras/layers/TextVectorization (дата обращения: 17.11.2023)
- Embedding layer. // TensorFlow. 2023. URL: https://www.tensorflow.org/api_docs/python/ tf/keras/layers/Embedding (дата обращения: 17.11.2023)
- Шолле Ф. Глубокое обучение на Python. СПб.: Питер. 2018. 400 с.
- Жерон О. Прикладное машинное обучение с помощью Scikit-Learn, Keras и TensorFlow: концепции, инструменты и техники для создания интеллектуальных систем. СПб.: ООО «Диалектика». 2020. 1040 с.
- Optimizers Adam. // TensorFlow. 2024. URL: https://www.tensorflow.org/api_docs/python/ tf/keras/optimizers/Adam (дата обращения: 30.03.2024).
- Mythril. Security analysis tool for EVM bytecode // GitHub. 2024. URL: https://github.com/ Consensys/mythril (дата обращения: 30.03.2024)
- sFuzz. // GitHub. 2024. URL: https://github.com/ duytai/sFuzz (дата обращения: 30.03.2024)
- 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)
Дополнительные файлы
