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ファイルで同じ名前のキーが二回以上使用される場合 | どの値が適用されるか予測不可能であり、権限や設定が変更される可能性があります。 |
| 実行型リンクスキーム | javascript, data, vbscript, file などをクリックするとコードの実行やファ イルへのアクセスを引き起こすプロトコル | 悪性コードの実行やファイルシステムへのアクセスにつながる可能性があります |
| 埋め込みファイル (Base64) | JSONファイル内にbase64でエンコードされて含まれているファイル | 悪性コードがファイル形式で含まれて実行される可能性があります。 |
| 危険キー | __proto__, constructor など JavaScript の内部動作を変更できる特別なキー | プロトタイプ汚染攻撃により権限や設定が変更される可能性があります |
| $ 演算子 | MongoDBなどのNoSQLデータベースで使用されるクエリ演算子 | 任意のコマンドを実行してデータの改ざん、窃取、権限の奪取につながる可能性があります。 |
- 設定変更後は[ポリシー変更履歴]メニューから記録の確認および復元が可能です。