Инструменты и способы снижения уязвимости безопасности смарт-контрактов | Статья в журнале «Молодой ученый»

Отправьте статью сегодня! Журнал выйдет 11 мая, печатный экземпляр отправим 15 мая.

Опубликовать статью в журнале

Авторы: ,

Рубрика: Информационные технологии

Опубликовано в Молодой учёный №23 (470) июнь 2023 г.

Дата публикации: 06.06.2023

Статья просмотрена: 19 раз

Библиографическое описание:

Кочергина, Т. Е. Инструменты и способы снижения уязвимости безопасности смарт-контрактов / Т. Е. Кочергина, Я. К. Мурадян. — Текст : непосредственный // Молодой ученый. — 2023. — № 23 (470). — С. 159-161. — URL: https://moluch.ru/archive/470/103775/ (дата обращения: 01.05.2024).



В данной статье авторы исследуют возможные инструменты и способы повышения уровня безопасности блокчейн-сетей с технологией смарт-контрактов.

Ключевые слова: смарт-контракт, блокчейн, безопасность, анализ, атака, транзакция.

Блокчейн — это распределенная база данных, которая хранит информацию обо всех транзакциях, совершенных в сети. Каждый блок содержит информацию о нескольких транзакциях, а затем связывается с предыдущим блоком, создавая цепочку блоков (отсюда и название — блокчейн), схематично он представлен на рисунке 1.

Схема блокчейна

Рис. 1. Схема блокчейна

Изначально блокчейн создавался под криптовалюты, то есть под финансовую сферу. Сейчас же блокчейн можно применить в любой сфере, они удобны и масштабируемы. С быстрым развитием технологий, а также масштабом криптовалютных сетей и увеличением количества пользователей пришло время для применения новых инструментов и алгоритмов для решения проблем недостатка ресурсов и больших затрат на время работы. Одним из таких способов является смарт-контракт.

Смарт-контракты — это программные коды, которые выполняются автоматически при выполнении определенных условий. Они используются в криптовалютных сетях для автоматизации и обеспечения безопасности транзакций. Простыми словами смарт-контракт — это цифровой договор.

Смарт-контракты могут быть использованы для выполнения различных задач, таких как перевод средств, регистрация собственности, оформление страховки и многое другое. Они работают на основе блокчейн-технологии и обеспечивают прозрачность и безопасность транзакций.

Смарт-контракты позволяют уменьшить количество посредников в процессе проведения транзакций, что увеличивает эффективность и автономность и снижает затраты. Они также обеспечивают безопасность, так как все транзакции записываются в блокчейн и не могут быть изменены или удалены.

Однако смарт-контракты также могут быть подвержены уязвимостям и атакам, поэтому необходимо использовать соответствующие меры безопасности при их создании и использовании. Кроме того, необходимо постоянно мониторить смарт-контракты на предмет уязвимостей и обновлять их, чтобы обеспечить безопасность и надежность.

Смарт-контракты, которые работают на блокчейн-сетях, имеют свои проблемы и ограничения. Некоторые из них включают:

  1. Неизменяемость: как только смарт-контракт развернут в блокчейн, его нельзя изменить. Это означает, что если в контракте есть ошибки или уязвимости, то их нельзя исправить, что может привести к потере средств.
  2. Ограниченные возможности: смарт-контракты могут выполнять только те задачи, для которых они были созданы. Они не могут взаимодействовать с внешним миром или использовать данные из других источников.
  3. Необходимость газа: для выполнения смарт-контрактов на блокчейн-сетях требуется газ, что является комиссией за проведение транзакции. Это может привести к высоким затратам на выполнение контракта.
  4. Уязвимости безопасности: смарт-контракты могут содержать уязвимости безопасности, которые могут быть использованы злоумышленниками для получения несанкционированного доступа к данным или к средствам.
  5. Сложность написания: написание смарт-контрактов требует специальных знаний и опыта, что может быть препятствием для многих людей и организаций.

В целом, смарт-контракты имеют большой потенциал, но требуют дальнейшего развития и улучшения, чтобы стать более эффективными и безопасными.

