'[forensic]Winproof/Forensic'에 해당되는 글 7건

  1. 2010.07.28 Detail (Registry Analysis) (1)
  2. 2010.07.28 Detail ( Main UI )
  3. 2010.07.27 Scenario
  4. 2010.07.27 Architecture (1)
  5. 2010.07.26 Motive (1)
  6. 2010.07.25 Forensic 이란? (3)
  7. 2010.06.07 인사이드 윈도우즈 포렌식 ( 원제 : windows Forensic Analysis 2/e ) (9)

Naver Perl Community & Study Cafe


2010.07.28 04:09

Detail (Registry Analysis)


레지스트리 정보에 관한 UI 입니다.


왼쪽에는 메인 정보를 나타내는 트리 형식으로 된 메뉴가 존재하며

레지스트리에 분석된 파일에 따라 이 메뉴들이 활성화 됩니다.

총 5개의 카테고리로 구성되어 있고,

첫번째 카테고리는 레지스트리 하이브 정보를 알려줍니다.

레지스트리를 분석하기 위한 파일에 관련된 정보들을 출력 해주며,

각 파일에 따른 하이브 파일 구조도 보기 쉽도록 출력됩니다.


두번째로는 카테고리는 레지스트리를 분석하여 하드웨어의 정보들을

장치관리자와 동일한 형식으로 나열해줍니다.

하드웨어 정보뿐만 아닌 사용자의 정보에도 신경을 더 쓸 계획입니다.



세번째 카테고리인 파일은 포렌식 분석에서

가장 중요한 역활인 사용자와 관련된 파일들을 나열하는 탭입니다.

최근 접근한 파일, 최근 저장된 파일, Explorer에서 열어본 파일 등

3가지 카테고리로 이루어져 있으며,

각 파일에 따른 확장자에 따라 파일들을 확인할 수 있습니다.




세번째 카테고리는 정보에 관련된 카테고리 입니다.

이 카테고리에서는 접근했던 Web Site, 설치된 소프트웨어, 실행되었던 최근 프로그램 으로 나눠집니다.

레지스트리에서 접근했던 Web Site 의 정보들을 얻어 낼 수 있습니다.

이를 바탕으로 사이트를 한눈에 볼 수 있도록 나열하는 탭도 구성하였습니다.



설치된 소프트웨어는 인스톨 되었던

모든 프로그램의 정보들을 가지고 옵니다.

프로그램의 설치 날짜를 통하여

언제 어떤 프로그램이 설치 되었는지를 확인 할 수 있습니다.



실행되었던 최근 프로그램도 알 수가 있는데,

실행파일의 정보가 ROT13 으로 암호화가 되어있습니다.

이것을 프로그래밍으로 복호화 시켜 정보를 확인 할 수 있습니다.



다섯번 째 카테고리인 로그는

USB 매체를 사용한 흔적에 대하여 알려줍니다.

어떤 매체가 접근을 했는지 알려주며, 자세한 정보를 확인하고 싶을 시

더블클릭을 하면 세부정보도 출력이 되도록 구성하였습니다.



기본적으로 제공하는 레지스트리 분석 트리도 제공되며,

윈도우에서 제공되는 레지스트리 편집기와 동일하게 제작하여

사용자가 어색함이 없도록 보여줍니다.

실제 레지스트리 편집기와 다른점이 있다면

각 레지스트리가 어떤 역활을 하는지 부가적인 설명이 출력됩니다. 




레지스트리 뷰어의 전체 구상도입니다.

각 탭들은 독립된 Form으로 되어 있어 도킹이 가능하며

사용자가 선택한 내용들을 확인할 수 있고,

자유로운 변형이 가능하여, 사용자의 기호에 맞도록 분석이 가능합니다.
신고
크리에이티브 커먼즈 라이선스
Creative Commons License
Trackback 0 Comment 1
2010.07.28 02:34

Detail ( Main UI )



만들어질 프로그램에 대하여 UI 를 설계하였습니다.

아래 그림은 처음 프로그램이 실행 될 시에 메인 화면입니다.


왼쪽에는 로고가 오른쪽에는 두가지 메뉴가 있습니다.

세부적인 데이터를 분석해주는 Normal 모드와

시나리오에 따른 문서화를 해주는 Document Mode 입니다.

