主にデジタルフォレンジック(Digital Forensics)について扱っています。

BIOS

ブートオーダの変更や、ハードウェアクロック、ハードウェア情報を参照するためには、
PCの電源投入後にBIOSの設定画面に移行する必要があります。フォレンジック分野では
主に対象を保全する段階でそのような場面に出くわしますが、誤って通常のブートプロセスに
移行するということは、決して望ましくないことです。
# といいつつ自分もミスすることがあり反省しきり...

FILETIME Extractor (fte)

[バージョン]
FILETIME Extractor (fte) v1.3

[ライセンス]
GPL (v3)

[動作環境]
Windows 2000/XP/2003/Vista/2008/7
(*32/64bit版両方で動作します)

[基本的な使い方]
> fte.exe ファイル名
指定ファイルのタイムスタンプを標準出力に表示します。

[オプション]

  • -e: CSVに似た(パイプ"|"を区切り文字とした)形式で出力します。
  • -i: 日付/時刻をISO 8601形式で出力します。デフォルトは"年/月/日 時:分:秒.秒未満9桁"の形式で出力します。
  • -l: このオプションを指定した場合、引数に指定されたファイルをリストとして扱い、リストに記載されたファイルのタイムスタンプを出力します。リストは1行1ファイル(パス)で書かれていることを想定しています。
  • -r: 指定ディレクトリ/ボリューム配下を再帰処理します。ボリューム指定時にエラーが出る場合は"C:\*"のようにアスタリスクをつけて実行してください。
  • -u: UTC(協定世界時)で表示します。デフォルトはPCに設定されているタイムゾーンに準じて時間表示します。

[特徴]

  • WinAPIを使って普通に情報を取り出すシンプルなプログラムです。
  • NTFSで各ファイルが保持する4つのタイムスタンプをすべて取得します。
  • 秒未満の値も算出して表示します。
  • 対象がFAT, exFAT, SMBなどを使ったネットワークドライブでも可能な範囲、精度で取得します。

WinRAR & mactime

WinRARのライセンスを購入して試す機会ができたので、RAR形式を使った場合のmactime周りの
挙動を確認してみました。

The Sleuth Kit 3.1.0

sleuthkit 3.1.0が2010/01/13付でリリースされていました。

主な変更点を確認したところ、HFS+が(正式に?)サポートされ、コマンド全般で-bオプションが採用されました。
この-bオプションでセクタサイズを指定できるとのことですが、どのようなケースで使うかは不明です。これまで
mmlsやistatで使われていた-bオプションは-Bに変更されています。

また、disk_sresetとdisk_statは使い物にならなくなった&hdparmで代用できるとのことでsleuthkitから除外されました。

その他詳細な変更点は以下で確認できます。

type (fte)

fteを実行すると、対象ファイルのパス情報(path)とタイムスタンプ(atime, mtime, ctime, crtime)の他にタイプ(type)
という項目を出力します。記録されている4つのタイムスタンプ値から、ファイルがどこで、どのようにして生成されたか、
最も妥当と判断した情報をtypeとして出力しています。

fteが扱う分類について以下に記載します。

Comparison of timestamp's precision with export function

せっかく作ったfteがあるので、フォレンジック系の調査用ツールが搭載しているタイムスタンプの
処理周りを調べました。今回はエクスポート機能で出力したファイルのタイムスタンプがオリジナルを
どこまで維持しているか検証した結果です。

今回対象にしたファイルはCFReDS Hacking Caseのboot.iniファイルで、タイムスタンプは
以下の通りです(ImDiskでddイメージをFドライブにマウントしてfte実行)。

Ext4 inode

Ext4の動向ですが、Fedora 11, Ubuntu 9.10ではインストール時のファイルシステムとしてデフォルト設定
されるようになり、徐々に普及してきています。今回主にiノード周りの変更を調べてみましたが、タイムスタ
ンプの扱いとして大きく2点拡張されていました。

  • ナノ秒までの情報を格納
  • 作成日時(crtime)の追加

inode構造体の宣言部分のソースコード(fs/ext4.h)を以下に示します。

2009/11/03

JPCERT/CCからMACtimeに関する文書が公開されています。

MACtimeからわかるファイル操作 (Version 1)
http://www.jpcert.or.jp/ed/2009/ed090002_20091102.pdf

Comparison of handling less than one second

Iharaさんのサイトで取り上げられていたタイムライン(http://d.hatena.ne.jp/hideakii/20091006)の話に
関連して、フォレンジック解析系のツールが秒未満の情報を適切に取り扱っているか確認するために、NTFSの
ファイルタイムスタンプを使って検証しました。

# 実は以前気になって調べたのですが、きっかけがあるまで暖めていたネタだったりします。

検証過程とあわせて結果を以下に記載します。


Announce (2009/09/29)

Ji2 フォレンジック調査チーム 調査(eDiscovery業務)ツール公開
http://www.ji2.co.jp/forensics/

関係者ということで宣伝を兼ねた紹介です。

EnScriptはいくつか公開されていますが、どれも使い方は簡単なのでEnCaseを持っている方はぜひ活用を。
特にMemoryForensicToolsは日本語検索が可能なのでかなり使えると思います。以下のサイトで使い方や
スクリーンショットなど参照できます。

Offline Process Stack/Heap Search for Non-English-speaking People
http://cci.cocolog-nifty.com/blog/2009/09/offline-process.html

RegDog(仮)はRegRipperの移植版とありますが、Unicode対応している点で日本語環境のユーザは非常に
重宝すると思います。逆に言えばRegRipperはUnicodeを含むデータを飛ばして処理しなかったりするので
見落としが発生する可能性があり、十分気をつける必要があります。
# 自分は以前RegRipperの出力結果を鵜呑みにして見落としてしまい、苦い経験をした覚えがあります..

RegDog(仮)のChangeLogなど開発に関する話は以下からどうぞ。

”隣の人”の開発記録帳
http://d.hatena.ne.jp/mark-of-distinction/

実はRegDog(仮)はまだ全然使っていないので、これから試しつつ気づいたことなどリクエスト
しようかと目論んでいます。

コンテンツ配信