Что такое аудит кода блокчейна?

Block-chain 24Publié le 2022-11-11Dernière mise à jour le 2022-11-11

Résumé

Рассказываем, как проводятся проверки и почему не стоит вкладываться в неаудированные проекты. Спойлер: аудиты могут предотвратить большинство взломов.

Рассказываем, как проводятся проверки и почему не стоит вкладываться в неаудированные проекты. Спойлер: аудиты могут предотвратить большинство взломов.

Аудит смарт-контрактов является важным шагом перед запуском dApp, поскольку «одна голова хорошо, а две – лучше»: сторонние аудиторы могут найти уязвимости, которые пропустила команда проекта.

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

Что такое аудит смарт-контрактов и почему это важно?

Аудит кода блокчейна или смарт-контракта — это анализ кода блокчейна или dApp либо его создателями, либо сторонним аудитором с целью поиска ошибок, уязвимостей и багов.

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

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

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

Аудит блокчейна за 6 шагов

1.Обзор проекта и анализ кода на высшем уровне

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

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

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

2.Автоматизированное тестирование

По-прежнему не так много программных инструментов для тестирования смарт-контрактов, и почти все они предназначены для Solidity и EVM. Они не могут найти недостатки бизнес-логики или токеномики, но экономят аудиторам много времени. Самые популярные из них:

  • Mythril от ConsenSys — мощный инструмент с открытым исходным кодом, обнаруживающий множество критических ошибок; часть пакета услуг безопасности MythX.

  • Manticore — инструмент командной строки, который выполняет различные сценарии атак, отправляя символические входные данные, чтобы увидеть, не приведут ли они к сбою dApp; находит входы, которые приведут к конкретной ошибке; выясняет, что вызвало конкретный сбой и т. д.
  • Slither — быстрый и простой в использовании чекер, который выделяет критические уязвимости и исправляет ошибки.
  • Oyente — создан в 2016 году, не обновлялся пару лет, но до сих пор получает хорошие отзывы за точность.

3.Распространенные уязвимости

Программное обеспечение для аудита смарт-контрактов может обнаруживать множество видов уязвимостей, в том числе:

  • повторный вход — злоумышленник неоднократно вызывает функцию вывода средств для перевода активов из уязвимого смарт-контракта во вредоносный;
  • переупорядочивание — злоумышленник выполняет свою транзакцию перед другими транзакциями в очереди, чтобы манипулировать ценой (так называемый опережающий запуск);
  • переполнение и недополнение — это отправка неправильных данных с целью заставить смарт-контракт совершить ошибку расчета (результат либо больше допустимого верхнего предела, либо меньше нижнего предела). В результате злоумышленник может чеканить огромное количество токенов;
  • зависимость от временной метки — злоумышленник вводит в контракт неправильную временную метку, чтобы создать впечатление, будто его транзакция произошла в определенный момент (например, для выигрыша в аукционе или лотерее);
  • replay — перехват, а затем повторная отправка данных в блокчейне (может использоваться для кражи средств во время событий форка).

4. Ручной построчный анализ и тестирование кода

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

Аудит может выявить уязвимости разного уровня серьезности: критический уровень (позволяет злоумышленнику украсть токены, взломать dApp и т. д.), средний уровень (потенциальный ущерб ограничен) и низкий уровень (содержит ошибку, но создает малый риск финансового или структурного ущерба).

Страница из построчного аудиторского отчета Hubble Protocol от Smart State

5. Экспертная оценка

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

6. Аудиторский отчет

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

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

Раздел аудиторского отчета по протоколу Reef, подготовленный Halborn.

Проблема аудита смарт-контрактов в Move и Solidity

Смарт-контракты EVM и Solidity трудно отлаживать, и они имеют много проблем с безопасностью. Добавьте к этому доминирование EVM (9 из 10 ведущих блокчейнов по версии DeFi TVL используют EVM), и вы поймете, почему индустрия смарт-контрактов так сосредоточена на Solidity. У него есть как преимущество первопроходца, так и множество уязвимостей, требующих аудита.

