FixVibe
Covered by FixVibemedium

HTTP セキュリティ ヘッダー: ブラウザ側防御のための CSP および HSTS の実装

この調査では、クロスサイト スクリプティング (XSS) やプロトコル ダウングレード攻撃などの一般的な脆弱性から Web アプリケーションを保護する際の、HTTP セキュリティ ヘッダー、特にコンテンツ セキュリティ ポリシー (CSP) と HTTP Strict Transport Security (HSTS) の重要な役割を調査します。

CWE-1021CWE-79CWE-319

セキュリティヘッダーの役割

HTTP セキュリティ ヘッダーは、セッション中に特定のセキュリティ ポリシーを適用するようにブラウザに指示するための標準化されたメカニズムを Web アプリケーションに提供します。これらのヘッダーは多層防御の重要なレイヤーとして機能し、アプリケーション ロジックだけでは完全に対処できない可能性のあるリスクを軽減します。

コンテンツ セキュリティ ポリシー (CSP)

コンテンツ セキュリティ ポリシー (CSP) は、クロスサイト スクリプティング (XSS) やデータ インジェクション攻撃 [S1] など、特定の種類の攻撃の検出と軽減に役立つセキュリティ レイヤーです。 CSP は、どの動的リソースの読み込みを許可するかを指定するポリシーを定義することにより、攻撃者 [S1] によって挿入された悪意のあるスクリプトをブラウザーが実行するのを防ぎます。これにより、アプリケーションにインジェクションの脆弱性が存在する場合でも、未承認のコードの実行が効果的に制限されます。

HTTP 厳格なトランスポート セキュリティ (HSTS)

HTTP Strict Transport Security (HSTS) は、Web サイトが HTTP [S2] ではなく HTTPS を使用してのみアクセスする必要があることをブラウザーに通知できるメカニズムです。これにより、クライアントとサーバー間のすべての通信が暗号化されることが保証され、プロトコル ダウングレード攻撃や Cookie ハイジャックから保護されます ([S2])。ブラウザがこのヘッダーを受信すると、それ以降の HTTP 経由でのサイトへのアクセス試行はすべて HTTPS リクエストに自動的に変換されます。

ヘッダーの欠落によるセキュリティへの影響

これらのヘッダーを実装できないアプリケーションは、クライアント側で侵害されるリスクが大幅に高くなります。コンテンツ セキュリティ ポリシーが存在しないと、不正なスクリプトの実行が許可され、セッション ハイジャック、不正なデータの漏洩、改ざん [S1] が発生する可能性があります。同様に、HSTS ヘッダーがないため、ユーザーは中間者 (MITM) 攻撃の影響を受けやすくなります。特に最初の接続フェーズでは、攻撃者がトラフィックを傍受し、ユーザーを悪意のあるバージョンまたは暗号化されていないバージョンのサイト [S2] にリダイレクトする可能性があります。

FixVibe がそれをテストする方法

FixVibe には、これがパッシブ スキャン チェックとしてすでに含まれています。 headers.security-headers は、パブリック HTTP 応答メタデータを検査して、Content-Security-PolicyStrict-Transport-SecurityX-Frame-Options または frame-ancestorsX-Content-Type-OptionsReferrer-Policy の存在と強度を調べます。 Permissions-Policy。エクスプロイト プローブを使用せずに欠落値または脆弱な値を報告し、その修正プロンプトには、一般的なアプリと CDN セットアップ用のデプロイ準備の整ったヘッダーの例が表示されます。

修復ガイダンス

セキュリティ体制を強化するには、すべての本番ルートでこれらのヘッダーを返すように Web サーバーを構成する必要があります。堅牢な CSP は、script-srcobject-src などのディレクティブを使用して、スクリプト実行環境 [S1] を制限し、アプリケーションの特定のリソース要件に合わせて調整する必要があります。トランスポート セキュリティの場合、ユーザー セッション [S2] 全体で永続的な保護を確保するには、適切な max-age ディレクティブを使用して Strict-Transport-Security ヘッダーを有効にする必要があります。