[DFIR] 디지털 증거의 이해: 동일성, 무결성, 연계보관성과 해시
디지털 증거의 특성과 동일성·무결성, 분석 도구의 정확성, 연계보관성, 휘발성에 따른 수집 순서와 해시를 정리합니다.
디지털 포렌식에서는 데이터를 찾아내는 기술만큼 수집하고 보관하는 절차가 중요합니다. 분석 결과를 증거로 사용하려면 원본과 같은 데이터인지, 수집 이후 변경되지 않았는지, 분석 도구와 결과를 신뢰할 수 있는지 설명해야 합니다.
디지털 증거의 이해
- 디지털 포렌식은 기술과 절차를 함께 다루는 분야
- Forensically Sound: 증거를 다루는 절차와 기법이 적절하게 수행된 상태
- 증거의 신뢰성을 설명하는 네 가지 원칙을 지키는 것이 중요
- 동일성 / 무결성 / 프로그램의 정확성 / 분석가의 전문성
디지털 증거란 무엇인가
디지털 기기와 정보저장매체
- 디지털 증거: 전자 장치에 저장되거나 송수신되는 정보 중 수사상 가치가 있는 정보
- 디지털 기기: 컴퓨터, CCTV, 휴대전화, 태블릿, 블랙박스 등
- 정보저장매체: HDD, SSD, SD 카드 등
- 관련 규칙: 경찰청 「디지털 증거의 처리 등에 관한 규칙」
- 형사소송법을 근간으로 한 분석 규칙
매체 안의 전자정보가 증거의 대상입니다. 매체는 정보를 담는 컨테이너이므로 매체를 확보하는 것과 그 안의 모든 정보를 분석하는 것은 구분해야 합니다. 다뤄야 할 정보의 범위는 사건이나 의뢰 목적과 연결됩니다.
보관증거와 생성증거
- 보관증거
- 사용자가 작성하거나 저장한 정보
- 문서, 사진, 이메일 본문, 메신저 대화 등
- 내용 자체가 증거로 사용되나 사용자가 삭제하거나 변조하려는 대상이 되기 쉬움
- 생성증거
- 장치나 프로그램이 자동으로 남긴 정보
- 타임스탬프, 시스템 로그, 접속 기록, 레지스트리 등
- 사용자가 존재를 인식하지 못한 흔적이 분석의 단서가 될 수 있음
Artifact는 시스템 동작과 사용자 활동을 해석하는 데 활용하는 흔적입니다. 문서의 본문뿐 아니라 메타데이터를 함께 살피는 것도 이런 흔적을 확인하는 과정입니다. 다만 자동으로 생성된 기록이라는 이유만으로 정확성을 단정하지 않고 기록이 만들어진 조건을 함께 봐야 합니다.
보관증거는 문제 발생 시 가장 먼저 삭제되는 증거이기도 합니다.
디지털 증거를 어렵게 만드는 네 가지 특성
- 비가시성 → 도구의 신뢰성
- 전자정보를 읽고 해석하려면 도구가 필요함
- 도구가 잘못 해석할 수 있으므로 프로그램의 정확성도 검증해야 함
- 복제용이성 → 동일성 증명
- 원본과 구별하기 어려운 사본을 만들 수 있음
- 원본과 사본의 데이터가 같은지 해시 등으로 확인
- 취약성 → 무결성 보장
- 위조·변조·삭제에 취약하며 접근 과정에서도 정보가 바뀔 수 있음
- 쓰기 방지, 봉인, 해시 확인, 연계보관성으로 보존 과정을 설명
- 대규모성 → 선별과 범위
- 한 매체에 많은 파일이 존재하므로 선별과 검색이 필요함
- 수집·분석 목적과 허용된 범위를 함께 고려
증거 능력의 네 가지 원칙
1. 동일성
- 원본과 사본의 데이터가 같은지 확인하는 원칙
- 해시 대조를 통한 객체 사이의 비교
- 이미징 오류, 다른 매체의 복제, 이미지 세그먼트 누락 등이 확인 대상
원본과 사본을 비교하려면 같은 알고리즘으로 같은 범위의 데이터를 계산해야 합니다. 이미징을 마쳤다는 사실만으로 복제가 정확하다고 판단하지 않고 검증 결과까지 확인합니다.
2. 무결성
- 증거를 확보한 시점부터 제출할 때까지 변경되지 않았는지 확인하는 원칙
- 단계별 해시, 봉인, 연계보관성을 통한 시간에 따른 비교와 이력 확인
- 보관 기록의 공백, 쓰기 방지 없는 접근, 봉인 훼손 등이 확인 대상
동일성은 원본과 사본이 같은지를, 무결성은 그 상태가 유지되었는지를 묻습니다. 분석실 입고 시점과 제출 시점의 해시가 같더라도 압수 직후의 상태와 이송 기록이 없다면, 입고 전 구간은 별도로 설명해야 합니다. CCTV 영상도 누가, 왜 접근했고 어떤 보존 조치를 했는지 함께 기록합니다.
3. 프로그램의 정확성
-
데이터를 처리하는 장치와 프로그램이 정확하게 동작했는지 확인
-
도구명, 버전, 설정, 실행 절차와 결과 기록
-
검증된 도구를 사용하고 독립적인 도구로 결과를 교차 확인
-
외부 검증: NIST CFTT의 도구 시험 결과 등 참고
-
자체 검증: KAT(Known Answer Test), 정답을 알고 있는 입력으로 출력 확인
-
교차 검증: 둘 이상의 독립적인 도구로 같은 대상의 결과 비교
-
자체 스크립트: 소스와 검증 과정, 재현 방법을 함께 제시
오픈소스는 내부 동작을 살펴볼 수 있다는 장점이 있습니다. 상용 도구든 오픈소스든 이름만으로 정확성이 보장되는 것은 아니므로 사용한 버전과 검증 근거를 남기는 것이 중요합니다.
4. 분석가의 전문성
- 압수·분석·보고서 작성 과정을 수행하고 설명할 수 있는 전문성
- 자격과 훈련 이력뿐 아니라 재현 가능한 기록이 중요
- 관찰한 사실과 분석가의 해석을 구분
- 실패한 시도와 확인하지 못한 범위도 기록
파일 전송 기록이 있다는 것과 특정 사람이 직접 파일을 유출했다는 것은 다른 판단입니다. 계정과 장치의 활동 기록만으로 사람의 행위를 단정하지 않고 확인된 사실과 추가 입증이 필요한 부분을 나눠 설명해야 합니다. 복구에 실패했다면 시도한 방법과 결과를 남기는 것이 좋습니다.
동일성은 공간적인 특성을 지니며 무결성은 시간적인 특성을 가집니다.
원칙이 지켜지지 않았을 때
-
동일성: 확보한 이미지가 원본과 같은지 설명하기 어려움
-
무결성: 보관·이송 중 데이터가 유지되었는지 설명하기 어려움
-
프로그램의 정확성: 도구의 결함이나 해석 오류를 검토하기 어려움
-
분석가의 전문성: 다른 사람이 분석을 재현하거나 결론의 근거를 확인하기 어려움
-
관련 판례: 대법원 2007도7257, 2013도2511
- 함께 살펴볼 내용: 디지털 증거에 관한 구체적인 판단과 해시의 법적 의미
모든 접촉은 흔적을 남긴다
- 로카르의 교환 원리: 두 물체가 접촉하면 상호 간에 물질 교환이 일어난다는 원리
- 디지털 환경에서는 파일 생성·수정·삭제·전송에 따른 흔적 분석과 연결
- 주요 분석 대상
- 메타데이터와 타임스탬프
- 레지스트리와 이벤트 로그
- 캐시와 임시파일
- 비할당 영역에 남은 데이터
분석가는 행위의 흔적이 어디에 축적되는지 살펴봅니다. 증거를 수집하거나 분석하는 사람의 조작도 흔적을 남길 수 있으므로 대응 과정에서 수행한 작업을 기록해야 합니다.
Daubert 기준
Daubert 기준은 미국 연방대법원의 Daubert 판결(1993)에서 제시한 과학적 전문가 증언의 신뢰성 판단 기준입니다.
- 검증 가능성: 도구와 기법을 시험할 수 있는가
- 동료 심사: 학계나 업계의 검토를 거쳤는가
- 알려진 오류율: 오류 가능성과 한계를 설명할 수 있는가
- 일반적 수용: 해당 분야에서 받아들여지는 방법인가
연계보관성과 휘발성
Chain of Custody
연계보관성(Chain of Custody)은 증거를 확보한 시점부터 제출할 때까지의 이력을 끊김 없이 기록하고 관리하는 것입니다. RFC 3227의 4.1절에서도 증거를 발견·취급·이관한 이력의 기록 항목을 설명합니다. 누가 언제 증거를 다뤘고 어떤 작업을 수행했으며 누구에게 넘겼는지 이어서 기록합니다.
- 필수 기록 항목
- 일시
- 취급자와 수령자
- 수령·이송·분석·보관·인계 등 수행한 행위
- 해시 확인 결과
- 보관 장소
- 전자정보확인서, 압수조서 등 관련 서류와 함께 관리
- 기록이 끊긴 구간은 접근과 변경 가능성을 설명하기 어려워짐
해시는 데이터의 상태를 비교하고 연계보관성은 그 사이의 취급 과정을 설명합니다. 수집 중 변경이 발생했거나 작업에 제약이 있었다면 그 이유와 영향을 기록해야 합니다.
휘발성이 높은 정보부터 수집
휘발성은 전원 종료나 시간 경과에 따라 정보가 사라지기 쉬운 정도를 뜻합니다. 사라지기 쉬운 정보부터 수집하는 원칙은 RFC 3227의 2.1절에서 참고할 수 있습니다. 전원이 켜진 시스템에서는 RAM과 네트워크 상태를 확보할 필요가 있는지 먼저 판단합니다.
- 레지스터·캐시: 휘발성이 매우 높고 수집에 현실적인 제약이 있음
- RAM: 프로세스, 연결 상태, 복호화된 데이터 등의 단서가 남을 수 있음
- 네트워크 상태: 연결 정보, ARP 캐시, 라우팅 테이블 등
- 임시 파일시스템: 재부팅 등으로 사라질 수 있음
- 디스크: 비교적 오래 남지만 덮어쓰기와 변경에 주의
- 원격 로그·백업: 별도 위치에 보존된 자료 확인
상황별 수집 사례
- RAM 획득이 불가능한 경우: 수집하지 못한 이유와 한계 기록
- 종료할 수 없는 파일 서버: 라이브 수집을 고려하고 수집 행위 자체의 영향 기록
- 꺼진 시스템의 디스크: 불필요한 부팅을 피하고 쓰기 방지 후 이미징
- 스마트폰: 비행기 모드나 차폐 백 등 원격 초기화를 막기 위한 조치 고려, 잠금 해제 시도 기록
수집 전에 살펴볼 것은 끄면 사라지는 정보, 켜면 바뀌는 정보, 원격으로 지워질 수 있는 정보입니다. 수집 행위로 시스템이 바뀌는 경우에도 무엇을 했는지 설명할 수 있어야 합니다.
복제와 해시
원본 보존과 복제
원본을 보존하고 복제한 데이터로 분석하는 것이 기본입니다. 복제 후에는 원본과 같은 데이터인지 확인하고 보존용 이미지와 분석에 사용할 사본을 구분해 관리합니다.
- 파일 복사
- 선택한 파일을 복사하는 방식
- 일반적인 파일 복사에는 삭제 파일, 비할당 영역, 파일 슬랙이 포함되지 않음
- 복사 과정에서 메타데이터가 바뀔 수 있음
- 이미징
- 획득한 데이터를 이미지 파일로 저장하는 방식
- 전체 매체를 비트 단위로 획득하면 삭제 데이터의 잔존 영역과 비할당 영역도 분석 대상에 포함
- E01은 분할 저장, 압축, 사건 메타데이터, 검증 정보 등을 지원하는 형식
- 하드카피
- 다른 디스크로 비트 단위 복제하는 방식
- 복제할 데이터를 담을 수 있는 용량의 대상 디스크 필요
복제 방식의 구분
복제와 수집에는 파일 복사, 하드카피, Raw 이미징, E01 이미징, 논리 이미징, 라이브 수집 등의 방식이 있습니다. 이 명칭들은 각각 복사 방법, 저장 형식, 수집 범위, 실행 상태를 나타냅니다. 분류 기준이 다르므로 하나의 수집 작업에 여러 명칭을 함께 사용할 수 있습니다.
- Raw·E01: 이미지의 저장 형식
- 논리 이미징: 선택한 논리적 범위의 정보 수집
- 라이브 수집: 실행 중인 시스템에서 정보 수집
중요한 것은 선택한 방식으로 무엇을 확보하고 무엇을 놓치는지 아는 것입니다. 파일 복사로 목적을 달성할 수 있더라도 그 결과만 보고 삭제 파일이 없다고 판단할 수는 없습니다.
해시 함수
- 같은 알고리즘에 같은 데이터를 입력하면 같은 값 출력
- 눈사태 효과: 입력의 작은 변화가 출력의 큰 변화로 이어지는 성질
- 일방향성: 출력에서 원래 입력을 역산하기 어렵게 설계된 성질
- 해시 알고리즘의 예: MD5, SHA-1, SHA-256
- SHA-1과 SHA-256의 정의는 NIST FIPS 180-4에서 확인 가능
- 주요 용도: 원본과 사본의 동일성 확인, 보존 과정의 데이터 변경 확인
해시는 디지털 지문에 비유되지만 모든 입력에 대해 절대 중복되지 않는 값이라는 뜻은 아닙니다. 비교할 때는 같은 알고리즘과 같은 데이터 범위를 사용해야 합니다. E01 컨테이너 파일 자체와 그 안에 저장된 원본 데이터도 구분해서 확인합니다.
- 해시와 함께 남길 정보
- 계산 대상과 범위
- 사용한 알고리즘
- 계산 시점과 해시값
- 도구명과 버전
- 이미징 완료 후 로그와 검증 결과 확인
- 분석 전 해시를 다시 계산해 보존된 데이터와 비교
해시값이 일치한다는 결과와 증거를 다룬 이력이 함께 있어야 데이터가 어떻게 보존되었는지 설명할 수 있습니다.
참고 자료
- 경찰청 「디지털 증거의 처리 등에 관한 규칙」
- 대법원 2007. 12. 13. 선고 2007도7257 판결
- 대법원 2013. 7. 26. 선고 2013도2511 판결
- RFC 3227 — Guidelines for Evidence Collection and Archiving
- NIST — Computer Forensics Tool Testing Program(CFTT)
- NIST FIPS 180-4 — Secure Hash Standard
- Daubert v. Merrell Dow Pharmaceuticals, Inc., 509 U.S. 579 (1993)