中間者攻撃とそのリスクを理解する方法
自分のデバイスがネットワーク経由で他のデバイスとどのように通信するのかを理解するのは、少々ややこしいことがあります。特に、何か問題が発生したときや、自分のデバイスが本当に安全であることを確認したいときにはなおさらです。基本は至ってシンプルです。近くにあればケーブルで接続し、Wi-Fiや有線LANを使うだけです。しかし、インターネットや、プロキシ、VPN、さらには不正なホットスポットといった仲介者を介するとなると、話は全く別です。接続するだけでなく、誰が盗聴しているのか、そして盗聴を阻止する方法を知ることが重要です。
ここでのスーパーヒーローは暗号化です。いわば、あなたのメッセージを覗き見から守る秘密のコードのような存在です。しかし、攻撃者はただ待っているだけではありません。中には、あなたやサーバーになりすまして、自ら会話に割り込んでくる者もいます。ここで中間者攻撃(略してMitM)が登場します。彼らは盗聴したり、送信内容を改ざんしたり、ブラウザを騙して正常だと思わせたりしますが、実際にはそうではありません。厄介なのは、これらの攻撃には受動的な攻撃(単に盗聴するだけ)と能動的な攻撃(能動的攻撃)の2種類があるということです。能動的な攻撃とは、接続に積極的に介入し、まるで正常であるかのように見せかけながら密かにデータを傍受する攻撃です。
セットアップ
基本的に、中間者攻撃が成功するには、攻撃者が通信経路の真ん中に割り込む必要があります。よくある方法の一つは、一見当たり前のようですが、ランダムに選んだ無料Wi-Fiホットスポットに接続することです。カフェや空港など、ただ「無料Wi-Fi」が設置されている場所のことです。なぜこれほど頻繁に成功するのかは定かではありませんが、こうしたネットワークは適切なセキュリティ対策が取られていないことが多く、攻撃者が偽のアクセスポイントを設置して誰かが接続するのを待つ格好のホットスポットになっています。攻撃者にとっては非常に簡単なのですが、驚くほど多くの人が何も考えずにこうしたホットスポットに接続してしまうのです。
もう一つの方法は、デバイスを騙してプロキシを使わせたり、特定の悪意あるサーバーを受け入れるように設定したりすることです。例えば、あなたのデバイスを自分のマシンをプロキシとして使うように仕向けることができれば、あなたのトラフィックをすべて見ることができるようになります。まるであなたのすぐそばに座って会話を盗聴しているようなものです。そしてもちろん、ISPも理論的にはそれに加担している可能性があり、特にISPが悪意を持っていたり、セキュリティが侵害されていたりする場合はなおさらです。VPNを使用すればトラフィックは隠されるはずですが、VPNプロバイダーが新しいISPとなり、あなたのデータにアクセスできるようになることを忘れないでください。信頼できるプロバイダーを選ぶことが重要です。そうでなければ、問題が一つまた一つと変わってしまう可能性があります。
パッシブMitM
これは最も巧妙な手口です。攻撃者は、改ざんしたり、情報を収集したり、パターンを認識しようとしたりすることなく、暗号化されたトラフィックを「盗聴」するだけです。暗号化はここで非常に役立ちます。暗号化がなければ、攻撃者はすべてを明るみに出してしまうからです。しかし、暗号化されていても、攻撃者が中間に潜んでいれば、メタデータを盗み取る可能性があります。あるいは、注意を怠ると暗号化されていないデータも盗み取られる可能性があります。覚えておいてください。受動的だからといって無害というわけではありませんが、積極的にデータを改ざんするよりも悪意は少ないということです。
アクティブMitM
これはより攻撃的なシナリオです。攻撃者が積極的に介入し、仲介役としてユーザーとウェブサイト間の「安全な」接続をネゴシエートします。理論上は、ウェブサイトはHTTPSと、デバイスの信頼できる証明書ストアに保存されている信頼できるルート証明機関によって署名された証明書を使用しているため、SSL/TLSはこの混乱の大部分を防ぐはずです。すべてが正しく設定されていれば、何か怪しい点があればブラウザが警告を表示します。つまり、無効または信頼できない証明書に関する警告ポップアップです。
証明書が検証されていない場合(期限切れや署名が適切でない場合など)、ブラウザは警告を表示します。ただし、攻撃者の中には、ユーザーを騙して無効な証明書を受け入れさせようとする者がいます。多くの場合、悪意のあるルート証明書を信頼できる証明書ストアにインストールするよう仕向けるのです。そうなると、攻撃者はあなたが訪問するあらゆるサイトを装うことができ、何の疑問も抱かないため、防御策は事実上破られてしまいます。
そして奇妙なのは、こうした警告にもかかわらず、「リスクを受け入れる」をクリックしてそのまま接続を続ける人がいることです。こうして、本来「安全」なはずの接続に完全アクセスできてしまうのです。この場合、暗号化は攻撃者とデバイス間の部分しか保護せず、実際のサーバーまで保護しません。つまり、これはまるで他人のふりをしている相手を信頼しているようなもので、HTTPSの本来の目的を台無しにしてしまうのです。
デジタル化が進んでいない例
より簡単に入手するには、郵便で手紙を送ることを考えてみてください。郵便サービスはインターネットのようなもので、メッセージを届けてくれます。しかし、配達員は誰でしょうか?それは中間者(MitM)です。彼らはあなたの手紙を開封したり、読んだり、さらには交換したりすることさえできます。手紙は封印されているので安全だと思い込んでいても、配達員が悪意を持っていたり、セキュリティ侵害を受けたりしたら、もう終わりです。暗号化技術はここで役立ちます。例えば、手紙に署名することで、本当にあなたから送られたものであることを証明し、誰かが改ざんしていないか確認することができます。
コミュニケーション方法を変えること、例えばメールから暗号化されたメッセージアプリに切り替えることは、大きな違いを生む可能性があります。そして、単に切り替えるだけでなく、信頼できるネットワークやサービスを選ぶことも重要です。結局のところ、最善の防御策は、攻撃者に容易な侵入経路を与えないことです。
まとめ
中間者攻撃は現実に存在し、瞬く間に発生する可能性があります。特に、セキュリティ保護されていないWi-Fiや証明書の警告を無視した場合はなおさらです。暗号化はほとんどの悪意ある攻撃者を阻止しますが、それは正しく設定され、ユーザーが警告サインに注意を払っている場合に限られます。さらに、使用するネットワークやサービスには常に注意を払う価値があります。時には、弱点がどこにあるのか、そしてそれをどのように回避するかを知ることが、重要なのです。