
3分で読めます
Tronにおける新たな詐欺警報:知っておくべきすべてのこと
最近、多くのお客様からの報告を受け、Tronブロックチェーン上で発生している新たな詐欺手法が判明しました。判明しているだけでも損失は300万ドルを超えていますが、被害の全容は依然として不明です。この問題をめぐる認知と情報共有の不足を受けて、私たちはその仕組みと影響を理解するために徹底的な分析を実施しました。
調査の結果、Fireblocksプラットフォームにはこの種の詐欺に晒される脆弱性が存在することが明らかになりました。本記事の調査結果をもとに、Fireblocksが早急に対策を講じることを願っています。
とはいえ、取引所であってもウォレットソリューションプロバイダーであっても、本記事で紹介する防止策が、今後みなさまがデジタル資産をより確実に守るための助けになれば幸いです。
概要
この詐欺は、犯人が中央集権型取引所のアカウントの入金アドレスに対して不正なTRX送金を実行するところから始まります。取引所を支えるウォレットインフラでは異常が検知されないため、この取引はウォレットプラットフォームに記録されてしまいます。
その結果、取引所プラットフォームに取引通知が送信され、犯人のアカウント残高がそれに応じて更新されます。残高が自分のアカウントに反映された瞬間、犯人はただちにTRXを売却して現金化します。
この急速な換金プロセスにより、犯人は不一致が検知される前に不正取引を利用し、取引所のセキュリティ対策を実質的に回避して、盗んだ資金を持ち逃げすることができるのです。
詐欺の仕組みを詳しく分解
技術的な側面から、この詐欺が実際にどのように機能するのかを、実際の事例に基づいて詳しく見ていきましょう。
この詐欺では、犯人が2つのスマートコントラクトを含む3つのアドレスを使用して不正行為を実行します。関係するアドレスの詳細は以下のとおりです。
犯人のアドレス - TTykh5xx1MkENDm698PrYm5fEY74Mou2di
スマートコントラクトA - TNjKZbddpMZ6sHV8MJQ9u4bt943a7Z9R4T
スマートコントラクトB - TVWbr2QKpEFHjLcczGNcAhhu5QgioFUKmB
被害者のアドレス - TVWbr2QKpEFHjLcczGNcAhhu5QgioFUKmB
犯人はスマートコントラクトAを大量にトリガーし、プロキシとして機能するスマートコントラクトBを介して、被害者のアドレスを含むさまざまなアドレスへの送金を複数回実行します。スマートコントラクトAは、スマートコントラクトBと連携してこれらの送金を内部トランザクションとして開始するようプログラムされています。この高度なプログラミング手法こそが、不正な取引を正当なものに見せかける鍵となっています。

ブロックチェーンエクスプローラー上では、この取引は正常に見えます。以下のスクリーンショットに示すとおりです。

しかし、スマートコントラクトBの内部トランザクションを詳しく調べると、TVWbr2QKpEFHjLcczGNcAhhu5QgioFUKmBへの送金が失敗していることがわかります。

