Bitcoin : une IA détecte 3 failles capables de faire tomber des nœuds
Теперь за дело взяли "глаза" из кремния. Эрик С. Рэймонд утверждал в 1997 году, что при достаточном количестве "глаз" любая ошибка становится поверхностной. Модель машинного обучения проанализировала код Bitcoin Core и выявила три уязвимости, которые были устранены и опубликованы 28 октября.
Одна из них позволяет удаленно вывести из строя узел Windows или Mac. Однако, долгое время разработчики предпочитали молчать о подобных проблемах: Bitcoin Core потребовалось два года, чтобы раскрыть серьезную уязвимость. Вот что вам нужно знать.
Основные моменты этой статьи:
- Модель машинного обучения обнаружила три уязвимости в коде Bitcoin Core, информация о которых была опубликована 28 октября.
- Эти уязвимости, некоторые из которых могут привести к сбоям в работе узла, в основном затрагивают Windows, macOS и BSD.
Какие уязвимости были обнаружены ИИ в Bitcoin Core?
Bitcoin Core — это программное обеспечение, которое используют большинство узлов, то есть компьютеров, которые проверяют и передают каждую транзакцию в сети. Три сообщения о безопасности, опубликованные в среду, описывают три отдельные ошибки.
Наиболее серьезная из них, классифицированная как уязвимость средней степени опасности, затрагивает Windows, macOS и BSD. Злонамеренный узел, подключенный к сети, может перегружать ее данными, пока не исчерпает всю ее память. Разработчики говорят о узле, который можно "тривиально вывести из строя".
Сообщение о безопасности, опубликованное Bitcoin Core 28 октября 2026 года. Источник: bitcoincore.org
Вторая уязвимость, также классифицированная как уязвимость средней степени опасности, приводит к более медленному увеличению объема используемой памяти. До 2 МБ в час для каждого входящего соединения и 5 МБ для каждого исходящего соединения.
Третья уязвимость считается незначительной. Она приводит к повреждению файлов отмены, которые узел использует для отмены последних блоков в случае перестройки цепочки.
Как ИИ обнаружил эти ошибки?
Все началось с проекта Loupe. Этот автоматизированный сканер, разработанный Элиасом Рорером в компании Spiral, передает код Bitcoin Core модели машинного обучения. Каждый полученный результат затем проходит проверку у человеческого разработчика, Грегори Сандерса, прежде чем достичь команды безопасности.
В случае уязвимости для Windows и Mac, инструмент дал правильный результат 23 октября. В Linux, Bitcoin Core отслеживает свои соединения с помощью функции poll(). В других случаях используется select(), который продолжает отслеживать "срочные данные" TCP, старого приоритетного канала протокола сети. Достаточно было отправить эти данные, чтобы обойти ограничение, налагаемое на слишком "болтливых" узлов.
Машина также опередила людей. Loupe обнаружила вторую ошибку 15 сентября, за шесть дней до разработчика L0rinc. В случае третьей ошибки, она опередила L0rinc на шесть недель и Andrew Dorman на три с половиной месяца.
Ваша нода Bitcoin под угрозой?
Все зависит от вашего оборудования. Ноды, работающие под Linux, не подвержены основной уязвимости, которая затрагивает только Windows, macOS и BSD.
Ошибка, связанная с файлами отмены, проявляется более серьезно на некоторых системах. Код хранил их положение в 32-битном формате, поэтому файл размером более 4 ГБ мог перезаписывать старые данные. На 64-битной машине майнеру потребовалось бы около месяца общей производительности сети, чтобы воспользоваться этой уязвимостью. Разработчики считают этот сценарий "непрактичным".
У Windows и 32-битных систем нет такой "подушки безопасности". Порог снижается до 2 ГБ, и нода перестает работать при каждом перезапуске. Диски в формате FAT32 и 32-битные системы остаются уязвимыми даже после установки исправления.
Какую версию Bitcoin Core следует установить?
Исправления доступны в четырех версиях. 32.1 и 31.2 были выпущены 27 октября, а 29.5 и 30.4 – на следующий день.
Если вы используете ноду на Mac или ПК, немедленно установите исправленную версию вашей ветки, поскольку рецепт атаки теперь общедоступен. Если файл отмены уже переполнился, ноду необходимо будет пересоздать с опцией -reindex.
Почему Bitcoin Core так быстро публикует информацию об этих уязвимостях?
Раньше Bitcoin Core скрывала уязвимости средней серьезности в течение нескольких месяцев, иногда года, чтобы операторы успели обновиться. Теперь ее политика безопасности создает отдельную категорию – уязвимости, которые "легко обнаруживаются", и которые можно найти "с минимальными усилиями, например, с помощью простого запроса к большой языковой модели (LLM)".
Информация о таких уязвимостях публикуется немедленно. Исправление выпускается для всех поддерживаемых версий, сопровождаясь публичным уведомлением. Это логично, поскольку если искусственный интеллект находит уязвимость за один запрос, то и злоумышленник ее найдет.
Ваши биткоины в опасности?
Нет. Все три уведомления описывают сбои и зависания нод, но никаких краж средств. Ваши BTC остаются в блокчейне, независимо от состояния программного обеспечения, которое его просматривает.
Риск в первую очередь касается тех, кто запускает собственные ноды. Нода, которая зависла, больше не передает транзакции и не проверяет ничего, пока не перезапустится.
Эта серия еще не закончена. Bitcoin Core стремится лучше управлять критическими ситуациями, и в примечаниях к версии 32.1 уже анонсировано продолжение. В течение двух недель проект опубликует еще три уязвимости средней и высокой степени серьезности, которые были исправлены в версии 30.0.