Статьи

Спецификация аудита безопасности помогает развивать экосистему Ethereum

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

Например, последние данные аналитической компании Chainalysis показывают, что с начала января по июль 2022 года количество взломов, связанных с криптовалютами, увеличилось на 58,3%.

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

Отраслевой стандарт защиты смарт-контрактов

Крис Корди, председатель рабочей группы EthTrust Security Layers в Enterprise Ethereum Alliance (EEA), заявил, что по мере роста индустрии блокчейнов Ethereum возрастает потребность в зрелой структуре для оценки безопасности смарт-контрактов.

Чтобы решить эту проблему, Корди вместе с несколькими представителями членов ЕЭЗ, имеющими опыт аудита и безопасности, в ноябре 2020 года помогли создать рабочую группу EthTrust Security Layers. С тех пор организация работает над проектом документа спецификации смарт-контракта или отраслевого стандарта, направленного при повышении безопасности смарт-контактов.

Совсем недавно рабочая группа объявила о публикации EthTrust v1. Чаалс Невилл, технический директор ЕАОС, сказал, что эта спецификация описывает уязвимости смарт-контрактов, которые необходимы для надлежащего аудита безопасности, как минимальную меру качества:



«Это относится ко всем платформам смарт-контрактов на основе EVM, где разработчики используют Solidity в качестве языка программирования. Согласно недавнему анализу Splunk, это более 3/4 контрактов основной сети. Но есть и частные сети и проекты, основанные на стеке технологий Ethereum, но использующие собственный блокчейн. Эта спецификация так же полезна для них, как и для пользователей основной сети, она помогает защитить их работу».

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

«Уровень [S] По словам Невилла, в большинстве случаев, когда в хорошо известных шаблонах используются общие функции Solidity, тестируемый код можно сертифицировать с помощью автоматизированного инструмента «статического анализа».

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

Тест уровня [Q] обеспечивает анализ бизнес-логики, реализованной в тестируемом коде.

«Это сделано для того, чтобы код не содержал известных уязвимостей безопасности, а также для того, чтобы он корректно реализовывал заявленное», — сказал Невилл.

Существует также необязательный тест «рекомендуемая передовая практика», который может помочь повысить безопасность смарт-контрактов:

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

Всего вся спецификация содержит 107 требований. Около 50 из них относятся к требованиям уровня [S]в результате ошибок в компиляторах Solidity.

Поможет ли отраслевой стандарт организациям и разработчикам?

Спецификация EthTrust Security Layers в конечном счете направлена ​​на то, чтобы помочь аудиторам продемонстрировать клиентам, что они работают на отраслевом уровне.

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

«Важно понимать, что не все аудиторы смарт-контрактов созданы равными. Аудит смарт-контракта начинается с понимания и опыта конкретной экосистемы, для которой проводится аудит смарт-контракта, а также стека технологий и используемого языка кода. Не все коды или блокчейны одинаковы. Здесь опыт важен для освещения и выводов».

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

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

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

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

«Многие разработчики Solidity в последнее время не получали формального образования или подготовки по аспектам безопасности разработки Solidity, но безопасность по-прежнему ожидается. Наличие таких спецификаций облегчает понимание того, как писать более безопасный код», — сказал он.

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

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

Эволюция стандартов безопасности смарт-контрактов

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

«Такая спецификация не решает проблему полностью. Однако спецификация определяет определенные шаги, такие как документирование архитектуры и бизнес-логики контрактов, которые важны для проведения тщательного аудита безопасности».

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

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

Хотя все это является шагом в правильном направлении, Гу отметил, что для широкого внедрения стандартов требуется время. Более того, Невилл объяснил, что безопасность никогда не бывает статичной. Отдельные лица могут задавать вопросы рабочей группе, составившей спецификацию.

«Мы примем эти отзывы, а также посмотрим, какие обсуждения ведутся в более широком публичном пространстве, потому что мы ждем обновления спецификации. Новая версия спецификации будет выпущена в течение шести-восемнадцати месяцев», — сказал Невилл.


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

Стать Digital профессионалом.
Подборка статей по криптовалютам и технологии блокчейн. Подпишитесь на нас в социальных сетях.

Информация для Вас была полезна?
0
0
0
0
0
0
0

Похожие статьи

Кнопка «Наверх»