Jak dowiedzieć się, kiedy dysk (DVD) został zapisany / nagrany?

13

Czy istnieje sposób / narzędzie do ustalenia daty i godziny, kiedy dysk został zapisany / nagrany z dużą pewnością? Dotyczy to kryminalistyki danych i powinno być solidnym dowodem. Próbowałem już IsoBuster, ale nie pokazał mi daty / godziny, w której utwór został napisany.

woerndl
źródło
1
Datowanie węglem ? :) To tylko pół żartu: naprawdę wydaje się, że powinieneś szukać fizyki w poszukiwaniu odpowiedzi, a nie informatyki.
Celada
1
Musiałbym się zgodzić z @Celada Każda data nagrana na dysk byłaby łatwa do sfałszowania. Aby uzyskać solidny dowód, prawdopodobnie będziesz musiał przeprowadzić testy fizyczne na samym dysku.
Dracs
@Celada, cóż, to na pewno dobry wkład, dzięki. Mam jednak nadzieję, że istnieje dobry sposób na określenie tego za pomocą wspólnego oprogramowania / sprzętu, ponieważ zasoby odgrywają pewną rolę i są wąskim gardłem w tym konkretnym przypadku.
woerndl
@Dracs też dziękuję. Cóż, zasadniczo traktuję wszystko jako „solidny dowód”, który jest lepszy niż daty zmian plików.
woerndl
2
Jeśli znajdziesz płytę CD, która twierdzi, że została napisana przed 1980 rokiem, jest to prawdopodobnie podróbka.
Daniel R Hicks

Odpowiedzi:

18

Większość optycznych dysków z danymi używa standardowego systemu plików ISO 9660 Wolumin i struktura plików na CD-ROM-ie do wymiany informacji , Universal Format Format Specification lub obu (zwanych mostem UDF ).

Aby dowiedzieć się, które możesz wykonać

mount

w systemie Linux po zamontowaniu dysku w celu zidentyfikowania pliku urządzenia napędu optycznego.

Przykładowe dane wyjściowe:

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

Tutaj jest plik urządzenia /dev/sr0. Komenda

disktype /dev/sr0

wyświetli dostępne systemy plików. Jeśli oba są obecne, analiza ISO 9660 powinna być łatwiejsza.

ISO 9660

Norma określa pole Data i godzina utworzenia woluminu jako liczbową reprezentację momentu utworzenia woluminu, zapisaną w bajtach od 814 do 830 podstawowego deskryptora woluminu w następującym formacie:

YYYYMMDDHHMMSSCCO

gdzie CC to centisekundy, a O to przesunięcie w stosunku do GMT w 15-minutowych odstępach, przechowywane jako 8-bitowa liczba całkowita ( reprezentacja uzupełnienia dwóch ).

Pierwsze 32 KiB (32 768 bajtów) dysku nie jest używane przez ISO 9660, a powyższy deskryptor następuje bezpośrednio po nieużywanym bloku, więc interesuje nas 33 582 bajt i 16 kolejnych.

Informacje te mogą być analizowane przez dowolne narzędzie, które może zrzucić / odczytać surowe dane na dysku optycznym. W systemie Linux możesz użyć dd, aby zrzucić odpowiednią część obrazu, a zrzut heksowy, aby poprawnie wyświetlić ostatni bajt:

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

W przypadku mojego dysku LiveCD Ubuntu 12.04 x64 daje to:

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

więc obraz został utworzony 23 sierpnia 2012 r. o godz. 17: 13: 47.00 GMT .

UDF

Standard określa zapisaną datę zapisu i datę jako binarną reprezentację momentu utworzenia woluminu podstawowego, zapisaną w bajtach od 376 do 387 bajtu podstawowego deskryptora woluminu w następującym formacie:

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

