Только медийное адаптивное
Только медийное адаптивное

Грифинговые атаки Lightning Network — журнал Bitcoin

4

Что происходит, когда в ваш узел маршрутизации Lightning Network поступают мусорные транзакции, которые никогда не разрешаются? Короче говоря, это доставляет немало огорчений узлам маршрутизации. То, что когда-то было гладкой глобальной платежной системой, можно заблокировать с помощью тривиальных усилий опытного сценариста.

Работая в небольшой группе узлов маршрутизации, мы успешно провели тест атаки с реальными средствами и продемонстрировали атаку «грифинга», описанную Джустом Ягером. Атака называется атакой горя, так как это не кража средств, а замораживание средств жертвы Lightning: серьезное разочарование. Мы обнаружили, что огорчение представляет собой серьезную угрозу для крупных каналов «вумбо», которые рассчитывают получить доход от своих биткойнов, но их средства будут заморожены на определенный период времени.

В основном это приступ горя: без потери средств, но жертва может быть вынуждена заплатить за дорогое принудительное закрытие канала. Это известная уязвимость в основной сети Lightning, и ее необходимо понять и определить приоритеты, особенно на этой ранней стадии рынка Биткойн-сети Lightning.

Спасибо Кларку Буркхардту и Филиппу Шеппарду за их готовность принять участие в этом тесте и Ягеру за его неустанную работу по привлечению внимания и приоритетности к этой уязвимости. Ягер играл роль злоумышленника в нашей демонстрации, а Буркхард и Шеппард присоединились ко мне в качестве связанных узлов маршрутизации жертв.

Как работает атака

Злоумышленник заполняет один (или несколько) каналов хешированными контрактами с временной блокировкой (HTLC), которые не обрабатываются как окончательный платеж. Это особая разновидность HTLC, известная как счета-фактуры HODL. Только 483 из этих неразрешенных HTLC необходимы для перегрузки канала в каждом направлении. Когда эти HTLC находятся в канале, любые транзакции, использующие одно и то же направление канала, невозможны, включая транзакцию для совместного закрытия этого канала.

Интересное  Марк Цукерберг: «Мы не продаем данные клиентов»

Теоретически злоумышленник может связаться с жертвой (возможно, с помощью сообщения keysend или «луковичной капли») и потребовать выкуп, чтобы остановить атаку. После выплаты выкупа злоумышленник может удалить неразрешенные платежи, завершив атаку. Атака может продолжаться бесконечно, останавливая все операции маршрутизации и платежей в этом канале. Это замораживает средства в канале Lightning.

Оба направления платежей могут быть заблокированы в канале с использованием 483 HTLC в каждом направлении, как входящем, так и исходящем.

Взгляд Thunderhub на мой сбалансированный канал, ведущий к Буркхардту под атакой. Канал отображается как «Не активен», как будто Буркхардт отключен от сети, но это не так. Сумма, выделенная синим цветом — это локальный баланс в сатах, сумма, выделенная зеленым цветом — удаленный баланс в сатах, принадлежащий Буркхардту. Источник: Thunderhub.

Почему злоумышленник сделал что-то подобное?

Первый мотив, который приходит в голову, — требовать выкуп. Эта атака причиняет жертве боль, и уплата выкупа может быть привлекательной для жертвы, даже если нет гарантии, что атака остановится. Контакт с жертвой может быть рискованным для злоумышленника, но выкуп может быть не единственной причиной, по которой кто-то сделает это.

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

В качестве ориентира примите во внимание, что узел Loop Lightning Labs имеет постоянный спрос на ликвидность, за который он иногда будет платить 2500 частей на миллион от ставки комиссии (ppm) (0,25 процента). По моему опыту, они обычно исчерпывают ликвидность на 16 миллионов сатов примерно за две недели (5,2 процента годовых), но это при наличии конкуренции.

Если злоумышленник может отключить любой конкурирующий маршрут с более низкими ставками комиссии, Loop может быть готов заплатить более высокую ставку комиссии (так как предложение ликвидности теперь сокращается). Допустим, Loop будет платить 3000 ppm (0,3 процента), а также быстрее использовать эту ликвидность, поскольку другие каналы не работают. Loop может использовать эту ликвидность вдвое быстрее, скажем, за одну неделю. В этом примере злоумышленник более чем удвоит свою обычную доходность до 15,6% годовых. Единственная цена для злоумышленника — это стоимость запуска сценария на существующем канале и психологическая цена действия аморальных / разрушительных действий для Lightning Network. С помощью одного канала злоумышленника злоумышленник может заблокировать около девяти каналов (см. Твиты Ягера об этом).

Интересное  Математические исследования предполагают, что для биткойн-транзакций не требуется шесть подтверждений

Что испытает жертва этой атаки?

Жертва этой атаки на самом деле не узнала бы, что эта атака происходит, если бы у них не были установлены специальные предупреждения для ожидающих HTLC. Для пользователей Thunderhub (настоятельно рекомендуемый инструмент) на главном экране будет отображаться диаграмма ожидающих HTLC, а также предупреждение о том, что каналы могут содержать только 483 ожидающих HTLC.

Источник: Thunderhub

