Information Security ˗ˋˏ ♡ ˎˊ˗

Security/DigitalForensic

[MemoryForensic] 메모리 분석

토오쓰 2021. 2. 9. 19:11

1. 메모리 분석 

- 메모리란? 시스템의 단기 데이터 스토리지, 램이나 하드 드라이브를 말한다.

- 메모리에서만 찾을 수 있는 정보를 분석하는 것이다. 복호화된 파일 콘텐츠, 사용자 패스워드, 프로세스의 임시 저장 데이터 등이 있다.

- 침해사고대응이나 컴퓨터 포렌식에서 메모리 분석의 역할이 커지고 있다. 하드 드라이브에 바이러스를 저장하지 않고 바로 메모리에 로드되는 악성프로그램을 추적하고, 사용자 보호 기능 강화로 인한 복호화의 어려움이 있기 때문에 사용한다.

 

2. 메모리 분석의 필요성 

- 프라이버시 모드: 웹 브라우저의 프라이버시 모드는 사용자의 정보가 남을 수 있는 파일들이 하드 드라이브에 기록되지 않는다.

- 안티포렌식: 과거의 안티포렌식 도구들은 파일의 콘텐츠를 숨기고 삭제하였다.

- 루티킷: 루트킷이란 악의적인 행위를 수행하는 악성 소프트웨어로, 자신 또는 다른 소프트웨어의 존재를 숨기고 허가되지 않은 컴퓨터나 소프트웨어의 영역에 접근할 수 있게 설계된 프로그램이다. 루트킷의 설치는 공격자가 루트 권한이나 관리자 접근을 획득하였을 때 가능하다.

- 덮어쓰기: 실행되고 나면 데이터를 원래 상태로 복구하기 어렵다.

 

3. 메모리 덤프

- 메모리 덤프, 크래시 덤프, 하이버네이션 파일 덤프가 있다.

--> 크래시 덤프: 윈도우 스스로 만드는 메모리 덤프 파일이며, 프로그램의 오류가 있을 때 윈도우가 스스로 만들어준다. 시스템의 상태를 사진처럼 기록한다. 종류로는 Small crash dump, Kernel crash dump. Full crash dump이 있다.

Small crash dump

Kernel crash dump

Full crash dump

오류가 발생한 원인을 밝히기 위한 최소한의 메모리 정보만 덤프

커널 모드 메모리 영역

시스템 RAM 전부를 그대로 덤프

 

--> 하이버네이션 파일 덤프: 일정 시간 입력이 없으면 OS는 메모리의 모든 정보를 하드 드라이브에 저장하고 최소한의 전력만 공급한다. 사용 중인 영역만 덤프 한다.

 

4. 가상 메모리

- 가상 메모리란? 가상 주소를 할당받아서 실제 물리적 메모리에 저장하는 것

- 메모리 = RAM(OS 구동에 관련된 파일) + 페이지 파일(프로그램 관련된 파일)

- 가상 메모리 구조: 4GB의 가상 메모리 중 하위 2GB는 사용자 영역이고, 상위 2GB는 커널 영역이다.

 

5. 메모리 분석에 사용되는 Tool

- Volatility Workbench (GUI 기반 도구)

Volatility Workbench - A GUI for Volatility memory forensics (osforensics.com)

 

Volatility Workbench - A GUI for Volatility memory forensics

Volatility Workbench is a graphical user interface (GUI) for the Volatility tool. Volatility is a command line memory analysis and forensics tool for extracting artifacts from memory dumps. Volatility Workbench is free, open source and runs in Windows. It

www.osforensics.com

- Rekall