Смарт-контракты могут содержать различные уязвимости безопасности, которые могут привести к серьезным последствиям. Некоторые из наиболее распространенных уязвимостей включают ошибки в коде, недостаточную проверку данных, ошибки в логике контракта, атаки майнинга и уязвимости во внешних библиотеках.

Ошибки в коде могут возникнуть из-за неправильного написания кода, отсутствия проверок на ошибки или неверного понимания требований. Это может привести к потере средств или несанкционированному доступу к данным.

Недостаточная проверка данных может означать, что смарт-контракты могут быть уязвимыми к атакам, если они не проверяют достаточно данных, которые им передаются. Это может привести к несанкционированному доступу к данным или потере средств.

Ошибки в логике контракта могут привести к непредсказуемому поведению смарт-контракта. Например, смарт-контракт может быть уязвимым к атакам, если он не учитывает все возможные сценарии использования.

Уязвимости во внешних библиотеках могут содержать уязвимости безопасности. Это может привести к несанкционированному доступу к данным или потере средств.

Для уменьшения рисков, связанных с уязвимостями смарт-контрактов, необходимо проводить тщательное тестирование и аудит кода, а также использовать лучшие практики безопасности при разработке контрактов. Это включает проверку на ошибки в коде, проверку данных, анализ логики контракта и защиту от атак майнинга.

Типичная атака на блокчейн-сеть — атака на смарт-контракт. Как упоминалось выше, есть различные вариации атак на смарт-контракт, но все они строятся похожим образом — эксплоит смарт-контракта и вывод денег из сети.

Разумеется владельцы и пользователи блокчейн сетей, особенно финансовых или любых других, которые могут выдать личную информацию, не хотят быть участниками такого происшествия. Потери криптовалюты приведут к потере репутации, и впоследствии, к потере пользователей. Никакие блокчейн-сети и их владельцы не будут готовы к такому повороту событий, следовательно, они внедряют всё больше инструментов защиты. Большинство из них не смогут остановить злоумышленника, лишь задержат. И в другой раз атака будет совершена успешна. Значит, нужно принимать превентивные меры по защите.

Одним из таких методов может быть преданализ смарт-контракта (его байт кода). В данном случае будет идти большая гонка за скоростью — у злоумышленника есть преимущество, он знает, что собирается делать. Поэтому декомпилировать контракт не представляется логичным — процесс декомпиляции займет слишком много времени (в среднем декомпиляция контракта занимает около 30 секунд). Полминуты это непозволительно много, когда идет атака на смарт-контракт, желательно уменьшить это время в три, а то и в четыре раза. В таком случае будет несколько вариантов ответа на атаку, например, блокировка пользователя, отказ в транзакции и подобные.

Анализ следует проводить с целью выявления причины написания смарт-контракта, то есть, зачем он был написан, что будет делать и как это изменит конкретный блок, а возможно и всю сеть. Это даст информацию, которую впоследствии можно использовать для аудита и создания автоматизированных инструментов защиты блокчейн-сети, возможно с использованием методов из машинного обучения.

Во время анализа можно обратить внимание на количество функций в контракте, какие именно это функции и насколько они популярны и используемы (в том числе и в других контрактах). Также какие-то куски байт-кода могут оказаться довольно часто используемыми библиотеками, различные open-source (с открытым исходным кодом) будут являться такими. К тому же, можно определить какие действия делал конкретный смарт-контракт, сколько действий он совершил, что даст нам понять, новый это контракт или нет. Более того, следует обратить внимание на источник денег, злоумышленники не будут использовать настоящие деньги, ведь их можно отследить, что является риском для них.

Таким образом, вручную делается частичная декомпиляция, как упоминалось выше, на полную декомпиляцию времени нет. Далее с этой выборкой может работать какая-то моделька.

Рассмотрим один вариант такой работы и это инструмент Spotter от Pessimistic Security, создан в 2023 году. Он используется для мониторинга взломов, то есть предсказывает возможную атаку на конкретный смарт-контракт.

Как работает этот инструмент? Итак, есть какая-то выборка байт кода, сделанная вручную. Отдаём эту выборку модельке и она начинает работать — совершает статистический анализ и делает вывод, опасен ли контракт, что он собирается делать и на кого направлено его действие. Благодаря этому инструменту есть возможность предугадать атаку и предпринять действия, например, заморозить транзакцию, не принимать контракты от конкретного IP-адреса (если этот адрес уже был замечен в злонамеренных действиях ранее), отклонить транзакцию и другие.