この2つのスマートコントラクトを使用することで、犯人は失敗した内部トランザクションを効果的に隠蔽し、すべての送金を表面上正当なものに見せかけています。この手法により、すぐに疑われることなくシステムを悪用できるのです。
この詐欺の被害に遭ったのは誰か
私たちの知る限り、この詐欺が成功した事例は1件しか確認されていません。しかし、問題の不審なスマートコントラクトをさらに分析した結果、犯人たちはこうした偽装取引を数百回も発行しており、取引所から300万米ドル相当を超えるTRXを騙し取っていた可能性があることが判明しました。
注意すべき点として、この詐欺に悪用された脆弱性は決して新しいものではありませんが、Fireblocksのような大手プレイヤーを含む、大多数のウォレットソリューションプロバイダーのプラットフォームでは依然として未対応のままです。
この出来事が、ウォレットプロバイダーや自社でウォレットプラットフォームを構築する企業にとっての警鐘となり、手遅れになる前にこの抜け穴をふさぐきっかけとなることを願っています。
詐欺を回避するには
詐欺に遭わないためには、ウォレットサービスがブロックチェーン上の取引を徹底的に取得・検証することが不可欠です。このプロセスには通常、セルフホストのノードの使用や、ウォレットが生成したアドレスに関連する取引を特定するための「ブロックスキャン」の実行が含まれます。鍵となるのはデータの整合性の確保であり、それには受信アドレス、コントラクトアドレス、確認ブロック数などの詳細の検証が含まれます。検証が完了したら、ウォレットサービスはユーザーのプラットフォームにコールバック通知を送信し、取引所などのエンドユーザーが更新されたアカウント残高を確認できるようにすべきです。
以下は、成功した取引がどのようなものかを示すサンプルのデータ文字列です。
{
"id": "425696d083b9e5c3e91e82baa2756ef5d8109f05cb7d79a81c167e6fbb28ba4d",
"fee": 4025540,
"blockNumber": 62950602,
"blockTimeStamp": 1719496470000,
"contractResult": [""],
"contract_address": "TNjKZbddpMZ6sHV8MJQ9u4bt943a7Z9R4T",
"receipt": {
"energy_fee": 3711540,
"energy_usage_total": 8837,
"net_fee": 314000,
"result": "SUCCESS"
},
"internal_transactions": [
{
"hash": "295d977e732f676b8d3f47f178d68fb2c0b99559ef8d78e218b569338ef96a92",
"caller_address": "TNjKZbddpMZ6sHV8MJQ9u4bt943a7Z9R4T",
"transferTo_address": "TWPQ2Bew5nFP1TPtyH6gjJBP8ETAjDKtGM",
"callValueInfo": [{}],
"note": "63616c6c"
},
{
"hash": "572a5693abade15949d13d682c089ed7adab38290273c8173b02e843addbbede",
"caller_address": "TWPQ2Bew5nFP1TPtyH6gjJBP8ETAjDKtGM",
"transferTo_address": "TTykh5xx1MkENDm698PrYm5fEY74Mou2di",
"callValueInfo": [
{
"callValue": 143000000010
}
],
"note": "63616c6c"
}
]
}
これを、アドレスTVWbr2QKpEFHjLcczGNcAhhu5QgioFUKmBへの143,000 TRXの不正取引データと比較してみてください。
{
"id": "4aadc66568c51683e5c319ab6bfa5a4ba01a1185d1e6de04e060e32b6b53c550",
"fee": 16850960,
"blockNumber": 62889998,
"blockTimeStamp": 1719314604000,
"contractResult": [""],
"contract_address": "TNjKZbddpMZ6sHV8MJQ9u4bt943a7Z9R4T",
"receipt": {
"energy_fee": 16374960,
"energy_usage_total": 38988,
"net_fee": 476000,
"result": "SUCCESS"
},
"log": [
{
"address": "TNjKZbddpMZ6sHV8MJQ9u4bt943a7Z9R4T",
"topics": [
"ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef",
"000000000000000000000000dff5b281e97664d17b0f6ddea65da74677013d65",
"000000000000000000000000d65a5aa79368637f7c5ab13a8bb83ac5047d4818"
],
"data": "000000000000000000000000000000000000000000000000000000214b76d600"
}
],
"internal_transactions": [
{
"hash": "bfa1729abd67034c4634bb7bb9d21e4b0a3865f2f7e5fbd6e71445cde8276eda",
"caller_address": "TNjKZbddpMZ6sHV8MJQ9u4bt943a7Z9R4T",
"transferTo_address": "TWPQ2Bew5nFP1TPtyH6gjJBP8ETAjDKtGM",
"callValueInfo": [{}],
"note": "63616c6c",
"rejected": true
},
{
"hash": "c1488d45978d81bcdadae088581f2bfeb85add3ccafa352a34bac531211da20e",
"caller_address": "TWPQ2Bew5nFP1TPtyH6gjJBP8ETAjDKtGM",
"transferTo_address": "TVWbr2QKpEFHjLcczGNcAhhu5QgioFUKmB",
"callValueInfo": [
{
"callValue": 143000000000
}
],
"note": "63616c6c",
"rejected": true
}
]
}
データの奥深くに、- "rejected": true - という余分なパラメータが含まれていることに気づくでしょう。これが正当な取引と不正な取引の唯一の違いです。

したがって、ウォレットサービスはメインの取引データを解析するだけでなく、特にスマートコントラクトに関わる内部トランザクションについても深く掘り下げるべきです。これらの内部の詳細を入念に分析することで、ウォレットプロバイダーは不正行為をより適切に検知・防止し、プラットフォーム全体のセキュリティを向上させることができます。
まとめ
秘密鍵へのアクセス以外にも、犯人が資金を盗む手段は数多くあるということを認識することが重要です。犯人は常に、例えば2億3,000万ドル超が関わった最近のWazirXとLmnlの事例のような、革新的で予想外の手口を考え出し続けています。これは、ウォレットプロバイダーが暗号化技術やアルゴリズムに過度に偏重し、より実践的なセキュリティ対策を犠牲にしているのではないかという疑問を提起するものです。
業界のプレイヤー同士が新たな脅威について互いに情報共有することも極めて重要です。この詐欺的手法は重大であるにもかかわらず、私たちはこれに言及した発表やニュースを一切見つけられませんでした。それでもなお、ソリューションプロバイダーがさらなる被害を防ぐために、この脆弱性について既存のすべての顧客に通知していると信じています。デジタル資産エコシステムの健全性を守るには、透明性とプロアクティブなコミュニケーションが不可欠です。
CoinsDoは、自社製品のためだけでなく、デジタル資産業界全体のセキュリティ基準を高めていくことに尽力しています。オープン性と警戒心の文化を育むことで、エコシステムのセキュリティと信頼性を共に高めていくことができるのです。



