분석 방법에 따른 포렌식 도구

Suyoung Park·2022년 4월 4일
0

서론

현재 디지털 증거 분석 없이는 사건 해결이 어려울 만큼, 대부분의 수사기관에서 디지털 포렌식을 적용해 수사를 진행한다. 디스크에서 파일을 삭제한 내역을 복구해 범죄 행위를 검증할 수 있고, 웹 서핑 기록을 분석하여 범죄 계획과 증거 인멸 시도를 알 수 있다. 본고에서는 디지털 포렌식 분석을 위한 분석 도구를 알고, 적절한 환경 세팅에 대해서 간단히 고찰한다.

🔨포렌식 도구

디지털 포렌식을 수행하는 과정에서 다양한 도구의 활용은 필수적이다. 포렌식 도구로는 Encase, Forensic Explorer 등 다양한 통합 도구들이 있지만, 필자가 자주 사용했던 도구는 다음과 같다.

HxD

이진 파일을 읽을 수 있는 무료 에디터 프로그램이다. 주로 램(RAM)이나 물리 디스크, 디스크 이미지를 열어 특정 섹터를 분석할 때 사용된다. 이 외에도 파일이나 이미지의 시그니처를 확인하거나 수정할 때도 사용되고 있다.

FTK Imager

FTK Imager는 활성화되어 있는 물리 디스크나, 덤프된 디스크 이미지를 분석하기 쉽게 나타내는 도구이다. 증거 항목을 추가하고 선택하면, 항목 속에 있는 파일과 폴더를 삭제된 것까지 모두 포함하여 보여준다.

Volatility

Volatility라는 단어는 휘발성, 변동성이라는 뜻을 가진 단어로, 포렌식 분석 과정에서 매우 중요한 휘발성 데이터를 분석할 때 사용되는 도구이다. Python 기반의 윈도우 메모리 포렌식 툴이며, 주로 메모리 덤프 파일(.img, .raw, .dmp), 하이버네이션(.hiber) 파일, 가상머신 메모리(vmem)를 분석할 때 사용한다.

기본 명령어 방식은 vol.py -f [이미지 경로][플러그인] 형태로 작성하거나, vol.py -f [이미지 경로] --profile=[운영체제] 형태로 작성하여 분석한다.

사진은 리눅스 환경에 있는 volatility를 이용해, 터미널에 메모리 덤프 파일의 프로파일 정보를 출력하는 명령어를 작성한 것이다. 이 명령어를 통해 파일의 운영체제를 확인할 수 있다.
userassist 명령어는 최근에 실행한 프로그램 목록, 마지막 실행 날짜, 실행 횟수, 프로그램을 실행한 사용자를 출력한다.

부가적인 도구

포렌식 도구로서의 역할이라기에는 애매하지만, 포렌식에서의 분석 요소로 도움이 되었던 도구이다.

타임스탬프 값은 범행이 일어난 시간을 입증하기에 좋은 요소이다. 서로 다른 운영체제에서 다양한 포맷이 사용되고 있기 때문에 타임스탬프 값의 간편하고 빠른 변환은 분석에서 큰 이점이다. 해당 도구는 운영체제, CPU의 정보 처리 방식, 진수 종류, 저장방식 등을 고려해 시간 정보를 디코딩한다. 또한 분석 대상의 TimeZone을 적용할 수 있어 유용하다.


⚙️포렌식 환경설정

디지털 포렌식의 분석 대상에 따라 필요한 도구는 조금씩 달라진다. 포렌식의 다양한 분야에서 적절한 도구를 활용하는 것은 포렌식을 작업하는 데 있어 중요한 요소이다. 다양한 실습을 해보았을 때, 적절하게 사용되었던 도구들을 분류했다.

디스크 포렌식

디스크 이미지를 열 때 기본적으로 HxD를 사용한다. 물리적인 디스크인 USB나 하드디스크를 열 수도 있고, 덤프된 디스크 이미지를 열 수도 있다.

하드디스크는 섹터(512byte)를 단위로 읽기 때문에, HxD에서 섹터 단위로 이동할 수 있는 기능을 제공한다. 기록된 파티션 시작 주소를 찾고, 파티션으로 이동하며 분석하는 데에 용이하다. 또한 파일 위치를 찾아 해당 파일 크기만큼의 블록을 선택해 파일을 추출하는 방법도 있다.
디스크 이미지를 조사할 땐 FTK Imager를 활용하면 더 간단하게 디스크 구조를 확인할 수 있다. 이진 값들을 보여줄 뿐만 아니라 이미지에 포함된 내용도 바로 확인 가능하다. 복구 과정도 파일의 크기와 확장자를 알아야 복구가 가능한 HxD와는 다르게, Export를 통해 간단하게 수행할 수 있다.

메모리 포렌식

메모리 포렌식은 컴퓨터 하드웨어 중 주기억장치(memory)에 존재하는 휘발성 데이터를 덤프하여 분석하는 과정을 말한다. 운영체제, Process, Network 분석, DLL 및 Thread, String, Registry 분석 등 다양한 정보를 얻을 수 있다. Volatility에서 imageinfo로 운영체제를 확인하고 userassist로 레지스트리를 분석한 것처럼, 메모리에 담긴 내용을 저장해둔 것을 토대로 읽어들인다. 메모리를 덤프하는 과정의 도구를 먼저 살펴보았다. 메모리는 DumpIt이라는 툴을 사용해 덤프 파일을 만들 수 있다.

가상머신인 vmware를 활용해 덤프 파일을 생성할 수도 있다. 다음은 windows 7을 운영체제로 하는 vmem 파일을 생성한 내역이다.

웹 포렌식

웹 브라우저 포렌식은 용의자의 컴퓨터에 저장되는 웹 브라우저 사용 흔적을 조사하는 것이다. 웹 브라우저가 남기는 로그파일을 분석하는 행위라고도 한다. 웹에서는 생성되는 캐시나 히스토리, 다운로드 목록, 쿠키 값 등이 분석 자료로 사용된다. 이렇게 운영체제나 애플리케이션을 사용하면서 생성되는 흔적을 아티팩트(Artifact)라고 한다.
웹의 로그는 파일 탐색기를 통해서도 쉽게 확인이 가능하다. 숨겨진 폴더를 볼 수 있게 설정하고, AppData 폴더로 이동해 최근 문서가 생성되는 경로를 확인할 수 있다.

웹 메일 발송 시 변화되는 흔적


결론

디지털 포렌식에는 다양한 도구를 사용할 수가 있고, 소개한 도구 외에도 다양하고 좋은 기능을 가진 도구들이 많다. 각자 도구의 특성을 파악하고, 분석 대상을 올바르게 분석하는 것이 중요하다. 여러 가지 CTF 문제를 풀면서 포렌식 도구의 사용법을 익히거나, 직접 실습 환경을 구성해 분석하는 것을 통해 포렌식 도구 사용 능력을 향상할 수 있을 것이다. 더불어 증거를 하나의 도구로만 분석하기 보다는, 확정성을 위해 다양한 도구로 여러 번 검증하는 자세가 필요하다.

profile
I'm swimming!

0개의 댓글