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

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


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

Дізнайтеся більше про проблеми, які ми вирішуємо, про методи та інструменти, які ми використовуємо, та про результати, які ми надаємо.


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

  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 тощо)
Реагування на інциденти та їх розслідування