Back to Blog

Binance Smart Chainにおけるプライベートトランザクションサービスのセキュリティとプライバシーに関する懸念

2022年9月20日
4 min read

プライベートトランザクションサービスの背景

プライベートトランザクションサービスは、トランザクションをチェーン上でブロードキャストすることなく保護することを目的としています。このサービスは、ユーザーをサンドイッチ攻撃から守ることで、健全なエコシステムの構築に貢献します。例えば、攻撃者は保留中(ペンディング)のプールを監視して、他のトランザクションをフロントランニングすることができなくなります。さらに、プライベートトランザクションサービスは、MEVボット間のガス代競争を緩和することもできます。これは、MEVボットがガス価格を押し上げる原因となる保留中のプールで競争する代わりに、このようなサービスを活用できるためであり、結果として通常のトランザクションがブロックに組み込まれやすくなります。

Flashbotsはイーサリアムにおける有名なプライベートサービスプロバイダーであり、そのシステムがどのように機能するかについての優れたドキュメントを提供しています。また、プライベートトランザクションデータの明確なAPIも提供しています。BNB48は、バイナンス・スマートチェーン(BSC)上で同様のサービス(Enhanced RPC)を提供しています。

プライベートトランザクションは攻撃者に悪用されている

しかし、プライベートトランザクションサービスは攻撃者に悪用される可能性があり、攻撃トランザクションを(気づかれることなく)迅速にチェーン上に組み込ませることが可能となります。

最近、BSC上で「興味深い」トランザクションを確認しました。攻撃者はBNB48のプライベートトランザクションサービスを悪用し、自身の攻撃トランザクションを隠蔽しました(攻撃による収益は約$150K USDです)。以下のスクリーンショットから、このトランザクションが「15Gwei」のガス価格でBNB48のバリデーターによって組み込まれたことがわかります。

残念ながら、BNB48のプライベートトランザクションサービスによって組み込まれたトランザクションを照会できる公開サービスは見当たりませんでした。しかし、以下の2つの理由から、このケースである可能性が非常に高いと考えています。

  • BNB48のドキュメントによると、Enhanced RPCを使用するには、トランザクションの送信者がガス価格を15Gweiに設定する必要があります。もちろん、攻撃者がBNB48のプライベートトランザクションサービスを使用せず、たまたま通常のRPCエンドポイントを使用してトランザクションを行い、ガス価格を「15Gwei」に設定したというわずかな可能性も存在します。
  • さらに、攻撃者のコントラクトには、攻撃トランザクションがBNB48のバリデーター上でのみ実行されるように制限するコードが含まれています(下図参照)。

ガス価格とコードのロジックから、このトランザクションがBNB48のプライベートトランザクションサービスを悪用した可能性が非常に高いと推測されます。

攻撃者のIPが流出

興味深いことに、被害者は攻撃トランザクションのIPアドレスと時刻を特定できたと主張しました。そして被害者はチェーン上で攻撃者に資金の返還を求めるメッセージを送りました。

攻撃者は一連のトランザクションで資金を返還しました [1 | 2 | 3 | 4 | 5 | 6]。

ここで疑問が生じます。もし攻撃トランザクションが(BNB48のRPCエンドポイントにトランザクションを送信することで)BNB48のプライベートトランザクションサービスを悪用していたのなら、どのようにして攻撃者のIPアドレスが特定され、流出したのでしょうか? 資金が返還されたという結果に基づくと、メッセージに含まれていたIPアドレスと地理的位置情報は本物であるはずです。

プライベートトランザクションサービスのセキュリティとプライバシーに関する懸念

私たちが考えるに、プライベートトランザクションサービスは、トランザクションがブロードキャストされたりサンドイッチ攻撃を受けたりするのを防ぐため、エコシステムにおいて重要な存在です。しかし、同時に他のセキュリティやプライバシーに関する懸念も生じさせています。

  • プライベートトランザクションサービスが攻撃者に悪用されるのをどのように防ぐかは未解決の課題です。プライベートトランザクションサービスにおいてフィルタリング機能が必要かどうかは、コミュニティで(現在も)議論の対象となっています。私たちは現在、プライベートトランザクションサービスプロバイダーが攻撃を監視できるシステムを開発しています(攻撃を認識できることは有益です)。
  • プライベートトランザクションサービスを利用するユーザーのプライバシーをどのように保護するか?例えば、プライベートトランザクションを受け入れるエンドポイントは、送信者のIPアドレスや時刻といった情報をログに記録する可能性があります。この情報が十分に保護されているかどうかは不明です。

BlockSecについて

BlockSecは、世界的に著名なセキュリティ専門家グループによって2021年に設立された、先駆的なブロックチェーンセキュリティ企業です。同社は、急成長するWeb3の世界の普及を促進するために、セキュリティとユーザビリティの向上に取り組んでいます。そのために、BlockSecはスマートコントラクトおよびEVMチェーンのセキュリティ監査サービス、セキュリティ開発と脅威のプロアクティブなブロックを行うPhalconプラットフォーム、資金の追跡と調査のためのMetaSleuthプラットフォーム、そしてWeb3ビルダーが効率的に暗号資産の世界を航海するためのMetaDockエクステンションを提供しています。

現在までに、同社はMetaMask、Uniswap Foundation、Compound、Forta、PancakeSwapなど300社以上の著名なクライアントにサービスを提供しており、Matrix Partners、Vitalbridge Capital、Fenbushi Capitalを含む著名な投資家から2回の資金調達ラウンドで数千万米ドルの資金を調達しています。

公式サイト: https://blocksec.com/

公式Twitterアカウント: https://twitter.com/BlockSecTeam

Sign up for the latest updates
安全な保管を超えて、第2部:ウォレットの暗号技術を安全に実装する
Security Insights

安全な保管を超えて、第2部:ウォレットの暗号技術を安全に実装する

攻撃者は、保護された秘密鍵のコピーを読み取らずに、その秘密鍵を復元できるのでしょうか。『Beyond Secure Storage』の第2部では、乱数の品質不足、エントロピーの損失、署名用ノンスの不備によって鍵の予測や復元が可能になった6件の事例を検証します。そこから鍵生成と署名に関する実装要件を導き出し、決済機関がコードレビューと導入済みシステムのテストを通じて、それらをどう評価できるかを説明します。

安全な保管を超えて、第1部:安全な決済・署名ワークフローの設計
Security Insights

安全な保管を超えて、第1部:安全な決済・署名ワークフローの設計

攻撃者が秘密鍵を盗まずに、認可されていない操作が有効な署名を得ることは、なぜ可能なのでしょうか。「安全な保管の先へ」第1回では、Bitget、Bybit、Binanceなどの事例を通じて、支払い要求、トランザクションの構築、署名、実行、決済の各段階における認可の不備を検討します。そのうえで、認可されていない操作を防ぎ、損失を抑えるための設計原則を導き出し、レビュー、監査、ペネトレーションテスト、演習によって、それらの防御策をどう検証できるかを説明します。

NEAR Intentsの悪用:返金処理の欠陥とセキュリティ上の教訓
Security Insights

NEAR Intentsの悪用:返金処理の欠陥とセキュリティ上の教訓

NEAR Intentsへの攻撃では、過大な払い戻しイベントを利用し、預け入れた資産が返還された後も内部残高を維持しました。本分析では、レシートの処理の流れと、合計3,865,021 USDTに上るBNB Chainでの7件の出金を再構成します。また、これらの資金流出とプロジェクトが報告した全額回収を区別し、NEARスマートコントラクトの開発と監査におけるセキュリティ上の考慮事項を示します。