中間者(MITM)攻撃とは?その仕組み、種類、および対策

by

最終更新日:
9 読了時間:約9分
中間者(MITM)攻撃とは?その仕組み、種類、および対策

主なポイント

  • MITM攻撃とは、直接通信していると思い込んでいる2つの当事者の間に攻撃者が割り込み、双方に気づかれることなくデータを読み取ったり改ざんしたりする攻撃です。
  • 攻撃者は、ARPスプーフィング、DNSスプーフィング、SSLストリッピング、不正なWi-Fiネットワーク、BGPハイジャックなど、いくつかの手法を用いて侵入します。これらはそれぞれ、トラフィックのルーティングにおける異なる信頼レイヤーを悪用するものです。
  • 電子メールにも同様の問題があります。STARTTLSはデフォルトで「機会主義的」な仕様となっているため、ネットワーク経路上の攻撃者が暗号化を解除し、メッセージを平文で強制的に通過させることが可能です。
  • 警告の兆候としては、予期せぬ証明書エラー、ARPテーブルの異常、異常なDNS応答、およびTLSレポートを通じて検出されたSMTP TLSネゴシエーションの失敗などが挙げられます。
  • すべてのMITM手法を網羅する単一の対策は存在しません。HSTSを適用したHTTPS、DNSSEC、公衆ネットワークでのVPN利用、そして電子メール向けのDANEを併用したMTA-STSは、それぞれ異なる脆弱性を解消します。

中間者攻撃は、ネットワークセキュリティにおいて最も古くからある手口の一つであり、暗号化そのものを直接標的にしないため、今日でも依然として有効です。この攻撃は、データが通過する経路――ローカルネットワークであれ、DNS検索であれ、あるいはインターネット上でトラフィックを転送するルーティングテーブルであれ――を標的とします。 攻撃者がその経路に侵入すると、双方が一見正常に見える応答を受け取り続けているため、何か異常があるとは疑う由もない両者の間に、ひっそりと潜むことができるのです。

このガイドでは、こうした攻撃が実際にどのように機能するのか、そのさまざまな形態、実際の被害が生じる前に攻撃を見抜く方法、そして各層に対応した具体的な防御策について詳しく解説しています。特に、このテーマに関する解説記事の多くが完全に省略しがちな、電子メールに焦点を当てた視点についても取り上げています。

中間者攻撃とは何か?

中間者(MITM)攻撃とは、攻撃者が通信を行う2つの当事者の間に割り込み、その間でやり取りされるデータを傍受、閲覧、または改ざんする攻撃です。攻撃の対象となるのは、人とウェブサイト、2つのメールサーバー、あるいはデバイスとWi-Fiルーターなどです。攻撃者は双方向のトラフィックを中継し、接続を完全に正常に見えるようにすることができるため、当事者のいずれも異常を察知することはできません。

よく引き合いに出される例え話として、郵便局員があなたの手紙を開封し、中身を読み、再び封をして、郵便物に戻して投函するというものがあります。あなたは手紙を受け取ります。差出人は、手紙が手つかずのまま届いたと思っています。しかし、途中で誰かがその手紙を読んでいたのです。もしその人が望めば、手紙を送り直す前に、いくつかの言葉を書き換えることもできたはずです。

MITM攻撃が問題となるのは、ブルートフォースによる暗号解読に依存していないからです。この攻撃は、ローカルネットワーク、DNSルックアップ、ルーティングテーブルなど、トラフィックが通過する経路に侵入し、多くのシステムがデフォルトでその経路を信頼しているという事実を悪用するものです。

MITM攻撃の仕組み:手順を追って解説

攻撃者がどのような手法を用いて攻撃の態勢を整えたかに関わらず、ほとんどのMITM攻撃は同様の手順で進行します:

  1. 攻撃者は、被害者と目的の宛先の間に位置を確保します。これには、同じWi-Fiネットワークに接続すること、ローカルキャッシュを改ざんすること、あるいは経路上のどこかでルーターやDNSリゾルバーを乗っ取ることが含まれます。
  2. 被害者の端末から、ウェブサイトの読み込みや、メールの配信のためにメールサーバーへの接続を開始するといったリクエストが送信されます。
  3. 攻撃者は、そのリクエストが本来の宛先に到達する前に、それを傍受します。
  4. 攻撃者は、多くの場合、目に見える遅延を生じさせることなく、リクエストを実際の宛先に転送するため、どちらの側から見ても異常は認められません。
  5. 応答は攻撃者を経由して返され、攻撃者はそれを読み取ったり、記録したり、改ざんしたりしてから、被害者に転送することができます。

