著者: ベオシン
1月9日早朝、Truebit Protocolが5年前に導入したクローズドソースのコントラクトが攻撃を受け、8,535.36 ETH(約2,640万ドル相当)の損失が発生しました。Beosinセキュリティチームは、このセキュリティインシデントの脆弱性と資金追跡分析を実施し、その結果を以下に発表します。

攻撃手法分析
このインシデントで最も重要な攻撃トランザクションを、トランザクションハッシュ0xcd4755645595094a8ab984d0db7e3b4aabde72a5c87c4f176a030629c47fb014で分析します。
1. 攻撃者は getPurchasePrice() を呼び出して価格を取得します。

2. その後、欠陥のある関数 0xa0296215() が呼び出され、msg.value が非常に小さな値に設定されます。

このコントラクトはオープンソースではないため、逆コンパイルされたコードから、関数に整数切り捨ての問題などの算術論理の脆弱性があり、攻撃者が大量の TRU トークンを正常に発行できることが推測されます。
3. 攻撃者はバーン機能を使用して、発行されたトークンをコントラクトに「売り戻し」、コントラクトの準備金から大量の ETH を抽出しました。

このプロセスはさらに 4 回繰り返され、契約内の ETH がほぼすべて抽出されるまで、msg.value は毎回増加します。
盗難資金追跡
Beosinは、オンチェーン取引データに基づき、ブロックチェーンオンチェーン調査・追跡プラットフォームであるBeosinTraceを通じて詳細な資金追跡を実施し、その結果を次のように共有しました。
現在、盗まれた 8,535.36 ETH が転送されており、大部分は 0xd12f6e0fa7fbf4e3a1c7996e3f0dd26ab9031a60 と 0x273589ca3713e7becf42069f9fb3f0c164ce850a に保管されています。
アドレス0xd12fには4,267.09 ETH、アドレス0x2735には4,001 ETHが保有されています。攻撃者が攻撃を開始したアドレス(0x6c8ec8f14be7c01672d31cfa5f2cefeab2562b50)には、依然として267.71 ETHが保有されています。これら3つのアドレスからは、これ以上の資金移動は行われていません。

Beosin Traceによる盗難資金の流れの分析チャート
上記のアドレスはすべて、Beosin KYTによって高リスクとしてフラグ付けされています。例えば、攻撃者のアドレスは次のようになります。

ベオシンKYT
結論
盗難された資金は、5年前にはオープンソース化されていなかったスマートコントラクトに関連していました。このようなコントラクトについては、プロジェクトチームは緊急停止機能、パラメータ制限、そして最新バージョンのSolidityのセキュリティ機能を導入し、アップグレードする必要があります。さらに、セキュリティ監査はコントラクト管理において不可欠な要素です。セキュリティ監査を通じて、Web3企業はスマートコントラクトのコードを包括的に検査し、潜在的な脆弱性を特定・修正し、コントラクトのセキュリティを向上させることができます。
*Beosinは、すべての資金の流れとリスクに関する包括的な分析レポートを提供します。公式メールアドレスsupport@beosin.comまでご請求ください。
