May 22, 2022

Самые крупные взломы контрактов/DeFi!

Материал написан эксклюзивно для сообщества SerpMagazine.

Думаю что стоит начать с самых основ, чтобы стало максимально понятно почему контракты ломаются у казалось бы очень крупных DeFi проектов с многомиллионным TVL'ом.

Что такое DeFi?

Это совокупность блокчейн-протоколов, которые позволяют предоставлять финансовые услуги без участия традиционных централизованных посредников, таких как банки, брокеры и криптобиржи.

А для обеспечения выполнения условий каждой сделки используются смарт-контракты.

Смарт-контракт - аналог соглашения, которое вы заключается, например, с банком.

Что такое смарт-контракты?

Объясняя максимально просто, смарт-контракт - это соглашение между сторонами, которое хранится в распределенном реестре (блокчейне).

Как только данные условия соглашения будут выполнены, то смарт-контракт самостоятельно выполняет транзакцию и гарантирует, что соглашение будет соблюдаться.

Поскольку практически любой может раскрутить протокол DeFi и написать смарт-контракты, недостатки в коде распространены.

И в DeFi мире есть много, которые готовы искать эти ошибки и извлекать личную выгоду.

Когда это происходит, проекты теряют десятки, а то и сотни миллионов долларов.

Compound, 150 милионов долларов.

Во время обновления протокола один из специалистов команды Compound совершил опечатку в один символ в смарт-контракте, что привело к непропорционально большим наградам в токенах $COMP за заимствование средств на площадке.

Вызвав функцию drip (), неизвестные перевели на проблемный адрес 202 472 токенов управления COMP (~$66,8 млн на момент написания) из смарт-контракта Reservoir.

Wormhole, 323 миллиона долларов.

Wormhole - кроссчейн мост, который позволяет переводить токены из одной сети в другую.

Мосты используют обёрнутые токены, которые фиксируют токены в одном блокчейне в смарт-контракте. После того, как децентрализованный межцепочечный оракул*, называемый "хранителем", удостоверит, что монеты были должным образом заблокированы в одной цепочке, мост создаёт или выпускает токены той же стоимости в другой цепочке.

Хакеры провернули кражу, используя более раннюю транзакцию для создания набора подписей, который представляет собой тип учётных данных.
С помощью этого они создали VAA, или утверждение действия валидатора [validator action approval], которое, по сути, является сертификатом, необходимым для утверждения транзакций.

Остальное – история.

Резюмируя.

Wormhole должным образом не проверила все учётные записи ввода, что позволило злоумышленнику подделать подписи хранителей и отчеканить 120 000 ETH на Solana, из которых они перевели 93 750 обратно в Ethereum.

Но на этом история не заканчивается, вы ведь не думаете, что можно вот так просто украсть 323 миллиона долларов и вывести их в фиат без проблем?

Wormhole предложили выплатить злоумышленнику $10 млн, в случае возвращения всех украденных средств.

Понимая, что такую крупную сумму ему никак не удастся вывести без шума, он согласился и получил свои заслуженные 10.000.000$.

На данный момент это самая крупная выплата за найденную уязвимость в криптоистории.

Poly Network, 611 миллионов долларов.

Протокол Poly Network позволяет переводить токены между различными блокчейнами.
Он разработан альянсом команд, стоящих за блокчейн-платформами Neo, Ontology и Switcheo.

По предположению экспертов, причиной взлома стала проблема с криптографией — хакеры каким-то образом подделали подпись транзакции, чтобы украсть средства.

Ronin, 625 миллионов долларов.

Хакеру удалось заполучить 173 600 ETH, а также стейблкоины USDC общей стоимостью $25,5 млн.

Ronin подвергся атаке 51%.
При подобной атаке большей частью валидаторов управляет 1 человек и имея полный контроль над сетью он может инициировать и подписывать любые транзакции.

Система защиты Ronin Network использует девять валидаторов для подтверждения транзакции. Для ввода или вывода средств системе достаточно получить подтверждения от пяти из них.

Злоумышленнику удалось получить доступ к четырём валидаторам, принадлежащим Sky Mavis — компании, которой принадлежит Ronin — а пятый он извлёк из сторонней базы данных с помощью удалённого вызова процедур (RPC).