要約
リプレイ攻撃とは、ハッカーが正当なデータパケットを傍受して再送信し、サーバーを騙して不正なアクセス権を付与させるネットワーク侵入の一形態です。高度な技術スキルを必要としないため、広範な脅威となっています。有効な防御策としては、チャレンジハンドシェイク認証、ワンタイムパスワード、セッション識別子、タイムスタンプ、Kerberosなどが挙げられます。ただし、これらは進行中の攻撃を阻止することはできないため、事前に導入しておく必要があります。
リプレイアタックとは?
リプレイ攻撃とは、ネットワークを盗聴し、データパケットを傍受することです。盗難後、ハッカーは同じメッセージを再送信できます。サーバーは問題に気づかず、ハッカーが望むことを実行します。
リプレイ保護の理解は非常に重要です。2020年には、データ侵害により企業は平均386万ドルの損害を受けました。リプレイ攻撃が危険なのは、ハッカーが攻撃を成功させるために高度なスキルを必要としないことが理由の一つです。
デバイスはパケットを介して情報を交換します。ハッカーが非常に現実的で危険な盗難を実行するために必要なすべての情報が含まれているものもあります。
たとえば、お客様のデバイスはパスワードとセッションキーをサーバーと交換します。ハッカーが盗聴し、その情報を盗みます。その後、ハッカーは同じ情報を再度送信します。サーバーは、お客様と通信していると信じます。ハッカーは、サーバー上であなたができることは何でもできるようになります。
研究者による多くの報告から、リプレイ攻撃について知ることができます。複雑なネットワーク構造が原因で、企業は脆弱になっていると言われています。多くのエージェントが連携して、一見単純に見えるタスクをこなします。1つでも追い越されると、連鎖的な障害につながる可能性があります。
ハッカーはリプレイ攻撃をどのように利用するのですか?
ハッカーは、リプレイ攻撃を使って以下のようなことを行う可能性があります。
- 車を盗む。記録デバイスが、キーフォブと車両間の通信を傍受します。ハッカーはその後、再び信号を送信して車で走り去ります。2016年、研究者たちは複数の異なる種類の車両がこの形態の攻撃に対して脆弱であることを発見しました。
- 銀行振込を承認します。ハッカーが、ユーザーと銀行の間で送信されるパケットをコピーします。これを再送信すると、銀行が同じアクションを繰り返す可能性があります(たとえば、再度送金するが、今回は別の宛先へ送金するなど)。調査担当者によると、このアプローチを使用するハッカーはパケットを非常に高速に再送信し、それらはほとんどの場合、まったく同じものです。
ワイヤレスリプレイ攻撃から保護するにはどうすればよいですか?
リプレイ攻撃は、ハッカーがあなたが現在使用しているものを盗み、何も変更せずに再度送信できるために機能します。この攻撃を阻止するには、盗難を困難にするか、パケットの有効期限を設定するか、または各パケットに何らかの認証形式を添付する必要があります。
リプレイ攻撃を防ぐには、どのような方法がありますか?
具体的に見ていきましょう。次の方法を試すことができます。
| 防御方法 | SCIM の仕組み | 主なメリット |
|---|---|---|
| チャレンジハンドシェイク認証 | 送信者は、決して送信されることのない共有シークレットを使用してチャレンジに応答します。 | 共有シークレットが盗まれることはありません |
| Kerberos | タイムスタンプに基づいて実行され、古いメッセージは自動的に破棄されます。 | 有効期限が切れた後にリプレイされたパケットが受け入れられるのを防ぎます |
| ワンタイムパスワード | 各トランザクションでは、一意で再利用されない認証資格情報が使用されます。 | 取得されたパスワードは即座に無効になります |
| セキュアなルーティング | ファイアウォールと保護機能により、パケットの盗難を防止します。 | リプレイが可能になる前に盗難を阻止します |
| セッション識別子 | 各メッセージには、一意のセッションIDとコンポーネント番号が含まれています。 | 盗まれても古いセッションIDは受け付けられません |
| タイムスタンプ | 各メッセージには有効期限が組み込まれています。 | 期限切れのパケットは自動的に拒否されます。 |
これらの手順は、進行中のリプレイ攻撃を阻止するものではないことを知っておいてください。システムをオフラインにし、これらの手順を実行して、再起動します。そうすれば、過去の盗難が新たな損失につながることはありません。
この記事で説明しているパケットについて詳しくは、Internet Control Message Protocol(ICMP)の概要をご覧ください。
よくある質問(FAQ)
リプレイ攻撃と他のサイバー攻撃との違いは何ですか?
新しい悪意のあるコードの作成を必要とする攻撃とは異なり、リプレイ攻撃は、すでに送信された正規のデータパケットを再利用するだけです。ハッカーはメッセージを復号化したり改ざんしたりする必要はありません。メッセージをそのまま再送信するだけで、サーバーを騙してアクセス権を付与させることができます。
サーバーがリプレイ攻撃を自動的に検知しない理由
サーバーは、送信元やタイミングではなく、コンテンツに基づいて受信パケットを処理します。リプレイされたパケットは有効な通信の完全なコピーであるため、タイムスタンプやセッション識別子などの特定の保護機能が導入されていない限り、サーバーには正規のリクエストと区別するための組み込みの方法がありません。
リプレイ攻撃がすでに開始された後で、それを阻止することはできますか?
いいえ。ワンタイムパスワード、セッション識別子、タイムスタンプなどのここで説明されている保護対策は、攻撃が発生する前に実装しておく必要があります。攻撃を受けている場合は、システムをオフラインにして保護対策を適用し、再起動するというアプローチが推奨されます。
リプレイ攻撃の防止において、タイムスタンプはどのような役割を果たしますか?
タイムスタンプは、各メッセージに組み込みの有効期限を割り当てます。Kerberosのような認証プロトコルは、このメカニズムを使用して、古すぎると見なされたメッセージを自動的に破棄します。これにより、盗まれてリプレイされたパケットは、短時間で無効になります。
リプレイ攻撃は、オンラインバンキングや金融システムのみに限定されるリスクなのでしょうか?
いいえ。リプレイ攻撃は、送信された認証シグナルに依存するあらゆるシステムを標的にする可能性があります。現実世界の例としては、自動車のキーフォブの信号が挙げられます。記録された送信データをリプレイすることで、車のロックを解除してエンジンをかけることができ、この脅威が金融ネットワーク以外にも及ぶことを示しています。
リプレイ攻撃対策としてのセッション識別子とワンタイムパスワードの違いは何ですか?
セッション識別子は、各メッセージに一意のIDとコンポーネント番号を付与します。そのため、セッションIDが盗まれても、古いセッションIDが再度受け入れられることはありません。ワンタイムパスワードは、トランザクションごとにまったく新しい認証資格情報を生成することで、さらにセキュリティを強化します。これにより、万が一パスワードが傍受されても、即座に無効になります。
参考文献
What Is the Cost of a Data Breach? (2020年8月、CSO.
コンピューターシステムにおけるリプレイ攻撃に対するレジリエンス。(2021年4月)EurekAlert。
無線通信を利用した攻撃で24車種が盗難被害に。(2016年3月)。 Wired
リプレイ攻撃:オンラインでの不正取引に多用されるパターン。(2018年)。IEEE Xplore.