👋 Хотите работать с нами? CryptoSlate набирает несколько вакансий!

Поскольку сектор DeFi продолжает привлекать деньги и пользователей, злоумышленники со всего мира продолжают рассматривать его как привлекательную цель, которая созрела для выбора и плохо защищена.

За последние несколько месяцев я отслеживал некоторые из наиболее заметных эксплойтов протоколов DeFi, и по крайней мере семь из них, по-видимому, являются результатом одних только недостатков смарт-контрактов.

Например, хакеры взломали и ограбили Wormhole, похитив более 300 миллионов долларов, Qubit Finance (80 миллионов долларов), Meter (4,4 миллиона долларов), Deus (3 миллиона долларов), TreasureDAO (более 100 NFT) и, наконец, Agave и Hundred Finance, которые вместе , потеряли в общей сложности 11 миллионов долларов. Все эти атаки привели к хищению довольно значительных сумм денег, что нанесло проектам большой ущерб.

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

Какие типы эксплойтов применялись во время атак?

Естественно, каждый из этих случаев уникален, и для решения каждого отдельного проекта использовались разные типы эксплойтов в зависимости от их уязвимостей и недостатков. Примеры включают логические ошибки, атаки повторного входа, атаки flashloan с манипулированием ценами и многое другое. Я считаю, что это результат того, что протоколы DeFi становятся все более сложными, и сложность кода делает все более и более трудным устранение всех недостатков.

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

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

Второе, что бросалось в глаза, это то, что в некоторых случаях хаки были на самом деле очень простыми. Возьмем, к примеру, атаку Hundred Finance. Проект был поражен из-за известной ошибки, которую обычно можно найти в ответвлениях Compound, если в протокол добавлен токен. Все, что нужно сделать хакеру, — это дождаться, пока один из этих токенов не будет добавлен в Сотню Финансов. После этого все, что нужно, это выполнить несколько простых шагов, чтобы использовать эксплойт, чтобы добраться до денег.

Что могут сделать проекты DeFi, чтобы защитить себя?

Двигаясь вперед, лучшее, что эти проекты могут сделать, чтобы защитить себя от злоумышленников, — это сосредоточиться на проверках. Чем глубже, тем лучше, и проводится опытными специалистами, которые знают, на что обратить внимание. Но есть еще одна вещь, которую проекты могут сделать еще до того, как прибегнуть к аудиту, а именно убедиться, что у них есть хорошая архитектура, созданная ответственными разработчиками.

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

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

Насколько на самом деле может помочь аудит?

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

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

Вот где вступают в действие аудиты, поскольку, если вы тестируете код и надлежащим образом документируете ход его разработки и тестов, вы можете избавиться от большинства проблем на ранней стадии.

Конечно, даже аудиты не могут дать 100% гарантии отсутствия проблем с кодом. Никто не может. Не случайно хакерам требуются месяцы, чтобы вычислить наименьшую уязвимость, которую они могут использовать в своих интересах — вы не можете создать идеальный код и сделать его полезным, особенно когда речь идет о новых технологиях.

Аудиты действительно уменьшают количество проблем, но реальная проблема заключается в том, что многие из проектов, которые пострадали от хакеров, вообще не подвергались никаким аудитам.

Итак, всем разработчикам и владельцам проектов, которые все еще находятся в процессе разработки, следует помнить, что безопасность не достигается прохождением аудита. Тем не менее, это, безусловно, начинается там. Работайте над своим кодом; убедитесь, что у него хорошо продуманная архитектура и что над ним работают умелые и старательные разработчики.

Убедитесь, что все протестировано и хорошо задокументировано, и используйте все имеющиеся в вашем распоряжении ресурсы. Вознаграждения за обнаружение ошибок, например, — отличный способ проверить ваш код людьми с точки зрения хакеров, а свежий взгляд от того, кто ищет способ проникнуть внутрь, может быть бесценным для защиты вашего проекта.

Источник