Как можно взломать код биткоина?

Блокчейн Bitcoin (BTC) следует набору правил, устанавливаемых при помощи 642 000 строк кода, хранение которого осуществляется в открытом репозитории на GitHub. Правом вносить изменения в него обладают лишь несколько человек.

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

  • Что произойдет, если кто-то сможет вмешаться в код и внедрить баг в биткоин?
  • Могут ли этой особенностью воспользоваться власти, чтобы вывести сеть криптовалюты из строя?
  • Чтобы ответить на эти вопросы, портал Decrypt опросил несколько экспертов и разработчиков.

    Кто обслуживает код биткоина?

    Сперва необходимо разобраться в том, как работает система. Только администраторы Bitcoin Core могут вносить существенные изменения в репозиторий на GitHub. Фактически эта роль закреплена за шестью разработчиками: Владимиром ван дер Лааном, Йонасом Шнелли, Марко Фальке, Сэмюэлом Добсоном, Майклом Фордом и Питером Вюлле.

    Биткоин представляет собой ПО с открытым кодом, поэтому администраторы не назначаются официально, а ситуативно получают соответствующие полномочия от существующих администраторов, если кто-то из разработчиков демонстрирует достаточную квалификацию. Предположительно, основатель Bitcoin Foundation Гэвин Андресен назначил ведущим администратором Владимира ван дер Лаана, который несет основную ответственность за загрузку изменений в Bitcoin Core.

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

    Техдиректор кастодиального стартапа Casa Джеймсон Лопп сообщил:

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

    Неавторизованный доступ к Bitcoin Core

    Любая атака на кодовую базу биткоина, даже если она будет осуществлена сотрудниками GitHub, потребует наличия PGP-ключа.

    «Работники GitHub могли бы из зловредных побуждений изменить код в репозитории Bitcoin Core. Вот почему разработчики подписывают релизы PGP-ключом. Если код на GitHub будет изменен злоумышленником, подписи не совпадут», – сказал исследователь Эндрю Янг.

    Но что, если организатор атаки действительно завладеет PGP-ключом?

    «Если один из этих ключей подвергнется утечке, злоумышленник потенциально сможет изменить код в репозитории, – заявил исследователь Blockchain Research Lab Элиас Штреле, добавив, что разработчики предусмотрели и эту ситуацию.

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

    Администратор-злоумышленник

    Рассмотрим сценарий, в котором злоумышленником оказался один из администраторов. В теории он может загрузить вредоносный код в надежде, что его никто не заметит.

    «Из-за разнообразия игроков, которые должны принять изменения, достаточно сложно скрыть вредоносное изменение в Bitcoin Core, но, вероятно, это можно было бы сделать в рамках обновления, которое большинство считало бы хорошим, – сказал CEO Nym Technologies Харри Хэлпин.

    По-настоящему злостные изменения распространялись бы с обновлениями, которые нравятся большинству!»

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

    «Я считаю, что оно будет выловлено скриптом подтверждения подписи, когда в следующий раз кто-то оформит запрос на добавление кода или проведет тест, – сказал разработчик Томас Керин.

    Внимание всех разработчиков сразу же будет приковано к произошедшему».

    Похищение администраторов

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

    Предположим, что все администраторы были арестованы, а злоумышленники сразу же начали распространять вредоносное обновление Bitcoin Core. Керин считает, что такой подход тоже не возымеет успеха:

    «Сообщество проведет форк репозитория, воспользовавшись последней полноценной версией, и будет отталкиваться от нее».

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

    «Подвергшиеся манипуляциям ноды и функциональные ноды, вероятно, не смогут достичь консенсуса касаемо состояния блокчейна, что приведет к возникновению форка», – сказал Штреле.

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

    Самозащита майнеров

    Еще один уровень защиты – это майнеры биткоина, которые мотивированы проверять код на наличие уязвимостей. CEO Blockstream Адам Бэк отметил, что установка вредоносного кода не соответствует интересам операторов нод:

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

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

    «Сразу станет понятно, что их версия блокчейна не соответствует общепризнанной и потому будет отвергнута», – сказал аналитик Quantum Economics Джейсон Дин.

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

    «Если хакер получит доступ к PGP-ключу от репозитория Bitcoin Core, он окажется примерно в таком же положении, что и голый бегун на футбольном поле. Он привлечет много внимания, вызовет некоторое замешательство, возможно, ненадолго прервет игру, но на этом все», – заявил Штреле.

    Источник: mining-cryptocurrency.ru

    Безопасность и уязвимости
    Comments (0)
    Add Comment