Як визначити, чи так званий «ЗЛАМ», який стався з проектом Crypto або Blockchain, є законним, чи це просто механізм приховування RUG?

Як визначити, чи так званий «ЗЛАМ», який стався з проектом Crypto або Blockchain, є законним, чи це просто механізм приховування RUG?

Шахрайство

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

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

Ми вважаємо, що це цікавий випадок для аналізу, оскільки він допоможе краще зрозуміти важливість безпеки та аудиту в проектах, пов’язаних зі смарт-контрактами чи блокчейном, загалом.

Ми об’єктивно проаналізуємо драму, яка сталася з проектом RING Financial, токеном, запущеним на BSC (Binance Blockchain).

Перш ніж перейти до злому, ми спершу підсумуємо проект і його ситуацію перед ним:

RING Financial до злому

RING financial був проектом DeFi з метою зробити DeFi більш доступним для DeFi та криптоспільноти. Амбітний проект, який мав на меті створити протокол отримання вузлів, який би керувався власниками вузлів і розподіляв ліквідність між більш ніж 300 протоколами одночасно. Метою було отримати доступ до всіх протоколів через один вузол RING і через RING Dapp.

Ці протоколи були перевірені командою, а потім громада голосувала, куди їх розподілити. Така сама концепція голосування, як і в DAO, що зробило RING досить привабливим.

RING Financial також значно спростила процес дослідження та процес розгортання для одного власника вузла. Один Dapp для доступу до всіх інших Dapp, тому вам знадобиться лише один інтерфейс замість 300 різних із власними доступами та власними вузлами.

Нарешті, мета RING Financial полягала в тому, щоб зменшити комісію за розгортання на різних протоколах, разом з обсягом приходить менша комісія за транзакції для окремих власників, що було однією з головних переваг проекту. Проект із чуттям і амбіціями, щоб полегшити роботу спільноти та зробити ще більш масовим для тих, хто не знає Defi.

Однак таланту й амбіцій не завжди достатньо, вам потрібні досвід і знання, які на нових і незрілих ринках є рідкістю, і саме тому RING Financial не змогла повністю виконати свою обіцянку.

Тож що насправді сталося з RING Financial? І чому його зламали? Завдяки блокчейну ми маємо всі судово-медичні докази, необхідні для того, щоб дослідити це та побачити, де були вразливості та чому RING Financial не був шахрайством.

Фінансовий ЗЛАМ RING стався 5 грудня 2021 року між 2:01 та 2:06 UTC.

Так, все сталося буквально за 5 хвилин! Дякуючи блокчейн-сканеру за ці деталі, до речі, ми надаємо вам трохи нижче посилань на транзакції, пов’язані з HACK, а також адресу контракту для тих, хто захоче шукати більш детально.

Ось короткий опис недоліку, яким скористався зловмисник:

Ви повинні розуміти, що смарт-контракт RING Financial складався з кількох частин: одна для токена та всіх пов’язаних із ним даних, а інша для всього, що пов’язано з обліком вузлів і винагородами. Частина токена мала безпеку, тому лише адміністратор контракту міг змінювати важливі дані цього, щоб показати вам деякий код, ось заголовок функції контракту, який захищено за допомогою атрибута «onlyOwner». який передбачає, що функція може бути виконана лише адміністратором:

Функція, яка не має єдиний власник атрибут (або еквівалентний атрибут для захисту доступу до функції) може бути виконаний буквально будь-ким.

Тепер здогадайтеся що? Функції в частині Nodes і Rewards не мали цього атрибута, як ви можете переконатися, подивившись на назви функцій нижче ( єдиний власник атрибут відсутній):

І, як ви можете собі уявити, хакер використав і обдурив цей недолік, щоб отримати експоненціальну кількість винагород у RING, а потім кинув їх у пул ліквідності та майже насильницько спорожнив його за кілька хвилин. Таким чином він здійснював свої афери.

Зараз ви, ймовірно, ставите собі два запитання:

Як розробники могли залишити таку лазівку?

