0x01 malware forensics2010. 8. 20. 09:08

11. Incident Response Tool Suites for Windows

침해사고 분석에 사용되는 툴킷은 여러가지 종류가 있습니다. 이런 툴 중 어떤 툴들은 침해당한 시스템에서 명령을 실행하고 침해당한 시스템 라이브러리를 사용하기도 합니다. 물론 침해당한 시스템 라이브러리를 사용하는 것이 증거 확보에 있어서 좋지 않다는 것은 다들 아실겁니다. 예를 들어 시스템콜을 후킹해서 자신의 흔적을 삭제하는 루트킷을 찾는 경우 침해당한 시스템 라이브러리를 사용하게 되면 못찾을 가능성이 99% 정도 됩니다.(1%는 재수 좋을 경우를 대비해서...-_-;;)

Helix Live CD는 휘발성 데이터를 수집하는데 유용한 툴입니다. 물론 윈도우 계열이나 유닉스 계열 시스템에서 모두 사용 가능합니다. Helix는 Chapter 1. #1에서 간단히 언급했었고 (http://malwarelab.tistory.com/4) Helix CD는 WFT를 포함하고 있습니다.


11.1 Windows Forensic Toolchest


WFT는 여러가지 툴들을 이용해서 일관된 정보를 수집하기 위한 프레임웍을 제공한다. 프로그램들은 자동으로 정해진 순서대로 실행됩니다. 그리고 MD5 해쉬값이나 감사 정보를 지원하기 위한 프로세스 정보 수집이나 원하는 데이터의 무결성 정보들을  문서화해줍니다. 하지만 삭제된 파일을 찾지 못합니다.

하지만 WFT의 가장 큰 단점은 침해당한 시스템의 운영체제에 의존적이라는 것입니다. 일부 악성코드들은 운영체제에 의존적인 침해사고 분석 툴로부터 자신들의 정보를 숨깁니다. 즉, 특정 프로그램이 실행될 때 사용되는 라이브러리(dll)들을 이미 침해당한 시스템의 것들을 사용한다는 것이죠..

예를 들어, HackerDefender와 같은 루트킷은 운영체제로부터 루트킷 파일들을 숨깁니다. 만약 루트킷이 설치되어 있다면 WFT에서 사용하는 명령어가 신뢰할 수 있는 명령어라 할지라도 잘못된 결과를 가져올 수 있습니다.


ProDiscoverIR

http://www.techpathways.com/ProDiscoverIR.htm

상용프로그램입니다. 비트 레벨에서 동작하기 때문에 숨겨진 파일들도 찾아낼 수 있습니다.
아래 그림은 ProDiscoverIR으로 HackerDefender 루트킷을 확인한 모습입니다.



하지만 몇몇 루트킷이나 안티포렌식 기법을 사용하면 ProDiscoverIR과 같은 원격 포렌식툴로부터 몇몇 정보나 숨겨진 프로세스들을 숨길 수 있습니다.

운영중인 시스템에서 분석툴을 사용하는 것은 중요한 증거들을 덮어쓰거나 프로그램 오류를 발생시킬 수 있습니다. 이런 프로그램 오류가 발생할 경우 디스크에 덤프파일을 생성하는데 이렇게 생성된 덤프파일에 의해 기존에 존재하던 덤프파일이나 악성코드와 관련 있는 다른 중요한 정보들을 덮어써버릴 가능성고 있습니다.

이러한 이유로 전체 메모리 덤프(full memory dump)를 떠서 분석하는 방법이 중요시되고 있습니다.


OnlineDFS/LiveWire

http://www.cyberstc.com/products_dfs.asp 
(책에 있는 링크가 바뀐걸 보니 다른 회사와 합병된 듯...)

OnlineDFS는 원격 윈도우 컴퓨터에서 휘발성 데이터를 수집하는 것이 가능하고 전체 메모리 덤프도 가능합니다.
이 툴은 원격 시스템에서 명령을 실행하기 위해 SMB 프로토콜을 이용합니다.



EnCase Enterprise로 전체 메모리 덤프를 뜰 수 있습니다. 그리고 원격 컴퓨터에서 휘발성 데이터를 점검하는데도 사용될 수 있습고 실행중인 프로세스나 네트워크 연결, 열인 포트, 열린 파일과 같은 중요한 정보를 보호하는데에도 사용될 수 있습니다.


Regimented Potential Incident Examination Report (RPIER)

http://sourceforge.net/projects/rpier/

RPIER은 분석 대상 시스템에서 휘발성 및 비휘발성 데이터를 자동으로 수집하는 프레임웍이나 엔진으로 제공됩니다.
특별한 경우에는 RPIER 프레임웍을 운영중인 시스템의 외장 저장장치(USB와 같은)에서 실행하는 것을 고려해봐야 합니다. RPIER이 실행되는 동안에 여러가지 모듈들이 실행되고 분석 대상 시스템에서 정보를 수집한다. 수집된 정보는 중앙 저장소에  업로드되거나 로컬에 있는 외부 저장장치에 저장됩니다. RPIER은 .NET framework 1.1 이상이 설치되어 있어야 합니다.

RPIER은 3가지 스캐닝 모드를 가지고 있습니다. Fast, Slow, Special.
3가지 모드에 대한 자세한 사항은 아래 URL을 참고하시기 바랍니다.

http://www.first.org/conference/2006/papers/mancini-steve-papers.pdf
http://www.first.org/conference/2006/papers/mancini-steve-slides.pdf
http://www.first.org/conference/2006/program/rapier_-_a_1st_responders_info_collection_tool.html
http://code.google.com/p/rapier/downloads/list



제 시스템이 이상한건지 아니면 환경이 잘못된건지 프로그램 종료시 정상 종료가 안됩니다. -_-;;
깜박깜박이다가 멈추도 CPU 사용량로 50%까지 올라가길래 강제로 종료를 했습니다. 일단 참고만 하시는게 좋을듯 합니다.


Nigilant32

이 툴은 GUI 기반 툴로 운영중인 윈도우 시스템에서(Windows 2000, XP, 2003) 휘발성 정보를 수집합니다. Nigilant32는 Helix CD에 포함되어 있습니다. 이 툴이 제공하는 정보는 다음과 같습니다.

  • System Snapshot : 실행중인 프로세스, 서비스, 사용자 계정, 스케줄 작업, 네트워크 연결 등등
  • Filesystem Review : 숨겨진 파일 및 폴더, 최근에 삭제된 컨텐츠
  • Active Memory Imaging

그 밖에 Live Response Tool Suites









정말 오랜만에 Malware Forensic 요약 글 씁니다..(1년 넘었다...어쩔꺼냐...-_-;;)

게으른탓에 Chapter 1이 1년이 넘어선 후에야 끝나게 됐군요..

앞으로 더 열심히하겠다는 약속은 드리겠지만...ㅜ.ㅜ

나태해져가는 제 모습이 저도 안타깝습니다.


마지막은 툴에 대한 언급이 많아 일단 적당히 적었습니다.

나중에 기회가 된다면 여러가지 툴 사용법이나 활용법(요게 더 낫겠네요)에 대해서 포스팅하는게 나을 듯 합니다.


Chapter 10까지 있는데...








Posted by demantos