Атакующий воспользовался уязвимостью в программном коде Elements, используемом Liquid Network, 6 сентября: он выпустил примерно 4 000 необеспеченных Liquid Bitcoin (LBTC) и конвертировал почти весь объём в реальные BTC через обычный механизм вывода Liquid. Позже атакующий вернул 3 400 BTC, однако около 598,5 BTC — примерно на $47 млн по приведённым оценкам — остаются на адресах под его контролем, при этом публичного соглашения, подтверждающего, что это вознаграждение за обнаружение ошибки, нет.
В результате эксплуатации из мультиподписного резервного кошелька Liquid было выведено около 3 998,5 BTC — примерно 95% находившегося в кошельке биткоин-баланса. После выводов в резервном кошельке оставалось около 197 BTC, не считая частичного возврата. Blockstream, компания, стоящая за Liquid Network и программным обеспечением Elements, заявила, что продолжает переговоры с атакующим и добивается возврата оставшихся BTC.
Инцидент сосредоточил внимание на программных проверках, связывающих выпущенные LBTC с BTC, хранящимися в резерве Liquid. Согласно описанию инцидента, схема хранения Liquid с мультиподписью 11-of-15 не была взломана. Вместо этого система одобрила вывод после того, как мошеннические LBTC попали в процесс peg-out и были признаны действительными.
Поддельные LBTC прошли через обычный маршрут peg-out
Сначала атакующий выпустил LBTC без внесения соответствующего количества BTC в резерв Liquid. Затем этот поддельный баланс был направлен в стандартный процесс peg-out сети, который обычно сжигает LBTC и высвобождает эквивалентное количество BTC из резервного кошелька под контролем федерации.
Вывод средств произошёл в рамках двух транзакций. В первой было перемещено около 2,5 BTC, что, по-видимому, стало проверкой эксплойта. Затем вторая транзакция вывела около 3 996 BTC. В совокупности эти транзакции удалили почти весь резервный баланс, доступный системе peg-out.
Механизм peg-out Liquid предназначен для того, чтобы владельцы LBTC могли обменивать активы сайдчейна на нативные Bitcoin. Процесс требует одобрения федерации операторов, использующей схему мультиподписи 11-of-15. Прежде чем BTC смогут покинуть резерв, вывод должны одобрить как минимум 11 авторизованных подписантов.
В данном случае подписанты, по-видимому, одобрили транзакции, соответствовавшие формальным требованиям к выводу, тогда как базовая система не смогла отклонить недействительные LBTC. Этот эпизод показывает, что пороговая мультиподпись может защищать доступ к резервному кошельку, но сама по себе не доказывает, что каждый актив, предъявленный к погашению, был создан надлежащим образом.
Blockstream заявила, что эксплойт не был связан с утечкой закрытых ключей мультиподписи. Также компания сообщила, что ключ авторизации вывода из привязки, использовавшийся SideSwap — сервисом, связанным с Liquid, — не был украден. Вместо этого злоумышленник воспользовался уязвимостью Elements, чтобы создать недействительные LBTC, а затем использовал предусмотренный процесс сжигания и вывода средств, чтобы получить настоящие BTC.
Контакт через блокчейн привёл к частичному возврату средств
После перемещения средств злоумышленник разместил сообщение в транзакции Bitcoin с помощью OP_RETURN — поля, в котором можно хранить небольшое количество произвольных данных в блокчейне. В сообщении говорилось: «мы белые хакеры. свяжитесь с нами в блокчейне».
Blockstream ответила, отправив 1 000 сатоши на адрес, связанный со злоумышленником, и попросив связаться с компанией. Впоследствии общение продолжилось через сообщения Bitcoin OP_RETURN, подписи PGP и зашифрованные заметки.
Злоумышленник заявил, что большая часть средств будет возвращена после внедрения исправления, и попросил обновить узлы моста до выплаты. После подписанного сообщения о том, что узлы моста были исправлены, злоумышленник 7 сентября вернул 3 400 BTC на мультиподписной кошелёк Liquid.
Оставшиеся примерно 598,5 BTC были переведены на другой адрес, контролируемый злоумышленником. В общедоступных сообщениях, видимых в блокчейне, не было соглашения, предоставляющего злоумышленнику разрешение оставить эти средства себе или определяющего их как вознаграждение за обнаружение уязвимости. В последнем обновлении Blockstream по инциденту этот баланс рассматривается как активы, подлежащие возврату, и сообщается, что обсуждения продолжаются.
Это отличие помещает данный эпизод в иную категорию по сравнению с обычным раскрытием уязвимости и выплатой вознаграждения за найденную ошибку. Исследователи безопасности обычно демонстрируют эксплойты с использованием ограниченных средств или согласовывают раскрытие информации до завладения активами пользователей. В данном случае злоумышленник получил контроль почти над 4 000 BTC до начала общения и сохранил значительную часть средств после частичного возврата.
Срочное исправление направлено на недействительные выводы из привязки
Blockstream запланировала срочный выпуск Elements v23.3.4 для устранения уязвимости. Ожидается, что операторы Functionary, помогающие обеспечивать работу инфраструктуры федерации Liquid, изменят поведение сети так, чтобы недействительные выводы из привязки отклонялись до возобновления обычной работы сервиса.
В последнем обновлении Liquid ещё не полностью вернулся к нормальной работе, а Blockstream не установила подтверждённые сроки полного восстановления или возврата непогашенных BTC. Реакция, вероятно, будет внимательно отслеживаться учреждениями и сервисами, использующими сайдчейн для расчётов и выпуска активов.
Запущенный в 2018 году Liquid — это сайдчейн Bitcoin, предназначенный для более быстрых и конфиденциальных расчётов между участвующими организациями. Он также поддерживает выпускаемые активы, включая стейблкоины и токенизированные ценные бумаги. Согласно предоставленным данным, число организаций, участвующих в управлении и работе Liquid, выросло с 23 до 87, а стоимость реальных активов, выпущенных в сети, превысила $5 млрд.
Эксплойт не свидетельствует о компрометации самого Bitcoin. Выведенные BTC поступили из собственного федеративного резерва Liquid, где биткоины хранятся для обеспечения LBTC, обращающихся в сайдчейне. Однако эта потеря демонстрирует, как уязвимость в процессе проверки активов может подорвать обеспечение моста, даже если ключи подписи резервного кошелька остаются в безопасности.
Следующая операционная проверка Liquid — сможет ли исправленное программное обеспечение и процедуры федерации восстановить уверенность в том, что каждому погашенному LBTC соответствует BTC, фактически находящийся в резерве. Возврат оставшихся 598,5 BTC уменьшил бы прямой дефицит резерва, а обращение с заявленным статусом атакующего как white hat определит, как этот инцидент будет воспринят во всём сообществе информационной безопасности.
Беспокоят взломы мостов и риски сайдчейнов? Углубите свои знания в области безопасности с помощью этого руководства по нарушениям безопасности в криптовалютной сфере прямо сейчас.
Отказ от ответственности: Содержимое этой страницы предоставлено исключительно в общих информационных целях и не отражает позицию Toobit и не является финансовой консультацией. Мы не гарантируем точность или полноту этой информации и не несём ответственности за какие-либо ошибки, пропуски или последствия, возникшие в результате её использования. Инвестирование в цифровые активы сопряжено с риском; пользователям следует самостоятельно оценить своё финансовое положение и связанные с этим риски. Для получения дополнительной информации ознакомьтесь с нашими Условиями использования и Раскрытием информации о рисках.