攻撃者は、実質的に「見えない中継点」となる。双方が一見正常な応答を受け取り続けている限り、攻撃者がその位置を維持している間は、攻撃は継続し続けることができる。

MITM攻撃の種類

MITMは単一の手法ではありません。これは、同じ目的(通信している2つの当事者の間に割り込むこと)を共有しつつ、その達成手段が異なる一連の攻撃の総称です。

ARPスプーフィング

ARPスプーフィングは、オフィスのLANやセキュリティ対策が施されていない公衆ネットワークなどのローカルネットワークにおいて、最も一般的なMITM攻撃の手法です。 アドレス解決プロトコル(ARP)は、IPアドレスをローカルネットワーク上のデバイスの物理(MAC)アドレスにマッピングするもので、組み込みの検証機能は備えていません。攻撃者は、自身のMACアドレスをネットワークのルーターなどの正当なデバイスのIPアドレスに関連付ける偽造ARPメッセージを送信します。ネットワーク上のデバイスがこの誤ったマッピングでARPテーブルを更新すると、ルーター宛てのトラフィックが代わりに攻撃者に送信されることになります。

DNSスプーフィング

DNSスプーフィング(DNSキャッシュポイズニングとも呼ばれる)とは、デバイスやリゾルバーに対して、正規のドメイン名を攻撃者が制御するIPアドレスに紐付けるような、偽造されたDNS応答を送り込む攻撃です。 これが成功すると、本物のウェブサイトやメールサーバーにアクセスしようとした被害者は、知らぬ間に攻撃者が制御するサーバーへリダイレクトされてしまいます。このサーバーは、多くの場合、認証情報の窃取やフィッシングに利用されます。また、DNSセキュリティが電子メールに特に関連してくるのもこの点です。なぜなら、改ざんされたMXレコードの検索により、送信サーバーが受信者のメールサーバーが所在すると認識している場所へのリダイレクトを引き起こす可能性があるからです。

HTTPSスプーフィングとSSLストリッピング

HTTPSは、ブラウザとウェブサイト間の接続を暗号化することで、MITM攻撃を防ぐことを目的としています。SSLストリッピングは、この仕組みを迂回する手法であり、初期の接続リクエストを傍受し、ブラウザが暗号化されたセッションを確立する前に、HTTPSから平文のHTTPへと密かにダウングレードします。その結果、パッチが適用されていないブラウザや古いブラウザでは、アドレスバーは一見正常に見えるものの、被害者のトラフィックは平文で送信されることになります。 最新のブラウザやHSTS(HTTP Strict Transport Security)の導入により、10年前と比べてこの攻撃を実行するのは難しくなりましたが、HTTPSを一貫して適用していないシステムに対しては、依然として確立された攻撃手法として存在しています。

Wi-Fiの盗聴(イービル・ツイン攻撃)

「イービルツイン攻撃」とは、正規のWi-Fiアクセスポイントを模倣した不正なアクセスポイントを設置する攻撃であり、多くの場合、同じ、あるいは非常に類似したネットワーク名を使用します。このアクセスポイントに接続した被害者(デバイスがその名前のネットワークを記憶しているため、自動的に接続される場合もあります)は、すべての通信を攻撃者の機器を経由して送信することになります。これは、空港、カフェ、ホテルなどの公共の場において最も一般的なMITM攻撃の手法の1つであり、まさに被害者のデバイスや実際のネットワークへのアクセスを一切必要としないためです。

BGPハイジャック

