ディスクが確実に書き込まれた/書き込まれた日時を判断する方法/ツールはありますか?これはデータフォレンジックに関するものであり、確実な証拠となるはずです。既にIsoBusterを試しましたが、トラックが書き込まれた日付/時刻は表示されませんでした。
ディスクが確実に書き込まれた/書き込まれた日時を判断する方法/ツールはありますか?これはデータフォレンジックに関するものであり、確実な証拠となるはずです。既にIsoBusterを試しましたが、トラックが書き込まれた日付/時刻は表示されませんでした。
回答:
ほとんどの光学データディスクは、情報交換、ユニバーサルディスクフォーマット仕様、またはその両方(UDFブリッジと呼ばれます)にISO 9660ファイルシステム標準のCD-ROMのボリュームとファイル構造を使用します。
どれを見つけるために、あなたは実行することができます
mount
Linuxでは、光ディスクドライブのデバイスファイルを識別するためにディスクがマウントされた後。
出力例:
/dev/sr0 /media/dennis/CDROM iso9660 ro,nosuid,nodev,uid=1000,gid=1000,iocharset=utf8,mode=0400,dmode=0500,uhelper=udisks2 0 0
ここでは、デバイスファイルは/dev/sr0
です。コマンド
disktype /dev/sr0
利用可能なファイルシステムを表示します。両方が存在する場合は、ISO 9660を分析する方が簡単です。
この規格では、ボリューム作成日時のフィールドをボリューム作成の瞬間の数値表現として指定し、次の形式でプライマリボリューム記述子の814番目から830番目のバイトに書き込まれます。
YYYYMMDDHHMMSSCCO
ここで、CCはセンチ秒、Oは15分間隔でのGMTからのオフセットで、8ビット整数(2の補数表現)として格納されます。
ディスクの最初の32 KiB(32,768バイト)はISO 9660では使用されず、上記の記述子は未使用のブロックの直後に続きます。したがって、33,582番目のバイトとそれに続く16が必要です。
この情報は、光ディスク上の生データをダンプ/読み取りできるツールで分析できます。Linuxでは、ddを使用してイメージの関連部分をダンプし、hexdumpを使用して最後のバイトを適切に表示できます。
dd if=/dev/sr0 bs=1 skip=33581 count=17 | hexdump -C
私のUbuntu 12.04 x64 LiveCDの場合、これは以下を提供します:
00000000 32 30 31 32 30 38 32 33 31 37 31 33 34 37 30 30 |2012082317134700|
00000010 00 |.|
そのため、画像は2012年8月23日17:13:47.00 GMTに作成されました。
この規格では、フィールド化されたRecordingDateandTimeを、プライマリボリュームの作成の瞬間のバイナリ表現として指定し、次の形式でプライマリボリューム記述子の376番目から387番目のバイトに書き込まれます。
TT tT YY YY MM DD HH MM SS CC BB AA
ここで、各ペアはオクテット(バイト)です。つまり、XX
2つの16進数で構成されています。
TT tT
あるリトルエンディアンのタイムスタンプの種類と時間帯を表す16ビット整数。
12個の最下位ビット(TTT
)はタイムゾーンを保持し、符号付き整数(2の補数表現)としてUTCからのオフセットとして分単位でエンコードされます。
4つの最上位ビット(t
)はタイプを保持します(常に1
ローカル時間を意味します)。
YY YY
は、符号付きリトルエンディアンの 16ビット整数(2の補数表現)としてエンコードされた年です。
MM
、DD
、HH
MM
、SS
、CC
、BB
とAA
、月、日、時間、分、秒、センチを表す符号なし8ビット整数、マイクロ秒と創造のマイクロ秒の何百もあります。
この場合も、ディスクの最初の32 KiBはUDFによって使用されません。さらに、次の32 KiBバイトは、従来のISO 9660ファイルシステム用に予約されています(存在する場合、より多くのスペースを占有する可能性があります)。
「純粋な」UDFディスクでは、コマンド
dd if=/dev/sr0 bs=1 skip=65912 count=12 | hexdump -C
エンコードされたタイムスタンプが表示されます。
テストのために、K3bでUDFイメージを作成しました。dd
コマンドの出力は次のとおりでした
00000000 4c 1f dd 07 03 01 0f 0b 11 00 00 00 |L...........|
0000000c
分析:
0xF4C(16進数)は0x800よりも大きいため、マイナスです。0xF4Cから0x1000を休めると、10進数で-180になります。これは、タイムゾーンがUTC-3であることを意味します。
0x07DDは10進数で2013(作成年)です。
残りのオクテットは、文字通り16進表現で解釈できます(0x0F、0x0B、および0x11は10進数で15、11、および17です)。
これは、画像が2013年3月1日15:11:17.000000 UTC + 3に作成されたことを意味します。
この日付を改ざんするのは簡単です。必要なのは、イメージを作成する前にコンピューターの日付を変更することです。
実際にディスクに書き込む前にイメージが作成された場合、以前の時間が記録されます。したがって、このフィールドは、所有者自身が作成したディスクの潜在的な証拠にすぎません。
dd if=/dev/disk4 | tail -c +33144 | head -c 17 | hexdump -C
。しかし、私はゼロのみを取得します。32,768 + 376の計算は正しいですか、またはUDFの未使用ブロックのサイズは異なりますか?グーグルで検索したが、何も見つかりませんでした。
--- /dev/disk4 Block device, size 4.383 GiB (4706074624 bytes) disktype: Data read failed at position 4706070528: Input/output error UDF file system Sector size 2048 bytes Volume name "Alenander" UDF version 1.02 disktype: Data read failed at position 4706009088: Input/output error
はい、あります:date
とtime
属性は、あなたが探しているものです。フォルダの表示を変更し、ファイルのプロパティを確認するだけです。
1分前にW7とMac OS Xの両方で1つのディスクをチェックしました。下のスクリーンショットをご覧ください。