Показать еще

Сколько стоит аудит криптопроекта и что делать, если систему взломали после проверки

5 mins
Обновлено Никита Бойцун
Читайте последние новости криптовалют в Телеграм

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

Контекст

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

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

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

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

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

Аудиты криптопроектов: взгляд эксперта

Редакция BeInCrypto поговорила о целесообразности прохождения аудитов криптокомпаниями с блокчейн-разработчиком и аудитором смарт-контрактов компании telescr.in, известным в криптосообществе под ником Gettocat.

BIC: Как выглядит процесс аудита криптопроектов? Из каких этапов состоит работа аудитора?

Чтобы ответить на вопрос, нужно коротко описать, что из себя представляет смарт-контракт и основанная на виртуальной машине Ethereum (EVM) сеть.

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

  • Состояние памяти state-переменных, которые хранятся в блокчейне.
  • Память и стек. Они хранятся только в процессе любого вызова или создания контракта.

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

Опускаемся на уровень ниже. Контракт – это список инструкций, которые исполняются в зависимости от данных, поданных пользователем в контракт. Стоимость каждой инструкции описана в исходном коде виртуальной машины Ethereum. Такие инструкции называются байткодом. Они очень похожи на то, что происходит внутри компьютера при выполнении какой-либо программы, поэтому аналогия с компьютером тут подходит. Каждая инструкция сама по себе довольно примитивна.

Аудит сводится к нескольким этапам:

  • визуальный анализ кода и изучение документации проекта;
  • анализ кода на низком уровне с использованием специального софта;
  • тестирование контракта на локальной сети.

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

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

Черновик отчета отправляем заказчику на согласование. Далее происходит процесс редактирования. На этом этапе разработчики исправляют, при необходимости, пункты отчета, а команда аудиторов перепроверяет код еще раз. После мы составляем новый отчет. Этот процесс может состоять из 10 и более итераций, если потребуется, и это входит в стоимость аудита. Когда по мнению заказчика все недочеты исправлены, мы подписываем финальную версию отчета.

BIC: Как часто разработчики прибегают к аудитам безопасности? Много ли команд, которые игнорируют аудиты, чтобы сэкономить?

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

Аудиторы смарт-контрактов схожи с Quality Assurance инженерами в сфере разработки ПО – тестировщиками. Сейчас это набирающая популярность сфера.

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

BIC: Сколько стоит провести аудит? От чего зависит итоговая стоимость работ?

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

Стоимость аудита начинается от $1000 за относительно простой контракт и выше. Говоря проще – цена рассчитывается, исходя из сложности и объема исходного кода. Итоговый ценник сильно зависит от используемых библиотек. Например, есть два крупных контракта. В первом контракте использовали проверенные библиотеки от известных вендоров, а во втором – самописный код. Во втором случае цена будет выше в несколько раз.

BIC: Как вы считаете, нужно ли обязать криптопроекты проходить аудиты?

Мое мнение – да. Это должно стать неким стандартом, ведь мы говорим о сфере, где почти все стартапы связаны с финансами. Аудиты особенно актуальны, когда нет гарантий безопасности и третьей стороны, которая, в случае чего, может все отменить.

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

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

Зависит от многих факторов. Не всегда уязвимости связаны непосредственно с контрактами. Иногда это могут быть ошибки на стороне самого приложения – в так называемом бэкенде. Также не стоит исключать утерянный доступ к кошелькам с расширенным доступом к контракту. Но бывают и случаи, когда действительно аудиторы проглядели, либо разработчики не до конца рассказали о функционале.

Обычно аудиторы выступают гарантами работоспособности исходного кода, и гарантируют они это своей репутацией. Поэтому в правильно выстроенных аудит-проектах есть ревьюеры (те, кто перепроверяют аудит перед публикацией). Такие участники схемы снижают вероятность ошибки. В среде информационной безопасности обычно говорится, что нет 100% защиты от взлома, обычно взлом – вопрос цены.

BIC: Могут ли компании, которые заказывали аудит, выдвинуть претензии аудиторам в случае, если они столкнулись с прорывом систем безопасности после прохождения проверки?

Да, такое возможно, и каждый такой случай подлежит тщательному изучению. Обычно, на каждый такой случай пишется специальный документ, называемый «postmortem», в котором описывается причина возникновения уязвимости. По сути это целое расследование, описывающее что и как привело к уязвимости. На основании этого документа ищут источник уязвимости. После можно определить последующие санкции.

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

BIC: Даете ли вы, как аудитор, какие-либо гарантии?

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

Есть что сказать? Напишите нам или присоединяйтесь к дискуссии в нашем Телеграм-канале.

Топ криптоплатформ | Апрель 2024

Trusted

Согласно правилам Trust Project, данная статья отражает точку зрения автора и может не совпадать с мнением редакции BeInCrypto. Политика BeInCrypto — освещать любые события беспристрастно и соблюдать высочайшие стандарты журналистики. BeInCrypto рекомендует читателям самостоятельно проверять информацию и консультироваться со специалистом, прежде чем принимать любые финансовые решения на основе этого контента. Также обратите внимание, что наши «Условия и положения», «Политика конфиденциальности» и «Дисклеймеры» были обновлены

photo_evgenia_lihodei.jpg
Евгения Лиходей
Евгения Лиходей — криптожурналист и новостной корреспондент с десятилетним опытом работы в российских и зарубежных отраслевых СМИ, включая BloomChain и Bits.Media. Считает, что качественный контент крайне важен для популяризации идей децентрализации. Придерживается принципов непредвзятой журналистики и использует ее преимущества для развития криптосообщества.
READ FULL BIO
Sponsored
Sponsored