brunch

You can make anything
by writing

C.S.Lewis

by Jyoo Jul 16. 2024

[디지털 포렌식] 1. 데이터 수집 방법

데이터 수집의 중요성, 데드 시스템과 라이브 시스템, 비휘발성 데이터

1. 데이터 수집의 중요성

 디지털 포렌식에서 데이터 수집은 사건 해결의 핵심이나 다름 없다. 정확하고 신뢰할 수 있는 증거를 확보하기 위해서는 적절한 데이터 수집이 필수적이다. 데이터 수집 과정은 법적 증거로 사용될 수 있는 디지털 정보를 식별, 보존, 수집하는 일련의 과정을 포함하며, 이 과정이 제대로 이루어지지 않으면 증거의 무결성과 신뢰성이 훼손되어 증거 능력을 잃어버릴 수도 있다.




2. 데드 시스템(Dead Systems)에서의 데이터 수집

 Dead System에서의 데이터 수집은 시스템이 꺼진 상태에서 진행된다. 이 과정에서는 저장 장치에 저장된 Raw 데이터를 단일 또는 분할된 이미지 파일로 생성한다.

 여기서는 저장 장치의 모든 데이터를 이미징하는 Full Imaging 방식과 선별적으로 이미징하는 Selective Imaging 방식을 사용할 수 있다.


Full Imaging of Storage Devices

저장 장치의 전체 이미징 작업은 저장된 모든 데이터를 비트스트림으로 복사하여 이미지 파일로 생성하는 방식이다. 모든 데이터를 이미징할 경우 압축을 통해 저장 효율성을 향상시킬 수 있고, 포렌식 과정에서 파일을 쉽게 공유할 수 있어 공유 작업에 유리하다. 또한, 암호화를 통해 보안을 강화할 수 있다.


Selective Imaging

 선별 이미징은 파일, 디렉토리, 블록 등 관련 데이터만 선택하여 이미지 파일로 생성하는 방식이다. 전체 이미징 작업과 마찬가지로 저장 효율성, 공유 편리성이 존재하고, 암호화를 통한 보안이 가능하다는 장점이 있다. 추가적으로 관련된 데이터만을 수집하여 처리 시간과 자원을 절약할 수 있다.

 그러나, 선별 이미징 파일에서 삭제된 데이터를 복구하려면 할당되지 않은(unallocated) 영역, 즉 관련 데이터가 아니어서 선별하지 않은 영역도 함께 수집해야야 한다.



3. 라이브 시스템(Live Systems)에서의 데이터 수집

 라이브 시스템에서의 데이터 수집은 전원이 켜진 상태에서 진행된다.

 최근 저장 용량이 증가하고, 서버 시스템의 규모가 증대되면서, 서버 시스템을 종료하려면 큰 비용이 발생하게 된다. 또한, 일부 애플리케이션은 휘발성 메모리에만 민감한 정보를 임시 저장하는데, 이러한 휘발성 메모리에 있는 정보는 전원이 꺼지면 말 그대로 휘발되어버린다. 즉, 수집하기 위해서는 시스템을 종료하지 않은 상태에서 수집하여야 한다.

라이브 시스템에서는 휘발성 데이터와 비휘발성 데이터를 모두 수집할 수 있다.


휘발성 데이터(Volatile Data)

휘발성 데이터는 전원이 꺼지면 사라지는 데이터이다. 대표적으로 물리 메모리(RAM)에 저장된 데이터가 휘발성 데이터다. 휘발성 데이터는 라이브 시스템에서만 수집할 수 있으며, 네트워크 연결 정보, 실행 중인 프로세스, 복호화된 데이터 등을 포함한다.


비휘발성 데이터(Non-Volatile Data)

비휘발성 데이터는 전원이 꺼져도 사라지지 않는 데이터이다. 비휘발성 데이터는 시스템이 꺼진 상태에서도 수집할 수 있으며 예시로는 OS/애플리케이션 아티팩트, 문서, 사진, 동영상, 이벤트 로그, 레지스트리 등을 포함한다.




4. 물리 메모리 수집 및 분석

 물리 메모리 수집 및 분석은 디지털 포렌식에서 매우 중요한 과정이다. 실행중인 프로세스에 대한 정보를 수집하거나 현재 활성화된 네트워크 연결 정보, 사용자 인증 정보 등을 수집하여 종합적으로 사용자 활동에 대한 정보를 분석할 수 있다.


물리 메모리를 획득하기 위해서는 소프트웨어를 사용하여 메모리를 덤프하는 S/W 기반 덤프, 하드웨어 기반 방법을 사용하여 메모리를 덤프하는 H/W 기반 덤프, 블루스크린 오브 데스(BSOD)를 유발하여 메모리를 덤프하는 크래시 덤프, 최대 절전 모드로 전환하여 메모리를 덤프하는 방법 등을 사용한다.


물리 메모리 덤프를 획득하였으면, 인쇄 가능한 ASCII, UNICODE 등 다양한 문자 집합을 탐지하여 유의미한 정보를 획득하거나, 커널 값, 사용자 애플리케이션 객체, 파일 조각, 암호화 키 등의 흥미로운 시그니처 및 패턴을 감지하여 분석할 수 있다.



5. 비휘발성 데이터 수집

 비휘발성 파일은 RAM관련 파일인 pagefile.sys, swapfile.sys, hiberfil.sys 세 가지 파일이 대표적이다.  pagefile.sys은 시스템의 메모리 데이터를 저장하는 파일이다. 운영 체제가 메모리가 부족할 때 이 파일을 사용하여 데이터를 임시로 저장하게 된다. swapfile.sys는 주로 페이지 파일과 유사한 역할을 하며, 메모리 데이터를 디스크에 저장하여 시스템의 성능을 유지한다. hiberfil.sys는 최대 절전 모드로 전환할 때 메모리 데이터를 저장하는 파일이다. 위는 모두 RAM과 관련되어 있는 파일이지만 휘발성 데이터인 RAM 자체와는 달리 휘발되지 않으므로 헷갈리지 말자.


 파일 및 디렉토리 정보를 포함하는 파일 시스템 메타데이터와 파일 시스템의 변경 사항을 기록하는 트랜잭션 로그 또한 비휘발성 데이터이다.

 

 이 외에도 포렌식에 자주 사용되는 아티팩트인 OS 아티팩트, 애플리케이션 아티팩트 (추후 포스팅에서 자세하게 다룰 예정이다.) 역시 비휘발성 데이터에 포함된다.


 라이브 시스템에서 비휘발성 데이터를 수집하기 위해서는 GRR과 같은 원격 라이브 포렌식 도구를 사용해 네트워크를 통해 원격 시스템의 데이터를 수집할 수도 있고, 대표적인 포렌식 아티팩트 수집 도구인 KAPE를 이용하여 다양한 포렌식 데이터를 빠르게 수집할 수 있다.


포렌식에서 사용되는 툴은 이미징에서부터 데이터 수집 및 분석까지 다양하게 존재하므로 사건에 따라 신뢰할 수 있는 증거를 확보하기 위해 정확하고 체계적으로 사용될 필요가 있다.

매거진의 이전글 [디지털 포렌식] 0. 디지털 포렌식이란?
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari