Volatility 3 — 보안 분석 및 진단

최신 도구 가이드 / 보안 분석 및 진단 / volatility.html

보안 분석 및 진단원문등록 2026-10-18

RAM 덤프 파일을 분석해 실행 중이던 프로세스·파일·네트워크 흔적을 복원하는 메모리 포렌식 프레임워크입니다.

기본 정보

프로그램 이름Volatility 3 (볼러틸리티 3)
한 줄 소개RAM 덤프 파일을 분석해 실행 중이던 프로세스·파일·네트워크 흔적을 복원하는 메모리 포렌식 프레임워크입니다.
개발·유지The Volatility Foundation
공식 홈페이지https://www.volatilityfoundation.org/
공식 문서https://github.com/volatilityfoundation/volatility3/wiki
공식 다운로드https://github.com/volatilityfoundation/volatility3/releases
지원 운영체제Linux, macOS, Windows (Python 3.7 이상)
라이선스GPL-3.0-or-later (Volatility 3 프레임워크)
안정 버전2.28.2 (2026-09-17 출시) — 확인일 2026-10-18
GitHub 저장소https://github.com/volatilityfoundation/volatility3
분류보안 분석 및 진단 (태그: 포렌식, 메모리 분석, 디지털 증거, 사고 대응)

이 프로그램은 무엇인가?

Volatility 3는 시스템 RAM을 덤프한 이미지를 분석해 그 시점의 메모리에 남았던 정보를 뽑아 내는 포렌식 프레임워크입니다. 실행 중이던 프로세스 목록, 열려 있던 파일·소켓, 로그인 세션, 주입된 코드 흔적 등을 사후에 복원할 수 있습니다.

분석 작업은 플러그인 단위로 수행합니다. OS 버전에 맞는 심볼을 제공하면 windows.pslist·linux.pslist 같은 플러그인이 목록을 출력합니다. 2025년 Volatility 2가 폐기되면서 현재 표준은 Volatility 3입니다.

어떤 문제를 해결하는가?

  • ('침해 사고 대응에서', '감염 시점의 프로세스·네트워크 연결을 확인해야 할 때', 'RAM 덤프만으로 당시 실행 상태를 재구성할 수 있습니다.')
  • ('포렌식에서', '파일이 지워져도 메모리에 남은 흔적이 필요한 때', '삭제된 파일 조각·명령줄 인자 등을 복원할 수 있습니다.')
  • ('악성코드 분석에서', '파일 시스템 없이 메모리에 상주한 악성 코드를 볼 때', '프로세스 메모리 덤프·주입 흔적을 플러그인으로 확인합니다.')

주요 기능

프로세스 목록 복원

메모리에서 실행 중이던 프로세스 정보를 추출

  • 활용 상황: 침해 시점 프로세스 확인
  • 얻는 결과: 정상·비정상 프로세스 목록 확보
  • 제한 사항: 스텔스화된 프로세스는 추가 플러그인 필요.

네트워크 연결 복원

열려 있던 소켓·연결 정보를 추출

  • 활용 상황: C2 서버 연결 흔적 확인
  • 얻는 결과: 외부 통신 대상·포트 목록 확보
  • 제한 사항: 단순 메모리 덤프에는 없는 정보는 불가.

DLL/모듈 주입 분석

프로세스에 비정상적으로 매핑된 모듈을 탐지

  • 활용 상황: 코드 주입 탐지
  • 얻는 결과: 비정상 메모리 영역 식별
  • 제한 사항: 난독화된 주입은 해석에 시간이 필요.

플러그인 구조

OS별·목적별 플러그인을 추가·작성 가능

  • 활용 상황: 특수 환경 분석 요구
  • 얻는 결과: 필요한 증거만 커스텀 추출
  • 제한 사항: 심볼(Dwarf·PDB) 제공이 선행되어야 함.

설치 및 실행

Linux (pip)

Python 3.7 이상에서 pip로 설치합니다. 디스크 이미지 처리에는 pycryptodome 등 선택적 의존성이 있습니다.

git clone https://github.com/volatilityfoundation/volatility3.git
cd volatility3
python3 -m pip install -e .

Linux (직접 실행)

git으로 받아 python으로 실행하는 방식도 지원합니다.

python3 vol.py -h
python3 vol.py -f memory.dmp windows.pslist

macOS / Windows

동일하게 Python 환경에서 소스를 받아 실행합니다.

python vol.py -f memory.dmp windows.pslist

실제 사용 예제

프로세스 목록 확인

-f로 메모리 덤프를 지정하고 windows.pslist(또는 linux.pslist) 플러그인을 실행합니다.

$ python3 vol.py -f memory.dmp windows.pslist
PID  PPID  Image            Created
  4     0  System           2026-10-18 01:12:03
912   901  nginx            2026-10-18 01:12:07

네트워크 연결 확인

windows.netscan 플러그인으로 열려 있던 연결과 리스닝 포트를 확인합니다.

$ python3 vol.py -f memory.dmp windows.netscan
Proto Local Address        Remote Address       State    Owner
TCP   0.0.0.0:443          0.0.0.0:0            LISTEN   nginx
TCP   192.0.2.20:51423     198.51.100.7:443     CLOSE_WAIT python3

기억 영역 덤프

프로세스 PID를 지정해 해당 프로세스 메모리를 파일로 덤프해 후속 분석에 씁니다.

$ python3 vol.py -f memory.dmp -p 912 windows.memmap --dump
.dumped.912.dmp 생성 (912번 프로세스 메모리)

장점과 한계

장점

  • 무료·오픈소스(GPL) — 상용 포렌식 도구 없이 메모리 분석 가능
  • OS별 플러그인 생태계가 풍부(Windows·Linux·macOS)
  • Volatility 2 대비 성능·플러그인 정리 완료(현재 표준)
  • 스크립트 기반이라 대량 덤프 일괄 분석에 유리

사용 전에 고려할 점

  • 분석하려는 OS의 심볼 파일을 확보해야 정확한 결과가 나옵니다.
  • 메모리 덤프 확보(라이브 액퀴시션) 과정은 별도 도구가 필요합니다.
  • 플러그인·심볼 버전 mismatch 시 오류가 잦아 초기 설정 학습이 필요합니다.

비슷한 프로그램과 비교

프로그램특징이런 경우에 적합
RekallVolatility에서 파생된 포렌식 프레임워크특정 환경의 레거시 파이프라인
LiMELinux에서 RAM을 덤프하는 커널 모듈(추출 도구)Volatility 이전 단계인 덤프 확보
KAPEWindows 중심 증거 수집·처리 도구Windows 사고 대응 워크플로

공식 자료 및 추가 학습

버전·지원 환경 정보는 2026-10-18 기준으로 공식 사이트에서 확인한 값입니다. 설치 명령은 사용하는 배포판과 버전에 따라 달라질 수 있으므로 공식 설치 문서를 함께 확인하세요.

실제 실행 화면

아래는 사용 흐름을 이해하기 위해 만든 합성 예시 화면입니다(실제 실행 결과 아님). 화면은 합성 예시이며 실제 실행 결과가 아닙니다.

Volatility 3 예시: 메모리 덤프에서 프로세스 목록·네트워크 연결 복원

실제 운영 중인 서버

이 문서는 화면 표시용 가상 디렉터리의 항목입니다. 실제 서버 파일시스템과 연결되지 않으며, 파일 실행이나 시스템 명령을 수행하지 않습니다.