На курс монет повлияла публикация миллиардера Илона Маска в Twitter. Основатель Tesla и SpaceX разместил в своем аккаунте картинку с изображением астронавта, который прилетел на Луну и обнаружил там средневековый корабль викингов. Под фигурой астронавта находится подпись «Викинги? Да ладно…», к которой сам Маск добавил «Ага, даже на Луне». Твит отсылает к популярной среди криптотрейдеров фразе «To the Moon! Наибольшей цены после скачка достиг токен Viking Swap — утром 3 ноября он вырос на телеграмм бот bitcoin по сравнению закрытием торгов днем ранее, до 0, доллара.
Создать собственный профиль Процитировано Все Начиная с г. Статистика цитирования h-индекс 5 5 iиндекс 5 5. Общий доступ. Просмотреть все. Stefano Lande University of Cagliari Доказан адресок электронной почты в домене unica. Livio Pompianu Post-doc researcher, University of Cagliari Доказан адресок электронной почты в домене unica. PhD, University of Cagliari. Blockchain smart contracts.
Статьи Процитировано Общий доступ Соавторы. Заглавие Сортировать По числу цитат По году По наименованию. International conference on principles of security and trust, , Статьи 1—8 Показать ещё. Справка Конфиденциальность Условия. Статистика цитирования. A survey of attacks on ethereum smart contracts sok N Atzei, M Bartoletti, T Cimoli International conference on principles of security and trust, , В настоящее время технологии блокчейн находят высочайший спрос в различных сферах.
Обширное применение находят и смарт-контракты, которые записываются в блокчейн. Самую большую популярность на данный момент имеют приложения, написанные с помощью смарт-контрактов на платформе Ethereum. Смарт-контракты, как и обыденные программы, подвержены разным уязвимостям. В статье будут рассмотрены суровые уязвимости, способы и инструменты, которые были наименее освещены в сферах информационной сохранности и IT, но имеющие большой потенциал в области обеспечения сохранности смарт-контрактов.
Основная цель данной статьи заключается в том, чтоб отдать представление о актуальных и суровых уязвимостях в смарт-контрактах Ethereum и на базе актуальных угроз подобрать актуальные способы по обеспечению сохранности смарт-контрактов на платформе Ethereum. Главные слова: смарт-контракт, уязвимости, блокчейн, Ethereum. Komanov P. Currently, blockchain technologies are in high demand in various fields. Smart contracts that are stored in the blockchain are also widely used. The most popular applications at the moment are those made with the help of smart contracts on the Ethereum platform.
Smart contracts, like ordinary programs, are subject to various vulnerabilities. This article discusses serious vulnerabilities, methods and tools that have been less covered in the areas of information security and IT, but have a huge potential in the field of smart contract security. The main purpose of this article is to give an idea of the current and major vulnerabilities of Ethereum smart contracts and, based on the threats, select relevant methods for ensuring the security of smart contracts on the Ethereum platform.
Keywords: smart contract, vulnerabilities, blockchain, Ethereum. Одной из самых фаворитных блокчейн платформ по состоянию на 6 апреля года, исходя из текущей капитализации рынка криптовалют, является Ethereum. Сеть Ethereum способна располагать методы, выраженные на языке программирования общего назначения. Это дозволяет разрабам создавать множество приложений, от обычных кошельков до денежных систем, новейших криптовалют либо систем торговли энергией. Заместо того, чтоб создавать отдельный блокчейн для каждого приложения, можно воплотить множество вариантов использования приложений с помощью технологии, известной как смарт-контракты.
Смарт-контракт представляет собой фрагмент кода, лежащий в блокчейне. Он приводится в действие транзакциями и имеет возможность читать данные либо писать их в блокчейн, а также дозволяет создавать свои токены, которые работают на платформе Ethereum. Код договора пишется на языке программирования Solidity [1]. Язык программирования общего назначения на платформе блокчейн дает возможность для реализации широкого диапазона децентрализованных приложений.
Но, с иной стороны, такие приложения дают возможность злодеям применять их в собственных корыстных целях. В данной для нас работе исследуем известные и обновленные уязвимости в смарт-контрактах платформы Ethereum. Также в работе исследуем способы и инструменты анализа кода сохранности, используемые для выявления уязвимостей и ошибок в смарт-контрактах. Как понятно, данная работа будет неповторимым вкладом в данную область, так как анализ имеющихся инструментов не проводился.
Уязвимости в смарт-контрактах Ethereum. В данном разделе будет дано короткое разъяснение каждой уязвимости системы сохранности. Было принято опустить маленькие тривиальные препядствия в смарт-контрактах Ethereum и сделать основной упор на суровые уязвимости в данной системе. Повторный вход считается суровой уязвимостью, так как была признана наикрупнейшей атакой из когда-либо совершенных взлом от 18 июня года на The DAO [2].
Принцип данной уязвимости заключается на содействии меж 2-мя смарт-контрактами, один из которых является контрактом юзера X и мошеннический договор Y. Договор X выслеживает несколько наружных адресов для получения баланса и извлекает контрольную сумму. Договор Y начинает взаимодействовать с контрактом X , и тем самым договор X передает управление договору Y. Договор X выполняет функцию наружного вызова, для отправки некого количества эфира в договор Y. При этом договор Y может получить несколько возвратов и очистить баланс договора X.
Уязвимость повторного входа можно предотвратить, обеспечив фиксацию логики конфигурации состояния до того, как эфир будет выслан из договора средством наружного вызова. Еще одним хорошим методом может служить, внедрение мьютекса методом прибавления переменной состояния, которая перекрывает договор во время выполнения кода, предотвращая повторные вызовы функций.
Существует много ситуаций, когда исключение может быть вызвано в Solidity, но сам метод обработки этих исключений не постоянно схож. Обработка исключений базирована на взаимодействие меж контрактами [3]. Тем самым контракты уязвимы для атак со стороны злоумышленников, ежели эти исключения не будут обработаны подабающим образом, то транзакции будут отменены.
DoS , вызванная из-за уязвимости наружного вызова. Отказ в обслуживании включает в себя достижение предела газа либо ограниченным лимитом газа [4]. Данная уязвимость имеет высшую оценку критичности по сопоставлению с остальными для платформы Ethereum, в то время как остальные типы приложений могут восстановиться, смарт-контракты могут быть отключены навсегда всего только одной из этих атак.
DoS, вызванная из-за уязвимости наружного вызова, обоснована тем, что когда поток управления передается наружному договору, выполнение договора вызывающего абонента может случаем либо целенаправленно завершиться неудачей, что и вызывает DoS в контракте вызывающего абонента. Также отказ в обслуживании может быть вызван, когда вызываемый договор намеренно вызывает откат транзакции, чтоб нарушить выполнение договора вызывающего абонента.
Безгазовая отправка Gasless send. Уязвимость типа «безгазовая отправка» приводит к сбою транзакции, ежели для определенного вызова не хватает газа [2]. Газ — внутренняя валюта, которую юзер должен заплатить для вызова смарт-контракта. Количество газа зависит от трудности вычислений в смарт-контракте, чем труднее вычисления, тем больше газа придется заплатить.
Наибольший предел газа в сети может изменяться со временем в зависимости от комиссии за транзакцию. Для предотвращения данной уязвимости принципиально сделать исключение, ежели произойдет сбой из-за расхода газа. Не считая того, принципиально создать функции, которые не требуют очень огромного количества газа не лишь с целью предотвращения сбоя, но и с единственной целью понижения издержек на выполнение договора.
Ежели договор употребляет данную функцию для критической проверки, майнер может манипулировать меткой времени в течение пары секунд, при этом изменяя вывод средств в свою пользу [4]. Но эта уязвимость является суровой лишь в том случае, ежели она употребляется в критических проверках компонентов договора.
Внедрение blockhash функции. Внедрение blockhash функции аналогично зависимости временной метки, ее не рекомендуется применять для принципиальных компонентов по той же причине, что и с зависимостью от временной метки, поэтому что майнеры могут манипулировать данными функциями и изменять вывод средств в свою пользу. В особенности это приметно, когда blockhash употребляется как источник случайности. Для того чтоб найти уязвимости в коде приложения, большая часть разрабов приложений употребляют обычные правила по их нахождению.
При тестировании на выявление уязвимостей в приложениях употребляется разные способы, в основном это бывают статические и динамические анализаторы кода. В данной статье речь пойдет о фаззинг тестировании [5]. Самым популярным фаззингом считается способ полупрозрачного ящика либо тестирование сероватого ящика.
Способ сероватого ящика предоставляет доступ к внутренней структуре и методам работы программного обеспечения для предстоящего написания тест-кейсов [6]. Такое тестирование с точки зрения смарт-контрактов часто не отлично. ContractFuzzer — это новый способ фаззинг тестирования темного ящика для смарт-контрактов [7]. Фаззер генерирует тестовые входные данные на базе двоичного интерфейса приложений ABI тестируемого смарт-контракта и сформировывает набор из 7 тестовых оракулов Тест Оракула [8] для обнаружения последующих уязвимостей: безгазовая отправка, повторный вход, зависимость от временной метки, уязвимость наружного вызова.
Фаззер употребляет EVM [2] для регистрации и отслеживания поведения смарт-контрактов по случайным сгенерированным транзакциям, анализирует журнальчики для сообщения о уязвимостях сохранности [5]. Для поддержки неких тестовых оракулов фаззер генерирует доп контракты при нечетком тестировании смарт-контрактов.
Security Vulnerabilities in Ethereum Smart Contracts. Conference Paper. Nov A Survey of Attacks on Ethereum Smart Contracts (SoK). A model of runtime system, the source code of smart contract together with its A Survey of Attacks on Ethereum Smart Contracts (SoK). A survey of attacks on ethereum smart contracts (sok). N Atzei, M Bartoletti, T Cimoli. International conference on principles of security and trust.