「.NET 開発基盤部会 Wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。
目次 †
概要 †
目的 †
特定の種類の攻撃を検知し、
- データの窃取から
- サイトの改ざんによるマルウェアの拡散
など影響を軽減するために追加できるセキュリティレイヤー
攻撃の種類 †
方式 †
コンテンツの
- 提供元(URL)
- 取得方法(HTTPS経由のみなど)
を制限することで、
- 攻撃者のコンテンツを読み込ませることを阻止し、
- 結果として、コンテンツに対する攻撃を軽減する。
対応方法 †
クロスサイトスクリプティング †
実行を許可するスクリプトの正しいドメインをブラウザに向けて指定する。
- サーバから指定されたホワイトリストに載っているドメインのスクリプトのみ実行する。
他のスクリプトはすべて無視(インラインスクリプトや HTML 属性値のイベントハンドラ)する。
- スクリプトを決して実行させたくないサイトは、スクリプトの実行を全面的に拒否することも可能。
パケットキャプチャ †
取得するコンテンツのドメインを制限することに加え、
サーバは通信に使うプロトコルを指定することも可能。
- すべてのコンテンツを HTTPS で取得されるように指定。
- Cookie に secure フラグを付与するように指定。
- Strict-Transport-Security HTTP ヘッダ
データインジェクション †
クリックジャッキング †
設定 †
方法 †
- Content-Security-Policy HTTP ヘッダ
CSP で優先される配信のしくみは HTTP ヘッダー
- <meta http-equiv="Content-Security-Policy" content="・・・">タグ
ページのマークアップに直接ポリシーを設定する場合に便利
記述 †
後方互換性 †
- 後方互換性を保って設計されている。
- CSP 未対応のブラウザでも CSP 実装済のサーバと通信できる。
- CSP 未対応のサーバでも CSP 実装済のブラウザと通信できる。
参考 †