Согласно недавнему исследованию, сеть Lightning Network поверх блокчейна Биткоина может оказаться уязвимой для простой и разрушительной DoS-атаки.

Исследование, выпущенное Сааром Тохнером (Saar Tochner), Авивом Зохаром (Aviv Zohar) и Стефаном Шмидом (Stefan Schmid), описывает DoS-атаку, которая может быть использована для замедления или даже остановки значительной доли платежей в сети.  Документ под названием «Захват маршрутов в платежных сетях», был опубликован в середине прошлого месяца.

«Атака допускает вмешательства в платежи Lightning Network», - отмечает Зохар.

Подобная атака возможна, потому что каждый платеж Lightning Network передается через сеть узлов для достижения пункта назначения. Если один из этих промежуточных узлов ведет нечестную игру, он может замедлить платеж вместо того, чтобы быстро передать его дальше. Более того, в настоящее время, по словам Зохара, выполнение подобной DoS-атаки достаточно легко реализовать, так как сеть маршрутизации LN все еще слабо развита.

«Ее очень легко выполнить. Требуется открыть несколько каналов Lightning для ключевых точек, пообещать нулевые сборы, а затем не передавать платежи», - сказал он.

Реализацию подобной атаки исследователи еще не наблюдали в реальных условиях, но она потенциально может затруднить использование Lightning Network. Это открытие привлекло внимание разработчиков, работающих над Биткоином и LN.

«Документ очень интересный, так же как и анализ различных эвристических методов, используемых для поиска маршрутов. Мы очень рады, что независимые исследователи изучают уязвимости», - сказал технический директор стартапа Acinq Фабрис Друин (Fabrice Drouin).

«Усиленный» отказ в обслуживании

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

«Можно открывать каналы, которые предлагают короткие и недорогие маршруты в сети, которые затем выбираются (почти всегда) для платежей», - пояснил Зохар.

Таким образом, злоумышленники могут перехватывать значительную часть платежей сети в определенный момент времени. «Мы обнаружили, что всего пяти новых ссылок достаточно, чтобы привлечь большую часть (65–75%) трафика, независимо от используемого клиента», - поясняется в документе. Более того, злоумышленники могут повторять эти действия, чтобы обеспечить прекращение платежей.

«Затем, когда приходит запрос на платеж, можно просто отказаться от его отправки. Тогда выбирается новый путь и каналы атакующего снова попадают в маршрут», - сказал Зохар. «Я думаю, что сейчас сеть не используется интенсивно, и нарушение ее работы не нанесет слишком большого ущерба. Атака не приносит злоумышленнику прямой прибыли, поэтому стимул будет существовать только в том случае, если Lightning активно используется в качестве платежной сети», - сказал Зохар.

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

Тем не менее, Зохар утверждает, что «траты не настолько велики, учитывая ущерб, который можно нанести». Злоумышленнику потребуется около 20 новых каналов, чтобы атаковать около 80% всех транзакций, поэтому общие затраты на атаку составят около $2000».

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

«Об этом пока непросто говорить, потому что мы все еще разрабатываем систему маршрутизации в LND», - сказал Алекс Босуорт (Alex Bosworth), руководитель направления разработки инфраструктуры в Lightning Labs.

Босворт отметил, что изменения происходят быстро, и что новая версия LND, которая вышла на прошлой неделе, например, имеет некоторые «серьезные изменения», влияющие на маршрут, который анализировали исследователи.

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

«Батутные» платежи

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

«По мере роста сети реализации Lightning будут развертывать более агрессивную эвристику, чтобы запретить работу пиров, ведущих себя ненадлежащим образом», - сказал Друин. «Например, мы не просто смотрим на самые низкие комиссии при расчете маршрутов, мы пытаемся выбрать более старые каналы, поэтому злоумышленнику придется подождать и хорошо себя зарекомендовать, прежде чем он сможет осуществить атаку».

Друин утверждает, что в будущем появятся и другие улучшения, в том числе «батутные» платежи - функция, предложенная разработчиком технологии Lightning в Blockstream Кристианом Декером (Christian Decker).

Работа Lightning должна быть мгновенной, но за кулисами каждый узел в сети, обеспечивающий платеж из пункта А в пункт В, должен выполнить небольшой расчет, поскольку он переносит данные. На самом деле, не все пользователи LN имеют достаточно мощное оборудование для выполнения этих вычислений, что требует использования системы «батута».

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

Напомним, что в середине сентября технический директор Lightning Labs Олаолува Осунтокун (Olaoluwa Osuntokun) и компания ACINQ сообщили, что недавно обнаруженные в Lightning Network уязвимости уже используются злоумышленниками.