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

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実行)。

FILETIME Extractor (fte)

Windows環境でファイルのタイムスタンプを正確に取得するツール(コマンドライン)を作ってみました。

(最終更新: 2010/01/03)
ワイルドカードの扱いに不備があったので修正しました

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

[ライセンス]
GPL (v3)

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

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

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

Defrag (Windows)


SANS Forensics blogに取り上げられていた内容で、ユーザが(Windows XP/Vista標準の)デフラグを実行したかを調査する方法について、記事の内容にあわせて実際の挙動をWindows XPで確認しながらまとめてみました。

De-mystifying Defrag: Identifying When Defrag Has Been Used for Anti-Forensics (Part 1 - Windows XP)
https://blogs.sans.org/computer-forensics/2009/08/05/de-mystifying-defra...

De-mystifying Defrag : Identifying When the Windows Defragmenter Has Been Used for Anti-Forensics (Part 2 – Vista)
https://blogs.sans.org/computer-forensics/2009/08/17/de-mystifying-defra...

Vistaについては気軽に試せる環境がないので、上記のPart2の情報に基づき最後の方でXPとの差分を書いています。


まずXPの場合ですが、およそ3日毎にタスクスケジューラ経由でコマンドラインベースのデフラグが実行されていると以下に書かれています。

Windows XP: Kernel Improvements Create a More Robust, Powerful, and Scalable OS
http://msdn.microsoft.com/en-us/magazine/cc302206.aspx

つまり大抵の場合デフラグが実行された痕跡は残っていることになるので、システムが自動的に実行したか、ユーザが意図的に実行したかを確認する必要があります。ユーザがデフラグを実行する場合の方法(経路)を思いつく範囲で以下に列挙しました。

RAMDisk

Iharaさんからさりげないフリ(http://d.hatena.ne.jp/hideakii/20090614#20090614fn1)があったので、
この機会にメモリ領域の仮想ハードディスク化(RAMDisk)について調べつつ、物理メモリの保全などとの関係を
考えてみました。


RAMDisk自体の解説はwikipediaがわかりやすいです。

RAMディスク
http://ja.wikipedia.org/wiki/RAMディスク

"RAMディスク(ラムディスク)は、Random Access Memory (RAM) を利用した外部記憶装置。あるいは
主記憶の一部を外部記憶装置(ディスクドライブ)のように利用する仕組み。"

コンテンツ配信