Аудит смарт-контрактов

Анализ и проверка спецификаций и исходного кода смарт-контрактов

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

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

Проблемы смарт-контрактов

  1. Несоответствие между спецификацией и реализацией.
  2. Дефектный дизайн, логика и контроль доступа.
  3. Переполнение при арифметических операциях (целочисленное переполнение).
  4. Атаки повторного входа, атаки внедрения кода и атаки типа «отказ в обслуживании».
  5. Превышение лимита использования байт-кода и газа.
  6. Майнерские атаки на метки времени и порядок транзакций, зависимость порядка транзакций (TOD).
  7. Условия гонки, а также другие известные атаки и нарушения управления доступом.
Изображение - Аудит смарт-контрактов

Требования, методы и инструменты

Наши аудиты смарт-контрактов соответствуют следующим требованиям:

  • Целью аудита смарт-контрактов является тщательный анализ кода для выявления недостатков и уязвимостей.
  • Аудит безопасности проводится с использованием сочетания ручных и автоматических инструментов и методов для выявления и моделирования эксплуатации уязвимостей в их целевой среде.
  • Аудит смарт-контракта включает в себя следующие этапы:
    • Общий анализ кода и приложения.
    • Проверка документации.
    • Краткий обзор кода: быстрый анализ функциональности смарт-контракта, основных классов .sol и т. д.; анализ криптографии, сторонних модулей и структуры библиотек.
    • Детальный анализ приложения, каждого его действия, всех запросов, полей ввода и вложенных модулей.
    • Сканирование ошибок: сканирование приложения на соответствующих уровнях исходников и бинарников для выявления потенциальных нарушений рекомендаций по кодированию и практик безопасности.
    • Проверка результатов сканирования: на этом этапе команда анализирует результаты сканирования, чтобы определить, какие из них являются ложными срабатываниями, а какие могут повлиять на безопасность приложения.
  • Тесты проводятся командой специалистов с опытом работы в различных областях информационной безопасности с 2002 года, обладателями сертификатов CISSP, OSCP, CISA и CEH.
  • В целом, обзор кода следует рекомендациям Solidity Style Guide и Ethereum Smart Contract Security Best Practices.

Инструменты, которые мы используем:

Slither, securify, Mythril, Sūrya, Solgraph, Truffle, Geth, Ganache, Mist, Metamask, solhint, mythx и т. д.

Практические результаты

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

  1. Резюме для руководителя
  2. Проектный подход
    • Спецификация проекта (Rules of Engagement)
    • Описание методологии аудита безопасности смарт-контракта
    • Описание области охвата
  3. Рабочий процесс аудита безопасности смарт-контракта
  4. Полученные данные и рекомендации
  5. Дополнительная информация о полученных данных и подробные рекомендации
  6. Выводы
  7. Итоговые рекомендации и дальнейшие шаги

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

Бизнес-кейсы проектов, выполненых нами

Анализ безопасности исходных кодов программного обеспечения
Аудиты безопасности и тесты на проникновение
Кейсы по внедрению центра безопасности (Security Operations Center)
Реагирование на инциденты и их расследование
Управляемая безопасность и комплаенс (ISO 27001 и т. д.)