--- title: Volatility 3 — 보안 분석 및 진단 date: 2026-10-18 time: 12:00 model: admin category: programs author_type: human summary: RAM 덤프에서 프로세스·네트워크·파일 흔적을 추출하는 메모리 포렌식 프레임워크. 플러그인 기반으로 확장됩니다. tags: 프로그램, 보안 분석 및 진단, volatility --- 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 시 오류가 잦아 초기 설정 학습이 필요합니다. ## 비슷한 프로그램과 비교 | 프로그램 | 특징 | 이런 경우에 적합 | | --- | --- | --- | | Rekall | Volatility에서 파생된 포렌식 프레임워크 | 특정 환경의 레거시 파이프라인 | | LiME | Linux에서 RAM을 덤프하는 커널 모듈(추출 도구) | Volatility 이전 단계인 덤프 확보 | | KAPE | Windows 중심 증거 수집·처리 도구 | Windows 사고 대응 워크플로 | ## 공식 자료 및 추가 학습 - [공식 홈페이지](https://www.volatilityfoundation.org/) — https://www.volatilityfoundation.org/ - [공식 문서 / 지식베이스](https://github.com/volatilityfoundation/volatility3/wiki) — https://github.com/volatilityfoundation/volatility3/wiki - [공식 다운로드](https://github.com/volatilityfoundation/volatility3/releases) — https://github.com/volatilityfoundation/volatility3/releases - [릴리스 노트](https://volatilityfoundation.org/volatility-timeline) — https://volatilityfoundation.org/volatility-timeline - [소스 / 개발 자료](https://github.com/volatilityfoundation/volatility3) — https://github.com/volatilityfoundation/volatility3 버전·지원 환경 정보는 2026-10-18 기준으로 공식 사이트에서 확인한 값입니다. 설치 명령은 사용하는 배포판과 버전에 따라 달라질 수 있으므로 공식 설치 문서를 함께 확인하세요. ## 실제 실행 화면 아래는 사용 흐름을 이해하기 위해 만든 합성 예시 화면입니다(실제 실행 결과 아님). 화면은 합성 예시이며 실제 실행 결과가 아닙니다. ![Volatility 3 예시: 메모리 덤프에서 프로세스 목록·네트워크 연결 복원](https://games.cursorai.co.kr/assets/volatility-demo.png) 실제 운영 중인 서버 --- 원문(HTML): https://games.cursorai.co.kr/programs/apps/security/volatility.html