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

Block-chain 24发布于2022-11-11更新于2022-11-11

文章摘要

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

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

Аудит смарт-контрактов является важным шагом перед запуском 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. – Поэтому вполне уместно, что мы уделяем внимание в первую очередь безопасности».

你可能也喜欢

渣打银行再唱 50 倍狂想曲,为 AAVE“画饼”剑指 3500 美元

渣打银行发布研报,预测DeFi借贷协议AAVE的代币价格有望在2030年底前上涨50倍,达到3500美元。其核心逻辑基于两大趋势预判:一是到2030年DeFi总锁仓量(TVL)将增长37倍至约2.7万亿美元,主要受稳定币扩张和现实世界资产(RWA)上链驱动;二是RWA在DeFi中的渗透率将从目前的3.5%大幅提升至30%。报告认为,Aave凭借其高效业务模式、V4新架构的跨链流动性能力以及稳定币GHO的费率捕获,能将这些宏观红利转化为实际协议收入。 文章指出,Aave目前以借贷赛道约一半的TVL,占据了该赛道超过80%的协议留存收益,展现出强大的盈利能力。灰度(Grayscale)的报告也认为AAVE是现金流驱动型资产,当前价格被低估。 然而,报告也揭示了Aave面临的挑战。其点对池(Peer-to-Pool)借贷模型存在固有缺陷,导致大量资金闲置,造成每年数千万美元的“无形损失”,资本效率偏低。此外,4月发生的KelpDAO安全事件暴露了该模式在极端情况下的脆弱性。新兴协议如Morpho正以更高的资本效率从效率端发起挑战。 综上,渣打银行的“50倍狂想”描绘了传统金融对资产上链的巨大期望,但Aave要实现万亿资产规模的愿景,仍需在狂想与现实之间,解决其结构性短板,夯实发展地基。

链捕手1小时前

渣打银行再唱 50 倍狂想曲,为 AAVE“画饼”剑指 3500 美元

链捕手1小时前

潮汐投资:AI 产业链我们仍然看好,但理由变了

作者潮汐投资认为,尽管近期市场因多家AI巨头大规模融资(如SpaceX完成750亿美元IPO、Alphabet计划800亿美元融资等)而出现担忧情绪,但这并非AI见顶信号,而是产业发展进入新阶段。文章核心观点如下: **一、投资仍在加速,且结构更复杂** 五大云厂商(Alphabet、Amazon、Meta、Microsoft、Oracle)的资本支出(Capex)在2026年指引中均大幅上调,总额惊人。这轮投资已不限于芯片,更扩展到电力、变压器、液冷、电网接入等物理基础设施,这些环节扩产周期长、瓶颈明显,使得投资周期难以快速刹车。 **二、市场两大担忧的辨析** 1. **Capex增速超过收入增速**:虽然Capex增长快于营收引发对投资回报率(ROI)的担忧,但云计算业务历史上也曾经历类似阶段,最终通过规模效应实现回报。关键观测点在于未来AI工作负载的变现能力,目前尚未出现Capex指引下调或订单取消的负面信号。 2. **与2000年互联网泡沫对比**:当前AI基建的供给约束与当年光纤过剩的情况截然不同。电力、变压器等环节定制化强、审批和建设周期漫长,无法像埋设光纤那样超前预埋产能,因此难以出现供给严重过剩导致的崩盘。 **三、结论:周期尚未结束** 巨头融资需求旺盛恰恰说明AI竞赛进入深水区,面临更多硬约束。从Capex指引、供应链订单(如伊顿数据中心订单同比增长240%)等实打实的工程进度看,投资仍在持续推进。AI产业的发展剧本已经转变,从早期的概念炒作进入大规模实体基建和商业化攻坚阶段,当前远未到散场之时。

链捕手2小时前

潮汐投资:AI 产业链我们仍然看好,但理由变了

链捕手2小时前

Grayscale :这 15 个赚钱的加密协议,价格被严重低估了

灰度研究发布报告,指出当前许多能产生可观收入的链上协议估值处于历史低位。报告列出了链上协议收入排名前15的应用,其中多数过去12个月的收入倍数已降至个位数,部分甚至仅为1倍。这意味着像Pump.fun、PancakeSwap、Meteora等年收入数亿美元的协议,其市值几乎等同于其一年收入,从传统估值角度看显得非常便宜。 报告认为,这种低估状态可能随着《数字资产市场清晰化法案》(CLARITY Act)的潜在通过而改变。该法案旨在明确数字资产的监管框架,降低机构参与链上金融的合规门槛,有望为去中心化交易所、借贷协议等主流DeFi应用带来大量新增活动和资金,从而推动其价值重估。 报告逐一分析了榜单上的协议。除上述“1倍俱乐部”成员外,中间层包括Raydium、Lido、Aerodrome、Aave等个位数收入倍数的协议,它们业务模式较为稳固。而估值倍数较高的Hyperliquid、Uniswap等,其溢价主要反映了市场对未来增长潜力和治理权利的预期。 报告特别补充了灰度对Aave的现金流折现分析,给出一年目标价约175美元。同时指出,当前宏观环境趋紧(市场预期美联储可能加息)进一步压制了加密资产估值,这可能创造了投资窗口。 最后,报告提醒投资者注意:CLARITY Act的通过与否及具体效果存在不确定性;且灰度作为加密资管公司,其“低估”结论与其商业利益存在一致性,投资者应独立判断。真正的验证信号将是法案通过后,机构资金是否实际流入这些协议。

marsbit3小时前

Grayscale :这 15 个赚钱的加密协议,价格被严重低估了

marsbit3小时前

交易

现货
合约
活动图片