디지털 포렌식

디지털 포렌식 기초 1주차

kchabin 2022. 11. 1. 03:02

디지털 포렌식이란?

컴퓨터 범죄와 관련하여 디지털 장치에서 발견되는 자료를 복구하고 조사하는 법과학의 한 분야.

 

필요성

해킹 등 컴퓨터 관련 범죄 뿐만 아니라 잉ㄹ반 범죄에서도 디지털 포렌식으로 획득할 수 있는 증거가 주요 단서가 되는 경우가 많아짐. 

 

범죄 수사 이외의 분야에서도 활용도가 증가함.

 - 민사사건

 - 일반 기업에서의 수요 급증 ( 내부 정보 유출, 회계 감사 등)

 

유형

1. 침해 사고 대응

- 실시간

- 사태 파악 및 수습

- 엄격한 입증 필요 x

전반적인 포렌식이 포함되나, 증거 추출처럼 엄격하지는 않음.

 

2. 증거 추출

- 사후 조사

- 범죄 증거 수집

- 엄격한 입증 필요 o

처음 수집 ~ 법정 그 어떤 데이터 위변조도 없었다. 

 

대상

- 디스크 포렌식 -> 컴퓨터 디스크 ( 윈도우, 리눅스, MacOS / 개인, 서버, 클라우드)

*ssd, hdd, c드라이브, d드라이브, usb

 

- 메모리 포렌식 -> 컴퓨터 메모리 (RAM) 

*프로그램이 올라와서 돌아갈 수 있는 놀이터 같은 곳.

- 프로그램 실행 흔적 등

 

- 네트워크 포렌식 ->  네트워크 패킷, 네트워크 장비 로그, 네트워크 관련 설정들

방화벽, ARP 테이블, DNS 설정 변조 여부 등등

 

- 모바일 포렌식 - > 모바일 디바이스 (저장소, 메모리) / IoT 디바이스

*일종의 리눅스 포렌식이라 볼 수 있음. 

 

디스크 이미징과 마운트, 메모리 덤프

 

1. FTK Imager 설치 및 관리자 권한으로 실행

2. Create Disk Image 클릭

Physical Drive 선택, Finish 누름

-> USB 드라이브 :E를 선택했음. 처음에 USB 연결 안하니까 나중에 Image Destination 오류가 발생함.

이미징하는 디스크와 이미징 파일을 다른 디스크에 저장해야 한다. 

 

주로 Raw 타입 아니면 E01 타입을 쓰는데, E01이 좀 더 압축된 포맷이다. 

실제 수사 시 사건 번호 등 입력. 실습에서는 필요 없으니 다음 클릭.

실습하려고 만든 D 드라이브에 저장함.

0 = do not fragment 

이미지 파일이 워낙 커서 쪼개서 저장하는데, 쪼개서 저장하지 않겠다는 뜻.

E 드라이브를 이미징했으니, 저장 경로는 D드라이브로 해줬다. 

Start 누름. 상당히 오래 걸린다.
이미지 생성 완료

이미징 : 하나의 드라이브를 하나의 파일로

마운트 :  하나의 파일을 컴퓨터에게 하나의 드라이브처럼 인식해라 라고 붙이는 것. 

 

마운트 완료
Evidence Tree

 

메모리 덤프

메모리 = 일종의 운동장

아이들이 뛰고 있는 운동장을 사진 캡쳐하듯이 찍어오는 것. 

 

윈도우 컴퓨터의 지금 시점의 메모리를 사진 캡처하듯 찍어서 파일로 가져오는 것

덤핑 중..
HxD로 열어본 메모리 덤프 파일.

대부분 찌꺼기 데이터가 많음. 메모리의 일부만 사용.

메모리 사용량 그래프를 보면 50% 넘는 경우가 별로 없다. -> 메모리 중 50% 이상은 쓰레기 or 프로그램이 통째로 올라가는 경우도 있다. 

 

 

 

 

*기초 포렌식 설치 도구

HxD : 파일은 바이트 형태. 이걸 보기 쉽게 하는 도구. 

everything : 컴퓨터 전체 검색. 파일 위치 찾는 용. 

 

 

7-Zip : .7z, .rar .. 같은 특이한 압축 파일 압축해제용.

 

 

쉽게 삭제된 파일 복구하기

아까 만든 이미지 파일을 Evidence Tree에 불러옴. 

root 파일을 누르고 보면 x 표시 쳐진 것들이 있다. 이 파일들이 삭제된 파일들인데, size가 1인 것들은 껍데기로 볼 수 있고,

size가 좀 있는 것 중 하나를 골라 우클릭하고 Export Files로 복구한다.

바탕화면 폴더에 파일이 복구되었다. 

