File Forensic/File Signature & Signature Recovery

[Digital Forensic] File Signature Recovery

DF_m@ster 2024. 1. 3. 17:48

분석하려는 파일이 손상됨을 확인하거나, 파일 추출 이후에 파일이 열리지 않을 때, 파일 복구가 필요하다. 이러한 경우, 파일의 헤더 시그니처를 활용하여 복구해야 하며, 파일 안티 포렌식은 주로  가지 경우가 존재한다.

번째: 파일의 확장자가 변조되어 헤더 시그니처와 일치하지 않는 경우 (헤더 시그니처 변조 X)

번째: 파일의 헤더 시그니처가 변조 경우 (확장자 변조 X)

 

위에서 언급한 두 가지 경우를 직접 복구해 보기 위해 디스크를 생성하였다.
실습에 사용한 디스크의 정보이다. Root Directory 이하에 'File Recovery'라는 디렉터리를 생성하였고, 추가적으로 'File Recovery' 디렉터리 이하에 위에서 언급한 경우의 파일 훼손을 적용한 4개의 파일 '훼손_1.hwp', '훼손_2.pdf', '훼손_3.jpg', '훼손_4.zip'을 생성하였다. 아래는 RAW로 이미징 후 FTK Imager에 업로드 한 모습이다.

 

일반적으로 디스크 분석 시 Autopsy에서 파일을 처음 접하게 된다. 이러한 이유로 Autopsy에서 파일의 훼손 여부를 판별할 줄 알아야 한다. 아래는 Autopsy에서 파일의 훼손 여부를 판별하고, 해당 훼손된 파일의 추출하여 복구하는 과정을 실습으로 정리한 내용이다.

 

Autopsy 분석에서 첫 번째 경우의 훼손된 파일(파일의 확장자가 변조되어 헤더 시그니처와 일치하지 않는 경우)을 감지하기 위해 가장 먼저 'Extension Mismatch Detected' 항목을 확인해야 한다. 'Extension Mismatch Detected' 항목은 말 그대로 확장자와 파일의 헤더시그니처가 일치하지 않는 파일을 모아둔 항목이다. 'Extension Mismatch Detected' 항목으로 첫 번째 경우의 파일을 모두 특정할 수 있다.

 

아래는 'Extension Mismatch Detected' 항목에 '훼손_2.pdf' 파일 하나만 존재하는 경우이다. 해당 파일의 MIME Type(Autopsy가 헤더 시그니처로 추측한 확장자)은 png이지만, 실제 확장자는 pdf임을 확인할 수 있다. 추가적으로 Hex 항목을 확인하면 png 파일의 헤더 시그니처를 확인할 수 있다. 이는 png 파일을 pdf로 확장자만 단순 변경한 경우로 해석할 수 있다.

 

해당 파일을 추출하면 열리지 않지만, 확장자를 png로 바꾸면 파일을 열 수 있다.

파일 추출 후
확장자 복구 후

 

 

 

Autopsy 분석에서 두 번째 경우(파일의 헤더 시그니처 변조)의 파일을 감지하기 위해서는 'MIME Type' 항목을 확인해야 한다. 'MIME Type' 'application/octet-stream'으로 두 번째 경우의 파일을 모두 특정할 수 있다. application/octet-stream은 Autopsy에서 파일의 헤더 시그니처가 훼손된 경우 MIME Type에 나타나는 값이다.

 

실제 디스크 분석 시에는 두 번째 경우의 파일을 특정하여 찾는 방법보다는 디스크 분석을 진행하는 과정에서 'MIME Type'의 값이 'application/octet-stream'일 경우 헤더 시그니처가 훼손된 파일임을 인지하는 것이 분석을 보다 효율적으로 진행할 수 있는 방법이다.

 

아래는 일반적인 디렉터리에서 파일의 MIME Type 값이 application/octet-stream으로 나타나는 경우이다. 이 경우 헤더 시그니처의 훼손 여부를 파악하기 위해 Hex View로 파일의 헤더 시그니처를 간략하게 확인해야 한다.

 

아래는 Hex View를 통해 파일의 헥사 값을 확인한 모습으로, '훼손_1.hwp', '훼손_4.zip'파일은 처음 2 Byte가 '0x00'으로 훼손되었고, '훼손_3.jpg'파일은 처음 4Byte가 '0x00'으로 훼손되었음을 확인할 수 있다. 훼손된 헤더시그니처를 복구하기 위해 파일을 추출한다.

 

추출된 파일의 헤더 시그니처를 복구하기 위해 HxD로 열어, 훼손되지 않은 나머지 헤더 시그니처 정보를 이용하여 훼손된 헤더 시그니처를 복구한다. 이때 만약 훼손되지 않은 나머지 헤더 시그니처 정보가 적어 확장자를 특정하기 어려운 경우 푸터 시그니처 정보를 이용해 복구해야 한다. 아래는 HxD로 헤더 시그니처를 복구한 과정으로, 이후에 파일을 열면 정상적으로 파일이 열림을 확인할 수 있다.