要点

  • リプレイ攻撃は、悪意のある第三者が有効なデータ送信を傍受し、それをネットワークに送り返して、再び受け入れさせることで発生します。

  • リプレイ攻撃はデータを復号する必要はありません。正当な送信であることを悪用します。

  • 暗号資産では、ブロックチェーンのハードフォーク後にリプレイ攻撃が起こり得ます。これにより、あるチェーンのトランザクションがもう一方のチェーンでも複製される可能性があります。

  • 一般的な防御策には、タイムスタンプ、ノンス、一般的なネットワーク向けのセッショントークンが含まれます。また、ブロックチェーンでは強力またはオプトインのリプレイ保護が用いられます。

  • 主要なハードフォークの多くには、チェーン間でのトランザクションの重複を防ぐための組み込みの強力なリプレイ保護が現在は含まれています。

Binance Academy courses banner

はじめに

リプレイ攻撃(プレイバック攻撃とも呼ばれる)とは、有効なデータ送信が傍受され、その後ネットワークに再送されることで、標的のネットワークに受け入れさせるサイバー攻撃の一種です。データは認可されたユーザーから発信されるため、ネットワークのセキュリティプロトコルはそれを正当なものとして扱う可能性があります。これにより、攻撃者は資格情報を偽造したり暗号化を破ったりすることなく、認可されていない操作を実行できます。

リプレイ攻撃は、金融システム、認証プラットフォーム、暗号資産の台帳など、多くの種類のネットワークに影響を与え得ます。暗号資産の文脈では、ブロックチェーンがハードフォークを迎えると、両方の結果チェーンがチェーン間のトランザクション複製に対して脆弱になり得るため、特に重要になります。

リプレイ攻撃を受けたハッカーは何ができる?

リプレイ攻撃は、ネットワークが有効として認識する資格情報を提示することで、保護されたネットワークへの不正アクセスを得るために使えます。攻撃者は、金融取引を複製して、たとえば同じ支払いを2回トリガーすることにも利用できます。場合によっては、ハッカーが複数の暗号化メッセージの断片を組み合わせて、新しい暗号文を作ることがあり、これは「カットアンドペースト攻撃」として知られています。このように操作されたメッセージに対するネットワークの応答は、さらなる悪用に役立つ情報を明らかにする可能性があります。

しかし、これらのリスクにも明確な限界があります。攻撃者は、ネットワークが拒否することで送信中のデータを改変できません。したがって、攻撃者は新しい行動を導入するのではなく、過去の行動を繰り返すことに制約されます。また、リプレイ攻撃は比較的予測しやすいため、他のタイプのサイバー脅威よりも防御しやすい面があります。

暗号資産におけるリプレイ攻撃が重要な理由

ブロックチェーンの台帳は、ハードフォークとして知られるプロトコル変更を経ることがあります。ハードフォークが発生すると、台帳は2つのチェーンに分かれます。1つは元のソフトウェアを実行するチェーン、もう1つは更新版を実行するチェーンです。一部のフォークはアップグレードを目的としていますが、別のものはまったく別の暗号資産を作り出します。有名な例が、2017年8月にメインのビットコイン・ブロックチェーンから分岐したビットコインキャッシュです。

ブロックチェーンがフォークすると、結果として生じた2つのチェーンは、分岐時点までの同じトランザクション履歴を共有します。フォーク前に有効だったトランザクションは、フォーク後も両方のチェーンで有効なままであることがあります。これにより、リプレイ攻撃の「猶予(ウィンドウ)」が生まれます。つまり、あるチェーンでトランザクションを送信すると、攻撃者がそれをもう一方のチェーンでもリプレイして、あなたの許可なしに同等の額のトークンを移す可能性があります。

ハードフォークの前からウォレットを保有していたユーザーほど、このリスクにさらされやすくなります。分岐後にどちらかのチェーンに参加した人は一般的に影響を受けません。なぜなら、その人のウォレットには、フォーク前に共有されていた台帳の履歴がないためです。

ブロックチェーンはリプレイ攻撃からどのように守られる?

主要なハードフォークの多くには、リプレイ攻撃に対する特定の保護が含まれています。これらは2つのカテゴリに分けられます。

強力なリプレイ保護では、新しいチェーン上のトランザクションに特別なマーカーが自動的に付与され、元のチェーンでは無効になり、逆も同様になります。この保護はネットワークレベルで適用され、ユーザーの操作は不要です。ビットコインキャッシュは、ビットコインからフォークした当時に強力なリプレイ保護を実装しました。

オプトインのリプレイ保護では、ユーザーが自分のトランザクションを手動で修正し、もう一方のチェーンでリプレイされるのを防ぐ必要があります。このアプローチは、ハードフォークが完全な分岐ではなくネットワークのアップグレードとして意図されている場合に、より一般的です。その場合は、ほとんどのトランザクションが両方のチェーンで有効であり続けることが想定されます。

