Код доступа: взламывать ли смарт-контракт, чтобы украсть инвестиции? - «Финансы» » Новости Банков
bottom-shape image

Код доступа: взламывать ли смарт-контракт, чтобы украсть инвестиции? - «Финансы»

Код доступа: взламывать ли смарт-контракт, чтобы украсть инвестиции? - «Финансы»






Почему уязвимости в смарт-контрактах очень опасны? На что нужно обратить внимание разработчикам смарт-контрактов на платформе Ethereum, чтобы избежать атак на распределенные организации на блокчейне?


Для начала разберемся с основными понятиями. Что такое DAO и DApp?


Пример DApp – виртуальная рулетка, логика которой целиком описана в смарт-контракте

DApp (Decentralized Application, распределенное приложение) – один или несколько смарт-контрактов, выполняющих функции доверенного лица между участниками или другими смарт-контрактами. Смарт-контракт – это, по сути, программа. Для того чтобы с ней могли взаимодействовать не только программисты, но и участники распределенного приложения, обычно имеется некий интерфейс, предназначенный для работы из Интернета. Пример DApp – виртуальная рулетка, логика которой целиком описана в смарт-контракте: каждый может «прочитать» условия смарт-контракта и убедиться, что казино его не обманывает.


Пример DAO – децентрализованная биржа на смарт-контрактах

DAO (Decentralized Autonomous Organization, распределенная автономная организация) – масса контрактов, описывающих участников организации (инвесторы, работники, потребители и т. д.), а также протокол взаимодействия между ними. В отличие от DApp DAO больше похожа на организацию, чем на сервис. И меньше зависит от людей (на это, собственно, указывает слово «автономная»). Пример DAO – децентрализованная биржа на смарт-контрактах: нет единой точки отказа, комиссии и вывод денег с биржи прописаны в неизменяемом смарт-контракте.


Почему уязвимости в смарт-контрактах опасны?


Если подпись ничего не гарантирует, ею можно заверить все что угодно

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


А в чем минус? Смарт-контракт – это программа. Программы пишут люди, а они могут ошибаться. Например, последняя крупная уязвимость в смарт-контракте MultiSig-кошелька (как раз туда и отправляются все средства инвесторов при ICO, отсюда такие потери) от Parity оставляет замороженными около 300 млн долларов. Хотя средства все еще находятся в кошельках, воспользоваться ими никто не может, поскольку один из разработчиков «убил» контракт-библиотеку, которую все эти кошельки используют, тем самым нарушив логику их работы.


Большой части сообщества это пришлось не по нраву, и была создана альтернативная валюта – Ethereum classic

Неужели ничего нельзя сделать? Можно. Вопрос в том, какой ценой. Широкую известность получил прошлогодний инцидент с TheDAO, когда разработчики выпустили новую версию клиента (кошелька) для Сети, в которой, грубо говоря, было прописано, что никто ничего не украл. Это стало прямым нарушением принципа неизменяемости блокчейна. Большой части сообщества это пришлось не по нраву, и была создана альтернативная валюта – Ethereum classic, развивающаяся и поныне.


Векторы атак


Взламывая смарт-контракт, злоумышленник получает прямой доступ к средствам. Однако фокусирование внимания только на нем может стать фатальной ошибкой. Здесь есть варианты. Как уже упоминалось, для взаимодействия со смарт-контрактом нужен некий интерфейс. И в этом плане пока нет варианта проще, чем веб-сайт. Поэтому для таких интерфейсов актуальны все те же атаки и уязвимости, что и для обычных веб-сайтов, которые вы посещаете каждый день.


Даже если на сайте нет никаких кнопок для совершения трансакций, а всего лишь записан адрес для ICO, такой веб-сайт также нужно относить к разряду интерфейсов (может быть, даже больше, чем другие).


Вот типичные векторы атак, реально или потенциально используемых с целью подмены адреса для ICO

