中間者攻撃 ちゅうかんしゃこうげき
MitM盗聴なりすまし暗号化SSL/TLSARP spoofing
中間者攻撃について教えて
簡単に言うとこんな感じ!
AさんとBさんが手紙をやり取りしているのに、こっそり間に割り込んで手紙を読み書きする「なりすまし郵便屋さん」みたいな攻撃だよ!AもBも「ちゃんと相手と通信できてる」と思いながら、全部筒抜けになってるってこと!
中間者攻撃とは
中間者攻撃(Man-in-the-Middle Attack、略して MitM攻撃)とは、通信している2つの当事者の間に攻撃者が不正に割り込み、通信内容を盗聴・改ざんする攻撃手法です。被害者は攻撃者の存在に気づかないまま、「正しい相手と通信できている」と信じ続けるのが最大の特徴です。
たとえば、あなたがオンラインバンキングにアクセスしているとき、攻撃者が間に入って「銀行のふりをしてあなたからパスワードを受け取り、あなたのふりをして銀行に接続する」というシナリオが典型例です。あなたはいつも通り操作しているように見えますが、全ての入力内容が攻撃者に筒抜けになっています。
なりすまし(偽装) と 盗聴(傍受) を同時に行える点で非常に危険であり、特に暗号化されていない通信や、証明書の検証が甘い環境では成立しやすくなります。テレワーク普及によりカフェや公共Wi-Fiを使う機会が増えた現代において、身近なリスクのひとつです。
攻撃の仕組みと主な手口
中間者攻撃を成立させるためには「割り込む」ステップと「偽装する」ステップが必要です。
| フェーズ | 内容 | 具体的な手口 |
|---|---|---|
| ① 割り込み | 通信経路に攻撃者を挟む | ARPスプーフィング、偽Wi-Fiアクセスポイント、DNSスプーフィング |
| ② 盗聴 | 通信内容を読み取る | パケットキャプチャ、SSLストリッピング |
| ③ 改ざん(任意) | 通信内容を書き換えて転送 | データ書き換え、マルウェア埋め込み |
主な攻撃手口の詳細
- ARPスプーフィング:同一ネットワーク内で「自分がルーターだ」と偽のARPメッセージを送りつけ、通信を自分経由にさせる
- 偽アクセスポイント(Evil Twin):正規のWi-Fiそっくりの偽のアクセスポイントを立て、接続してきた端末の通信を全て傍受する
- DNSスプーフィング:「google.comのIPは〇〇です」という偽の情報を返し、攻撃者のサーバーに誘導する
- SSLストリッピング:HTTPS(暗号化通信)をHTTP(平文通信)にダウングレードさせ、暗号化を無効化する
覚え方
「間(ま)に入る→MitM(ミットム)」 野球の「ミット(捕球器)」が間でキャッチするイメージで覚えよう!攻撃者がミットで全部受け取って、知らんふりして転送している、というイメージ。
歴史と背景
- 1990年代:ネットワークが普及し始め、LAN内でのパケット盗聴(スニッフィング)が知られるようになる
- 2000年代初頭:ARPプロトコルの設計上の脆弱性を突いたARPスプーフィングが広く認知される。SSL/TLSの普及が始まる
- 2009年:セキュリティ研究者のMoxie Marlinspike氏が「SSLストリッピング」を発表。HTTPSでも安全でない状況があることが示される
- 2010年:Firesheepツールが公開され、公共Wi-Fiでのセッションハイジャックが誰でもできることが実証され、社会的な衝撃を与える
- 2014年〜:Googleが検索ランキングでHTTPS対応サイトを優遇し始め、HTTPS化が加速。MitM対策が事実上の標準に
- 2018年:主要ブラウザがHTTPサイトに「保護されていない通信」警告を表示するようになり、SSLストリッピング攻撃の成立が難しくなる
- 現在:テレワーク・フリーWi-Fi利用増加に伴い、VPNを使わない接続を標的にしたMitM攻撃が依然として脅威
攻撃の流れと対策の対応関係
実務での注意ポイント
| シーン | リスク | 対策 |
|---|---|---|
| カフェ・空港のWi-Fi利用 | 偽アクセスポイントに接続させられる | VPN必須、重要操作は避ける |
| HTTPサイトへのアクセス | 通信が平文で丸見え | HTTPSサイトのみ利用 |
| ブラウザの証明書警告を無視 | 偽サーバーへ接続している可能性 | 警告が出たら即中断 |
| 社内システムの発注・選定 | ベンダーのサイトが本物か確認していない | URLとSSL証明書を必ず確認 |
関連する規格・RFC
| 規格・RFC番号 | 内容 |
|---|---|
| RFC 8446 | TLS 1.3の仕様。MitM対策の中核となる暗号化プロトコル |
| RFC 6797 | HSTS(HTTP Strict Transport Security)の仕様。SSLストリッピング対策 |
| RFC 8555 | ACME(証明書自動発行プロトコル)。Let’s Encryptで利用される |
| RFC 4271 | BGP(Border Gateway Protocol)仕様。BGPハイジャックによるMitM文脈で参照 |
関連用語
- SSL/TLS — 通信を暗号化してMitMによる盗聴・改ざんを防ぐプロトコル
- HTTPS — HTTPをTLSで暗号化したプロトコル。MitM対策の基本
- 認証局(CA) — サーバー証明書を発行し、通信相手の正当性を保証する第三者機関
- VPN — 公共ネットワーク上に暗号化トンネルを作る技術。MitM対策として有効
- ARPスプーフィング — LAN内でMitMを成立させるための代表的な手口
- フィッシング攻撃 — MitMと組み合わせて偽サイトに誘導する攻撃手法
- 多要素認証(MFA) — パスワードが盗まれても不正ログインを防ぐ認証方式
- HSTS — HTTPSのみ許可するポリシーを強制し、SSLストリッピングを防ぐ仕組み