레이블이 Windows인 게시물을 표시합니다. 모든 게시물 표시
레이블이 Windows인 게시물을 표시합니다. 모든 게시물 표시

2014년 2월 11일 화요일

윈도우 레지스트리(Windows Registry) 포렌식에 대한 이해를 위해

1월 초에 읽었던 기술 서적을 블로그에 포스팅 하려고 합니다. 작년 하반기부터 멀웨어 포렌식(Malware Forensic)에 대해 깊이 있게 파볼려고 4개 부분(메모리, 레지스트리, 네트워크, 파일 시스템)으로 나누어 연구와 실험을 계속 해오고 있습니다. 연구를 계속 할 수록 업무적으로 다루었던 사항들과 연결되는 부분들이 많이 있더군요..

이러한 연구에 대한 결과물로 메모리 포렌식(Memory Forensic)은 작년 초겨울 파워포인트(PowerPoint) 슬라이드로 만들어 내부적으로 공유도 했었고, 별도로 회사 간행물인 "월간 안"에 "볼라틸리티를 이용한 메모리 포렌식 분석"이라는 제목으로 이번 2월호에 원고가 게시 되었습니다. 해당 원고가 A4로 40 페이지가 넘다 보니, 담당자 분께서 깊은 고민 끝에 2부작으로 나누어 실어주셨습니다. 그래서 현재 1부만 게시되었고, 2부는 다음 3월호에 실릴 예정이라고 합니다.

이렇게 해서 메모리 포렌식에 대해서는 어느 정도 매듭을 지었고, 두 번째로 2013년 12월부터는 레지스트리 포렌식에 대한 서적들과 논문들을 읽으면서, 실험이 필요한 부분들은 직접 검증을 하며 연구를 진행 중에 있습니다.

이 레지스트 포렌식 연구 과정에서 제일 먼저 참고하여 읽었던 서적이 오늘 포스팅하는 "철통보안, 윈도우즈 레지스트리 포렌식 보안 전문가를 위한 디지털 포렌식 분석" 입니다.


이 책 역시 컴퓨터 포렌식(Computer Forensic) 분야에 정통한 할렌 카비(Harlan Carvey)가 저술하였으며, 윈도우(Windows) 시스템의 핵심 구성 요소 중 하나인 레지스트리와 이에 대한 포렌식 기법들에 대해 다루고 있습니다. 역자 역시 한국 CISSP 협회에서 몇 번 뵈었던 백제현 이사님으로 컴퓨터 포렌식 분야에 정통하신 분입니다. 그 덕분에 번역이 정갈하게 잘 되어 원서를 다시 찾아 보지 않아도 될 정도로 잘 정리 되었습니다.

이 책의 가장 큰 장점을 언급한다면, 윈도우 시스템에 존재하는 레지스트리에 대한 개론에서부터 이를 검증할 수 있는 다양한 툴과 기법들을 같이 소개하고 있다는 점입니다. 이러한 부분으로 인해 레지스트리 분석을 통해 시스템으로부터 얻을 수 있는 데이터에 대해 종합적으로 생각해 볼 수가 있었습니다.

하지만, 레지스트리 부분에 대한 기술적인 설명만을 놓고 본다면 "윈도우 인터널즈(WINDOWS INTERNALS(제5판) 마이크로소프트 윈도우 커널 공식 가이드)" 보다는 자세하지 않습니다. 하지만 이 "윈도우즈 레지스트리 포렌식" 책은 레지스트리 포렌식에 대한 전반적인 이해를 돕고자 쓰여진 책이므로, 사실상 목적이 다르다고 볼 수 있습니다. 이러한 목적에 부합하기 위해 레지스트리를 대상으로 실험 할 수 있는 다양한 툴들과 기법들에 대해서는 충실하게 설명이 되어 있습니다.

개인적으로 한가지 아쉬운 부분은 악성코드 분석과 관련하여 자동 실행을 위한 윈도우 레지스트 부분에 대한 자세한 설명이 부족하며, 이러한 부분의 분석을 위한 툴이나 기법 소개도 역시 생각보다 풍부하지는 않습니다. 그러나 앞서 설명한 바와 레지스트리 포렌식에 대한 전반적인 이해를 돕기 위한 책입니다.

그러므로, 악성코드 분석에 관심 있으신 분들이나, 컴퓨터 포렌식에 관심 있으신 분들 모두 읽어도 도움이 많이 되는 기술 서적이라고 할 수 있습니다. 물론, 윈도우 레지스트리를 많이 다루어 왔지만, 다시 한번 되짚어 보고자 하시는 전문가 분들에게도 도움이 되는 책이라고 할 수 있습니다.

2013년 8월 29일 목요일

2008년 팀 내부 세미나 발표 "Windows Vista Security"

이제 2008년도 자료까지 진행되었네요. 아무래도 2007년도에 이래 저래 바쁜 일들이 많아서 자료들을 많이 작성하고 정리하지 못 했던 것들이 큰 이유였다고 기억 되네요.

오늘 공유하는 자료는 2008년 3월에 팀 내부 세미나 용도로 제작한 자료로  "Windows Vista Security"에 대해서 다루고 있습니다.

이 당시 개인적인 용도와 회사 업무 용도로든 대부분의 시스템에서 윈도우 XP를 사용하고 있던 상황에서 윈도우 비스타의 등장은 변화되고 추가된 다양한 기능들로 인해 큰 충격이었습니다. 하지만 그 충격 만큼이나 판매 실적도 저조 했습니다.

이러한 큰 변화들이 지금이야 윈도우 7이 보편화되어 UAC(User Account Control)나 윈도우 디펜더(Windows Defender)가 어색하지 않지만, 이 당시만 하더라도 윈도우 XP에서 모든 권한으로 프로그램과 파일을 실행 하던 대부분의 사람들에게는 어색함과 불편함이 가장 컸었습니다.

그래서, 개인적인 궁금함도 있었지만 변화된 윈도우 운영체제 속에서 악성코드를 어떻게 탐지하고 방어를 하게 될 것인지에 대한 주요 기능들을 살펴봐야 된다는 생각이 세미나를 준비하게 되었습니다.

지금 다시 살펴보아도 윈도우 비스타에 포함되어 있는 기본적인 큰 골격의 보안 기능들은 윈도우 7과 8에도 이어지고 있어, 히스토리적인 면에서 아직 유용할 것 같습니다.

해당 슬라이드에서 포함하고 있는 내용은 다음과 같습니다.

1. 윈도우 비스타의 보안 개념
2. 윈도우 비스타의 새로운 보안 기능
3. 윈도우 비스타의 설계적 보안 기능
4. 사용자 계정 컨트롤
5. 윈도우 디펜더
6. 인터넷 익스플로러의 보안 기능
7. 비트락커
8. 코드 무결성와 윈도우 리소스 보호
9. 커널 패치 보호와 드라이버 서명 요구
10. 윈도우 서비스 강화와 데이터 실행 방지
11. 주소 영역 난소화
12. 윈도우 비스타의 악성코드 대응



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