ddによる複製 2004/05/24 伊原 秀明(Port139)
ファイルシステムの複製 ddコマンドを利用し、ファイルシステム(HDD,パーティション)の内容を複製する HDD ファイルシステム(複製) Disk Image Disk Image Disk Image dd Image File © Hideaki Ihara(Port139).
dd の選択 dd コマンド UNIX環境,Cygwin環境は標準で含まれる Windowsには含まれない dcfl-dd 米国防総省(DoD)の拡張版ddコマンド Forensic Acquisition Utilities Windows用に移植された dd,nc,md5sum 利用時には安全なバイナリを準備 © Hideaki Ihara(Port139).
dcfl-dd Penguin Sleuth Bootable CD、F.I.R.E.に標準で含まれる http://prdownloads.sourceforge.net/biatchux/dcfldd-1.0.tar.gz 進捗状況、MD5値を確認できる コマンドラインはddと基本的に同じ dcfldd if=/dev/sda bs=512 conv=noerror © Hideaki Ihara(Port139).
Forensic Acquisition Utilities Windows 2000/XP対応 http://users.erols.com/gmgarner/forensics/ dd, nc, md5sum, volume_dump, wipe など証拠保全用のコマンド一式が含まれる 稼働中(Live)システムのイメージ作成用 dd, nc をマルチスレッド対応に改良 NTFSスパース ファイル(sparse file)に対応 メモリダンプ機能を持つ Windows上で使うならこちらを利用! © Hideaki Ihara(Port139).
dd 引数(1) if= 入力ファイル名を指定 例)if=/dev/hda1 , if=\\.\c: of= 出力ファイル名を指定, 省略時は標準出力へ bs= ブロックサイズ指定,デフォルトは1ブロック 512byte bs=512 を指定すること Forensic Acquisition Utilitiesに含まれるdd.exeはデフォルト 4,096byte © Hideaki Ihara(Port139).
dd 引数(2) conv= コンバートオプションを指定 conv=noerror と指定することでエラーが発生しても処理を継続する エラー部分はゼロ(0)で埋められる ※ブロックサイズを大きく指定すると、失われるデータが大量に発生する! © Hideaki Ihara(Port139).
dd コマンドライン例 Forensic Acquisition Utilitiesを利用する場合 Cドライブの内容を c.dd として保存 dd if=\\.\c: of=c.dd conv=noerror bs=512 ディスク1の内容を hdd01.dd として保存 dd.exe if=\\.\PhysicalDrive0 of=hdd01.dd conv=noerror bs=512 © Hideaki Ihara(Port139).
20GのHDDを複製すると,20Gのファイルができる! 保存先の容量 イメージファイルの保存先の空き容量に注意 コピー元サイズ以上の空き領域が必要となる サイズ20G サイズ20G HDD Image File dd 20GのHDDを複製すると,20Gのファイルができる! © Hideaki Ihara(Port139).
ネットワーク経由の複製 nc(netcat)を使いリモートホストへ転送 異なるOS間での転送が容易に可能 unix→unix, unix→win, win→unix, win→win HDD nc nc Image File dd 出力 ネットワーク経由で転送 © Hideaki Ihara(Port139).
保存先領域の消毒 保存先は事前に“消毒”しておく 完全削除ツール等を利用して「0」で埋める 例)wipe.exe を利用する ddでも可能 dd if=/dev/zero of=/dev/hda © Hideaki Ihara(Port139).
複製の確認(1) ddで作成したイメージ ファイルは,ハッシュ値で複製元と同一であるかを確認できる 複製元と複製したファイルが同じハッシュ値であれば正しく複製されている 稼働中(Live)システムを複製した場合には、(大抵)一致しない HDD ハッシュ値 同じ? Image File © Hideaki Ihara(Port139).
複製の確認(2) イメージファイルが読み取り可能か確認を! 失敗例) The Sleuth Kit にイメージを追加できない loop デバイスでマウントを試行してみる fsstat, mmlsコマンドでファイルシステムの内容が確認できるかテストする © Hideaki Ihara(Port139).
The Sleuth Kit と dd The Sleuth Kit を調査に利用する場合は、パーティション毎にイメージ ファイルを作成するか、ディスク単位で複製しパーティションを切り出す 複数パーティションを含むイメージファイルの読み取りに未対応の為(Ver2.xから対応予定) HDD dd C: C:イメージファイル D: dd D:イメージファイル © Hideaki Ihara(Port139).
イメージファイルの圧縮 ddの出力を圧縮しては? 出力先容量が足りない場合にのみ利用 (まずは,十分な保存領域を用意すべき!) 圧縮してもイメージ作成速度は向上しない 圧縮は後からでも可能 圧縮されたファイルを直接読みとれる解析ツールは今のところない?(展開が必要に) © Hideaki Ihara(Port139).