混在コンテンツ
混在コンテンツ とは何ですか?
混在コンテンツHTTPS で配信されたページがスクリプト・スタイル・画像・XHR などのサブリソースを平文 HTTP で読み込み、ページ全体のセキュリティを低下させる状態。
混在コンテンツとは、HTTPS で配信されたページが安全でない http:// URL からスクリプト、スタイルシート、画像、フォント、fetch リクエストを取り込む状態を指します。特にスクリプト・iframe・XHR などのアクティブな混在コンテンツは危険で、経路上の攻撃者が応答を書き換えて安全なコンテキストにコードを注入し、機密性と完全性を破壊できます。現代のブラウザはアクティブな混在コンテンツを既定でブロックし、画像などの受動的なものは自動アップグレードまたはブロックします。対策は、すべてのアセットを HTTPS で配信し、絶対 https:// URL を用い、CSP の upgrade-insecure-requests と HSTS を併用してサイト全体で HTTPS を強制することです。
● 例
- 01
HTTPS の決済ページが http:// 経由でサードパーティ分析スクリプトを読み込み、カード情報を抜き取られる可能性がある。
- 02
ブラウザコンソール警告:"Mixed Content: ページは HTTPS で読み込まれましたが、安全でないスクリプトが要求されました"。
● よくある質問
混在コンテンツ とは何ですか?
HTTPS で配信されたページがスクリプト・スタイル・画像・XHR などのサブリソースを平文 HTTP で読み込み、ページ全体のセキュリティを低下させる状態。 サイバーセキュリティの アプリケーションセキュリティ カテゴリに属します。
混在コンテンツ とはどういう意味ですか?
HTTPS で配信されたページがスクリプト・スタイル・画像・XHR などのサブリソースを平文 HTTP で読み込み、ページ全体のセキュリティを低下させる状態。
混在コンテンツ はどのように機能しますか?
混在コンテンツとは、HTTPS で配信されたページが安全でない http:// URL からスクリプト、スタイルシート、画像、フォント、fetch リクエストを取り込む状態を指します。特にスクリプト・iframe・XHR などのアクティブな混在コンテンツは危険で、経路上の攻撃者が応答を書き換えて安全なコンテキストにコードを注入し、機密性と完全性を破壊できます。現代のブラウザはアクティブな混在コンテンツを既定でブロックし、画像などの受動的なものは自動アップグレードまたはブロックします。対策は、すべてのアセットを HTTPS で配信し、絶対 https:// URL を用い、CSP の upgrade-insecure-requests と HSTS を併用してサイト全体で HTTPS を強制することです。
混在コンテンツ からどのように防御しますか?
混在コンテンツ に対する防御は通常、上記の定義で述べたとおり、技術的統制と運用上の実践を組み合わせます。
● 関連用語
- appsec№ 214
コンテンツセキュリティポリシー (CSP)
スクリプト・スタイル・フレームなどの読み込み元をブラウザに指示する HTTP レスポンスヘッダで、XSS やデータ注入攻撃の影響を抑える。
- network-security№ 497
HTTP Strict Transport Security(HSTS)
HTTP 応答ヘッダーで配信される Web セキュリティポリシーで、宣言した期間中ブラウザに対してそのドメインへ HTTPS でのみアクセスするよう指示する。
- attacks№ 651
中間者攻撃 (MitM)
通信中の双方が直接やり取りしていると信じている間に、攻撃者が通信を密かに中継・改ざんする攻撃。
- network-security№ 1159
TLS(トランスポート層セキュリティ)
IETF が標準化した暗号プロトコルで、ネットワーク上の 2 つのアプリケーション間の通信に機密性・完全性・認証を提供する。
- appsec№ 1114
サブリソース完全性 (SRI)
サードパーティから読み込んだスクリプトやスタイルシートを実行する前に、ブラウザが暗号学的ハッシュを検証し、改ざんされたファイルの実行を防ぐ仕組み。
- appsec№ 960
同一オリジンポリシー (SOP)
あるオリジンから読み込まれた文書やスクリプトが、別のオリジンのリソースとどのように相互作用できるかを制限するブラウザのセキュリティ規則。