디스크를 확실하게 쓰고 기록한 날짜와 시간을 결정하는 방법 / 도구가 있습니까? 이것은 데이터 포렌식에 관한 것이며 확실한 증거가되어야합니다. 이미 IsoBuster를 사용해 보았지만 트랙이 작성된 날짜 / 시간을 표시하지 않았습니다.
디스크를 확실하게 쓰고 기록한 날짜와 시간을 결정하는 방법 / 도구가 있습니까? 이것은 데이터 포렌식에 관한 것이며 확실한 증거가되어야합니다. 이미 IsoBuster를 사용해 보았지만 트랙이 작성된 날짜 / 시간을 표시하지 않았습니다.
답변:
대부분의 광 데이터 디스크 는 정보 교환 , Universal Disk Format Specification 또는 UDF 브리지 라고하는 CD-ROM 의 ISO 9660 파일 시스템 표준 볼륨 및 파일 구조를 사용 합니다.
어느 것을 찾으려면 실행할 수 있습니까?
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을 분석하는 것이 더 쉬워야합니다.
표준은 볼륨 생성 날짜 및 시간 필드를 볼륨 생성 순간의 숫자 표현으로 다음 형식으로 1 차 볼륨 디스크립터 의 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
내 우분투 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 을 1 차 볼륨 작성 시점의 2 진 표현으로 다음 형식으로 1 차 볼륨 디스크립터 의 376-387 번째 바이트에 기록 합니다.
TT tT YY YY MM DD HH MM SS CC BB AA
여기서, 각 쌍은 옥텟 (바이트), 즉 XX
2 개의 16 진수로 구성된다.
TT tT
A는 리틀 엔디안 소인의 종류 및 시간대를 나타내는 16 비트 정수이다.
12 개의 최하위 비트 ( TTT
)는 UTC를 분 단위의 부호있는 정수 ( 2의 보수 표시 ) 로 오프셋으로 인코딩 된 시간대를 유지합니다 .
4 개의 최상위 비트 ( t
)는 유형을 유지합니다 (항상 1
, 현지 시간을 의미 함).
MM
, DD
, HH
MM
, SS
, CC
, BB
및 AA
나타내는 부호없는 8 비트 정수는 월, 일,시, 분, 초, centisecond, 마이크로과 창조의 마이크로 수백.
다시, 디스크의 처음 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입니다.
나머지 8 진수는 문자 그대로 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
. 그러나 나는 단지 0을 얻습니다. 내 계산 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에서 하나의 디스크를 확인했습니다. 아래 스크린 샷을 참조하십시오.