@port139 Blog

基本的にはデジタル・フォレンジックの技術について取り扱っていますが、記載内容には高確率で誤りが含まれる可能性があります。

Autopsy 4.4.0 における文書ファイル・メタデータの扱い(DOCX)

Autopsy はキーワード検索用のテキストファイルの抽出に、Apache Tika を利用しているが、ファイル形式により抽出されるメタ情報が異なる。

Office 形式ファイルのメタデータに関する情報は下記 URL に取得項目について記載がある。

 Interface MSOffice

https://tika.apache.org/1.16/api/org/apache/tika/metadata/MSOffice.html

サンプルの DOCX 形式ファイル(OOXML)を 、Autopsy の「キーワード検索」モジュールで処理後、「インデックス化されたテキスト」でメタデータを確認。

上記 URL には記載がない Last-Modified: の項目が取得されているが、これは...

------------------------------METADATA------------------------------

Application-Name: Microsoft Office Word
Application-Version: 16.0000
Author: ユーザー名
Character Count: 6669
Character-Count-With-Spaces: 7824
Content-Type: application/vnd.openxmlformats-officedocument.wordprocessingml.document
Creation-Date: 2017-08-10T11:01:00Z
Last-Author: ユーザー名
Last-Modified: 2017-08-10T11:02:00Z
Last-Save-Date: 2017-08-10T11:02:00Z
Line-Count: 55
Page-Count: 9
Paragraph-Count: 15
Revision-Number: 1
Template: Normal.dotm
Total-Time: 1
Word-Count: 1170
X-Parsed-By: org.apache.tika.parser.DefaultParser
cp:revision: 1
creator: ユーザー名
date: 2017-08-10T11:02:00Z
dc:creator: ユーザー名
dc:publisher:
dcterms:created: 2017-08-10T11:01:00Z
dcterms:modified: 2017-08-10T11:02:00Z
extended-properties:AppVersion: 16.0000
extended-properties:Application: Microsoft Office Word
extended-properties:Company:
extended-properties:Template: Normal.dotm
extended-properties:TotalTime: 1
meta:author: ユーザー名
meta:character-count: 6669
meta:character-count-with-spaces: 7824
meta:creation-date: 2017-08-10T11:01:00Z
meta:last-author: ユーザー名
meta:line-count: 55
meta:page-count: 9
meta:paragraph-count: 15
meta:save-date: 2017-08-10T11:02:00Z
meta:word-count: 1170
modified: 2017-08-10T11:02:00Z
publisher:
xmpTPg:NPages: 9

 Tika により抽出されたメタデータは、インデクスされているのでキーワード検索から検索する事ができる。

上記のサンプルであれば「ユーザー名」を検索すればメタ情報に含まれる文字列がヒットする。(漢字・平仮名は1文字単位でよいが、ユーザーのようにカタカナの場合にはどこで分割されたかを考慮する必要がある)

日時情報を検索文字列として利用する場合は、例えば 2017-08-10T11:02:00Z であれば完全一致でヒットする。

日付だけであれば、正規表現で 2017-08-10* を検索すればヒットするが、2017-08-10 では完全一致、サブストリング一致ではヒットしない。

メタの項目として、例えば Author: や Last-Author: を指定するのであれば、Author や Last-Author で完全一致する。(または Author でサブストリング一致で検索する)

カタカナの単語境界

http://unicode.org/reports/tr29/#Word_Boundary_Rules

4.1.1 Word Boundary Rules には下記ルールが記載されている。

Do not break between Katakana.
WB13 Katakana × Katakana

カタカナのステム処理

Autopsy のスキーマは JapaneseKatakanaStemFilter を設定していない為、「サーバ」と「サーバー」では検索パターンを分けて考慮する必要がある。

長音を付けて「サーバー」で検索した場合は、「サーバ」には一致しない。

「サーバ」でサブストリング一致を利用した場合はどちらにもヒットする。