17 жовтня 2024 року протокол децентралізованих фінансів (DeFi) Radiant Capital зазнав ретельного зламу, що призвело до збитків у розмірі 50 мільйонів доларів. Ця атака не була звичайним подвигом; він продемонстрував високий рівень складності, включаючи скомпрометовані апаратні гаманці, зараження програмного забезпечення троянами та бездоганну інтеграцію шкідливих смарт-контрактів. Зловмисники продемонстрували глибокі знання як технічної інфраструктури, так і організаційних процесів. У цій статті буде детально описано механізм атаки, проведено порівняння з іншими відомими хаками та надано дієві стратегії пом’якшення.

Технічна складність атаки

1. Зараження троянами комп’ютерів членів команди

Атака почалася з троянських дій на комп’ютерах кількох членів команди Radiant Capital. Трояни — це різновид зловмисного програмного забезпечення, замаскованого під законне програмне забезпечення, що дозволяє зловмисникам проникати в машини та збирати конфіденційну інформацію або дистанційно керувати пристроями. У цьому випадку троян дозволив зловмисникам перехопити запити транзакцій multisig (багатопідписів).

- Пояснення Multisig: у децентралізованих фінансах гаманці з кількома підписами (наприклад, Gnosis Safe) потребують кількох приватних ключів для схвалення та виконання транзакції. Вони часто використовуються для забезпечення значних коштів або критичних оновлень контрактів, гарантуючи, що жодна особа не зможе діяти в односторонньому порядку.

2. Обман через маніпуляції апаратним гаманцем

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

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

Однак у цьому випадку троян замінив законні запити на транзакцію на зловмисний — зокрема, на запит на виконання функції `transferOwnership()`. Ця функція передала зловмисникам контроль над кредитним пулом Radiant Capital.

3. Атомарне виконання експлойту

Після того як зловмисники отримали необхідні підписи, вони організували атомарне виконання — послідовність дій, які виконуються як одна безперервна транзакція в мережі Ethereum. Це хитрий прийом, який часто використовують хакери, щоб запобігти виявленню чи перехопленню свого експлойту.

- Передача права власності: підписана функція `transferOwnership()` передала зловмисникам контроль над контрактом про кредитний пул.

- Оновлення контракту: Далі зловмисники оновили контракт за допомогою нової реалізації (через функцію `setLendingPoolImpl`), розгорнувши шкідливий код для подальшого крадіжки.

- Початкова крадіжка: оновлений контракт виконував функцію `transferFrom()`, що дозволяло зловмисникам вилучати кошти з будь-якого користувача, який дав схвалення договору кредитного пулу.

4. Безперервна крадіжка

Навіть після першого експлойту крадіжка тривала. Шкідливий контракт залишався активним і працював, експлуатуючи користувачів, які схвалили договір кредитування. Щоразу, коли вразливий користувач взаємодіяв із контрактом, шкідливий код запускався та викрадав його активи.

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

5. Перехоплення запитів на підписання

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

У стандартних налаштуваннях із кількома підписами (наприклад, Gnosis Safe) усі учасники мають бачити та затверджувати ідентичні підписи. У цьому випадку законні підписи ніколи не з’являлися в Gnosis Safe, що свідчить про те, що маніпуляції зловмисників відбулися ще до того, як дані були передані для затвердження.

Подібні хаки DeFi: ширша перспектива

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

1. Злом Upbit 2019

У листопаді 2019 року південнокорейська біржа Upbit втратила Ethereum на 50 мільйонів доларів під час атаки, яка використовувала недолік безпеки в інфраструктурі холодного гаманця з кількома підписами. Хоча це не була атака трояна, вона показала, як використання слабких місць у процесах підписання транзакцій може призвести до втрати величезних сум коштів.

2. Хак Harmony Bridge 2022

У червні 2022 року Harmony's Horizon Bridge зазнав експлойту на 100 мільйонів доларів через скомпрометовані гаманці multisig. Хакери отримали контроль над мостом, використовуючи серію зловмисних транзакцій після отримання контролю над ключами multisig. Цей хак, як і Radiant Capital, підкреслив вразливість, притаманну системам multisig, особливо коли приватні ключі або пристрої, залучені до підписання, скомпрометовані.

