Crypto Prices

Kasplex KRC-20: Индексатор Обходит Подпись и Опустошает Два Токен Пула

2 часа назад
2 минут чтения
2 просмотров

Введение

В эти выходные злоумышленник вывел 186,4 миллиона токенов ZEAL и 54,4 миллиарда токенов NACHO из кошелька моста Kaspa KRC-20, не обладая его приватным ключом. Затем он переработал токены через сети второго уровня (L2) и продал их в ликвидные пулы. Странная часть заключается в том, что сама сеть Kaspa не была взломана.

Суть инцидента

Пять действительных транзакций обманули внецепочечный индексатор, заставив его распознать переводы, которые никто на самом деле не подписывал, оставив токены моста без обеспечения и некоторые пулы лишенными до 99,6% своей стоимости на стороне KAS.

Приватный ключ должен быть границей между владением криптовалютой и простым знанием о том, где она находится. 20 сентября кто-то нашел способ обойти это предположение для токенов KRC-20, не нарушая базовую цепь Kaspa. Злоумышленник переместил 186,425,259 ZEAL и 54,397,983,246 NACHO с адреса хранения моста, хотя и не контролировал его приватный ключ.

Механизм атаки

Эти токены затем были отправлены обратно на тот же адрес хранения в качестве обычных депозитов моста, выпущенных на EVM-слое Igra Labs и Kasplex L2, и сброшены в ликвидные пулы Zealous Swap. К тому времени, когда пыль осела, балансы злоумышленника на L2 ZEAL и NACHO были пустыми, в то время как затронутые пулы потеряли от 94% до 99,6% своей стоимости на стороне KAS.

Вот в чем загвоздка: слой один (L1) Kaspa выполнил свою функцию. Владение токенами KRC-20 не обеспечивается напрямую консенсусом Kaspa.

Инструкции токена находятся внутри транзакций Kaspa, в то время как внецепочечный индексатор Kasplex читает эти инструкции и определяет, кто чем владеет. Обычно перевод KRC-20 содержит публичный ключ, инструкции токена и действительную подпись. Злоумышленник сохранил эту знакомую структуру, но предоставил пустую подпись и добавил OP_NOT после OP_ENDIF.

Пустая подпись заставляет OP_CHECKSIG возвращать false, а не завершать транзакцию сразу. Дополнительный OP_NOT перевернул этот результат обратно на true, оставив Kaspa с действительной транзакцией. Ничего не пошло не так на уровне консенсуса. Индексатор оказался другой историей.

Последствия и меры

В воскресенье утром Igra сообщила, что все запасы ZEAL и NACHO кошелька хранения были изъяты, оставив 97,651,212 ZEAL и 42,570,879,908 NACHO в сетях второго уровня без полного обеспечения L1. Еще 4,5 миллиарда NACHO остались у злоумышленника на L1.

Igra приостановила выводы iKAS в Kaspa L1 и переводы Hyperlane, в то время как пользователей предупредили о том, чтобы не связываться с токенами KRC-20, не покупать ZEAL или NACHO на децентрализованных биржах (DEX) L2 и не добавлять ликвидность в затронутые пулы.

Коренной KAS, консенсус Kaspa и активы Igra, которые не были токенами KRC-20, были описаны как не затронутые.

Исправление программного обеспечения само по себе не очистит беспорядок. Zealous Swap говорит, что операторы должны исправить индексатор и переиндексировать его историю, отклоняя пустые подписи, неправильно оформленные теги и скрипты, которые продолжаются после OP_ENDIF.

Тем временем Nacho the Kat сообщает, что сообщество намерено перейти к KCC-20, стандарту, предназначенному для внедрения правил токенов в скрипты, которые обеспечиваются самой сетью.

Заключение

Проблема возникла на фоне ряда эксплойтов, ошибок, взломов и утечек данных за последние несколько недель. В субботу поставщик инфраструктуры Lightning Network, предоставляющий как кастодиальные, так и некостодиальные услуги, Blink Wallet, сообщил, что «несколько десятков» кастодиальных аккаунтов были опустошены. Кибербезопасная компания DCENT также сообщила о том, что кошельки DCENT App были откачаны на этой неделе. Тайминг совпадает с тем, что кибератаки усилились, и некоторые подозревают, что ИИ помогает этой волне эксплоитеров.

Популярные статьи