디스크 이미지 분석 - Autopsy은(는) 무엇을 하나요?
사용 시기
- 포렌식 디스크 이미지가 있고 그 내용에 대한 체계적인 분석이 필요할 때
- 파일 복구, 키워드 검색, 타임라인 분석이 필요한 조사 중일 때
- 비기술적 이해관계자가 포렌식 증거에 대한 시각적 보고서를 필요로 할 때
- 파일 시스템 메타데이터, 삭제된 파일, 임베디드 아티팩트를 검사할 때
- 여러 디스크 이미지로부터 종합적인 사례를 구축할 때
사전 요구 사항
- Autopsy 4.x 설치 (Windows) 또는 Autopsy 4.x + The Sleuth Kit (Linux)
- 원시(dd), E01(EnCase), 또는 AFF 형식의 포렌식 디스크 이미지
- 최소 8GB RAM (대용량 이미지에는 16GB 권장)
- Autopsy용 Java Runtime Environment (JRE) 8+
- Autopsy 케이스 데이터베이스를 위한 충분한 디스크 공간 (이미지 크기의 2~3배)
- 파일 식별을 위한 해시 데이터베이스 (NSRL, 알려진 악성 해시)
워크플로우
1단계: Autopsy 설치 및 환경 구성
# Linux에서 Sleuth Kit 및 Autopsy 설치
sudo apt-get install autopsy sleuthkit
# 공식 소스에서 Autopsy 4.x (GUI 버전) 다운로드
wget https://github.com/sleuthkit/autopsy/releases/download/autopsy-4.21.0/autopsy-4.21.0.zip
unzip autopsy-4.21.0.zip -d /opt/autopsy
# Windows에서는 sleuthkit.org에서 MSI 설치 프로그램 실행
# Autopsy 실행
/opt/autopsy/bin/autopsy --nosplash
# Autopsy와 함께 Sleuth Kit 명령줄 분석 도구 사용
sudo apt-get install sleuthkit
2단계: 새 케이스 생성 및 디스크 이미지 추가
1. Autopsy 실행 > "New Case"
2. 케이스 이름 입력: "CASE-2024-001-Workstation"
3. 기본 디렉토리 설정: /cases/case-2024-001/autopsy/
4. 케이스 번호, 검사관 이름 입력
5. "Add Data Source" 클릭
6. "Disk Image or VM File" 선택
7. 다음으로 이동: /cases/case-2024-001/images/evidence.dd
8. 원본 시스템의 시간대 선택
9. 인제스트 모듈 구성 (3단계 참조)
# 또는 Sleuth Kit CLI를 사용하여 먼저 이미지 확인
img_stat /cases/case-2024-001/images/evidence.dd
# 이미지의 파티션 목록 보기
mmls /cases/case-2024-001/images/evidence.dd
# 출력 예시:
# DOS Partition Table
# Offset Sector: 0
# Units are in 512-byte sectors
# Slot Start End Length Description
# 00: ----- 0000000000 0000002047 0000002048 Primary Table (#0)
# 01: 00:00 0000002048 0001026047 0001024000 NTFS (0x07)
# 02: 00:01 0001026048 0976771071 0975745024 NTFS (0x07)
# 파티션 내 파일 목록 보기 (2048 섹터 오프셋)
fls -o 2048 /cases/case-2024-001/images/evidence.dd
3단계: 인제스트 모듈 구성 및 실행
다음 Autopsy 인제스트 모듈을 활성화하세요:
- Recent Activity: 브라우저 기록, 다운로드, 쿠키, 북마크 추출
- Hash Lookup: NSRL 및 알려진 악성 해시 세트와 파일 비교
- File Type Identification: 확장자가 아닌 시그니처로 파일 식별
- Keyword Search: 전문 검색을 위한 콘텐츠 색인
- Email Parser: PST, MBOX, EML 파일에서 이메일 추출
- Extension Mismatch Detector: 잘못된 확장자를 가진 파일 찾기
- Exif Parser: 이미지에서 메타데이터 추출 (GPS, 카메라, 타임스탬프)
- Encryption Detection: 암호화된 파일 및 컨테이너 식별
- Interesting Files Identifier: 사용자 정의 규칙 세트와 일치하는 파일 플래그 지정
- Embedded File Extractor: ZIP, Office 문서, PDF에서 파일 추출
- Picture Analyzer: PhotoDNA 또는 해시 매칭을 사용한 이미지 분류
- Data Source Integrity: 인제스트 중 이미지 해시 검증
# 알려진 양호 파일 필터링을 위한 NSRL 해시 세트 구성
# https://www.nist.gov/itl/ssd/software-quality-group/national-software-reference-library-nsrl 에서 NSRL 다운로드
wget https://s3.amazonaws.com/rds.nsrl.nist.gov/RDS/current/rds_modernm.zip
unzip rds_modernm.zip -d /opt/autopsy/hashsets/
# Autopsy로 가져오기:
# Tools > Options > Hash Sets > Import > NSRLFile.txt 선택
# "Known"으로 표시 (알려진 양호 파일 필터링)
4단계: 파일 시스템 분석 및 삭제된 파일 복구
# Autopsy GUI에서: 트리 구조 탐색
# - Data Sources > evidence.dd > vol2 (NTFS)
# - 디렉토리 트리 검사, 삭제된 파일 확인 (X 표시)
# Sleuth Kit CLI를 사용한 대상 복구
# 삭제된 파일 목록 보기
fls -rd -o 2048 /cases/case-2024-001/images/evidence.dd
# 특정 삭제된 파일을 inode로 복구
icat -o 2048 /cases/case-2024-001/images/evidence.dd 14523 > /cases/case-2024-001/recovered/deleted_document.docx
# 디렉토리에서 모든 파일 추출
tsk_recover -o 2048 -d /Users/suspect/Documents \
/cases/case-2024-001/images/evidence.dd \
/cases/case-2024-001/recovered/documents/
# 상세 파일 메타데이터 확인
istat -o 2048 /cases/case-2024-001/images/evidence.dd 14523
# 표시: 생성, 수정, 접근, MFT 변경 타임스탬프, 크기, 데이터 실행
5단계: 키워드 검색 수행 및 증거 태그 지정
Autopsy에서:
1. Keyword Search 패널 > "Ad Hoc Keyword Search"
2. 검색어: 신용카드 패턴, 주민등록번호 정규식, 이메일 주소
3. 신용카드 정규식 예시: \b(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14})\b
4. 주민등록번호 정규식 예시: \b\d{3}-\d{2}-\d{4}\b
5. 결과 검토 > 항목 우클릭 > "Add Tag"
6. 태그 생성: "Evidence-Critical", "Evidence-Supporting", "Requires-Review"
7. 태그된 항목에 관련성을 설명하는 주석 추가
# Sleuth Kit을 사용한 CLI 키워드 검색
srch_strings -a -o 2048 /cases/case-2024-001/images/evidence.dd | \
grep -iE '(password|secret|confidential)' > /cases/case-2024-001/keyword_hits.txt
# 특정 파일 시그니처 검색
sigfind -o 2048 /cases/case-2024-001/images/evidence.dd 25504446
# 25504446 = %PDF 헤더 시그니처
6단계: 타임라인 구축 및 보고서 생성
Autopsy에서:
1. 타임라인 뷰어: Tools > Timeline
2. 관심 날짜 범위 선택 (사고 기간)
3. 이벤트 유형별 필터: 파일 생성, 수정, 접근, 웹 활동
4. 의심스러운 시간대로 확대
5. 외부 분석을 위해 타임라인 이벤트를 CSV로 내보내기
보고서 생성:
1. Generate Report > HTML Report
2. 포함할 태그된 항목 및 데이터 소스 선택
3. 보고서 섹션 구성: 파일 목록, 키워드 적중, 타임라인
4. /cases/case-2024-001/reports/ 로 내보내기
# Sleuth Kit mactime을 사용한 CLI 타임라인
fls -r -m "/" -o 2048 /cases/case-2024-001/images/evidence.dd > /cases/case-2024-001/bodyfile.txt
# bodyfile에서 타임라인 생성
mactime -b /cases/case-2024-001/bodyfile.txt -d > /cases/case-2024-001/timeline.csv
# 특정 날짜 범위로 타임라인 필터링
mactime -b /cases/case-2024-001/bodyfile.txt \
-d 2024-01-15..2024-01-20 > /cases/case-2024-001/incident_timeline.csv
주요 개념
| 개념 | 설명 |
|---|---|
| 인제스트 모듈 | 데이터 소스를 가져올 때 자동으로 분석을 수행하는 플러그인 |
| MFT (Master File Table) | 모든 파일 항목과 속성을 기록하는 NTFS 메타데이터 구조 |
| 파일 카빙 | 파일 시그니처를 사용하여 할당되지 않은 공간에서 파일 복구 |
| 해시 필터링 | NSRL 또는 사용자 정의 해시 세트를 사용하여 알려진 양호 파일을 제외하거나 알려진 악성 파일 플래그 지정 |
| 타임라인 분석 | 파일 시스템 및 사용자 활동 이벤트의 시간순 재구성 |
| 삭제된 파일 복구 | 디렉토리 항목은 제거되었지만 데이터는 남아 있는 파일 복원 |
| 키워드 색인 | 슬랙 공간을 포함한 모든 파일 콘텐츠에서 구축된 전문 검색 인덱스 |
| 아티팩트 추출 | 브라우저, 이메일, 레지스트리 및 OS별 아티팩트의 자동 구문 분석 |
도구 및 시스템
| 도구 | 목적 |
|---|---|
| Autopsy | 디스크 이미지 분석을 위한 오픈소스 GUI 포렌식 플랫폼 |
| The Sleuth Kit (TSK) | Autopsy의 기반이 되는 명령줄 포렌식 툴킷 |
| fls | 삭제된 항목을 포함하여 디스크 이미지의 파일 및 디렉토리 목록 표시 |
| icat | inode 번호로 디스크 이미지에서 파일 콘텐츠 추출 |
| mactime | TSK bodyfile 형식에서 타임라인 생성 |
| mmls | 디스크 이미지의 파티션 레이아웃 표시 |
| NSRL | 알려진 소프트웨어 파일 식별을 위한 NIST 해시 데이터베이스 |
| sigfind | 섹터 수준에서 파일 시그니처 검색 |
일반적인 시나리오
시나리오 1: 직원 데이터 절도 조사 직원 워크스테이션 이미지를 가져오고 모든 인제스트 모듈을 실행한 후, 회사 기밀 파일 이름과 키워드를 검색하고, Recent Activity에서 USB 연결 아티팩트를 조사하며, 클라우드 스토리지 클라이언트 아티팩트를 확인하고, 데이터 스테이징 증거를 위해 삭제된 파일을 검토한 후, 법무팀을 위한 HTML 보고서를 생성합니다.
시나리오 2: 악성코드 감염 포렌식 손상된 시스템 이미지를 추가하고 Extension Mismatch 및 Encryption Detection 모듈을 활성화한 후, 실행 증거를 위해 프리페치 디렉토리를 조사하고, 알려진 악성코드 해시를 검색하며, 감염 기간을 기준으로 타임라인을 구축하고, 의심스러운 실행 파일을 추출하여 샌드박스에서 추가 분석을 수행합니다.
시나리오 3: 아동 성착취물 (CSAM) 조사 PhotoDNA 및 Project VIC 해시 세트를 활성화하여 이미지를 가져오고 Picture Analyzer 모듈을 실행한 후, 모든 이미지 파일을 알려진 악성 데이터베이스에 대해 해싱하고, 일치 항목을 심각도별로 태그 및 분류한 후, 증거물 연속성 문서가 포함된 법 집행 보고서를 생성합니다.
시나리오 4: 지적 재산권 분쟁 하나의 케이스에 여러 직원의 디스크 이미지를 별도의 데이터 소스로 가져오고, 독점 용어 및 프로젝트 이름에 대해 키워드 검색을 수행하며, 소스 간 파일 해시를 비교하고, 파일 접근 및 전송 패턴을 보여주는 타임라인을 구축한 후, 법적 검토를 위해 증거를 내보냅니다.
출력 형식
Autopsy 케이스 분석 요약:
케이스: CASE-2024-001-Workstation
이미지: evidence.dd (500GB NTFS)
파티션: 2개 (시스템 예약 + 주 파티션)
전체 파일 수: 245,832
삭제된 파일 수: 12,456 (복구 가능: 8,234)
인제스트 결과:
해시 일치 (알려진 악성): 3개 파일
확장자 불일치: 17개 파일
키워드 적중: 45개 파일에서 234건
암호화된 파일: 5개 컨테이너 탐지
EXIF 데이터 추출: 1,245개 이미지에서 메타데이터 추출
태그된 증거:
중요: 12개 항목
보조: 34개 항목
검토: 67개 항목
타임라인 이벤트: 1,234,567개 (사고 기간으로 필터링: 892개)
보고서: /cases/case-2024-001/reports/autopsy_report.html