Back to Blog

Анализ атаки Зерогоки

Code Auditing
August 9, 2021
2 min read

8 августа 2021 года (по пекинскому времени, высота блока 12982491) проект Zerogoki подвергся атаке, что привело к убыткам в размере 670 тыс. долларов США. После расследования мы обнаружили, что это связано со скомпрометированным ценовым оракулом. Злоумышленник предоставил ценовой оракул, подписанный легитимными закрытыми ключами, который содержал поддельное количество токенов для обмена. Однако причина, по которой злоумышленник смог создать действительную подпись, пока неизвестна.

Анализ кода

Сначала мы провели анализ атакованного контракта (0x80ecdb90).

Функция swap вызывает decode_op для получения информации из оракула. После выполнения проверки контракт сжигает ns[0] токенов x, выпускает (минтит) ns[1] токенов y и выплачивает комиссию за своп контракту GOV.

Исходя из реализации decode_op, в параметрах существуют три подписи. Эти подписи должны быть проверены (наряду с авторизацией) перед выполнением обмена токенов (сжиганием и выпуском).

Таким образом, первый параметр ns функции swap определяет количество токенов для обмена. Второй параметр содержит подписи, которые должны быть проверены. Когда проверка проходит успешно, количество обмениваемых токенов определяется первым параметром (ns).

Анализ атаки

В транзакции атаки, 0x81e5f715, злоумышленник сформировал сообщение, содержащее действительные подписи, и передал подделанный параметр ns (который содержал большое количество zUSD). В результате злоумышленник использовал 300 REI для обмена 700 тыс. zUSD.

Три адреса, сопоставленные с подписями:

0x0d93A21b4A971dF713CfC057e43F5D230E76261C
0x3054e19707447800f0666ba274a249fc9a67aa4a
0x4448993f493b1d8d9ed51f22f1d30b9b4377dfd2

Однако на текущем этапе у нас нет информации о том, почему закрытые ключи этих адресов были скомпрометированы.

Выводы

Обеспечение безопасности DeFi-проекта — непростая задача. Помимо аудита кода, мы считаем, что сообществу следует активно использовать методы мониторинга состояния проекта и блокировать атаку еще до того, как она произойдет.

О компании BlockSec

BlockSec — передовая компания в сфере безопасности блокчейнов, основанная в 2021 году группой всемирно признанных экспертов по безопасности. Компания стремится повысить безопасность и удобство использования для развивающегося мира Web3, чтобы способствовать его массовому внедрению. Для этого BlockSec предоставляет услуги аудита безопасности смарт-контрактов и EVM-сетей, платформу Phalcon для разработки систем безопасности и проактивного предотвращения угроз, платформу MetaSleuth для отслеживания и расследования транзакций, а также расширение MetaSuites для эффективной работы Web3-разработчиков в криптомире.

На сегодняшний день компания обслужила более 300 уважаемых клиентов, таких как MetaMask, Uniswap Foundation, Compound, Forta и PancakeSwap, и получила десятки миллионов долларов США в рамках двух раундов финансирования от выдающихся инвесторов, включая Matrix Partners, Vitalbridge Capital и Fenbushi Capital.

Официальный сайт: https://blocksec.com/

Официальный аккаунт в Twitter: https://twitter.com/BlockSecTeam

Best Security Auditor for Web3

Validate design, code, and business logic before launch. Aligned with the highest industry security standards.

BlockSec Audit