LiME 및 Volatility를 활용한 메모리 포렌식 분석은(는) 무엇을 하나요?
사용 시기
- LiME과 Volatility를 사용한 메모리 포렌식 분석이 필요한 보안 사고를 조사할 때
- 이 도메인에 대한 탐지 규칙이나 위협 헌팅 쿼리를 구축할 때
- SOC 분석가가 이 분석 유형에 대한 체계적인 절차를 필요로 할 때
- 관련 공격 기술에 대한 보안 모니터링 적용 범위를 검증할 때
사전 요구 사항
- 보안 운영 개념과 도구에 대한 이해
- 안전한 실행을 위한 테스트 또는 실습 환경 접근
- 필요한 종속성이 설치된 Python 3.8+
- 모든 테스트 활동에 대한 적절한 권한
지침
LiME 커널 모듈을 사용하여 Linux 메모리를 수집한 후, Volatility 3로 분석하여 메모리 이미지에서 포렌식 아티팩트를 추출합니다.
# LiME 메모리 수집
insmod lime-$(uname -r).ko "path=/evidence/memory.lime format=lime"
# Volatility 3 분석
vol3 -f /evidence/memory.lime linux.pslist
vol3 -f /evidence/memory.lime linux.bash
vol3 -f /evidence/memory.lime linux.sockstat
import volatility3
from volatility3.framework import contexts, automagic
from volatility3.plugins.linux import pslist, bash, sockstat
# 프로그래매틱 방식의 Volatility 3 사용
context = contexts.Context()
automagics = automagic.available(context)
주요 분석 단계:
- LiME으로 메모리 수집 (format=lime 또는 format=raw)
- linux.pslist로 프로세스 목록 확인, linux.psscan과 비교
- linux.bash로 Bash 명령어 히스토리 추출
- linux.sockstat로 네트워크 연결 확인
- linux.lsmod로 로드된 커널 모듈 확인 (루트킷 탐지)
예시
# 전체 포렌식 워크플로우
vol3 -f memory.lime linux.pslist | grep -v "\[kthread\]"
vol3 -f memory.lime linux.bash
vol3 -f memory.lime linux.malfind
vol3 -f memory.lime linux.lsmod