Вот типичные векторы атак, реально или потенциально используемых с целью подмены адреса для ICO:


  • Фишинг – поддельный сайт, как две капли воды похожий на оригинал, с одним исключением: оригинальный адрес заменен адресом злоумышленника.
  • XSS – внедрение jаvascript-кода на страницу. Если злоумышленник может выполнять свой js-код на странице другого пользователя, то он способен делать все то же самое, что и пользователь. И даже больше – например, подменить какую-то информацию на странице.
  • Site Defacement – сайт уже взломан через одну из десятков различных уязвимостей, и если злоумышленник захватил управление бэк-эндом, он может контролировать всё, что видят пользователи на странице, в том числе и тот самый адрес.
  • Слабые пароли – стойкий пароль необходим не только аккаунту хостинг-провайдера, на котором крутится сайт, но и для защиты аккаунтов в соцсетях, смежной инфраструктуры компании, личных компьютеров разработчиков, директоров, PR-службы и т. д. Все эти узлы являются доверенными, и информации, поступающей от них, верят многие пользователи, даже когда она является противоречивой.

Digital Security удалось на практике продемонстрировать наличие опасных проблем в смарт-контрактах через реализацию собственного проекта «хакерского» ICO. Это не совсем обычное ICO прошло перед конференцией по кибербезопасности ZeroNights 2017. Мы не ставили целью привлечение средств, хотя в пересчете на фиатные деньги и собрали 32 тыс. долларов. Основная идея проекта заключалась в том, что в нашем ICO могли принять участие только хакеры, которые должны были его взломать. Чтобы получить возможность покупать HACK-коины, участникам ICO нужно было проэксплуатировать несколько уязвимостей и в самом смарт-контракте, и в интерфейсе. В итоге купить коины смогли как минимум пять человек. Тройка первых за свои коины получила приглашения на конференцию ZeroNights 2017.


Как защититься?


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


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


  • Следование лучшим практикам при написании смарт-контрактов и заимствование чужого кода, прошедшего «боевую» проверку.
  • Проведение аудита кода. Цена ошибки слишком высока, а исправить ее может быть невозможно или слишком поздно.
  • Проведение открытых программ по поиску уязвимостей – очень хорошая идея, в том числе потому, что награду можно назначить в коинах, которые будет выпускать данный контракт (если речь про ICO).

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


