Ошибка «высокой» степени серьезности в программном обеспечении Bitcoin обнаружена спустя 2 года после исправления
Ранее неизвестная ошибка в Bitcoin CORE могла позволить злоумышленникам украсть средства Lightning Network, задержать переводы или разделить сеть, если бы она не была исправлена в 2018 году.

Ранее нераскрытая уязвимость в программном обеспечении Bitcoin CORE могла позволить злоумышленникам украсть средства, задержать расчеты или разделить крупнейшую сеть блокчейнов на конфликтующие версии, если бы она не была тихо исправлена два года назад.
Это согласнобумагаопубликовано в среду Брейдоном Фуллером, инженером протокола на сайте Криптo шопинга Purse, который обнаружил уязвимость типа «отказ в обслуживании» в июне 2018 года, и Джаведом Ханом, CORE разработчиком протокола Handshake.
Уязвимости был присвоен уровень серьезности 7,8 по шкале от 1 до 10, что считается «высоким» (9 и выше считается «критическим»). Она была вызвана тем, что «удаленные узлы» не смогли удалить недействительные транзакции из своей памяти, сказал Хан CoinDesk.
В документе говорится, что невозможность очистить эти транзакции может привести к тому, что агрессор начнет загружать узел-жертву устаревшими данными, что называется «неконтролируемым потреблением ресурсов», что в конечном итоге приведет к отключению узла.
Решения уровня 2 (L2), такие как Lightning Network, экспериментальная платежная система, построенная поверх блокчейна Bitcoin , подвергались риску из-за уязвимости. Полные узлы Bitcoin не подвергались риску потери средств.
Читать дальше: Последняя версия кода Bitcoin CORE защищает от атак со стороны государства
«Не было механизма, который бы проверял, являются ли ожидаемые детали транзакции действительными или нет. В некоторых случаях можно было заполнить удаленную память недействительными транзакциями», — сказал Хан.
Никаких попыток воспользоваться дырой в дикой природе обнаружено не было, написали Хан и Фуллер. Уязвимость не могла быть раскрыта публично в течение более двух лет, поскольку операторам узлов потребовалось больше времени, чем ожидалось, чтобы обновиться, сказал Фуллер.
Хотя уязвимость была устранена, ее Раскрытие информации подчеркивает трудности создания глобального денежного стандарта на языках программирования, созданных людьми, не говоря уже о высоких технических барьерах для участия в разработке ведущей Криптовалюта.
Уязвимость была введена в Bitcoin CORE в Ноябрь 2017 г.. Согласно статье, около 50% узлов Bitcoin в то время были подвержены вектору атаки. Более ранние версии Bitcoin CORE не были затронуты.
Bitcoin CORE и многое другое
Хан заявил, что уязвимость могла позволить злоумышленнику украсть средства с узлов, имеющих открытые каналы на Lightning.
Были затронуты версии Bitcoin CORE 0.16.0 и 0.16.1. исправленный разработчиком Мэттом Коралло после Раскрытие информации Фуллером CORE команде в июле 2018 года. Коралло не ответил на вопросы, требовавшие комментариев, на момент публикации статьи.
За Истории Фуллера (который также работал ведущим разработчиком протокола децентрализованного облачного хранения STORJ) последовало еще одно Ошибка Bitcoin решено два месяца спустя в Bitcoin CORE 0.16.3. Также вектор для атака типа «отказ в обслуживании», ONE из аспектов этой ошибки позволял майнерам «раздувать предложение Bitcoin«поскольку они могли дважды потратить определенные значения, команда Bitcoin CORE написал в то время.
Хан и Фуллер написали, что экстренный патч, выпущенный в этой версии Bitcoin CORE , также устранял ошибку Фуллера.
Для уязвимости потребления ресурсов было зарезервировано место в реестре общих уязвимостей и рисков (CVE) Национального института стандартов и технологий.CVE-2018-17145в 2018 году, но его еще предстоит заполнить. Реестр действует как публичный глоссарий для известных ошибок программного обеспечения.
Bitcoin CORE — это эталонная реализация или стандартная версия сетевого программного обеспечения, из которой выведены другие. Согласно статье, эксплойт также был возможен в нескольких других реализациях Bitcoin и его ответвлений:
- Узлы Bitcoin v0.16.0
- Все бета-версии Bcoin до v1.0.0-pre
- Все версии Btcd до v0.20.1-beta
- Litecoin CORE v0.16.0
- CORE Namecoin v0.16.1
- Все версии Dcrd до v1.5.1.
Все эти реализации были исправлены.
ОБНОВЛЕНИЕ (10 сентября, 15:45 UTC):После публикации эта статья была обновлена и теперь включает LINK на статью и дополнительную информацию об ONE из ее соавторов и об описанной в ней уязвимости.












