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

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


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

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


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

  1. Невідповідність між специфікацією та реалізацією.
  2. Недоліки дизайну, логіки та контролю доступу.
  3. Переповнення при арифметичних операціях (цілочисельне переповнення).
  4. Атаки повторного входу, атаки впровадження коду та атаки типу «відмова в обслуговуванні».
  5. Перевищення ліміту використання байт-коду та газу.
  6. Майнерські атаки на мітки часу та порядок транзакцій, залежність порядку транзакцій (TOD).
  7. Умови гонки, а також інші відомі атаки та порушення управління доступом.
?
Детальніше про вразливості
  • Поширені та специфічні для платформи вразливості:
  • Неправильне впровадження стандарту
  • Переповнення цілого числа
  • Атака на стек викликів
  • Залежність від позначки часу
  • Залежність від властивостей блоку
  • Помилка мультипідпису
  • Залежність від порядку транзакцій
  • Уразливості функцій виклику
  • Безпека бізнесу
  • Безпека подій
  • Атака повторного входу
  • Уразливості генератора псевдовипадкових чисел
  • Уразливості DoS
  • Фальшивий депозит
  • Реалізація Token Vesting
  • Помилкова зміна стану
  • та інші (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 тощо)
Реагування на інциденти та їх розслідування