Почему уязвимости в смарт-контрактах очень опасны? На что нужно обратить внимание разработчикам смарт-контрактов на платформе Ethereum, чтобы избежать атак на распределенные организации на блокчейне? Для начала разберемся с основными понятиями. Что такое DAO и DApp? Пример DApp – виртуальная рулетка, логика которой целиком описана в смарт-контракте DApp (Decentralized Application, распределенное приложение) – один или несколько смарт-контрактов, выполняющих функции доверенного лица между участниками или другими смарт-контрактами. Смарт-контракт – это, по сути, программа. Для того чтобы с ней могли взаимодействовать не только программисты, но и участники распределенного приложения, обычно имеется некий интерфейс, предназначенный для работы из Интернета. Пример DApp – виртуальная рулетка, логика которой целиком описана в смарт-контракте: каждый может «прочитать» условия смарт-контракта и убедиться, что казино его не обманывает. Пример DAO – децентрализованная биржа на смарт-контрактах DAO (Decentralized Autonomous Organization, распределенная автономная организация) – масса контрактов, описывающих участников организации (инвесторы, работники, потребители и т. д.), а также протокол взаимодействия между ними. В отличие от DApp DAO больше похожа на организацию, чем на сервис. И меньше зависит от людей (на это, собственно, указывает слово «автономная»). Пример DAO – децентрализованная биржа на смарт-контрактах: нет единой точки отказа, комиссии и вывод денег с биржи прописаны в неизменяемом смарт-контракте. Почему уязвимости в смарт-контрактах опасны? Если подпись ничего не гарантирует, ею можно заверить все что угодно Неизменяемость смарт-контрактов следует из неизменяемости самого блокчейна, в котором они хранятся. Это свойство одновременно является и плюсом, и минусом. Положительный момент заключается в том, что невозможность вносить изменения в смарт-контракт обеспечивает доверие участников сделки друг к другу. Никто в здравом уме не подпишется на условия, которые могут в любой момент измениться. Обратное тоже верно: если подпись ничего не гарантирует, ею можно заверить все что угодно. А в чем минус? Смарт-контракт – это программа. Программы пишут люди, а они могут ошибаться. Например, последняя крупная уязвимость в смарт-контракте MultiSig-кошелька (как раз туда и отправляются все средства инвесторов при ICO, отсюда такие потери) от Parity оставляет замороженными около 300 млн долларов. Хотя средства все еще находятся в кошельках, воспользоваться ими никто не может, поскольку один из разработчиков «убил» контракт-библиотеку, которую все эти кошельки используют, тем самым нарушив логику их работы. Большой части сообщества это пришлось не по нраву, и была создана альтернативная валюта – Ethereum classic Неужели ничего нельзя сделать? Можно. Вопрос в том, какой ценой. Широкую известность получил прошлогодний инцидент с TheDAO, когда разработчики выпустили новую версию клиента (кошелька) для Сети, в которой, грубо говоря, было прописано, что никто ничего не украл. Это стало прямым нарушением принципа неизменяемости блокчейна. Большой части сообщества это пришлось не по нраву, и была создана альтернативная валюта – Ethereum classic, развивающаяся и поныне. Векторы атак Взламывая смарт-контракт, злоумышленник получает прямой доступ к средствам. Однако фокусирование внимания только на нем может стать фатальной ошибкой. Здесь есть варианты. Как уже упоминалось, для взаимодействия со смарт-контрактом нужен некий интерфейс. И в этом плане пока нет варианта проще, чем веб-сайт. Поэтому для таких интерфейсов актуальны все те же атаки и уязвимости, что и для обычных веб-сайтов, которые вы посещаете каждый день. Даже если на сайте нет никаких кнопок для совершения трансакций, а всего лишь записан адрес для ICO, такой веб-сайт также нужно относить к разряду интерфейсов (может быть, даже больше, чем другие). Вот типичные векторы атак, реально или потенциально используемых с целью подмены адреса для ICO Вот типичные векторы атак, реально или потенциально используемых с целью подмены адреса для ICO: Фишинг – поддельный сайт, как две капли воды похожий на оригинал, с одним исключением: оригинальный адрес заменен адресом злоумышленника. XSS – внедрение jаvascript-кода на страницу. Если злоумышленник может выполнять свой js-код на странице другого пользователя, то он способен делать все то же самое, что и пользователь. И даже больше – например, подменить какую-то информацию на странице. Site Defacement – сайт уже взломан через одну из десятков различных уязвимостей, и если злоумышленник захватил управление бэк-эндом, он может контролировать всё, что видят пользователи на странице, в том числе и тот самый адрес. Слабые пароли – стойкий пароль необходим не только аккаунту хостинг-провайдера, на котором крутится сайт, но и для защиты аккаунтов в соцсетях, смежной инфраструктуры компании, личных компьютеров разработчиков, директоров, PR-службы и т. д. Все эти узлы являются доверенными, и информации, поступающей от них, верят многие пользователи, даже когда она является противоречивой. Digital Security удалось на практике продемонстрировать наличие опасных проблем в смарт-контрактах через реализацию собственного проекта «хакерского» ICO. Это не совсем обычное ICO прошло перед конференцией по кибербезопасности ZeroNights 2017. Мы не ставили целью привлечение средств, хотя в пересчете на фиатные деньги и собрали 32 тыс. долларов. Основная идея проекта заключалась в том, что в нашем ICO могли принять участие только хакеры, которые должны были его взломать. Чтобы получить возможность покупать HACK-коины, участникам ICO нужно было проэксплуатировать несколько уязвимостей и в самом смарт-контракте, и в интерфейсе. В итоге купить коины смогли как минимум пять человек. Тройка первых за свои коины получила приглашения на конференцию ZeroNights 2017. Как защититься? В сущности, обеспечение информационной безопасности приложений, так или иначе использующих технологию блокчейн, ничем не отличается от проектов, с которыми мы сталкиваемся каждый день. Это просто другая предметная область со своими особенностями. Залогом успешного ведения проекта, в котором задействованы смарт-контракты, должно быть соблюдение множества пунктов, каждый из которых является значимым. Вот те из них, которые относятся к обеспечению информационной безопасности: Следование лучшим практикам при написании смарт-контрактов и заимствование чужого кода, прошедшего «боевую» проверку. Проведение аудита кода. Цена ошибки слишком высока, а исправить ее может быть невозможно или слишком поздно. Проведение открытых программ по поиску уязвимостей – очень хорошая идея, в том числе потому, что награду можно назначить в коинах, которые будет выпускать данный контракт (если речь про ICO). В остальном все как обычно: у компании есть некая инфраструктура, и надо быть уверенным, что, по крайней мере в ней, нет известных уязвимостей, которыми мог бы воспользоваться злоумышленник.

