데이터 카빙으로 파일 시스템 없이 증거 파일 복구하기
데이터 카빙의 원리와 파일 시그니처, 파편화 대응, 포렌식 복구 도구 및 증거 무결성 고려사항을 정리한다.
2026-08-15 · 최초 발행 2025-06-28
파일 시스템의 디렉터리와 메타데이터가 사라져도 저장 매체의 원시 데이터에는 파일 내용이 남아 있을 수 있다. 데이터 카빙(Data Carving)은 파일 시스템이 관리하지 않는 비할당 영역을 중심으로 파일 형식의 흔적과 내부 구조를 찾아 삭제된 파일, 숨겨진 데이터, 포맷된 드라이브, 손상된 저장 매체의 데이터를 추출하는 디지털 포렌식 기법이다.
파일 시스템 바깥에서 파일 경계를 찾는 방법
데이터 카빙은 파일 시스템 메타데이터에 의존하지 않고 원시 데이터(raw data)에서 파일을 직접 추출한다. 비할당 영역에 남은 파일 형식을 식별하는 시그니처와 데이터 패턴, 내부 구조를 바탕으로 시작 지점과 끝 지점을 판별한다.
연속된 섹터에 저장된 파일은 헤더와 푸터를 찾거나 헤더의 크기 정보를 읽어 비교적 직접적으로 범위를 정할 수 있다. 파일이 여러 섹터에 비연속적으로 흩어진 경우에는 시그니처 뒤에 이어져야 할 데이터가 연속되지 않으므로, 조각화 패턴과 연결 알고리즘, 파일 구조를 함께 분석해야 한다.
파일 범위를 결정하는 방식은 다음과 같이 나뉜다.
- 헤더-푸터(Header-Footer) 기법은 파일의 시작 및 종료 시그니처를 찾아 그 사이의 데이터를 추출한다.
- 헤더-크기(Header-Size) 기법은 파일 헤더가 담고 있는 크기 정보를 이용해 파일 범위를 정한다.
- 헤더-특성(Header-Characteristics) 기법은 파일 형식별 구조적 특성을 분석해 경계를 파악한다.
저장 매체 전체를 순차적으로 읽으면서 시그니처를 찾고, 파일 구간을 추출한 뒤 유효성을 확인하는 흐름으로 진행된다. 저장 매체가 커질수록 분석 시간은 늘어나며, 알고리즘 효율성·파일 유형·검색 방법에 따라 처리 시간도 달라진다. 병렬 처리와 GPU 가속은 이를 줄이는 데 활용할 수 있다.
시그니처와 데이터 특성이 제공하는 복구 단서
파일 시그니처(File Signature)는 형식을 구분하는 고유한 바이트 시퀀스이며, 파일 첫 부분의 식별자는 매직 넘버(Magic Number)라고도 한다. 카빙은 이러한 식별자를 검색의 출발점으로 사용한다.
대표적인 시그니처는 다음과 같다.
- JPEG는
FF D8 FF로 시작하고FF D9로 끝난다. - PNG는
89 50 4E 47 0D 0A 1A 0A로 시작한다. - PDF는
25 50 44 46(%PDF)로 시작한다. - ZIP는
50 4B 03 04(PK..)로 시작한다.
시그니처가 있다고 해서 항상 완전한 파일 복구를 의미하지는 않는다. 시작점을 찾은 다음에는 종료 지점, 파일 크기, 내부 구조를 함께 확인해야 한다. 헤더가 파일 크기 정보를 담은 형식은 푸터가 없어도 경계를 추정할 수 있지만, 헤더가 손상되면 그 정보의 신뢰성도 낮아진다.
파일 식별에는 엔트로피 분석도 활용된다. 데이터의 무작위성을 측정해 파일 경계를 찾는 방식으로, 압축되거나 암호화된 데이터는 높은 엔트로피 값을 보이므로 일반 텍스트와 구분하는 데 유용하다. 다만 엔트로피 값이 비슷한 파일끼리는 구분에 한계가 있으며, 데이터 패턴이 우연히 일치하거나 시그니처가 중복되면 오탐지(False Positive)가 발생할 수 있다.
파편화된 데이터가 남기는 문제
파일이 연속된 섹터에 배치된 경우에는 단순 카빙으로도 복구하기 쉽다. 헤더-푸터 방식이나 헤더의 파일 크기 정보를 이용해 파일 범위를 추출할 수 있다. 파일 끝과 섹터 끝 사이의 미사용 공간인 RAM Slack에는 이전에 메모리에 있던 데이터가 남을 수 있어 추가 증거나 단서를 확보하는 데 활용할 수 있지만, 남은 조각은 작고 불완전할 수 있다.
반면 여러 섹터에 나뉘어 저장된 파일은 시그니처 뒤에 이어져야 할 데이터가 연속되지 않아 복구가 어려워진다. 조각화 패턴을 분석하고 연결 알고리즘을 적용해야 하며, 조각화 비율이 높을수록 복구 난이도도 증가한다. 성공률은 저장 매체의 사용 패턴에 따라 달라지고 일부 조각이 사라진 경우에는 복구 결과가 불완전해질 수 있다.
파편화를 다룰 때는 파일 구조와 메타데이터를 분석하는 지능형 카빙, 데이터 패턴과 엔트로피 분석으로 파편을 재결합하는 통계적 접근법, 남아 있는 파일 시스템 정보와 카빙을 함께 쓰는 하이브리드 카빙이 활용된다.
파일 형식별로 달라지는 분석 기준
카빙 대상은 파일 형식에 따라 경계와 검증 기준이 달라진다. 텍스트 기반 파일(TXT, HTML, XML 등)은 일반적으로 ASCII/유니코드 문자로 구성되며 특정 태그나 패턴으로 경계를 식별할 수 있다.
JPEG, PNG, GIF 같은 이미지 파일은 비교적 뚜렷한 헤더와 푸터를 가지며 내부 데이터 형식도 일관적이다. PDF, DOC, PPTX 등의 복합 문서는 여러 객체와 메타데이터를 포함하는 복잡한 컨테이너 구조를 가진다. ZIP, RAR, 7Z 같은 압축 파일은 압축 알고리즘에 따른 특수 구조와 내부 디렉터리 정보, 파일 목록을 함께 다뤄야 한다.
시그니처 매칭 이후의 분석
현대의 카빙은 단순한 시그니처 검색에 머물지 않는다. 딥 카빙(Deep Carving)은 파일 내부 구조와 메타데이터를 심층 분석하고, 파일 무결성 검증을 통해 복구 정확도를 높인다. 복구 결과의 신뢰도는 추출 데이터의 무결성과 함께 평가하며, 정확성 검증에는 해시값 비교가 필요하다.
크로스 카빙(Cross-Carving)은 여러 파일 형식 분석 결과를 교차 검증해 중복된 데이터 영역을 식별하고 해결한다. 세마틱 카빙(Semantic Carving)은 파일 내용의 의미론적 분석과 문맥 정보를 통해 파편 사이의 관계를 파악한다. 기계학습 기반 카빙은 패턴 인식과 분류 알고리즘으로 데이터 특성을 학습해 지능적인 복구를 시도하며, 딥러닝 모델은 파일 조각 연결에 활용될 수 있다.
복구 가능성을 제한하는 조건
카빙은 파일 시스템 정보가 없는 환경에서 강력한 수단이지만, 모든 데이터를 되살릴 수 있는 방법은 아니다. 심하게 파편화된 파일은 정확한 재결합이 어렵고, 삭제된 영역이 새 데이터로 덮어써졌다면 복구할 수 없다.
압축되거나 암호화된 데이터는 시그니처를 식별하기 어렵다. 시그니처가 중복되면 파일을 잘못 식별하거나 정확한 파일 경계를 정하기 어려울 수 있다. 테라바이트 규모 저장 매체를 처리하려면 효율적인 분석이 필요하며, 실시간 분석에는 제약이 있고 계산 자원도 한계가 된다. 파일 일부가 손상된 경우에는 완전한 복구가 어려울 수 있다.
포렌식 현장에서 쓰이는 도구
Autopsy & Sleuth Kit은 다양한 카빙 기능을 제공하는 오픈소스 디지털 포렌식 플랫폼이다. Foremost는 UNIX/Linux 환경에서 사용하는 파일 카빙 도구이며, PhotoRec은 이미지·비디오·문서 등 여러 파일 형식의 복구에 특화되어 있다.
Scalpel은 사용자 정의 헤더/푸터를 지원하는 고성능 파일 카빙 도구다. R-Studio는 복잡한 데이터 복구와 카빙 기능을 갖춘 상용 소프트웨어이며, EnCase Forensic은 법정 증거 수준의 데이터 카빙 및 분석에 사용된다.
손상 상태에 따른 적용 장면
삭제된 증거 문서를 찾는 경우
상황: 기업 비리 수사 과정에서 회계 담당자가 중요 증거 문서를 삭제
적용 기법:
- NTFS MFT 분석과 데이터 카빙 병행
- Excel 파일 시그니처(50 4B 03 04) 기반 카빙
- 파일 내부 구조 검증으로 완전성 확인
결과: 삭제된 회계 문서 95% 이상 복구하여 증거 확보
손상된 SD 카드에서 이미지 복구
상황: 범죄 현장에서 발견된 손상된 SD 카드의 사진 증거 필요
적용 기법:
- 원시 데이터 복제 후 다중 패스 카빙 적용
- JPEG 헤더/푸터 매칭(FF D8 FF ~ FF D9)
- 손상된 섹터 우회 및 부분 이미지 복구
결과: 파일 시스템이 손상되었으나 카빙으로 중요 이미지 파일 80% 복구
포맷된 데이터베이스 서버를 복원할 때
상황: 악의적으로 포맷된 기업 데이터베이스 서버 복구 필요
적용 기법:
- 딥 카빙으로 데이터베이스 파일 구조 분석
- SQL 데이터베이스 파일 헤더 및 페이지 구조 기반 복구
- 테이블 구조와 인덱스 재구성
결과: 고객 데이터와 트랜잭션 로그 대부분 복구하여 시스템 복원
변화하는 저장 환경과 카빙 기술
데이터 카빙은 머신러닝과 딥러닝을 활용한 파일 구조 인식, 가상화 환경과 클라우드 스토리지에 특화된 분석, 다양한 IoT 장치의 데이터 복구 방향으로 발전하고 있다. 자동화된 데이터 분류와 관련성 평가, 컨텍스트 기반 카빙과 시그니처 기반 카빙의 통합, 메타데이터 분석과 내용 기반 카빙의 병행도 이 흐름에 포함된다.
클라우드 기반 카빙은 분산 처리로 대용량 데이터를 빠르게 분석하고 확장 가능한 컴퓨팅 자원을 활용한다. 전문 분석 도구를 서비스형 소프트웨어(SaaS) 형태로 제공하는 방식도 포함된다. 대규모 카빙 작업에 퀀텀 컴퓨팅 기술을 활용할 가능성도 논의되며, 메모리와 휘발성 데이터를 대상으로 한 실시간 카빙 기술도 발전하고 있다.
증거 복구 과정에서 지켜야 할 경계
복구된 데이터에는 개인정보가 포함될 수 있다. 법정 증거로 사용하려면 카빙 과정의 무결성을 증명할 수 있어야 하며, 적법한 권한 없이 타인의 데이터를 복구하면 법적 문제가 발생할 수 있다.
증거 취급 과정 전체를 문서화하는 체인 오브 커스터디(Chain of Custody)도 필요하다. 데이터 복구와 분석에 관한 법률은 국가별로 차이가 있으므로 적용 환경의 규제 역시 고려해야 한다.