現在、OWASPのセキュリティ修正に取り組んでおり、考えられる解決策を見つけようとしている1つの攻撃シナリオを特定しました。
https//www.abc.com/request
これらのいずれか:
https://www.abc.com/request
ただし、コンテンツは悪意のあるサイトのコンテンツになります。https://www.abc.com/request
を指していますが、コンテンツは悪意のあるものです。これにより、ユーザーはそれがまだアプリケーションにあると信じ込ませます。このシナリオは、プロキシツールを使用して複製できます。 HTTPSであるため、攻撃者は応答を解読できない可能性がありますが、応答の内容を変更したり、悪意のあるサイトにリダイレクトしたりすることはできます。 ApacheまたはカスタムHTTPヘッダーを介して、ブラウザーでそのような応答を識別してレンダリングしないようにする方法はありますか?
シナリオ(2A)で、ユーザーが有効なHTTPSサイトから悪意のあるHTTPサイトにルーティングされた場合はどうなりますか?
ドメインへのリクエストがHTTPS(例:https://example.com
)の場合、これはMITM攻撃者の影響を受けません(企業プロキシの問題は別として)。攻撃者がexample.com
を自分のサイトのIPにリダイレクトした場合、自分のサイトにはexample.com
の信頼できる証明書がインストールされないため、ユーザーはブラウザの警告を受け取り、証明書を受け入れることを強くお勧めしません。サイトを閲覧する。
攻撃者がこれを回避する唯一の方法は、秘密鍵を使用して証明書のコピーを取得するか、ドメインに対して独自の信頼できる証明書を取得することです。これは非常に困難です。そして、彼らがあなたのサーバーに侵入することによってこれを行うことができれば、とにかく彼らは勝ちます。結論 X.509の公開鍵インフラストラクチャ を信頼します。これがどのように機能するかについての詳細は、そこを読んでください。
HTTPSは、あなたが説明する中間者(MITM)攻撃に対する防御です。
Httpsであるため、攻撃者は応答を解読できない可能性がありますが、応答の内容を変更したり、悪意のあるサイトにリダイレクトしたりすることはできます。
ブラウザがhttps応答を期待しているときに、MITMがどのように応答を変更できるかわかりません。攻撃者がhttpにダウングレードすることを心配している場合は、 [〜#〜] hsts [〜#〜] (HTTP Strict Transport Security)を検討する必要があります。 HSTSプリロードリスト に追加して、最初の接続がダウングレードされないようにすることもできます。
受け入れられた答えはすでに重要な点をカバーしていますが、私があなたが解決するのを手伝いたい他のいくつかの誤解があるようです。
このシナリオは、プロキシツールを使用して複製できます。
プロジー(Fiddler、Burp、ZAPなど)を介してHTTPS応答を変更できる場合は、ブラウザーのルート証明書をコンピューターにインストールするか、サイトの信頼できないHTTPS証明書に対するブラウザーの異議を無効にする必要があります。潜在的な被害者が最初に行うことはなく、2番目に行う可能性は低いです。
HTTPSであるため、攻撃者は応答を解読できない可能性がありますが、応答の内容を変更したり、悪意のあるサイトにリダイレクトしたりすることはできます。
いいえ、TLS(HTTPとHTTPSを区別するセキュリティプロトコル)もそれを防ぎます。 TLSは、暗号化(要求と応答の機密性)だけではありません。特に、以下も提供します。
ApacheまたはカスタムHTTPヘッダーを介して、ブラウザーでそのような応答を識別してレンダリングしないようにする方法はありますか?
ヘッダーまたは本文の特別なコンテンツ特定の応答のは、攻撃者がそのコンテンツを単に省略、削除、または変更するため、明らかに機能しません。結局のところ、攻撃者がブラウザの受信内容を制御していると想定しているため、メッセージに「 evil bit 」を設定して、ブラウザがメッセージをレンダリングしないようにすることはできません。応答がブラウザに到達したため、そのようなマークはもうありません。ただし、man-in-the-middle攻撃のリスクを軽減するために使用できるセキュリティ関連のヘッダーがいくつかあります。
Strict-Transport-Security
)は大きなものです。これは、有効期間といくつかのオプションのフラグを指定します。通常、有効期間が長い(1年以上をお勧めします)すべての応答に設定するという考え方です。また、「 preload 」を使用して、ユーザーが初めてサイトにアクセスする前に保護することもできます。生涯にわたって、2つの主な効果があります: