Windows Artifact[1] - $MFT(4)








이번 포스팅에서는 $MFT의 속성중 하나인 DATA속성에 대해서 알아보겠습니다.


----------------------------------------------------------------------------------------------------------------------------------------

3. $DATA($80)

$DATA 속성은 파일의 데이터를 담고 있습니다. 속성 헤더(속성타입~초기화된 크기) 이후에 바로 해당 파일의 데이터가 저장되는 구조로 되어있습니다.




[그림 1] $DATA($80)



[그림 2] $DATA($80)



$DATA속성을 분석하기전에 알아두어야 할 개념이 있는데 그것은 바로 레지던지 속성과 논 레지던트 속성입니다. 레지던트 속성은 이 $DATA속성에 파일내용을 같이 저장되는 경우이며, 논 레지던트의 경우 파일의 사이즈가 커 속성정보에 같이 파일 내용을 저장 못할 경우 새로 클러스터를 할당받아 저장하는 것을 말합니다. 즉 기본적으로 속성정보는 1024byte로 구성되어 있지만, 시스템 상 약 500byte정도가 이미 사용중에 있습니다. 따라서 700byte정도의 파일 사이즈가 넘어가면 논 레지던트 속성으로 파일 속성이 부여됩니다. 그렇기 때문에 논 레지던트 속성의 파일은 마지막 8byte에 실제 데이터가 저장된 주소를 저장하고 있습니다.


이번 예제에서는 논 레지던트 속성의 파일이므로 실제 데이터가 있는 위치로 가기 위해서는 다시한번 주소를 계산 해주어야 합니다.


[그림 1]에서 보는 바와 같이 마지막 8byte의 값을 확인하면 43 00 D1 01 D7 C0 D3 00 이 저장된 것을 확인 할 수 있습니다.

이 8byte의 첫 바이트는 클러스터사이즈와 파일의주소를 나타내는 크기를 나타냅니다.

43을 반으로 나누어 4|3 형태로 만든 후 앞의 4는 데이터가 저장된 주소의 크기를 나타내며, 뒤의 3은 파일을 저장하기 위해 새로 할당된 클러스터 크기를 나타냅니다. 즉 해석을 하면 4byte만큼의 주소값과 3byte만큼의 클러스터 크기를 할당했다고 볼 수 있습니다.


형태에 맞춰 다시 분석을 하면 00 D1 01 만큼의 클러스터 크기와 D7 C0 D3 00의 실제 데이터 주소를 알 수 있습니다.


$DATA속성에서 파일 사이즈를 구하면 $DATA속성에서 할당된 클러스터 크기와 비교했을때 할당되는 클러스터 배수를 알 수 있습니다. 


마지막으로 실제 데이터가 저장된 주소로 가기 위해서는 클러스터 배수만큼 주소에 곱해주고 VBR 시작주소를 더해주면 됩니다. (데이터는 리틀엔디안 방식으로 저장되어 있기 때문에 빅엔디안 방식으로 변환해줍니다.)


>>(00 D3 C0 D7 * 8) + VBR시작주소


주의할점은 주소값을 더할때 모두 10진수로 변환하여 더해주어야 합니다.



[표 1] $DATA($80) 분석




지금까지 $DATA($80)속성에 대해서 알아보았으며 다음 포스팅에는 $MFT와 $LogFile분석에 대해서 알아 보겠습니다.

'Digital Forensic > Windows-Forensic' 카테고리의 다른 글

Windows Artifact[3] - LNK  (0) 2018.04.05
Windows Artifact[2] - MFT,Logfile  (0) 2018.03.30
Windows Artifact[4] - Recycle  (0) 2018.03.13
Windows Artifact[1] - $MFT(3)  (0) 2018.03.12
Windows Artifact[1] - $MFT(2)  (0) 2018.03.08

이 글을 공유하기

댓글