web-dev-qa-db-ja.com

DNSではなくIPを使用した自己署名証明書による中間者攻撃の防止

同様の質問を探しましたが、必要な答えが見つかりません。

なりすましの途中攻撃を防ぐ?

この質問を読んだ後:

真ん中の「承認された」男

問題を簡単に把握できると思います。

クライアントはターゲットサーバーへの接続を試みます。プロキシが接続をハイジャックします。プロキシは、ターゲットサーバーへの暗号化された接続を開始します。プロキシは偽造された証明書を作成してクライアントに送信し、暗号化された接続を開始します。代理人はそのとき真ん中の男です。

CAがないと、クライアントは本物の接続を行ったかどうかを知りません。

私の質問は、プロキシが接続をハイジャックする方法についてです。クライアントのDNSが侵害された場合、解決されたIPがプロキシIPである可能性があるケースを確認できました。

クライアントがIPアドレスを直接使用して接続する場合でも、プロキシはトラフィックを傍受できますか?おそらく、悪意のあるルーターがこれを行う可能性があります。

1
Uzer

プロキシが接続のパスにある場合、トラフィックを傍受する可能性があります。これは、ブラウザーで明示的に定義されたプロキシの場合であり、すべての送信トラフィックが通過する必要があるデバイス(ファイアウォールなど)に透過プロキシがインストールされている場合にも当てはまります。ローカルネットワークの攻撃者がARPスプーフィングを使用してトラフィックをリダイレクトする場合も同様です。 DNSスプーフィングは、ホスト名が含まれている場合にのみ関連しますが、他のすべてのケースもIPアドレスをターゲットとして機能します。

2
Steffen Ullrich

基本的にすべての通信は、それがどこに行っても、通信が切断されると傍受される可能性があります。 TCP/IPはルーティング可能である必要があるため、パッケージを検査(読み取り専用)できるほか、送信側と受信側の間のノードによって改ざん(再書き込み)することもできます。

レイヤ3ルーターとパケットインスペクションを備えたファイアウォールは、計算能力が安くなったため、大規模な場合でもこれを簡単に実行できます(1秒あたり10000パケットは問題ありません)。 NSA=が何をしているのか、彼らはこれらのハードウェア部品を正確に使用しています。

たとえば、私の会社では、社内WAN WAN。アイデアは良いものですが、ここで問題が発生します。多くのサイトがすでにhttpsを使用しているため、WANアクセラレータは何も加速できませんでした。

それを行うには、すべてのコンピューターがWindowsのグループポリシーによってプッシュされた、またはADに保存された信頼できる証明書を取得します。背景はわかりません。次に、WANアクセラレータは、https(SSL)交換が内部にあるパケットを見つけ、公開鍵を記述したように置き換えます(また、クライアントが要求したか、名前が指定されていない場合はおそらくIPアドレス)、クライアントがだまされて、最終的な受信者と安全に通信していると思ってしまう。

代わりに、WANアクセラレータと通信しており、何でもキャッシュ/高速化できます。

ポイントは、私の会社(または私の会社のIT担当者)は、(理論的には)このアクセラレータノードですべてのプライベートバンキングトラフィックなどを読み取ることができるということです。なんてクールなことでしょう。

これらのサイトにはブラウザバーに「グリーンバッジ」が表示されていないことがわかりますが、傍受に関する警告は表示されません。

1
flohack

はいプロキシは常にトラフィックをインターセプトします。

No対象のターゲットの証明書を使用している場合、トラフィックを読み取ることができません。

はい公開鍵をスプーフィングするとトラフィックを読み取ることができますが、ブラウザに警告が表示されるため、

Noブラウザーの警告を生成せずにトラフィックを傍受して読み取る方法はありません。

私の説明はこの文章から始まります:

プロキシは公開鍵を作成してクライアントに送信し、暗号化された接続を開始します。

それはそれがどのように機能するかということではありません。プロキシは、偽のcertificateをブラウザに送信する必要があります。これには、公開鍵が含まれますが、ドメインなどの他の情報も含まれる必要があります。それは鍵を所有しています。さらに、証明書全体がデジタル署名されているため、改ざんに強いです。署名は、証明書を発行した組織の公開鍵を使用して検証できます。 つまり、公開鍵は、CAに到達するまで、チェーン全体にわたって別のSSL証明書によって検証されます。 CA証明書はオペレーティングシステムの一部としてインストールされるため、その公開鍵はよく知られています。

したがって、プロキシが信頼の連鎖からの秘密鍵の1つを持たない限り、プロキシがブラウザに偽の証明書または代替公開鍵を提供することは不可能です。署名。

プロキシが偽物を提供できない場合、公開鍵とドメイン名が一緒になっていることをブラウザに納得させる方法はなく、ブラウザにはフィッシング警告が表示され、アドレスバーが赤くなります。

IPアドレスを介してホストにアクセスしている場合でも、証明書は必須であり、証明書のドメイン名はエンドユーザーに表示されます。ブラウザは常にアドレスバーを赤にします。また、エンドユーザーはブラウザのボタンをクリックして証明書を表示し、ドメイン名が正しいかどうかを手動で確認できます。ドメイン名が疑わしい場合、ユーザーはブラウザーを閉じ、そのエンドポイントの使用を停止することになっています。

1
John Wu