サイバー脅威・対策

中間者攻撃 (MITM)

約 4 分で読めます

中間者攻撃とは

中間者攻撃 (Man-in-the-Middle Attack、MITM) とは、通信を行う 2 者の間に攻撃者が割り込み、通信内容の傍受・改ざんを行う攻撃手法です。被害者は正規の相手と直接通信していると認識しているため、攻撃に気づきにくい点が特徴です。

この攻撃が成立するには、攻撃者が通信経路上に自身を挿入する必要があります。公衆 Wi-Fi、ARP スプーフィング、DNS 偽装など、さまざまな手法で通信の中継点を奪取します。TLS/SSL による暗号化が普及した現在でも、証明書の検証不備や古いプロトコルの使用により、中間者攻撃が成功するケースは後を絶ちません。

主な攻撃手法

中間者攻撃にはいくつかの代表的な手法があります。

  • ARP スプーフィング: ローカルネットワーク上で偽の ARP (Address Resolution Protocol) パケットを送信し、通信相手の MAC アドレスを攻撃者のものに書き換える。同一ネットワーク内のすべての通信を傍受可能になる
  • DNS スプーフィング: DNS の応答を偽装し、正規のドメイン名を攻撃者のサーバーの IP アドレスに解決させる。ユーザーは正しい URL にアクセスしているつもりで、偽サイトに誘導される
  • SSL ストリッピング: HTTPS 接続を HTTP にダウングレードさせる手法。攻撃者はクライアントとの間を HTTP で、サーバーとの間を HTTPS で通信し、暗号化されていない通信内容を傍受する
  • 偽の Wi-Fi アクセスポイント: カフェや空港などで正規のアクセスポイントに似た名前の偽 AP を設置し、接続したユーザーの通信を傍受する。Evil Twin 攻撃とも呼ばれる
  • BGP ハイジャック: インターネットの経路制御プロトコル (BGP) を悪用し、特定の IP アドレス宛のトラフィックを攻撃者のネットワークに迂回させる。国家レベルの攻撃で使用される

防御策と暗号化の重要性

中間者攻撃への最も根本的な防御は、通信の暗号化と相手の認証を徹底することです。

通信の暗号化

  • TLS 1.3 の使用: 最新の TLS 1.3 はハンドシェイクの改善により、ダウングレード攻撃への耐性が向上している。TLS 1.0/1.1 は既知の脆弱性があるため無効化すべき
  • HSTS (HTTP Strict Transport Security): ブラウザに対して常に HTTPS で接続するよう指示する。SSL ストリッピング攻撃を防ぐ効果がある
  • VPN の利用: 公衆 Wi-Fi など信頼できないネットワークでは、VPN で通信全体を暗号化トンネルで保護する

認証と検証

  • 証明書ピンニング: アプリケーションが特定の証明書または公開鍵のみを信頼するよう設定し、偽の証明書による中間者攻撃を防ぐ
  • 公開鍵暗号による相互認証: サーバーだけでなくクライアントも証明書で認証する相互 TLS (mTLS) を導入し、双方向の認証を実現する
  • DNSSEC の導入: DNS 応答にデジタル署名を付与し、DNS スプーフィングを検知・防止する

ネットワークレベルの対策

  • Dynamic ARP Inspection (DAI): スイッチレベルで ARP パケットの正当性を検証し、ARP スプーフィングを防止する
  • 802.1X 認証: ネットワーク接続時にデバイスの認証を要求し、不正なデバイスの接続を防ぐ

公衆 Wi-Fi での実践的な自衛策

公衆 Wi-Fi は中間者攻撃のリスクが最も高い環境です。以下の対策を習慣化することで、リスクを大幅に低減できます。

  • VPN を常時有効にする: VPN で通信を暗号化すれば、たとえ偽のアクセスポイントに接続しても通信内容は保護される
  • 自動接続を無効にする: スマートフォンやノート PC の Wi-Fi 自動接続機能を無効にし、意図しないネットワークへの接続を防ぐ
  • HTTPS を確認する: ブラウザのアドレスバーで HTTPS 接続を確認する。証明書の警告が表示された場合は接続を中断する
  • 機密性の高い操作を避ける: オンラインバンキングや重要なアカウントへのログインは、信頼できるネットワーク環境で行う
  • DNS リークに注意する: VPN 使用時でも DNS クエリが暗号化されていない経路で送信される場合がある。DNS リークテストで確認する

中間者攻撃は「通信相手が本物であること」を確認できなければ成立します。暗号化と認証の仕組みを正しく理解し、適切に活用することが最善の防御です。

よくある誤解

HTTPS を使っていれば中間者攻撃は不可能
HTTPS は正しく実装されていれば強力な防御だが、証明書の検証を無視するアプリケーション、古い TLS バージョンの使用、ユーザーが証明書警告を無視する行為などにより、HTTPS 環境でも中間者攻撃が成功する場合がある。
中間者攻撃は同じ Wi-Fi にいないと実行できない
ARP スプーフィングはローカルネットワーク内の攻撃だが、DNS スプーフィングや BGP ハイジャックはリモートから実行可能。ISP レベルでの通信傍受や、マルウェアによるプロキシ設定の改ざんなど、物理的な近接を必要としない手法も多数存在する。

関連用語

関連記事