2013년 7월 31일 수요일

정말 이제 시작인 사람들을 위한 디지털 포렌식(Digital Forensics) 서적

올해 상반기에 개인적인 복잡 다단한 가정사가 있다 보니 2월에 읽은 서적의 내용을 이제서야 블로그에 올리게 되는군요.

올해 2월 초에 읽었던 서적은 분량이 많지 않아서 그리 시간 소비가 크지 않게 빠르게 읽을 수 있었던 서적으로 "이제 시작이야! 디지털 포렌식"이 있었습니다. 개인적으로 몇 년전 까지만 하더라 디지털 포렌식에 대해 그렇게 큰 관심을 보이지 않았습니다만, 우연히 인터넷으로 검색을 하다가 "Malware Forensics"이라는 용어를 접하게 되었습니다.

기존에 제가 알고 있던 디지털 포렌식(Digital Forensics)이나 컴퓨터 포렌식(Computer Forensics)은 특정 오프라인 범죄에서 컴퓨터 시스템이나 전자 기기들이 동반되어 범정에서 그 범죄 혐의를 입증 할 수 있는 법적 증거물을 컴퓨터 시스템이나 전자기기들로부터 획득하기 위한 기술적인 방안으로 이해하고 있었습니다.

하지만 멀웨어 포렌식(Malware Forensics)은 기술적인 방법론은 앞서 설명한 컴퓨터 포렌식과 크게 차이가 없지만, 악성코드 감염이 의심되는 시스템이나 침해 사고(Incident Response)가 발생한 것으로 추정되는 네트워크에서 컴퓨터 포렌식의 기술적인 방안들을 이용해 그 여부를 판단하고 대응하기 위한 수단을 이야기 합니다.

이러한 정의에 대한 내용은 VB2008에서 IBM ISS UK의 Martin Overton이 발표한 "Malware Forensics:  Detecting the Unknown"이라는 논문을 참고하시면 이해가 빠르실 것 같습니다.

이러한 관점에서 컴퓨터 포렌식을 접하고 관련 서적들과 논문들을 한편씩 읽다보니, 이제까지 제가 했던 업무들의 일부분이 멀웨어 포렌식으로 정의 될 수 있으며, 그 중에서 라이브 리스판스(Live Response) 방법론이 사용된 것을 알게 되었습니다. 다만 제가 사용하였던 기술들과 방법론들이 일반적으로 컴퓨터 포렌식 분야에서 언급되는 라이브 리스판스와 조금은 다를 뿐이지 큰 맥락에서는 차이가 없다는 것을 알게 되었습니다.

이런 생각에 포렌식과 관련해 조금 더 알아보자는 생각에 가장 처음으로 가볍고 편한 책을 고른 것이 "이제 시작이야! 디지털 포렌식" 입니다. 이 책은 번역서로서 원서의 제목 역시 "The Basics of Digital Forensics: The Primer for Getting Started in Digital Forensics" 입니다.


결론부터 언급을 하자면. 이 책은 디지털 포렌식에 대해 전혀 모르는 일반인이나 엔지니어들이 읽기 딱 맞는 수준의 책입니다. 다만 기술적인 정보나 방법론을 알기 위해 이 책을 접하게 된다면 정말 큰 실망감만 줄 수 있습니다.

책 제목과 같이 디지털 포렌식에 대해 단어만 들어본 사람들이 이게 무엇일까? 어떠한 기술들을 그렇게 부르는 것일까? 에 대해 호기심이 생기는 분들이 읽게 된다면 전반적인 큰 그림을 이해 할 수 있는 수준입니다.

개인적으로는 디저털 포렌식과 컴퓨터 포렌식에 대한 전반적인 이해를 구할 수 있었고, 어떠한 분야들을 기술적으로 접근해야 되는지에 대한 접근론을 정의 할 수 있었던 책으로 생각 됩니다.

그래서, 정리하자면 기술적인 높은 지식 보다는 비교적 쉽게 전반적인 큰 틀과 방향성을 이해하는 차원에서 접근한다면 유용할 서적입니다.

2013년 7월 30일 화요일

2007년 3월 중국 법인 엔지니어들 대상 교육 자료

어느덧 2013년도 절반 이상이 지나가고 7월도 내일이 마지막이네요. 여러가지 사정들 때문에 부지런하게 정리하지 못 했던 이 블로그도 시간이 흘러 1년이라는 시점이 다 되었군요.