내용이 없는 걸 보니 껍데기 파일이었던듯. 

 

Autopsy 도구를 이용하면 FTK Imager는 pdf, mov, docx 등 파일 타입이 나뉘어있지 않아서 직접 찾아야 하는 반면,

Autopsy는 이메일과 관련된 부분, 이미지, 비디오, exe, dll 등 다양한 타입에 따라 세분화시켜 제공해주기 때문에 파일을 찾아보기가 더 간단하다.

 

autopsy에서 제공해주는 기능들

삭제된 텍스트 파일에 내용이 지워지지 않은 것을 확인할 수 있다. 

우클릭으로 파일을 추출하고 바탕화면 폴더에 저장한뒤 다시 열어보니 이전에 썼던 노트 데이터가 복구 된 것을 확인할 수 있다. 

 

디지털 포렌식 절차

기술

- 저장매체, 시스템, 네트워크, 응용프로그램

절차

- 증거수집, 증거 이송, 증거 분석, 분석 검토, 보고서 작성

 

기술  + 절차 = 디지털 포렌식 목적 :  증거 능력 확보

 

 

디지털 포렌식 기본 원칙

 

 1. 정당성의 원칙

- 증거가 적법 절차에 의해 수집되었는가?

 

2. 무결성의 원칙

- 증거가 수집, 이송, 분석, 제출 과정에서 위.변조 되지 않았는가?

 

3. 연계보관성의 원칙

- 수집, 이동, 보관, 분석, 법정 제출의 각 단계에서 증거가 명확히 관리되었는가?

 

4. 신속성의 원칙

- 디지털 포렌식의 전 과정이 신속하게 진행되었는가?

 

5. 재현의 원칙

- 같은 조건과 상황하에서 항상 같은 결과가 나오는가?

 

디지털 포렌식 절차

1단계 : 사전 준비

디지털 도구 검증 

 - 디지털 포렌식 절차를 신뢰적, 효율적, 체계적으로 실시할 수 있는 독립 또는 통합 도구 준비

 - 평소에 포렌식 도구가 올바르게 동작하여, 무결성을 보장하는지 검증해야함.

 

쓰기 방지 도구

복제/이미징 도구 -> FTK Imager

검색 도구

문서/파일 도구

분석/복구 도구

통합 분석 도구 -> Autopsy

 

저장매체 준비

- 충분한 용량, 편리한 확장성, 무결성 제공

- 저장매체 완전삭제(Wiping)을 통해 기존 데이터를 완벽하게 제거해야함.

 

2단계 : 증거 수집

 

일반적인 디지털 증거물 획득 절차

초기 대응 -> 휘발성 데이터 수집 -> 비휘발성 데이터 수집 -> 증거 획득 -> 무결성 확보 -> 증거물 인증

 

1) 초기 대응

 

- 현장 도착 및 보호

  현장의 안전 확보, 1차 대응자는 증거 자료의 삭제/파괴 행위 방지

  범죄 현장 범위를 구분하고 Police Line 수립

 

- 현장 수색 및 시스템 파악

  시스템과 관련 증거에 대한 수집 목록 작성

  현장에 훼손되거나 사라질 수 있는 증거가 있다면 카메라나 메모를 통해 현장 기록

 

- 현장 정밀 수색

  수색 영장이 허용하는 범위 내에서 모든 HW, SW, 메모, 로그, 저장매체 등 수색

 

2) 휘발성 데이터 수집

네트워크 연결 정보, 물리메모리, 프로세스 정보, 열린 파일 목록, 로그온 사용자(세션), 열린 TCP/UCP 포트 정보, 프로세스와 포트 맵핑, 라우팅 테이블, 네트워크 인터페이스

 

-> 커맨드 라인 방식 (스크립트) 활용

 

3) 비휘발성 데이터 수집

저장매체의 대용량화 -> 비휘발성 데이터 우선 수집 -> 전처리로 분석 시간 단축

 

비휘발성 우선 수집 대상

- 파일시스템 메타데이터

- 레지스트리 하이브 파일

- 프리패치/슈퍼패치

- 웹 브라우저 사용흔적

- 시스템 설정 파일

- 다양한 시스템/응용프로그램 로그 

 

4) 증거 획득

- 메모리 덤프

- 저장매체 복사, 이미징, 복제

- 생성 과정에서 오류 검출 알고리즘 사용(CRC : Cyclic Redundancy Check)

 

5) 무결성 확보

- 해시 알고리즘 사용(MD5, SHA1 등)

 

6) 봉인

- 연계보관성 보장 목적

 

7) 수집된 증거물에 대한 인증

- 용의자의 서명

- 제 3자의 서명

- 증거 수집 과정 촬영 및 녹화

- 디지털 공증

 

3단계 : 증거 포장 및 이송

 

