そろそろ普及しそうなext4について少し調べてみました。
[概要]
Kernel 2.6.28から正式採用され、ファイルシステムの最大サイズは1E、ファイルの
最大サイズは16T、タイムスタンプの精度はナノ秒で取りうる範囲は1901-2514年です。
Ext3はExt2にジャーナリング機能が付加されたくらいでしたが、Ext4ではExt3との
互換性があるとしながらもかなり改良されています。特にアロケーション周りがExt3とは
かなり異なるようです。連続するブロックを配列として扱うエクステントと呼ばれる
概念を導入し、サイズの大きいファイルを効率的に扱うことが可能となっているとの
ことです。
このエクステントを使用せずにExt4を作成、運用した場合はExt3としても扱うこと
が可能です。ただし、デフォルトではエクステントを使っているので、実際のところ
後方互換性はあまりないように思います。
[mkfsコマンドでのext4作成例]
# mkfs.ext4 /dev/sdb1 mke2fs 1.41.4 (27-Jan-2009) Filesystem label= OS type: Linux Block size=4096 (log=2) Fragment size=4096 (log=2) 65280 inodes, 261048 blocks 13052 blocks (5.00%) reserved for the super user First data block=0 Maximum filesystem blocks=268435456 8 block groups 32768 blocks per group, 32768 fragments per group 8160 inodes per group Superblock backups stored on blocks: 32768, 98304, 163840, 229376 Writing inode tables: done Creating journal (4096 blocks): done Writing superblocks and filesystem accounting information: done This filesystem will be automatically checked every 35 mounts or 180 days, whichever comes first. Use tune2fs -c or -i to override.
[fsstatコマンドの参照結果]
# fsstat /dev/sda1
FILE SYSTEM INFORMATION
--------------------------------------------
File System Type: Ext3
Volume Name:
Volume ID: 55f194950a16ddbea442945b3359882c
Last Written at: Sat Jan 1 12:00:00 2005
Last Checked at: Sat Jan 1 12:00:00 2005
Last Mounted at: emptyUnmounted properly
Last mounted on:
Source OS: Linux
Dynamic Structure
Compat Features: Journal, Ext Attributes, Resize Inode, Dir Index
InCompat Features: Filetype,
Read Only Compat Features: Sparse Super, Has Large Files,
Journal ID: 00
Journal Inode: 8
METADATA INFORMATION
--------------------------------------------
Inode Range: 1 - 65280
Root Directory: 2
Free Inodes: 65269
CONTENT INFORMATION
--------------------------------------------
Block Range: 0 - 261047
Block Size: 4096
Free Blocks: 252525
BLOCK GROUP INFORMATION
--------------------------------------------
Number of Block Groups: 8
Inodes per group: 8160
Blocks per group: 32768
Group: 0:
Inode Range: 1 - 8160
Block Range: 0 - 32767
Layout:
Super Block: 0 - 0
Group Descriptor Table: 1 - 1
Data bitmap: 65 - 65
Inode bitmap: 81 - 81
Inode Table: 97 - 606
Data Blocks: 607 - 32767
Free Inodes: 8149 (99%)
Free Blocks: 28601 (87%)
Total Directories: 2
Group: 1:
Inode Range: 8161 - 16320
Block Range: 32768 - 65535
Layout:
Super Block: 32768 - 32768
Group Descriptor Table: 32769 - 32769
Data bitmap: 66 - 66
Inode bitmap: 82 - 82
Inode Table: 607 - 1116
Data Blocks: 1117 - 65535
Free Inodes: 8160 (100%)
Free Blocks: 32703 (99%)
Total Directories: 0
...(省略)
Group: 7:
Inode Range: 57121 - 65280
Block Range: 229376 - 261047
Layout:
Super Block: 229376 - 229376
Group Descriptor Table: 229377 - 229377
Data bitmap: 72 - 72
Inode bitmap: 88 - 88
Inode Table: 3667 - 4176
Data Blocks: 4177 - 261047
Free Inodes: 8160 (100%)
Free Blocks: 31607 (99%)
Total Directories: 0
[autopsy上の参照]
実際にsleuthkit+autopsyでext4のイメージを扱ってみました。上がext3, 下が
ext4のイメージです。
図ではともにLinEn_61.zipファイルのコンテンツを表示していますが、ext4では0x00と
なり正しく表示できていない(パースできていない)ことがわかります。これはおそらく
エクステントによる拡張が原因と思われます。また、確証は得られていませんが削除処理は
ext3と同様にメタデータコンテンツのリンク情報は失われてしまうようです。
[商用フォレンジック系ソフトの対応状況(2009/05)]
現状のフォレンジックソフトの対応状況ですが、X-Waysはサポートしているとの
明記があります。
X-Ways Forensics 13.9
http://www.x-ways.net/cgi-bin/discus/show.cgi?tpc=1&post=10256
EnCase, FTKなどは特に書かれていないのでまだサポートされていないと
思われます。ということで現状はExt4のフォレンジック調査は有償ソフトも
含めて厳しいということになります。
[参考情報]
ext4の徹底調査
https://www.ibm.com/developerworks/jp/linux/library/l-anatomy-ext4/
Ext4
http://kernelnewbies.org/Ext4
ext4 (wikipedia)
http://ja.wikipedia.org/wiki/Ext4

コメント
Crabfishday
I agree with the post above and I will grab more information from google google