コンテンツ管理
コンテンツ管理 policy は、特定のファイルタイプに適用できる一連のコンテンツ管理スイッチです。
コンテンツ管理スイッチは、ファイル要素タイプと関連するアクションを識別するために使用されます。
コンテンツ管理の設定は、特定のコンテンツ管理スイッチに対して Glasswall が実行するアクションを指定します。各コンテンツ管理スイッチは、次の 3 つの設定のいずれかに設定できます。
-
Allow - Glasswall Embedded Engine は関連するファイル要素タイプを処理し、それらは再生成されたファイル内に保持されます。関連する構造は、Analysis レポートに Allowed Item として記録されます。
-
Disallow - 関連するファイル要素タイプのいずれかがファイル内で識別された場合、Glasswall Embedded Engine はそのファイルを非準拠として識別し、ファイルは再生成されません。関連する構造は、Analysis レポートに Issue Item として記録されます。
-
Sanitise - 関連するファイル要素タイプのいずれかがファイル内で識別された場合、Glasswall Embedded Engine はそれらを再生成されたドキュメントから削除します。関連する構造は、Analysis レポートに Sanitisation Item として記録されます。
コンテンツ管理レポート
以下のセクションでは、コンテンツスイッチの設定に応じて、コンテンツ管理スイッチの制御下にあるコンテンツが XML Analysis レポートでどのように表示されるかを示します。
Allow
これは、メタデータを含む Word (.doc) バイナリファイルの XML レポートからの抜粋です。コンテンツ管理スイッチ metadata は allow に設定されています。
<gw:Camera cameraName="wordConfig">
<gw:ContentSwitch>
<gw:ContentName>metadata</gw:ContentName>
<gw:ContentValue>allow</gw:ContentValue>
</gw:ContentSwitch>
...
<gw:AllowedItems itemCount="1">
<gw:AllowedItem>
<gw:TechnicalDescription>Metadata detected in #05SummaryInformation</gw:TechnicalDescription>
<gw:InstanceCount>1</gw:InstanceCount>
<gw:TotalSizeInBytes>4096</gw:TotalSizeInBytes>
</gw:AllowedItem>
</gw:AllowedItems>
不許可
これは、内部にメタデータを含む Word (.doc) バイナリファイルの XML レポートからの抜粋です。コンテンツ管理スイッチ metadata は disallow に設定されています。Protect Mode では、これによりファイルは非準拠としてマークされます。
<gw:Camera cameraName = "wordConfig">
<gw:ContentSwitch>
<gw:ContentName>metadata</gw:ContentName>
<gw:ContentValue>disallow</gw:ContentValue>
</gw:ContentSwitch>
...
<gw:IssueItem>
<gw:TechnicalDescription> Metadata detected in #05SummaryInformation</gw:TechnicalDescription>
<gw:IssueId>96</gw:IssueId>
<gw:InstanceCount>1</gw:InstanceCount>
<gw:RiskLevel>Medium</gw:RiskLevel>
</gw:IssueItem>
サニタイズ
これは、内部にメタデータを含む Word (.doc) バイナリファイルの XML レポートからの抜粋です。コンテンツ管理スイッチ metadata は sanitise に設定されています。Protect Mode では、これにより再生成されたファイルからメタデータが削除されます。
<gw:Camera cameraName = "wordConfig">
<gw:ContentSwitch>
<gw:ContentName>metadata</gw:ContentName>
<gw:ContentValue>sanitise</gw:ContentValue>
</gw:ContentSwitch>
...
<gw:SanitisationItem>
<gw:TechnicalDescription>Metadata detected in #05SummaryInformation</gw:TechnicalDescription>
<gw:InstanceCount>1</gw:InstanceCount>
<gw:TotalSizeInBytes>4096</gw:TotalSizeInBytes>
</gw:SanitisationItem>
コンテンツ管理 policy
利用可能なコンテンツ管理 policy は次のとおりです:
| コンテンツ管理スイッチ | 説明 |
|---|---|
| pdfConfig | PDF ファイルタイプ用のコンテンツ管理スイッチ |
| wordConfig | Word ファイルタイプ用のコンテンツ管理スイッチ |
| pptConfig | PowerPoint ファイルタイプ用のコンテンツ管理スイッチ |
| xlsConfig | Excel ファイルタイプ用のコンテンツ管理スイッチ |
| tiffConfig | TIFF ファイルタイプ用のコンテンツ管理スイッチ |
| svgConfig | SVG ファイルタイプ用のコンテンツ管理スイッチ |
| webpConfig | WebP ファイルタイプ用のコンテンツ管理スイッチ |
| jpegConfig | JPEG ファイルタイプ用のコンテンツ管理スイッチ |
| sysConfig | 異なる Engine 設定を制御するためのコンテンツ管理スイッチ |
注: xlsConfig、pptConfig、wordConfig のコンテンツ管理 policy は、Office Open XML と Office Binary の両方のファイルタイプを対象としています。
利用可能なコンテンツ管理スイッチと適用可能なファイルタイプを以下の表に示します。
| コンテンツ管理スイッチ | 説明 |
|---|---|
| acroform | 対話型フォーム(AcroForm)コンテンツを制御します |
| javascript | ファイルに埋め込まれたJavaScriptコードを制御します |
| external_hyperlinks | ファイル外の場所へのハイパーリンクを制御します |
| embedded_files | 埋め込みファイルのコンテンツを制御します |
| metadata | ファイルのメタデータを制御します |
| actions_all | Rendition、Sound、Movie、Hide、SetOCGState、GoTo3DView などのPDFアクションを制御します |
| internal_hyperlinks | ファイル内の場所へのハイパーリンクを制御します |
| value_outside_reasonable_limits | オブジェクトサイズなど、妥当な範囲を超える値といったGlasswallで定義された制限を制御します |
| digital_signatures | 署名済みファイル、またはファイル内の署名済みオブジェクトに含まれるデジタル署名コンテンツを制御します。注: digital_signatures コンテンツ管理スイッチでは 'allow' 設定は使用できません。 |
| macros | カスタムのユーザー生成関数を作成するために Visual Basic コードを使用する VBA マクロを制御します |
| review_comments | ファイル内のドキュメントレビューコメントを制御します |
| embedded_images | Glasswall がサポートする画像形式の埋め込み画像コンテンツを制御します |
| dynamic_data_exchange | ドキュメント内の DDE コマンドおよび DDE コンテンツを制御します |
| tracked_changes | ドキュメント内の変更履歴を制御します |
| hidden_data | ドキュメント内の隠しデータを制御します |
| in_text_comments | ドキュメント内のインテキストコメントを制御します |
| slide_notes | ドキュメント内のスライドノートを制御します |
| 接続 | OLAP 数式、QueryTables、PivotTables などの構成要素に対する外部データソースおよび情報への接続を制御します |
| スクリプト | 処理中の変数およびデータの作成、保存、操作を可能にする XML スクリプトを制御します |
| foreign_objects | SVG などの XML ベース形式に埋め込まれたオブジェクトを制御します |
| ハイパーリンク | 外部および内部のハイパーリンクを制御します |
| geotiff | TIFF ファイル内に埋め込まれたジオリファレンス情報を制御します |
| jfif | JPEG 画像ファイル内の JFIF マーカーセグメントを制御します |
| undefined_type | 未定義型の TIFF IFD セグメントを制御します |
| doc_variables | docx 内のドキュメント変数を制御します |
| web_video_extension | DOCX での Web Video Extensions の使用を制御します |
| headers_footers | DOCX のヘッダーおよびフッターのコンテンツを制御します |
現在各形式で利用可能なスイッチを、以下の表に示します。
| スイッチ | DOC | DOCX | PPT | PPTX | XLS | XLSX | GIF | JPEG | SVG | WEBP | TIFF | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| acroform | ✓ | |||||||||||
| actions_all | ✓ | |||||||||||
| 接続 | ✓ | |||||||||||
| digital_signatures | ✓ * | |||||||||||
| dynamic_data_exchange | ✓ | ✓ | ||||||||||
| embedded_files | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |||||
| embedded_images | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |||||
| external_hyperlinks | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |||||
| foreign_objects | ✓ | |||||||||||
| geotiff | ✓ | |||||||||||
| hidden_data | ✓ | ✓ | ✓ | |||||||||
| ハイパーリンク | ✓ | |||||||||||
| internal_hyperlinks | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |||||
| in_text_comments | ✓ | |||||||||||
| javascript | ✓ | |||||||||||
| jfif | ✓ † | |||||||||||
| macros | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ||||||
| metadata | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ † | ✓ | |||
| retain_exported_streams | ✓ * | |||||||||||
| review_comments | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ||||||
| slide_notes | ✓ * | |||||||||||
| スクリプト | ✓ | |||||||||||
| tracked_changes | ✓ | ✓ | ||||||||||
| value_outside_reasonable_limits | ✓ | |||||||||||
| undefined_type | ✓ † | |||||||||||
| doc_variables | ✓ | |||||||||||
| web_video_extension | ✓ | |||||||||||
| headers_footers | ✓ |
[ *]: Editor の "enablerebuild"(デフォルト)モードまたは Rebuild のみで利用可能なコンテンツ管理スイッチ [ †]: Export/Import 機能でのみ使用できる、Editor の "editoronly" モードで利用可能なコンテンツ管理スイッチ
特定のファイル形式に対してコンテンツ管理タイプで表されていないすべてのコンテンツタイプは、悪意があると識別された場合、Glasswall engine によって自動的に修復されます。
埋め込みファイル
「Embedded Files」コンテンツ管理タイプは、個別のコンテナファイル内に配置された非画像ファイル形式に適用されます。MS-Office 形式では、埋め込みファイルに対する policy は、対象ファイルが engine でサポートされアクセス可能かどうかに応じて異なる方法で適用されます。
Microsoft Office ファイルのコンテンツ管理 policy に従って埋め込みファイルに適用されるアクション:
| 許可 | サニタイズ | 不許可 | |
|---|---|---|---|
| サポート | 単独ファイルとして扱われます。ファイルが非準拠である場合、包含ファイルは拒否され、非準拠の理由が Issue Item として報告されます。 | 単独ファイルとして扱われます。ファイルが非準拠である場合、包含ファイルは拒否され、非準拠の理由が Issue Item として報告されます。 | 包含ファイルは拒否され、埋め込みファイルは Issue Item に記載されます。 |
| 未対応 | 変更を加えずに再生成され、Allowed Item として報告されます。 | 包含ファイルから、それへのすべての参照とともに削除され、Sanitisation Item として報告されます。 | 包含ファイルは拒否され、埋め込みファイルは Issue Item に記載されます。 |
以下の表は、各コンテナファイルタイプ内でどの埋め込みファイル形式がサポートされているか(✓)、またどれがサポートされていないか(✗)を示しています。
[†]: コンテナ形式で許可されていません
[‡]: Embedded Files スイッチでは削除されませんが、All Actions スイッチでは削除される場合があります。埋め込みファイルは処理されずに再生成されます。
⚠️ 注: ファイルの元のバージョンと sanitised バージョンの視覚的整合性を維持するため、未対応の埋め込みファイルの関連する視覚要素(サムネイルや
blip参照など)は、サニタイズ中に削除されません。これにより、後処理されたファイルは元のバージョンと視覚的に一貫した状態を保ちます。
埋め込み深度のサポート
Embedded Engine は、OfficeXML ファイル内でネストされた埋め込みコンテンツを最大9階層までサポートします。この深さを超えて埋め込みファイルが見つかった場合、コンテナファイルは拒否され、最大再帰制限を超過したことを示す Issue Item が発行されます。この制限はネストの深さにのみ適用され、同じ階層に複数の埋め込みファイルがあっても制限にはカウントされません。
埋め込み画像
画像ファイル形式については、"Embedded Images" content management switch を使用する必要があります。動作は switch の設定に応じて次のようになります。
content management policy に従って埋め込み画像に適用されるアクション:
| 許可 | サニタイズ | 不許可 | |
|---|---|---|---|
| サポート | 単独ファイルとして扱われます。ファイルが非準拠である場合、包含ファイルは拒否され、非準拠の理由が Issue Item として報告されます。 | 単独ファイルとして扱われます。ファイルが非準拠である場合、包含ファイルは拒否され、非準拠の理由が Issue Item として報告されます。 | 格納ファイルは拒否され、埋め込み画像は Issue Item に記述されます |
| 未対応* | 変更を加えずに再生成され、Allowed Item として報告されます | 格納ファイルから、その画像へのすべての参照とともに削除され、Sanitisation Item として報告されます | 格納ファイルは拒否され、埋め込み画像は Issue Item に記述されます |
[ * ] : engine が filetype を認識しない場合、未対応の埋め込み画像は代わりに "embedded_files" switch で処理されることがあります
The table below shows which image formats we attempt to regenerate (✓) when "Embedded Images" is set to sanitise versus those which are removed (✗):
[⸸]: コンテナファイルによって別の形式に変換されます
"Embedded Images" が "Disallow" に設定されている場合、検出された画像はいずれも、それを含むファイルの拒否につながることにご注意ください。これには、含まれる文書または埋め込み文書のサムネイルも含まれます。そのため、"Embedded File" のコンテンツ管理スイッチよりも優先される場合があります。
マクロ
MS Office ファイルの macros コンテンツスイッチは、Microsoft Visual Basic for Applications (VBA) と Excel 4.0 マクロの両方に適用されます。
Microsoft Visual Basic for Applications
VBA マクロは Visual Basic プログラミング言語で記述され、任意の MS Office ファイル形式に含めることができます。VBA マクロの処理は次のように設定できます。
- Sanitise - VBA マクロはファイルから削除されます。
- Disallow - VBA マクロは禁止されます。検出された場合、含まれているファイルは拒否されます。
- Allow - VBA マクロは、仕様に準拠している場合に限り、含まれているファイルの一部として処理および再生成されます。
Export モードの動作
Export モードでは、VBA Project Binaries は再帰制限の対象としてカウントされます。これは、最も深い階層の埋め込みファイルに VBA マクロが含まれている場合、最大ネスト深度が 8 に減少することを意味します。
Excel 4.0 マクロ
Excel 4.0 マクロは、XLSX および XLS ファイルに含まれるレガシー機能です。Excel 4.0 マクロを含む XLSX ファイルは ".xlsm" ファイル拡張子で保存され、この拡張子が変更されるとエラーが発生します。Excel 4.0 マクロの処理は次のように設定できます。
- Sanitise - XLS ファイルでは、ファイルはブロックされ、
Excel 4.0 Macro found: Not supportedが issue item として報告されます。XLSX/XLSM ファイルでは、マクロを含むシートがドキュメントから削除され、sanitisation item として報告されます。これによりファイルの形式が不正になる場合(つまり、表示可能なシート数が 0 になる場合)、ファイルは拒否され、適切な issue item が報告されます。 - Disallow - Excel 4.0 マクロは禁止されます。検出された場合、含まれているファイルは拒否されます。
- Allow - XLS ファイルでは、ファイルはブロックされ、
Excel 4.0 Macro found: Not supportedが issue item として報告されます。XLSX/XLSM ファイルでは、マクロを保持したままファイルが再生成されます。
メタデータ
OOXML では、メタデータとは、ドキュメントの内容、構造、プロパティを記述する情報であり、ドキュメントの主要な内容そのものではありません。OOXML ドキュメントのメタデータは、主に docProps ディレクトリ内にある XML ファイルに保存されます。
- core.xml: Dublin Core Metadata Element Set に基づくコア プロパティを含みます。
- app.xml: Microsoft Office アプリケーション固有の拡張プロパティを含みます。
- custom.xml: カスタムプロパティを含みます。
OOXML メタデータの処理は、次のように設定できます。
- Sanitise - メタデータを削除してファイルを再生成します(現在 sanitise されるすべてのプロパティについては以下を参照)。
- Disallow - メタデータは禁止されます。メタデータ(以下に記載のプロパティ)が見つかった場合、対象ファイルは拒否されます。
- Allow - ファイルは処理され、メタデータは再生成されます。
'metadata' コンテンツ管理スイッチの一部として、現在、以下について sanitise を実行します。
- core.xml: title、subject、creator、keywords、description、lastModifiedBy、revision、lastPrinted、created、modified、category、contentStatus、language、version。
- app.xml: manager、company、hyperlinkBase
- custom.xml: OOXML ドキュメントに追加された任意のカスタムプロパティ。
OfficeXML (DOCX, XLSX, PPTX) 専用スイッチ
非表示データ
Office ファイル形式では、Excel シート全体、PowerPoint スライド、Word ドキュメント内のテキスト行など、テキストやデータを正当に「非表示」にする複数の方法が提供されています。Glasswall エンジンは、コンテンツ管理スイッチの設定に応じて、非表示データを次のように処理します。
- Sanitise - すべての非表示データを「表示」した状態でファイルを再生成するため、ユーザーは完全に閲覧できます。
- Disallow - 非表示データは禁止されます。非表示データが見つかった場合、対象ファイルは拒否されます。
- Allow - 非表示データは再生成され、非表示のまま維持されます。
注: このコンテンツ管理設定において、「Hidden Data」は Office 2007 ファイル内でデータを難読化または埋没させるさまざまな方法を指すものではありません。これは、Office 2007 GUI で容易に利用できるデータ非表示の方法に特化したものです。難読化または隠蔽されたデータは、使用された方法に対応する policy 設定によって管理されます。たとえば、metadata は、ドキュメントのメタデータ内に含まれるフリーテキストフィールドに隠されたデータを削除します。
変更履歴の追跡
tracked_changes content management switch は、DOCX および XLSX ファイルの「Track Changes」機能によって追加されたコンテンツ(「revisions」とも呼ばれます)を指します。これらには、文書の以前のバージョンに関連する履歴データが含まれる場合があり、投稿者名や、その後削除または難読化されたコンテンツの記録などが含まれます。tracked changes の処理は、次のように設定できます。
- Sanitise - すべての履歴データが削除され、「Track Changes」が無効になります。再生成された文書は、元の文書の最終状態と同等になります。
- Disallow - tracked changes は禁止されます。以前の revisions または tracked changes がファイル内に残っていることを示す証拠がある場合、ファイルは拒否されます。
- Allow - ファイルは、すべての履歴変更、revisions、および tracked changes を保持したまま再生成されます。
スライド ノート
slide_notes content management switch は、PPTX ファイルの「Notes」機能によって追加されたコンテンツ(「slide notes」および/または「speaker notes」とも呼ばれます)を指します。Glasswall engine は、content management switch 設定の構成に応じて、これらの slide notes を次の方法で処理します。
- Sanitise - ファイルは、すべての slide notes を削除した状態で再生成されます。
- Disallow - slide notes は禁止されます。slide notes が見つかった場合、対象ファイルは拒否されます。
- Allow - すべての slide notes は再生成され、ファイル内に保持されます。
本文内コメント
in_text_comments switch は、DOCX ファイルの「In-Text Comments」機能によって追加されたコンテンツを指します。この switch の処理は、次のように設定できます。
- Sanitise - 本文内コメントは、
core.xmlにある対応する文書メタデータとともに削除されます。 - Disallow - 本文内コメントは禁止されます。本文内コメントを含む DOCX は、ファイルの再生成をブロックします。
- Allow - ファイルは、DOCX ファイル内に本文内コメントを含んだまま再生成されます。
注: in_text_comments sanitise が allow に設定され、metadata switch が sanitise に設定されている場合、再生成されたファイルには本文内コメントは存在しますがデータは含まれません。これは、metadata switch が core.xml ファイルから対応する説明を sanitise するためです。
ドキュメント変数
doc_variables スイッチは、DOCX ファイルの「Document Variables」機能によって追加されたコンテンツを指します。スイッチの処理は次のように設定できます:
- Sanitise - すべてのドキュメント変数を削除してファイルを再生成します。
- Disallow - ドキュメント変数は禁止されます。ドキュメント変数を含む DOCX は、ファイルの再生成をブロックします。
- Allow - DOCX ファイル内のドキュメント変数を含めたままファイルを再生成します。
Web Video Extension
web_video_extension スイッチは、DOCX ファイルの「Web Videos Extension」機能を使用して追加されたコンテンツを指します。スイッチの処理は次のように設定できます:
- Sanitise - すべての Web Video Extension を削除してファイルを再生成します。
- Disallow - Web Video Extension の使用は禁止されます。Web Video Extension を含む DOCX は、ファイルの再生成をブロックします。
- Allow - DOCX ファイルに含まれる Web Video Extension を含めたままファイルを再生成します。
ヘッダーとフッター
headers_footers スイッチは、DOCX のページのヘッダーまたはフッター領域に追加されたコンテンツを指します。このコンテンツは、先頭ページ、偶数ページ、奇数ページで異なる場合もあれば、文書全体で同一の場合もあります。スイッチの処理は次のように設定できます:
- Sanitise - すべてのヘッダーおよびフッターのコンテンツを削除してファイルを再生成します。
- Disallow - ヘッダーおよびフッターの使用は禁止されます。ヘッダーまたはフッターのいずれかを含む DOCX は、ファイルの再生成をブロックします。
- Allow - DOCX ファイルに含まれるヘッダーおよびフッターを含めたままファイルを再生成します。
PDF 専用スイッチ
電子署名
概要 PDFファイルには電子署名とAcroFormsが含まれる場合があり、特定の種類のAcroFormsには電子署名を含めることができます。電子署名は文書の真正性と完全性を検証するために使用される一方で、AcroFormsはインタラクティブなフォームフィールドの構造的基盤を提供します。PDF内に電子署名が存在する場合、AcroFormには署名自体の視覚的表現が含まれます。
電子署名を含むPDFファイルを処理する際、Glasswall CDR engineは、アクティブなコンテンツや潜在的にリスクのあるコンテンツを除去しつつ、視覚的な完全性を維持するよう設計されたサニタイズ処理を適用します。
CDR Engineによる電子署名の処理方法 文書の安全性と一貫性の両方を確保するために、Glasswall CDR engineはサニタイズ中に次の処理を実行します。
- 埋め込み証明書、検証ロジック、またはスクリプトを含む暗号署名データを削除します。
- 実行経路や潜在的なエクスプロイトを排除するため、署名関連のメタデータとインタラクティブな動作を削除します。
- 署名画像、署名者名、日付/時刻テキストなど、署名ウィジェットの視覚的な外観を保持します。これは、それをPDFの静的コンテンツレイヤーにフラット化することで実現されます。
| AcroForm | 電子署名 | 想定されるAcroFormの動作 | 想定される電子署名の動作 | 電子署名を含むAcroFormセクションの動作 | ファイルは再生成されますか? |
|---|---|---|---|---|---|
| 許可 | 許可 | サニタイズなしで再生成 | サニタイズなしで再生成 | セクション全体(インタラクティブフォームおよび電子署名を含む)はそのまま保持されます | はい |
| サニタイズ | 許可 | サニタイズ済み(削除またはフラット化) | サニタイズなしで再生成 | 視覚的なデジタル署名は保持されます。署名が存在するAcroFormフィールドはサニタイズされるか、削除されます | はい |
| 許可 | サニタイズ | サニタイズなしで再生成 | サニタイズ済み(暗号要素を削除) | デジタル署名の視覚部分はAcroFormの一部として保持されます。署名は機能しなくなります | はい |
| サニタイズ | サニタイズ | サニタイズ済み | サニタイズ済み | AcroFormフィールドを含むデジタル署名セクション全体が削除されるか、視覚的にフラット化されます | はい |
| 不許可 | * | 該当なし | 該当なし | 許可されていないAcroFormの存在により、ファイルは再生成されません | いいえ |
| * | 不許可 | 該当なし | 該当なし | 許可されていないDigital Signatureの存在により、ファイルは再生成されません | いいえ |
監査可能性と証拠保全の連鎖
セキュアな環境での追跡可能性と説明責任を支援するために、Glasswall CDR engine は入力ファイルと出力ファイルの両方の暗号学的ハッシュを記録します。これにより、システムインテグレーターは次のことが可能になります。
- ハッシュ比較によってファイルの来歴を検証すること。
- デジタル署名がもはや有効でない場合でも、証拠保全の連鎖が維持されており、それを証明できるという保証を提供すること。