Когда вы переходите от экосистемы Ethereum/EVM к альтернативной среде блокчейна, такой как Move, вы сталкиваетесь с очень интересной проблемой. С одной стороны, язык Move и Move VM намного безопаснее, чем Solidity и EVM. Например, контракты Move устойчивы к атакам с повторным входом.

С другой стороны, децентрализованные приложения на основе Move по-прежнему должны проходить аудит — и пока не так много специалистов по безопасности блокчейнов, которые работают с этим языком. Аудиторы Pontem Wallet OtterSec и Halborn являются одними из первопроходцев, а сам Pontem Wallet является одним из первых децентрализованных приложений Aptos, полностью прошедших аудит.

Лучшие компании по аудиту смарт-контрактов

Hacken

Созданный в 2017 году, Hacken проверяет все протоколы блокчейна, смарт-контракты и децентрализованные приложения. Фирма также курирует программы вознаграждения за ошибки для таких платформ, как CoinGecko.

Hacken работает с самыми разными блокчейнами, включая EVM, Solana, NEAR, Cosmos, Polkadot.

Его клиентами являются FTX, Gate.io, Crypto.com, KuCoin, Huobi, Ellipsis, IoTex, 1inch, Aurora, Klaytn, Cirus, Victoria VR, WAX, TrustSwap и десятки других проектов DeFi, GameFi, инфраструктуры и NFT.

OtterSec

OtterSec — ведущий поставщик аудита блокчейна в экосистеме Solana. Его впечатляющее портфолио включает Wormhole, Serum, Sabre, Raydium, Solend, Socean, а также Anchor, LayerZero и Proximity на NEAR.

Это одна из немногих фирм, занимающихся аудитом блокчейна, которая работает с новым языком программирования Move, используемым Aptos и Sui. Так, OtterSec провела первый аудит кошелька Pontem для Aptos, а также кошелька Hippo.

У OtterSec также есть отличный блог с экспертными советами по безопасности смарт-контрактов, особенно на Solana.

CertiK

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

CertiK провел более 1800 аудитов протоколов Ethereum, Avalanche, BNB Chain, Solana, Algorand, NEAR и Cosmos. Это надежный поставщик услуг аудита для Binance, The Sandbox, Huobi и OKex.

Halborn

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

Halborn работал с такими популярными проектами, как Polygon, Solana, Thorchain, Bancor, Pangolin, Reef, Sushi, BlockFi, Polkadex и даже с яхт-клубом Bored Apes.

В блоге Halborn представлены пост-мортемы недавних взломов DeFi и подробные сведения о наиболее распространенных типах атак на блокчейн.

ConsenSys Diligence

ConsenSys — компания, стоящая за MetaMask, Truffle и Infura — ключевыми инструментами для разработчиков Web3. Его подразделение по аудиту смарт-контрактов ConsenSys Diligence работало с более чем 100 командами, включая Aave, OmiseGo, 0x, Aragon и Horizon.

Помимо аудита, ConsenSys Diligence предоставляет такие услуги, как моделирование угроз, постоянная проверка уязвимостей, планирование реагирования на атаки.

Quantstamp

Quantstamp работал с более чем 250 проектами, обеспечив активы на сумму более 200 миллиардов долларов и заблокировав ликвидность. В его портфолио входят OpenSea, Curve, Maker DAO, Compound, NBA TopShot, Lido, SuperRare, Decentraland, Aave и Axie Infinity.

Фирма работает со многими блокчейн-экосистемами, такими как Solana, Ethereum, BNB Chain, Cardano, Flow, Near, Tezos и Hedera Hashgraph. Он также защищает клиентов Teku и Prysm для Ethereum 2.0.

Три приложения DeFi dApp, рухнувших из-за того, что не провели аудит смарт-контрактов

Неаудированное приложение DeFi dApp с заблокированными в нем миллионами долларов, по сути, имеет цель, нарисованную на нем, представляет собой мишень с надписью «Взломай меня». Даже если повезет, и хакер пройдет мимо такого вызова, проект может стать жертвой внутренней проблемы с кодом.

