디지털 포렌식과 증거 보존
Digital forensics · 디지털 증거 분석
디지털 포렌식은 디지털 자료를 보존·분석해 사건에 관한 사실과 한계를 설명하는 작업이다. 원본··획득 방식·도구 버전·시간 기준을 기록해야 분석을 재현할 수 있다.
밑줄 용어에 마우스를 올리거나, 키보드로 선택하거나, 터치하면 설명을 볼 수 있습니다.
01무엇이고, 어떤 일을 하나
- 원본 훼손을 줄이면서 증거를 획득한다.
- 파일·로그·메모리·네트워크 흔적을 교차 대조한다.
- 관찰 사실과 추정을 구분한 타임라인과 보고를 만든다.
02어떤 순서로 동작하나
- 보존 결정
피해 확산과 의 손실 가능성을 비교해 격리·전원·획득 순서를 정한다. 모든 사고에 같은 전원 종료 순서를 적용하지 않는다.
- 자료 획득
대상·시간·도구·해시·오류를 기록하며 필요한 범위의 사본을 만든다. 전체 메모리 와 덤프·파일 추출은 다른 범위다.
- 분석 교차검증
타임라인··파일·연결 자료를 연결하고 각 센서가 보지 못한 범위를 적는다. 시간 정밀도보다 작은 차이는 순서 확정 근거로 과장하지 않는다.
- 결론과 보관
확인된 사실·가능한 설명·미확인 부분을 분리하고 사본과 분석 이력을 관리한다. 개인 자료와 비밀값의 공개 범위는 조사 목적에 맞게 제한한다.
03먼저 알아둘 용어와 구성요소
- 전원· 종료 등으로 자료가 사라질 수 있는 성질.
- 분석 대상 매체나 메모리를 획득한 자료 사본.
- 원본을 보존하면서 분석을 수행하는 복제본.
- 획득·이전·보관·분석 주체와 시점의 증거 이력.
- 전원 종료·시간 경과로 사라질 수 있는 메모리·연결 상태 등의 자료.
- 원본 저장 매체 등의 내용을 분석·보존 목적으로 획득한 사본.
EICAR 메일 자료에서 전달·탐지·실행을 구분하기
안전한 테스트 파일의 전달 경로와 보안 검사 결과를 분리해 기록한다.
실습 구성과 전제
- 실제 악성코드 대신 공식 EICAR 테스트 자료 또는 무해한 파일만 자기 격리 메일 환경에서 사용한다.
- 파일 이름·메일 수신만으로 탐지 성공 또는 우회를 단정하지 않는다.
수신 화면이 증명하는 사실부터 적는다
- 받은 편지함의 첨부 존재는 메일 전달과 MIME 처리의 증거다. 첨부 이름이 EICAR 형태여도 실제 바이트가 표준 테스트 문자열인지 해시·내용으로 별도 확인해야 한다.
- 첨부를 실행하지 않고 원본과 을 분리한다. 메일 본문·첨부·헤더는 서로 다른 분석 대상이다.
원본 크기로 보기 ↗- 받은 편지함에 eicar.com.txt라는 이름과 71 B 크기의 첨부가 보인다.
- 화면에는 탐지 엔진 이름·판정·격리 로그가 없다. 수신 화면만으로 악성코드 검사 결과를 확정할 수 없다.
확인 기준파일명·크기·해시·검사 로그를 각각 기록한다.
헤더로 메일의 전달 구조를 확인한다
- MIME Content-Type과 boundary는 첨부를 담는 구조를 설명한다. Received·Delivered-To는 전달 경로를 좁히는 자료이지만 신뢰할 수 있는 서버가 추가한 구간을 구분해야 한다.
- 메일 도착 시각을 검사 서비스의 처리 시각과 맞추고 허용·차단·격리 이유를 찾는다.
원본 크기로 보기 ↗- Content-Type이 multipart/mixed로 표시되어 본문과 첨부를 여러 부분으로 담는 구조를 보여 준다.
- Delivered-To·Received·Message-Id가 있어 전송 기록을 대응시킬 수 있다. 주소 값 자체는 보고서에 재전재하지 않는다.
확인 기준같은 Message-ID·큐 ID·첨부 해시를 이용해 검사 결과를 연결한다.
분석 환경의 격리 범위를 점검한다
- 테스트 파일에 대한 탐지는 실제 악성 파일의 모든 행위를 탐지한다는 보증이 아니다. 파일 검사·메일 경로·정책 적용의 일부를 확인하는 시험이다.
- 별도의 샌드박스 자료를 읽을 때는 메모리 분리와 격리를 구분한다. 파일을 실행하는 동적 분석은 네트워크·스냅샷·복구 조건을 추가로 요구한다.
확인 기준전달 성공·엔진 탐지·정책 차단을 세 개의 결과로 남긴다.
실습에서 확인한 동작 원리
- 파일 이름보다 실제 바이트와 검사 로그가 중요하다.
- EICAR는 안전한 검사 시험 자료이며 악성 행위 분석 전체를 대신하지 않는다.
로그 묶음에서 인증·정책 로드·패키지 변경을 분리해 타임라인 만들기
일상 관리 이벤트를 침해 흔적으로 오인하지 않으면서 조사 우선순위와 증거 연결을 정한다.
실습 구성과 전제
- 원본 로그를 보존하고 해시를 기록한 에서만 분석한다.
- 다음 화면들은 여러 종류의 호스트 기록을 비교하는 자료이며 하나의 침해 사건으로 확정된 연속 증거가 아니다.
인증 기록에서 조사할 세션을 고른다
- 계정·인증 방식·출발지·PID·세션 시각을 표로 옮긴다. 운영자의 승인된 작업 시간과 비교해 확인할 대상을 정한다.
- 인증 성공은 시작점일 뿐이다. 이후 어떤 자원에 접근했는지와 ·파일 변화를 연결해야 범위를 판단할 수 있다.
원본 크기로 보기 ↗- 인증 수락과 세션 시작·종료가 별도 메시지로 나타난다.
- 같은 화면에 여러 PID와 세션이 있어 단일 로그인으로 묶지 않아야 한다.
확인 기준세션별 행을 만들고 추정과 확정 값을 표시한다.
정책 로드와 차단 이벤트를 구분한다
- AppArmor 로그의 profile_load는 보안 프로파일이 로드됐다는 상태 이벤트다. 보안 정책이 등장했다는 이유만으로 악성 행위 차단이라고 판단하지 않는다.
- 차단을 주장하려면 DENIED 등 실제 판단 필드, 대상 경로, 실행 주체를 확인한다.
원본 크기로 보기 ↗- audit type=1400과 apparmor 상태, profile_load 관련 필드가 반복된다.
- 프로파일 이름과 apparmor_parser가 보여 정책 로드 작업임을 조사할 수 있다.
확인 기준상태 변경과 접근 거부를 다른 이벤트 유형으로 분류한다.
패키지 작업과 영향 시점을 대조한다
- Unpacking·Setting up·Processing triggers는 과정의 기록이다. 서비스 장애 시각과 겹치면 변경 작업의 영향 가능성을 조사하되 곧바로 악성 설치라고 쓰지 않는다.
- 패키지 이력·관리자 작업 기록·파일 해시를 연결해 타임라인을 보강하고, 복구 작업이 원본 증거를 덮지 않게 한다.
원본 크기로 보기 ↗- 여러 패키지의 Unpacking과 Setting up 단계가 순서대로 표시된다.
- 버전 정보와 trigger 처리가 있어 변경 작업 범위의 단서가 되지만 시작 원인이나 승인 여부는 화면에 없다.
확인 기준승인 이력과 변경 결과를 확인한 뒤 사건 범위를 확정한다.
실습에서 확인한 동작 원리
- 포렌식은 모든 특이 로그를 악성으로 분류하는 작업이 아니다.
- 이벤트 의미·시각·주체를 분리해야 복구와 증거 보존을 함께 설계할 수 있다.
04예제로 따라가기
- 첫 기록: 호스트 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가 반드시 먼저 발생했다고 확정할 수 없다.
- 보강 증거: 같은 요청의 송수신·응답 관계 또는 신뢰할 수 있는 연속 번호가 있으면 순서를 더 좁힐 수 있다. 보고서에는 시간만으로 미확정인 부분을 유지한다.
05혼동하기 쉬운 점과 확인 기준
- 해시 일치는 두 사본의 바이트 동일성을 지지하지만 획득 전에 자료가 조작되지 않았다는 모든 보장을 주지는 않는다.
- 메모리에서 를 찾지 못한 결과는 도구·심볼·획득 범위·시간 조건의 한계 때문일 수도 있다.
06상세 노트 · 실습 자료
헤더 구조, 설정 예시, 수치 계산과 수업 캡처는 아래 노트에서 이어집니다.
공식 문서 · 표준
기초 개념과 동작 설명을 대조한 자료입니다. 제품 버전과 실제 설정에 따른 차이는 본문 및 원문에서 확인하세요.