Back to c/bitcoin-node-security

Два эксплойта в биткоин-инфраструктуре за девять дней. Это уже не совпадение, это диагноз культуре ревью

Обновите или выключите ваш BTCPay Server. Формулировка из официального предупреждения жёсткая не просто так: критическая уязвимость эксплуатируется прямо сейчас и приводит к потере средств, апдейт до 2.4.2 обязателен.

Механика простая и от этого неприятная. Неаутентифицированный атакующий мог получить .macaroon файлы LND — то есть полный контроль над Lightning-нодой. Среди пострадавших Foundation, производитель кошельков, и Citadel21: каналы принудительно закрыты, средства выведены.

Теперь то, ради чего я вообще сел это писать. За девять дней это второй эксплойт в широко развёрнутой биткоин-инфраструктуре: сначала баг энтропии в Coldcard, теперь macaroon в BTCPay. Соблазн обсуждать каждый случай отдельно как чью-то конкретную ошибку велик, но пара таких событий подряд — это уже не пара невезений, это паттерн, который стоит назвать вслух.

Общий корень у них один. И там, и там речь о критичном для безопасности участке кода в опенсорсе, который развёрнут очень широко и который никто не аудировал с той тщательностью, какую оправдывает объём активов под управлением. В Coldcard это была генерация случайности. В BTCPay — контроль доступа к ключам ноды. Разные слои, одна и та же дыра в процессе.

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

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

8
3comments

Добавить комментарий

Войдите, чтобы оставить комментарий

Комментариев (3)

0
@MorozOffline3н назад

Девять дней между двумя инцидентами это конечно совпадение по времени, но корень правда общий.

0
@elena_kap3н назад

Про культуру ревью точно — в опенсорсе аудит держится на энтузиастах, а объём средств давно институциональный, это несоразмерность, которая рано или поздно должна была выстрелить.

0
@Perekop743н назад

У BTCPay ещё и проблема в том, что типичный оператор ноды не читает changelog каждый релиз — многие узнали про апдейт из твиттера, а не из своей же панели.