Вот три истории, которые показывают последствия пропуска аудита.

Nomad: 200 миллионов долларов потрачено впустую

Nomad — это мост, соединяющий Ethereum, Evmos, Moonbeam, Avalanche и протокол Milkomeda. По словам главы службы безопасности Paradigm @samczsun, эксплойт от 2 августа был нацелен на недавнее обновление Nomad, которое не подвергалось аудиту.

Ошибка в контракте позволяла пользователям отправлять небольшие суммы WBTC с Moonbeam и получать в 10 000 раз больше WBTC обратно на Ethereum. Не нужно было быть кодером: достаточно было скопировать-вставить.

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

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

Beanstalk: взломан на 180 миллионов долларов с помощью мгновенного кредита

Beanstalk — децентрализованный стейблкоин на Ethereum. Вместо того, чтобы использовать обеспечение для поддержания привязки BEAN, он использует кредит, побуждая держателей ссужать свои токены в обмен на проценты.

17 апреля 2022 года хакер воспользовался ошибкой в ​​коде управления Beanstalk. Он взял быстрые кредиты на Uniswap, SushiSwap и Aave, заняв около 1 миллиарда долларов в DAI, USDC, USDT и BEAN, и поместил эту ликвидность в пулы BEAN на Curve, получив достаточно токенов LP, чтобы дать им большинство голосов в Beanstalk DAO.

Затем злоумышленник представил новое предложение по улучшению Beanstalk (BIP) для перевода всех средств из протокола на свой адрес — и сам проголосовал за него, так что оно было автоматически принято. Всего злоумышленник получил до $182 млн в токенах BEAN, ETH и Curve LP.

Смарт-контракты Beanstalk были проверены Omnicia. Но код, содержащий уязвимость flash-кредита, был добавлен позже – уже без проверки. Урок здесь заключается в том, что аудит смарт-контрактов — это непрерывный процесс: каждую новую функцию необходимо проверять.

Yam Finance: падение на 99% из-за ошибки

Yam Finance (YAM = YFI + Ampleforth, два протокола DeFI, чьи идеи позаимствовал Yam Finance), запущенный в августе 2020 года, был ранним экспериментом по перебазированию: предложение YAM увеличивалось или сокращалось в зависимости от цены. Проект выплачивал высокодоходные фарминговые вознаграждения, но что действительно привлекало пользователей, так это симпатичные смайлики и мемы.

Весь проект собрался всего за 10 дней, представлял собой всего лишь эксперимент, и поэтому команда внедрила Yam Finance без аудита. Ко всеобщему удивлению, всего за один день в протокол влились 400 миллионов долларов TVL.

Но бравурная музыка играла недолго: всего через два дня после запуска Yam Finance рухнул. Причиной стала ошибка в функции перебазирования: контракт отчеканил слишком много YAM для определенного пула на Uniswap. Большая часть этого YAM была отправлена ​​в казну, что, в свою очередь, сделало модуль управления непригодным для использования, потому что количество YAM, хранившееся у пользователей, теперь было недостаточным для достижения кворума для любого голоса.

Было подготовлено исправление, но его нужно было провести через голосование DAO. Команда сплотила сообщество, чтобы делегировать все свои YAM на голосование, но результата все равно не хватило.

Теперь Yam Finance живет всего на 200 тысяч долларов в TVL. Эта история показывает, что протокол DeFi может стать вирусным настолько быстро, что не будет времени искать ошибки и исправлять их. Аудит необходимо провести перед запуском.

Аудит не является гарантией безопасности

