Сеть блокчейна Sui незаметно исправила ошибку, которая могла поставить под угрозу «миллиарды долларов», согласно заявлению от 16 мая Zellic, компании, нанятой для аудита безопасности сети.
Ошибка была в ПО, которое использует верификатор байт-кода, гарантирующий, что человекочитаемый язык Move, используемый для написания смарт-контрактов на Sui, правильно транскрибируется в машинный код во время развертывания. Если бы ошибка не была исправлена, она могла бы «позволить злоумышленникам обойти несколько свойств безопасности, что привело бы к потенциально значительному финансовому ущербу», — говорится в сообщении.
Mysten Labs подтвердила, что ошибка была исправлена в SUI-версии MOVE.
Компания Zellic заявила, что ошибка могла присутствовать и в других сетях, основанных на Move, включая Aptos (APT) и Starcoin (STC). Однако, по словам Zellic, команда Aptos устранила уязвимость с помощью патча от 10 апреля.
Представитель сети 0L на основе Move заявил, что ошибка не влияет на его версию Move. 15 мая 0L добавила серию тестов на свой GitHub, которые, по словам разработчиков, доказывают, что эксплойт невозможен в версии 0L. Команда Starcoin сообщила, что их версия была исправлена 5 апреля.
Сеть блокчейнов, разработанная Mysten Labs, Sui была основана бывшими инженерами Meta* Platforms. Это ответвление проекта Libra с открытым исходным кодом, созданного компанией Meta*, родителем Facebook*. Libra была закрыта в 2019 году.
Некоторые разработчики предпочитают язык смарт-контрактов Move, потому что его функции безопасности особенно полезны для блокчейнов. Например, он позволяет разработчикам создавать собственные типы данных, в том числе тип «монета», который нельзя скопировать или удалить.
Как и другие блокчейн-сети, Sui не хранит код на том же языке, на котором он написан. Вместо этого он преобразует этот код из понятного человеку языка сети в машиночитаемый байт-код.
Выполняя этот перевод, Sui проводит серию проверок, чтобы убедиться, что переведенный код не нарушает свойства безопасности сети. Например, он гарантирует, что монеты не могут быть удалены или скопированы.
Согласно сообщению в блоге компании Zellic, Mysten Labs наняла ее для оценки безопасности этой программы проверки. В самом верификаторе ошибок не было обнаружено. Однако Zellic обнаружила ошибку в файле «Control Flow Graph» или «CFG», который верификатор использует для выполнения многих своих задач. Из-за того, как она была написана, CFG может позволять скрывать определенные строки кода от верификатора, позволяя сохранять и запускать код, нарушающий принципы безопасности сети, не будучи пойманным.
В своем объяснении команда заявила, что наиболее очевидный способ использования этой уязвимости — это получение злоумышленниками мгновенных кредитов. Когда быстрые ссуды реализуются в сетях на основе Move, протокол ссуды обычно отправляет заемщику актив, который нельзя удалить. Если заемщик сможет удалить этот актив, он «может успешно взять мгновенный кредит и не погасить заемные средства», — сказали в команде. Возможны и другие типы эксплойтов, поскольку уязвимость позволяла нарушить основные принципы безопасности Move. Таким образом, это «поставило под угрозу миллиарды долларов», — говорится в сообщении компании безопасности.
Сети, основанные на Move, и их приложения в последнее время произвели фурор в мире сбора средств. 8 мая децентрализованная биржа Cetus на базе Sui привлекла более 6 миллионов долларов за одну минуту. Компания, стоящая за Aptos, привлекла более 150 миллионов долларов в июле 2022 года.
* Американская корпорация Meta и ее социальная сеть Facebook признаны экстремистскими и запрещены в РФ.