각 버튼을 누르면 다음 모드로 이동을 합니다.

그리고 각 모드를 진행하기 전에 환경설정을 먼저 해야 하는데

환경설정 버튼을 누르게 되면 아래 폼이 뜨게 됩니다.




사건의 정보에 대하여 작성하고

분석하기 위한 각각의 파일들을 존재하는지 체크해야 합니다.

만약 여기서 존재하지 않는 파일이 있다면 Success 가 되지 않으며

Option 탭으로 가서 복구를 할 수 있습니다.




Normal Mode 의 화면입니다.

총 4가지 탭으로 나뉘며 각 버튼의 설정에 따른

세부적인 정보를 볼 수 있는 Form 이 새창으로 뜨게 됩니다.

신고
크리에이티브 커먼즈 라이선스
Creative Commons License
Trackback 0 Comment 0
2010.07.27 05:26

Scenario


프로그램의 전체적인 시나리오 입니다.



프로그램의 흐름은 아래와 같습니다.


1. Intergrity (무결성)

디지털 매체에서 데이터들을 무결성을 유지하며 모두 복사해 옵니다.


2. Extraction (추출)

포렌식 수사에 필요한 자료들을 추출을 합니다.


3. Restore (복구)


지우거나 손상된 파일이 있을 시 복구를 합니다.


4. Analysis (분석)

추출된 데이터를 통해 각 분류(레지스트리 , 웹, 시스템로그)별로 분석을 합니다.


5. Data representation (데이터 표현)

분석된 데이터들을 조사관이 보기 좋도록 표현합니다.


6. Document ( 보고서 )

분석 및 표현된 데이터들을 보고서 양식에 맞게 작성합니다.
신고
크리에이티브 커먼즈 라이선스
Creative Commons License
Trackback 0 Comment 0
2010.07.27 02:41

Architecture


전체 시스템에 관한 Architecture 입니다.



하드웨어에 저장 되어 있는 데이터를 추출하여

사용자 정보, 시스템 정보 , 하드웨어 정보 등을 얻어온 뒤

이 정보들을 보기쉽게 나열해 주며 유용한 정보를 모아서

사용자 분석을 해주는 시스템입니다.






윈도우 XP 운영체제에서 닷넷 프레임워크 3.5 C# 으로 제작이 됩니다.


디지털 포렌식 정보수사 과정은 아래와 같이 4가지로 이루어 집니다.

1. Assessment(평가)
2. Acquisition(수집)
3. Investigation(조사)
4. Document(문서화 및 보고)

이 수사과정에 따라 표를 만들어 보았으며,

데이터를 수집시에 무결성, 저장 매체 이미징 기술, 정보 수집 기술을 바탕으로
 
데이터를 수집해 와야 합니다.


수집한 데이터를 바탕으로 복구기술을 거쳐, 필요한 정보들을 뽑아내어

Registry Hive , Web Log, System Log 의 분류에 따라 데이터를

분류하여 분석해 줍니다.

그리고 이 3 카테고리의 분석된 자료들을 통합하여 보고서를 작성합니다.



레지스트리에 관한 정보는 사용자 계정, 컴퓨터의 하드웨어 및 어플리케이션에 대한

설정 정보를 계층적으로 데이터베이스화 되어 있습니다.


하지만 컴퓨터가 종료된 시점에서 레지스트리 정보를 얻어내기란 쉽지 않는데

그 이유는 레지스트리에 관련된 파일(Hive File)들을 직접 분석해야 하기 때문입니다.


위의 그림과 같이 레지스트리와 관련된 레지스트리 하이브 파일들을 추출하는 과정이며,
 
분석을 통하여 실제 레지스트리와 유사한 Tree 구조를 만들어 줍니다.

그리고 레지스트리 구조만 보여주는 것만이 아닌,

레지스트리 안의 세부적인 정보를 쉽게 알 수 있도록

Registry Viewer 도 제공됩니다.



웹 브라우저에 관련된 생성 파일들은

사용자의 흔적 및 패턴을 찾기 위한 매우 중요한 자료들입니다.

하지만 웹 브라우저 생성 파일에는 많은 데이터가 존재하기 때문에

용의자의 행위를 규명하는데 쉽지가 않습니다.


위의 PPT 에서는 사용자가 가장 많이 사용하는

