나의 기록, 현진록

파일 카빙 본문

-Forensic

파일 카빙

guswlsdk 2019. 1. 11. 10:48
반응형

파일카빙


메타 데이터가 아닌 파일 자체의 헤더 시그니처 푸터 등의 바이너리 데이터를 이용하여 복구하는 방법

 



시그니처 기반 카빙


시그니처 기반 카빙 기법은 파일 포맷 별로 존재하는 시그니처를 이용하는 방법이다. 시그니처는 파일 시작 부분에 위치하는 헤더 시그니처와 파일 마지막에 존재하는 푸터 시그니처가 있다. 따라서 헤더 푸터 시그니처 모두 존재하는 파일의 경우 두 시그니처 사이의 데이터가 파일 내용이 될 것이다. 하지만 시그니처 기반 카빙의 경우 파일을 구분하는 시그니처의 크기가 작거나 일반적인 경우 파일 내용의 바이트 스트림에서도 같은 값이 존재할 가능성이 있기 때문에 많은 오탐이 발생할 수 있다.

 



램 슬랙 카빙


램 슬랙은 램의 내용을 디스크에 기록할 때 크기가 서로 맞지 않은 공백은 0x00으로 채워지는 영역이다. 푸터 시그니처와 램슬랙을 같이 확인하면 오탐을 줄일 수 있다.

 



파일 구조체 카빙


파일의 미리보기를 지원하는 파일의 경우 파일 포맷 내부에 실제 내용 이외에 썸네일을 포함한다. 이 썸네일도 해당 파일의 포맷과 동일한 구조로 되어 있기 때문에 전체 파일 포맷에 시그니처가 둘 이상 존재하게 된다. 파일 구조체 카빙 기법은 푸터 시그니처가 존재하지 않거나 파일 포맷 내부에 여러 개의 시그니처가 존재하는 경우 효과적인 방법으로 파일의 구조를 분석하여 카빙하는 기법이다. 파일 구조체 카빙은 파일 크기 흭득 방법과 파일 구조 검증 방법으로 나눌 수 있다.

 

파일 크기 흭득 방법


대부분의 파일은 해당 데이터 표현을 위해 파일의 앞부분에 파일 구조체가 위치한다. 파일 구조체 내부에는 파일시스템 파일메타정보와 유사한 파일 크 기, 형식 등의 메타 정보가 포함된다. 파일 크기 흭득 방법은 파일구조체 내 부의 파일 크기 정보를 흭득하여 카빙하는 방법이다. 파일 시작 위치와 파일 크기에 대한 정보를 알고 있다면 비교적 쉽게 해당 파일을 카빙할 수 있다.



파일 구조 검증 방법


문서 파일과 같이 빈번한 수정이 이루어지는 경우 데이터 표현을 위해 고유한 계층 구조를 사용하는데 파일 구조 검증은 이러한 계층 구조를 검증하여 카빙하는 방법이 다. Microsoft 복합문서나 압축 파일 등은 계층 구조로 각 계증마다 고유한 시그니 처가 있다. 따라서 파일 시작 위치를 찾은 후 계층 구조를 검증하여 올바른 구조이면 정상적인 파일이라고 판단할 수 있다

반응형