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

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

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

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


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

  1. Несоответствие между спецификацией и реализацией.
  2. Недостатки дизайна, логики и контроля доступа.
  3. Переполнение при арифметических операциях (целочисленное переполнение).
  4. Атаки повторного входа, атаки внедрения кода и атаки типа «отказ в обслуживании».
  5. Превышение лимита использования байт-кода и газа.
  6. Майнерские атаки на метки времени и порядок транзакций, зависимость порядка транзакций (TOD).
  7. Условия гонки, а также другие известные атаки и нарушения управления доступом.
?
Подробнее об уязвимостях
  • Общие и специфичные для платформы уязвимости:
  • Неправильная стандартная реализация
  • Целочисленное переполнение
  • Атака на стек вызовов
  • Зависимость от метки времени
  • Зависимость от свойств блока
  • Ошибка мультиподписи 
  • Зависимость от порядка транзакций
  • Уязвимости функций вызова
  • Безопасность бизнеса
  • Безопасность событий 
  • Атака повторного входа
  • Уязвимости генератора псевдослучайных чисел
  • Уязвимости DoS
  • Поддельный депозит
  • Реализация вестинга токенов
  • Ошибочная смена состояния
  • и другие (100+ уязвимостей)
  • Распространенные уязвимости кодирования на Solidity и других языках:
  • Дополнительный расход газа
  • Неявный уровень видимости
  • Дорогостоящие циклы
  • Использование модификатора видимости public вместо external
  • Устаревшие модули
  • Использование fallback функций
  • Переопределение переменных
  • Избыточный код
  • и другие

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

  • Целью аудита смарт-контрактов является тщательный анализ кода для выявления недостатков и уязвимостей.
  • Аудит безопасности проводится с использованием сочетания ручных и автоматических инструментов и методов для выявления и моделирования эксплуатации уязвимостей в их целевой среде.
  • Тесты проводятся командой специалистов с опытом работы в различных областях информационной безопасности с 2002 года, обладателями сертификатов CISSP, OSCP, CISA и CEH.
  • Анализ кода следует рекомендациям Solidity Style Guide и Ethereum Smart Contract Security Best Practices.
  • Классификация уязвимостей соответствует DASP Top 10, SWC Registry и CWE/SANSTop25.

Аудит смарт-контракта включает в себя следующие этапы:

  • Проверка документации.
  • Детальный анализ кода смарт-контракта, функциональности и логики его работы, криптографии, сторонних модулей и структуры библиотек.
  • Анализ специфических кейсов: Web security, Social security, Token/smart-contract OSINT, Signs of Risk, Signs of Confidence.
  • Ручной поиск слабых мест функций, разработка векторов атак, написание тестов для их реализации.
  • Автоматическое сканирование исходных файлов для поиска несоответствий лучшим практикам безопасности смарт-контрактов.
  • Проверка результатов сканирования, определение ложных срабатываний инструментов и реальных уязвимостей, которые могут повлиять на безопасность приложения.
  • Разработка рекомендаций по устранению найденных недостатков и оценка рисков.
Изображение - Аудит смарт-контрактов

Мы делаем аудит безопасности смарт-контрактов, основанных на:

  • стандартах Ethereum ERC-20 – ERC-4626;
  • Tron TRC-20 – Tether, Revain, JUST и др.;
  • других блокчейн-платформах, таких как: aelf, Aeron, Aeternity, AION, Ambrosus, AnycoinDirect, Arcona, Ardor, Ark, Asure, Auctus, Augur, Aurum, Avalanche, BILLCRYPT, BNB Beacon Chain (BEP2), BNB Smart Chain (BEP20), Bithemoth, Block Collider, BnkToTheFuture, Cardano, Casper, Centrality, ChangeNOW, ChiliZ, Cortex, Cosmos, COTI, Cronos, Cryptonex, CyberMiles, Dapp Fight, Dapps, Disciplina, Dogezer, Earths, ECROFund, Elastos, Electrify Asia, Enjin Coin, Enigma, Enkronos, EOS, Etherparty, Fantom, Fluence, FReeStart, Funfair, Gimli, Gnosis, GoByte, GXChain, HECO, HoloChain, I-chain, ICON, IExec, Ignis, Internxt, INTRO, Ion, IOStoken, Klaytn, Komodo, Lisk, Loom Network, Loopring, MaidSafeCoin, Mainframe, Maker, Metaverse ETP, Morpheus Network, MVL, NAV Coin, Nebulas, NEM, Near,  Neo, Nimiq, NIX, Nuls, NXT, OEL Foundation, OmniBazaar, ONT, Ontology, Opporty, OpuLabs, ORIS.SPACE, Papusha, Polkadot, Polygon, ProximaX, Qtum, QuarkChain, QUOINE, RChain, Red Pulse, RepuX, Request Network, Scorum, Siacoin, Skycoin, SmartMesh, Solana, Stellar, Stream, Swarm city, Syscoin, Taklimakan, Terra Luna, Tezos, Theta, TON, Trivver, Vechain, Verge, Wanchain, Waves, WaykiChain, Xdc, Zilliqa.

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

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


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

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

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

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

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

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