Хакер створив 46 млрд фейкових біткоїнів із 25 центів і вкрав з криптопулів $770 000
/https%3A%2F%2Fs3.eu-central-1.amazonaws.com%2Fmedia.my.ua%2Ffeed%2F137%2F86e5b3b2892ca9c43d0d686f2719929c.jpg)
DeFi-біржу Symbiosis зламали через відсутність базової перевірки меж у смартконтракті. Symbiosis — одна з багатьох корисних DeFi-мереж, які дають користувачам змогу торгувати майже будь-якою криптовалютною парою без необхідності взаємодіяти з біржею. Вона працює вже п’ять років і об’єднує близько 50 різних блокчейнів.
Дві вразливості відкрили шлях до атаки
Повна залежність екосистеми від смартконтрактів (коду, розміщеного в блокчейні та доступного для перегляду будь-кому) цілком логічна, але парадоксальним чином створює проблему відповідальності. Це продемонстрував минулий тиждень, коли Symbiosis була зламана щонайменше на $770 000, або 9,97 BTC.
Смартконтракти публікуються безпосередньо в блокчейнах і за визначенням мають відкритий вихідний код. Це означає, що будь-хто може знайти в них помилку, і злочинець, який атакував Symbiosis, знайшов одразу дві: нерозкриту вразливість підвищення привілеїв, яка дозволила йому підробити права мережевого адміністратора, а також помилку рівня “вступ до програмування” — відсутність перевірки того, чи є комісія за транзакцію додатним числом.
Від’ємна комісія запустила емісію фальшивих BTC
Метод був простим: отримавши права адміністратора, хакер встановив комісію за транзакцію на від’ємне значення, а потім провів 12 транзакцій. Оскільки комісія стала від’ємною, замість того, щоб відніматися від переміщуваної суми, вона додавалася до неї. Хакер витратив лише 330 сатоші (найменшу одиницю BTC), тобто близько 25 центів, але зміг випустити 46 млрд syBTC — біткоїнів, обгорнутих у мережі Symbiosis. Для порівняння, максимальна теоретична кількість BTC в обігу становить 21 млн.
“Самі по собі ці токени syBTC нічого не вартували, оскільки не були забезпечені реальними активами, але ними можна було торгувати. І хакер почав торгувати, продаючи syBTC проти відповідних обгорнутих активів, зокрема BTCB, cbBTC, WBTC і RBTC, спустошуючи ці пули та завдавши збитків у біткоїнах на $770 000. Відомо, що приблизно $336 000 він встиг конвертувати в готівку через Uniswap, перш ніж його заблокували”, — розповідає Tom’s Hardware.
Решта токенів обгорнутого BTC була позначена охоронними компаніями та біржами, що ускладнило їхнє використання хакером. Для постраждалих це слабка втіха, доки злочинець не поверне токени самостійно або внаслідок юридичних заходів. Деякі з них, наприклад, cbBTC від Coinbase, випускаються централізованими структурами й можуть бути анульовані та випущені заново після юридичної процедури, але інші, такі як RBTC, — ні.
Як працюють DeFi-пули та обгорнуті токени
Для тих, хто не знайомий із цією сферою, DeFi-пули можна загалом описати як автоматизовані торгові резервуари. Вони працюють на вже наявних блокчейн-мережах, таких як Ethereum або Solana, за допомогою смартконтрактів і дозволяють користувачам торгувати безпосередньо з коштами в пулі, без посередників. Користувачі, які надають пулу ліквідність, отримують частину комісій за транзакції щоразу, коли інші учасники торгують у ньому.
“Наприклад, ви вносите 1 ETH і отримуєте невелику суму щоразу, коли хтось купує або продає ETH, фактично отримуючи “відсотки” за збережену валюту майже без жодних зусиль. Трейдеру не потрібно було взаємодіяти з кимось — лише з фрагментом коду, тобто смартконтрактом. Щоб транзакції працювали, DeFi-мережі “обгортають” інші токени у власні варіації, наприклад, BTC перетворюється на syBTC”, — пояснює Tom’s Hardware.
Symbiosis готує компенсації та переписує код
Symbiosis заявила, що має намір погасити борги, які виникли внаслідок атаки, зазначивши, що “частина буде повернута з евакуйованих коштів, а кожному LP буде запропоновано індивідуальний план компенсації”. На практиці це, зрештою, означає, що Symbiosis зв’яжеться з великими власниками обгорнутого BTC у своєму пулі та запропонує їм боргову розписку, пакет боргу з відсотками або певну комбінацію цих варіантів. У таких ситуаціях цілком очікувано, хоча й не гарантовано, що великі власники погодяться на таку угоду, оскільки примусова ліквідація повністю знищила б мережу, а вони отримали б копійки з кожного вкладеного долара.
Проєкт також повідомив, що перепише логіку роботи з біткоїном і замовив незалежний аудит перед впровадженням нового коду. Крім того, Symbiosis стверджує, що запросила повний аудит “усієї системи”. Проєкт також заявив, що “потужні моделі ШІ знизили вартість пошуку таких помилок”. Це цілком обґрунтований аргумент — і водночас навряд чи він матиме великий вплив у випадку з кодом, який працює з грошима та має високий рівень ризику, особливо з огляду на базовий факт: хтось пропустив просту перевірку на від’ємне значення у коді, обсяг якого, ймовірно, становить лише кілька тисяч рядків.
Джерело: Tom’s Hardware