디지털 포렌식(Digital Forensics)은 법적 증거로 활용 가능한 디지털 증거를 수집, 보존, 분석하는 과학적 방법론이다. 사이버 범죄 수사와 인시던트 대응의 핵심이다.
포렌식 조사 원칙
1. 증거 무결성 보존 (원본 훼손 금지)
2. 연속 보관 (Chain of Custody) 유지
3. 재현 가능한 절차 사용
4. 문서화 (모든 과정 기록)
증거 수집 우선순위 (휘발성 순서)
높은 우선순위 (먼저 수집):
1. CPU 레지스터 & 캐시
2. 메모리 (RAM) 내용
3. 네트워크 상태, 연결 정보
4. 실행 중인 프로세스
5. 열린 파일 핸들
낮은 우선순위 (나중에 수집):
6. 디스크 이미지
7. 원격 시스템 로그
8. 백업 데이터
메모리 포렌식 (Volatility)
bash
# 메모리 덤프 획득
# WinPmem: winpmem_mini_x64.exe memory.raw
# Volatility3로 분석
python vol.py -f memory.raw windows.pslist # 프로세스 목록
python vol.py -f memory.raw windows.netscan # 네트워크 연결
python vol.py -f memory.raw windows.cmdline # 명령줄 인수
python vol.py -f memory.raw windows.malfind # 의심 코드 탐지
python vol.py -f memory.raw windows.hashdump # 계정 해시
# 프로세스 덤프
python vol.py -f memory.raw windows.dumpfiles --pid 1234
디스크 포렌식
bash
# 디스크 이미지 생성 (dd)
dd if=/dev/sda of=/mnt/evidence/disk.img bs=512 conv=noerror,sync
# MD5 해시로 무결성 확인
md5sum /mnt/evidence/disk.img > disk.img.md5
# Autopsy/TSK 분석
mmls disk.img # 파티션 테이블
fls -r disk.img 2 # 파일 목록 (삭제된 파일 포함)
icat disk.img 2 12345 # inode로 파일 복구
# 타임라인 분석
fls -m / -r disk.img | mactime -b - -d > timeline.csv
로그 포렌식
bash
# Windows 이벤트 로그 분석
# 중요 이벤트 ID:
# 4624: 로그온 성공
# 4625: 로그온 실패
# 4688: 프로세스 생성
# 4698: 예약 작업 생성
# 4720: 사용자 계정 생성
# 보안 로그에서 의심 로그온 추출
Get-WinEvent -LogName Security | Where-Object {$_.Id -eq 4624} |
Select-Object TimeCreated, @{N='User';E={$_.Properties[5].Value}} |
Where-Object {$_.User -match 'admin'}
관련 문서
- •[incident-response|[인시던트 대응]]
- •[[apt|APT (지능형 지속 위협)]]
- •[[malware-types|악성코드 유형]]
- •[[lateral-movement|횡적 이동]]