Согласно сообщению в социальной сети платформы безопасности блокчейна CertiK, если бы проблема безопасности моста Wormhole в сети Aptos не была обнаружена, она могла бы привести к убыткам на сумму 5 миллионов долларов.
Платформа заявила, что обнаружила ошибку и сообщила о ней команде Wormhole, прежде чем она была обнаружена. Ошибка уже исправлена, и мост больше не уязвим.
Источник: CertiK.
Aptos (APT) — это сеть блокчейнов, использующая язык программирования MOVE, который изначально был разработан Facebook* для проекта Libra. Сторонники MOVE утверждают, что это более безопасный язык для написания смарт-контрактов по сравнению с Solidity Ethereum или другими альтернативами.
Отчет CertiK был размещен в виде видео. В нем утверждалось, что ошибка «возникла из-за неправильной реализации модификаторов public(friend)» и «entry» в языке программирования MOVE. Модификатор public(friend) позволяет вызывать функцию другими функциями в том же модуле или внешними учетными записями, указанными в «списке друзей», но не другими вызывающими объектами. С другой стороны, модификатор «entry» указывает, что функция может быть вызвана из любой внешней учетной записи.
Мост содержал функцию под названием «publish_event», которая использовалась для объявления таких событий, как передача токенов. Предполагалось, что ее смогут вызывать только другие функции внутри того же модуля или определенные «указанные внешние объекты». Однако в версии моста, которую изучал CertiK, функция была модифицирована как «public(friend)», так и «entry». Это позволило любому вызвать «publish_event», даже если он не является одобренным вызывающим абонентом.
Из-за этого недостатка злоумышленник мог бы создать фальшивые транзакции, которые, по-видимому, перемещали бы токены с одной учетной записи на другую, хотя на самом деле токены не перемещались. Эти «события» могли привести к тому, что версия моста для Ethereum начала бы чеканить или разблокировать токены без каких-либо реальных депозитов, поддерживающих их на стороне Aptos. В результате злоумышленник мог слить с моста средства на сумму до $5 млн, заявили в CertiK.
CertiK проинформировала членов команды Wormhole об уязвимости 5 декабря 2023 года. После изучения отчета команда разработала и протестировала патч, закрывающий лазейку в безопасности, и проинформировала о проблеме стражей протокола. Путем голосования с несколькими подписями Guardians одобрили внедрение патча, а контракт Aptos протокола был обновлен для реализации нового кода. После того, как об ошибке было сообщено, процесс ее исправления занял примерно три часа, и новая версия моста больше не уязвима для этого эксплоита.
Хронология обнаружения и устранения уязвимости моста Wormhole на Aptos. Источник: CertiK.
В дополнение к удалению ключевого слова «entry» из функции публикации_event, новый патч также ограничил значение «лимита управляющей ставки» на Aptos с 5 до 1 миллиона долларов США, эффективно предотвращая снятие средств с Aptos на сумму более 1 миллиона долларов США в день. Это было сделано для ограничения потерь в случае какого-либо другого эксплоита. По заявлению CertiK, текущее использование составляет менее 1 миллиона долларов в день, подразумевая, что ограничение не должно затрагивать большинство пользователей.
Wormhole также провела «ретроспективный анализ», чтобы определить, затронула ли проблема какие-либо средства пользователей. Они пришли к выводу, что никакие средства не были переведены незаконно и что балансы пользователей в безопасности.
Wormhole не всегда удавалось обнаружить недостатки безопасности до того, как они будут использованы. В 2022 году компания потеряла более 321 миллиона долларов, когда ошибка в части моста в сети Solana (SOL) позволила злоумышленнику чеканить необеспеченные токены. Однако позже команда исправила ошибку и выплатила пользователям компенсацию. В январе Wormhole впервые после инцидента показала общую заблокированную стоимость в 1 миллиард долларов, что свидетельствует о том, что некоторые пользователи считают, что методы обеспечения безопасности улучшились.