메모리 포렌식의 대상으로는
> 물리메모리
- 윈도우가 시스템에 장착된 메모리를 사용하기 위해서는 모든 메모리 공간에 대한 주소 정보가 필요하다.
- 시스템이 처음에 시작될 때 시스템에 장착된 모든 메모리 공간의 주소정보를 담은 지도를 만든다.
- PAM (Physical address Map) : 실제(물리) 메모리 주소 정보
- 이전에 32비트 운영체제에서 사용할 수 있는 메모리의 크기는 2^32의 크기로 = 4294. 즉, 4GB의 메모리까지만 사용가능 했다.
- 실제 사용 메모리는 물리메모리에서 장치메모리를 뺀 나머지 메모리
- 장치 메모리를 우선적으로 처리하여 컴퓨터가 정상적으로 작동하는데 꼭 필요한 장치들을 사용할 수 있게 한다.
- 따라서 기존까지 CPU 32비트 주소지정 방식을 사용한 것을 36비트 주소지정 방식을 CPU에 추가한다.
- PAE(Physical Address Extention) : 실제 주소 확장
- 2^36의 크기로 = 64GB의 메모리를 인식하게 한다. <윈도우 xp 서비스 팩 2 부터 PAE기능 지원>
- 가상 메모르를 통해서 물리메모리 용량이 4GB인 시스템에서 다수의 프로세스를 동작하게 한다.
> 페이지 파일
> 하이버네이션 파일
물리메모리 덤프
1. 하드웨어를 이용한 덤프
- PCI 장치를 이용한 덤프; 추가적인 하드웨어/소프트웨어의 설치 없이 무결성을 최대한 보장
- FireWire를 이용한 메모리 덤프; 윈도우,리눅스,맥OS에서 가능
2. 소프트웨어를 이용한 덤프
- Win(32&64)dd
- Memorize
- FD(fastDump) Pro
3. 크래시 덤프
- Blue Screen of Death 발생 시 자동 생성, WinDdg,Kernel Memory Space Analyzer 등을 통해 디버깅 가능
- 물리메모리에 가장 최소한의 영향을 미치는 방법
- 윈도우만 지원
4. 가상화 시스템 덤프
5. 절전모드 덤프
- 절전모드로 진입 시 메모리를 압축하여 C:\hiberfil.sys 파일로 저장
- 추가적인 프로그램이나 장비 불필요
- 전체 메모리 영역의 덤프가 아닌 사용 중인 영역만 덤프
(콜드부트 : 종료된 시스템 메모리를 차갑게 유지시켜 메모리 손실을 줄이는 방법)
(%주로 소프트웨어 방식을 이용해 메모리 덤프)
>> 주의사항
덤프한 메모리는 외장저장장치에 저장
외장저장장치 인터페이스에 따라 수집 속도 차이
침해사고의 경우 현장 상황에 따라 D:\ 볼륨을 이용하는 것도 고려해야한다.
초기 메모리 분석 방법
> 문자열 추출 : 특정 패턴의 문자열 검색, (이메일, 계정, 비밀번호, 메신저 대화 등)
> 파일 카빙 : 그래핑 이미지, HTML, 레지스트리 등 파일 카빙 기법으로 파일 획득
오브젝트 검색
> 물리메모리 상의 오브젝트를 찾기 위한 방법 :
- 리스트 워킹(list-Walking)
* EPROCESS 프로세스 이름을 이용한 프로세스 탐색 기법
* KPCR(Kernel Processor Control Region)을 이용한 프로세스 탐색 기법
* DKOM과 같은 프로세스 은닉 기법 탐지 불가능...!!
- 패턴 매칭(Pattern Matching)
* 프로세스 구조체의 패턴을 이용해 메모리 영역 전체 검색
* 은닉 프로세스라도 동일한 프로세스 구조체를 가짐
'Forensic > STUDY' 카테고리의 다른 글
포렌식의 기본 소양 (0) | 2017.07.08 |
---|---|
[디지털 포렌식] 3. 전자적 증거의 특성과 규제법률 (0) | 2017.07.03 |
[디지털 포렌식] 2. 디지털 포렌식의 유형과 수행과정 (0) | 2017.07.01 |
[디지털 포렌식] 1.디지털 포렌식의 배경 및 의의 (2) | 2017.07.01 |
포렌식이란? 디지털 포렌식? (Forensic) (0) | 2017.04.04 |