Аудит смарт-контрактов: чем полезна услуга?

Аудит смарт-контрактов: чем полезна услуга?

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

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

Это событие, тем не менее, имело последствия для протокола. Стоимость токена упала на 96%, а сумма заблокированных в протоколе активов снизилась до одного миллиона долларов. Сейчас положение уже частично восстановилось, но кто знает, сколько пользователей ушли навсегда и больше не смогут доверять этому проекту?

Что произошло с Cover? 

Для того, чтобы разобраться, благодаря чему стало возможным хищение средств Cover, мы обратились за комментарием к компании, специализирующейся на работе со смарт-контрактами. Пояснить ситуацию согласились в компании Telescr.in: 

К таким печальным последствиям привело сочетание двух малозначительных багов, которые, по сути, относительно безвредны по отдельности. Первая ошибка связана с памятью: вообще в смарт-контрактах существует три типа памяти: steak (локальные переменные), storage (самая дорогая память, которая хранится в блокчейне) и memory (байт последовательности). Поскольку смарт-контракт использует все виды памяти, это делает возможным перезапись одной переменной из storage в memory, ее изменение в результате проведения операции и дальнейшее использование уже в измененном виде. Второй недостаток связан с несоответствием порядка переменных при выполнении операций. Например, мы вносим в смарт-контракт переменную, которая имеет 18 знаков, а дальше прописано, что она имеет 12 знаков - из-за этого тоже возникает неточность, но не критичная

Во время взлома произошло следующее:

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

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

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

Громкие взломы 2020

Cover далеко не единственный криптовалютный проект, который пострадал от хакерской атаки в 2020 году. 

 • Сентябрьская атака на криптовалютную биржу KuCoin стала одним из самых крупных взломов в истории индустрии (ущерб оценили в $280 млн).

 • В апреле от атаки пострадал DeFi-протокол dForce. На момент кражи сумма составляла почти $25 млн. Хакер воспользовался критической уязвимостью в смарт-контрактах платформы Lendf.me.

 • От хакерской атаки постарадал и Harvest Finance - ошибка смарт контракта обошлась им почти в $20 млн.

 • Крупный ущерб в результате атаки понес еще один DeFi-проект Pickle Finance. Хакеры украли более $19 млн. 

 • В ноябре стейблкоин Origin Dollar пострадал от хакерской атаки - проект потерял более $7 млн.

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

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

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

Но главное, это конечно ручной анализ. Именно этот процесс позволяет определить, насколько код соответствует заявленной функциональности. 

Какие проблемы обнаруживает аудит? 

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

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

Мы считаем, что рынок аудита на данный момент не развит и на нем отсутствуют крупные аудиторские фирмы, которые могли бы защищать средств инвесторов от подобных ситуаций, проверяя проекты. Например развивающийся сегодня DeFi сектор особенно опасен в этом плане. Когда проект попадает на децентрализованные площадки, нет возможности быстро закрыть его и исправить ошибки даже если они найдены. Это одновременно и хорошо и плохо, поэтому логично что проверять смарт-контракты следует до выхода на рынок. Причем, проверки оптимально проводить сразу несколькими организациями. Аудит очень субъективен, одна фирма не всегда может найти все баги, тогда как несколько взглядов почти всегда решает эту задачу. При этом, стоимость аудита невысока относительно тех проблем, которые может создать отсутствие проверок и ситуация с Cover это подтверждает.

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


Читайте также

26312021-02-10

ООН: КНДР финансирует ядерную программу украденной криптой

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

Безопасность
34292018-08-01

Студент бостонского колледжа хакнул сим-карты криптоинвесторов

Калифорнийской полицией был арестован студент колледжа, который подозревается в краже $5 миллионов в биткойне и другой криптовалюте при помощи метода, известного как “взлом SIM-карты”.

Безопасность, События

Последние статьи из раздела Безопасность

Свежее видео на канале

Выбор редакции

640802020-10-30

Топ 10 крипто кошельков в 2020 году

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

Кошельки
564132017-12-10

Bitcoin: пирамида или нет?

С января 2009 года, когда был сгенерирован первый генезиз-блок bitcoin-сети, прошло уже девять лет, но до сих пор всякого рода "эксперты" ломают копья в спорах: являются ли криптовалюты финансовой пирамидой или нет. Быстрый рост доходности bitcoin и прибыли тех, кто раньше стал участником этой системы, пугает схожестью с пирамидами 90-х.

Bitcoin
531812018-04-28

on-chain и off-chain управление: за и против

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

Blockchain
412912021-05-08

Какие альткоины принесут своим держателям доход в 2021 году?

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

Альткоины
377052018-05-12

Эволюция человека и денег

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

Это интересно
109462024-02-03

Сканер блоков (Blockchain explorer) своими руками: Зачем он нужен?

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

Обучение, Bitcoin, Ethereum, Технологии