В заключении хотелось бы сделать вывод, что инструментов решения с превентивными мерами для блокчейнов немного, поэтому эта сфера будет развиваться. Учитывая популярность блокчейнов и в финансовой, и в нефинансовой сфере, удобство их применения и возможности, которые они могут предоставить, сейчас и в будущем потребуется еще больше инструментов и способов для защиты данных и средств пользователя. Что будет являться большой областью как для теоретического исследования, так и для прикладной части.

Литература:

  1. Что такое смарт контракты на блокчейне // vc.ru URL: https://vc.ru/crypto/373518-chto-takoe-smart-kontrakty-na-blokcheyne (дата обращения: 27.04.2023).
  2. ББ-169: Александр Селезнёв и Евгений Марченко (Pessimistic Security) о безопасности в Ethereum // Базовый блок URL: https://basicblockradio.com/e169/ (дата обращения: 18.05.2023).
  3. Lecture 10.1: Privacy on the Blockchain // youtube URL: https://www.youtube.com/watch?v=rIK5np0V6P0 (дата обращения: 31.03.2023).
  4. Lecture 10.2: Cryptographic Commitments // youtube URL: https://www.youtube.com/watch?v=IkNZWJFcfcU (дата обращения: 31.03.2023).
  5. B-Money: история первой в мире криптовалюты // Хабр URL: https://habr.com/ru/companies/ruvds/articles/558298/ (дата обращения: 18.05.2023).
Основные термины (генерируются автоматически): атака, потеря средств, контракт, уязвимость безопасности, данные, действие, инструмент, логик контракта, недостаточная проверка данных, ошибка.


Похожие статьи

Тенденции безопасности интернет-вещей | Статья в журнале...

В данной статье рассмотрены основные угрозы безопасности, атаки и уязвимости характерные для IoT.

Угроза — это действие, которое использует слабости безопасности в системе и оказывает на

Мало средств защиты от стихийных бедствий, и никто не может предотвратить их.

К сожалению, новые IoT поставляются уже с новым набором угроз безопасности.

Сетевые атаки. Виды. Способы борьбы | Статья в сборнике...

Одной из опасностей для безопасности являются сетевые атаки.

Для начала установим, что такое сетевая атака. Сетевая атака - действие, целью которого является захват контроля

Атака на таблицы переходов с передачей управления. Искажение указателей данных.

Это, однако, приведет к потере данных необходимых для диагностики сетевых сбоев.

Актуальные уязвимости в системах контроля доступа

Несколько атак могут быть успешны, просто используя эту уязвимость.

Например, данные о рождении, в совокупности с именем, могут быть паролем пользователя.

Однако некоторые инструменты для атаки на пароли теперь достаточно компетентны для

конфиденциальных данных, таких как номер кредитной карты или код безопасности, для проверки информации.

Расширения браузеров как средства анализа защищенности...

...использует расширения браузеров как средства для проверки Web-сайтов на уязвимости.

как средства анализа защищенности веб-приложений от CSRF атак / М. Д. Сальников.

с HTTP (без SSL), и т. д. Самым простым способом избежать эту уязвимость безопасности.

недостаточная обработка информации перед включением ее в запросы к базам данных и др.

Способы разрешения споров в сфере смарт-контрактов

Данные хранятся в базе данных, известной как блокчейн, которая эффективно функционирует как регистратор транзакций.

Смарт-контракты могут быть выполнены под псевдонимом.

Это означает, что потенциальные ошибки или уязвимости в

Однако это предполагает, что личности соответствующих участников и поток средств могут быть идентифицированы.

Методы оценки рисков нарушения целостности информации...

Ключевые слова: уязвимость, угроза, риск, информационная безопасность, оценки

модели для исследования методов оценки безопасности средств контроля целостности на рисунке 2.

1) Выбор длинны строки в битах; 2) Выбор алгоритма проверки нарушения целостности

Метод маркирования сообщения позволяет выявить действия злоумышленника.

