Аудит смарт-контрактів та блокчейн

1
Тест на проникнення рішення DEX та вузлів Cardano

Під час тесту на проникнення торговельного рішення DEX була проведена оцінка трьох повних вузлів Cardano. Оцінку проводили в режимах чорної скриньки та сірої скриньки. У результаті було виявлено, що 4 оновлення безпеки не були встановлені, а також були підтверджені 3 вразливості на рівні ядра. Замовник усунув вразливості, що були виявлені, а після цього почав виконувати операції керування пулом у безпечний спосіб.

Вихідний код протоколу ліквідності для незмінних токенів, включаючи смарт-контракти, був перевірений із точки зору безпеки з використанням відображення вразливостей до схем класифікації CWE/SANS Top 25, DASP Top 10 і SWC Registry. Результати включали дорогі цикли, мертвий код, неналежний рівень видимості функцій у контрактах та інтерфейсах, слабкі місця, на які потенційно впливали майнери. Уразливості були класифіковані як SWC-135, SWC-100, SWC-108 і DASP-8. Замовник отримав детальний звіт з усіма висновками, які згодом були успішно усунуті та виправлені в новому релізі.

2
Аналіз безпеки біржі з протоколом Milkomeda

Нещодавно нам удалося отримати унікальний досвід аналізу децентралізованої біржі, орієнтованої на інноваційний протокол Milkomeda L2. Протокол дозволяє отримати можливості віртуальних машин Ethereum у блокчейн мережах, де їхня підтримка не передбачена.

У ході аудиту смарт-контрактів, що забезпечують роботу біржі, ми застосували свою перевірену часом методологію. Аналіз складався як із автоматичних перевірок, так і з ручних. Проведено тести з пошуку вразливостей із SWC та DASP TOP10, а також розгортання контрактів у тестовій мережі для реалізації всіх можливих сценаріїв атак.

Як результат, ми допомогли нашому клієнту стати впевненим у тому, що його проєкт не буде черговим інфоприводом для новини про найбільший злам біржі. Були розроблені персональні рекомендації щодо усунення знайдених уразливостей, а також шляхи економії витрат Gas.

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

Нам було поставлено завдання провести аудит смарт-контрактів, написаних для блокчейна Algorand – конкурента Ethereum.

Програмування на блокчейні Algorand є відносно новою областю, без множини стандартів безпеки, документації або вироблених практик.

Незважаючи на це, смарт-контракти можуть керувати десятками мільйонів доларів, що робить їх метою злочинців.

Смарт-контракти Algorand використовують спеціальну мову - Transaction Execution Approval Language (TEAL). Надані нам смарт-контракти були створені за допомогою PyTeal - Python-бібліотеки для створення TEAL-програм.

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

В результаті нам вдалося переконатися в неможливості зловживання смарт-контрактами чи порушень бізнес-вимог замовника. Додатково, ми надали замовнику корисні рекомендації щодо покращення на основі нашого досвіду.