메모리 수집 및 Volatility 프레임워크
WinPmem으로 RAM 이미지를 수집하고 Volatility 3으로 프로세스, 네트워크 연결 및 주입된 코드를 나열합니다.
메모리 수집 및 Volatility 프레임워크은(는) CoddyKit의 무료 Cyber Security Academy 강의입니다. 이것은 4개 중 2번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Cyber Security Academy 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Cyber Security Academy 강의에는 총 4개의 강의가 포함되어 있습니다.
메모리 분석이 중요한 이유
RAM에는 실행 중인 프로세스, 네트워크 연결, 암호화 키, 비밀번호, 주입된 코드, 공격자 흔적이 포함되어 있으며, 이러한 항목은 디스크에 전혀 기록되지 않을 수 있습니다. 파일리스 악성 코드는 메모리에만 존재합니다. 메모리 분석을 수행하면 디스크 포렌식으로는 완전히 놓치는 증거를 확보할 수 있습니다.
WinPmem을 사용한 메모리 수집
WinPmem은 Windows용 무료 오픈 소스 메모리 수집 도구입니다. Volatility가 분석할 수 있는 원시 메모리 덤프를 생성합니다. 모든 물리 메모리와 커널 구조체를 캡처하려면 관리자 권한으로 실행하십시오.
winpmem_mini.exe -o memory.raw
# Verify size matches installed RAMLinux 메모리 수집을 위한 LiME
Linux Memory Extractor(LiME)는 RAM을 수집하여 파일에 기록하거나 네트워크를 통해 전송하는 커널 모듈입니다. 실시간 사고 대응에서는 덤프를 침해되었을 가능성이 있는 시스템에 기록하지 않도록 네트워크 방식을 사용하십시오.
Volatility 3 소개
Volatility 3은 대표적인 메모리 포렌식 프레임워크입니다. 커널 구조체를 해석하려면 대상 OS 버전에 맞는 기호 테이블이 필요합니다. 주요 명령어는 windows.pslist, windows.pstree, windows.netstat, windows.dlllist, windows.malfind입니다.
vol -f memory.raw windows.pslist
vol -f memory.raw windows.pstree
vol -f memory.raw windows.netstat프로세스 분석
windows.pslist는 실행 중인 프로세스를 나열합니다. 신뢰할 수 있는 정상 기준선과 비교하십시오. 다음 항목을 확인하십시오. 비정상 경로(%TEMP%, %APPDATA%)에서 실행되는 프로세스, 부모-자식 관계의 이상 징후(winword.exe가 cmd.exe를 생성하는 경우), 연결된 디스크 파일이 없는 프로세스(프로세스 할로잉의 징후)입니다.
메모리의 네트워크 연결
windows.netstat은 메모리에서 TCP 연결을 추출하며, 실행 중인 netstat 출력에는 보이지 않는 최근 종료된 연결도 포함합니다. 명령 및 제어 연결을 식별하려면 악성으로 알려진 IP로 확인되는 외부 주소나 일반적인 프로세스 이름에서 사용하기에는 비정상적인 포트를 확인하십시오(svchost.exe에서 외부 IP로 연결되는 경우 등).
DLL 주입 탐지
windows.dlllist는 프로세스별로 로드된 DLL을 보여 줍니다. 신뢰할 수 있는 정상 DLL 목록과 비교하십시오. explorer.exe 또는 svchost.exe에 비정상적인 DLL이 있거나, 경로가 없는 DLL 또는 시스템 프로세스에 의심스러운 이름의 DLL이 있으면 주입을 나타냅니다.
Malfind: 코드 주입 탐지
windows.malfind는 페이지 실행·읽기·쓰기 보호가 적용되고 이를 뒷받침하는 디스크 파일이 없는 메모리 영역을 식별합니다. 이는 프로세스 주입 또는 셸코드의 전형적인 징후입니다. 의심스러운 메모리 영역을 덤프하고 분석을 위해 첫 바이트를 보여 줍니다.
메모리에서 문자열 추출
메모리 덤프 또는 Volatility가 추출한 특정 프로세스 덤프에서 문자열을 추출하십시오. 메모리 문자열에는 실행 중 디스크에 기록되지 않았던 명령 및 제어 URL, 암호화 키, 디코딩된 페이로드, 자격 증명이 포함되는 경우가 많습니다.
메모리의 핸들과 레지스트리
windows.handles는 프로세스별로 열린 파일 핸들, 레지스트리 키, 뮤텍스, 이벤트를 보여 줍니다. 뮤텍스 이름은 강력한 IOC입니다. 한 사고에서 식별한 뮤텍스를 다른 메모리 덤프에서도 찾으면 환경 전반에서 관련 악성 코드를 발견할 수 있습니다.
메모리 포렌식 작업 흐름
체계적인 작업 흐름은 다음과 같습니다. (1) 프로필 식별, (2) 프로세스 열거 및 이상 징후 탐지, (3) 네트워크 연결 검토, (4) DLL 주입 검사, (5) Malfind, (6) 의심스러운 프로세스 덤프, (7) 문자열 추출, (8) IOC 추출 및 보고입니다.
지식 확인
파일리스 악성 코드가 기존 포렌식 방법으로 특히 분석하기 어려운 이유는 무엇입니까?
요약
메모리 포렌식은 디스크 분석으로는 보이지 않는 휘발성 증거를 확보합니다. 수집에는 WinPmem을, 분석에는 Volatility 3을 사용하여 프로세스, 네트워크 연결, 주입된 코드, DLL 이상 징후를 검사하면 그렇지 않았다면 탐지하지 못했을 파일리스 악성 코드와 공격자 활동을 밝혀낼 수 있습니다.
자주 묻는 질문
“메모리 수집 및 Volatility 프레임워크” 강의는 무료인가요?
네 — “메모리 수집 및 Volatility 프레임워크” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Cyber Security Academy 강의 전체를 잠금 해제할 수 있습니다. Cyber Security Academy 강의에는 총 4개의 강의가 포함되어 있습니다.
“메모리 수집 및 Volatility 프레임워크”에서 뭘 배우나요?
WinPmem으로 RAM 이미지를 수집하고 Volatility 3으로 프로세스, 네트워크 연결 및 주입된 코드를 나열합니다. 브라우저에서 직접 실행하는 실습 코드로 Cyber Security Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.
Cyber Security Academy을(를) 시작하는 데 경험이 필요한가요?
사전 경험은 필요하지 않습니다. CoddyKit의 Cyber Security Academy은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 2번째 강의입니다.
“메모리 수집 및 Volatility 프레임워크” 강의는 얼마나 걸리나요?
대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.
이 Cyber Security Academy 강의에서 코드를 작성하고 실행할 수 있나요?
네. 모든 Cyber Security Academy 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.
이 강의의 모든 강의
- 디스크 이미징 및 파일 시스템 포렌식
- 메모리 수집 및 Volatility 프레임워크
- 타임라인 분석 및 아티팩트 상관관계 분석
- Wireshark를 사용한 네트워크 포렌식