Tutaj każda para jest oktetem (bajtem), tzn. XXSkłada się z dwóch liczb szesnastkowych.

  • TT tTto 16-bitowa liczba całkowita typu endian reprezentująca typ i strefę czasową znacznika czasu.

    12 najmniej znaczących bitów ( TTT) przechowuje strefę czasową, zakodowaną jako przesunięcie względem UTC w minutach jako liczba całkowita ze znakiem ( reprezentacja uzupełnienia dwóch ).

    Cztery najbardziej znaczące bity ( t) zawierają typ (zawsze 1, oznaczający czas lokalny).

  • YY YYjest rokiem zakodowanym jako 16-bitowa liczba całkowita ze znakiem little-endian ( reprezentacja uzupełnienia dwóch ).

  • MM, DD, HH MM, SS, CC, BBI AAsą niepodpisane 8-bitowe liczby całkowite reprezentujące miesiąc, dzień, godzina i minuty, sekundy, centisecond setki mikrosekund i mikrosekundy stworzenia.

Ponownie, pierwsze 32 KiB płyty nie są używane przez UDF. Ponadto następujące 32 bajty KiB są zarezerwowane dla starszego systemu plików ISO 9660 (który może zajmować więcej miejsca, jeśli jest obecny).

Na „czystym” dysku UDF polecenie

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

wyświetli zakodowany znacznik czasu.

Do celów testowych stworzyłem obraz UDF za pomocą K3b. Dane wyjściowe ddpolecenia były następujące

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

Analiza:

  • 0xF4C (szesnastkowy) jest większy niż 0x800, a zatem ujemny. Odpoczynek 0x1000 od 0xF4C daje -180 po przecinku. Oznacza to, że strefa czasowa to UTC - 3.

  • 0x07DD to 2013 w systemie dziesiętnym (rok utworzenia).

  • Pozostałe oktety można interpretować dosłownie w ich reprezentacji szesnastkowej (0x0F, 0x0B i 0x11 to 15, 11 i 17 w systemie dziesiętnym).

    Oznacza to, że obraz został utworzony 1 marca 2013 r. O godzinie 15: 11: 17.000000 UTC + 3 .

Ostrzeżenia

  • Łatwo jest manipulować tą datą. Wszystko, co jest wymagane, to zmiana daty komputera przed utworzeniem obrazu.

  • Jeśli obraz zostanie utworzony przed faktycznym nagraniem na dysk, poprzedni czas zostanie nagrany. Zatem pole to tylko potencjalny dowód na dyski, które zostały utworzone przez samego właściciela.

Dennis
źródło
Próbowałem biec dd if=/dev/disk4 | tail -c +33144 | head -c 17 | hexdump -C. Ale dostaję tylko zero. Czy moje obliczenia 32 768 + 376 są prawidłowe lub czy nieużywany blok UDF ma inny rozmiar? Przejrzałem go, ale nic nie znalazłem.
woerndl
Typ dysku zwraca następujące wartości: --- /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
Czy powinien współpracować z płytami audio? (nie wydaje mi się)
Franck Dernoncourt
@FranckDernoncourt: Nie. ISO 9660 i UDF to systemy plików optycznych dysków z danymi .
Dennis,
@Dennis Thanks! Jakiś pomysł na: Jak dowiedzieć się, kiedy dysk audio (CD) został zapisany / nagrany?
Franck Dernoncourt
-1

Tak, jest: datea timeatrybutów jest to, czego szukasz. Wystarczy zmienić widok folderu i sprawdzić Właściwości pliku.

Sprawdzony przed chwilą jeden dysk na W7 i Mac OS X. Zobacz zrzuty ekranu poniżej.

wprowadź opis zdjęcia tutaj wprowadź opis zdjęcia tutaj

Volodymyr M.
źródło
1
Czasy modyfikacji plików prawdopodobnie nie mają nic wspólnego z nagrywaniem plików na dysk ... a co, jeśli jest to dysk audio lub coś takiego, który nie ma systemu plików?
Celada
OP nie wspomina o rodzaju używanego CD \ DVD, po drugie, raz zapisanych na CD \ DVD atrybutów nie można zmienić, więc dlaczego nie można ich użyć jako źródła informacji, nawet jeśli nie daje 100% gwarancja?
Volodymyr M.
@Data zmiany pliku Volodymyr to wszystko, co mam teraz. Są pewnego rodzaju dowodem, ale nie dają pewności, której szukam. Dziękuję za twój wysiłek.
woerndl
@Celada Czy znalazłeś odpowiedź na swoje pytanie dotyczące płyty audio? Mam ten sam problem.
Franck Dernoncourt