3. Атака Euler Finance 2023

У березні 2023 року Euler Finance втратила майже 200 мільйонів доларів через експлойт, пов’язаний з недоліком у її протоколі кредитування. Незважаючи на те, що злом Euler був радше використанням контрактної вразливості, а не компрометацією кількох підписів або апаратного гаманця, він продемонстрував здатність зловмисників поєднувати кілька типів експлойтів в одну цілісну атомарну атаку.

Ці хакерські атаки, включно з інцидентом Radiant Capital, мають спільну тему: усі вони покладалися на використання складнощів децентралізованої фінансової інфраструктури, часто націлюючись на вразливі місця в гаманцях з кількома підписами, смарт-контрактах або процесах підписання транзакцій.

Заходи пом'якшення: як захиститися від таких атак

Злом Radiant Capital служить тривожним дзвіночком для екосистеми DeFi, демонструючи необхідність проактивних заходів безпеки для запобігання подібним експлойтам у майбутньому. Нижче наведено ключові стратегії пом’якшення.

1. Блокування часу та процеси управління

Запровадження тимчасових блокувань у розгортання смарт-контрактів може значно зменшити ризики швидких, неконтрольованих змін. Блокування часу вводить затримку (наприклад, 24-48 годин) перед виконанням критично важливих функцій контракту, таких як оновлення чи переказ великих коштів.

- Приклад: Compound Finance реалізує блокування часу на 2 дні для будь-яких змін управління. Це дає спільноті час для перегляду, виявлення потенційних зловмисних пропозицій і реагування до їх виконання.

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

2. Найкращі практики Multisig

Якщо підпис апаратного гаманця не призводить до відповідного підпису, видимого для всіх інших підписувачів у налаштуваннях із кількома підписами (наприклад, Gnosis Safe), процес підписання слід зупинити, а транзакцію слід дослідити. Перехресна перевірка підписів на кількох пристроях або членах команди може допомогти запобігти підписанню зловмисних транзакцій.

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

3. Захистіть пристрої членів команди

Однією з основних точок входу для злому Radiant Capital був компрометація комп’ютерів членів команди. Організації повинні:

- Впровадити суворі заходи безпеки кінцевих точок, включаючи використання програмного забезпечення для захисту від зловмисного програмного забезпечення та виявлення вторгнень.

- Застосуйте політику використання апаратного гаманця, гарантуючи, що вони використовуються лише на безпечних ізольованих машинах, щоб зменшити ризик перехоплення.

- Проводьте регулярні аудити безпеки та тестування на проникнення, щоб виявити та усунути будь-які вразливості в інфраструктурі організації.

4. Відкликайте непотрібні схвалення

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

Такі служби, як засіб перевірки токенів Etherscan, дозволяють користувачам легко переглядати та відкликати схвалення токенів, які вони більше не використовують, мінімізуючи ризик подібних атак.

5. Освіта та готовність до реагування на інциденти

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

Злом Radiant Capital демонструє зростаючу складність експлойтів DeFi, поєднуючи соціальну інженерію, зловмисне програмне забезпечення та вразливості смарт-контрактів у бездоганну, високоефективну атаку. Взявши уроки з цього інциденту та запровадивши надійні заходи безпеки — часові блокування, процеси управління, методи безпечного апаратного гаманця та проактивне навчання користувачів — протоколи DeFi можуть краще захистити від майбутніх загроз.

Оскільки DeFi продовжує зростати, складність атак також зростатиме. Вкрай важливо, щоб протоколи, розробники та користувачі залишалися пильними, віддавали пріоритет безпеці та використовували найкращі методи, які захистять їхні кошти у все більш ворожому цифровому середовищі. Уроки Radiant Capital і подібні хаки, які йому передували, повинні широко застосовуватися для зміцнення всієї екосистеми проти нових загроз.

завдяки @danielvf