Після розмови з розробниками Solidity (мова, яка використовується для кодування смарт-контрактів на Ethereum), це помилка, пов’язана з успадкуванням ролей між двома смарт-контрактами, успадкування – це поняття мови програмування, і щоб не викликати у вас головного болю, ми залишиться простими словами: в основному, дуже ймовірно, що особа, яка кодувала контракт, думала, що функції частини Node успадкували ролі безпеки функцій частини Token, але, на жаль, це не так у Solidity, і необхідно перевизначити ролі кожної функції кожного контракту, незалежно від їх зв’язку. Таким чином, наш висновок з цього приводу полягає в тому, що розробник не був експертом і що він, ймовірно, опублікував договір, НЕ знайшовши часу, щоб прочитати його знову, ймовірно, поспішаючи.

Звідки ви знаєте, що цей недолік навмисне залишив не сам розробник і це не шахрайство?

Дуже гарне заперечення, і легко припустити шахрайство, коли ви не впевнені, як це зробити розумні контракти працює, але насправді дуже легко припустити невинність розробника, оскільки він опублікував і перевірив увесь код смарт-контракту публічно на BSCSCAN.COM (найпопулярнішому сканері Binance Blockchain) 19 листопада 2021 року, що тобто більш ніж за два тижні до того, як стався RING Financial HACK. І, як пояснювалося раніше, недолік був написаний ЧОРНИМ ПО БІЛОМУ в контракті, і будь-який досвідчений розробник помітив би це і відреагував, але, на жаль, перший, хто не мав милосердя. Тому очевидно, що розробник не знав про цей недолік, оскільки він не ризикнув би дозволити будь-кому вбити фінансовий проект RING у будь-який момент.

Повертаючись до продовження RING Financial HACK, розробник усвідомив свою помилку і просто заморозив контракт, щоб припинити будь-який розподіл винагород, щоб зловмисник не спорожнив пул повністю. Потім він повторно розгорнув контракт Node, цього разу з атрибутом безпеки «onlyOwner». Цей новий контракт Node зміг правильно впоратися з новим розподілом винагороди, за винятком того, що було надто пізно, тому що в результаті HACK було втрачено довіру до проекту та команди, а тиск продажів убив і припинив роботу токена та проект.

Підсумовуючи, ми вибрали цю історію, оскільки вона показує дві важливі речі щодо смарт-контрактів і криптопроектів: ніколи не кодуйте контракт поспішно та завжди звертайтеся до аудиторських фірм, тому що як тільки трапиться злом, рятувати човен буде надто пізно, і Фінансовий проект RING є хорошим прикладом, крім того, згідно з їхнім повідомленням, вони зв’язалися з аудиторськими фірмами щодо цього другого контракту Node і не публікували його на BSCSCAN, доки не переконалися в його безпеці. Але, як було сказано раніше, для RING Financial було занадто пізно, і збиток був незворотним.

Ось усі посилання на сканер та адреси договорів:

гаманець, що виконує транзакцію для злому: 0xfe58c9e2ecb95757be6f4bca33162cfa346cc34f

 Ring smart-contract address: 0x521ef54063148e5f15f18b9631426175cee23de2

Ring reward pool address: 0xa46cc87eca075c5ae387b86867aa3ee4cb397372

 експлойт для злому транзакцій:

 TRX 1

    link: https://bscscan.com/tx/0x596d38494ea5ae640b2a556a7029692928f15713d22b5948477c4eb4a92cf68e

TRX 2

    link: https://bscscan.com/tx/0xfc890c855709bb6aeb5177ee31e08751561344402a88af13e7dfd02b9a2f6003

TRX 3

    link: https://bscscan.com/tx/0x35c2f1ed9c5ce13a714af6c0dcbbce8fe720f7d6212232b6dd3657d8799a10f1

How to judge if a so called “HACK” that happened to a Crypto or Blockchain project is legit or if it’s just a mechanism to hide a RUG? PlatoBlockchain Data Intelligence. Vertical Search. Ai.

Часова мітка:

Більше від Новини Fintech