웹사이트( Internet explorer, FireFox , Chrome )에서

각각의 로그파일을 분석하여

URL , 검색어 , 접속시간, 방문횟수 등을 추출 및 분석이 가능합니다.


신속하고 효율적인 수사를 위해서는 방대한 웹 데이터들을

직관적으로 분석하기 위한 툴을 제작을 해야합니다.




로컬 파일 분석은 용의자의 흔적, 패턴 및 당시 상황을 찾기 위한 매우 중요한

디지털 포렌식 수사 방법입니다.

하지만 조사 대상인 로컬 파일에는 무수히 많은 정보가 존재하며

그 종류가 다양하기 때문에 수사의 어려움이 커서 이를 체계적이고

효과적으로 보여주기 위해서는 적절한 필터링과 분석을 통하여

검사관에게 제시하여야 합니다.


로컬상에서 비휘발성 데이터 정보로는 레지스트리나, 웹로그를 제외하고도 운영체제에서

자체적으로 로깅하는 부분, 혹은 남아있는 데이터들을 이용할 수 있습니다.


그 이외에 용의자의 컴퓨터 시간의 조작여부, 부팅 및 종료시간,

파일 생성날짜, 임의로 숨겨진 데이터 ,

시스템이 일으키는 에러사항 등의 정보를 제공합니다.



Architecture 끝 :)

신고
크리에이티브 커먼즈 라이선스
Creative Commons License
Trackback 0 Comment 1
2010.07.26 03:51

Motive


포렌식 도구 Winproof가 왜 필요한지 설명을 해보겠습니다.




국내에는 통합 포렌식 툴이 없습니다.



포렌식 툴이 없다는 것이 아닌 통합적인 포렌식 툴이 없습니다.

여기서 제가 말하는 통합 포렌식 툴이란 레지스트리, 웹, 시스템 로그 그리고

사용자 분석을 위한 복구기술까지 포함된 툴을

기준으로 이야기 하였습니다.

국내에 포렌식 툴을 만드는 사람도 없고 공개화된 커뮤니티도 없습니다.

그래서 포렌식 툴을 사용할 때는 항상 외국의 툴을 사용해야 하고,

영어의 압박을 받으며, 주어진 기능대로만 사용해야 합니다.






국외의 통합툴의 경우에는 제품의 가격이 비싸고,

도구를 사용할 시 익히기도 어렵습니다.



국내 및 해외의 점유율이 가장 높은 포렌식 툴인

encase 의 경우 메뉴얼 페이지만 약 500페이지 가량 됩니다.

이 툴을 익히고 정보를 뽑아내는 데에 있어 

많은 시간 투자해야 할 것입니다.


이렇게 포렌식 툴에 대한 가격이 비싼 이유는 디지털 포렌식에 관련된 문서가

공개화 되어 있지 않은 부분이 많으며,

국내 포렌식 시장이 활성화 되지 않아 개발이 어려운 부분이 크기 때문입니다.






단순한 데이터를 보여주는 것 뿐만이 아닌

필요한 데이터들만 선택하여 그 데이터들만 추출하여

보고서를 만들어 줍니다.



이 기능의 경우에는 누구나 보고서를 읽어도 이해 할 수 있도록

쉽게 작성되도록 노력할 것이며, 전문적인 내용이 들어가도록

이 보고서의 추출된 데이터에 관련된 부연 설명이 들어가게 됩니다.



이상 Motive 의 설명을 마치겠습니다 :)
신고
크리에이티브 커먼즈 라이선스
Creative Commons License
Trackback 0 Comment 1
2010.07.25 17:45

Forensic 이란?


winproof 툴을 설명하기에 앞서 디지털 포렌식에 관하여 먼저 설명을 드리겠습니다.

위키백과의 글에 따르면 디지털 포렌식이란 ,

전자 증거물 등을 사법기관에 제출하기 위해

데이터를 수집, 분석, 보고서를 작성하는 일련의 작업을 말합니다.





forensics 이라는 의미 자체는 법의학을 이야기 하며, 

범죄에 관한 과학수사를 의미합니다.
 
여기에 디지털이라는 단어가 수식어로 붙어서,

컴퓨터에 남겨진 여러 자료들을 수집하여 사법기관에 제출하기 위한 