Способы противодействия нарушению информационной...

Библиографическое описание: Таршхоева, Ж. Т. Способы противодействия нарушению информационной безопасности / Ж. Т. Таршхоева.

 Информационная безопасность — это процесс защиты доступности, конфиденциальности и целостности данных.

Основные виды атак социальной инженерии | Статья в журнале...

На сегодняшний день существует несколько программных средств, позволяющих автоматизировано проводить атаки типа социальной инженерии через Интернет. Рассмотренное средство, может также использоваться и для проверки уровня безопасности на предприятии.

План реагирования на инциденты безопасности

...но на момент обнаружения недостаточно данных, чтобы сделать то или иное заключение.

Разработать стратегию проактивного обнаружения на основе инструментов, которые могут

Реагирование на инциденты безопасности может принимать различные формы.

Определить, были ли похищены или повреждены конфиденциальные данные, и если да, то каков...

Похожие статьи

Тенденции безопасности интернет-вещей | Статья в журнале...

В данной статье рассмотрены основные угрозы безопасности, атаки и уязвимости характерные для IoT.

Угроза — это действие, которое использует слабости безопасности в системе и оказывает на

Мало средств защиты от стихийных бедствий, и никто не может предотвратить их.

К сожалению, новые IoT поставляются уже с новым набором угроз безопасности.

Сетевые атаки. Виды. Способы борьбы | Статья в сборнике...

Одной из опасностей для безопасности являются сетевые атаки.

Для начала установим, что такое сетевая атака. Сетевая атака - действие, целью которого является захват контроля

Атака на таблицы переходов с передачей управления. Искажение указателей данных.

Это, однако, приведет к потере данных необходимых для диагностики сетевых сбоев.

Актуальные уязвимости в системах контроля доступа

Несколько атак могут быть успешны, просто используя эту уязвимость.

Например, данные о рождении, в совокупности с именем, могут быть паролем пользователя.

Однако некоторые инструменты для атаки на пароли теперь достаточно компетентны для

конфиденциальных данных, таких как номер кредитной карты или код безопасности, для проверки информации.

Расширения браузеров как средства анализа защищенности...

...использует расширения браузеров как средства для проверки Web-сайтов на уязвимости.

как средства анализа защищенности веб-приложений от CSRF атак / М. Д. Сальников.

с HTTP (без SSL), и т. д. Самым простым способом избежать эту уязвимость безопасности.

недостаточная обработка информации перед включением ее в запросы к базам данных и др.

Способы разрешения споров в сфере смарт-контрактов

Данные хранятся в базе данных, известной как блокчейн, которая эффективно функционирует как регистратор транзакций.

Смарт-контракты могут быть выполнены под псевдонимом.

Это означает, что потенциальные ошибки или уязвимости в

Однако это предполагает, что личности соответствующих участников и поток средств могут быть идентифицированы.

Методы оценки рисков нарушения целостности информации...

Ключевые слова: уязвимость, угроза, риск, информационная безопасность, оценки

модели для исследования методов оценки безопасности средств контроля целостности на рисунке 2.

1) Выбор длинны строки в битах; 2) Выбор алгоритма проверки нарушения целостности

Метод маркирования сообщения позволяет выявить действия злоумышленника.

Способы противодействия нарушению информационной...

Библиографическое описание: Таршхоева, Ж. Т. Способы противодействия нарушению информационной безопасности / Ж. Т. Таршхоева.

 Информационная безопасность — это процесс защиты доступности, конфиденциальности и целостности данных.

Основные виды атак социальной инженерии | Статья в журнале...

На сегодняшний день существует несколько программных средств, позволяющих автоматизировано проводить атаки типа социальной инженерии через Интернет. Рассмотренное средство, может также использоваться и для проверки уровня безопасности на предприятии.

План реагирования на инциденты безопасности

...но на момент обнаружения недостаточно данных, чтобы сделать то или иное заключение.

Разработать стратегию проактивного обнаружения на основе инструментов, которые могут

Реагирование на инциденты безопасности может принимать различные формы.

Определить, были ли похищены или повреждены конфиденциальные данные, и если да, то каков...

Задать вопрос