Аудит смарт-контрактов

2022-03-21, 04:37


[TL;DR]



В 2021 году смарт-контракты DeFi возглавили чат взломов блокчейна, в результате эксплуатации, мошенничества и взломов было потеряно криптовалют на сумму более $1,3 млрд. Эти огромные потери можно отследить по неаудированным контрактам, поспешным развилкам, откровенному мошенничеству и многим другим причинам. Но согласно отчету по безопасности Certik DeFi, большинство эксплуатируемых проектов являются неаудированными.

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


Заполните форму, чтобы получить 5 бонусных баллов→


Атаки на смарт-контракты



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

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

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

- Хорошим примером является недавняя атака на Qubit Finance, где хакер использовал межцепочечный мост и украл 206, 809 токенов BNB - около 80 миллионов долларов.
- Другим историческим примером является взлом DAO в 2016 году, в результате которого было потеряно 50 миллионов долларов


Известные или стандартные уязвимости смарт-контрактов



Условия гонки: , когда события происходят не в запланированном порядке. В смарт-контрактах могут возникнуть условия гонки, когда внешние контракты берут на себя управление потоком управления.

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

Cross -function Race Условия: описывают аналогичную атаку двух функций, разделяющих одно и то же состояние, с одинаковыми решениями.

Зависимость от порядка транзакций (TOD) / Front Running: - это еще одно условие гонки, которое влияет на порядок транзакций внутри блока. Манипулируя порядком транзакций, один пользователь получает выгоду за счет другого.

Манипулирование оракулами: Этот вид атаки связан с умными контрактами, которые полагаются на внешние данные в качестве входных данных. Если входные данные неверны, они все равно подаются и автоматически выполняются. Протоколы, полагающиеся на оракулы, которые были взломаны, устарели или имеют злой умысел, могут иметь катастрофические последствия для всех процессов, которые на них полагаются.

Атака на короткий адрес/параметр: этот тип атаки связан с EVM. это происходит, когда смарт-контракт принимает неправильно заполненные аргументы. Таким образом, злоумышленники могут эксплуатировать плохо закодированные клиенты, используя специально составленные адреса, чтобы заставить их неправильно кодировать аргументы перед включением их в транзакции.


Аудит смарт-контрактов



Как и при обычном аудите кода, безопасность смарт-контракта прямо пропорциональна надежности и качеству развернутого кода. Он включает в себя тщательную проверку и анализ кода смарт-контракта. Для этого аудиторы смарт-контрактов проверяют общие ошибки, известные ошибки хост-платформы и моделируют атаки на код. Разработчики (обычно внешние аудиторы смарт-контрактов) затем могут выявить ошибки, потенциальные баги или уязвимости безопасности в смарт-контракте проекта.

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

Шаги к аудиту смарт-контрактов.
1. Изучите соответствие между функциональностью кода и whitepaper проекта
2. Проверка на наличие стандартных уязвимостей;
3. Символьный анализ
4. Автоматизированный анализ с помощью автоматизированных инструментов(Подход 1): для автоматизированного тестирования кода используются такие инструменты, как Truffle и Populus. Этот подход занимает очень мало времени и имеет более сложное проникновение по сравнению с ручной проверкой кода. Хотя он также имеет ограничения, связанные с ложной идентификацией и пропущенной уязвимостью.
5. Ручной обзор кода и качества кода (подход 2): в этом случае код исследуется вручную опытными разработчиками. Хотя автоматические проверки быстрее, при ручных проверках учитываются как ложные &, так и пропущенные уязвимости.
6. Анализ использования газа;
7. Оптимизация производительности
8. Подготовка отчета.


Компании по аудиту смарт-контрактов



1. CertiK: Компания Certik была основана в 2018 году и является одной из наиболее предпочтительных в нише блокчейна благодаря своей прозрачности и инструментам проверки доказательной базы, которые обеспечивают масштабируемость и первоклассную безопасность. То есть, их подход в основном математический. Компания утверждает, что обнаружила более 31 000 уязвимостей в кодах смарт-контрактов, провела аудит 1737 проектов и обеспечила безопасность цифровых активов на сумму более 211 млрд. долларов.

2. Hacken: Hacken - это еще одна компания, которая предоставляет услуги аудита для таких блокчейн-платформ, как Ethereum, Tron, EOS. Хотя их услуги не ограничиваются только решениями для блокчейна, Hacken также предоставляет продукты безопасности для ИТ-компаний. Платформа безопасности HackenAI - это решение, разработанное компанией Hacken для защиты конечного пользователя от угроз безопасности с помощью таких функций, как оповещения о мониторинге Darknet.

3. Quantstamp: Quantstamp - это компания по обеспечению безопасности блокчейна, в которой работают разработчики из ведущих ИТ-компаний, таких как Facebook, Google и Apple. Quanstamp предлагает широкий спектр инструментов и услуг по обеспечению безопасности блокчейна, включая; децентрализованную сеть безопасности для аудита смарт-контрактов. Согласно их заявлениям, Quantstamp защитил более 200 млрд. долларов США цифровых активов, и у них есть более 200 фондов и стартапов, которые использовали их продукты.

4. ConsenSys: Основанная в 2014 году, компания ConsenSys - это надежная команда, состоящая из разработчиков программного обеспечения, бизнес-экспертов, юристов, специалистов по безопасности. Ее платформа основана на экосистеме Ethereum и нацелена на предоставление решений на основе блокчейна, таких как безопасность и защита продуктов, финансовые инфраструктуры. У компании есть продукт для анализа безопасности смарт-контрактов. ConsenSys Diligence; которая обеспечивает криптоэкономический анализ и автоматизированное сканирование смарт-контрактов для цепочки Ethereum.

5. Chainsecurity: предоставляет продукты и услуги, обеспечивающие безопасность протоколов блокчейн и смарт-контрактов. Chainsecurity доверяют более 85 блокчейнов и обеспечили безопасность цифровых активов на сумму более $17 млрд. Они также сотрудничают с PWC Switzerland для проведения проверок безопасности, создания решений, оценивающих смарт-контракты, тестирования и выполнения показателей эффективности смарт-контрактов.

6. Runtime Verification: Для проведения аудита безопасности на виртуальных машинах используется метод, основанный на проверке во время выполнения, который увеличил соответствие стандартам, широкий охват во время выполнения. Продукты и услуги Runtime включают проверку смарт-контрактов, проверку протоколов, консультационные услуги, Firefly, верификатор токенов ERC20 и IELE.



Автор: Gate.io Обозреватель: M. Олатунджи
Отказ от ответственности:
* Данная статья представляет только мнение обозревателей и не является инвестиционным предложением.
*Gate.io оставляет за собой все права на эту статью. Перепечатка статьи будет разрешена при условии ссылки на Gate.io. Во всех остальных случаях будут предприняты юридические меры в связи с нарушением авторских прав.



Gate.io Featured Articles

Why The Crypto Industry Needs Venture Capital
Centralized vs Decentralized Hedge Funds
How to look for the right NFT project
Поделиться
gate logo
Торгуйте сейчас
Присоединяйтесь к Gate.io и выигрывайте награды