有没有一种方法/工具可以高度确定地确定光盘的写入/刻录日期和时间?这是关于数据取证的,应该是一个可靠的证明。我已经尝试过IsoBuster,但是它没有显示写入曲目的日期/时间。
有没有一种方法/工具可以高度确定地确定光盘的写入/刻录日期和时间?这是关于数据取证的,应该是一个可靠的证明。我已经尝试过IsoBuster,但是它没有显示写入曲目的日期/时间。
Answers:
大多数光学数据光盘使用CD-ROM的ISO 9660文件系统标准卷和文件结构进行信息交换,通用磁盘格式规范或两者(称为UDF桥)。
要找出哪个,您可以执行
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位整数(二进制补码)。
光盘的前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创建的。
该标准将归档的RecordingDateandTime指定为创建主卷的时刻的二进制表示形式,并以以下格式写入主卷描述符的第376至387个字节:
TT tT YY YY MM DD HH MM SS CC BB AA
在此,每对是一个八位位组(字节),即XX
由两个十六进制数组成。
TT tT
是一个小尾数的 16位整数,代表时间戳的类型和时区。
12个最低有效位(TTT
)保留时区,以分钟为单位(以分钟为单位)编码为有符号整数(二进制补码表示形式)与UTC的偏移量。
四个最高有效位(t
)保持类型(总是1
,表示本地时间)。
MM
,DD
,HH
MM
,SS
,CC
,BB
和AA
是代表8位无符号整数,月,日,时,分,秒,百分之一秒,几百微秒和创造微秒。
同样,UDF不使用光盘的前32 KiB。此外,以下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(十六进制)大于0x800,因此-为负数。从0xF4C休息0x1000会得到-180(十进制)。这表示时区为UTC-3。
0x07DD为2013年(十进制)(创建年份)。
其余八位字节可以按其十六进制表示形式进行字面解释(0x0F,0x0B和0x11为十进制的15、11和17)。
这表示该图片是在2013年3月1日15:11:17.000000 UTC + 3创建的。
篡改这个日期很简单。只需要做的就是在创建映像之前更改计算机的日期。
如果映像是在实际刻录到光盘之前创建的,则以前的时间将被记录。因此,该字段仅是所有者自己创建的光盘的潜在证据。
dd if=/dev/disk4 | tail -c +33144 | head -c 17 | hexdump -C
。但是我只能得到零。我的计算32768 + 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
属性是你在找什么。只需更改文件夹的视图并检查文件的属性即可。
在一分钟前检查了W7和Mac OS X上的一个磁盘。请参见下面的屏幕截图。