JSONポリシー設定
[ポリシー] > [基本無害化ポリシー] > [JSON] 設定
JSONタブはJSONファイル内に含まれる可能性のあるセキュリティ脅威要素をブロックするポリシーを設定します。
重複キー、実行型リンク、埋め込みファイル、危険キー、演算子などを制御することで、JSONベースの攻撃を防御できます。
⚠️ 基本無害化ポリシー設定権限は [管理者タイプ - システム管理者] にあり、
管理者権限設定は [管理者設定] > [アカウントおよび権限管理] で可能です。
設定項目の詳細説明
| ポリシー名 | 説明 |
|---|---|
| JSON重複キーブロック設定 | JSON内に重複したキーが含まれる場合のブロック可否を設定します。 キーが重複すると、どの値が適用されるか予測できず、権限や設定が変更される可能性があります。 --- この脆弱性を悪用して管理者権限を取得した事例(CVE-2017-12635)があります。 |
| 指定した実行型リンクブロック設定 | JSON内に含まれる場合にブロックする実行型リンクスキームを指定します。 javascript、data、vbscript、fileなどの実行型スキームは、クリック時にコード実行やファイルアクセスを引き起こす可能性があります。 入力例)javascript;data;vbscript;file; |
| 指定した埋め込みファイル形式(MIME)ブロック設定 | JSON内に含まれる場合にブロックするファイル形式(MIME)を指定します。 JSONファイル内にはbase64でファイルが含まれる可能性があり、悪意のあるコード実行のリスクがあります。 --- EXEやDLLのような実行ファイルは基本的にブロックすることを推奨します。空の値に設定すると、すべてのファイル形式をブロックします。 入力例)application/x-dosexec;application/zip; |
| 指定した危険キーブロック設定 | JSON内に含まれる場合にブロックする危険キーを指定します。 __proto__、constructorなどは内部動作を変更して権限・設定が変わる可能性のある危険キーです。(関連事例:CVE-2018-16487) 入力例)__proto__;constructor; |
| 指定した演算子ブロック設定 | JSON内に含まれる場合にブロックする演算子を指定します。 MongoDBなどのデータベースで使用する$演算子は任意のコマンドを実行できるため、データ改ざん・奪取・権限奪取につながる可能性があります。 入力例)$where;$eval; |
入力規則および注意事項
- 指定した実行型リンクブロック設定はセミコロン(;)で区切って複数のスキームを入力できます。
- 指定した埋め込みファイル形式(MIME)ブロック設定はMIMEタイプをセミコロン(;)で区切って入力し、空の値に設定するとすべてのファイル形式をブロックします。
- 指定した危険キーブロック設定はセミコロン(;)で区切って複数のキーを入力できます。
- 指定した演算子ブロック設定はセミコロン(;)で区切って複数の演算子を入力できます。
参考事項
| 用語 | 定義 | セキュリティ脅威 |
|---|---|---|
| 重複キー | JSONファイルで同じ名前のキーが2回以上使用される場合 | どの値が適用されるか予測不可能で、権限や設定が変更される可能性がある |
| 実行型リンクスキーム | javascript、data、vbscript、fileなど、クリック時にコード実行やファイルアクセ スを引き起こすプロトコル | 悪意のあるコード実行やファイルシステムアクセスにつながる可能性がある |
| 埋め込みファイル(Base64) | JSONファイル内にbase64でエンコードされて含まれるファイル | 悪意のあるコードがファイル形式で含まれ、実行される可能性がある |
| 危険キー | __proto__、constructorなど、JavaScript内部動作を変更できる特殊キー | プロトタイプ汚染攻撃により権限や設定が変更される可能性がある |
| $演算子 | MongoDBなどNoSQLデータベースで使用するクエリ演算子 | 任意のコマンドを実行してデータ改ざん、奪取、権限奪取につながる可能性がある |
- 設定変更後は [ポリシー変更履歴] メニューで記録の確認および復元が可能です。