Professional Documents
Culture Documents
Диплом 2020-1-25
Диплом 2020-1-25
Магістерська дисертація
на здобуття ступеня магістра
за освітньо-професійною програмою «Програмне забезпечення
інформаційно-комунікаційних систем»
зі спеціальності 121 «Інженерія програмного забезпечення»
на тему: «Система статичного аналізу смарт-контрактiв»
Виконав (-ла):
студент (-ка) VІ курсу, групи ІТ-93мп
Ступницький Антон Олексійович __________
Керівник:
професор каф. АУТС, д.т.н,
Корнієнко Богдан Ярославович __________
Рецензент:
доцент каф. ТПЗА, к.т.н.,
Ладієва Леся Ростиславівна __________
ЗАТВЕРДЖУЮ
Завідувач кафедри
_______ Олександр РОЛІК
«___»_____________20__ р.
ЗАВДАННЯ
на магістерську дисертацію студенту
Ступницькому Антону Олексійовичу
The work contains 128 pages, 24 figures, 17 tables. 42 sources were used.
The relevance of the topic is explained by the fact that currently there is a
tendency to increase the number of unauthorized access by criminals to smart contracts.
This leads to the need to optimize and improve the methods of protection of smart
contracts, which are based on the Ethereum platform.
Purpose: development of a static analyzer of smart contracts based on Ethereum
platform.
Objectives of research:
1. Review the subject area and literature on the research topic. Determine the
relevance of ensuring the security of smart contracts;
2. Carry out research on the problem of information security of smart contracts
of the Ethereum platform
3. Develop a static analyzer of smart contracts based on the Ethereum platform
and compare the main characteristics with the characteristics of the existing analogue
of the system
Object of research: the process of securing information security of smart
contracts based on Ethereum platform.
Subject of research: Smart contracts, encouraged on Ethereum platforms.
Research methods: analysis, comparison, statistics, research.
The scientific novelty of the obtained results is the improvement of existing
methods of protection of smart contracts based on the Ethereum platform.
Practical significance of the obtained results: the developed static analyzer can
be used for smart contracts developed on the Ethereum platform.
Approbation of dissertation results. The research results were published at the
X International Scientific and Practical Conference "Winter InfoCom Advanced
Solutions 2020".
Publications. On the topic of the master's dissertation published abstracts on
"The system of static analysis of smart contracts platform Ethereum."
In this paper, the static analysis system of the smart contracts on Ethereum
platform was developed. A review of the literature on the research topic was performed,
the results of which determined the relevance of providing smart contracts. In addition,
the problems of information security of smart contracts of the Ethereum platform are
considered, the results of the review form the requirements for the system, as well as
the relevance of optimizing existing solutions.
The development of a static analyzer is presented, the algorithm of work is built
and testing is performed. The obtained characteristics of the system were compared
with existing analogues of the system, which indicated the advantages of the developed
analyzer over existing analogues.
Keywords: smart contract, information security, protection mechanisms, static
analyzer, algorithm.
8
ЗМІСТ
ВСТУП.......................................................................................................................... 9
1 ОГЛЯД ПРЕДМЕТНОЇ ОБЛАСТІ І ЛІТЕРАТУРИ З ТЕМИ ДОСЛІДЖЕННЯ.
АКТУАЛЬНІСТЬ ЗАБЕЗПЕЧЕННЯ ЗАХИЩЕНОСТІ СМАРТ-КОНТРАКТІВ11
1.1 Поняття смарт-контракту ............................................................................... 11
1.2 Сфери застосування смарт-контрактів.......................................................... 16
1.3 Актуальність забезпечення захищеності смарт контрактів ........................ 24
2 АНАЛІЗ ПРОБЛЕМ ІНФОРМАЦІЙНОЇ БЕЗПЕКИ СМАРТ-КОНТРАКТІВ
ПЛАТФОРМИ ETHEREUM .................................................................................... 28
2.1 Аналіз проблем інформаційної безпеки........................................................ 28
2.2 Існуючі механізми захисту смарт-контрактів .............................................. 36
2.3 Формування вимог до статичного аналізатора ............................................ 40
3 РОЗРОБКА СТАТИЧНОГО АНАЛІЗАТОРА СМАРТ-КОНТРАКТІВ НА БАЗІ
ПЛАТФОРМИ ETHEREUM .................................................................................... 41
3.1 Необхідність оптимізації існуючих рішень.................................................. 41
3.2 Проектування архітектури і алгоритму роботи статичного аналізатора .. 43
3.3 Проектування програмного інтерфейсу........................................................ 48
3.4 Тестування та аналіз отриманих результатів ............................................... 55
4 РОЗРОБЛЕННЯ СТАРТАП-ПРОЕКТУ .............................................................. 59
4.1 Можливості запуску проекту .......................................................................... 60
4.2 Технологічний аудит ....................................................................................... 61
4.3 Розроблення ринкової стратегії проекту ....................................................... 61
4.4 Розроблення маркетингової програми стартап-проекту .............................. 68
4.5 Висновки до розділу ........................................................................................ 70
ВИСНОВКИ ............................................................................................................... 71
ПЕРЕЛІК ПОСИЛАНЬ ............................................................................................. 73
Додаток А. Вихідний код статичного аналізатора................................................. 78
9
ВСТУП
}
Газ є найважливішим компонентом Ethereum і виконує подвійну роль: як
буфер між мінливою ціною Ethereum і винагородою Майнерам за виконану ними
роботу, а також як захист від атак відмови в обслуговуванні.
Щоб запобігти випадкові або зловмисні нескінченні цикли або інші
обчислювальні втрати в мережі, ініціатор кожної транзакції повинен встановити
обмеження на кількість обчислень, за які вони готові платити.
Таким чином, газова система позбавляє зловмисників можливості
відправляти «спамові» транзакції, оскільки вони повинні платити пропорційно
за обчислювальні ресурси, пропускну здатність і ресурси зберігання, які вони
споживають.
Коли EVM необхідний для завершення транзакції, в першому випадку йому
надається подача газу, що дорівнює кількості, яка зазначена лімітом газу в
транзакції. Кожен виконуваний код операції має вартість газу, тому подача газу
EVM скорочується в міру виконання програми EVM. Перед кожною операцією
EVM перевіряє, чи достатньо газу для оплати виконання операції.
Якщо не вистачає газу, виконання зупиняється і транзакція скасовується.
Однак ініціатор транзакції як і раніше платить за весь спожитий газ за вказаною
ціною.
24