На практике мой узел быстро стал ненадежным, и несколько приложений вылетели из строя, в том числе Thunderhub, единственное приложение, которое уведомило меня о проблеме. Затем, благодаря моему Telegram-боту Balance of Satoshis, я получил уведомление о закрытии канала. Канал под атакой закрывается силой! Это не должно было быть частью эксперимента. (Для получения дополнительной технической информации о принудительном закрытии см. Ниже дополнительные данные о принудительном закрытии.)

Грифинговые атаки Lightning Network - журнал Bitcoin Зона Крипто - новости криптовалют BTC, биткоин, эфириум, алткоин, майнинг, биржи, ICO
Тестовый платеж с использованием канала с Буркхардтом (салмиаком) не прошел из-за атаки. Это предупреждение сообщает, что узел Буркхардта отключен, хотя он был в сети. Источник: Thunderhub.

Что может сделать жертва, чтобы остановить нападение, вызвавшее горе?

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

Чтобы добавить оскорбления к травме, принудительное закрытие канала приведет к перемещению неразрешенных платежей в данные транзакции в цепочке, инициируя вторичные транзакции в цепочке для инициатора принудительного закрытия. При 50 сат / вбайт и 483 внутричейн-транзакциях это легко составляет 1 миллион сат, чтобы принудительно закрыть один атакованный канал (плата за закрытие канала составляет 368 долларов по сегодняшним ценам). Множественные транзакции в цепочке происходят только в том случае, если вывод превышает минимальный предел «пыли» для платежей. (См. Этот пример в тестовой сети.)

Как предотвратить нападение горя

Джагер работал над программой проверки концепции, чтобы помочь изолировать злоумышленников и бороться с ними. Он называет свою программу «Автоматический выключатель». Автоматический выключатель работает на сетевом уровне, что, к сожалению, означает, что все должен участвовать, чтобы он был эффективным.

Интересное  Непревзойденное влияние Ананасового фонда - журнал Bitcoin

Помимо этого, эта проблема требует определения приоритетов и внимания преданных инженеров / разработчиков для поиска лучших решений. Также было несколько хороших дискуссий об изменении протокола в информационном бюллетене Bitcoin Optech (выпуск № 122 или № 126).

Эта атака может быть осуществлена ​​сегодня. Это чудо, что он еще не использовался злонамеренно. Это отражение стимулов для тех, кто использует Lightning сегодня, чтобы она могла стать открытой универсальной платежной сетью. Поделитесь этим постом, как считаете нужным, чтобы побудить и вдохновить на дальнейшую работу по устранению этой проблемы, прежде чем она нанесет реальный вред.

Дополнительная техническая информация о принудительном закрытии

Вот журналы моего узла, работающего на LND 0.11 в момент вышеупомянутого принудительного принудительного закрытия:

2020-11-26 21: 24: 47,374 (ERR) HSWC: ChannelLink (657759: 561: 0): неудачу ссылка: Channelpoint (c37bec006b18df172698a84739ca47128935e0a8666fecd1a843e49b01db207c: 0): получено от ошибки партнера: Chan_ID = 7c20db019be443a8d1ec6f66a8e035891247ca3947a8982617df186b00ec7bc3, ERR = отвергнуто обязательство: commit_height = 455, invalid_commit_sig = 3044022076fd65191eb6305b723fa6012be378413b6326e2786c38db58b4c02e1f3999d202207605ca31de8b4c5b1d9cd20dc1581dfa2383e0b4e06c8ad4f718ab5c434d8cf5, commit_tx = 02000000017c20db019be443a8d1ec6f66a8e035891247ca3947a8982617df186b00ec7bc300000000008a792e8002210d0000000000002200201031cf10a1efef261edd3d0a1a6a953b27bc25bd7150bb2b07afdc69805e02157213000000000000160014de650929042bef58b71783ae1a44834a902a8f2d542ca720, sig_hash = 4e0fb804c74376020e4c44a60969b9206eb0aaa9a89b76017d60f23ad5cf63e5 с ошибкой: ошибка удаленного

В журналах отображается «invalid_commit_sig», который является известной проблемой в LND. Предположительно, это может произойти при повторном подключении и не является прямым результатом заглушки канала. К сожалению, объем ожидающих HTLC увеличивает вероятность этого. Ягер помог объяснить этот процесс как заклинивание канала -> бесконечный цикл оплаты (ошибка) -> отключение узла -> переподключение -> недопустимый сигнал фиксации (ошибка) -> принудительное закрытие канала.

Ошибка «бесконечного» цикла — это известная ошибка, которая возникает, когда достигается предел HTLC и отправляется дополнительный HTLC. Вместо того, чтобы закончиться неудачей платежа, LND будет продолжать попытки платежа в цикле. Чтобы помочь с этой ошибкой, см. Проблему LND № 4656.

Это гостевой пост от Jestopher. Выраженные мнения являются полностью их собственными и не обязательно отражают мнение BTC Inc или Журнал Биткойн.


Только медийное адаптивное
Только медийное адаптивное
Только медийное адаптивное

Оставьте ответ

Ваш электронный адрес не будет опубликован.

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

elementum id, dolor ut risus ut ut tristique et, nec Donec neque.