ARPスプーフィングを使用してアクセスポイントのローカルIPアドレスを盗むことにより、パブリックアクセスポイントに対してman-in-the-middle攻撃を作成する方法は多数あるようです。考えられる攻撃は、パスワード要求フィールドの偽造から、HTTPS接続のHTTPへの変更、さらに最近発見された、安全なTLS接続の開始時に悪意のあるヘッダーを挿入する可能性まで多岐にわたります。
しかし、これらの攻撃はあまり一般的ではないと主張されているようです。自分で見るのは面白いでしょう。 そのような攻撃がネットワーク上の誰かによって試みられているかどうかを検出する方法はありますか?
プレーンなHTTPログインページが提供されることは明らかな手がかりになると思います。もちろん、Wiresharkを実行して、興味深いARPトラフィックをすべて読み続けることもできます...しかし、自動化されたソリューションの方が少し便利です。バックグラウンドでデータを分析し、ネットワーク上で攻撃が検出された場合に警告するもの。これらの攻撃が実際にどこかで起こっているかどうかを自分で確かめるのは興味深いでしょう。
任意のMITMを検出する方法はいくつかあるため、それらを実行する方法はありません。
ただし、イーサネットまたはWLANに対するほとんどのMITM攻撃は、トラフィックをリダイレクトするために ARPスプーフィング を使用します。 ARPスプーフィングを検出するツールがあり、これらはほとんどのMITM攻撃を示しているはずです。たとえば、いくつかのツールのウィキペディアページ。
MiM攻撃は、暗号化されたトラフィックに対して実行されます(暗号化されていないトラフィックでMiMを実行する必要はなく、スニッフィングするだけです)。
その背後にはいくつかの数学がありますが、長い話は短いです:あなたはキーフィンガープリントをチェックする必要があります。したがって、たとえば、初めてssh経由でログインすると、sshクライアントはサーバーのフィンガープリントを表示します。 MiMから保護したい場合は、このフィンガープリントを知っている必要がありますbeforeログイン試行(たとえば、対面での会話など、他の安全なチャネルを使用して管理者に依頼してください)。
これは非常に非現実的です。この問題の答えは認証局です( http://en.wikipedia.org/wiki/Certificate_authority )。このシナリオでは、コンピューターは信頼できる会社の鍵の既知の指紋を保持しています。その会社は他の会社の鍵に署名します。使用した証明書が正しく署名されているかどうかを確認することが重要です。幸いなことに、最近のブラウザはこれを自動的に実行し、何か問題がある場合は多くの警告を表示します。
これを検出するためのフェイルプルーフの方法はありません(もしあれば、MitM攻撃は問題になりません!)。ただし、考えられる手法はいくつかあります。
何かを提供するのにかかる時間を見てみることができます。遅延は、MitM攻撃が発生していることを示している可能性があります。または、ネットワークが低速であることを示している可能性もあります。
パブリックネットワークを介して送受信しているコンテンツを誰かが編集していると思われる場合は、指紋/ MD5ハッシュなどを確認できます。あなたが送受信しているデータの。
Maciekが指摘しているように、MitMが証明書とSSL接続で遊んでいる場合、証明書が一致しない場合はブラウザーが警告を表示するため、これはかなり明白なはずです(ただし、ブラウザーを信頼できる必要があります。誰かがインストールした場合)。すでにコンピュータに偽の証明書がありますが、これはあまり役に立ちません)。
arpwatch
は私のために働きます:
Sudo aptitude install arpwatch
echo "wlan3 -a -n 10.10.0.0/24 -m [email protected]" | Sudo tee -a /etc/arpwatch.conf
/etc/init.d/arpwatch start
あなたが言ったように、防御を自動化するのは素晴らしいことです。 http://ifttt.com SMSアラートなどの送信に役立つようです。残りはあなたとあなたのMTA(postfix
)および電子メールフィルター。