¿Hay alguna forma / herramienta para determinar la fecha y la hora en que un disco se ha escrito / grabado con alta certeza? Se trata de análisis forense de datos y debería ser una prueba sólida. Ya probé IsoBuster, pero no me mostró la fecha / hora en que se escribió la canción.
13
Respuestas:
La mayoría de los discos de datos ópticos utilizan el volumen del sistema de archivos ISO 9660 y la estructura de archivos del CD-ROM para el intercambio de información , la especificación de formato de disco universal o ambos (llamado puente UDF ).
Para saber cuál, puedes ejecutar
en Linux después de montar el disco para identificar el archivo del dispositivo de la unidad de disco óptico.
Salida de ejemplo:
Aquí, el archivo del dispositivo es
/dev/sr0
. El comandomostrará los sistemas de archivos disponibles. Si ambos están presentes, analizar el ISO 9660 debería ser más fácil.
ISO 9660
El estándar especifica el campo Fecha y hora de creación del volumen como una representación numérica del momento de la creación del volumen, escrito en el byte 814 a 830 del Descriptor de volumen primario en el siguiente formato:
donde CC son centisegundos y O es el desplazamiento de GMT en intervalos de 15 minutos, almacenados como un entero de 8 bits ( representación del complemento a dos ).
ISO 9660 no utiliza los primeros 32 KiB (32.768 bytes) del disco y el descriptor anterior sigue inmediatamente al bloque no utilizado, por lo que nos interesan los 33.582 bytes y los 16 que siguen.
Esta información puede ser analizada por cualquier herramienta que pueda volcar / leer los datos en bruto en el disco óptico. En Linux, puede usar dd para volcar la parte relevante de la imagen y hexdump para ver el último byte correctamente:
Para mi Ubuntu 12.04 x64 LiveCD, esto da:
así que la imagen fue creada el 23 de agosto de 2012 a las 17: 13: 47.00 GMT .
UDF
El estándar especifica el RecordingDateandTime archivado como una representación binaria del momento de la creación del volumen primario, escrito en el byte 376 a 387 del Descriptor de volumen primario en el siguiente formato:
Aquí, cada par es un octeto (byte), es decir,
XX
está compuesto de dos números hexadecimales.TT tT
es un entero de 16 bits little endian que representa el tipo y la zona horaria de la marca de tiempo.Los 12 bits menos significativos (
TTT
) contienen la zona horaria, codificada como el desplazamiento desde UTC en minutos como un entero con signo ( representación del complemento a dos ).Los cuatro bits más significativos (
t
) contienen el tipo (siempre1
, que significa hora local).YY YY
es el año codificado como un entero de 16 bits little endian firmado ( representación del complemento a dos ).MM
,DD
,HH
MM
,SS
,CC
,BB
YAA
son enteros sin signo de 8 bits que representan el mes, día, hora minuto, segundo, centisegundo, cientos de microsegundos y de la creación de microsegundos.Una vez más, los primeros 32 KiB del disco no son utilizados por UDF. Además, los siguientes 32 bytes KiB están reservados para un sistema de archivos ISO 9660 heredado (que puede ocupar más espacio si está presente).
En un disco UDF "puro", el comando
mostrará la marca de tiempo codificada.
Para fines de prueba, he creado una imagen UDF con K3b. El resultado del
dd
comando fue el siguienteAnálisis:
0xF4C (hexadecimal) es mayor que 0x800 y, por lo tanto, negativo. Descansando 0x1000 desde 0xF4C da -180 en decimal. Esto significa que la zona horaria es UTC - 3.
0x07DD es 2013 en decimal (el año de creación).
Los octetos restantes se pueden interpretar literalmente en su representación hexadecimal (0x0F, 0x0B y 0x11 son 15, 11 y 17 en decimal).
Esto significa que la imagen se creó el 1 de marzo de 2013 a las 15: 11: 17.000000 UTC + 3 .
Advertencias
Es sencillo alterar esta fecha. Todo lo que se requiere es cambiar la fecha de la computadora antes de crear la imagen.
Si la imagen se crea antes de grabarse en el disco, se grabará la primera vez. Por lo tanto, el campo es solo evidencia potencial para discos creados por el propio propietario.
fuente
dd if=/dev/disk4 | tail -c +33144 | head -c 17 | hexdump -C
. Pero solo obtengo ceros. ¿Es correcto mi cálculo 32,768 + 376 o el bloque no utilizado de UDF tiene un tamaño diferente? Lo busqué en Google, pero no encontré algo.--- /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
Sí, hay:
date
ytime
atributos es lo que estás buscando. Simplemente cambie la vista de la carpeta y verifique las Propiedades del archivo.Revisé hace un minuto un disco en W7 y Mac OS X. Ver capturas de pantalla a continuación.
fuente