ボーダーゲートウェイプロトコル(BGP)は、インターネットサービスプロバイダーが、自らがルーティングを担当するIPアドレス範囲をアナウンスするために使用するプロトコルです。BGPには組み込みの認証機能がないため、ネットワーク運用者は、設定ミスや悪意によって、他者に属するIPアドレス範囲を自らが所有しているかのように偽ってアナウンスしてしまう可能性があります。 この虚偽のアナウンスを受け入れた他のネットワークは、それらのアドレス宛てのトラフィックを、攻撃者のネットワークを経由してルーティングし始めてしまいます。これはローカルな攻撃ではなくルーティングレベルの攻撃であり、一度に大量のトラフィックに影響を及ぼす可能性があります。

2018年4月、攻撃者たちはまさにこの脆弱性を悪用し、AmazonのRoute 53 DNSサービスに属するIPプレフィックスを乗っ取り、仮想通貨ウォレットサイト「MyEtherWallet」へのルックアップを悪意のあるサーバーへリダイレクトさせ、フィッシングページに誘導されたユーザーから約15万ドル相当のイーサリアムを盗み出した。

SMTPダウングレード攻撃:電子メールにおけるMITM攻撃

電子メールにも、これと同様の問題があります。あるメールサーバーが別のメールサーバーにメッセージを配信する際、通常は「STARTTLS」と呼ばれるコマンドを使用して、接続を暗号化されたものへと切り替えます。

問題となるのは、STARTTLSがデフォルトでは「機会主義的」であるという点です。つまり、接続のアップグレードができない場合、ほとんどのメールサーバーは配信を失敗させるのではなく、平文のままメッセージを送信してしまいます。2つのメールサーバー間のネットワーク経路上に潜む攻撃者は、STARTTLSのネゴシエーションを傍受してそれを削除することができるため、送信サーバーは暗号化の提案を認識できず、結果としてメッセージを暗号化せずに送信することになってしまいます。 これは「STARTTLSダウングレード攻撃」と呼ばれ、MTA-STS(RFC 8461)が防ぐことを目的として設計された脅威として具体的に挙げられています。MTA-STSポリシーを適用している送信者は、TLSの検証ができない場合、平文での送信に切り替えるのではなく、配信を拒否します。

実例に基づくMITM攻撃の事例

レノボ・スーパーフィッシュ (2015)

レノボは、「Superfish」と呼ばれるアドウェアがプリインストールされた一般向けノートパソコンを一定数出荷しました。このアドウェアは、ユーザーのブラウジング情報を傍受し、HTTPSサイトを含め、ターゲットを絞った広告を挿入するものでした。これを実現するため、同社は影響を受けたすべてのマシンに独自の自己署名ルート証明書をインストールしており、その証明書はすべてのインストール環境で同一の秘密鍵を共有していました。

研究者が鍵を抽出すると、誰でも影響を受けるレノボ製ノートパソコンに対して、ブラウザの警告を表示させることなく、任意のHTTPSウェブサイトを装うことが可能となり、あるアドウェアが、公共Wi-Fiを標的とする攻撃者にとって即戦力となるMITMツールへと変貌してしまった。CISAはこの脆弱性を確認する勧告を発表し、ユーザーに対して当該ソフトウェアと証明書の両方を削除するよう指示した。

2018年のMyEtherWallet BGPハイジャック事件

前述の通り、攻撃者はAmazonのRoute 53 DNSインフラに対してBGPハイジャック攻撃を行い、仮想通貨ウォレットサイトのトラフィックを自分たちが制御するサーバーへリダイレクトし、その過程でユーザーの資金を盗み出した。

自社DNSリゾルバーがルート情報の漏洩の影響を受けたCloudflareは、発生直後にこの事象について詳細な報告を公表した。これは、ルーティングレベルでのMITM攻撃が、自身のデバイス上で何ら不正な操作を行っていないユーザーにどのような影響を及ぼし得るかを、最も明確に示す事例の一つである。

公共Wi-Fiの認証情報の盗難

こちらはよりありふれた手口ですが、日常的にははるかに頻繁に見られます。攻撃者は公共の場所にオープンなWi-Fiネットワークや「イービルツイン」と呼ばれる偽のWi-Fiネットワークを構築し、ユーザーが接続するのを待ち、暗号化されていない通信を直接盗聴するか、ARPスプーフィングやSSLストリッピングといった手法を用いて、その接続を介して送信されるログイン認証情報を傍受します。

