침해사고분석 이론 3
메모리 덤프
개념
- 컴퓨터의 RAM에 저장된 모든 내용을 파일로 저장하는 과정
- 사고 발생 당시의 시스템 상태를 포착하여 증거를 보존하는 중요한 과정
- 침해사고 분석의 초기 단계에서 메모리 덤프를 확보하는 것이 중요
- 활용 사례: 악성코드 분석, 시스템 문제 진단, 침해 사고 조사 등
종류
- 전체 메모리 덤프: 모든 RAM 데이터를 포함
- 커널 메모리 덤프: 운영체제 커널 영역만 포함
- 미니 메모리 덤프: 오류 관련 최소한의 정보만 포함
- 사용자 모드 프로세스 덤프: 특정 애플리케이션의 메모리만 포함
도구
- FTK Imager
- Volatility
- Belkasoft Live RAM Capturer
- Magnet RAM Capture
- Dumpit
주요 도구
FTK Imager
주요 기능
- 디스크 이미징: 디스크 또는 특정 파티션의 이미지를 생성하며, 무결성 검증을 위한 해시 값 생성
- 메모리 덤프: 실행 중인 메모리 상태를 파일로 저장
- 증거 수집: 파일, 폴더, 메모리 등 다양한 데이터 수집
- 기본 분석: 수집된 데이터에서 특정 문자열 검색 및 파일 분석
메모리 분석 기능
- 프로세스 분석: 실행 중인 프로세스 확인
- DLL 분석: 동적 라이브러리 파일 확인
- 네트워크 연결 분석: 열린 포트와 연결된 IP 주소 분석
- 문자열 검색: 메모리에 남은 키워드 또는 데이터 패턴 탐색
- 히스토리 분석: 사용 흔적 추적
장단점
장점
- 다양한 파일 시스템 지원
- 강력한 검색 및 해시 검증 기능
- 사용자 친화적인 인터페이스
단점
- 실시간 분석 기능 부족
- 정적 분석 중심
Redline
개념
- FireEye Mandiant에서 개발한 무료 메모리 분석 도구
- 침해사고 발생 시 휘발성 데이터를 수집하고 분석
주요 기능
- 메모리 분석: 실행 중인 프로세스 및 메모리 상태 분석
- 파일 시스템 분석: 파일의 변화 기록 파악
- 레지스트리 분석: 시스템 설정 및 키 변화 분석
- 이벤트 로그 분석: 시스템 및 보안 이벤트 추적
- 네트워크 분석: 네트워크 연결 및 포트 상태 파악
NTFS 메타파일 분석
주요 메타파일
1. $MFT (Master File Table)
- 역할: NTFS 파일 시스템에서 모든 파일과 디렉터리 정보를 저장
- 분석 포인트
- 삭제된 파일, 숨겨진 파일, 변조된 파일 흔적
- 파일의 MAC 타임 정보를 통해 파일 시스템 활동 및 시간 흐름 분석
- $MFT 엔트리 속성 분석을 통해 파일 세부 정보 확인
2. $LogFile
- 역할: NTFS 파일 시스템의 트랜잭션 로그를 저장하여 데이터 무결성 보장
- 분석 포인트
- 시스템 충돌 또는 비정상 종료 전 파일 시스템 활동 재구성
- 악성코드의 파일 조작 시도 확인
3. $Bitmap
- 역할: 디스크의 클러스터 할당 상태를 저장
- 분석 포인트
- 디스크 공간 사용 현황 파악
- 숨겨진 파일이나 파티션 존재 여부 확인
4. $Boot
- 역할: 운영체제를 시작하는 데 필요한 부트 섹터 코드 저장
- 분석 포인트
- 루트킷 등의 악성코드가 부트 과정을 변조했는지 확인
5. $RECYCLE.BIN
- 역할: 휴지통 디렉터리로, 삭제된 파일의 흔적 보존
- 분석 포인트
- 악성코드 감염 경로 및 정보 유출 시도 파악
6. System Volume Information
- 역할: 시스템 복원 지점과 볼륨 섀도 복사본 저장
- 분석 포인트
- 과거 시스템 상태 확인
- 악성코드 감염 시점 추적
7. $Secure
- 역할: 파일 및 디렉터리의 접근 제어 목록(ACL) 저장
- 분석 포인트
- 중요 파일/디렉터리의 접근 권한 변경 여부 확인
8. $Extend
- 역할: 파일 및 디렉터리 확장 속성 저장
- 분석 포인트
- 악성코드가 확장 속성을 이용해 데이터를 은닉했는지 확인
분석 절차
- 메모리 덤프 생성
- FTK Imager 또는 Magnet RAM Capture로 메모리 덤프 확보
- 휘발성 데이터 분석
- Volatility, Redline 도구로 프로세스, 네트워크, DLL 등 분석
- NTFS 메타파일 분석
- $MFT, $LogFile 등 메타파일을 분석하여 파일 시스템 변화 확인
- 결과 정리 및 보고서 작성
- 수집된 데이터를 정리하고 침해사고 분석 결과 작성
침해사고 분석 체크리스트
- 시스템 정보
systeminfo
,ipconfig /all
- 계정 정보
net user
,wmic useraccount get name
- 프로세스 정보
tasklist
,process explorer
- 서비스 정보
services.msc
,net start
- 네트워크 연결 정보
netstat -ano
,tcpview
- 방화벽 설정
netsh firewall show config
- 로그 분석
eventvwr.msc
,wevtutil
- 레지스트리
reg query
,regedit
- 파일 정보
dir
,explorer
- 시작 프로그램
msconfig
,Autoruns
- 메모리 덤프
windbg
,Volatility
- DLL 정보
Process Explorer
- 루트킷 탐지
GMER
,Rootkit Revealer
- 브라우저 히스토리
BrowsingHistoryView
- USB 사용 기록
devmgmt.msc
,USBDeview