¿Cómo saber cuándo se ha grabado / grabado un disco (DVD)?

13

¿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.

Woerndl
fuente
1
Datación de carbono ? :) Eso es solo una broma: realmente parece que deberías buscar la respuesta en física, no en informática.
Celada
1
Tendría que estar de acuerdo con @Celada Cualquier fecha grabada en el disco sería fácilmente falsa. Para una prueba sólida, probablemente deba realizar pruebas físicas en el disco.
Dracs
@ Celada, bueno, eso es un buen aporte seguro, gracias. Pero espero que haya una buena manera de determinarlo con un software / hardware común ya que los recursos juegan un papel y son un cuello de botella en este caso particular.
woerndl
@Dracs gracias también. Bueno, básicamente tomo todo como 'prueba sólida' que es mejor que las fechas de cambio de archivo.
woerndl
2
Si encuentra un CD que dice haber sido escrito antes de 1980, probablemente sea falso.
Daniel R Hicks

Respuestas:

18

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

mount

en Linux después de montar el disco para identificar el archivo del dispositivo de la unidad de disco óptico.

Salida de ejemplo:

/dev/sr0 /media/dennis/CDROM iso9660 ro,nosuid,nodev,uid=1000,gid=1000,iocharset=utf8,mode=0400,dmode=0500,uhelper=udisks2 0 0

Aquí, el archivo del dispositivo es /dev/sr0. El comando

disktype /dev/sr0

mostrará 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:

YYYYMMDDHHMMSSCCO

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:

dd if=/dev/sr0 bs=1 skip=33581 count=17 | hexdump -C

Para mi Ubuntu 12.04 x64 LiveCD, esto da:

00000000  32 30 31 32 30 38 32 33  31 37 31 33 34 37 30 30  |2012082317134700|
00000010  00                                                |.|

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:

TT tT YY YY MM DD HH MM SS CC BB AA

Aquí, cada par es un octeto (byte), es decir, XXestá compuesto de dos números hexadecimales.

  • TT tTes 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 (siempre 1, que significa hora local).

  • YY YYes 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, BBY AAson 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

dd if=/dev/sr0 bs=1 skip=65912 count=12 | hexdump -C

mostrará la marca de tiempo codificada.

Para fines de prueba, he creado una imagen UDF con K3b. El resultado del ddcomando fue el siguiente

00000000  4c 1f dd 07 03 01 0f 0b  11 00 00 00              |L...........|
0000000c

Aná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.

Dennis
fuente
Intenté correr 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.
woerndl
Disktype devuelve lo siguiente: --- /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
woerndl
¿Se supone que funciona con discos de audio? (no me parece)
Franck Dernoncourt
@FranckDernoncourt: No. ISO 9660 y UDF son sistemas de archivos de discos de datos ópticos .
Dennis
@ Dennis Gracias! Alguna idea para: ¿Cómo saber cuándo se ha grabado / grabado un disco de audio (CD)?
Franck Dernoncourt
-1

Sí, hay: datey timeatributos 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.

ingrese la descripción de la imagen aquí ingrese la descripción de la imagen aquí

Volodymyr M.
fuente
1
Los tiempos de modificación de archivos probablemente no tengan nada que ver con cuando los archivos se grabaron en un disco ... y ¿qué pasa si es un disco de audio o algo así, que no tiene un sistema de archivos?
Celada
OP no menciona qué tipo de CD \ DVD se usa, para el segundo, una vez escrito en CD \ DVD, los atributos no se pueden cambiar, entonces, ¿por qué no se pueden usar como fuente de información, incluso si no da el 100%? ¿garantizar?
Volodymyr M.
Las fechas de cambio de archivos de @Volodymyr son todo lo que tengo ahora. Son una especie de prueba, pero no ofrecen la certeza que estoy buscando. Sin embargo, gracias por tu esfuerzo.
woerndl
@Celada ¿Encontró una respuesta a su pregunta sobre el disco de audio? Tengo el mismo problema.
Franck Dernoncourt