Forensic/Memory

[Memory Forensic] 메모리 포렌식 기초

me0w2en 2025. 2. 17. 12:30

1. 개요

1.1 메모리 포렌식이란?

  • 메모리 포렌식은 주기억장치(RAM)에 남아있는 휘발성 데이터를 분석하는 기법
  • 실행 중인 프로세스, 네트워크 연결, 레지스트리, 사용자 활동 정보, 캐시 데이터, 클립보드 정보, 악성코드 감염 여부 확인 가능
  • 디스크 기반 포렌식보다 실시간성 데이터 확보 가능하며, 파일리스(Fileless) 악성코드 탐지에 필수적

1.2 메모리 포렌식의 필요성

  • 네트워크 포렌식에서는 암호화된 데이터의 원본 확보가 어려움 → 메모리 분석이 필수
  • 악성코드는 저장 장치에 흔적을 남기지 않는 방향으로 발전 중 → 메모리에서 PE 헤더 및 악성 코드 패턴 확보 필요
  • 사고 발생 후 빠르게 메모리를 덤프하지 않으면 기존 데이터가 덮어씌워질 가능성 존재

2. 메모리 덤프 방식

2.1 형태별 메모리 덤프 방법

2.1.1 하드웨어(H/W) 기반

  • FireWire Attack(IEEE 1394), PCI 장치(Tribble) 활용
  • 장점: 악성 프로그램 영향을 받지 않고 무결성 보장
  • 단점: 안정성 검증 필요, 시스템 크래시 발생 가능

2.1.2 소프트웨어(S/W) 기반

  • Windows: DD, MDD, DumpIt, WinPMem, FastDumpPro 등
  • Linux: fmem, LiME, AVML 등
  • MacOS: MacQuisition, Digital Collector 등
  • 장점: 추가 장비 없이 수집 가능, 오픈소스 및 프리웨어 지원
  • 단점: 커널 루트킷 공격에 취약, OS별 제약 존재

2.1.3 가상 머신(VM) 기반

  • VMware .vmem 확장자로 물리 메모리 저장
  • Raw 포맷과 유사하여 분석 도구에서 활용 가능

2.1.4 최대 절전모드(Hibernation) 덤프

  • Windows: 절전 시 hiberfil.sys 파일에 메모리 저장
  • Windows 8 이후 헤더를 0으로 패딩하여 분석 어려움

2.2 운영체제별 메모리 덤프 경로

  • Windows: \Device\PhysicalMemory
  • Linux/MacOS: /dev/mem (최근 버전에서는 보안상 폐지)
  • 최신 보안 정책으로 인해 관리자 권한이 필요

2.3 주요 메모리 덤프 파일 확장자

  • .dmp: Windows 메모리 덤프
  • .raw: 메모리 이미지 그대로 저장한 포맷
  • .vmem: VMware 메모리 파일
  • .img: 리눅스 기반 메모리 덤프 파일

3. 메모리 포렌식 도구

3.1 메모리 수집 도구

Windows

  • FTK Imager: Volatility와 호환되며 안정적
  • DumpIt: 빠르고 압축 지원, Windows 11에서도 적합
  • Belkasoft Live RAM Capturer: 안티디버깅 우회 기능 제공
  • WinPMem: 최신 업데이트 중단, Volatility3와 일부 호환 문제 발생

Linux

  • fmem: 최신 리눅스에서는 지원 중단
  • LiME: 리눅스 및 안드로이드 메모리 덤프에 적합, 커널 변경 없이 수집 가능
  • AVML: Microsoft에서 공개한 Rust 기반 도구, 커널 버전 관계없이 사용 가능

MacOS

  • RECON ITR: 초창기 M1 지원, 최신 버전에서는 미지원
  • Digital Collector: macOS 10.13~13 지원, 최신 T2 칩셋 포함

3.2 메모리 분석 도구

  • Volatility: Windows, Linux, Android, macOS 지원, CLI 기반 분석
  • Volafox: macOS 10.6~10.11 분석 가능
  • MAGNET AXIOM: GUI 기반의 포렌식 도구

4. 결론

  • 메모리 포렌식은 파일리스 악성코드 탐지, 침해 사고 대응 등에 필수적
  • 최신 운영체제 및 보안 정책에 따라 분석 기법이 변화하므로 지속적인 연구 필요

 

📎 참고 자료