Очевидно, що після того, що сталося з 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
- Розповсюдження контенту та PR на основі SEO. Отримайте посилення сьогодні.
- Платоблокчейн. Web3 Metaverse Intelligence. Розширені знання. Доступ тут.
- джерело: https://www.fintechnews.org/how-to-judge-if-a-so-called-hack-that-happened-to-a-crypto-or-blockchain-project-is-legit-or-if-its-just-a-mechanism-to-hide-a-rug/
- :є
- 2021
- a
- Здатний
- МЕНЮ
- доступ
- доступною
- За
- бухгалтерський облік
- насправді
- адреса
- адреси
- після
- ВСІ
- завжди
- амбіція
- честолюбний
- аналізувати
- та
- Інший
- будь
- ЕСТЬ
- AS
- Активи
- At
- привабливий
- аудит
- аудиторські фірми
- аудит
- В основному
- BE
- оскільки
- перед тим
- Вірити
- нижче
- Краще
- між
- бінанду
- Black
- blockchain
- Пов'язані з блокчейном
- човен
- BSC
- by
- званий
- CAN
- випадок
- випадків
- Викликати
- певний
- стверджував,
- код
- COM
- Приходити
- майбутній
- зазвичай
- Комунікація
- співтовариство
- повністю
- складається
- концепція
- укладає
- висновок
- контакт
- продовження
- контракт
- може
- створювати
- крипто
- криптова спільнота
- криптопроекти
- DAO
- dapp
- DApps
- дані
- мертвий
- Грудень
- Defi
- розгортання
- розгортання
- деталь
- деталі
- Розробник
- розробників
- DID
- різний
- цифровий
- Цифрові активи
- зникають
- розподіл
- Драма
- кожен
- легше
- досить
- Весь
- повністю
- Еквівалент
- помилка
- Ефіріума
- Навіть
- все
- докази
- приклад
- Крім
- Біржі
- виконання
- досвідчений
- експерт
- експертиза
- пояснені
- пояснюючи
- Експлуатувати
- експлуатований
- експонентний
- Інформація про оплату
- кілька
- фінансовий
- знайти
- фірми
- Перший
- недолік
- для
- Криміналістика
- знайдений
- засновники
- функція
- Функції
- фонд
- Загальне
- отримати
- добре
- зламати
- зламаний
- хакер
- обробляти
- сталося
- відбувається
- Мати
- чути
- допомога
- тут
- приховувати
- утримувач
- власники
- проведення
- Як
- How To
- HTTPS
- IBM
- значення
- важливо
- in
- все більше і більше
- індивідуальний
- спадкування
- замість
- цікавий
- інтерфейс
- IT
- ЙОГО
- JPG
- суддя
- ключі
- вбити
- Знати
- знання
- мова
- Пізно
- запущений
- Залишати
- Законний
- Ймовірно
- LINK
- зв'язку
- ліквідності
- пул ліквідності
- шукати
- серія
- made
- головний
- Mainstream
- Більшість
- зробити
- Робить
- багато
- ринки
- макс-ширина
- механізм
- mind
- хвилин
- відсутній
- змінювати
- більше
- Більше того
- найбільш
- Найбільш популярний
- mtgox
- Імена
- природа
- обов'язково
- необхідно
- Необхідність
- Нові
- вузол
- вузли
- поняття
- Листопад
- номер
- Очевидний
- of
- on
- ONE
- порядок
- Інше
- власний
- частина
- частини
- Люди
- людина
- підібраний
- plato
- Інформація про дані Платона
- PlatoData
- точка
- точок
- басейн
- популярний
- пошта
- тиск
- приватний
- Приватні ключі
- ймовірно
- процес
- Програмування
- проект
- проектів
- обіцянку
- захист
- захищений
- протокол
- протоколи
- забезпечувати
- публічно
- опублікований
- мета
- QuadrigaCX
- питань
- РІДНІ
- Читати
- реальний
- зрозумів,
- зменшити
- пов'язаний
- дослідження
- результат
- повертати
- Винагороджувати
- Нагороди
- кільце
- Risk
- Роль
- ролі
- прогін
- Зазначений
- то ж
- зберегти
- Шахрайство
- шахрайство
- Пошук
- другий
- безпеку
- Продаж
- кілька
- Показувати
- Шоу
- аналогічний
- простий
- спрощений
- просто
- один
- ситуація
- розумний контракт
- So
- солідність
- деякі
- залишатися
- Стоп
- Історія
- такі
- підсумовувати
- РЕЗЮМЕ
- підозрілі
- взяття
- говорити
- команда
- Дякую
- Що
- Команда
- їх
- Їх
- отже
- Ці
- речі
- думка
- через
- час
- до
- сьогодні
- знак
- занадто
- угода
- Операційні збори
- Transactions
- Довіряйте
- розуміти
- UTC
- перевірено
- через
- обсяг
- Голосувати
- Голосування
- Уразливості
- хотів
- шлях..
- тижня
- ДОБРЕ
- Що
- який
- в той час як
- білий
- ВООЗ
- волі
- з
- без
- слова
- Work
- б
- письмовий
- поступаючись
- Ти
- себе
- зефірнет