법적으로 효용성이 있는 데이터들을 뽑아내는 작업을 디지털 포렌식이라 이야기 합니다.




더 알기 쉽도록 설명한다면

수사시에 조사를 받아야 하는 용의자에 대하여

용의자가 소지한 디지털 매체에서 관련 자료들을 추출 해 낸 뒤,

경찰측에서 증거를 확보하여 용의자의 범죄를 입증하는 기술을 의미합니다.

꼭 범인을 결론짓는 기술이 아닌, 용의자의 무죄를 입증하거나

조사용으로도 많이 활용되는 기술이 디지털 포렌식 기술입니다.





디지털 포렌식은 크게 3가지 절차로 이루어집니다.

첫번째로 증거 수집 ( Gathering of proofs)

두번째로 증거 분석 ( Evidence analysis )

세번째로 보고서 작성 ( Dcuments Production)

으로 이루어지며,
 
세번째 항목이 보고서 작성이 아닌 증거 제출 ( 무결성 및 툴 검증 ) 으로 분류되기도 합니다.




첫번째로 증거 수집은  손상되기 쉽고, 사라지기 쉬운

디지털 증거가 저장된 저장매체 (컴퓨터 메모리, 하드디스크, USB 등)에서

데이터의 무결성을 보장 하면서 데이터를 읽어 내야 합니다.

이 때 무결성이란 원 저장매체에 대한 데이터 변조가 일어나지 않음을 의미하고 ,

증거수집을 할때 무결성을 보장하는 이미징 기술이 사용되기도 합니다.




두번째 증거 분석은 얻은 데이터로부터 유용한 정보를 이끌어 내야 기술입니다.
 
유용한 정보는 보통 저장 매체에 존재하는 파일 시스템의 내부나 외부에 존재할 수 있습니다.

예를 들면, 범죄자는 저장매체에 존재하는 NTFS와 같은 파일 시스템 내부나,

NTFS에서 사용하지 않는 저장매체 구역에 중요 정보를 숨길 수 있습니다.

PPT 상으로는 나열된 데이터들은

증거 분석에서 가장 많이 쓰이는 3종류( Registry Hive , Web Log , System Log )의 파일에 대하여

나열해 보았습니다.

증거 분석에서 유용한 기술로는

삭제된 파일 복구 기술이나 암호화된 파일 해독 및 문자열 검색 기술 등을 들 수 있습니다.



세번째 보고서 작성은

디지털 증거수집, 운송 및 보관, 조사/분석 단계의 모든 내용을

문서화해 법정에 제출하는 단계입니다.

보고서를 읽게 되는 법관, 배심원, 변호사 등은

컴퓨터에 대한 기본 지식이 부족한 경우가 대부분이기 때문에

누구나 보고서를 읽어도 이해할 수 있도록 쉽게 작성하며,

전문적인 내용은 상세한 설명을 첨부해야 합니다.



마지막 보고서 제출같은 경우 외국의 전문화 된 툴일 경우에는 

툴을 사용해서 보고서를 작성한다고 해도

일반 이해하기가 힘든 부분이 허다합니다.

그 뿐만이 아니라 증거물 획득, 보관, 분석 등의 과정을 6하 원칙에 따라 명백하고

객관성있게 설명해야 하며,
 
예상하지 못한 사고로 데이터가 유실되어 변경이 생겼을 경우 이를 명확히 기재하고,

범죄 혐의 입증에 무리가 없음을 논리적으로 설득할 수 있어야 합니다.

어떻게 보면 상당히 까다로우며, 정확성을 요구하는 작업이 보고서 작성 부분입니다.


컴퓨터 포렌식 서비스 또는 전문가에게 상담을 의뢰하였다면

그 결과를 전문가 소견서 형태로 제출하고,

전문가를 법정에 참고인으로 출석할 수 있게 하는 과정도 포함해야 합니다.




- 참고

