В данный момент все чаще и чаще ведутся разговоры о применении блокчейн – технологии в различных сферах: коммерческая деятельность, строительство, IT и т.д. Так же блокчейн можно применить и в САПР: благодаря смарт-контрактам можно формировать, контролировать, предоставлять владение информацией. Поэтому важно рассмотреть безопасность смарт-контрактов и их уязвимости.
At the moment, more and more often there are talks about the use of blockchain technology in various fields: commercial activity, construction, IT, etc. Blockchain can also be used in CAD: thanks to smart contracts, it is possible to form, control, using information ownership. Therefore, the security of smart contracts and their vulnerabilities are important.
Ключевые слова: блокчейн, смарт-контракты, информационная безопасность, Ethereum.
Keywords: blockchain, smart contracts, information security, Ethereum.
Каких-то нескольких лет назад о блокчейн – технологии знало малое количество людей. Однако блокчейн уже применяется в финансовом секторе, в банковской сфере, реестре и для осуществления патентов, авторских прав. Так же мы можем использовать блокчейн в САПР. Например, в блоке может находится уникальная информация о чертежах, также какие-то новые алгоритмы размещения, трассировки, компоновки и т.д. В общем и целом, в блоке может находится любая информация, которая важна в САПР.
Что такое блокчейн? Блокчейн – это распределенный реестр, который обеспечивает безопасность и неизменность данных и представляет собой постоянно растущую последовательность блоков. В каждом блоке имеется хэш – сумма, которая высчитывается от всех транзакций, входящих в блок, и именно благодаря ей происходит неизменность данных, т.к. хэш – сумма одного блока зависит от хэш – суммы предыдущего блока. Благодаря данной взаимосвязи невозможно изменить данные внутри самого блокчейна [1].
Смарт – контракт – это, по сути, фрагмент кода, который хранится в блокчейне. Благодаря смарт – контракту имеется возможность читать данные, писать данные в блокчейн.
Одним из самых популярных блокчейн – технологии, которая направлена на работу со смарт – контрактами, является Ethereum. Только за первую половину 2018 года количество смарт – контрактов Ethereum возросло в два раза, в сравнении с 2017 годом. Соответственно, с увеличением количества использования какой – либо технологии возрастает количество новых уязвимостей. Например, благодаря уязвимости контрактов была совершена кража 30 миллионов долларов из Parity и 53 миллиона долларов из DAO. Именно во время проектирования или построения проектов, которые будут использовать смарт-контракты в САПР, нужно обеспечить безопасность информации в смарт – контрактах от шпионажа, взлома и т.д.
Сам код контракта в Ethereum пишется на языке Solidity, после этого происходит его компиляция до байт – кода для вертуальной машины Ethereum [2]. За вычисления, которые производит контракт, разработчик платит узлу некое количество валюты (газа). И имеется прямая связь: чем выше сложность вычисления, тем больше газа оплачивает разработчик.
Для защиты информации у блокчейна имеются базовые методы защиты: Proof of Work и Proof of Stake. Однако имеются уже известные уязвимости, которые нужно учитывать при моделировании и разработки блокчейн – системы для САПР.
#«Состояние гонки». Данная уязвимость заключается в ошибках написания кода, когда возможен повторный вызов внешнего кода, во время выполнения кода контракта. Следовательно, вызовы функции могут взаимодействовать способами, которые ломают логику контракта (рис. 1).2. Ошибка при переполнении типов данных. Переполнение может изменить значение, которую разработчик упустил при моделировании логики контракта (рис. 2).
Таким образом, нужно учитывать возможные уязвимости и слабые места при моделировании и создании системы, использующая блокчейн – технологию, а именно смарт – контракты. Это касается не только для САПР, но и для остальных сфер, где блокчейн может пригодиться для решения внутренних задач. Так же стоит учитывать, что при увеличении количества пользователей и компаний, которые используют смарт – контракты, тем выше шанс выявить злоумышленникам новые дыры и ошибки в информационной безопасности. Зная существующие проблемы, мы можем прогнозировать новые уязвимости, которые имеют места быть, для создания новых методов защиты и обновлении существующих.
1. Уильям Могайар и Виталик Бутерин. Блокчейн для бизнеса / Уильям Могайар. – Москва.: ООО «Издательство «Эксмо», 2018. – 26 с.
2. Как работает Эфириум (Ethereum)? [Электронный ресурс]. 2017. 21 октября. URL: https://habr.com/ru/post/407583 (дата обращения: 01.10.2020).
3. Безопасность и тестирование смарт-контрактов. [Электронный ресурс]. 2017. 01 ноября. URL: https://inaword.ru/blokchejn/bezopasnost-i-testirovanie-smart-kontraktov/ (дата обращения: 02.10.2020).
Текст статьи, опубликованный в сборнике (скачать).