CISAは、これを公共のホットスポットに接続する際の具体的なリスクとして挙げており、VPNを使用しない限り、こうしたホットスポットでの機密性の高いログインや取引は避けるよう推奨しています。

MITM攻撃の検知方法

MITM攻撃は目立たないように設計されていますが、どこを見ればよいかを知っていれば、通常はいくつかの痕跡が残っています:

  • 予期せぬSSL/TLS証明書に関する警告:ブラウザやメールクライアントから、証明書が一致しない、自己署名である、または見慣れない認証機関によって発行されたという警告が表示されることは、通信の傍受が行われていることを示す最も確実な兆候の一つです。
  • 突然の速度低下や接続切断:トラフィックを攻撃者のシステムを経由して再ルーティングすると、遅延が生じ、通常利用時と比較して接続の挙動が不安定になる可能性があります。
  • ARPテーブルの異常:ローカルネットワーク上で、2台のデバイスが同じMACアドレスを主張している場合や、あるMACアドレスが突然、通常とは異なるIPアドレスに関連付けられている場合は、ARPスプーフィングの兆候である。
  • 予期しないDNS応答:ドメインが、既知の想定範囲と一致しないIPアドレスに解決される場合は、DNSスプーフィングまたはキャッシュポイズニングの兆候です。
  • SMTP TLSネゴシエーションの失敗:特に電子メールの場合、TLSレポートデータ(TLS-RPT経由)において、以前は正常に機能していたSTARTTLSが失敗したり、ダウングレードされたりしていることが確認された場合、これは配信経路上でダウングレードの試みが行われていることを強く示唆するものです。

MITM攻撃を防ぐ方法

MITM攻撃の手法は、ローカルネットワークからインターネットのルーティングに至るまで、さまざまなレイヤーで実行されるため、あらゆる種類のMITM攻撃を阻止できる単一の対策は存在しません。多層的なアプローチを採用することで、より広範囲をカバーすることができます:

  • HSTSと組み合わせて、あらゆる場面でHTTPSを使用するようにします。そうすれば、攻撃者がダウングレードを強制しようとしても、ブラウザは暗号化されていないHTTP経由での接続を拒否します。
  • 機密性の高いアプリケーションでは証明書ピンニングを使用してください。これにより、アプリは、侵害されたり悪意のあるCAが発行するあらゆる証明書ではなく、特定の既知の証明書のみを信頼するようになります。
  • 暗号化されていない公衆Wi-Fiの利用は避け、やむを得ず利用する場合はVPNを使用してください。VPNを利用すれば、攻撃者が制御している可能性のあるローカルネットワークにデータが届く前に、通信が暗号化されるからです。
  • すべてのアカウントで多要素認証を有効にし、パスワードが盗まれただけでは攻撃者が侵入できないようにします。
  • DNSSECを導入してDNS応答に 暗号署名を追加することで 、偽造されたDNSレコードが検出されずに混入されるのを大幅に困難にします。
  • MTA-STS を有効にして受信メールに対して TLS を強制適用し、前述の SMTP ダウングレード攻撃を阻止します。
  • SPF や DKIM と併せて DMARCを導入し、MITM 攻撃を伴う認証情報の窃取にしばしば利用されるフィッシングメールにおいて、攻撃者がドメインをなりすますのを防ぎましょう。
  • アドレスマッピングの予期せぬ変更を検知するツールを活用し、ネットワーク上のARPおよびDNSの異常を監視します

MTA-STS による MITM 攻撃からの電子メール保護

MITM攻撃に関するガイドの多くは、Webトラフィックに焦点を当てており、それ以上の説明は行われていません。しかし、電子メールも同様の攻撃のリスクにさらされており、この点はしばしば見過ごされがちです。STARTTLSは状況に応じたプロトコルであるため、2つのメールサーバー間の接続を傍受できる攻撃者は、暗号化の提案を無効にし、メッセージを平文で送信させることができます。その際、どちらのメールサーバーも必ずしもエラーとして検知するわけではありません。

