Aqua protocol & bugblow
Audit
By finding critical vulnerability missed in previos Beosin audit

Aqua Protocol — децентрализованная платформа кредитования, основанная на Liquid
Staking Tokens (LST) [1], с фокусом на TON Coin в сети Proof-of-Stake TON. Протокол
предоставляет займ через выпуск AquaUSD — стейблкойна, обеспеченного избыточным
залогом и привязанный 1:1 к доллару США.
Платформа ранее проходила аудит от компании Beosin, но обеспокоенная взломами
похожих проектов в прошлом [2], команда AquaProtocol решила провести повторный аудит
смарт-контрактов. Из всех возможных аудиторов, BugBlow, недавно сформировавшаяся
команда, была выбрана за высокую квалификацию, большой опыт в индустрии и наличие
специализированных сертификатов. Аудитором безопасности был Александр Долгавин,
PhD в области кибербезопасности.

Аудит начался с изучения документации и анализа исходного кода. В течение первых
нескольких дней Александр задавал уточняющие вопросы, чтобы глубже разобраться в
логике работы и архитектуре платформы провел дополнительный аудит,
На следующем этапе Александр сосредоточился на выявлении критических секций -
работы с балансами, покупка, продажа ассетов, внешние источники данных. Его задача
состояла в том, чтобы понять неявные предположения разработчиков — какие действия
ожидаются от пользователей и как эти предположения могут быть злоупотреблены.
Хакеры, как правило, ищут слабые места, в которых система полагается на
предсказуемое поведение, и пытаются нарушить эти предположения, используя
платформу не по назначению.
Одним из таких найденных ключевых предположений было то, что протокол
автоматически доверяет подписанным ценам на активы, которые приносят пользователи
с каждой транзакцией. Александр обнаружил, что протокол может принимать устаревшие
(протухшие) подписанные данные о ценах без проверки их актуальности в течении
некоторого периода. Это позволяет хакерам воспользоваться ситуацией: приобрести
активы по заниженной цене, а затем, отправив устаревшие данные с более высокой
ценой, продать их по завышенной стоимости. Повторяя такие действия, атакующий может
полностью истощить ресурсы протокола (Рисунок 1).
Эта уязвимость является классическим примером Replay-атаки, от которой в прошлом
страдали многие протоколы [3].



Рисунок 1. Replay атака в Aqua Protocol


Этот сценарий был сымитирован на безопасном локальном окружении. Как только
предположение Александра подтвердилось, команда разработчиков получила
информацию об уязвимости и проконсультировавшись с Александром, начала работу над
исправлением.
Повторяя анализ и проверку на протяжении двух недель, Александр продолжал изучать
каждую строчку кода протокола. В результате были обнаружены ещё три уязвимости
средней степени риска. После завершения этого этапа, Александр начал проверку
протокола на наличие уязвимостей из списка прошлых уязвимостей, накопленных в
смарт-контрактах за годы их использования в проектах.
Когда все обнаруженные уязвимости были устранены, Александр провёл финальный
аудит, чтобы убедиться, что все проблемы успешно решены. Результаты аудита были
опубликованы в публичном отчёте, доступном по ссылке в конце этой статьи.

AquaProtocol выразил благодарность BugBlow за профессионализм и глубокий
технический анализ, отметив, Александр Долгавин сыграл ключевую роль в обеспечении
безопасности их проекта.

Ссылка на полный отчет

[1] https://www.bitcoin.com/get-started/what-is-a-liquid-staking-token/
[2] https://www.halborn.com/blog/post/explained-the-fei-protocol-hack-april-2022
[3] https://www.coindesk.com/markets/2016/07/29/rise-of-replay-attacks-intensifies-ethereum-

Alexandr Dolgavin

Security auditor
LET'S GO!