Вскрытие взлома Euler Finance выявило 8-месячную уязвимость

Вскрытие эксплойта с флэш-кредитом Euler Finance показало, что уязвимость, лежащая в основе эксплойта, оставалась в сети в течение 8 месяцев. 

Ранее на этой неделе из-за уязвимости Euler Finance потеряла 200 миллионов долларов. 

Уязвимость восьмимесячной давности 

Партнер Euler Finance по аудиту, компания Omniscia, опубликовала подробный отчет о вскрытии, в котором анализируется уязвимость, которую хакеры использовали ранее на этой неделе. Согласно отчету о вскрытии, уязвимость возникла из-за неправильного механизма пожертвований протокола децентрализованных финансов, который позволял выполнять пожертвования без надлежащей проверки работоспособности. Код был представлен в протоколе eIP-14, который внес ряд изменений в экосистему Euler Finance. 

Euler Finance позволяет пользователям создавать искусственное кредитное плечо, чеканя и внося активы в одной и той же транзакции. Этот механизм позволил пользователям чеканить больше токенов, чем залог, которым владеет сам Euler Finance. Новый механизм позволил пользователям пожертвовать свой баланс на резервный баланс токена, с которым они совершали транзакцию. Однако ему не удалось выполнить какую-либо проверку работоспособности учетной записи, выполняющей пожертвование. 

Как эксплуатировалась уязвимость 

Пожертвование привело бы к тому, что долг пользователя (DToken) остался бы неизменным. Однако баланс их собственного капитала (EToken) уменьшится. На этом этапе ликвидация учетной записи пользователя приведет к тому, что часть токенов Dtoken останется, что приведет к созданию безнадежного долга. Этот недостаток позволил злоумышленнику создать позицию с чрезмерным кредитным плечом, а затем ликвидировать ее самостоятельно в том же блоке, искусственно заставив ее уйти «под воду».

Когда хакер ликвидирует себя, применяется процентная скидка, в результате чего ликвидатор берет на себя значительную часть единиц EToken со скидкой и гарантирует, что они будут «над водой», взяв на себя долг, который будет соответствовать полученному залогу. Это приведет к тому, что у нарушителя будет безнадежная задолженность (DToken), а у ликвидатора будет чрезмерное обеспечение долга. 

Omniscia заявила, что функция, лежащая в основе уязвимости, не входила в рамки каких-либо аудитов, проводимых фирмой. Согласно анализу, сторонний аудит отвечал за проверку рассматриваемого кодекса, который затем был утвержден. Функция donateToReserves была проверена в июле 2022 года командой Sherlock. Эйлер и Шерлок также подтвердили, что у первого была активная политика покрытия с Шерлоком, когда произошел эксплойт. 

Euler Finance работает с группами безопасности 

После подвига, Эйлер Финанс заявил, что протокол работает с другими группами безопасности для проведения дальнейших проверок. Кроме того, он заявил, что также связался с правоохранительными органами и агентствами, чтобы вернуть украденные средства. 

«Мы опустошены эффектом этой атаки на пользователей протокола Euler и будем продолжать работать с нашими партнерами по безопасности, правоохранительными органами и более широким сообществом, чтобы решить эту проблему как можно лучше. Большое спасибо за вашу поддержку и ободрение».

Отказ от ответственности: эта статья предназначена только для информационных целей. Он не предлагается и не предназначен для использования в качестве юридических, налоговых, инвестиционных, финансовых или иных советов.

Источник: https://cryptodaily.co.uk/2023/03/euler-finance-hack-postmortem-reveals-8-month-old-vulnerability.