Цитирование статьи, картинки - фото скриншот - Rambler News Service.
Иллюстрация к статье - Яндекс. Картинки.
Есть вопросы. Напишите нам.
Общие правила  поведения на сайте.
Лучшие новости сегодня

Вы искали сегодня

Комментарии (0)


Другие новости сегодня

Центробанк попросили ускорить принятие закона о мультибанкинге - «Финансы»

Закон об открытых API рассчитывали принять в 2025 году, а обязательный запуск начать в 2026-м. Сейчас требования по обмену данными остаются добровольными, что создает риски несовместимости решений и размытой ответственности. Ассоциация...

Курс доллара США и Евро на завтра, 18.07.2026 г. - «Финансы»

Курс доллара США, устанавливаемый Центральным банком РФ, на 18.07.2026 г. составит 78,3987 руб. Это на 8,1 коп. выше, чем курс, действующий сегодня. Официальный курс Евро на завтра составит ...

Наиболее важные новости недели 13 - 17 июля 2026 года - «Финансы»

НАЛОГИ, БУХУЧЕТ Минфин обсудил с бизнесом исключение торговли из льгот по УСН - из списка видов деятельности, для которых регионы могут вводить льготные ставки > Единый государственный реестр...[/h]

Курс доллара США и Евро на завтра, 16.07.2026 г. - «Финансы»

Центробанк России объявил официальный курс доллара США на завтра, 16.07.2026. Курс составит 77,9568 руб. Это на 46,6 коп. выше, чем курс, действующий сегодня. Официальный курс Евро на завтра составит ...

Деньги "ушли" мошеннику: банк и оператор связи выяснят, кто "крайний", и кто вернет средства - «Финансы»

Согласно проекту постановления клиент обратится с заявление о возврате в банк. Тот проверит себя, и если решит, что все сделал, как положено, перенаправит заявление оператору связи. Тот проверит, от кого пропускал...

Кабмин поддержит депутатский законопроект о репатриации средств при ВЭД цифровыми рублями - «Финансы»

Однако авторам рекомендовано дописать получение информации о таких поступлениях инспекциями ФНС. Правительство намерено в целом поддержать депутатский законопроект с поправками в закон 173-ФЗ «О валютном регулировании...


Новости

Последнее из блога

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

Центробанк попросили ускорить принятие закона о мультибанкинге - «Финансы»

Центробанк попросили ускорить принятие закона о мультибанкинге - «Финансы»

Закон об открытых API рассчитывали принять в 2025 году, а обязательный запуск

Подробнее
Курс доллара США и Евро на завтра, 18.07.2026 г. - «Финансы»