MTA-STSはこのギャップを埋めます。ドメインが「enforceモード」でMTA-STSポリシーを公開することで、そのドメインはすべての送信メールサーバーに対し、常にTLSをサポートしていることを通知するとともに、そのドメインからのメールを受信する権限を持つサーバーを正確に指定します。 送信サーバーがポリシーに合致するサーバーとの間で TLS を確立できない場合、黙って平文に切り替えるのではなく、配信を拒否します。ポリシー自体は SMTP ハンドシェイク中にネゴシエートされるのではなく、HTTPS 経由で取得されるため、攻撃者は STARTTLS オファーを削除するのと同じ方法でポリシーを改ざんすることはできません。

DANEはこれにさらに一歩踏み込んだ仕組みを追加しています。DANEは、従来の認証局(CA)システムに依存するのではなく、メールサーバーが提示すべき証明書を正確に指定するTLSAレコードをDNSに公開します。DANEはDNSSECに依存しているため、TLSAレコード自体は、本記事の前半で説明したようなDNSスプーフィングから保護されており、送信サーバーは、意図した受信者のメールサーバーと実際に通信していることを暗号的に確認できるようになります。

MTA-STSとDANEを組み合わせることで、オポチュニスティックなSTARTTLSでは保証されなかった2つの要件、すなわち「暗号化が実際に適用されること」と「相手側のサーバーが正しいものであること」に対処できます。PowerDMARCはこれら両方をホストしているため、ドメインはDNSレコードやWebホスト上のポリシーファイルを手動で管理することなく、暗号化され、検証済みのメール配信を強制することができます。

MTA-STSおよびTLSリプライの自動化:最初から最後まで

注:通信の暗号化は、接続そのものを保護するだけです。メールサーバーを経由しないメールの「送信者」欄で、誰かがあなたのドメインを偽装することを防ぐことはできません。それを防ぐのがDMARCの役割であり、この2つの保護策は、互いに代替し合うのではなく、連携してこそ最大の効果を発揮します。

DMARCについてもっと知る

よくあるご質問

MITM攻撃の目的は何ですか?

その目的は、ほぼ常に、双方が非公開であると信じている通信を傍受、読み取り、または改ざんすることにあります。攻撃者の動機によっては、ログイン認証情報の窃取、金融取引の転送、正当な接続への悪意のあるコンテンツの注入、あるいは単に双方の知らぬ間にトラフィックを監視することなどが含まれます。

HTTPSはMITM攻撃を防ぐことができますか?

HTTPSは、ブラウザとウェブサイト間の通信を暗号化することで、MITM攻撃を大幅に困難にしますが、それだけでは完全な保証にはなりません。SSLストリッピング、偽造または不正取得された証明書、HTTPS接続が確立される前に通信を傍受する「イービルツイン」Wi-Fiネットワークなどの手法によって、依然として脆弱性が生じる可能性があります。HTTPSにHSTSや証明書ピンニングを組み合わせることで、こうした脆弱性のほとんどを解消することができます。

最も一般的なMITM攻撃の種類は何ですか?

ローカルネットワークでは、ARPスプーフィングが最も一般的な手法です。これは、同じネットワーク上にいること以外、特別なアクセス権を必要としないためです。一方、公共の場所では、既存のネットワークを侵害する必要すらないため、「イービルツイン」と呼ばれるWi-Fi攻撃の方がより一般的です。

MTA-STSは、電子メールに対するMITM攻撃をどのように防止するのでしょうか?

MTA-STSは、SMTPハンドシェイク自体ではなくHTTPSを介して、受信メールに対して常にTLSを必須とすることをドメイン側が宣言できるようにすることで、STARTTLSのダウングレード攻撃を阻止します。MTA-STSをサポートする送信サーバーは、このポリシーが適用されているドメインへの平文メールの配信を拒否するため、STARTTLS自体がもたらすセキュリティ上の抜け穴を塞ぐことができます。

MITM攻撃は盗聴と同じものですか?

これらは関連していますが、同じものではありません。盗聴とは通常、通信内容を改変することなく受動的に聴取することを指します。一方、MITM攻撃はさらに一歩進んでおり、攻撃者は通信経路に能動的に介入し、通信を単に観察するだけでなく、双方向の通信を読み取ったり、改変したり、挿入したり、ブロックしたりすることができます。

MITM攻撃