Поскольку сектор DeFi движение вступающие за децентрализованные финансовые сервисы, созданные на блокчейне. Альтернатива традиционным банкам, биржам т.д продолжает привлекать деньги и пользователей, плохие игроки со всего мира продолжают рассматривать его как привлекательную цель, которая созрела для выбора и плохо защищена.
В течение последних нескольких месяцев я отслеживал некоторые наиболее заметные эксплойты протоколов DeFi, и по крайней мере семь из них, похоже, являются результатом одних только недостатков смарт-контрактов.
Например, хакеры атаковали и ограбили Wormhole, украв более $300 млн, Qubit Finance ($80 млн), Meter ($4,4 млн), Deus ($3 млн), TreasureDAO (более 100 NFT), и, наконец, Agave и Hundred Finance, которые вместе потеряли в общей сложности $11 млн. Все эти атаки привели к краже довольно значительных сумм денег, нанеся серьезный ущерб проектам.
Многие из целевых протоколов столкнулись с девальвацией своей криптовалюты, недоверием пользователей, критикой в отношении безопасности DeFi и смарт-контрактов и другими подобными негативными последствиями.
Какие виды эксплуатации имели место Контракт или сделка по покупке или продаже криптовалюты для немедленного расчета или оплаты и поставки криптовалюты на рынке. во время атак?
Естественно, каждый из этих случаев уникален, и для борьбы с каждым отдельным проектом использовались различные типы эксплойтов, в зависимости от их уязвимостей и недостатков. В качестве примеров можно привести логические ошибки, атаки на реентерабельность, атаки на флэш-кредиты с манипуляцией ценами и многое другое. Я считаю, что это результат того, что протоколы DeFi становятся все более сложными, и по мере их усложнения становится все труднее устранить все недостатки кода.
Кроме того, анализируя каждый из этих инцидентов, я заметил две вещи. Первый заключается в том, что каждый раз хакерам удавалось уйти с огромными суммами — криптовалютой на миллионы долларов.
Такая «оплата» дает хакерам стимул тратить любое необходимое время на изучение протоколов, даже месяцы подряд, поскольку они знают, что вознаграждение будет того стоить. Это означает, что хакеры мотивированы тратить гораздо больше времени на поиск недостатков, чем аудиторы.
Второе, что бросается в глаза, это то, что в некоторых случаях взломы были очень простыми. Возьмем в качестве примера атаку Hundred Finance. Проект был взломан с помощью хорошо известной ошибки, которая обычно встречается в форках Compound, если в протокол Набор правил, определяющих взаимодействие в сети, обычно включающий консенсус, подтверждение транзакций и участие сети в блокчейне. добавляется токен. Все, что нужно сделать хакеру, — это дождаться, пока один из таких токенов будет добавлен в Hundred Finance. После этого достаточно выполнить несколько простых шагов, чтобы с помощью эксплойта добраться до денег.
Что могут сделать проекты DeFi, чтобы защитить себя?
В будущем лучшее, что могут сделать эти проекты для защиты от недобросовестных участников, — это сосредоточиться на аудиторских проверках. Чем более глубокие, тем лучше, и проводимые опытными профессионалами, которые знают, на что обратить внимание. Но есть еще одна вещь, которую проекты могут сделать, даже не прибегая к аудиту, — это обеспечить наличие хорошей архитектуры, созданной ответственными разработчиками.
Это особенно важно, поскольку большинство блокчейн-проектов имеют открытый исходный код, что означает, что их код, как правило, копируется и используется повторно. Это ускоряет процесс разработки, а код остается бесплатным.
Проблема возникает, если выясняется, что он несовершенен, и его копируют до того, как первоначальные разработчики обнаружат уязвимости и исправят их. Даже если они объявят и внедрят исправление, те, кто скопировал его, могут не заметить новости, и их код Действие кодирования заключается в написании программных утверждений для программы. останется уязвимым.
Насколько реально могут помочь аудиты?
Смарт-контракты функционируют как программы, работающие на технологии блокчейн. Поэтому вполне возможно, что они несовершенны и содержат ошибки. Как я уже говорил, чем сложнее контракт, тем больше шансов, что один или два недостатка ускользнут от внимания разработчиков.
К сожалению, существует множество ситуаций, когда нет простого решения для устранения этих недостатков, поэтому разработчикам следует не торопиться и убедиться, что код выполнен правильно, а недостатки замечены сразу или, по крайней мере, как можно раньше.
Именно здесь на помощь приходит аудит, ведь если вы тестируете код и надлежащим образом документируете ход его разработки и тесты, вы сможете избавиться от большинства проблем на ранней стадии.
Конечно, даже аудиты не могут дать 100% гарантии, что с кодом не возникнет проблем. Никто не может. Не случайно хакерам требуются месяцы, чтобы найти мельчайшую уязвимость, которую они могут использовать в своих интересах — невозможно создать идеальный код и сделать его полезным, особенно когда речь идет о новой технологии.
Аудиты действительно уменьшают количество проблем, но реальная проблема заключается в том, что многие проекты, пострадавшие от хакеров, вообще не подвергались аудиту.
So, to any developers and project owners who are still in the development process is to remember that security doesn’t come from passing an audit. However, it certainly starts there. Work on your code; make sure that it has a well-designed architecture and that skillful and diligent developers work on it.
Убедитесь, что все протестировано и хорошо документировано, и используйте все имеющиеся в вашем распоряжении ресурсы. Например, вознаграждения за ошибки — это отличный способ проверить ваш код людьми с точки зрения хакеров, а свежий взгляд человека, ищущего способ проникновения, может оказаться бесценным для обеспечения безопасности вашего проекта.