* 위키백과(http://ko.wikipedia.org/wiki/컴퓨터_포렌식)

* 디지털 포렌식의 기술 및 동향 ( http://ettrends.etri.re.kr/PDFData/22-1_097_104.pdf )

* 포렌식을 이용한 정보보호
 (http://www.digipine.com/?mid=software&listStyle=gallery&page=1&document_srl=2958)

신고
크리에이티브 커먼즈 라이선스
Creative Commons License
Trackback 0 Comment 3
2010.06.07 06:17

인사이드 윈도우즈 포렌식 ( 원제 : windows Forensic Analysis 2/e )


인사이드 윈도우즈 포렌식을 보게 되었습니다.



연구실에 아는 동생을 꼬드겨서 사게 한 후, 몇일간 열심히 보면서

이제야 포스팅을 합니다.


벌써 많은 분들이 포스팅을 하고 평을 써 놓아서 늦은 감이 있지만,

아직 어떤 책인지 잘 모르는 분들을 위해 간단히 적어 보려 합니다.



번역자, 감수자 분들은 보안계에서 인지도가 있으신 분들입니다.

감수자이신 박병익님 같은 경우에는 심플스를 운영하고 있으며,

책이 나오기 얼마전 트위터로 이 책을 소개도 하였죠 :)


책은 전반적으로 포렌식에 관련된 설명과, 분석적인 측면으로 분류 됩니다.

책에서 많은 부분을 다루고 있는건 사실이지만,

실속은 없다고 생각되네요.


결국.. 확실한 원리를 알기 위해서는 

스크립트 소스 코드를 까봐야 하는게 현실이기 때문이죠 ^^;


하지만 정말 많은 정보들을 알려줍니다.

중간중간에 좋은 문서들의 URL 을 신속하게 날려주는 센스가

책의 가치를 더 높여주고 있습니다.




포렌식이라는 학문은 국내에서는 책도 별로 없고 해서 생소하게 여겨질 듯 하지만,

이 책을 통해 아.. 이런것을 이용하여 

윈도우 분석을 하는것을 알 수 있을 정도라 생각됩니다.

( 보안쪽에 관계되지 않으신 분이 책을 사면 후회를 합니다. ^^;; )



흥미롭게 봤던 부분중 하나는 레지스트리 분석에 관련된 내용이었는데..

이번에 만들고자 하는 프로젝트에 적절하게 사용할 수 있을 것 같아

좋은 정보를 알려주신 번역자 분께 다시한번 감사드립니다.




----------------------------------------------------------------------


대부분 코드가 Perl 로 되어 있어 저에게는 너무나 친근합니다.

국내에서는 윈도우에서 perl 을 사용하는 경우가 거의(?) 없는것으로 알고 있습니다 ㅠ_ㅠ


하지만 저의 경우에는 항상 윈도우에서 perl 사용을 지향해 왔으며, 

좋은점을 많이 느끼고 살았기 때문에

본 책에서 perl 이라는 언어를 공개적으로 사용함으로써,

알게 모르게 perl을 홍보해주는 것 같아 기분이 좋네요^^




이로써 보안관계자들이 perl 에 대해서 공부하는 계기가 되었으면 합니다~

일단 윈도우에서 perl 환경을 설치부터 먼저 해보는것 어떨까요?? ->> 설치


그런 와중에 툴까지도 Win32::GUI 로 짜 주시니

이제껏 perl 로는 GUI 가 어렵네 힘드네 이런 푸념들까지 

다 무너트려 주시니 저에게는 정말 통쾌한 책이랄까요 ㅎㅎ



평소에도 Win32:: 모듈에 관련하여 많은 관심을 가지고 있었는데

이미 해커들은 많은 툴을 만들어 내고 있었다는 것을 알았습니다.


perl 로 소스코드를 작성하여 perl을 설치하지 않고도 작동시키기 위해

ActiveState 사의 PerlAPP 로 컴파일 시켜서 실행파일을 만들고 있는데,

이 보다는 PAR::Packer 를 사용하시는게 더 좋다고 이야기 하고 싶네요~


아직 불안한감은 있지만 예제에서는 Win32::GUI 를 사용하기 때문에

PAR::Packer 를 사용하여 exe 파일을 만드는데 치명적인 오류는 없을 듯 합니다.


----------------------------------------------------------------------


CPAN 에 Securty 카테고리 있는거 아시죠??


perl 로 포렌식 분석하시는데 perl 언어도 공부 많이 해주세요~ ^^




P.S. 보안쪽을 잘 모르는 동생 녀석이 책 번역이 아쉽다고 투덜투덜 거립니다 ㅋㅋ
신고
크리에이티브 커먼즈 라이선스
Creative Commons License
Trackback 0 Comment 9


티스토리 툴바