Бэкдор в прошивке, который мог остановить тысячи асиков

Бэкдор в прошивке, который мог остановить тысячи асиков

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

Вечер 26 апреля: сайт, после которого майнеры бросились проверять свои фермы

26 апреля 2017 года, в среду вечером, в Twitter появился анонимный аккаунт @antbleed и одноимённый сайт. Они заявили, что в прошивках Antminer, одних из самых распространённых асиков, спрятан механизм удалённой остановки. На сайте даже была проверка: можно было ввести данные устройства и узнать, попадает ли оно в зону риска.

Механизм, по описанию авторов сайта, был устроен просто. Раз в одну-одиннадцать минут аппарат сам связывался с сервером auth.minerlink.com, адрес которого прописан прямо в коде прошивки. При каждом обращении он отправлял три вещи: серийный номер, MAC-адрес (уникальный номер сетевой карты) и IP-адрес. Для сервера это что-то вроде паспортных данных устройства: по ним можно понять, какой именно аппарат на связи. Производитель, как отмечали авторы сайта, мог бы сопоставить эти данные с базой продаж и выйти на конкретного владельца.

Дальше всё сводилось к ответу сервера. Пока он возвращал «true», аппарат продолжал майнить. Если приходило «false», прошивка выставляла флаг остановки и майнинг прекращался. Исследователи указали даже конкретную строку в исходном коде, где проверяется это условие.

Код появился не накануне. По данным сайта, он попал в прошивку 11 июля 2016 года, и под подозрением оказались все аппараты, купленные после этой даты. Автор находки утверждал, что ещё в сентябре 2016-го сообщил о коде производителю через GitHub, но ответа не получил.

Обычные меры защиты здесь не работали. Аппарат сам отправлял запрос на сервер, поэтому входящий файервол, привычная защита фермы, вообще ничего не замечал: стандартные правила для входящих соединений не защищают от исходящего запроса. К тому же ответ сервера никак не подтверждался: любой, кто смог бы подменить адрес или перехватить связь, получил бы возможность отправить то же «false». Позже даже сам производитель признал, что такая схема ослабляла безопасность.

Оставались два главных вопроса. Сколько устройств оказалось под угрозой и кто мог нажать эту кнопку? Об этом в следующем блоке.

Сколько устройств оказалось под угрозой

Код нашли в нескольких линейках. Сам производитель позже подтвердил, что под угрозой были Antminer S9, R4, T9, L3, L3+ и V9. Сколько именно аппаратов с этим кодом было продано, источники не называют.

Больше всего споров вызвала цифра в 70%. Авторы Antbleed утверждали, что кнопка остановки может затронуть до 70% мирового хешрейта. В ForkLog уточняют: эти 70% составляют долю производителя в поставках оборудования, и к доле хешрейта они напрямую не относятся. Эксперты оценивали масштаб по-разному. Разработчик Bitcoin Core Питер Тодд заявил, что компания «поставила себя в положение, когда может мгновенно отключить большую часть хешрейта биткоина».

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

Насколько реальной была угроза? Код умел отключать устройства избирательно, по серийному номеру или IP-адресу. Один майнер из Канады проверил это: когда он запустил скрипт на своей ферме, 12% его машин остановились. Однако сведений о том, что производитель реально отключал чужие аппараты, нет. По словам самой компании, тестовый сервер выключили ещё в декабре 2016-го.

Что ответили производитель и критики

Сначала компания отвечала коротко. Там заявили, что код открыт, секретов нет, а удалённого управления майнерами пользователей она не осуществляет. Затем появилось подробное объяснение. По версии производителя, функция должна была помочь вернуть украденные майнеры. Компания привела три случая: в 2014 году в Китае украли около тысячи аппаратов, в 2015-м провайдер в Грузии заблокировал их работу, а недавно её собственные майнеры без разрешения продали в Канаде. Работу над функцией начали ещё в эпоху Antminer S7, внедрить её планировали в S9, но довести до конца не успели. Оставленный в прошивке код компания назвала «ошибкой» и извинилась перед клиентами. Она выпустила новую прошивку, обновила исходный код на GitHub и пообещала, что функция вернётся только с отключённым по умолчанию переключателем.