個々のユーザーは、台帳が一定のブロック高に到達するまでコインをロックすることもでき、ロックが期限切れになるまで、それらのトークンがリプレイ攻撃に組み込まれるのを防ぎます。この機能をサポートしているウォレットはすべてではありません。

リプレイ攻撃に対する一般的なネットワーク防御

ブロックチェーン以外でも、いくつかの確立された方法により、ネットワークをリプレイ攻撃から守ることができます。

  • タイムスタンプ:トランザクションには時間要素が含まれ、短い猶予期間を過ぎると拒否されます。

  • ノンス:一意のワンタイム値が各セッションに紐づくため、すでに使用済みのノンスを含むリプレイされたメッセージは自動的に拒否されます。

  • セッショントークン:使用後に期限切れになるサーバー側のトークンであり、取得したトークンを再利用できないようにします。

  • メッセージ認証コード(MAC):メッセージを特定のセッションに結び付ける暗号タグで、セッション間のリプレイを無効にします。

これらの方法は、有効な各送信が再利用できない特定の状況(文脈)に結び付くようにすることで機能します。攻撃者が正当なメッセージを取得しても、別のセッションや時間枠でリプレイすると拒否されます。

FAQ

リプレイ攻撃とは?

リプレイ攻撃とは、有効なデータ送信が傍受され、それをだましてネットワークにもう一度リクエスト処理させるために再送されることです。攻撃が成立する理由は、データが本物だからであり、追加の保護がない場合、標準的なセキュリティシステムで悪意として検知されにくくなります。

リプレイ攻撃は暗号資産を盗むのに使えますか?

理論上は可能です。ブロックチェーンのハードフォークの後、一方のチェーンで処理されたトランザクションがもう一方のチェーンでもリプレイされ、送信者の許可なしにトークン移転が重複する可能性があります。実際には、現代のハードフォークに組み込まれた強力なリプレイ保護によって、多くの主要ネットワークではこれが防がれています。

強力なリプレイ保護とオプトインのリプレイ保護の違いは?

強力なリプレイ保護は自動で、ネットワークレベルで適用されます。取引に印を付け、特定の1つのチェーンでのみ有効になるようにします。オプトインのリプレイ保護は、ユーザーが取引に手動でタグ付けして、チェーン間の複製を防ぐ必要があります。ユーザーの操作に依存しないため、強力な保護のほうが信頼性が高いと考えられます。

2026年にリプレイ攻撃はどれくらい一般的ですか?

強力なリプレイ保護が導入されているネットワークでは、ブロックチェーン固有のリプレイ攻撃はあまり起こりません。一般的なネットワークリプレイ攻撃は、特にセッション管理が適切に実装されていない場合、認証システムにおいて依然として懸念があります。多要素認証を使い、ソフトウェアを最新の状態に保つことで、このリスクへの曝露を減らせます。

リプレイ攻撃は中間者攻撃(MITM)と同じですか?

重なる部分はありますが別物です。中間者攻撃は、攻撃者が通信をリアルタイムに傍受し、場合によっては改変することを含みます。一方、リプレイ攻撃は、必ずしも改変せずに、以前に取得した正当なメッセージを再送することに特化しています。どちらもネットワーク通信を悪用しますが、仕組みと目的は異なる場合があります。

最終的な考え

リプレイ攻撃は本物のセキュリティリスクです。特にハードフォークの最中および直後に、ブロックチェーンネットワークで問題になります。これらは復号や資格情報の偽造を必要とせず「有効なデータ」を悪用するため、たとえ一見すると安全なシステムでも効果を持ち得ます。

現在では主要なほとんどのハードフォークで標準となっている強力なリプレイ保護は、ネットワークレベルで最も信頼できる防御です。個々のユーザーにとっては、そのブロックチェーンがどの保護を実装しているかを理解することが、この種の攻撃によるリスクを減らす助けになります。

詳しく読む

  • ハードフォークとソフトフォークの解説

  • ビットコインキャッシュ(BCH)とは?

  • 51%攻撃とは?

  • フィッシングとは何か、どのように機能するのか?

  • シビル攻撃の解説


免責事項:本コンテンツは一般情報および教育目的のみとして「現状のまま」提供されています。いかなる種類の表明または保証もなく、金融・法律・その他の専門的助言として解釈されるべきではありません。また、特定の製品やサービスの購入を推奨する意図もありません。適切な専門家から助言を得るようにしてください。本コンテンツが第三者の協力者によって提供される場合、そこに示された見解は第三者の協力者に帰属し、必ずしもBinance Academyの見解を反映するものではありません。デジタル資産の価格は変動し得ます。投資した金額の価値は下がることも上がることもあり、投資額の全額を取り戻せるとは限りません。投資判断の責任はすべてあなた自身にあります。Binance Academyは、あなたが被る可能性のあるいかなる損失についても責任を負いません。詳細は、利用規約、リスクに関する警告、およびBinance Academyの利用規約をご覧ください。