이제까지 외부 강연에서 사용하였던 자료들도 2006년도까지 정리 되었고, 드디어 2007년도로 넘어 오게 되었습니다.

2007년도에 처음으로 진행하였던 외부 강연은 3월에 있었던 중국 법인에서 근무하고 있는 현지 엔지니어들을 대상으로 한 교육이었습니다. 교육은 총 5회에 걸쳐서 5일 동안 진행되었는데, 그 덕분에 입사 이래 가장 오랫동안 중국 북경에서 머무르게 되었습니다.

5일 동안의 출장 시간 동안 주중에는 교육을 하고, 야간에는 중국 현지 보안 업체 엔지니어 친구들과 저녁 식사를 하거나 학부시절 같이 공부 했던 선배, 후배와 친구들을 만나서 즐거운 시간들을 보낼 수가 있었습니다.

오늘 공개하는 자료는 앞서 언급한 바와 같이 총 5회에 걸쳐서 진행되었는 교육이었지만 4회와 5회는 대외비 자료(V3 엔진 구조와 진단법 관련)들이 포함되어 있어 이 것들 제외한 나머지 3회 분량만 공개하게 되었습니다.

1회에서는 악성코드의 최신 동향과 그에 따른 악성코드들의 최신 기법들을 다루고 있습니다. 이는 2006년도와 그 이전에 하였던 내용들에서 크게 다른 내용들은 포함되어 있지 않습니다.

1) 악성코드 정의와 분류
2) 악성코드 유형별 동향
3) 악성코드 기술적 동향
4) 주요 악성코드 감염 기법



2회에서는 악성코드 분석 방법론과 그에 맞추어서 사용되는 다양한 공개용 도구들을 소개하고 마지막에는 실제 악성코드 분석 사례를 예시로 들어서 설명하고 있습니다.

1) 악성코드 분석 프로세스
2) 악성코드 분석 유틸리티
3) 악성코드 분석 사례



3회에서는 악성코드 감염이 의심되는 시스템의 흔적들(컴퓨터 포렌식 분야에서는 아티팩트라고 언급되는 부분들)을 안레포트(AhnReport)를 이용해 추적하는 방법들을 설명하고 있습니다.

1) 악성코드 특성
2) AhnReport의 이해
3) AhnReport의 사용법
4) AhnReport 로그 분석



2013년 7월 23일 화요일

2006년 12월 악성코드 최신 동향과 기법

이래 저래 일들이 많다보니, 블로그 관리가 점점 소흘해지는 것 같네요. 다시 부지런히 글들을 정리 해봐야 할 것 같습니다.

오늘 공개하는 자료는 2006년 12월 H 기업 임직원들을 대상으로 진행되었던 보안 강연입니다. 이 시기에 워낙 비슷한 강연들을 많이 하다 보니 자료 역시 비슷한 내용들이 많이 포함되어 있습니다.

대략적인 목차는 아래와 같습니다.

1. 악성코드 유형별 최근 동향
2. 악성코드 기술적 동향
3. 주요 악성코드 감염 기법



이로서 2006년도 강연 자료들 정리가 모두 끝이 났습니다. 올해가 2013년이니 아직도 많은 강연자료들을 공개하지 못하고 있습니다. 시간 날 때마다 틈틈히 열심히 정리 해야 겠습니다. ^^

이런 강연자료들을 만들 때마다 강의를 많이 해보신 분들은 아시겠지만, 만드는 본인이 더 많이 배우게 됩니다. 기존에 읽었던 자료와 연구 했던 자료들도 다시 뒤져보고 요점 정리하면서 다시 생각도 해보게 되구요.

그리고 특히 작성 했던 자료들을 볼 때마다 저 자신의 지식의 깊이와 넓이가 커지고 있다는 점에서 뿌듯하다고 해야 할까요? 예전 자료들을 보다 보니 이런 저런 생각들이 많이 듭니다.

2013년 7월 4일 목요일

윈도우 시스템 포렌식을 위한 모듬 세트 NirLauncher

윈도우 시스템 포렌식(Windows System Forensic)에 관심이 있거나, 해보신 분들은 아마도 NirSoft라는 소프트 웨어 개발 업체에 대해 한 번 즈음은 들어 보셨거나 해당 업체에서 개발한 툴을  써보셨을 것 같습니다.