Единичный аудит смарт-контракта никогда не является 100% гарантией того, что проект не будет взломан — по нескольким причинам:

  1. Например, Grim Finance потерял 30 миллионов долларов из-за хакера в декабре 2021 года, несмотря на то, что он был проверен Solidity Finance. Выяснилось, что аналитик, ответственный за аудит, был новым; в то время как аудиторы обычно проверяют работу друг друга, команда была «перегружена», и процесс рецензирования не прошел должным образом. К чести Solidity, это был лишь второй эксплойт среди более чем 900 проверенных ими проектов.
  2. Злоумышленник может украсть/фишировать ключ кошелька вместо взлома контракта. Именно это произошло с bZX (и привело к потере 55 миллионов долларов) и EasyFi (результат – утрата 90 миллионов долларов). В последнем случае преступник получил доступ к кошельку MetaMask самого CEO протокола.
  3. Некоторые эксплойты используют дыры в стороннем dApp (непроверенном) для атаки на другой интегрированный с ним протокол.
  4. Будущие изменения в блокчейне. По мере того, как блокчейн, в которой работает dApp, обновляется, могут возникать новые векторы атак.

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

Такова, например, стратегия Pontem Network: команда проекта хочет, чтобы ее dApps для Aptos были самыми безопасными в экосистеме. Несмотря на то, что аудиторы в Ottersec не обнаружили никаких уязвимостей в Pontem Wallet, сейчас свою проверку проводит еще и Halborn. Конечно, это несколько замедляет процесс масштабирования, но безопасность пользователей важнее, чем быстрый рост.

«В конце концов, мы создаем набор базовых dApps для экосистемы, которая может подключить первый миллиард пользователей блокчейна, а сам Aptos является самым безопасным блокчейном L1 в мире, – говорят разработчики Pontem. – Поэтому вполне уместно, что мы уделяем внимание в первую очередь безопасности».

Lectures associées

STRC tombe en dessous de sa valeur nominale, l'expérience des trésoreries Bitcoin entre dans sa seconde moitié

Le titre préférentiel à dividende STRC de MicroStrategy (MSTR) a récemment chuté en dessous de son prix nominal de 100 dollars, ce qui relance le débat sur le modèle de "trésorerie en Bitcoin". Cet événement illustre une repricing par le marché, qui évalue désormais non seulement les actifs en BTC de l'entreprise, mais aussi ses coûts de financement et ses obligations de trésorerie. Le modèle de MicroStrategy repose sur trois conversions clés : transformer des actions en exposition au Bitcoin, utiliser ces BTC comme garantie pour obtenir du crédit sur les marchés financiers, et enfin, conditionner ces actifs non générateurs de trésorerie en titres versant des dividendes réguliers. La tension fondamentale réside dans cet écart entre des actifs volatils sans flux de trésorerie et une structure nécessitant des paiements réguliers en espèces. La baisse du STRC au-dessous du pair signale que la pression est passée de la volatilité du prix du Bitcoin au coût des instruments de financement eux-mêmes. MicroStrategy fait face à des obligations de dividende annuelles d'environ 1,7 milliard de dollars pour ses actions préférentielles, bien au-delà des revenus de sa filiale logicielle. Le vrai test de résistance ne sera pas la baisse du BTC, mais la hausse simultanée de trois coûts : le coût des dividendes (taux d'intérêt), le coût de dilution (émission d'actions) et le coût de cession d'actifs (vente de BTC). Pour le marché crypto, l'enjeu dépasse les 847 363 BTC détenus par MicroStrategy. L'entreprise représentait un acheteur marginal stable et prévisible. Si sa capacité de financement se restreint, ce récit d'absorption constante de l'offre pourrait s'affaiblir, potentiellement conduisant à une réévaluation générale du modèle de trésorerie en Bitcoin, où les primes pour l'exposition au BTC pourraient laisser place à des décotes reflétant les risques de financement et de liquidité. En résumé, la décote du STRC marque un tournant : elle rappelle que dans un cycle de correction du Bitcoin, la durabilité du modèle dépendra moins du prix de l'actif que de la pérennité des fenêtres de financement, du niveau des réserves de trésorerie et de la volonté des investisseurs à continuer de financer cette structure.

marsbitIl y a 21 mins

STRC tombe en dessous de sa valeur nominale, l'expérience des trésoreries Bitcoin entre dans sa seconde moitié

