中間者攻撃の定義と狙い

中間者攻撃(MITM: Man-in-the-Middle)は、通信の「途中」に入り込み、片側と相手の間でやり取りを中継しながら、内容を盗み見たり改ざんしたりする攻撃です。たとえば、AがBに接続しているつもりでも、実際にはAと攻撃者、攻撃者とBのように別々の関係が成立している状態を作ります。

狙いは大きく分けて次のようなものがあります。

  • 傍受:パケットやアプリデータを盗み見る
  • 改ざん:送受信内容を変更する
  • すり替え:正しい相手のように見せかけて誘導する
  • セッション乗っ取りに近い形:通信の継続状態を悪用する

ここで重要なのは、MITMは「通信路の支配」を利用するという点です。無線の共有、ルータや中継装置の経路、プロキシ的な経路など、通信が通る場所で影響が出ることがあります。

基本の仕組み(簡単なモデル)

MITMの代表的な流れは、概ね次の形に整理できます。

  1. 参加・中継の確立 攻撃者が、クライアントとサーバの間に割り込める状態を作ります。たとえば、クライアントの接続先として別の経路や端末を提示できるようにする、といった形です。

  2. 正当な相手のように見せる クライアントが「正しい相手と通信している」と判断できる状態にする必要があります。暗号化がある場合でも、相手の真正性(サーバであること)をうまく検証できない状況があると成立し得ます。

  3. 傍受・改ざん・再送 以後、攻撃者は受け取った情報を読み取り、必要に応じて変更し、反対側へ転送します。暗号化の方式や鍵の扱いが正しく守られていれば内容の読み取りは難しくなりますが、「鍵が正しく成立していない」場合や「検証が弱い」場合はリスクが残ります。

どこまで防げるか(限界と例外)

MITMは、暗号化や証明書検証などの仕組みで大幅に難しくできます。ただし「暗号化=絶対にMITM不能」とは限りません。成立し得るかどうかは、主に次の要因に左右されます。

証明書の検証が適切か

TLSのように、相手の証明書を検証して安全な鍵合意に至る設計であれば、攻撃者が別の相手としてすり替えるのが難しくなります。一方で、検証が無効化されていたり、想定外の信頼が追加されていたり、ユーザーが証明書警告を見過ごしたりすると、成立余地が生まれます。

端末側・ネットワーク側の前提

クライアントが接続先として信頼できる経路を前提にしているか、ネットワーク機器や中継環境の挙動が想定通りかで、脅威の現実味が変わります。たとえば、ネットワーク環境により安全な接続先でも別の経路に誘導される可能性がゼロとは限りません。

「通信が暗号化されている」ことと「相手が正しい」ことは別

暗号化があっても、相手が正しいという検証が弱いと、攻撃者が“別の相手”として入り込む余地が残ることがあります。MITMの本質は「途中で相手をすり替えること」なので、検証の質が鍵になります。