web-dev-qa-db-ja.com

現在のMITMはありますか?

この質問を簡潔にすることをお詫びします。問題があります。 Google.co.ukが私のブラウザーでHSTSに失敗しています。

enter image description here

これはgoogle.co.ukの問題ですか、それとも私だけですか?誰かが私のインターネット接続を仲介していますか?

たくさんのサイトを見つけることができますが google.co.ukが機能していることを示しています HSTSの問題が私かGoogleかを確認できませんでした。自分の疑いがありますが、サードパーティによる確認が必要です。

PS:これはこれまでのところgoogle.co.ukにのみ表示されますが、残念ながら snuck.me は他のサイトの非HSTS証明書を明確にするために機能していないようです。


更新:

10分間ダウンした後、google.co.ukは再び機能するようになりましたが、snuck.meを使用すると、次のことがわかります。

enter image description here

ブラウザによる指紋:

D1:8F:DE:83:4A:68:88:32:DD:CF:C8:6B:0C:74:94:33:02:75:BC:43

snuck.meによる指紋:

42:38:CE:6C:AA:C5:FE:13:A0:5A:56:88:F3:F2:E7:E4:D7:14:07:DA

これにより、MITMがあることを確認できますか?

25
Martin

ブラウザが証明書を拒否しましたが、これは攻撃によって引き起こされる必要はありません。

Google.co.ukが私のブラウザーでHSTSに失敗しています。

表示される警告は、特にHSTSの問題を示すものではありません。それは、Firefoxが言っているだけです:「証明書は無効のようです。ところで、サイトがHSTSを使用しているため、手動による例外を追加することはできません。 1

無効な証明書が短期間提供された理由は多くあります。これは、ISPでの問題、ルーターの問題、キャプティブポータルによるSSLインターセプト(@FedericoPoloniによる言及)、または理論的にはMITM攻撃の不十分な試みである可能性があります。調査の最初のステップは、実際に提供された証明書を確認することです。


その後、証明書を正しく比較しませんでした:www.google.co.ukに接続しましたが、google.co.ukに対してサードパーティのテストを実行しました。これらは技術的に異なるドメインであり、指定されたサーバー名に応じて異なる証明書を提供します。

ここでは、opensslを使用して各-servernameをテストしています。両方のフィンガープリントを認識できるはずです。

$ openssl s_client -servername www.google.co.uk -connect www.google.co.uk:443 < /dev/null 2>/dev/null | openssl x509 -fingerprint -noout -in /dev/stdin
SHA1 Fingerprint=D1:8F:DE:83:4A:68:88:32:DD:CF:C8:6B:0C:74:94:33:02:75:BC:43
$ openssl s_client -servername google.co.uk -connect www.google.co.uk:443 < /dev/null 2>/dev/null | openssl x509 -fingerprint -noout -in /dev/stdin
SHA1 Fingerprint=42:38:CE:6C:AA:C5:FE:13:A0:5A:56:88:F3:F2:E7:E4:D7:14:07:DA

1HSTS(HTTP Strict Transport Security)は、クライアントがプレーンHTTP(指定された時間)でサイトに接続してはならないことを示すためにWebサーバーが送信できるヘッダーです。ブラウザは、以前にwww.google.co.ukにアクセスしたときにヘッダーを取得したか、プリロードしました。ヘッダーの副作用の1つは、例外を追加しても、UIで証明書の警告を無視できなくなることです。

40
Arminius

システムの時刻を確認してください。時々、クロック(システム時刻)が間違っている場合や、時刻の同期が外れた場合に、このエラーが発生します。

1
HM3RAQ