1 січня о ранку протокол Truebit Protocol, який був розгорнутий 5 років тому, зазнав атаки на незашифровані смарт-контракти, внаслідок чого було втрачено 8 535,36 ETH (приблизно 26,4 мільйонів доларів США). Команда безпеки Beosin провела аналіз вразливостей та відстеження коштів у цій події та поділилася результатами нижче:
Аналіз методів атаки
У цьому випадку ми аналізуємо основну транзакцію атаки, хеш якої: 0xcd4755645595094a8ab984d0db7e3b4aabde72a5c87c4f176a030629c47fb014
Зловмисник викликав getPurchasePrice() для отримання ціни
Потім викликав функцію з дефектом 0xa0296215(), встановивши значення msg.value дуже малим
Оскільки контракт не був відкритим, за допомогою зворотного аналізу коду можна припустити, що ця функція має арифметичну логічну вразливість, наприклад, проблему з цілочисельним усіченням, що дозволило зловмиснику успішно створити велику кількість токенів TRU.
Зловмисник за допомогою функції burn “продав” створені токени назад контракту, витягуючи значну кількість ETH із резерву контракту.
Цей процес повторювався ще 4 рази, кожного разу збільшуючи значення msg.value, доки майже весь ETH у контракті не був виведений.
Відстеження викрадених коштів
Згідно з даними транзакцій у блокчейні, Beosin за допомогою власної платформи для досліджень і відстеження транзакцій BeosinTrace провів детальне відстеження коштів і поділився результатами нижче:
Наразі викрадені 8 535,36 ETH були переказані та переважно зберігаються на адресах 0xd12f6e0fa7fbf4e3a1c7996e3f0dd26ab9031a60 і 0x273589ca3713e7becf42069f9fb3f0c164ce850a.
Зокрема, адреса 0xd12f володіє 4 267,09 ETH, а адреса 0x2735 — 4 001 ETH. Адреса зловмисника, яка ініціювала атаку (0x6c8ec8f14be7c01672d31cfa5f2cefeab2562b50), також має 267,71 ETH, але три адреси поки що не здійснили додаткових переказів коштів.
Графік аналізу потоків викрадених коштів за допомогою Beosin Trace
Вищезазначені адреси вже позначені як високоризикові адреси у системі KYT від Beosin. Візьмемо за приклад адресу зловмисника:
Beosin KYT
Заключення
Ця крадіжка стосується смарт-контракту, який не був відкритим 5 років тому. Для таких контрактів проектні команди повинні оновлювати їх, вводити функції екстреного призупинення, обмеження параметрів та використовувати нові безпечні можливості Solidity. Крім того, безпека аудиту залишається невід’ємною частиною процесу. За допомогою аудиту безпеки компанії Web3 можуть максимально всебічно перевірити код смарт-контрактів, виявити та виправити потенційні вразливості, підвищуючи безпеку контрактів.
*Beosin надасть повний звіт про всі потоки коштів та ризики адрес у цій події. Запитуйте його через офіційний електронний лист support@beosin.com.
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
Втрати понад 26 мільйонів доларів США: аналіз інциденту безпеки Truebit Protocol та відстеження руху викрадених коштів
null
Автор: Beosin
1 січня о ранку протокол Truebit Protocol, який був розгорнутий 5 років тому, зазнав атаки на незашифровані смарт-контракти, внаслідок чого було втрачено 8 535,36 ETH (приблизно 26,4 мільйонів доларів США). Команда безпеки Beosin провела аналіз вразливостей та відстеження коштів у цій події та поділилася результатами нижче:
Аналіз методів атаки
У цьому випадку ми аналізуємо основну транзакцію атаки, хеш якої: 0xcd4755645595094a8ab984d0db7e3b4aabde72a5c87c4f176a030629c47fb014
Зловмисник викликав getPurchasePrice() для отримання ціни
Потім викликав функцію з дефектом 0xa0296215(), встановивши значення msg.value дуже малим
Оскільки контракт не був відкритим, за допомогою зворотного аналізу коду можна припустити, що ця функція має арифметичну логічну вразливість, наприклад, проблему з цілочисельним усіченням, що дозволило зловмиснику успішно створити велику кількість токенів TRU.
Цей процес повторювався ще 4 рази, кожного разу збільшуючи значення msg.value, доки майже весь ETH у контракті не був виведений.
Відстеження викрадених коштів
Згідно з даними транзакцій у блокчейні, Beosin за допомогою власної платформи для досліджень і відстеження транзакцій BeosinTrace провів детальне відстеження коштів і поділився результатами нижче:
Наразі викрадені 8 535,36 ETH були переказані та переважно зберігаються на адресах 0xd12f6e0fa7fbf4e3a1c7996e3f0dd26ab9031a60 і 0x273589ca3713e7becf42069f9fb3f0c164ce850a.
Зокрема, адреса 0xd12f володіє 4 267,09 ETH, а адреса 0x2735 — 4 001 ETH. Адреса зловмисника, яка ініціювала атаку (0x6c8ec8f14be7c01672d31cfa5f2cefeab2562b50), також має 267,71 ETH, але три адреси поки що не здійснили додаткових переказів коштів.
Графік аналізу потоків викрадених коштів за допомогою Beosin Trace
Вищезазначені адреси вже позначені як високоризикові адреси у системі KYT від Beosin. Візьмемо за приклад адресу зловмисника:
Beosin KYT
Заключення
Ця крадіжка стосується смарт-контракту, який не був відкритим 5 років тому. Для таких контрактів проектні команди повинні оновлювати їх, вводити функції екстреного призупинення, обмеження параметрів та використовувати нові безпечні можливості Solidity. Крім того, безпека аудиту залишається невід’ємною частиною процесу. За допомогою аудиту безпеки компанії Web3 можуть максимально всебічно перевірити код смарт-контрактів, виявити та виправити потенційні вразливості, підвищуючи безпеку контрактів.
*Beosin надасть повний звіт про всі потоки коштів та ризики адрес у цій події. Запитуйте його через офіційний електронний лист support@beosin.com.