Bitcoin.com News
При поддержке

Зано заявляет, что незаконные токены на сумму свыше 200 млн долларов привели к 30-дневному «откату» блокчейна

В недавнем отчете о расследовании инцидента компания Zano раскрыла уязвимость, которая вынудила её провести экстраординарную 30-дневную «перемотку» блокчейна. Злоумышленник воспользовался отсутствием проверки в адресах шлюзов, чтобы отчеканить примерно 18,4 млн ZANO за одну транзакцию, а затем повторил эту схему и сделал то же самое с fUSD. Первая уязвимость оставалась незамеченной почти месяц, а собственные механизмы конфиденциальности Zano делали поддельные монеты все более трудноотличимыми от легитимных.

АВТОР
ПОДЕЛИТЬСЯ
Зано заявляет, что незаконные токены на сумму свыше 200 млн долларов привели к 30-дневному «откату» блокчейна

Ключевые выводы

  • Zano сообщила, что в результате одной злонамеренной транзакции было создано около 18,4 млн ZANO, а впоследствии были созданы и другие токены.
  • Zano отследила потенциально подозрительную активность по 117 941 выходу и 65 301 транзакции.
  • Команда Zano пояснила, что затронутые балансы будут восстановлены без изменения предложения ZANO.

Одна пропущенная проверка — 18,4 миллиона ZANO

30-дневная «перемотка» блокчейна Zano и без того казалась радикальной мерой. Теперь команда объяснила, что скрывалось за этим, и механизм, по всей видимости, еще более странный. Уязвимость, появившаяся в результате хард-форка 6, позволила злоумышленнику с 29 августа создавать монеты, которые сеть принимала за подлинные.

По данным команды разработчиков, в ходе первой реальной атаки в рамках одной транзакции было создано 2^64 базовых единиц, что составляет примерно 18,4 миллиона ZANO. Почти месяц никто этого не заметил. К тому времени, когда 25 сентября внутренние инструменты Zano подняли тревогу, поддельные монеты уже оказались запутаны в системе конфиденциальности, специально созданной для того, чтобы затруднить отслеживание транзакций.

Проблема началась с «адресов шлюза» (Gateway Addresses) — нового типа адресов, введенного в рамках хард-форка 6 для упрощения интеграции Zano с централизованными биржами (CEX), мостами и другими сервисами. Выходы шлюза раскрывают сумму и идентификатор актива, в отличие от стандартных конфиденциальных выходов Zano, где и то, и другое скрыто.

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

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

Эти монеты не были просто бухгалтерскими записями. Команда заявила:

«Эти монеты функционировали как подлинные ZANO и могли тратиться обычным образом».

Первый чекан оставался незамеченным почти месяц

28 августа злоумышленник зарегистрировал адрес шлюза, уплатив требуемую комиссию в размере 100 ZANO, и, по-видимому, проверил, примет ли Zano сфабрикованный несуществующий актив. На следующий день началось настоящее сражение.

В результате одной транзакции было отчеканено примерно 18,4 млн ZANO, стоимость которых в настоящее время составляет около 102 млн долларов. Спустя почти месяц, 24 сентября, злоумышленник совершил два легитимных депозита по 0,05 ZANO каждый, по-видимому, проверяя обычный маршрут пополнения счета. 25 сентября было создано ещё 18,4 млн ZANO, после чего последовал тот же маневр с 2^64 базовыми единицами с использованием стейблкоина fUSD. В общей сложности это более 200 млн долларов в виде незаконных криптотокенов.

А вот и самое интересное. До Hard Fork 6 Zano проводила тестирование с помощью искусственного интеллекта (ИИ), внутренние аудиты и программы по поиску уязвимостей. Никто не обнаружил эту уязвимость.

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

Конфиденциальность сработала, и в этом заключалась проблема

Как только поддельные монеты попали в систему конфиденциальных транзакций Zano, точно определить, куда именно они пошли, стало совсем другой задачей. Кольцевые подписи смешивают расходы с другими выходами, что приводит к распространению неопределённости при каждом перемещении монет.

Zano просканировала каждый выход, потенциально связанный с тремя транзакциями чеканки. К блоку 3 878 388 след охватывал 117 941 выход, созданный в результате 65 301 транзакции. Впоследствии на основе первой транзакции по чеканке было создано примерно 165 700 выходов, что составило около 71 % сетевой активности за этот период.

«Это и есть конфиденциальность, работающая так, как и задумано», — сказал Zano. «Никто, включая команду Zano, не может точно определить, какие выходы затронуты».

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

Месяц был исключён, и началось восстановление

Этой точкой стал блок № 3 833 000, предшествующий хард-форку № 6. Хард-форк № 7 перезапустил цепочку с этой точки и отключил адреса шлюзов, что означает, что транзакции, вознаграждения за стейкинг и добытые блоки за затронутый период больше не существуют в обновлённом реестре.

Зано также сообщил, что затронутые остатки будут восстановлены в полном объеме без изменения предложения ZANO или графика эмиссии. Финансирование поступит из фонда развития, личных средств членов команды и внешних спонсоров. Биржам теперь необходимо тщательно проверить данные за месяц, транзакцию за транзакцией, прежде чем возобновить доступ.

«На данный момент никаких действий не требуется», — сообщила команда пользователям в своих социальных сетях.

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