Несколько недель назад разработчик Bitcoin Core Джеймс Хиллиард обнаружил уязвимость в прошивке майнера Antminer S15, выпускаемого китайской компанией Bitmain. Пользователь Twitter под ником 00whiterabbit впоследствии создал эксплойт на основании установленных Хиллиардом фактов, а сам Хиллиард выложил видео с доказательством работоспособности бага. Об этом пишет Bitcoin Magazine.
Хиллиард готов предоставить Bitmain информацию об уязвимости, но только с тем условием, если она подчинится требованиям популярной лицензии для ПО с открытым кодом GNU, которую компания в настоящее время нарушает.
«Прошивка Bitmain в общем довольно глючная, – заявил Хиллиард. – Для здоровья сети биткоина важно, чтобы Bitmain имела возможность исправить эти баги».
Хиллиард, лучше всего известный как автор предложения по улучшению биткоина BIP 91, использовавшегося для активации SegWit, обнаружил уязвимость, когда изучал файл обновлённой прошивки на сайте поддержки Bitmain. Он утверждает, что баг может затрагивать не только последнюю версию прошивки самого мощного майнера Bitmain для алгоритма SHA256, но и другие версии ПО.
«С большой долей уверенности могу заявить, что в этой прошивке есть и другие уязвимости. Она очень слабо проработана в плане безопасности», – добавил он.
Описанная уязвимость позволяет получить root-доступ к устройству. В теории все необходимые операции можно осуществить даже удалённо, зная лишь IP-адрес майнера, после чего перепрограммировать его, чтобы установить нужные взломщику настройки. Например, с её помощью можно изменить адрес кошелька, на который отправляется криптовалюта, полностью остановить майнинг или установить свою прошивку.
На практике, однако, злоумышленнику вряд ли удастся найти незащищённый майнер. Чтобы обезопасить себя, пользователям достаточно правильно настроить файрвол или использовать надёжный пароль. Кроме того, для создания индивидуальной прошивки злоумышленнику потребуется получить доступ к коду оригинального ПО. «Более серьёзная проблема заключается в том, что прошивка Bitmain в целом содержит много багов», – пояснил Хиллиард.
Так, в начале 2017 года анонимный эксперт по кибербезопасности обнаружил уязвимость, которая впоследствии получила название Antbleed и позволяла удалённо отключать устройства Antminer. Проблема затрагивала не только самих владельцев майнеров, но и сеть биткоина в целом, поскольку она могла в одночасье лишиться половины своих вычислительных мощностей.
«По праву, Bitmain должна открыть код своей прошивки, – заявил Хиллиард, отметив, что ПО компании основывается на разработанной им самим программе cgminer, поддерживающей политику открытого кода. – Но Bitmain, похоже, не волнуют авторские права. К сожалению, прошивка с закрытым кодом оказывает негативное воздействие на сеть биткоина, поскольку в ней может скрываться нечто, подобное Antbleed. Это один из рисков централизации».
Причина, по которой Bitmain отказывается раскрывать код своего ПО и нарушает принципы GNU, не вполне очевидна. Хиллиард предполагает, что компания не хочет, чтобы пользователи самостоятельно настраивали оборудование, лишая её возможного источника дохода. Другие допускают, что таким образом Bitmain оберегает свои устройства от злоумышленников, которые могут попытаться найти в них уязвимости из корыстных побуждений.
Хиллиард, тем не менее, не теряет надежды на то, что ситуация может измениться: «В прошлом они публиковали код, который был похож на реальный, предположительно, под давлением общественности. Может быть, получится и сейчас?»