1 січня о 4 ранку раптовий напад перетворив контракт, розгорнутий у рамках Truebit Protocol п’ять років тому, на "автомат для зняття коштів" — зловмисник за короткий час вивів з контракту 8 535,36 ETH, що за тодішнім курсом становить приблизно 26,4 мільйони доларів США.
Аналіз команди безпеки розкрив деталі цієї події. Метод атаки був не надто складним, але надзвичайно ефективним.
**Ось як відбувалася атака:**
Спочатку зловмисник викликав функцію getPurchasePrice() для збору цінової інформації. Потім вони націлилися на функцію в контракті, яка містила вразливість, і ініціювали виклик з дуже малим значенням msg.value. Оскільки код контракту не був відкритим, за допомогою декомпіляції було зроблено висновок, що ця функція має арифметичну логічну вразливість — ймовірно, через неправильну обробку цілочисельного усічення, що дозволило зловмиснику безкоштовно створювати велику кількість TRU токенів.
Далі — ключовий крок: за допомогою функції burn ці безкоштовно створені токени "продали" назад контракту, отримуючи реальні ETH. Ця операція повторювалася 5 разів, кожного разу msg.value поступово збільшувався, і в підсумку майже вся ETH у резерві контракту була виведена.
Ця подія стала тривожним дзвінком для індустрії — навіть проєкти, розгорнуті п’ять років тому, якщо їхній логіка контракту містить вразливості і не оновлюється вчасно, все ще можуть стати мішенню для хакерів.
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
4 лайків
Нагородити
4
6
Репост
Поділіться
Прокоментувати
0/400
RatioHunter
· 10год тому
Дійсно дивно, як можна так грати з п’ятирічним старим контрактом? Такі базові вразливості, як цілочисельне усічення, досі ніхто не виявив, смішно
Переглянути оригіналвідповісти на0
ChainWallflower
· 01-09 11:54
Тепер стало ясно, п’ятирічний контракт теж не зберегти, така низькосортна помилка, як відрізання цілих чисел, може спричинити збій, не дивно, що так багато старих проектів стали банкоматами.
Переглянути оригіналвідповісти на0
SocialFiQueen
· 01-09 11:49
Чорт, уразливість цілочисельного усічення ще можна використовувати п’ять років? Truebit — наскільки ж вони ліниві...
Переглянути оригіналвідповісти на0
RooftopVIP
· 01-09 11:48
Ну, п’ять років старий проект ще так можна здерти… справді без слів, хто б міг подумати.
Переглянути оригіналвідповісти на0
OvertimeSquid
· 01-09 11:48
П’ятирічний старий контракт ще можна здерти, це дійсно безглуздо. Чому досі не виправили таку примітивну уразливість, як переповнення цілого числа?
Переглянути оригіналвідповісти на0
GateUser-9ad11037
· 01-09 11:48
Контракт, який не оновлювався п’ять років, все ще має так багато ETH? Це ж сам себе підставляє під хакерські атаки.
1 січня о 4 ранку раптовий напад перетворив контракт, розгорнутий у рамках Truebit Protocol п’ять років тому, на "автомат для зняття коштів" — зловмисник за короткий час вивів з контракту 8 535,36 ETH, що за тодішнім курсом становить приблизно 26,4 мільйони доларів США.
Аналіз команди безпеки розкрив деталі цієї події. Метод атаки був не надто складним, але надзвичайно ефективним.
**Ось як відбувалася атака:**
Спочатку зловмисник викликав функцію getPurchasePrice() для збору цінової інформації. Потім вони націлилися на функцію в контракті, яка містила вразливість, і ініціювали виклик з дуже малим значенням msg.value. Оскільки код контракту не був відкритим, за допомогою декомпіляції було зроблено висновок, що ця функція має арифметичну логічну вразливість — ймовірно, через неправильну обробку цілочисельного усічення, що дозволило зловмиснику безкоштовно створювати велику кількість TRU токенів.
Далі — ключовий крок: за допомогою функції burn ці безкоштовно створені токени "продали" назад контракту, отримуючи реальні ETH. Ця операція повторювалася 5 разів, кожного разу msg.value поступово збільшувався, і в підсумку майже вся ETH у резерві контракту була виведена.
Ця подія стала тривожним дзвінком для індустрії — навіть проєкти, розгорнуті п’ять років тому, якщо їхній логіка контракту містить вразливості і не оновлюється вчасно, все ще можуть стати мішенню для хакерів.