BTC $ 3252.371435 (-2.04 %)
XRP $ 0.2891129642 (-3.41 %)
ETH $ 84.8283742523 (-1.99 %)
XLM $ 0.0979569707 (-6.58 %)
USDT $ 1.0023247301 (0.07 %)
EOS $ 1.8559711886 (-1.08 %)
BCH $ 81.8829606233 (-8.13 %)
LTC $ 23.8811541941 (0.92 %)
BSV $ 70.632322698 (-10.89 %)
TRX $ 0.0127910428 (-2.54 %)

Уязвимость в коде Bitcoin Core и угрозы которые она представляла

21:00 18/10/2018

О чём идёт речь?

 

20 сентября 2018 года сайт BitcoinCore опубликовал полное описание критической ошибки CVE-2018-17144. Уязвимость была обнаружена пользователем Awemany, активным разработчиком проектов Bitcoin Cash и Bitcoin Unlimited. Найденный баг окрестили “ужасающим”, поскольку он мог нанести огромный ущерб всей сети Биткоин при помощи атаки двойного расходования  без привлечения 51% хеш-мощностей. Ситуацию усугубляет тот факт, что ноды BitcoinCore составляют абсолютное большинство среди участников сети. Также известно, что этой угрозе подвержена по крайней мере сеть Litecoin.

 

Хотя первые сообщения об исправлении бага появились еще 18 сентября, а сама угроза была обнаружена и представлена ответственным лицам 17 сентября, по состоянию на 18 октября целых 84.7% сети Биткоин использовали непропатченные версии программного обеспечения.

 

Что собой представляет баг CVE-2018-17144

 

Из описания National Vulnerability Database ясно, что данная уязвимость позволяет майнеру провести удаленную DoS атаку (отказ программного обеспечения) при помощи дублирования входов транзакции. Отчет появился на сайте 19 сентября и содержит несколько важных ссылок. Среди них обнародование от BitcoinCore, несколько пояснений с GitHub и описание уязвимости на странице Bitcoinwiki. По данным отчета, злоумышленник может создавать монеты вне известных правил работы сети. Для проведения атаки необходимо майнить блоки. Сама уязвимость описана фразой: «Пропущена проверка на дублирование входов».

 

Появление уязвимости

 

Улучшение BitcoinCore в 2016 году содержит изменение под названием Bitcoin Core PR #9049. Мэтт Коралло писал 31 октября 2016 “Контрольная проверка показывает, что оно [улучшение] экономит примерно 0.5-0.7 мс. во время процедуры CheckBlock”. Судя по всему, к 10 ноября 2016 года эти изменения были внедрены либо находились на финальной стадии. Несколько последующий комментариев описывают изменения для исправления уязвимости. Дальнейшая дискуссия также заслуживает внимания: некоторые участники высказали заинтересованность в источнике проблемы, подробностях ее внедрения и вопросах контроля.

 

Интересно, что изначально угроза была обнаружена для BitcoinABC. Дальнейшая проверка показала, что аналогичная уязвимость присутствует и в программе Bitcoin Core.

 

Разъяснение от команды Bitcoin Core содержат утверждения, что баг CVE-2018-17144 несет в себе такие угрозы, как Denial of Service и критическая ошибка проникновения. Можно сделать вывод, что угроза DoS была лишь частью проблемы, а сеть может подвергнуться более серьезной опасности (или подвергается ей прямо сейчас).

 

Реакция на уязвимость

 

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

 

Из всего произошедшего можно вынести следующие важные моменты:

 

  1. Каждая строка кода должна тщательно проверяться. Написать идеальный код невозможно. Именно поэтому несколько людей должны просматривать код и подтверждать его логику.
  2. К сожалению, даже старые патчи потенциально вредоносны. Предназначенные для улучшений, они впоследствии могут доставить много проблем.
  3. Быстрая и активная реакция сообщества — это хорошо.

 

Послесловие

 

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

 
Нашли ошибку? Выделите её и нажмите Ctrl + Enter чтобы сообщить администратору.

Самые актуальные новости о криптовалютах и блокчейне. Прочтите первым!

Зачем мне это?

Загрузка...