Код доступа: взламывать ли смарт-контракт, чтобы украсть инвестиции? - «Финансы» » Новости Банков
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). В остальном все как обычно: у компании есть некая инфраструктура, и надо быть уверенным, что, по крайней мере в ней, нет известных уязвимостей, которыми мог бы воспользоваться злоумышленник.
Лучшие новости сегодня

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

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


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

Модель роста российской экономики описали одним словом - «Финансы»

Подводящие макроэкономические итоги 2024 года аналитики сходятся в тезисе о возвращении роста российской экономики к потребительской модели. Об этом пишет «Коммерсантъ». «В отношении внутригодовой динамики...

"Работа.ру": в 2025 году россияне хотят зарабатывать в среднем 139 тыс. рублей - «Финансы»

Россияне в среднем хотели бы зарабатывать в 2025 году 139 тыс. рублей, при этом наиболее высокие ожидания у жителей Москвы. Об этом говорится в результатах исследования сервиса "Работа.ру", которые имеются...

Пенсии за январь будут выплачены досрочно, хотя и не всем, сообщил соцфонд - «Финансы»

С 1 января 2025 года страховые пенсии увеличиваются на 7,3%, в том числе - работающим пенсионерам, также напомнил фонд. Некоторые пенсионеры в России досрочно получат пенсию за январь 2025 года в декабре 2024...

Путин отметил, что в новых регионах России наблюдается рост собираемости налогов - «Финансы»

Президент России Владимир Путин во время "Итогов года" рассказал о значительном росте налогов в новых регионах России. Это связано, прежде всего, с увеличением налогооблагаемой базы и восстановлением предприятий...

Минфин изменит правила получения "Семейной ипотеки", чтобы исключить лимиты - «Финансы»

Минфин России в рамках поручения президента РФ Владимира Путина, которое было сделано на совмещенной прямой линии и пресс-конференции, изменит правила "Семейной ипотеки", чтобы убрать из программы механизм...

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

Центробанк России объявил официальный курс доллара США на завтра, 20.12.2024. Курс составит 103,4207 руб. Таким образом, курс доллара США повысился на 64,4 коп. по сравнению с сегодняшним курсом. Официальный...


Новости

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

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

Казахстан с 1 января 2025 года получит статус страны-партнера БРИКС - «Экономика»

Казахстан с 1 января 2025 года получит статус страны-партнера БРИКС - «Экономика»

Казахстан с 1 января получит статус страны-партнера БРИКС. Информацию об этом

Подробнее
Казахстан начал экспортировать мясо в Армению - «Экономика»

Казахстан начал экспортировать мясо в Армению - «Экономика»

Казахстан начал экспортировать мясо в Армению, передает центр деловой

Подробнее
Модель роста российской экономики описали одним словом - «Финансы»

Модель роста российской экономики описали одним словом - «Финансы»

Подводящие макроэкономические итоги 2024 года аналитики сходятся в тезисе о

Подробнее
Рубль укрепился. Курсы доллара и евро на 21 декабря - «Тема дня»

Рубль укрепился. Курсы доллара и евро на 21 декабря - «Тема дня»

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

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

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

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

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

Рубль укрепился. Курсы доллара и евро на 21 декабря - «Тема дня»

Рубль укрепился. Курсы доллара и евро на 21 декабря - «Тема дня»

​ Российская валюта укрепилась к доллару и евро. Официальный курс доллара, установленный Центробанком на 21 декабря 2024 года, составляет 102,3438 рубля (прежнее значение — 103,4207 рубля), официальный курс евро...

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

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

​ Российская валюта укрепилась к доллару и евро. Официальный курс доллара, установленный Центробанком на 22 декабря 2024 года, составляет 102,3438 рубля (прежнее значение — 103,4207 рубля), официальный курс евро...

Подробнее
Рубль снова укрепился. Курсы доллара и евро на 23 декабря - «Тема дня»

Рубль снова укрепился. Курсы доллара и евро на 23 декабря - «Тема дня»

​ Российская валюта укрепилась к доллару и евро. Официальный курс доллара, установленный Центробанком на 23 декабря 2024 года, составляет 102,3438 рубля (прежнее значение — 103,4207 рубля), официальный курс евро...

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

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

​ ЦБ установил официальные курсы валют на 18 декабря. Рубль прекратил рост к американской валюте, однако продолжил укрепляться к евро. Курс доллара вырос на 0,0854 рубля, составив 102,9979 рубля (102,9125...

Подробнее
По аналогии с вкладами. Полисы страхования жизни будут защищены гарантиями - «Тема дня»

По аналогии с вкладами. Полисы страхования жизни будут защищены гарантиями - «Тема дня»

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

Подробнее
Рубль укрепился. Курсы доллара и евро на 18 декабря - «Тема дня»

Рубль укрепился. Курсы доллара и евро на 18 декабря - «Тема дня»

​ Российская валюта укрепилась к доллару и евро. Официальный курс доллара, установленный Центробанком на 18 декабря 2024 года, составляет 102,9979 рубля (прежнее значение ...

Подробнее

Разделы

Информация


Модель роста российской экономики описали одним словом - «Финансы»

Модель роста российской экономики описали одним словом - «Финансы»

Подводящие макроэкономические итоги 2024 года аналитики сходятся в тезисе о возвращении роста российской экономики к потребительской модели. Об этом пишет «Коммерсантъ». «В отношении внутригодовой динамики...

Подробнее

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