Критики эту версию приняли без особого энтузиазма. Питер Тодд сказал, что функциональность не была публично известна, поэтому он назвал бы её бэкдором. Другой разработчик Bitcoin Core, Люк Дашьюр, назвал исправление обходным путём, а сам код намеренным вредоносным. Автор и спикер Андреас Антонопулос сомневался в злом умысле, но указал на главное: «Намерение не имеет значения, если этим может воспользоваться кто угодно». Издание Bitcoinist добавило аргумент: вор мог бы отключить «антикражную» функцию, просто отредактировав файл.

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

Как майнеры защитились, не дожидаясь обновления

Самое неожиданное в этой истории то, насколько проста оказалась защита. Проблема в исходящем запросе, а входящий файервол его не видит, поэтому владельцам нужно было сделать так, чтобы запрос не доходил до сервера. Некоторые майнеры предложили временный способ: заставить аппарат считать адрес auth.minerlink.com собственным адресом, то есть localhost.

Делается это через файл hosts. Он работает как маленькая адресная книга устройства: напротив имени сайта стоит адрес, по которому нужно идти. Если напротив auth.minerlink.com записать 127.0.0.1, запрос уходит к самому аппарату, а до сервера производителя не добирается. По словам одного из майнеров, о которых писали СМИ, хватало одной строки в системном файле, и функция остановки переставала работать. Ту же меру производитель позже назвал временным решением для ферм, которые не могут обновиться сразу.

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

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

Что изменилось к 2026 году

Вопрос «что на самом деле внутри прошивки» не закрылся и спустя десять лет. 13 августа 2026 года фонд 256 Foundation, который занимается открытой инфраструктурой для майнинга, опубликовал первый аудит безопасности. Эксперты проверили заводские прошивки моделей S19j Pro и S21 и три самые популярные альтернативные прошивки.

В заводской прошивке не нашли ни кражи хешрейта, ни скрытой связи с посторонними серверами, то есть аналогов Antbleed в ней нет. Зато во всех проверенных системах обнаружились 41 проблема другого рода. Среди них заводские пароли, которые не меняют, ключи удалённого входа, зашитые прямо в образ прошивки, служебные интерфейсы с доступом без пароля и обновления, которые принимаются без проверки подписи. Разработчикам альтернативных прошивок эксперты дали 30 дней на исправление, прежде чем публиковать подробности.

Похожие слабости находили и раньше. В 2019 году разработчик Bitcoin Core Джеймс Хиллиард показал на прошивке Antminer S15, что уязвимость позволяет сменить воркер, остановить майнинг или заменить прошивку целиком.

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

Что проверить владельцу фермы

История с Antbleed и аудит 2026 года подсказывают пять вещей, которые стоит сделать на любой ферме:

  • Узнать, откуда у вас прошивка. Производитель после истории 2017 года советовал ставить только прошивку с его сайта и не пользоваться сторонними сборками. Аудит 2026 года показал, что у некоторых прошивок обновления принимаются без проверки подписи, поэтому источник файла важен вдвойне.
  • Сменить заводские пароли. По данным аудита, на многих устройствах их так и оставляют прежними.
  • Помнить, что опасность может идти изнутри сети. Antbleed работал через исходящий запрос, поэтому обычный входящий файервол ничего не замечал. Стоит знать, с какими адресами общается ваше оборудование.
  • Следить за хешрейтом в личном кабинете пула и настроить уведомление на его падение. Если настройки подменили или аппарат остановили, на вашем аккаунте это проявится как снижение хешрейта. Пул увидит результат, а причину придётся искать на оборудовании.

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

В нашем Telegram - новости рынка и оперативная помощь пользователям -

Подробности о пуле и условиях сотрудничества -

11