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 )
> 운영체제 내에서 작동하는 모든 하드웨어, 소프트웨어, 사용자 정보 및 시스템 구성 요소 등이 레지스트리에 저장된다.
'NCS보안3기 > 디지털 포렌식' 카테고리의 다른 글
[Forensics] 윈도우 포렌식 분석 (0) | 2017.04.28 |
---|---|
[Forensics] 메모리 포렌식 (0) | 2017.04.27 |
[Forensics] 3.20 전산대란 디스크 복구 실습 (1) | 2017.04.27 |
[Forensics] 파티션 복구 실습 III (0) | 2017.04.26 |
[Forensics] 파티션 복구 실습 II (0) | 2017.04.26 |