iframe の sandbox 属性
iframe の sandbox 属性 とは何ですか?
iframe の sandbox 属性iframe の内容に追加の制限を課す HTML 属性。明示的に許可しない限り、スクリプト・フォーム・遷移・同一オリジンアクセスをすべて禁止する。
<iframe> の sandbox 属性は、埋め込みコンテンツに最小権限ポリシーを強制します。既定でスクリプト、プラグイン、フォーム送信、トップレベル遷移、ポップアップ、ポインターロックを無効化し、フレームを一意の不透明オリジンとして扱うため、親ページと Cookie やストレージを共有できません。allow-scripts、allow-same-origin、allow-forms、allow-popups などのトークンで機能を個別に再有効化します。サードパーティのウィジェット、不信ユーザー入力、広告、リッチテキストプレビューを埋め込む際の中核的な緩和策です。allow-scripts と allow-same-origin を同時指定するとサンドボックスは実質的に無効化されます。
● 例
- 01
<iframe src="/preview" sandbox="allow-scripts"></iframe> による信頼できない HTML の安全なレンダリング。
- 02
sandbox="" を指定してサードパーティウィジェットの全機能を無効化する。
● よくある質問
iframe の sandbox 属性 とは何ですか?
iframe の内容に追加の制限を課す HTML 属性。明示的に許可しない限り、スクリプト・フォーム・遷移・同一オリジンアクセスをすべて禁止する。 サイバーセキュリティの アプリケーションセキュリティ カテゴリに属します。
iframe の sandbox 属性 とはどういう意味ですか?
iframe の内容に追加の制限を課す HTML 属性。明示的に許可しない限り、スクリプト・フォーム・遷移・同一オリジンアクセスをすべて禁止する。
iframe の sandbox 属性 はどのように機能しますか?
<iframe> の sandbox 属性は、埋め込みコンテンツに最小権限ポリシーを強制します。既定でスクリプト、プラグイン、フォーム送信、トップレベル遷移、ポップアップ、ポインターロックを無効化し、フレームを一意の不透明オリジンとして扱うため、親ページと Cookie やストレージを共有できません。allow-scripts、allow-same-origin、allow-forms、allow-popups などのトークンで機能を個別に再有効化します。サードパーティのウィジェット、不信ユーザー入力、広告、リッチテキストプレビューを埋め込む際の中核的な緩和策です。allow-scripts と allow-same-origin を同時指定するとサンドボックスは実質的に無効化されます。
iframe の sandbox 属性 からどのように防御しますか?
iframe の sandbox 属性 に対する防御は通常、上記の定義で述べたとおり、技術的統制と運用上の実践を組み合わせます。
● 関連用語
- appsec№ 960
同一オリジンポリシー (SOP)
あるオリジンから読み込まれた文書やスクリプトが、別のオリジンのリソースとどのように相互作用できるかを制限するブラウザのセキュリティ規則。
- appsec№ 214
コンテンツセキュリティポリシー (CSP)
スクリプト・スタイル・フレームなどの読み込み元をブラウザに指示する HTTP レスポンスヘッダで、XSS やデータ注入攻撃の影響を抑える。
- attacks№ 180
クリックジャッキング
攻撃者ページ内に対象ページを覆い被せたり隠したりして、ユーザーが見ているものとは別の要素をクリックさせる UI 詐欺攻撃。
- attacks№ 240
クロスサイトスクリプティング(XSS)
他のユーザーが閲覧するページに悪意あるスクリプトを注入し、当該サイトのオリジンとして被害者のブラウザで実行させる Web 脆弱性。
- appsec№ 1179
Trusted Types
DOM ベースの XSS を防ぐためのブラウザ API と CSP ディレクティブ。危険な DOM シンクには生文字列ではなく、ポリシーで検証された型付き値しか渡せなくする。
- appsec№ 496
HTTP セキュリティヘッダ
HTTPS 強制・フレーム制限・コンテンツポリシー・リファラ制御などの防御動作をブラウザに指示するレスポンスヘッダ群。
● 関連項目
- № 693モバイルアプリのサンドボックス
- № 129ブラウザサンドボックス