Как аудит смарт-контрактов DAO помогает повысить безопасность? PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.

Как аудит смарт-контрактов DAO помогает повысить безопасность?

Время Читать: 6 минут

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

DAO в значительной степени сосредоточен на двух аспектах — шифровании и распределенном хранилище. Это дает им возможность работать на основе коллективного решения членов сообщества.

Как и в случае с любым протоколом Web3, проблемы с безопасностью связаны и с протоколами DAO. 

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

Цель ДАО

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

В этом отношении, Смарт-контракты ДАО предназначены для содействия Ончейн управление

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

” data-gt-translate-attributes=”[{“attribute”:”data-cmtooltip”, “format”:”html”}]”>управление в цепочке, оправдывающее тот факт, что сообщества управляют исключительно блокчейном. 

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

Чтобы проиллюстрировать пример, рассмотрим контракт токена ERC-20. Он создается на основе стандартов ERC-20 с такой информацией, как адрес контракта, поставка токена, имя токена, условия передачи токена и т. д. 

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

Например, DAO имеет встроенные казначейские обязательства. Средства от них тратятся после одобрения группы, и ни один орган не имеет доступа к выполнению какого-либо плана. 

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

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

Шаги, связанные с настройкой смарт-контрактов DAO

Механика Ончейн управление

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

” data-gt-translate-attributes=”[{“attribute”:”data-cmtooltip”, “format”:”html”}]”>управление в цепочке осуществляется посредством набора контрактов — токена, регулятора и временной блокировки . Давайте выясним роль каждого из них. 

Маркеров: Токены определяют право голоса членов сообщества для участия в Ончейн управление

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

” data-gt-translate-attributes =”[{“attribute”:”data-cmtooltip”, “format”:”html”}]”>управление в цепочке. Контракт токена гарантирует, что баланс будет проверен для получения полномочий и позволит участникам выразить свой выбор в отношении предложений по управлению. 

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

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

Блокировка времени: Аспект Timelock включает настройку AcessControl для предлагаемой роли, роли исполнителя и роли администратора. Интеграция компонента временной блокировки с системами управления дает участникам свободу уйти в случае несогласия с решением. 

Общий взгляд на страхи безопасности для DAO. 

Зависимость ДАО от смарт-контрактов возлагает на них ответственность за управление голосованием и обслуживание казначейства. И у каждого из этих элементов есть свои проблемы с безопасностью; давайте раскрутим их ниже. 

Проблемы безопасности в смарт-контракте

Давайте немного отмотаем назад и вспомним всем известный «крах DAO». Основной причиной стала ошибка в коде DAO. Хакер смог воспользоваться уязвимостью и вывести средства из контракта, сделав Рекурсивные вызовы

Рекурсивный вызов — это условие, которое может ссылаться на себя и вызывать его снова и снова в цикле. Рекурсивная функция использует базовый случай (if) и индукционный случай (else). Атаки повторного входа выполняются путем использования рекурсивных вызовов в коде.

” data-gt-translate-attributes =”[{“attribute”:”data-cmtooltip”, “format”:”html”}]”>рекурсивные вызовы. 

Контракт содержал 12.7 млн ​​эфира, из которых хакер украл 3.6 млн эфира, воспользовавшись лазейкой в ​​контракте.

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

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

Проблемы безопасности в управлении

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

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

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

Предложения со злыми намерениями вызывают серьезная проблема безопасности над внесенными в протокол изменениями. AAVE и Compound в прошлом страдали от таких взломов. 

Проблемы безопасности при выполнении

У MakerDAO, запущенного в сети Ethereum в 2017 году, дела шли хорошо. До краха рынка в 2020 году, когда цена эфира упала на 50%. Это был самый важный залог, используемый в MakerDAO, и обвал цен вызвал массовую ликвидность.

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

С тех пор выполнение механизма DAO также было добавлено в список других существующих проблем безопасности. 

Контрольный список для аудита смарт-контрактов DAO

Безопасность является преобладающим аспектом в Ончейн управление

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

” data-gt-translate-attributes=”[{“attribute”:”data-cmtooltip”, “format”:”html”}]”>управление внутри цепочки, чтобы защитить власть от попадания в плохие руки. Итак, с точки зрения безопасности, давайте найдем рекомендации по разработке надежных контрактов DAO.

Низкоуровневые вызовы: Вызовы произвольных контрактов, которые извлекают произвольные данные, должны обрабатываться осторожно. 

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

ETH-холдинги: Основываясь на выводах аудита, было много случаев, когда ETH не обрабатывались должным образом в контрактах, связанных с управлением. Таким образом, предлагается обеспечить способ отправки ETH, когда контракты на управление требуют обработки ETH.

Еще одна предосторожность, которую следует соблюдать, — это использование msg.value, которое разрешает пакетные вызовы. Скорее всего, этот шаблон может пойти не так. 

Воздержитесь от эксплойтов Flash-кредита: На флэш-кредиты рассчитывают эксплуататоры, которые хотят повлиять на решения управления и начать атаку. Они берут мгновенные кредиты и получают голоса руководства посредством владения токенами, чтобы манипулировать решением управления. 

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

Регулярные обновления: Даже если в контракте не обязательно есть какие-либо недостатки, вы всегда должны проверять рынок токенов управления и соответствующим образом корректировать порог. В противном случае это позволит злоумышленникам принимать решения.

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

Включите задержки, используя контракт timelock: Действия с задержкой по времени позволяют сообществу просмотреть изменения в протоколе до того, как они вступят в силу. Эти временные задержки могут быть реализованы с помощью контрактов Timelock. 

Уязвимости, связанные с протоколом: Программное обеспечение, используемое для кодирования протокола, работает с определенной бизнес-логикой, которая может отличаться друг от друга. Как и проблемы, возникающие при внесении изменений в эту систему. 

На самом деле, протокол Compound столкнулся с проблемой из-за одобрения манипулятивного предложения сообщества. Поэтому всегда полезно провести тщательную проверку кодекса коллегами и независимыми сторонами, чтобы убедиться в надежности и надежности контракта.

QuillAudits Eminence в аудите смарт-контрактов DAO

В настоящее время, чтобы система была чисто самофункционирующей, многие проекты находят способ внедрить Ончейн управление

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

” data-gt-translate-attributes =”[{“attribute”:”data-cmtooltip”, “format”:”html”}]”>управление в цепочке. Таким образом, эта область быстро развивается и процветает в соответствии с потребностями сообщества. 

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

16 Просмотры

Отметка времени:

Больше от Квиллхэш