NirSoft에서는 GUI(Graphic User Interface) 기반으로 윈도우 시스템에서 간편하게 실행 할 수 있는 다양한 윈도우 시스템 분석 툴들을 무료로 공개하고 있습니다. 무료로 공개되는 툴들 중에는 인터넷 익스플로러(Internet Explorer) 및 파이어폭스(FireFox)와 같은 웹 브라우저의 암호를 복구 할 수 있는 툴에서부터 윈도우 시스템과 네트워크를 분석 할 수 있는 다양한 툴들까지 공개 중이라 여러가지 면에서 유용하게 사용 할 수 있습니다.

저의 경우에는 악성코드 감염으로 추정되는 시스템 분석을 위해 챙겨가는 여러 가지 도구들 중에서 꼭 빠지지 않는 것들 중 하나가 NirSoft에서 개발한 툴들을 모두 복사한 USB나 CD 였습니다. 하지만, 이러한 툴들을 모두 복사해서 폴더 별로 정리하고, 버전 별로 업데이트 하기가 여러가지 번거롭지 않았습니다.

이러한 번거로움을 한 번에 해결해주는 툴이 NirSoft에서 공개되었는데, 그것이 오늘 이야기 할 NirSoft Launcher 입니다.

NirSoft Launcher는 말 그래도 NirSoft에서 공개한 모든 툴을 하나로 모아서 그 것들을 하나의 런처를 이용해서 실행하고 리포트를 작성 할 수 있도록 만든 툴입니다.

우선 NirSoft Launcher를 해당 웹 사이트에서는 ZIP으로 압축된 파일인 nirsoft_package_1.18.04.zip(16,858,042 바이트)로 공개하고 있습니다. 해당 압축 파일을 풀면 아래 이미지와 같은 파일들과 폴더들이 생성 됩니다.


생성된 파일들 중 autorun.inf 파일이 포함되어 있어 USB에 모두 복사 했을 경우에는 해당 USB를 시스템에 연결 하는 것만으로도(물론, 윈도우 레지스트리(Registry)에서 자동 실행 옵션이 활성화 되어 있을 경우에만 해당 됩니다.) 자동으로 NirSoft Launcher의 메인 파일인 NirLauncher가 자동 실행 됩니다.


위 이미지에서 보는 것과 같이 NirSoft에서 제공하늠 모든 소프트웨어들이 Portable 형태로 연결되어 있어, 필요한 분류의 탭만 누르면 관련 툴들이 설명과 함께 나열 됩니다.

하나의 예로 프리페치(Prefetch) 파일들을 확인 할 수 있는 WinPrefetchView를 보면, 아래 이미지와 같이 설명이 되어 있습니다.


이를 더블 클릭하게 되면 아래 이미지와 같이 별도의 WinPrefetchView 툴이 실행 되면서 현재 사용하고 있는 시스템에서 최근에 실행되었던 파일들에 대한 정보들이 모두  나타나게 됩니다.


특히 악성코드 감염이 의심되는 시스템을 분석하기 위해 이래 저래 많은 툴들을 별도로 가지고 다닐 필요 없이 NirSoft Launcher만을 잘 활용해도 도움이 됩니다.

NirSoft Launcher에 포함되어 있는 툴들 중에서도 악성코드 감염으로 의심되는 윈도우 시스템의 다양한 핑거프린트(Fingerprint)와 아티팩트(Artifact)를 타임라인(Timeline)에 따라 추적하기에는 특히 아래 툴들이 많은 도움이 됩니다.

1) AlternateStreamView 
Find all hidden alternate streams stored in the file system.

2) CurrProcess
Displays the list of all processes currently running on your system.

3) FolderChangesView
Monitor folder/drive changes.

4) IECacheView
List all files currently stored in the cache

5) IECookiesView
Displays the cookies that Internet Explorer stores on your computer

6) IEHistoryView
Displays the list of Web sites that you visited with IE Web browser

7) LastActivityView
View the latest computer activity

8) MUICacheView
Edit/delete MUICache items in your system

9) MyEventViewer
MyEventViewer is a simple alternative to the standard event viewer of Winodws

10) OpenedFileView
Displays the list of all opened files on your system

11) ProcessActivityView
Show the file activity  selected process

12) RecentFilesView
Display the list of recently opened files

13) RegFileExport
Export offline Registry files to .reg file

14) UserAssistView
This utility decrypt and displays the list of all UserAssist entries

15) WhatsInStartup
Disable/enable/delete programs that are loaded at Windows startup

16) WinPrefetchView
View the Prefetch files (.pf) stored in your system