Forensics/Disk

[Forensic] File Signature

Be Charm 2021. 6. 21. 03:12

포렌식에서의 파일 시그니처란 매우 중요한 개념이다.
CTF 문제들을 접하면서 공부했지만 복습하는겸 글을 작성해본다.

일반적으로 파일들을 구분할 때 확장자로 구분한다.
예를 들어서 그림 파일은 PNG, JPG, GIF 등이 있을 것이다.

하지만 확장자로 모든 파일들을 식별할 수 없다.
파일을 식별하는 것은 파일의 고유 포맷을 담고있는 시그니처를 통해서 식별한다.

자세한 설명과 많은 파일 시그니처를 보고 싶다면 아래 사이트에서 확인해보고 실습하며 공부하는 것도 좋다.
http://forensic-proof.com/archives/300

파일 시그니처는 처음과 마지막에 존재하며 각각 헤더 시그니처, 푸터 시그니처라고 칭한다.
아래는 이미지 파일을 HxD 프로그램으로 열어서 확인한 모습이다.

헤더 시그니처(왼쪽), 푸터 시그니처(오른쪽)

시그니처가 손상되면 내부 데이터가 손상되는 것이므로 파일을 읽을 수 없다.

손상을 가한 파일 시그니처

 

시그니처가 손상되었으므로 파일 식별이 불가능

또한 파일 확장자를 변경해도 파일 내부 데이터는 변경되지 않는다.
그러므로 파일을 식별하고 형태를 결정 짓는 것은 내부 데이터, 즉 시그니처 이다.

텍스트 파일인 txt 확장자로 변경해도 변경하지 않는 파일 시그니처

안티 포렌식 기법인 Steganography를 통해서 파일 시그니처를 자세히 살펴볼 수도 있다.
(※ Steganography : 데이터 은폐 기술 중 하나이며, 데이터를 다른 데이터에 삽입하는 기술)

아래 CTF Write-up을 통하여 파일 속 데이터를 어떻게 추출하는지도 확인해볼 수 있다.

참고 예제 : https://ctftime.org/writeup/17314