リプレイ攻撃 (リプレイ攻撃とも呼ばれます) は、悪意のあるエンティティが有効なデータを傍受し、ネットワーク内で繰り返し送信するネットワーク攻撃です。元のデータ (通常は許可されたユーザーからのもの) が有効であるため、ネットワークのセキュリティ プロトコルは通常、この攻撃を通常のデータ送信として扱います。同時に、リプレイ攻撃を実行するハッカーは元の情報を傍受し、変更せずに再送信するため、通常、ハッカーはデータをクラッキングする必要はありません。
ハッカーはリプレイ攻撃を使用してどのような損害を与えることができますか?
リプレイ攻撃は、有効と思われる資格情報を送信することにより、保護されたネットワーク内に保存されている他の情報にアクセスする可能性があります。また、金融機関をだまして取引を繰り返させ、攻撃者が被害者の口座から直接資金を引き出すことも可能です。場合によっては、ハッカーはさまざまな暗号化メッセージのさまざまな部分を結合し、その結果得られた暗号文をネットワークにアップロードすることがあります (いわゆるカット アンド ペースト攻撃)。ハッカーは多くの場合、このタイプの攻撃を使用してネットワーク上のより貴重な情報を取得し、この情報を使用してシステムにさらに損害を与えます。
リプレイ攻撃には明らかなリスクがいくつかありますが、リプレイ攻撃のみを使用するハッカーの利益は限られています。攻撃者は、送信され、ネットワークによって拒否されていないデータを改ざんすることはできないため、この攻撃の有効性は以前のデータを再送信することに限定されます。そして、これらの攻撃は通常、簡単に防御できます。データ転送にタイムスタンプを追加するなどの基本的な防御策により、単純なリプレイ攻撃を防ぐことができます。サーバーは重複メッセージをキャッシュし、一定回数が経過するとそのようなメッセージへの接続を切断することもできるため、攻撃者が連続して実行できるリプレイの回数が制限されます。
仮想通貨の分野でリプレイ攻撃が重要なのはなぜですか?
このような攻撃は暗号通貨の世界に特有のものではありませんが、特に暗号通貨取引とブロックチェーン台帳のセキュリティ環境に関連しています。なぜなら、ブロックチェーン台帳では「ハードフォーク」と呼ばれるプロトコルの変更やアップグレードが頻繁に行われるからです。ハード フォークが発生すると、既存の台帳が 2 つの部分に分割され、1 つの部分ではソフトウェアのレガシー バージョンが実行され、もう 1 つの部分では更新されたバージョンが実行されます。ハードフォークには、単に台帳のアップグレードを目的としたものもあれば、新しい暗号通貨をより効率的に形成するためのものもあります。後者の影響の最も明白な例は、2017 年 8 月 1 日に発生したハード フォークです。これは、ビットコイン キャッシュがビットコイン台帳から分岐することを可能にするアップデートです。
これらのハード フォークが発生すると、理論的には、攻撃者がブロックチェーン台帳に対してリプレイ攻撃を実行する可能性があります。ある台帳で処理されたトランザクションは、ハードフォーク後も別のチェーンで有効になる可能性があります。そのため、ある台帳で一定量の暗号通貨を受け取った人は、別の台帳に切り替えて取引をコピーし、もう一度同じ金額の暗号通貨を不正に受け取ることができます。また、ウォレットは台帳の共有履歴の一部ではないため、ハードフォーク後にブロックチェーンにアクセスするユーザーがそのような攻撃に対して脆弱になることはありません。
ブロックチェーンはそのような攻撃からどのように保護されますか?
はい、フォークされたブロックチェーン台帳のリプレイ攻撃に対する脆弱性は注目に値しますが、ほとんどのハード フォークには、そのような攻撃を防ぐために特別に設計されたセキュリティ プロトコルが含まれています。ブロックチェーンのリプレイ攻撃に対する効果的な対策は、強制的なリプレイ保護と選択的リプレイ保護の 2 つのカテゴリに分類されます。必須のリプレイ保護では、ハードフォークによって生成された新しい台帳に特別なマークが追加され、新しい台帳で実行されたトランザクションが古い台帳では無効になること、またその逆が確実に行われるようにします。この方法は、ビットコイン キャッシュがビットコインからフォークされたときにビットコイン キャッシュを保護するために使用されました。
この必須のリプレイ保護は、ハード フォークが発生するとすぐに自動的に適用されます。選択的リプレイ保護では、ユーザーがトランザクションを手動で変更して、これらのトランザクションがリプレイできないようにする必要があります。選択的リプレイ保護は、ハード フォークが新しい台帳ではなく、暗号通貨のメイン台帳の更新である場合に効果的です。
これらのマスター台帳ソリューションに加えて、個々のユーザーはリプレイ攻撃から身を守るために独自の措置を講じることができます。これを行う 1 つの方法は、台帳に特定の数のブロックができるまで転送されるトークンをロックすることです。これにより、同じ数のトークンを持つものによるリプレイ攻撃に対するネットワーク検証が防止されます。ただし、すべてのウォレットや台帳がこの機能を提供しているわけではないことに注意してください。
要約する
リプレイ攻撃が成功すると、ネットワーク セキュリティに脅威が生じます。他の種類の攻撃とは異なり、リプレイ攻撃はデータの復号化に依存しないため、悪意のある攻撃者にとって、ますます高度化するセキュリティ プロトコルと戦うための効果的な「ソリューション」となります。しかし、ブロックチェーン システムへの影響を効果的に防ぐ強力なソリューションもいくつかあります。特に、必須のリプレイ保護を使用すると、ハード フォークの発生後に攻撃者がトランザクションをコピーするのを効果的に防ぐことができます。
