메모리 분석 도구

Digital Forensic Wikipedia
둘러보기로 가기 검색하러 가기

메모리 분석 도구란 획득한 물리 메모리부터 분석가에게 메모리가 수집된 당시의 시스템, 사용자 행위, 멀웨어, 은닉행위 등을 분석할 수 있는 여러 기능들을 제공한다.


메모리 분석 도구 기능 분석[편집]

메모리 분석 도구의 기능 분석을 위해 각 도구가 지원하는 OS와 64비트 지원 여부의 파악이 필요하다. 메모리 분석 도구의 기능들을 나열하면 멀웨어, 루트킷 및 은닉 프로세스 탐지, 네트워크 상태 확인, 문자열 검색, 이미지 카빙, 키체인 추출 가능 여부 등이 있다. 그 밖에 이메일 추출, 메신저 세션 획득, 로드한 드라이버 목록 등을 확인 하는 기능을 제공한다.
메모리 획득 도구의 성능을 비교할 수 있는 종속변인은 메모리 이미지의 포맷 지원 여부, 메모리 이미지의 운영체제 지원 여부, 실행 프로세스 분석, 은닉 개체 탐지 여부, 네트워크 환경 분석, 레지스트리 분석, 키워드 검색 등이 있다. 종속변인의 설정이유는 다음과 같다. 메모리 이미지의 포맷과 운영체제의 지원 여부를 통해 올바른 입력 데이터로 도구의 오작동을 방지할 수 있다. 또한, 실행 프로세스와 은닉 개체 탐지 여부는 시스템의 악성 코드 존재 유무와 안티포렌식 행위, 루트킷과 멀웨어 등의 정보를 알 수 있다. 네트워크 분석을 통해 정보 유출 및 악성 코드 행위 분석을 할 수 있다. 레지스트리 분석을 통해 사용자의 행위 분석을 할 수 있으며 키워드 검색으로 수사관이 원하는 아티팩트를 직접 찾아볼 수 있다. 이를 토대로 메모리 분석 도구의 기능 분석 전략은 [표 1]과 같다.

[표 1] 메모리 분석 도구 구축전략
종속변인 세부 설명
메모리 이미지 이미지 파일 포맷 지원 여부 확인
- RAW
- ELF
- Mach-O
- LiME
- Hibernation
- Vmem 등

지원 운영체제 확인
- Windows 계열
- Linux 계열
- Mac 계열

64 비트 이미지 분석 가능 여부
실행 프로세스 분석 프로세스 시작 및 종료 시간
프로세스 참조 라이브러리
프로세스의 사용 드라이버
은닉 개체 탐지 멀웨어, 루트킷 탐지
프로세스 탐지 여부
네트워크 환경 분석 각 포트의 상태 분석
네트워크 세션 분석
레지스트리 분석 레지스트리 분석이 가능한지 확인
키워드 검색 단순 검색 기능 지원 여부
검색 대상(발신자, 송신자, 본문 등) 선택 여부
정규표현식 검색 기능 지원 여부
분석 보고서 분석 보고서 생성 여부 확인
타임라인 제공 여부 확인
내보내기 분석 대상과 다른 포맷으로 저장가능 여부 확인
(CSV, TXT, HTML, 다른 이메일 클라이언트 파일 포맷 등)

[표 1]을 기준으로 메모리 분석 도구의 기능 분석을 진행하였으며, 메모리 분석 도구의 기능 분석 환경은 [표 2]와 같다.

[표 2] 메모리 분석 도구 구축전략
시스템 환경
CPU RAM VMware 버전
Intel i5 750 (2.67GHz) 12 GB 10.0.1 build-1379776

각 도구의 기능 분석은 VMware에 운영체제를 설치하여 분석을 하였으며, VMware상 각 운영체제의 RAM 크기는 2GB로 설정하였다. [표 3]은 메모리 분석 도구의 VMware 운영체제 환경이다.

[표 3] 메모리 분석 도구의 VMware 운영체제 환경
테스트 OS
Windows Linux Mac OS FreeBSD
Windows7
Enterprise K
64-bit
Ubuntu 10.04.4
Lucid Lynx
64-bit
Mac OS X 10.8.1
Mountain Lion
64-bit
FreeBSD 8.4
32-bit

Redline과 Volatility는 Windows 환경에서 실험하였으며 사용된 메모리 이미지 또한 Windows7의 이미지를 사용하였다. Volafox Mac OS 환경에서 실험하였으며 사용된 메모리 이미지 또한 Mac OS X 10.8.1의 이미지를 사용하였다. Volafunx는 Ubuntu 10.04.4에서 실험하였으며 FreeBSD 8.4의 이미지를 사용하였다. [표 4]은 메모리 분석 도구의 기능 분석 결과이다.

[표 4] 메모리 분석 도구의 기능 분석 결과
종속 변인 도구명
Redline Volatility Volafox Volafunx
64-bit 지원 X
운영체제 Windows Windows
Linux
Mac OS
Mac OS FreeBSD
이미지 포맷 raw
vmem
vmss
raw
vmem
vmsn
Firewire(IEEE 1394)
ExpertWitness
Crash Dump
Hibernation

Mach-O
LiME
HPAK(FastDump)
QEMU

raw
vmem
mmr
Mach-O
raw
vmem
은닉개체 탐지
악성 프로세스 탐지 X X
네트워크 분석
레지스트리 분석 - -
키워드 검색 X X
타임라인 생성 X X
보고서 생성 X

메모리 분석 도구의 기능 분석 결과 Windows 운영체제에서 Redline과 Volatility가 여러 기능을 제공하였으며 Volatility의 경우 사용자가 plugin을 만들어 확장성이 좋으므로 분석 경험이 풍부하지 않은 수사관은 Redline을 사용하고, 숙련자의 경우 Volatility를 사용하는 것이 좋다. Linux와 Mac OS 운영체제에서 또한 Volatility가 많은 메모리 이미지 포맷을 지원하고 플러그인을 작성할 수 있기 때문에 Volatility 도구를 사용하는 것이 효과적이다. FreeBSD 운영체제의 경우 FreeBSD를 지원하는 도구가 volafunx밖에 없으므로 제한사항의 상황이 아니라면 volafunx를 사용해야 한다.