1. 휘발성 데이터 수집


- 휘발성 데이터


전원이 끊어지면 손실되는 데이터 -> 초기 분석 수행해야 한다.

동작중인 시스템의 메모리에 존재한다.

Process, Password, IP address, event log 등 악성 코드와 관련된 내용 포함이 가능하다.

휘발성 데이터들의 수명은 그 특성으로 인해 모두 다르기 때문에 우선 순위를 고려해야 한다.


- 휘발성 순위


> Register, Cache

> Routing Table, ARP cache, Process Table, Kernel Statistics, Memory

> Temporary file system

> Disk

> Remote logging and monitoring data

> Physical configuration, network topology

> Archival media


휘발성 순위는 RFC3227 문서에 잘 정리되어 있다.

https://www.ietf.org/rfc/rfc3227.txt


- 디지털 증거의 무결성


라이브 시스템에서 데이터를 수집하는 행위는 해당 시스템( 디지털 증거 )에 영향을 줄 수 있다.

> 수집을 위한 외장형 저장장치 연결, 프로그램 설치 및 실행 등

수집 과정에서 일부 변경이 일어날 수 있으나, 보존과 처리 과정에서 변경이 발생하지 않음을 객관적 방법으로 진술 성립의 진정함이 증명되는 때에 증거로 할 수 있다.


- 휘발성 데이터 수집


시스템의 날짜 / 시간을 확인 후, 대상 시스템의 물리 메모리를 획득해야 한다.

> Windows 각 버전마다 메모리 구조가 다르기 때문에 도구에 따라 제대로 해석하지 못하는 경우가 발생한다.

> 따라서 물리 메모리 획득 및 라이브 시스템의 정보를 저장해 두어야 한다.

로컬에서 물리 메모리 획득

> 명령프롬프트나 GUI 유틸리티를 사용해 물리 메모리 덤프를 생성한다.

* 무료 물리 메모리 획득 툴

> MDD

> DumpIt

> FTK Imager


- 시스템 정보 수집


시스템 정보는 라이브 대응과 사후 포렌식 과정에서 타임 라인 생성, 로그와 기타 포렌식 아티팩트와 함께 대상 시스템을 식별하는데 활용된다.


* 주요 수집 대상 시스템 정보

> 시스템 날짜와 시간

라이브 대응 조사를 수행하는 과정에서 처음과 마지막에 수집하는 항목이다.

시스템 분석 시 타임라인 생성과 모든 문서의 기초이다.

대상 시스템의 날짜와 시간을 확인 후 정확한 검증을 위해 신뢰할 수 있는 시간 출처와 비교가 필요하다.


> 시스템 식별자

set user : 로그인한 사용자의 도메인, 이름, 프로필

net user [계정명] : 로컬 컴퓨터의 사용자 정보 수집


> 네트워크 구성

ipconfig : 로컬 컴퓨터에 설정된 IP 정보 및 MAC 주소 확인

netstat -ano : 프로토콜 연결, 연결 상태, 트래픽, 통계 등을 확인


> 서비스 정보

net start : 현재 윈도우 시스템에서 실행되고 있는 서비스 정보 수집

- 제공되지 않는 서비스 또는 유사한 서비스 명으로 등록된 것은 악성코드일 수 있다.


> 시스템 환경

systeminfo : 시스템 uptime, 종류, 프로세서, 메모리, 핫픽스, 네트워크 카드 정보 등 확인


> 공유폴더 정보

net share [공유 이름] : 로컬 컴퓨터의 모든 네트워크 공유 자원에 대한 정보

- 알지 못하는 공유 자원이 있는지 점검해야 한다.( NETBIOS 취약점 )


> 예약된 작업 확인

schtasks : 예약된 작업에 대한 자세한 정보를 제공

- 일부 악성코드 변종은 특정 날짜나 이벤트가 발생할 때까지 휴면상태로 남아있는 '이벤트 기반' 방식을 사용한다.

- 예약된 목록을 확인하여 휴면상태의 악성코드 등을 확인한다.


> 배치파일 제작

대상 시스템상에서 직접 명령어를 이용해 살펴볼 수 있으나, 실수와 누락을 피하기 위해 자동화 도구 등을 이용하는 것이 효율적이다.


2. 비 휘발성 데이터 수집


가용성이 중요한 서버 및 종료할 수 없는 시스템을 다룰 때에는 컴퓨터가 동작하는 동안 전체 시스템의 포렌식 사본을 생성해야 한다.

아래와 같이 주요 비활성 데이터에 대한 수집 및 분석을 수행한다.

> 보안 구성 평가

> 호스트 파일 획득

> Prefetch 파일 조사

> 자동시작 리스트 조사

> 이벤트 로그 조사

> 사용자 계정 조사

> 파일 시스템 조사

> 레지스트리 조사


- 보안구성 평가

* WinUpdateList( Link )

> 시스템이 안전하게 구성됐는지 점검하는 일은 호스트에서 발생할 수 있는 오용, 취약점, 가능한 공격 벡터의 위험 수준을 평가하는데 도움을 준다.



- 호스트 파일 획득

> %SystemRoot%\system32\drivers\etc\

> 해당 위치에 있는 파일들에는 신뢰된 호스트와 네트워크 정보가 존재한다.



> hosts : IP와 호스트 이름 사이의 관계

> networs : IP 주소 범위와 네트워크 이름 사이의 관계

> lmhosts : IP 주소와 NetBIOS 이름 사이의 관계



- Prefetch 파일 조사

> %SystemRoot%\Prefetch

> 윈도우 운영체제는 프로그램 실행 성능을 개선할 목적으로 'Prefetch' 파일을 생성한다.

> 비 정상적인 실행파일명을 포함하는 Prefetch 파일은 대상 시스템의 감염을 증명할 수 있는 잠재적 흔적이다.



- 자동 시작 리스트 조사

* AutoRuns( Link )

> 윈도우의 자동 시작 위치는 시스템을 재부팅해도 악성코드가 지속적으로 존재할 수 있도록 도와준다.

> 자동 시작 위치는 특정 폴더, 레지스트리, 시스템 파일을 비롯해 운영체제의 다양한 곳에 존재한다.


- 파일 시스템 조사

* HFind( Link )

> 일반 사용자는 보지 못하도록 숨겨진 파일이나 ADS의 위치 탐지 및 관련된 목록 출력해준다.


- 레지스트리 덤프

* regdump(  Link )

> 운영체제 내에서 작동하는 모든 하드웨어, 소프트웨어, 사용자 정보 및 시스템 구성 요소 등이 레지스트리에 저장된다.



Posted by Imp3rio