Разработчики раскрыли детали обнаруженной в Lightning Network уязвимости

Согласно публикации, уязвимость возникала в процессе создания и пополнения каналов Lightning Network. Когда пользователь создавал канал, получателю не требовалось верифицировать сумму выхода транзакции, используемой для пополнения канала, или применять скрипт “scriptpubkey”, который позволяет удостовериться в соблюдении определённых условий перед расходованием выхода.

Поскольку Lightning Network на уровне протокола не требует такой верификации, злоумышленник «может заявить об открытии канала, не передав оплату получателю или передав неполную сумму». Таким образом организатор атаки мог расходовать средства из совместного с жертвой канала, не уведомляя её об этом. Только после закрытия такого канала жертва обнаруживала, что переданные через него транзакции были недействительными.

Разработчики клиентов Lightning Network внесли необходимые изменения в своё ПО, однако более старые версии по-прежнему уязвимы для этого вектора атак, в частности:

Ноды LND версии 0.7 и ниже;
Ноды c-lightning версии 0.7 и ниже;
Ноды eclair версии 0.3 и ниже.
Разработчики также создали инструмент, благодаря которому пользователи могут проверить, затрагивала ли эта атака их LND-ноды.

Говоря о том, почему раскрытие информации об уязвимости заняло три месяца, CEO Lightning-компании Acinq Пьер-Мари Падиу заявил: «Проблема с этой уязвимостью в том, что, как только вы о ней узнаёте, она кажется очевидной. Три месяца – это небольшой срок. Это достаточно короткий срок, потому что пользователям необходимо дать время обновиться. Многие из них этого не делают. Проблемы бывают всегда. Даже в протоколе биткоина находились баги. Главное справляться с ними так, чтобы лучшим образом защищать пользователей».

В середине сентября разработчики признали, что уязвимость использовалась в реальных условиях, не уточнив масштабы возможного ущерба.

Интересное по теме