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

Проблеми смарт-контрактів
- Невідповідність між специфікацією та реалізацією
- Дефектний дизайн, логіка та контроль доступу
- Переповнення при арифметичних операціях (цілочисельне переповнення)
- Атаки повторного входу, атаки впровадження коду та атаки типу «відмова в обслуговуванні»
- Перевищення ліміту використання байт-коду та газу
- Майнерські атаки на мітки часу та порядок, залежність порядку транзакцій (TOD)
- Умови гонки, а також інші відомі атаки та порушення управління доступом
Методи та інструменти
Наші аудити смарт-контрактів відповідають наступним вимогам:
- Метою аудиту смарт-контрактів є ретельний аналіз коду для виявлення недоліків і вразливостей.
- Аудит безпеки проводиться з використанням поєднання ручних і автоматичних інструментів та методів для виявлення та моделювання експлуатації вразливостей в їх цільовому середовищі.
- Аудит смарт-контракту включає в себе наступні етапи:
- Загальний аналіз коду та додатку
- Перевірка документації
- Короткий огляд коду: швидкий аналіз функціональності смарт-контракту, основних класів .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, тощо.
Практичні результати
Результати проекту включають в себе звіт про аудит смарт-контракту зі структурою, аналогічною такому прикладу::
- Резюме для керівника
- Проектний підхід
- Специфікація проекту (Rules of Engagement)
- Опис методології аудиту безпеки смарт-контракту
- Опис області охоплення
- Робочий процес аудиту безпеки смарт-контракту
- Отримані дані та рекомендації
- Додаткова інформація про отримані дані та детальні рекомендації
- Висновки
- Підсумкові рекомендації та подальші кроки
Ми захоплені тим, що робимо, бо віримо, що робимо цей світ безпечнішим і надаємо впевненість людям.
Хто ми, що робимо та що пропонуємо.