9 января рано утром протокол 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. Три адреса пока не осуществили дальнейшие переводы средств.
Диаграмма анализа потоков украденных средств by Beosin Trace
Все указанные адреса были помечены командой Beosin KYT как высокорискованные. В качестве примера возьмем адрес злоумышленника:
Beosin KYT
Заключение
Украденные средства связаны с неоткрытым смарт-контрактом, развернутым 5 лет назад. Для таких контрактов проектные команды должны обновлять контракт, вводить функции экстренной остановки, ограничение параметров и использовать новые версии безопасных функций Solidity. Кроме того, аудит безопасности остается важнейшим этапом. Проведение аудита позволяет Web3-компаниям максимально полно выявлять потенциальные уязвимости в коде смарт-контрактов, обнаруживать и исправлять их, повышая безопасность контрактов.
*Beosin подготовит полный аналитический отчет о потоках средств и рисках адресов, а также предоставит его по официальной электронной почте support@beosin.com.
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
Потери превысили 26 миллионов долларов США: анализ инцидента безопасности Truebit Protocol и отслеживание потока украденных средств
null
Автор: Beosin
9 января рано утром протокол 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. Три адреса пока не осуществили дальнейшие переводы средств.
Диаграмма анализа потоков украденных средств by Beosin Trace
Все указанные адреса были помечены командой Beosin KYT как высокорискованные. В качестве примера возьмем адрес злоумышленника:
Beosin KYT
Заключение
Украденные средства связаны с неоткрытым смарт-контрактом, развернутым 5 лет назад. Для таких контрактов проектные команды должны обновлять контракт, вводить функции экстренной остановки, ограничение параметров и использовать новые версии безопасных функций Solidity. Кроме того, аудит безопасности остается важнейшим этапом. Проведение аудита позволяет Web3-компаниям максимально полно выявлять потенциальные уязвимости в коде смарт-контрактов, обнаруживать и исправлять их, повышая безопасность контрактов.
*Beosin подготовит полный аналитический отчет о потоках средств и рисках адресов, а также предоставит его по официальной электронной почте support@beosin.com.