1. 메모리(RAM)란?
- CPU가 빠르게 연산할 수 있도록 임시로 데이터를 저장하는 공간.
- 흔히 사용하는 저장장치(HDD, SSD)보다 훨씬 빠름.
- 비유:
- CPU → 요리사의 칼
- 메모리 → 도마 (한정된 공간)
- 프로그램/데이터 → 요리 재료
2. 프로그램 vs 프로세스
- 프로그램: 실행 전 상태 (하드디스크에 저장된 파일)
- 프로세스: 실행 중인 상태 (메모리에 로드되어 실행 중인 프로그램)
3. 메모리 덤프란?
- RAM에 있는 휘발성 데이터를 그대로 저장한 것 (일종의 스냅샷)
- 시간이 지나면 사라지는 정보를 포착해야 하기 때문에, 신속한 수집이 중요함
4. 메모리 포렌식이란?
- 메모리 덤프를 분석해서 중요한 정보를 찾아내는 것
- 사용자가 입력한 비밀번호, 열람 중인 파일, 실행 중인 악성코드 등이 포함될 수 있음
- 최근 들어 암호화 기술이나 로그인 정보가 중요한 수사 단서가 되면서 중요성이 커지고 있음
1. 사용 도구
- Winpmem: 메모리 덤프 수집 도구 (winpmem_mini_x64_rc2.exe)
- HxD: 헥스 에디터, 16진수로 파일 내용을 분석 가능
- Windows Terminal: 명령어 실행용 (관리자 권한)
- msinfo32: 시스템 메모리 정보 확인
2. 헥스 에디터(HxD)란?
- 파일 내용을 **Hex(16진수)**로 표현 및 편집 가능
- Offset 영역: 데이터 위치
- Hex 영역: 원시 데이터
- 디코딩 영역: ASCII 문자로 변환된 정보
3. 실습 절차
- 메모장을 띄우고 텍스트 입력
- 예: "MyPasswordIs1234!"
- 이 메모장은 종료하지 않고 메모리 덤프 전까지 유지
- Windows Terminal 실행 (관리자 권한)
- 명령어 입력:
- .\winpmem_mini_x64_rc2.exe mem.raw
- 메모리 덤프 완료 후 mem.raw 파일 생성됨
- msinfo32 실행하여 RAM 크기 확인
- Windows + R → msinfo32 입력
- HxD 실행 후 mem.raw 파일 열기
- Ctrl + F로 찾기 창 열기
- 유니코드(Unicode) 설정 후 메모장에 입력했던 문자열 검색
- 메모리 내에서 입력한 텍스트 확인 성공!
- 사용자의 입력 정보가 메모리에 저장되었다는 증거
4. 의의 및 응용
- 메모리에는 실행 중인 프로그램 정보, 입력값, 세션 키, 비밀번호, 이메일 등이 남아 있을 수 있음
- 디지털 포렌식에서는 이런 데이터를 통해 사용자의 행위 추적 및 증거 확보 가능
실습 팁
- 메모리 덤프는 시간과 상황이 중요 → 실시간 수집 필수
- HxD 검색 시 인코딩 방식 주의 (텍스트가 유니코드로 저장될 수 있음)
'드림핵' 카테고리의 다른 글
| [드림핵] 윈도우 포렌식 - 레지스트리, find the USB, Autoruns (0) | 2025.05.20 |
|---|---|
| [드림핵] 파일 시스템 + 실습 (2) | 2025.05.13 |
| [드림핵] 디지털 데이터와 디지털 장치 (6) | 2025.04.08 |
| [드림핵] 디지털 증거-3 (해시 함수) (0) | 2025.04.01 |
| [드림핵] 디지털 증거-1 (디스크 이미징) (0) | 2025.04.01 |