Взлом криптопроектов Fetch.ai и Nunet
Недавно один злоумышленник, похоже, взломал два отдельных криптопроекта в течение одной минуты, выведя 8,72 миллиона FET из конвертера Fetch.ai и одновременно создав около 408,5 миллиона NTX в Nunet. Общий ущерб составил примерно $2,01 миллиона, но наиболее странным аспектом этой атаки стало то, что новосозданные монеты составили около 42% от общего объема токена NTX.
Последствия атаки
Курс FET упал, а рынок NTX фактически вышел из-под контроля. Поздно в субботу и в воскресенье злоумышленник, обладая правильными криптографическими ключами, смог атаковать два криптопроекта почти одновременно, превратив, казалось бы, несвязанные инциденты в одно странное ограбление на сумму $2 миллиона.
На стороне Fetch.ai было украдено 8,721,530 FET, стоимостью примерно $1,55 миллиона, из токенового конвертера. С другой стороны, злоумышленник не просто украл уже существующие монеты, но и создал около 408,5 миллиона новых NTX, стоимостью от $452,000 до $463,000 на тот момент.
Анализ инцидента
Аналитические компании Peckshield, Blockaid и Fetch.ai в конечном итоге связали эту активность с одним и тем же кластером кошельков. Последняя кража FET не была результатом обнаружения математического недостатка или взлома смарт-контракта. Контракт TokenConversionManagerV3 Fetch.ai принял действительную подпись авторизатора конверсии через свою функцию conversionIn.
Проблема заключалась в том, что эта подпись фактически выполняла роль охранника. В отличие от функции conversionOut, она не запускала модификатор checkLimits(amount) и не проверяла в блокчейне, что соответствующие токены были заблокированы или сожжены в другом месте. Как только ключ подписи был скомпрометирован, злоумышленник мог создать новое действительное сообщение, указывающее на его собственный адрес.
Влияние на рынок
Сторона NTX была значительно более разрушительной для самого токена. Вместо того чтобы опустошить конечный кошелек, злоумышленник получил возможность создавать новые монеты. Примерно 408,5 миллиона NTX внезапно вошли в уравнение, что эквивалентно примерно 42% от общего объема. Это создало серьезные проблемы для токена с низкой ликвидностью.
Обменный курс NTX находился около $0,0013 до инцидента. Рыночные данные показали, что он упал более чем на 70% и достиг минимума в $0,000328.
Курс FET также пострадал, но не так сильно. Его обращаемый запас не увеличился внезапно, так как злоумышленник украл существующий запас из конвертера. FET упал примерно на 5% до 8% на нескольких площадках.
Дальнейшие действия
Злоумышленник не оставил украденные активы без дела. PeckShield отслеживал кластер кошельков, меняя выручку на 546,36 ETH, стоимостью примерно $1,44 миллиона на тот момент. Поздний снимок Fetch.ai показал около 547,89 ETH вместе с примерно 230 миллионами NTX, все еще находящимися в одном кошельке.
Fetch.ai сообщила, что средства казначейства, кошельки бирж и пользовательские монеты, хранящиеся в самосохранении или на биржах, не пострадали. Команда начала работать с SingularityNET, чтобы отключить затронутые кошельки и контракты, одновременно предупреждая пользователей игнорировать непрошенные сообщения и полагаться на официальные каналы.
Заключение
Следователи объяснили механизм атаки гораздо лучше, чем ее происхождение. SlowMist подробно описала, как конвертер FET принял скомпрометированную подпись, в то время как Fetch.ai идентифицировала подписанта моста SingularityNET и ключ чеканки NTX, участвовавший в атаке. Однако никто публично не установил, как эти учетные данные были скомпрометированы в первую очередь.
Пока нет подтвержденного публичного ответа, показывающего, произошло ли фишинг, вторжение на сервер, утечка резервной копии или что-то еще, что привело к тому, что ключи оказались в руках злоумышленника. Блокчейн сделал именно то, что действительные подписи сказали ему сделать. Это может быть самой странной частью всей эпопеи.