본문 바로가기

[+] Forensic

Live Response ?(2)

[Live Response 수행 여부]
Live Response는 상황에 따라 할수도 있고 하지 않을 수도 있다. 그렇기에 해야 할 상황을 정리하기는 힘들고, 그 반대로 하지 않아야 할 상황을 알아두어야 한다. 
1. 해커나 악성코드등에 의해 시스템에 존재하는 어떠한 파일이 삭제되고 있을 때
    - 이럴때는 Live Response를 수행하기 보다는 시스템의 전원 플러그를 제거하는 것이 좋다.
      삭제되는 파일이 로그파일일수도 있지만, 조직에 영향을 미치는 중요한 파일 일 수도 있기 때문이다. 
2. 조사를 수행할 때의 도구가 검증되지 않은 도구일 때 
    - 주로 공개용 도구에 해당하는데, 검증되지 않은 도구를 사용하면 시스템에 어떤 영향을 미칠지 모르기 때문이다. 


전원 플러그를 제거하는 것이 좋다고 위에 설명이 되어 있는데 이 또한 대상에 따라 달라진다.

개인PC의 경우 본체 뒤에 있는 전원 플러그를 제거해도 상관이 없다.

하지만 서버PC의 경우 전원 플러그를 제거하면 서버 어플리케이션들은 장애 대비 능력이 없기 때문에 시스템에 심각한 손상을 일으킬 수 있다.

그렇게 되면 조사자가 원하는 데이터가 손상될 수 있어 서버PC는 정상적으로 종료를 해야만 한다.


[Live Response 원칙]
Live Response의 원칙에는 휘발성 정보 수집이 시스템에 미치는 영향을 가장 잘 설명하고 있는 로카르드의 교환 법칙이 있다. 간단히 설명하면, "접촉하는 두 물체 사이에는 반드시 교환이 일어난다" 라는 명제로 설명 할 수 있다.
로카르드의 법칙은 범죄자에게만 적용되는 것이 아닌 수사관에게도 적용이 되는 법칙이다.
그렇기에 조사관들은 Live Response를 수행 할 때 시스템에 미치는 영향을 최소화 해야 할 필요가 있다.
이유는 Live Response를 수행하려면 어떠한 도구를 수행해야 하는데 그 도구가 수행되면 시스템에 적게나마 영향을 미치기 때문이다.
될 수 있다면, 검증되고 포렌식에 특화된 도구를 사용하는것이 좋다.
다음은 Live Response 단계에서 어떤 시스템 구성요소들이 어떠한 영향을 받는지 나열 한 것이다.
1. 메모리
    - 도구가 실행되면 프로세스가 생성되고 메모리에 적재가 되는데 이때 프로세스가 메모리를 점유하면서 이전에 있던
      데이터를 덮어 씌어버린다. 이로인해 중요한 휘발성 정보가 사라질 수 있다. 또, 커널오브젝트를 관리하는 시스템
      테이블이 갱신되면서 새로운 항목이 추가되거나, 테이블이 가득차 있는 상태였다면 오래된 항목이 자동삭제되어
      중요한 정보를 잃어버릴 수 있다. 
2. 네트워크
    - 사용하려는 도구가 네트워크 기능을 사용한다면 시스템은 소캣을 열고 통신을 시도한다. 이 과정에서 시스템에
      방화벽이 있다면 로그가 남게 되고 로그파일이 쌓이면서 사용하지 않던 하드 드라이브 영역을 사용하게 된다.
      로그파일 개수가 설정되어 있는 개수만큼 생기면 제일 오래된 로그가 삭제되어 중요한 로그정보가 지워질 수 있다.
      또, 네트워크 연결은 커널 오브젝트에 의해 관리가 되어 커널 테이블을 갱신하게 된다.
3. 프리패치 파일
    - 프리패치 파일은 윈도우에서 새로운 프로그램이 실행될 때 마다 생성되는 파일이다. 그렇기에 조사관이 사용하는
      도구가 실행될 때도 프리패치 파일이 생성되며 프리패치 파일은 최소 클러스터 하나 이상의 비할당 영역을 새로
      할당받아 사용하게 된다(윈도우는 하드 드라이브를 할당할 때 클러스터 단위로 할당 함) XP에서는 프리패치 파일의
      개수가 최대 120개이다. 그렇기에 이 개수를 초과하게 되면 오래된 프리패치 파일을 삭제하게 되고, 해커나
      악성프로그램이 실행되어 생성된 프리패치 파일이 삭제될 수 있다.
4. 레지스트리
    - 많은 Live Response 도구들은 레지스트리에 접근하여 그 값을 이용한다. 이렇게 되면 레지스트리에 마지막 접근
      시간이 갱신되어 버린다. 또, 레지스트리에 어떠한 값을 설정하게 되면 레지스트리 키에 대한 마지막 쓰기 시간도
      갱신하게 된다.
5. DLL(Dynamic Link Library)
    -  동적으로 컴파일하게 되면 필요한 파일인데 여러가지 비슷한 함수들의 모임을 뜻한다. 조사관의 도구가 시스템의
        DLL을 사용한다면 파일의 마지막 접근 시간을 갱신하게 된다.
6. 로그파일
    - 조사관의 도구가 에러를 일으키면 기본적으로 에러로그가 남게 된다. 이로 인해 악성 프로그램이 일으켰던 오류나,
      실행, 이벤트 등의 로그가 밀려 삭제 될 수 있다.

어떤식으로든 조사관이나 해커, 악성프로그램은 시스템에 영향을 미치게 되어 있다.
가장 이상적인 방법은 도구의 프로그래밍부터 이러한 경우들을 고려하여 도구를 제작하는 것이고, 현실적인 방법은 여러가지 도구들을 미리 테스트하고 그 중에서 가장 성능이 좋으면서 영향을 최소로 하는 도구를 선별하여 사용하는 것이다.


'[+] Forensic' 카테고리의 다른 글

휘발성 정보 수집 (1)  (0) 2011.12.20
Dynamic-Link Library Redirection  (0) 2011.12.19
Live Response ?(1)  (0) 2011.12.18
디지털 포렌식 관련 법률  (0) 2011.12.18