메모리 포렌식 개요
메모리에는 프로세스가 사용한 데이터, 네트워크 정보 등 하드 디스크에서 찾을 수 없는 흔적이나 휘발성 데이터를 분석하여 악의적인 행동을 조사하고 식별한다.
1. 메모리 포렌식
- 메모리 포렌식은 메모리(RAM)의 존재하는 휘발성 데이터를 덤프하여 분석하는 것을 의미한다.
* 휘발성 데이터란?
- 전원 공급이 끊기거나 시간 흐름에 따라 저장공간에서 사라지는 데이터를 의미
2. 메모리 덤프
- 메모리 덤프는 특정 순간에서 컴퓨터 메모리 데이터의 스냅 샷 캡쳐 파일이다.
메모리 분석 시 무결성을 위해서 가장 순수한(변조되지 않은) 메모리 덤프 파일을 얻어야 한다. 덤프 파일을 얻기 위해 다음과 같은 방법들이 있다.
- 하드웨어
- PCI 장치
- FireWire 장치 - 소프트웨어
- DD
- KntDD
- MDD
- WIN32(64)DD
- Fastdd
- 기타상용도구들.. - OS 크래시 덤프
- OS가 시스템에 일어난 오류문제의 원인을 찾기 위해 생성하는 메모리 덤프이다.
크래시 덤프 종류로는 작은 메모리 덤프, 커널 메모리 덤프, 전체 메모리 덤프가 있다. - 하이버네이션 파일
- 최대 절전 모드를 사용하기 위해 현재 작업 중인 내용을 하드 디스크에 기록한다.
3. 메모리 분석 도구
- Volatility
대표적인 파이썬 기반 메모리 분석 도구로서 다양한 기능과 플러그인을 제공한다.
- Redline
.NET 프레임워크가 설치되어 있지 않다면 실행되지 않는다는 단점과 함께 포터블 형식으로 다른 시스템에서 사용할 수 있는 장점도 존재한다.