분석 · 관제핵심 · 15분 읽기
침해사고 대응·메모리 포렌식·증거의 연결
경보 분류부터 격리·증거 획득·타임라인·복구까지 절차를 연결하고, 메모리 이미지와 프로세스 덤프, Volatility 결과의 의미와 한계를 설명합니다.
개념부터 찾아보기
정의·역할·동작 원리를 독립 페이지에서 확인하세요. 본문의 밑줄 용어에도 설명이 있습니다.
이 노트에서 설명할 수 있게 되는 것
- 피해 제한과 휘발성 증거 보존의 판단 근거를 설명한다.
- 메모리 획득·추출·분석 결과의 범위를 구분한다.
- 증거·타임라인·복구·보고를 하나의 대응 절차로 연결한다.
01개념과 구성 요소
- 분석·피해 제한·원인 제거·신뢰 회복·개선을 연결하는 기술 및 운영 절차다.
- 증거로그·메모리·파일·네트워크 자료를 출처·시각·획득 방법과 연결한다.
- 판단 원칙확인 사실·가설·미확인을 나누며 격리와 증거 보존의 충돌을 업무 영향에 맞춰 판단한다.
02경보 접수에서 복구 검증까지
- 초기 분석탐지 규칙과 원본, 자산·사용자·시간을 연결해 정상 작업·오탐·차단된 시도·침해 가능성을 구분한다.
- 제한·획득 결정확산 위험과 의 가치를 평가하여 격리·메모리 획득·기타 보존의 순서와 영향을 기록한다.
- 증거 보존원본·을 나누고 해시·도구·담당자·전달 이력으로 를 유지한다.
- 타임라인 분석·연결·파일·로그를 교차 검증하여 관찰된 행위와 진입·확산 가설을 연결한다.
- 원인 제거·복구침해 원인과 신뢰가 깨진 범위를 처리하고 검증된 상태에서 서비스를 복구한다.
- 재발·효과 확인복구 후 기능·탐지·재침해 여부를 확인하고 영향·조치·잔여 위험·개선 과제를 보고한다.
03경보·이벤트·사고를 구분하고 범위를 정하기
- 경보와 사고경보는 탐지 조건이 맞았다는 신호이며 사고 확정 자체가 아니다. 발생 시각, 자산·사용자·요청과 연결, 탐지 규칙과 원문을 확인하여 정상 작업·오탐·차단된 시도·실제 침해 가능성을 구분한다.
- 긴급 대응긴급한 피해를 줄이는 조치와 사실 확인을 병행하되 확인되지 않은 가설을 확정 사실처럼 전파하지 않는다.
- 대응 활동은 기술 분석만이 아니라 역할·연락·업무 영향과 복구 결정을 포함한다. 탐지·분석, 제한·격리, 원인 제거, 복구와 개선을 연결하고 사전 준비·자산 이해·로그·훈련을 지속한다.
- 기준의 판본전통적인 단계표와 NIST SP 800-61 Rev.3의 CSF 2.0 연계 구조는 판본과 목적을 구분해 읽는다.
- 초기 범위초기 범위는 확인된 시스템과 계정에서 시작하되 인접 호스트, 공유 자격 증명, 관리 경로와 외부 접속 흔적으로 확장한다. 악성 파일 한 개를 발견했다고 그 파일이 최초 침투 원인이라고 단정하거나 다른 자산까지 모두 침해되었다고 추정하지 않는다.
04격리와 증거 획득 순서를 결정하기
- 피해 제한지속적인 유출·파괴가 진행 중이면 먼저 피해를 제한해야 할 수 있다. 반대로 무조건 전원을 끄면 메모리··연결 상태와 암호화 키 같은 가 사라질 수 있다.
- 업무 영향자산의 업무 중요도와 피해 진행, 수집 가능성에 따라 격리 방식과 순서를 결정하고 판단 이유를 기록한다.
- 네트워크 격리네트워크 격리는 필요한 수집·관리 경로를 남기되 공격자의 이동·유출 경로를 제한하는 방식으로 설계할 수 있다. 종료·재부팅·파일 삭제는 상태를 바꾸므로 무엇을 먼저 확보해야 하는지 검토한다.
- 살아 있는 시스템에서 수집 도구를 실행하는 행위도 메모리·로그·파일 시간을 바꾼다는 점을 기록한다.
- 메모리 획득메모리 획득은 RAM 전체를 변화 없이 완벽하게 고정하는 작업이라고 가정할 수 없다. 물리 메모리 획득, 덤프, 의 메모리 포함 snapshot 등은 대상과 일관성·중단 조건이 다르다.
- 도구·영향 기록도구·버전·수집 시작과 종료, 실패 페이지와 알려진 영향을 남긴다.
05메모리 이미지·프로세스 덤프·파일 추출의 차이
- 메모리·Memory acquisition은 물리 메모리 등을 확보하는 작업이고 dump는 특정 의 주소 공간을 대상으로 한다.
- 영역·파일 추출Memory region dump는 의심 또는 실행 가능 영역을 뽑는 작업이며 file object dump·carving은 메모리에 남은 파일 객체나 패턴을 바탕으로 데이터를 추출한다.
- 불완전 자료메모리 추출물은 디스크의 원래 파일과 동일한 완성 바이너리라는 보장이 없다. 런타임 패치, 압축 해제된 코드, 주입된 일부 조각, 으로 빠진 페이지와 손상된 영역이 있을 수 있다.
- 해시 해석해시가 달라졌다는 이유만으로 별도의 악성코드라고 단정하지 말고 추출 방법··주소·시각을 함께 본다.
- Volatility·PickleVolatility는 보통 이미 획득한 메모리 를 분석하는 프레임워크이며 RAM을 자동 획득하는 도구와 구분한다. pickle은 객체 직렬화 기능으로 범용 메모리 포렌식 도구 이름이 아니며, 신뢰할 수 없는 pickle을 역직렬화하면 코드 실행 위험이 있어 분석 데이터라고 무심코 로드하지 않는다.
| 자료 | 알 수 있는 범위 | 주의할 한계 |
|---|---|---|
| 전체 메모리 | ·커널 객체·연결·메모리 흔적 | 획득 중 변화·누락·민감정보 |
| 덤프 | 특정 주소 공간의 런타임 상태 | 전체 시스템을 대표하지 않음 |
| 메모리 영역 추출 | 의심 실행 영역·주입 후보 | 부분 코드일 수 있음 |
| 파일 객체 추출 | 캐시 등에 남은 파일 데이터 | 원본 디스크 파일과 다를 수 있음 |
06Chain of Custody와 원본·작업 복사본
- 증거 이력증거 관리 기록에는 사건 ID, 출처 장비·경로, 수집자·권한 범위, 현지·UTC 시각과 시간원, 도구·버전·명령, 크기·해시·보관 위치를 남긴다. 자료가 누구에게 언제 왜 넘어갔는지와 처리 내역을 기록하여 수집부터 보고까지의 연결을 유지한다.
- 원본·사본원본을 보존하고 분석은 확인된 작업 복사본에서 수행한다. 복제 전후 해시는 같은 비트열인지 확인하는 데 도움이 되지만 수집 시점에 자료가 이미 조작되었는지나 사실 관계 자체를 자동 증명하지 않는다.
- 일관성RAM처럼 획득 중 변화하는 대상은 동일 시스템의 두 번 획득 해시가 다른 것이 자연스러울 수 있다.
- 민감정보메모리·브라우저·로그에는 비밀번호·세션·개인정보가 포함될 수 있다. 접근 권한과 보존 기간을 정하고 외부 분석 서비스에 원본을 올리는 것은 별도 공개·전송 판단이 필요하다.
- 보고 범위보고서에는 필요한 최소 증거를 쓰되 원본과 해당 부분의 연결을 유지한다.
07Volatility 결과를 교차 검증하는 순서
- ·먼저 형식·OS·· 조건을 확인한다. 필요한 이 없거나 이 실패한 경우를 “아티팩트 없음”으로 해석하지 않는다.
- 버전설치한 버전의 help에서 이름과 옵션을 확인하고 사용한 버전을 결과에 기록한다.
- 교차검증pslist·pstree·psscan 같은 서로 다른 관점의 목록을 비교하고 부모-자식 관계, 실행 경로·시각과 종료 상태를 대조한다. scan에서만 보인 객체는 숨김의 후보일 수 있지만 이미 종료된 의 흔적일 수도 있다.
- 이름·악성 판단이름이 시스템 와 같다는 이유만으로 정상이라고 판정하지 않는다.
- ·실행 영역netscan의 연결 객체, dlllist의 모듈, 실행 가능 과 주입 탐지 후보를 같은 문맥에서 연결한다. malfind 계열의 결과는 검토할 후보이며 JIT·정상 보안 제품 등도 유사 특징을 가질 수 있다.
- 파일 추출 한계dumpfiles 결과는 파일의 완전성과 형식을 검사한 뒤 디스크·EDR·네트워크 근거와 비교한다.
text
분석 순서 예 (실제 실행 결과 아님)
1. 이미지·OS·symbol과 도구 버전 확인
2. 프로세스 목록/트리/scan 결과 비교
3. 연결·모듈·메모리 mapping 연결
4. 의심 영역 추출 → 해시·형식·문자열·구조 확인
5. EDR·이벤트 로그·DNS·PCAP과 시간 대조
6. 확인된 사실·가설·남은 확인을 분리해 보고은 버전별 지원 이름을 확인한다. 특정 결과 하나로 악성을 확정하지 않는다.
08Artifact Triage와 사건 타임라인
- 는 빠르게 자료를 분류하고 분석 우선순위를 정하는 작업이다. 파일 형식·크기·해시·서명·문자열·권한, 이벤트·레지스트리·Prefetch·바로가기, 메일 헤더와 queue ID, ·proxy·방화벽 로그 등이 단서가 된다.
- 단서와 확정확장자 불일치나 높은 엔트로피 하나만으로 최종 악성 판정을 하지 않는다.
- 타임라인타임라인에는 사건 발생 시각, 로그 기록·수신 시각과 수집 시각을 구분한다. 시간대· 오차·시계 변경·로그 지연이 있을 수 있으며 파일의 mtime·ctime·생성 시각도 운영체제와 에 따라 의미가 다르다.
- 시각 불일치날짜를 하나의 열에 합치기 전에 의미를 정규화한다.
- 연결 예설명용 예에서 10:00 질의, 10:01 실행, 10:02 외부 연결이 이어졌더라도 시간 근접만으로 첫 질의가 실행 원인이라고 확정할 수 없다. ID와 수명, 부모 관계, 명령행·파일·요청 ID 등 연결 근거를 더한다.
- ·계정·공유 IP 때문에 주소만으로 사용자를 특정하지 않는다.
LEARN THROUGH PRACTICE
로그 묶음에서 인증·정책 로드·패키지 변경을 분리해 타임라인 만들기
일상 관리 이벤트를 침해 흔적으로 오인하지 않으면서 조사 우선순위와 증거 연결을 정한다.
실습 구성과 전제
- 원본 로그를 보존하고 해시를 기록한 에서만 분석한다.
- 다음 화면들은 여러 종류의 호스트 기록을 비교하는 자료이며 하나의 침해 사건으로 확정된 연속 증거가 아니다.
인증 기록에서 조사할 세션을 고른다
- 계정·인증 방식·출발지··세션 시각을 표로 옮긴다. 운영자의 승인된 작업 시간과 비교해 확인할 대상을 정한다.
- 인증 성공은 시작점일 뿐이다. 이후 어떤 자원에 접근했는지와 ·파일 변화를 연결해야 범위를 판단할 수 있다.
원본 크기로 보기 ↗- 인증 수락과 세션 시작·종료가 별도 메시지로 나타난다.
- 같은 화면에 여러 PID와 세션이 있어 단일 로그인으로 묶지 않아야 한다.
확인 기준세션별 행을 만들고 추정과 확정 값을 표시한다.
정책 로드와 차단 이벤트를 구분한다
- AppArmor 로그의 profile_load는 보안 프로파일이 로드됐다는 상태 이벤트다. 보안 정책이 등장했다는 이유만으로 악성 행위 차단이라고 판단하지 않는다.
- 차단을 주장하려면 DENIED 등 실제 판단 필드, 대상 경로, 실행 주체를 확인한다.
원본 크기로 보기 ↗- audit type=1400과 apparmor 상태, profile_load 관련 필드가 반복된다.
- 프로파일 이름과 apparmor_parser가 보여 정책 로드 작업임을 조사할 수 있다.
확인 기준상태 변경과 접근 거부를 다른 이벤트 유형으로 분류한다.
패키지 작업과 영향 시점을 대조한다
- Unpacking·Setting up·Processing triggers는 과정의 기록이다. 서비스 장애 시각과 겹치면 변경 작업의 영향 가능성을 조사하되 곧바로 악성 설치라고 쓰지 않는다.
- 패키지 이력·관리자 작업 기록·파일 해시를 연결해 타임라인을 보강하고, 복구 작업이 원본 증거를 덮지 않게 한다.
원본 크기로 보기 ↗- 여러 패키지의 Unpacking과 Setting up 단계가 순서대로 표시된다.
- 버전 정보와 trigger 처리가 있어 변경 작업 범위의 단서가 되지만 시작 원인이나 승인 여부는 화면에 없다.
확인 기준승인 이력과 변경 결과를 확인한 뒤 사건 범위를 확정한다.
실습에서 확인한 동작 원리
- 포렌식은 모든 특이 로그를 악성으로 분류하는 작업이 아니다.
- 이벤트 의미·시각·주체를 분리해야 복구와 증거 보존을 함께 설계할 수 있다.
원리 심화
09증거 시각의 정밀도와 순서의 불확실성
- 시간 원천파일시각·애플리케이션 로그·네트워크 시각·수집 시각은 생성 주체와 정밀도가 다르다. 동일한 숫자 형식으로 바꿔도 의미는 같아지지 않는다.
- 오프셋 보정UTC 변환은 시간대 차이를 제거하지만 호스트 시계 오차까지 고치지는 않는다. 알려진 오차와 오차 범위를 별도로 남긴다.
- 관찰 구간수집 중 계속 변하는 메모리·파일은 한 순간의 완벽한 스냅샷이 아닐 수 있다. 획득 시작·종료·도구·오류를 보존한다.
- 순서 조건두 사건의 가능한 시간 구간이 겹치면 정밀한 선후 관계를 시간만으로 확정하지 않는다. 요청 ID· 부모 관계 같은 다른 증거가 필요하다.
- 원본 보존시간을 정규화한 결과와 원래 문자열·원천 필드를 함께 남긴다. 해석이 바뀌었을 때 원자료로 다시 계산할 수 있어야 한다.
예제로 추적
10가상 로그 두 건의 시간대와 오차 비교
- 첫 기록호스트 A의 원문은 2026-01-01 09:00:01+09:00이며 오차 범위가 ±2초라고 가정한다.
- UTC 변환A의 표시값은 00:00:01Z가 된다. 가능한 실제 시각 범위는 전날 23:59:59Z부터 00:00:03Z다.
- 두 번째 기록호스트 B는 00:00:02Z이고 오차 범위가 ±1초라면 가능한 구간은 00:00:01Z~00:00:03Z다.
- 겹침 판정두 구간이 겹치므로 표시값이 1초 빠른 A가 반드시 먼저 발생했다고 확정할 수 없다.
- 보강 증거같은 요청의 송수신·응답 관계 또는 신뢰할 수 있는 연속 번호가 있으면 순서를 더 좁힐 수 있다. 보고서에는 시간만으로 미확정인 부분을 유지한다.
검증·예외
11포렌식 도구의 결과가 서로 다른 경우
- 획득 대상전체 메모리 · 덤프·복구 파일이 같은 자료인지 확인한다. 서로 다른 범위의 결과를 누락으로 단정하지 않는다.
- 도구 문맥운영체제 빌드·심볼·프로파일·플러그인 조건을 기록한다. 구조 해석이 틀리면 그럴듯한 필드도 잘못 표시될 수 있다.
- 잔존 흔적스캔으로 찾은 과거 객체와 현재 연결된 객체 목록을 구분한다. 메모리에 구조가 남았다는 사실과 현재 실행 중이라는 주장은 다르다.
- 교차 확인·네트워크·파일·로그의 독립 근거를 연결한다. 해시가 같다는 사실은 자료 동일성을 뒷받침하지만 악성 여부를 단독 증명하지 않는다.
12원인 제거·신뢰 회복·복구
- 원인·권한 제거초기 진입점과 지속성, 권한·계정·토큰 노출 범위를 확인하고 취약 설정·패치를 고친다. root 또는 커널 수준의 침해라면 손상된 호스트의 명령 출력 자체를 신뢰하기 어려울 수 있으므로 독립적인 수집·검증 수단과 신뢰 가능한 로 재구축을 검토한다.
- 단일 파일의 한계의심 파일 하나를 지우는 것으로 백도어·예약 작업·서비스·커널 모듈·탈취된 자격 증명이 모두 없어지지 않는다. 자격 증명 교체와 세션 폐기는 신뢰할 수 있는 경로에서 하고 영향을 받는 인접 시스템도 확인한다.
- 백업 신뢰깨끗한 백업인지 검증하지 않은 채 복원하면 같은 상태를 되돌릴 수 있다.
- 복구 검증복구 후 업무 기능, 접근 정책·로그·탐지, 원래 사건 시나리오의 재발 여부를 단계적으로 확인한다. 서비스 가동과 보안 복구 완료를 구분하고 관찰 기간·승인자·미해결 위험을 기록한다.
- 증거 보존조사에 필요한 증거는 복구 작업과 별개로 보존한다.
13사고 보고와 관제·대응 직무의 산출물
- 보고서 구성보고서는 요약·영향 범위·시간 흐름·확인 근거·조치·복구 상태·원인 또는 남은 가설·재발 방지를 포함한다. IOC 목록에는 출처·관측 시각·문맥과 신뢰 수준을 붙인다.
- 영향 범위공유 호스팅 IP 하나를 광범위하게 차단하는 것처럼 단서의 범위를 넘는 조치를 피한다.
- 직무 산출물초동 대응 기록, 증거 목록과 이관 기록, 타임라인, 탐지 개선과 복구 검증표는 취업 시 설명할 수 있는 직무 지식이다. 실습 사건과 실제 사고를 구분하고 자신이 한 수집·분석·정책 개선 범위를 제시한다.
- 이름과 증거도구 이름을 아는 것, 분석 결과를 설명하는 것, 실제 대응을 수행한 경험은 구분한다.
- 사후 개선사후 검토에서는 탐지까지 걸린 시간뿐 아니라 로그 누락, 연락·승인 지연, 격리 영향, 복원 실패와 책임 경계도 살핀다. 원인을 사람의 실수 한 문장으로 끝내지 않고 통제·절차·훈련과 다음 검증에 연결한다.
READ · OBSERVE · CONNECT
함께 보는 학습 자료
아래 공식 자료를 본문의 개념·예제와 함께 읽어 보세요. 자료별로 확인할 위치와 관찰할 내용을 적었습니다.
Volatility 3: Windows 메모리 분석 출력 예제
공식 튜토리얼의 info·pslist·pstree 출력을 비교해 메모리 해석 조건과 부모·자식 관계를 읽는다.
읽으면서 확인할 것
- 와 심볼 해석이 성립하는 조건
- ·PPID·ImageFileName·CreateTime 열
- 이름 하나로 악성 여부를 확정할 수 없는 이유
학습 확인
이해했는지 확인하기
- 경보·침해 증거·업무 영향을 구분해 기록한다.
- 원본·사본·해시·획득 시각·도구·전달 이력을 남긴다.
- 진입점·지속성·자격 정보와 정상 서비스 복구를 함께 확인한다.