- ユーザーとサーバーが通信している間に攻撃者が「中間者(Man in the Middle)」として割り込み、両者が気づかないまま通信を盗聴・改ざんするサイバー攻撃のこと
- フリーWi-Fiなど暗号化されていない通信環境で特に危険でログイン情報・クレジットカード番号・通信内容を盗み取ったり、送受信するデータを書き換えたりする
- HTTPSのTLS(Transport Layer Security)による通信の暗号化がMITM攻撃への主要な対策であり、証明書の検証によって「通信相手が本物か」を確認することが重要だ
【深掘り】これだけ知ってればOK!
MITM攻撃への主な対策を整理しよう。HTTPS(TLS)の使用:通信を暗号化して傍受されても内容を読めなくする。証明書のピン留め(Certificate Pinning):アプリが信頼するサーバー証明書を事前に登録して不正な証明書を拒否する。HSTS(HTTP Strict Transport Security):ブラウザに「このドメインはHTTPSのみ使用」を記憶させてSSLストリッピングを防ぐ。VPNの使用:公共のWi-FiなどでVPNを使うことで通信経路を暗号化する。
MITM攻撃が成立するための条件を理解しよう。攻撃者が被害者と同じネットワークセグメントに存在することが前提のケースが多い。フリーWi-Fi・企業内ネットワーク・同じ家庭内ネットワークなどが攻撃の場になりやすい。特にHTTPサイトでのログインや決済は傍受リスクが高く、必ずHTTPSのサイトのみを使うことが基本だ。
企業システムでのMITM対策として相互TLS認証(mTLS)がある。通常のTLSはサーバーの証明書のみを検証するが、mTLSではクライアント(利用者側)の証明書もサーバーが検証する。これにより正規のクライアント以外からの接続を拒否できる。マイクロサービス間の通信セキュリティやゼロトラストアーキテクチャの実装で活用される。
よくある誤解
HTTPSなら絶対にMITM攻撃を受けないと思っている
HTTPSはMITM攻撃への有効な対策だが万能ではない。SSLストリッピング攻撃(HTTPSをHTTPに降格させる)や不正な証明書を使ったなりすましなどの手法が存在する。証明書の検証・HSTSの設定・証明書ピン留めを組み合わせることがより堅牢な対策だ。
フリーWi-Fiを使う場合でもVPNを使えば完全に安全だと思っている
VPNはフリーWi-Fiでの傍受リスクを大幅に下げる有効な対策だが、VPN自体のセキュリティと信頼性が重要だ。無料VPNの中にはログを収集・販売するものや脆弱性があるものがあるため、信頼できるVPNサービスを選ぶことが重要だ。
会話での使われ方

フリーWi-FiでオンラインバンキングにアクセスするのはMITM攻撃のリスクがあります。VPNを使うか、モバイル通信に切り替えてください。
セキュリティエンジニアがフリーWi-Fiでのオンラインバンキング利用のリスクを指摘している場面。




このAPIサーバー、HTTPSのみ受け付けるHSTSを設定してください。SSLストリッピングによるMITM攻撃を防げます。
バックエンドエンジニアがHSTSの設定でMITM攻撃対策を強化する提案をしている場面。




マイクロサービス間の通信にmTLSを導入しました。クライアント証明書がないサービスからの通信は全て拒否されるのでMITM攻撃のリスクが大幅に下がります。
セキュリティエンジニアがゼロトラストアーキテクチャの実装としてmTLSを導入した場面。
【まとめ】3つのポイント
- 通信の中間に割り込んで盗聴・改ざんする攻撃でHTTPSと証明書検証が主要対策:ARPスプーフィング・偽アクセスポイント・SSLストリッピングなど多様な手口があるためHTTPS・HSTS・証明書ピン留めを組み合わせた多層防御が重要だ
- フリーWi-FiやHTTP通信はMITM攻撃の温床となるため特に注意が必要:同じネットワークセグメントに攻撃者が存在する環境でHTTP通信を使うことはMITM攻撃の格好の標的になるため公共Wi-FiではVPNを使いHTTPSサイトのみを使う習慣が重要だ
- 証明書エラーの警告は絶対に無視してはいけないMITM攻撃のシグナル:証明書の検証エラーはMITM攻撃が行われている可能性を示す重要な警告であり無視して続行することは攻撃者の罠にはまるリスクが高い
よくある質問
-
QMITM攻撃とフィッシング攻撃はどう違いますか?
-
A
フィッシング攻撃はユーザーを偽サイトに誘導してパスワードを入力させる攻撃です。MITM攻撃は正規のサイトとユーザーの通信の間に割り込んで傍受・改ざんする攻撃です。どちらも認証情報の窃取を狙いますが手口が異なります。
-
Q証明書ピン留め(Certificate Pinning)とは何ですか?
-
A
モバイルアプリなどが信頼するサーバー証明書を事前にアプリ内に登録して、不正な証明書を使ったなりすましを防ぐ技術です。MITM攻撃で不正な証明書が使われた場合にアプリが接続を拒否します。
-
QmTLS(相互TLS認証)とは何ですか?
-
A
通常のTLSはサーバーの証明書のみを検証しますが、mTLSはクライアント(利用者側)の証明書もサーバーが検証します。正規のクライアント以外からの接続を拒否できるため、マイクロサービス間通信のセキュリティに有効です。
-
QHSTSとは何ですか?
-
A
HTTP Strict Transport Securityの略で、ブラウザに「このドメインはHTTPSのみ使用する」と記憶させるHTTPヘッダーです。SSLストリッピング攻撃を防ぐ効果があります。
【出典】参考URL
https://www.cloudflare.com/ja-jp/learning/security/threats/man-in-the-middle-attack/ :CloudflareによるMITM攻撃の解説
https://www.ipa.go.jp/security/answer/ssl.html :IPAのSSL/TLS証明書に関する注意喚起
https://owasp.org/www-community/attacks/Manipulator-in-the-middle_attack :OWASPのMITM攻撃の詳細解説


コメント