[Digital Forensic] Live Response (실시간 대응) (1)

 

실시간 대응


(1) Live Response 정의

  • 구동되고 있는 시스템에서 휘발성 정보를 수집하는 행위 > 컴퓨터 포렌식 조사 과정 중 하나

  • 범위는 구동되고 있는 시스템에서 수집 가능한 모든 정보 수집 / 분석 ~ 이를 바탕으로 한 사고의 처리까지

  • 예전에는 침해사고 시스템 전원 플러그를 뽑고 하드 드라이브 이미지 복사 > 가장 기본적이고 상식적인 절차

  • 근래는 휘발성 정보의 중요성 인식 > 휘발성 정보를 수집하고 분석하는 쪽으로 연구와 방법론 구성


(2) Live Response 중요성

  • 휘발성 저장장치에서만 찾을 수 있는 정보(흔적)가 있기에 수행 여부는 디지털 포렌식 절차에서 중요

  • 수집한 휘발성 정보 우선적 평가 > 시스템 대략적인 상태 파악

  • 설치된 윈도우 버전, 서비스팩 파악 > 해당 시스템 취약점 목록화

  • 휘발성 정보 해당 취약점 연계 > 조사 범위를 좁혀 수사 시간 절약

  • 금융, 게임, 온라인 쇼핑 회사 등 24시간 운영 서버 컴퓨터에서 매우 유용 > 회사 서버 컴퓨터 종료 시 막대한 금전적 손실 >  Live 상태에서 모든 증거 수집 / 분석 (최우선 과제)

 

  1. 현재 동작 중인 프로세스

  2. 열려 있는 파일 목록

  3. 네트워크 연결 정보

  4. 클립보드

  5. 사용자 정보

  6. 비밀번호

  7. 복호화 된 데이터

  8. 기타


(3) Live Response 수행 여부

 

  • 상황에 따라 다름 > 해야 할 상황 정리 매우 힘듦, 반대로 하지 않아야 할 상황도 알아두어야 함

 

[그림 1] 서버 전원 플러그 제거

 

3-1. 해커나 악성코드 등에 의해 시스템 파일이 삭제되는 경우  

  • Live Response 수행보다는 시스템 전원 플러그 제거

  • 삭제되는 파일이 로그파일일 수도 있지만, 조직에 영향을 미치는 중요한 파일일 수도 있기 때문

 

 

3-2. 조사 수행 도구가 검증되지 않은 도구 경우

  • 주로 공개용 도구 해당, 검증되지 않은 도구 사용 시 시스템에 어떤 영향을 끼칠지 모름

  • 개인 PC 경우에는 본체 뒤 전원 플러그 제거해도 상관 없음

  • 서버 PC 경우에는 전원 플러그 제거 시 서버 어플리케이션들은 장애 대비 능력이 없어 시스템에 심각한 손상 위험이 크므로 정상적 종료 필요


(4) Live Response 원칙

  • 로카르드 교환 법칙 적용 (접촉하는 두 물체 사이에는 반드시 교환이 일어남)

  • 범죄자만 적용되는 것이 아닌 수사관에게도 적용되는 법칙조사관들은 Live Response 수행 시 시스템에 미치는 영향 최소화 필요

  • 수행 시 도구 수행 필요 > 도구가 수행되면서 시스템 영향 미침 > 검증되고 포렌식 특화 도구 사용 권장

 

 

※ Live Response 시스템 구성 요소들이 받는 영향

 

1) 메모리

  • 도구 실행 > 프로세스 생성, 메모리 적재 > 프로세스가 메모리 점유하면서 이전 데이터 덮어 씌움

 

2) 네트워크

  • 사용 도구 네트워크 사용 시 시스템은 소켓 열고 통신 시도

  • 위 과정에서 시스템 방화벽 존재 시 로그가 남고 로그 파일이 쌓이면서 사용하지 않던 하드 드라이브 영역 사용

  • 로그 파일 개수가 설정 개수 초과 시 오래된 로그 삭제 > 중요 로그 정보 지워짐

  • 네트워크 연결은 커널 오브젝트에 의해 관리 되어 커널 테이블 갱신

 

3) 프리패치 파일 (Windows 환경)

  • 윈도우에서 새로운 프로그램 실행 시 생성되는 파일로, 조사관이 사용하는 도구 실행 시 프리패치 파일 생성

  • 최소 클러스터 하나 이상의 비할당 영역을 새로 할당받아 사용 > 윈도우는 하드 드라이브 할당 시 클러스터 단위

  • Windows XP 프리패치 파일 최대 120개 > 개수 초과 시 오래된 파일 삭제 > 중요 파일 삭제

 

4) 레지스트리 (Windows 환경)

  • 많은 Live Response 도구는 레지스트리에 접근하여 그 값을 이용

  • 레지스트리에 마지막 접근 시간 갱신

  • 레지스트리에 어떠한 값 설정 > 레지스트리 키에 대한 마지막 쓰기 시간도 갱신

 

5) DLL (Dynamic Link Library/Windows 환경)

  • 동적 컴파일 시 필요한 파일로, 여러 가지 비슷한 함수들의 모임

  • 조사관 도구가 시스템 DLL 사용 > 파일 마지막 접근 시간 갱신

 

6) 로그 파일

  • 조사관 도구 에러 발생 > 기본적으로 에러 로그 남음 > 악성 오류나 실행, 이벤트 등 로그가 밀려 삭제 위험 가능성

  • 어떤 식으로든 조사관, 해커, 악성 프로그램은 시스템에 영향을 미침

 

 

※ 효과적인 방법

  • 도구 프로그래밍부터 여러 경우 고려하여 도구 제작

  • 여러 가지 도구들을 미리 테스트 > 가장 성능이 좋으면서 영향 최소화 도구 선별 / 사용


(5) 휘발성 정보 수집

 

  • 정확히 표준으로 정해진 것이 없으며, 조사관마다 판단에 의해 절차가 정해져 수집이 이루어짐

 

※ 가이드 라인별 비교표 (많은 조사관들에게 길잡이 역할)

RFC 3227

NIST Special Publication 800-86

레지스터, 캐시

네트워크 연결 정보

라우팅 테이블, ARP 캐시, 프로세스 테이블, 커널 사용 정보, 물리적 메모리

로그온 세션

임시 파일

물리적 메모리

디스크

프로세스 정보

원격 로그인 모니터링 정보

열린 파일

물리적 설정, 네트워크 구성

네트워크 설정 정보

기타 저장장치

 
  • 두 가이드 순서를 100% 의존 X > 주관적으로 정한 것

  • 휘발성 정보 수집 > 윈도우 기본 지원 명령어 사용 / 인터넷에서 검증받은 Live Response 도구 사용하여 수집

  • 도구 사용 위해 대상 컴퓨터의 관리자 권한 필요

 

※ 관리자 권한 올바른 예

  • Runas 라는 윈도우 기본 지원 명령어 사용 (일시적 권한)

 

[그림 2] Runas 명령어

 

※ 관리자 권한 올바르지 않은 예

  • 로그오프 후 관리자 로그인 방법 (해당 세션 휘발성 정보 사라짐)

  • BOF (Buffer Over Flow) 해킹

  • 리눅스 su 명령어 같은 해당 세션 유지 관리자 권한 (윈도우 기준 / 불법 프로그램 가능성 큼)


# Reference 

 

http://www.yes24.com/Product/Goods/8511539

+ Recent posts