[ext3] Ext3 journal 構造 メモ

[ext2] [ext3] Ext3 journal 構造 メモ

default Ext3 journaling mode
・ordered(メタデータのジャーナルのみ対象)
 inodeの情報変更時にログ保存
 ディスク同期前にジャーナルファイルに変更を記録
・ライフサイクル
 ファイルシステムのマウント、アンマウント時にリスタート
 ジャーナルファイルがフルになった場合はジャーナルファイルの最初のブロックから書き換え
・TSKのjlsツールでジャーナルの閲覧可能
 jls sda-img.dd
ファイルシステムの作成時
 Superblockのseq numberは「0」
ファイルシステムマウント時
 journal block 1のseq numberが増加
・ddイメージは「ro」(read only)でマウント
・消されたファイルのinodeをリスト表示
 ils -r sda-img.dd
・任意inodeのステータスを表示
 istat sda-img.dd 224002
Direct Blocksがファイルコンテンツの場所
・任意inode指定によるファイル復元
icat -r sda-img.dd 224002 > recovered
ext2,ext3のファイル削除時のinode比較
size と direct block pointerの項目が違う

              ext2                                ext3
           Inode:224002                      Inode:224002
    ------------------------------------    ------------------------------
   |Mac                                 |   |Mac                           |
   |user & group id                     |   |user & group id               |
   |size : 562378 byte                  |   |size : 0 byte                 |
   |direct block pointer:44444 to 44555 |   |direct block pointer:0        |
   |Single indirect block pointer       |   |Single indirect block pointer |
   |Double indirect block pointer       |   |Double indirect block pointer |
   |Triple indirect block pointer       |   |Triple indirect block pointer |
    ------------------------------------    ------------------------------

http://www.atmarkit.co.jp/flinux/rensai/fs04/fs04a.html
http://www.sans.org/reading_room/whitepapers/forensics/taking_advantage_of_ext3_journaling_file_system_in_a_forensic_investigation_2011?show=2011.php&cat=forensics