1) EMP 폭탄 방지

- 증거물 무력화 가능성 차단

 

2) 증거물 포장

- 충격 방지 랩, 정전기 방지용 팩, 하드케이스 등

- 접근 통제가 가능한 공간에 보관

 

3) 연계 보관

- 현장~법정 제출, 거쳐간 경로, 담당자, 장소, 시간 기록

- 증거의 무결성 증명위해 담당자 목록 유지

- 인수인계 과정에서 상호 증거를 확인하는 절차 필요

 

4) 이송

- 안전한 이송을 위해 포렌식 차량 사용

 

4단계: 조사 분석

1) 타임라인 분석

- 시간 정보가 포함된 시스템 아티팩트를 대상으로 타임라인 정렬

- 사건 발생 시간을 기준으로 전, 후 맥락 비교

- 사건의 인과 한눈에 확인 가능

2) 데이터 브라우징

- 획득한 저장매체 내부의 정부를 가독성 있는 형태로 변환하여 출력

 

 - 포렌식 관점의 브라우징

  기억장치의 이진 데이터를 폴더/파일 단위로 출력

  저장매체 또는 이미지에 존재하는 파일들을 CLI/GUL 환경에서 쉽게 다룰 수 있어야 함.

  이름, 크기, 속성, 시간정보, 해시값, 시그니처 등으로 정렬이나 분류 가능

 

3) 데이터 복구

- 기본적인 파일 삭제 = 메타정보, 데이터의 링크만 사라짐

- 대부분의 파일시스템에서 삭제된 파일 복구 가능

- 삭제 후 덮어써졌다면 파일 카빙 기법을 이용해 복구

 

파일 카빙 기법

- 시그니처 카빙, 램 슬랙 카빙, 파일 크기 획득, 파일 구조 검증, 스마트 카빙 기법

저장매체 수리/복원

- 자연재해에 의한 손상도 상황에 따라 복구 가능

- 하드웨어, 파일 시스템이 손상된 경우에도 상황에 따라 복구 가능

- 손상된 저장매체를 어떻게 취급, 관리하느냐에 따라 복구율이 달라짐.

 

4) 해시 검색

- NSRL, Bit9 등의 화이트리스트 해시 사용

 

5) 파일 검색

- 인덱싱 필요 for 연속 검색

- 통합 분석 도구에서 지원

- Splunk (검색 전용 도구)

 

6) 데이터 탐색

- 용의자의 은닉 정보 식별

- 스테가노그래피 탐색

- 슬랙 공간 탐색 (램 슬랙, 파일 슬랙, 볼륨 슬랙, 파일시스템 슬랙 등)

- NTFS ADS ( Alternated Data Stream) 탐색

- HPA(Host Protected Area), DCO(Device Configuration Overlay) 탐색

 

7) 암호 복호화/패스워드 크랙

- 용의자는 자신에게 불리한 증언을 하지 않을 권리가 있음 -> 패스워드 노코멘트

- 관용 암호(AES, RSA, TDES)를 권고 이상의 키를 이용해 사용할 경우 복호화가 어려움.

- 사회공학적 방법, 사전 공격으로 얻어낼 가능성 높음

 

패스워드 공격

- 상용 및 무료 소프트웨어 이용

- GPGPU 활용 

- 대규모 분산 시스템 이용

- TMTO(한국형 패스워드 사전) 이용 복호화

 

그외 다양한 데이터 분석

- 통합 로그 분석

- 시스템 아티팩트 정밀 분석

- 악성코드 역공학

 

5단계 : 정밀 검토

- 법정에 증거로 사용될 수 있으니 사전 정밀 검토 필요

- 사본을 대상으로 동일한 과정을 반복 -> 결과가 일치하는지

- 분석 내용과 사건과 논리적으로 잘 연결이 되는지

 

6단계 : 보고서 작성

- 육하원칙에 따라 명백하고 객관성 있게 기술

- 비전문가 이해하기 쉽도록

 

침해사고 대응 절차

업무 협약 -> 담당자 면담 -> 조사 및 분석 -> 보고서 작성 -> 데이터 파기 -> 결과 보고

 

디지털 포렌식 법률

 

증거능력(Admissibility)

- 증거가 엄격한 증명 자료로 사용될 수 있는 법률상의 자격

- 법적허용성(Legal Admissibility) 미국

- 위법수집증거배제법칙, 전문법칙

 

증명력(Weight)

- 증거의 실질적 가치, 신빙도 -> 법관의 자유 심증주의에 따라 판단

 

유효한 증거가 되기 위해서는 증거능력과 증명력이 필요함.

- 디지털 증거의 증거능력과 증명력을 뒷받침하기 위한 과학수사 -> 디지털 포렌식