파일 시그니처 분석 (File Signature Analysis)
한 줄 정의: 파일 앞부분의 고유 바이트 패턴으로 실제 파일 형식을 판별하는 분석입니다.
쉽게 풀면
파일의 종류는 보통 확장자로 구분하지만, 확장자는 이름일 뿐이라 누구나 바꿀 수 있습니다. 반면 파일의 맨 앞에는 그 형식마다 정해진 고유한 바이트 패턴이 들어 있어, 이것을 읽으면 실제로 어떤 형식인지 알 수 있습니다. 파일 시그니처 분석은 이 패턴과 확장자를 대조해, 사진 파일인 척 이름만 바꾼 압축파일 같은 위장 사례를 찾아냅니다.
왜 중요한가
증거 은닉의 가장 손쉬운 방법이 확장자 변경이기 때문에, 이 분석은 압수한 저장매체를 훑을 때 가장 먼저 수행하는 점검 가운데 하나입니다. 또 파일카빙이 삭제 영역에서 파일을 복원할 때도 시작 패턴을 기준점으로 삼기 때문에 두 기법은 함께 쓰입니다.
논문에서는 이렇게 쓰입니다
"확장자가 jpg로 되어 있던 파일 12개가 시그니처 분석 결과 실제로는 암호화 압축파일로 확인되었다."
확장자와 실제 형식의 불일치를 찾아내 은닉 시도를 드러낸 분석 결과입니다.
조금 더 깊게 보면
시그니처는 파일 시작부에 있는 헤더와, 일부 형식에서는 끝부분에 있는 푸터로 구성됩니다. 분석 도구는 알려진 시그니처 목록과 대조해 형식을 판정하고, 확장자 불일치 목록을 따로 보고합니다. 다만 텍스트 파일처럼 고유 시그니처가 없는 형식이 있고, 파일 앞부분에 다른 형식의 헤더를 덧붙여 두 형식으로 동시에 읽히게 만드는 기법도 존재해 시그니처만으로는 한계가 있습니다. 그래서 내부 구조 파싱과 실제 열람 검증을 병행하는 것이 일반적입니다.
주의할 점
확장자가 다르다고 해서 곧바로 은닉 의도로 단정할 수 없으며, 프로그램이 임시 파일에 다른 확장자를 붙이는 정상 동작도 흔합니다. 해시값 검증이 파일의 동일성을 확인하는 절차라면, 시그니처 분석은 파일의 형식 정체를 확인하는 절차입니다.