リプレイ攻撃(繰り返し攻撃または再生攻撃とも呼ばれる)は、ネットワーク[ 1 ]攻撃の一種で、有効なデータ送信が悪意を持って、または不正に繰り返されたり遅延したりするものです。 [ 1 ]これは、送信者自身、またはデータを傍受して再送信する攻撃者によって実行され、 IPパケット置換によるなりすまし攻撃の一部として行われる可能性があります。これは、中間者攻撃の下位レベルのバージョンの1つです。リプレイ攻撃は通常、受動的な性質を持ちます。
このような攻撃を別の言い方で説明すると、「異なるコンテキストからのメッセージを意図した(または本来期待される)コンテキストにリプレイしてセキュリティプロトコルを攻撃し、それによって正直な参加者を騙してプロトコルの実行が正常に完了したと思わせる」というものです。[ 2 ]

アリスがボブに自分の身元を証明したいとします。ボブは身元証明としてアリスのパスワードを要求し、アリスは(ハッシュ化やソルト化などの何らかの変換を行った後)それに応じます。その間、イブは会話を盗聴し、パスワード(またはハッシュ)を保持します。やり取りが終わると、イブ(アリスになりすましている)はボブに接続します。身元証明を求められると、イブは前回のセッションで読み取ったアリスのパスワード(またはハッシュ)を送信し、ボブはそれを受け入れることで、イブにアクセス権を与えます。[ 2 ]
リプレイ攻撃は、暗号化された各コンポーネントにセッションIDとコンポーネント番号をタグ付けすることで防止できます。 [ 2 ]このソリューションの組み合わせは、相互に依存するものを一切使用していません。相互依存性がないため、脆弱性が少なくなります。これは、プログラムの実行ごとに一意のランダムなセッションIDが生成されるため、以前の実行を再現することがより困難になるためです。この場合、新しい実行ではセッションIDが変更されているため、攻撃者はリプレイを実行できません。[ 2 ]
セッションID(セッショントークンとも呼ばれる)は、リプレイ攻撃を防ぐのに役立つメカニズムの一つです。セッションIDの生成方法は以下のとおりです。
セッショントークンはランダムなプロセス(通常は擬似乱数プロセス)によって選択されるべきです。そうでない場合、イブはボブになりすまし、予測した将来のトークンを提示してアリスを説得し、そのトークンを変換に使用するように仕向けることができます。その後、イブは後で(以前に予測したトークンが実際にボブによって提示されたときに)自分の応答を再生し、ボブは認証を受け入れます。
ワンタイムパスワードは、セッショントークンと同様に、一度使用されるか、ごく短時間後に有効期限が切れるという特徴があります。セッションだけでなく、個々のトランザクションの認証にも使用できます。また、認証プロセス中に使用することで、通信を行う2者間の信頼関係の構築にも役立ちます。
ボブはnonceを送信することもできますが、その場合はメッセージ認証コード(MAC)を含める必要があり、アリスはそのMACを検証する必要があります。
タイムスタンプは、リプレイ攻撃を防ぐもう 1 つの方法です。[ 3 ]同期は、安全なプロトコルを使用して実現する必要があります。たとえば、ボブは定期的に自分の時計の時刻と MAC をブロードキャストします。アリスがボブにメッセージを送信したい場合、彼女はボブの時計の時刻の最良推定値をメッセージに含め、そのメッセージも認証されます。ボブは、タイムスタンプが妥当な許容範囲内にあるメッセージのみを受け入れます。タイムスタンプは、リプレイ攻撃を防ぐために、ボブとアリスの両方が固有のセッション ID を使用して互いを認証する相互認証中にも実装されます。 [ 4 ]この方式の利点は、ボブが (擬似) 乱数を生成する必要がなく、アリスがボブに乱数を要求する必要がないことです。単方向またはほぼ単方向のネットワークでは、これは利点となる可能性があります。トレードオフは、リプレイ攻撃が十分に速く、つまり「妥当な」制限内で実行された場合、成功する可能性があることです。
Kerberos認証プロトコルにはいくつかの対策が含まれています。リプレイ攻撃の典型的なケースでは、メッセージが攻撃者によって傍受され、後日再生されて何らかの効果を生み出します。たとえば、銀行のスキームがこの攻撃に対して脆弱な場合、資金の送金につながるメッセージが何度も再生され、当初の意図よりも多くの資金が送金される可能性があります。しかし、Microsoft Windows Active Directoryに実装されているKerberosプロトコルには、タイムスタンプを使用したスキームが含まれており、リプレイ攻撃の効果を大幅に制限しています。「有効期限(TTL)」を過ぎたメッセージは古いとみなされ、破棄されます。[ 5 ]
トリプルパスワード方式の使用など、いくつかの改善策が提案されている。これらの3つのパスワードは、認証サーバー、チケット発行サーバー、およびTGSで使用される。これらのサーバーは、パスワードを使用して、異なるサーバー間で秘密鍵を使用してメッセージを暗号化する。これら3つの鍵によって提供される暗号化は、リプレイ攻撃の防止に役立つ。[ 6 ]
無線アドホックネットワークもリプレイ攻撃を受けやすい。この場合、AODVプロトコルを拡張することで認証システムを改善し、より強力にすることができる。このアドホックネットワークのセキュリティを向上させる方法は、わずかなオーバーヘッドでネットワークのセキュリティを向上させる。[ 7 ]オーバーヘッドが大きすぎると、ネットワークが遅くなり、パフォーマンスが低下するリスクがある。比較的低いオーバーヘッドを維持することで、ネットワークはセキュリティを向上させながら、より良いパフォーマンスを維持できる。
ポイントツーポイントプロトコル(PPP)を使用するクライアントによる認証とサインオンは、パスワード認証プロトコル(PAP)を使用して本人確認を行う場合、リプレイ攻撃を受けやすい。これは、認証クライアントがユーザー名とパスワードを「通常のテキスト」で送信し、認証サーバーがこれに対して確認応答を送信するためである。傍受したクライアントは、送信されたデータを自由に読み取り、クライアントとサーバーを互いに偽装できるだけでなく、後でサーバーに偽装するためにクライアントの認証情報を保存することもできる。チャレンジハンドシェイク認証プロトコル(CHAP)は、認証フェーズでこの種のリプレイ攻撃を防ぐために、認証者からの「チャレンジ」メッセージを使用し、クライアントは共有シークレット(クライアントのパスワードなど)に基づいてハッシュ計算された値で応答する。認証者は、この値を自身のチャレンジと共有シークレットの計算結果と比較し、クライアントを認証する。 CHAPは、それ自体は送信されていない共有秘密鍵に依存すること、認証器が制御するチャレンジの繰り返し、識別子とチャレンジ値の変更などの他の機能により、リプレイ攻撃に対する限定的な保護を提供します。[ 8 ]
リプレイ攻撃がどのように利用されたか、そしてさらなる攻撃を防ぐために問題がどのように検出され、修正されたかを示す実際の事例がいくつかあります。
道路を走る多くの車両は、ユーザーの利便性のためにリモートキーレスシステム、またはキーフォブを使用しています。最新のシステムは単純なリプレイ攻撃に対して強化されていますが、バッファ付きリプレイ攻撃に対して脆弱です。この攻撃は、標的車両の範囲内に電波を受信および送信できるデバイスを配置することによって実行されます。送信機は、受信した車両のRFロック解除信号を妨害し、後で使用するためにバッファに格納します。車両のロック解除がさらに試みられると、送信機は新しい信号を妨害し、バッファに格納し、古い信号を再生して、車両の1ステップ先にあるローリングバッファを作成します。後で、攻撃者はこのバッファ付きコードを使用して車両のロックを解除することができます。[ 9 ] [ 10 ]
さまざまなデバイスが話者認識を使用して話者の身元を確認します。テキスト依存システムでは、攻撃者はシステムによって正しく検証されたターゲット個人の音声を録音し、その録音を再度再生してシステムに検証させることができます。検証済みユーザーの保存された音声からスペクトルビットマップを使用する対策が考案されました。このシナリオでは、再生された音声は異なるパターンを持つため、システムによって拒否されます。[ 11 ]
スマートホーム環境の分野では、IoTデバイスはリプレイ攻撃に対してますます脆弱になっています。リプレイ攻撃とは、攻撃者が IoT デバイスとそのコンパニオン アプリ間の正当な通信信号を傍受して再生する攻撃です。これらの攻撃は、スマートプラグ、セキュリティ カメラ、さらには家電製品など、幅広いデバイスを侵害する可能性があります。最近の研究[ 12 ]では、消費者向け IoT デバイスのかなりの割合がリプレイ攻撃を受けやすいことが実証されています。研究者らは、ローカル接続をサポートするテスト対象デバイスの 75% がこのような攻撃に対して脆弱であることを発見しました。これらの脆弱性により、攻撃者は正当なコマンドを模倣することができ、スマートケトルをオンにしたり、ドアのロックを解除したり、セキュリティ システムを操作したりといった不正な操作が可能になる可能性があります。このような侵害は、悪意のある攻撃者が重要なホーム システムを制御できるようになるため、安全性、セキュリティ、プライバシーに重大なリスクをもたらします。
民話「アリババと40人の盗賊」では、盗賊の隊長が「開けゴマ」という合言葉を使って略奪品の保管庫の扉を開けました。アリババはそれを聞きつけ、後にその合言葉を再利用して保管庫に入り、持ち運べるだけの略奪品を集めました。[ 13 ]
{{cite conference}}: CS1 maint: 複数の名前: 著者リスト (リンク)