Курс доллара США и Евро на завтра, 18.07.2026 г. - «Финансы»

Курс доллара США, устанавливаемый Центральным банком РФ, на 18.07.2026 г.

Подробнее
Наиболее важные новости недели 13 - 17 июля 2026 года - «Финансы»

Наиболее важные новости недели 13 - 17 июля 2026 года - «Финансы»

НАЛОГИ, БУХУЧЕТ Минфин обсудил с бизнесом исключение торговли из льгот по УСН

Подробнее
Курс доллара США и Евро на завтра, 16.07.2026 г. - «Финансы»

Курс доллара США и Евро на завтра, 16.07.2026 г. - «Финансы»

Центробанк России объявил официальный курс доллара США на завтра, 16.07.2026.

Подробнее
Деньги "ушли" мошеннику: банк и оператор связи выяснят, кто "крайний", и кто вернет средства - «Финансы»

Деньги "ушли" мошеннику: банк и оператор связи выяснят, кто "крайний", и кто вернет средства - «Финансы»

Согласно проекту постановления клиент обратится с заявление о возврате в банк.

Подробнее
Экономика сегодня

Падение рубля. ЦБ установил официальные курсы валют на 4 сентября - «Тема дня»

Падение рубля. ЦБ установил официальные курсы валют на 4 сентября - «Тема дня»

​ ЦБ установил официальные курсы валют на 4 сентября. Рубль падает ко всем основным зарубежным валютам....

Подробнее
Рубль теряет высоту. Курсы доллара, евро и юаня на 4 сентября - «Тема дня»

Рубль теряет высоту. Курсы доллара, евро и юаня на 4 сентября - «Тема дня»

​ Российская валюта снижается ко всем основным мировым валютам. Официальный курс ...

Подробнее
Финансовый совет на 4 сентября: как вернуть деньги за лишние школьные покупки - «Тема дня»

Финансовый совет на 4 сентября: как вернуть деньги за лишние школьные покупки - «Тема дня»

​ 💸 Ежедневный совет Банки — короткий и полезный совет, который помогает управлять деньгами осознанно. Подготовка к школе всегда...

Подробнее
Россияне стали активно покупать полисы страхования на случай онкозаболеваний - «Тема дня»

Россияне стали активно покупать полисы страхования на случай онкозаболеваний - «Тема дня»

​ Спрос на страховые полисы на случай онкологических заболеваний за год вырос на 40%. Об этом сообщил «Росгосстрах», проанализировав темпы роста продаж полисов данного сегмента. Больше всего спрос увеличился...

Подробнее
Финансовый совет на 30 августа: что сказать, если в банке спрашивают: «Откуда деньги?» - «Тема дня»

Финансовый совет на 30 августа: что сказать, если в банке спрашивают: «Откуда деньги?» - «Тема дня»

​ 💸 Ежедневный совет от Банки — просто о том, как повысить эффективность сбережений. Если вы вносите на счет крупные суммы наличными,...

Подробнее
Рубль дешевеет. Курсы доллара, евро и юаня на 30 августа - «Тема дня»

Рубль дешевеет. Курсы доллара, евро и юаня на 30 августа - «Тема дня»

​ Российская валюта подешевела к доллару, евро и юаню. Официальный курс доллара, установленный Центробанком на 30 августа 2025 года, составляет 80,3316 рубля (прежнее значение — 80,2918 рубля), официальный...

Подробнее

Разделы

Информация


Центробанк попросили ускорить принятие закона о мультибанкинге - «Финансы»

Центробанк попросили ускорить принятие закона о мультибанкинге - «Финансы»

Закон об открытых API рассчитывали принять в 2025 году, а обязательный запуск начать в 2026-м. Сейчас требования по обмену данными остаются добровольными, что создает риски несовместимости решений и размытой ответственности. Ассоциация...

Подробнее

      
Курс валют сегодня