marsbitIl y a 21 mins

Investissement de marée : Nous restons optimistes quant à la chaîne industrielle de l'IA, mais pour des raisons différentes

**Résumé : L’investissement dans l’IA reste solide, mais les raisons ont changé** Malgré l’inquiétude du marché face aux méga-introductions en bourse (SpaceX, OpenAI) et aux levées de fonds massives des géants technologiques (Alphabet, Meta), ce n’est pas un signe de fin de cycle pour l’IA, mais plutôt le passage à un nouvel acte. Les dépenses d’investissement (Capex) des cinq grands fournisseurs de cloud (Alphabet, Amazon, Meta, Microsoft, Oracle) continuent d’augmenter fortement pour 2026, prouvant que les capitaux affluent toujours. La nature de ces investissements a changé : ils ne financent plus seulement les puces (GPU), mais toute l’infrastructure physique critique – électricité, transformateurs, refroidissement, raccordement au réseau – dont les goulots d’étranglement et les longs délais de construction rendent ce cycle d’investissement difficile à arrêter brusquement. Le marché s’inquiète de deux risques : 1) la croissance du Capex dépasse celle des revenus, menaçant la rentabilité (ROI), et 2) une répétition de la bulle internet de 2000. Cependant, contrairement à la surcapacité facile à créer en 2000 (fibre optique), les contraintes physiques et réglementaires actuelles limitent la surproduction. De plus, les cloud providers ont historiquement surmonté des phases de Capex élevé avant la rentabilité. Aucun signal concret (révision à la baisse des guides de Capex, annulations de commandes) ne pointe vers un arrêt imminent. Les besoins de financement actuels reflètent les défis croissants de la construction d’infrastructure, pas la fin de la course. L’histoire de l’IA est loin d’être terminée ; le scénario a simplement évolué.

marsbitIl y a 2 h

Investissement de marée : Nous restons optimistes quant à la chaîne industrielle de l'IA, mais pour des raisons différentes

marsbitIl y a 2 h

Investissement Tidal : Nous restons optimistes sur la chaîne d'approvisionnement de l'IA, mais les raisons ont changé

L'investisseur Tide Capital reste optimiste sur la chaîne industrielle de l'IA, mais la raison a changé. En 2026, la question n'est plus de savoir si l'IA est viable, mais si l'intensité des investissements peut être maintenue. Les géants du cloud (Alphabet, Amazon, Meta, Microsoft, Oracle) augmentent massivement leurs dépenses d'investissement (Capex) pour 2026, allant jusqu'à des centaines de milliards de dollars, dépassant la croissance de leurs revenus. Cela indique que le cycle d'investissement est loin d'être terminé. Les goulets d'étranglement se déplacent des puces vers des contraintes physiques plus lentes à résoudre : électricité, transformateurs, raccordement au réseau électrique (avec des délais de plusieurs années), refroidissement, etc. Les commandes pour ces composants explosent, signe d'un déploiement infrastructurel solide. Le marché s'inquiète de deux points : 1) Le Capex croît plus vite que les revenus, mettant en doute le retour sur investissement (ROI). Cependant, le cloud a historiquement surmonté de telles phases grâce à la monétisation à grande échelle. Aucun signe de ralentissement (révision des guidances, annulations de commandes) n'est visible pour l'instant. 2) Une bulle similaire à l'an 2000. La différence clé est que l'offre actuelle (infrastructure physique complexe) ne peut pas être suraugmentée aussi facilement que la fibre optique à l'époque, rendant un effondrement similaire improbable. En conclusion, les levées de fonds massives des géants reflètent les besoins de la phase suivante, plus exigeante en infrastructure, et non un sommet du cycle. La pièce de l'IA n'est pas terminée, le scénario a simplement changé.

链捕手Il y a 2 h

Investissement Tidal : Nous restons optimistes sur la chaîne d'approvisionnement de l'IA, mais les raisons ont changé

链捕手Il y a 2 h

Trading

Spot
Futures
活动图片