%개인적으로 생각하고 느낀것을 적었습니다. 다른 견해가 있을 수 있습니다.%

- 경기대학교&성신여자대학교 융합보안학과 융합보안세미나 에서 제가 발표한 내용입니다. -




1. Forensic? Digital Forensic?


최근 포렌식이라는 말들이 사회에서 많이 사용되고, 포렌식과 관련된 직업들도 많이 생겨나고 있습니다.

그래서 포렌식이라는 말이 새롭게 생겨났다고 생각할 수 도 있습니다..


결론부터 말해서 포렌식이라는 단어는 최근에 새롭게 생겨난 단어가 아닙니다. 


포렌식의 사전적인 의미를 살펴보면 아래와 같은 의미를 가지고 있다는 것을 알 수 있습니다

Oxford Advanced Learner's English-Korean Dictionary

Forensic (포렌식)

- 법의학적인, 범죄 과학 수사의


이중에서 법의학 이라는 말을 좀 더 살펴보면 다음과 같습니다. 네이버국어사전

법의학

- 의학을 기초로 하여 법률적으로 중요한 사실 관계를 연구하고 해석하며 감정하는 학문

- 재판상의 사실 인정을 위한 증거를 의학적 견지에서 채집


이렇게 Forensic(포렌식) 이라는 단어는 새롭게 생겨난 단어가 아닌, 

기존에 의학적인 분야에서 증거와 관련해 밀접하게 사용되었던 단어였습니다.



위와 같이 기존에는 범죄에 대한 상황과 증거를 나타내는 것들이 주로 물리적 형태를 나타냈지만

현재에는 물리적 형태의 것들에서 디지털적(전자적)으로 확장됨에 따라

Forensic 이라는 단어에 Digital 을 붙여 Digital Forensic 이라는 단어를 사용하게 되었습니다.


따라서 Digital Forensic이라는 것은 다음과 같다고 할 수 있습니다.


Digital Forensic (디지털 포렌식)

- 디지털 환경과 장비로 부터 증거 자료를 수집, 분석 하는 기술

- 디지털 데이터로 이루어진 증거가 법적 효력을 갖도록 하는 절차를 연구하는 학문




2. 디지털 포렌식의 분야


전산 분야가 워낙 많고 넓어서 저렇다하게 잘 나눌수는 없다고 생각하지만, 현재 필드에서는


- 디스크 포렌식

- 메모리 포렌식

- 네트워크 포렌식

- DB 포렌식

- 모바일 포렌식


으로 나누어 볼 수 있다고 합니다.


또한 안티포렌식 이라는 것이 있습니다. 참고로 알아두면 좋을것 같습니다.

Anti-Forensic (안티 포렌식)

- 포렌식을 수행하는데 있어 분석을 방해하기 위해 사용자가 의도적으로 하는 행위

- 삭제, 은닉, 변조 등을 통해 분석을 하는데 있어 시간을 오래 걸리게 하거나 분석을 어럽게 하는 것




3. 디지털 포렌식 과정


간단하게 대응 메뉴얼 대로 적어보면 다음과 같습니다.



> 사전 준비

 - 포렌식 도구 준비 / 도구 검증


> 증거 수집

 - 수집 대상 파악

 - 증거 목록 작성


> 포장 / 이송

 - 전자파 및 충격 방지 포장

 - 증거물 운반


> 분석 / 검토

 - 전자파 및 충격 방지 포장

 - 증거물 운반


> 보고서 작성 (법정에 제출할 보고서 및 일반적인 보고서)

 - 용어 설명 (재판관 및 일반인이 알 수 있도록 전문적 용어에 대한 설명)

 - 객관적 설명

 - 결과 정리




4. 우리나라의 디지털 포렌식?


네이버 데이터 랩을 통해 살펴보면

우리나라의 디지털 포렌식은 2016년 12월과 2017년 1월에 사람들의 많은 관심을 받게 되었다는 것을 알 수 있습니다.


이 시기에는 최순실 태블릿 PC가 발견되었던 시기였습니다. 

태블릿 PC에 있는 내용들이 디지털 포렌식을 통해 법정에서 증거로 사용된다는 이야기들이 나왔을 때입니다. 



5. 대한민국 법정에서 디지털 포렌식을 통한 증거는 증거로써 인정되지 않았다?


여기서 한번 짚고 넘어가야 할 부분이 2016년 12월 최순실 태블릿 PC가 발견되었을 때에는 

우리나라 법정에서 디지털 포렌식을 통한 증거가 법정에서 증거로 인정 받던 시기였습니다.


따라서 디지털 포렌식에 대한 대중들의 관심과 궁금증이 높아져 많이 알려지게 되었고,

이전까지만 해도 디지털 포렌식을 통한 증거는 법정에서 증거로써 인정되지 않았습니다.


이와 관련된 내용은 차후에 포스팅 하겠습니다.



'Forensic > STUDY' 카테고리의 다른 글

윈도우 아티팩트  (0) 2017.08.12
메모리 분석  (0) 2017.07.20
실시간 대응(Live Response)  (0) 2017.07.20
포렌식의 기본 소양  (0) 2017.07.08
[디지털 포렌식] 3. 전자적 증거의 특성과 규제법률  (0) 2017.07.03


Gregory, still unsure of Betty's true identity, meets with a group identifying themselves as Betty's Associates. They gave him a list of demands including numbers to bank accounts, and additional secret documents. Betty's Associates told Gregory he will be provided with information regarding the delivery of the goods.


4. What is the password provided to Gregory?


4번 문제는 그레고리에게 주어진 패스워드를 찾는 것이다. 

패킷을 분석해보자.


패킷을 분석해보면 xml파일 형식을 가진 메세지를 추가해 이야기를 나눈것을 확인해 볼 수 있다.



이 메시지 안에 들어있는 코드는 KML이라는 코드라는 것을 검색과 힌트를 통해 알 수 있었다.

문제를 풀기위해 열심히 KML가이드도 읽고 예제도 따라해 보고 해보니...


메시지 안에 있는 코드 내용이 경로를 나타내는 것과 비슷한 구조로 되어있어 경로를 나타내는 것을 통해 FLAG를 찾을 수 있겠구나 라는 생각을 했다.





하지만 주어진 코드 그대로 실행해 보게 되면 아래와 같은 오류가 발생하게 되는데 그 이유는 메시지 속의 코드에 \가 중간중간 들어가 있는데 이것들을 다 지워주고 넣어주어야 한다. 





따라서 이 코드들을 넣어주게 되면 아래와 같이 경로를 통한 메시지를 확인 할 수 있다. 



FLAG : BRUTUS 


'Forensic > Write-up' 카테고리의 다른 글

DEFCON 2013 Network Forensic write up  (0) 2017.08.27

Having accepted the Jensen case, Jack and his team install network taps and wireless capture devices in Mr. Jensen's business and home. During monitoring, Jack and his team discover an interesting suspect, Betty. This could be the woman Mrs. Jensen fears her husband is having an affair with. Jack assigns you the forensic analyst to look further into the information capture. You learn that a meeting has been setup.


1. What day of the week is the meeting scheduled for?


1번문제는 미팅 날짜가 잡혔다고 미팅 날짜가 언제인지 찾는 문제이다.

패킷의 내용이 아래와 같이 메세지를 주고 받은 내역이 나오게 되고, What day do you want to meet up? 다음 메시지부터 인코딩이 되어 나오게 된다.



x48, x6F등으로 구성되어 있는 것을 통해 헥사값이라는 것을 유추 할 수 있다. 헥사값을 통해 아스키 코드표와 대조를 시켜 비교해보면 내용이 출력된다.




따라서 전체 내용을 해독해보면 


FLAG : Wednesday 2pm





Betty attempts to keep her tracks covered as she establishes a meeting location with Gregory.


2. What city are they meeting?


2번 문제는 만남의 장소가 어딘지 찾는 문제이다.

패킷을 분석해보면 



메세지를 주고 받은 것을 확인할 수 있고 메세지 내용을 보면 패스워드를 주고 장소에서 기다리고 있겠다고 한다.

그리고 답장으로 패스워드를 받았고 그곳에서 기다린다는 이야기도 하게 된다. 



3번째 메시지를 확인해보면 DCC Send라는 패킷이 나오게 되는데 이걸 구글에 검색해 찾아보니 위키에 아래와 같은 내용을 찾을 수 있었다.

따라서 패킷의 내용이 파일이름 ip 포트 파일사이즈 를 뜻한다는 것을 알 수 있었다. 



따라서 카빙을 하기위해 와이어 샤크를 통해 확인을 해 1024 포트를 찾았더니 하나의 패킷만 찾을 수 있었다. 따라서 그 패킷을 카빙을 한다.



카빙을 해도 아무 것을 알 수가 없는데 그것은 TrueCrypt라는 것으로 감춰져 있기 때문이다. (힌트를 통해서 알았다.)

그러므로 TrueCrypt를 실행해 주어진 패스워드를 치고 마운트를 하면 감춰진 파일들을 찾을 수 있다.



사진 파일과 텍스트 파일은 아래와 같다.




FLAG :  LAS VEGAS





Gregory is hesitant to meet with the mysterious Betty. While working late in the office, Gregory hears his phone ring. He checks his phone and knows he has no choice but to attend the meeting with Betty.


3. What will Gregory die form, if he fails to meet with Betty?


3번 문제는 그레고리가 베티를 만나지 못하면 어떻게 죽게 되는지를 찾는 문제이다.

문제를 보면 그레고리의 전화가 울렸다고 한다. 그리고 전화를 확인하고 그는 베티를 만나야한다고 알았다고 한다. 

그렇다면 핸드폰으로 문자메시지나 무언가를 봤을 것이다. 패킷을 분석해보면 mms가 나오는 것을 확인 할 수 있다.



따라서 와이어 샤크를 통해 패킷을 확인해보면 mp4형식의 파일이 오고갔나 의심해 볼 수 있다. 

그렇다는 것은 mp4형식의 시그니처를 확인해서 관련 정보가 있나 확인해 볼 필요가 있다. 



mp4의 시그니처는 00 00 00 18 66 74 79 70 으로 시작하게 되는데 위의 패킷 내용에 시그니처가 포함되어 있는 것을 확인 할 수 있다. 

따라서 카빙을 완성시키고 나면 무엇 때문에 죽는지 알 수 있는 동영상을 시청할 수 있다.



FLAG : DYSENTTERY





Gregory, still unsure of Betty's true identity, meets with a group identifying themselves as Betty's Associates. They gave him a list of demands including numbers to bank accounts, and additional secret documents. Betty's Associates told Gregory he will be provided with information regarding the delivery of the goods.


4. What is the password provided to Gregory?


4번 문제는 그레고리에게 주어진 패스워드를 찾는 것이다. 

패킷을 분석해보자.


패킷을 분석해보면 xml파일 형식을 가진 메세지를 추가해 이야기를 나눈것을 확인해 볼 수 있다.



이 메시지 안에 들어있는 코드는 KML이라는 코드라는 것을 검색과 힌트를 통해 알 수 있었다.

문제를 풀기위해 열심히 KML가이드도 읽고 예제도 따라해 보고 해보니...


메시지 안에 있는 코드 내용이 경로를 나타내는 것과 비슷한 구조로 되어있어 경로를 나타내는 것을 통해 FLAG를 찾을 수 있겠구나 라는 생각을 했다.




하지만 주어진 코드 그대로 실행해 보게 되면 아래와 같은 오류가 발생하게 되는데 그 이유는 메시지 속의 코드에 \가 중간중간 들어가 있는데 이것들을 다 지워주고 넣어주어야 한다. 



따라서 이 코드들을 넣어주게 되면 아래와 같이 경로를 통한 메시지를 확인 할 수 있다. 



FLAG : BRUTUS 





Gregory is missing! He was supposed to meet up with Betty and deliver the goods. After that, the trail quickly goes cold. A strange shipment has arrived to the offices of Rock Solid Investigations. Jack Stone opens the package and discovers a note and a cell phone. Jack immediately sends the cell phone to you, the forensic investigator.


5. What happened to Gregory?


5번 문제는 zip파일을 하나 주는데 그속에서 그레고리가 어떻게 됐는지(왜 배달을 안했는지) 찾는 것이 였다.

주어진 것의 압축을 풀어 보니 핸드폰 폴더 트리가 나오고 패킷들도 몇개 있고 한데...

패킷들의 내용들은 다 별거 없는 것 같고 유저데이터 부분에 들어가니 사진이 한장 있었는데 그 사진은 아래와 같다. 

피흘리는건 없어서 죽었는지 기절했는지 자는건지는 확실하지 않다. 



FLAG : DIE or  SLEEP





Mrs. Jensen decides to look further into this strange email. She decides to check her account balances to ensure she still has access to her accounts.


6. How many bytes of data is the malicious payload?


6번 문제는 메일을 유심히 살펴보고 계좌의 잔액을 확인해 봤다는 이야기로 악성코드의 바이트수를 찾으라는 문제이다.

(문제를 통해서 메일로 온 것을 확인했고, 메일을 읽고 계좌확인 사이트로 이동을 해서 확인을 했을 가능성이 높다.)


패킷을 분석 해보자

패킷 파일을 분석해보니 바로 알약에서 트로이목마가 있다는 것을 알려준다.

페이로드는 헤더 부분 같은 것을 다 제외하고 데이터 부분만을 뜻하는데 분석 파일을 보면 Size가 3113Bytes라고 나와있다. 

하지만 정확히 이것이 맞는지 확인하기가 어려워 편집기와 와이어샤크를 통해서 다시 한번 확인을 해보았다.



HTTP를 통해 이루어졌으므로 와이어샤크에서 HTTP를 추출해 검색해 본다.

아래와 같이 바로 전송받았던 악성코드를 확인 할 수 있었고, Size는 분석했던 것과 동일 했다.



Atom 편집기로도 3113의 characters를 가졌다는 것을 확인할 수 있었다.



FLAG : 3113





 Mrs. Jensen decides to look further into this strange email. She decides to check her account balances to ensure she still has access to her accounts.


7. What is the URL of the false(Malicious) web page Victoria is directed to?


7번 문제는 6번 문제와 내용이 똑같다. 6번은 악성코드의 페이로드를 찾으라고 했고 7번은 그걸 유포한 URL이 뭔지 찾으라고 한다.

문제를 통해서 메일로 온 것을 확인했고, 메일을 읽고 계좌확인 사이트로 이동을 해서 확인을 했을 가능성이 높다.

따라서 패킷을 분석해보면


아래와 같이 sofa.bankofamerica.com 을 전후로 비슷한 URL인데 이상하게 tt가 껴있는 URL을 확인해 볼 수 있다. 

이것이 수상하다. (힌트에서 .net이라고 한것과도 맞물린다.)





앞서 찾은 패킷의 내용을 보면 스크립트가 짜져있는 것을 확인해 볼 수도 있다.




FLAG : bankofamerica.tt.omtrdc.net


'Forensic > Write-up' 카테고리의 다른 글

4번 문제  (0) 2017.08.27

Artifact

사전적 - 인공물, 유물

포렌식 - 생성되는 흔적(생성증거 or 보관증거)


생성증거 

- 프로세스, 시스템에서 자동으로 생성한 데이터

보관 증거

- 사람이 기록하기 위해 작성한 데이터, 사상이나 감정등을 기록하기도 함





윈도우 아티팩트


윈도우가 가지고 있는 특유의 기능들과 그 기능을 구현하는데 필요한 요소들 (주로 파일이나 레지스트리)로 부터 찾을 수 있는 여러가지 정보를 말한다.


> 시간과 날짜
 - 메인보드의 시간측정 하드웨어 RTC(real-time clock) 예전에는 별도의 장치로 분리되어 있었지만 최근에는 사우스 브리지(south bridge)칩에 내장됨

 - 주파수를 통해 정기적으로(일정한 간격으로) 받는 전기적 신호를 계산해서 날짜와 시간을 계산한다. (크리스탈 오실레이터, quartz시계에 사용되는 것)

 - 컴퓨터가 꺼진 이후에도 메인보드의 리튬 베터리나 슈퍼캐패시터(?) 를 통해 계속 전원을 공급받아 외부 전원의 도움이 없어도 시간을 기록할 수 있다.


> 시스템 시간

 - RTC에 의존하는 방식이 아닌 소프트웨어 적인 방법으로 시스템 시간을 유지하는 것


> 표준 시간대 

 - UTC(Coordinated Universal Time)





> 윈도우 아티팩트

 - 파일 시스템 아티팩트

 - 웹 아티팩트

 - 이벤트 로그

 - 프리패치 / 슈퍼패치

 - 바로가기 숏컷

 - (점프리스트)

 - 시스템 복원지점

 - 휴지통 

 - 시스템 로그

 - 시스템 임시파일

 - 미리보기 썸네일

 - 윈도우 검색 데이터베이스

 - 기타 아티팩트 (스티커메모, 프린터 스풀링 파일)


※ 파일 시스템 아티팩트 ※

 - NTFS의 경우 시스템 메타 데이터를 또 다른 파일 형태로 관리, 아티팩트 분석시 같이 추출하여 분석하기에 용이

 - 시간 흐름에 따른 파일의 상태 등과 같은 정보를 제공하여 시스템 분석에 도움을 준다.

 - 분석 대상 시스템이 NTFS 일 경우, 관련 아티팩트를 수집하고 분석하자.


※ 웹 아티팩트 ※

 - 웹 히스토리, 웹 캐시, 웹 쿠키, 다운로드 파일 등을 통한 웹 사용 내역 조사.

 - 5대 브라우저(익스플로러, 크롬, 사파리, 파이어폭스,오페라) 중 익스플로러를 제외한 브라우저는 모바일에서도 비슷한 흔적을 남기는것을 참고


※ 이벤트 로그 ※

 - 윈도우의 특정 동작에 관한 내용을 기록하는 바이너리 로그 어플리케이션

 - 사용자의 행위보다는 시스템의 운용상태를 알 수 있는 정보를 포함한다. (침해사고 대응에 더 유용하다)

 - 운영체제 설정에 따라 사용자의 기본적인 시스템 운용까지도 파악할 수 있는 로그를 기록한다.


※ 프리패치 / 슈퍼패치 ※ (windows\prefatch )

 - 보조장치와 주기억장치의 I/O 속도 차이에 따른 시스템 부하를 최대한 극복하고자 자주 사용되는 응용프로그램을 미리 메모리에 로드하기 위해 사용된 윈도우 시스템의 요소

 - 프리패치 본연의 역할을 수행하기 위해 실행파일에 대한 다양한 정보를 내부에 기록해 두고 있다.

 - 실행파일의 사용 흔적을 조사할 때 프리패치에 기록된 내용은 반드시 살펴볼 필요가 있다. (참고: http://kali-km.tistory.com/entry/Prefetch-Format  )


※ 바로가기 숏컷 ※

 - 사용자 편의를 위해 사용하기도 하지만, 운영체제가 자동 실행이나 최근 접근한 데이터에 관한 정보를 관리할 때에 사용하기도 한다.

 - 바로가기 파일에는 링크 대상 파일에 관한 생성, 접근, 수정시간 정보 및 원본 위치 등에 관한 기록을 포함하고 있으므로, 정보 유출에 관한 조사나 시스템 사용에 관한 시간 관계를 정리할 때 유용하게 사용된다. 


※ 점프리스트 ※ ( %UserProfile%\AppData\Roaming\Microsoft\Windows\Recent )

 - win7 부터 추가된 기능, 전용포멧 CustomDestinations파일과 컴파운드 파일 포멧 automaticDestination-ms파일이 각각 존재.

 - 전용 도구와 컴파운드 뷰어를 활용하여 분석가능하다.


※ 시스템 복원 지점 ※

 - 특정 시점으로 시스템의 상태를 돌리기 위해 사용

 - 각 시스템의 상태를 기록, 각종 아티팩트나 주요 파일을 같이 저장해 두고 있어, 과거 시점의 시스템설정 상태 등을 조사할 때 매우 유용하다.

 - 크기가 크고 조사 대상의 내용이 비 효율적으로 많아 최후까지 분석이 미뤄지는 경우가 많다.  but 시스템 복원지점에 있는 데이터에 의한 해결도 가능!!


※ 휴지통 ※

 - 사용자 삭제 파일이나 은닉을 목적으로 이동된 데이터가 존재한다. 

 - 휴지통 폴더 내부에 간단한 형태로 삭제된 파일에 관한 정보를 기록.

 - 삭제된 파일의 삭제 시점과 같은 중요 정보를 파악 가능, 정보 파일에 기록되지 않은 파일은 의도적인 은닉파일 이라고 간주 할 수도 있다.


※ 시스템 로그 ※

 - 윈도우 시스템에서 간단한 로그는 txt형태로 기록하는데 시스템 로그의 경우 시스템 설치 시점부터 지속적으로 발생하는 여러 동작들을 기록하므로 다른 아티팩트와 교차 분석하여 결과의 신뢰도를 높일 수 있는 도움을 줄 수 있다.

 - 시스템 로그에서 기록하는 정보를 미리 파악해 두어 분석에 도움을 받을 수 있다.


※ 시스템 임시파일 ※

 - 임시파일의 흔적을 통해 사용한 어플리케이션의 사용 기록을 입증할 수 있는 단서가 될 수 있다.

 - 임시 폴더가 직접 접근 되지 않는 폴더라는 속성을 악용해, 데이터를 은닉하기 위한 목적으로도 사용된다. (임시폴더 간단확인 필요!!)


※ 미리보기 썸네일 ※ (%UserProfile%\AppDate\Local\Microsoft\Windows\Explore)

 - 썸네일은 윈도우 미디어 파일에 대한 미리보기 데이터베이스 파일을 의미한다. 

 - 원본 파일이 삭제되더라도 썸네일 데이터베이스 내부의 미리보기 파일은 삭제되지 않고 존재할 가능성이 크다.

 - 원본 파일의 존재 가능성을 입증해 줄 수 있다.


※ 윈도우 검색 데이터베이스 ※

 - 윈도우 검색에 사용하기 위한 색인 정보를 저장, 빠른 검색을 위해 색인한 결과를 저장

 - 사용자의 기본 폴더나 이메일, 인터넷 히스토리 정보등이 기록되는 경우가 있다.


※ 기타 아티팩트 ※

 - 스티커 메모, 프린트 스풀링 파일....등

 - 분석에 도움을 주는 모든 정보에 관련된 데이터는 시스템 아티팩트로 취급될 필요가 있다.




 - 물리 메모리, 가상 메모리

 - 파일 시스템과 폴더 구조

 - 레지스트리

 - 프리/슈퍼패치

 - 캐시(썸네일,아이콘)

 - 이벤트 로그

 - 웹 브라우저 사용 흔적 ( +Edge브라우저) 

 - 휴지통

 - 링크 파일

 - 볼륨 섀도 복사본

 + 알림(Notification)

 + 윈도우 스토어 (앱스토어)

 


2. 메모리 포렌식

 

□ 메모리 포렌식의 필요성

 ① 메모리에 직접 올라가는 악성 프로그램 등을 분석 가능

     인 메모리 라이브 인젝션

 ②프라이버시를 위하여 보호된 사용자 데이터들이 메모리에 올라갔을때는 암호화 해제

 

 

□ 활성데이터 수집(Live Data)과 메모리 포렌식의 차이점

활성데이터 수집(Live Data) 

메모리 포렌식 

 운영체제 API의 영향을 받음

메모리 자체를 가져오기 때문에 영향X 

 시행 시 마다 다른 결과가 나올 수 있음

분석 시 마다 동일한 결과 

 

전체 메모리 덤프를 통해 분석하지 않은 부분에 대하여 추가적인 분석이 가능

 

 

□ 메모리 덤프

- 하드웨어 방식 / 소프트웨어 방식

 

[하드웨어 방식] http://www.grandideastudio.com/tribble/

tribble : RAM 슬롯에 장착하여 메모리 덤프 수행

- 사전에 설치되어 있어야 함

- 설치가 되어있을경우 다른 영향 없이 덤프 추출 가능

 

IEEE1394(Firewire) : DMA가 가능 (Direct Memory Access)

                   USB는 운영체제를 통해서만 메모리 접근 가능

 

=> 이러한 이유로 소프트웨어 방식의 메모리 덤프 사용

     - 윈도우 API의 영향을 받을 수 있음

     - 덤프를 만드는 과정에서 시스템에 영향을 줌

 

 

□ 메모리 덤프 추출 도구

 

 ▷ 사용자가 임의로 추출한 덤프

- dumpit (http://www.downloadcrew.com/article/23854-dumpit)

  : cmd창 -> y -> 메모리 덤프

 

- memoryze (Mandiant사에서 만든 도구)

  : C:\Program Files (x86)\MANDIANT\Memoryze\memoryDD 관리자 권한으로 실행

 

- DD

 : 예전에는 사용가능했으나 현재 윈도우에서는 불가

 

- FTK Imager Lite (무료도구)

: 메모리모양 클릭 ->경로 설정 -> capture memory -> 끝

 

 

 ▷ 자동저장 덤프 (일반적으로 메모리 포렌식에서 사용하지 않음)

- 크래시 덤프 : 장애 발생 시 자동 저장

경로)사용자설정-고급설정-시작및복구-시스템오류-디버깅정보쓰기-커널/작은/전체 메모리 텀프

 커널 메모리 덤프

   크래시에 대한 최소 정보

 작은 메모리 덤프

   커널 메모리 부분만 저장

 전체 메모리 덤프

   물리 메모리 전체

 

- 절전모드 덤프 : 최대 절전모드에서 사용하는 덤프 c:\hiberfil.sys

  //끄기 powercfg -h off

 

- VMware 등 가상컴퓨터 시스템 - .vmem 파일

 


EPROCESS 구조체

 - 프로세스가 메모리에 존재할 때의 구조체

 - 환형 이중 링크드 리스트 형태

 

프로세스 스캔 방식

 - 리스트 워킹(List Walking)     : 링크를 따라 프로세스 검색

 - 패턴 매칭 (Pattern Matching): 실제 메모리 데이터 상 EPROCESS형태를 가진 프로세스 검색


 

□ 메모리 덤프 분석 도구

[volatility] (http://www.volatilityfoundation.org/25)

 

- volatility.exe -h : 사용법 조회 (플러그인 목록)

 

1) imageinfo :  vola.exe -f [메모리덤프파일이름] imageinfo

   메모리 덤프가 추출 된 시스템의 정보 확인  

   Suggested Profile에서 운영체제 종류 확인

   Service Pack이 여러개 검색 될 경우 아래부분의 Service Pack 항목 확인

   Win7SP1x64

2) pslist : vola.exe -f [덤프파일] --prorile=Win7SP1x64 pslist

   리스트워킹 방식으로 프로세스 검색

 

3) psscan : vola.exe -f [덤프파일] --prorile=Win7SP1x64 psscan

   패턴 매칭 방식으로 프로세스 검색

 

4) pstree : 프로세스 트리

 

5) psxview : 다양한 프로세스 검색 방식으로 비교

 

6) dlllist :

- 메모리 상에 존재하는 프로세스와 관련된 DLL리스트를 출력
--pid : 특정 PID와 관련된 DLL리스트를 출력
--offset [물리메모리주소] : psscan으로 검색된 프로세스의 DLL리스트 확인

 

7) dlldump : dlldump --dump-dir [덤프 대상 디렉토리] --pid [특정PID]

- DLL을 추출

추출 된 DLL은 virustotal

 

8) handle

- 프로세스가 접근중인 자원의 목록 확인(핸들)

 

9) getsids

- 보안식별자 확인

- 프로세스가 사용한 보안식별자 목록 환인

- 권한상승 등의 공격 확인 용도

 

10) mod시리즈

- modules, modscan, moddump

- 로드된 드라이버(*.sys)

- modules는 리스트 형태로 검색, modscna은 패턴매칭으로 검색

- moddump를 사용하여 덤프

 

11) thrdscan

- 스레드 정보 검색

 

12) 네트워크 관련 플러그인

- XP이전  : connections, conscan, sockets, sockscan

connections    연결정보를 리스트로 검색

conscan         연결정보를 스캔으로 검색

socket           열려있는 포트정보를 리스트로 검색

sockscan        열려있는 포트정보를 스캔으로 검색

- Vista 이후 : netscan

 

13) svcscan

- 서비스 관련

 

14) cmdscan

- cmd에서 입력했던 명령어

 

15) consoles

- 마지막 cmd창의 화면 상태 표시

 

16) procdump

- 특정 프로세스 덤프

--dump-dir [경로] --pid [PID]

 

 

□ 레지스트리 관련

17) hivescan : 메모리에서 레지스트리 목록 확인
18) hivelist : 레지스트리 주소와 파일 관계 매칭
19) printkey : 레지스트리에서 특정 값 출력
20) hivedump : 레지스트리 하이브 파일로 덤프
21) hashdump : 윈도우 SAM에 들어있는 계정 해쉬 추출

22) clipboard : 메모리 덤프시 클립보드 내용 출력
23) screenshot : 메모리 덤프시 대략적인 윈도우 배치
24) windows : 덤프시 열려있던 윈도우 창 정보


1. 휘발성 데이터 수집 (Live Data 수집)

 1) 수집대상

 2) 명령어

 3) 스크립트

 

2. 메모리 포렌식(메모리 덤프/분석)

 1) 메모리 덤프

 2) 분석(volatility)

 


 

1. 휘발성 데이터 수집

 


 

▷ Live Data 수집 시 참고자료

 

- RFC3227 , NIST SP800-86 : 포렌식 절차 / 대상 등을 정의

https://www.ietf.org/rfc/rfc3227.txt

http://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-86.pdf

 

- NIST CFFT(Computer Forensic Tool Testing) : 포렌식 도구 검증

http://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-86.pdf


 

 

□ 휘발성 데이터 수집대상

 

 시간정보(대한민국 UTC+9)

 네트워크 관련 정보

 프로세스 관련 정보

 사용자 관련 정보

 DLL 목록 사용여부 //(Dynamic Link Library)

 핸들 목록

 명령 히스토리 (제한있음,전부 다 볼 순X)

 서비스 목록

 예약 작업

 클립도드 내용

 네트워크 드라이브 정보 / 공유폴더

 netbios 정보

 프로세스. 메모리 덤프
 

=> 주로 사용 할 도구 

- Sysinternals Suite(https://technet.microsoft.com/en-us/sysinternals/bb842062.aspx)

- 기본 윈도우 내장 명령어(cmd.exe, c:\window\system32)

 

 

 

□ 휘발성 데이터 명령어

 

▷ 시간정보

date : 날짜

time : 정보

옵션 /t : 정보 수정없이 현재 정보만 표시

> date /t & time /t



▷ 기본적인 시스템 정보수집 

[wmic](Windows Managemant Instrumentation Console)

: (wmic 실행 시 프롬프트 변경)

 

os : 대략적인 시스템 정보 전체 조회

os get [특정항복1], [특정항목2].. : 특정 항목만 조회

  installdate         : 설치날짜

  serialnumber       : 시리얼정보

  currenttimezone  : 현재 시간대 정보

  localdatetime     : 시간정보

  useraccount      : 사용자 계정 정보

 

[SysinternalsSuite] (폴더로 경로이동)

Sysinternal 도구 실행 시 뒤에 ' /accepteula '옵션 추가      //(end user license agree?)

  - 라이센스 동이 GUI 창 미표시

  - 자동 라이센스 동의(스크립트)

 

ㄴ시스템 정보 확인(sysinternals)

PsInfo : 기본 시스템 정보 수집

-d : 디스크 정보

-s : 설치 된 프로그램 정보 (안나오는것도 있음)

-h : 핫픽스 정보

 

ㄴ로그인 된 사용자 정보 (Sysinternals도구)

: 원격 데스크톱 연결 등을 통해 접속한 사용자 목록 확인

ntsuers : sysintemtool 사이트에서 다운로드

http://www.systemtools.com/cgi-bin/download.pl?NetUsers (현재X)

 

ㄴ세션 정보 확인(sysinternals)

logonsessions

=> 사용자 로그인 세션 외의 기타 서비스 관련 세션 등의 정보 확인 가능

-p : 각 세션이 실행하는 프로세스 목록 확인

 

[열려있는 파일 목록 조회]

 net file

 openfiles

 psfile 

 

[cmd에서 실행헀던 명령어 조회](해당 cmd창에서만 유효)

 doskey /history

 

[프로세스 목록 조회]

 tasklist : 내장 명령어

       /v : 상세 정보 표시

    /svc : 프로세스가 관련된 서비스 정보 조회

 pslist(sysinternals)

-t : 프로세스 트리표시

-x : 스레드 등 상세 정보 표시


[DLL확인]

 listdll.exe (sysinternals)

 

[핸들 확인]

 handle.exe (sysinternals)

 

[서비스 목록 조회]

 psservice.exe (sysinternals)

 

 ▷ 네트워크 관련 정보

[네트워크 정보 수집]

 netstat: 네트워크에서 열려있는 포트 정보 등 조회

-a : 전체 네트워크 정보 (TCP이외의 연결)

-n : 이름 서비스 조회 중지

-o : 관련 프로세스 정보

-b : 프로세스 이름 정보 표시

 

 fport : 포트 정보 확인 (xp까지는 됐으나 현재 X)

 

 tcpvcon(sysinternals) : 네트워크 포트 정보 확인

-a : 전체 포트 정보

-n : 이름 표시 X

-c : csv형태로 표시 (분석 용이)

 


[네트워크 인터페이스 정보]

 ipconfig /all : NIC 상세 정보 출력

 getmac       : MAC Address 표시

 

[라우팅 테이블]

 netstat -r , route print : 실행 결과 동일

 

[arp 캐시 확인]

 arp -a : 현재 시스템의 arp 캐시 확인

 

[dns캐시]

 ipconfig /dispalydns : 현재 시스템 DNS 캐시확인

 

[네트워크 드라이브 확인]

 net use  : 네트워크 드라이브 연결 / 목록 확인

 

[Netbios 이름확인]

nbtstat -c : netbios 이름 / 캐시 출력

 

 

▷예약작업

 at           : 일회용 예약 작업 목록    ex)at 13:00 cmd.exe

 schtasks   : 작업스케줄러에 등록된 예약 작업 목록

  

 

□ 스크립트(배치파일 batch)

- .bat

test.bat

reuslt.txt

 

휘발성 데이터 수집 스크립트 작성 시 유의사항

① 스크립트 실행결과는 파일로 저장

② 스크립트 실행 시 중단되지 않도록 비 대화형 명령 수행

③ 스크립트 실행에 사용되는 파일은 전부 별도로 준비

   (윈도우 내장명령어, 기타 sysinternals 도구 등)

④ cmd.exe도 별도로 준비

 


 

 http://ss-spring.tistory.com/17


수사의 초기 단계부터 법적인 문제를 고려하여 계획이 수립되고 법정에서의 증거 능력을 최대한 살리는 방향으로 증거들을 수집, 분석한다.


<인터넷 침해 사고 조사>

해커 또는 악성 프로그램이 어떻게 내부로 침입했고, 침입 후에는 어떤 활동을 했는가를 주요 조사 대상으로 한다. 

메모리 덤프나, 프로세스 덤프, 네트워크 연결 정보, 열려있는 포트 정보 같은 휘발성 정보와 각종 보안 로그들이 사고 조사에서 가장 큰 역할

'라이브 리스폰스(Live Response)', 임의적인 수정안됨 해시 값을 만들어 복사복과 보관하고 로그 파일의 메타데이터도 별도로 기록하는 것이 중요


<사용자의 부정이나 범죄 행위에 대해 조사할 때>

네트워크 트래픽이나 프로세스, 포트 정보처럼 휘발성이고 동적인 정보보다는

파일 시스템이나 애플리케이션 아트팩트처럼 비 휘발성이고, 정적인 정보들이 주요 분석 대상이 되며,

데이터 복구와 파일 카빙, 시그니처 분석 암호 해독 같은 기술이 주로 사용된다. 


<사용자의 활동 기록을 분석할 때>

외부기기의 연결 유무, 접근한 파일 목록, 파일 복사/이동, 사용한 애플리케이션 목록, 그리고 타임라인이 주요 분석 대상이다. 

디스크 와이핑을 통한 안티포렌식이 조사하는데 있어 가장 큰 골칫거리가 된다.


<컴퓨터가 범죄의 도구로 사용 되었을 때>

이메일 포렌식, 웹사이트 접속 기록, 컴퓨터 부팅 시간, 사용자가 사용한 애플리케이션, 사용자 ID, 삭제한 파일, 

시그니처 분석과 타임라인 분석.


<데이터 복구와 카빙>

물이 들어갔다던가, 로직 보드가 망가졌다거나, 기계적인 결함이 발생할 경우(물리적 복구, 노하우와 기술 필요)

파일시스템의 구조나 서로 다른 파일들이 가지고 있는 독특한 내부 구조를 바탕으로 삭제되었거나 일반적인 소프트웨어 인터페이스로 읽을 수 없는 데이터를 복구하는 것(소프트웨어적 복구, 사용하는 도구의 능력에 크게 의존)

*카빙이란: 파일 시스템의 메타데이터를 기반으로 복구하는 것이 아닌 파일 시스템의 도움 없이 파일들이 가지고 있는 고유한 정보(시그니처 정보, 파일의 논리적 구조, 저장되는 데이터의 형식)에 의존하여 삭제된 파일의 전부 혹은 그 일부를 복구하는 것을 의미한다. 


포렌식 전문가가 갖추어야 하는 기본적인 소양

> 디지털 증거 분석을 위한 전문 지식과 기술

> 증거 획득과 보존, 그리고 제출에 관한 법률적인 지식

> 보고서 작성 능력


OS와 파일 시스템에 대한 이해, 해킹 기법과 그에 대한 대응 기법의 이해, 암호에 대한 일반적인 지식, 네트워크 프로토콜에 대한 이해, 보안 로그를 분석할 수 있는 능력, 애플리케이션 아티팩트와 파일 구조에 대한 이해, 실행 파일 분석, 리버스 엔지니어링

전자적 증거의 의의와 특성




(1) 의의

> 전자적 증거는 전자적 형태로 유통되거나 저장되어 있는 데이터로 사건의 발생 사실을 입증하거나 반박하는 정보 또는 범행 의도나 알리바이와 같은 범죄의 핵심요소를 알 수 있는 정보를 간직하고 있다.

> 국제조직 IOCE(International Organization on Computer Evidence)에서는 "2진수 형태로 저장 혹은 전송되는 것으로서 법정에서 신뢰할 수 있는 정보"

> 과학실무 그룹 SWGDE(Scientific Working Group on Digital Evidence)에서는 "디지털 형태로 저장 전송되는 증거가치 있는 정보"라고 할 수 있다.


[전자적 증거]

자동으로 생성되는 전자적 증거 >> 인터넷 사용기록, 방화벽, 로그, 운영체제 이벤트 로그, 각종 메타 데이터

인위적으로 생성되는 전자적 증거 >> 문서파일, 전자파일, 동영상 및 사진, 소프트웨어, 암호데이터

휘발성 증거 >> 프로세스, 예약작업, 인터넷 연결 정보, 네트워크 공유 정보, 메모리

비휘발성 증거 >> 파일 및 시스템, 운영체제, 로그 데이터, 설치된 소프트웨어 


자동적으로 생성되는 증거는 전문 증거가 아니고 '비진술 증거' 이므로 진정성만 인정되면 증거로 사용할 수 있다. 하지만 인위적으로 생성되는 증거의 경우에는 그것이 전문증거인지 비전문증거인지 그 내용을 가지고 따져보아야 한다.


휘발성증거의 경우에는 컴퓨터를 끄기 전에 증거수집을 해야함에 따라 주의한다.




(2) 전자적 증거의 특성


(*) 메체독립성

    > 전자적 증거는 '유체물'이 아니고 각종 디지털저장매체에 저장되어 있거나 네트워크를 통하여 전송 중인 그 자체를 말한다. 

    > 즉, 전자적 증거는 매체와 독립된 정보 내용이 증거로 되는 특성을 가지고 있다.

    > 어떠한 정보는 내용이 같다면 어느 매체에 저장되어 있든지 동일한 가치를 가진다. (장치 어디에 있더라도 동일한 가치, 사본과 원본의 구별 어려움)

(*) 비가시성, 비가독성

    > 디지털 저장매체에 저장된 전자적 증거는 사람의 지각으로 바로 인식할 수 없고, 반드시 일정한 변환절차를 거쳐 모니터나 인쇄하여 확인

    > 종이 문서의 경우 제시하는 바로 확인 가능, 하지만 전자적 증거의 경우 하드디스크를 제시하는 것만으로 증거 내용을 인지 할 수 없다.

    > 영장의 집행과정에서 관련성 여부를 따져보기 위해 화면에 출력해 보는 것은 압수수색에 필요한 조치로서 가능하다고 한다.(제120조)

    > 이러한 변환절차를 거치는 과정에서 여러 소프트웨어와 장치 및 전문가들이 개입되므로 논란이 발생할 소지가 있다.

(*) 변경,삭제의 용이성(취약성)

    > 전자적증거는 삭제.변경 등이 용이하다. 하나의 명령으로 하드디스크 전체를 포맷하거나 특정 파일을 삭제할 수도 있다.

    > 특정 워드 파일을 열어보는 것만으로도, 의도하지 않았지만 파일 속성이 변경된다.

    > 수사기관에 의한 증거조작의 가능성도 배제할 수 없으므로, 여기에서 전자적증거에 대한 무결성의 문제가 대두된다.

(*) 대용량성

    > 기술의 발전으로 방대한 분량의 정보를 하나의 저장매체에 모두 저장할 수 있다.

    > 모든 자료가 하나에 저장됨에 따라 압수수색의 경우에 업무수행에 지장을 줄 수 있고, 개인정보가 포함되어 있어 압수수색의 범위에 대한 논란 존재

(*) 전문성

    > 디지털 방식으로 자료를 저장하고 이를 출력하는데 많은 컴퓨터 기술과 프로그램이 사용됨

    > 전자적증거의 수집과 분석에도 전문적인 기술이 사용됨에 따라, 증거의 압수,분석등에 있어 포렌식 전문가의 도움이 필요하다. 신뢰성 문제가 대두

(*) 네트워크 관련성

    > 각각의 컴퓨터가 네트워크로 연결되어 있음에 따라, 국내의 토지관할을 넘어서는 법집행을 어느 정도까지 인정할 것인지, 국가의 주권문제 발생

    > 압수수색의 경우 장소에 관한 특정의 문제가 있고, 이를 해결하기 위해 원거리 정보를 한정된 범위에서 다운로드 받아 압수하는 제도적 정비 필요



 

(3) 전자적 증거의 진정성


(*) 원본성(Best Evidence)

    > 전자적 증거는 그 자체로는 가시성, 가독성이 없으므로 가시성 있는 인쇄물로 출력하여 법원에 제출 할 수 밖에 없다. 

    > 미국에서는 '서면, 녹음, 사진의 내용을 증명하기 위해 다른 법률에 의하지 아니하고는 원본에 의하여 입증되어야 한다.'는 최량증거원칙이 확립

    > 미국 연방증거규칙 1001조 제3호에서는 "데이터가 컴퓨터 또는 동종이 기억장치에 축적되어 있는 경우에는 가시성을 가지도록 작출한 출력인쇄물 또는 산출물로서 데이터의 내용을 정확히 반영하고 있다고 인정되는 것은 원본으로 본다"고 규정하고 있다. (출력물의 원본성을 입법적으로 인정)

    > 우리나라의 경우 출력물을 원본으로 인정하는 것에 대해 두가지의 학설이 나뉘어 있다. (입력되기 전의 문서인 원문서를 원본이라고 하고, 전자적 증거 및 컴퓨터에서 출력된 문서를 등본이라고 할 것인지, 전자적증거는 원본을 추인하는 자료에 불과하고 출력된 문서가 원본이라고 볼 것인지 아니면 전자적증거와 출력된 문서 모두가 원본이라고 할 것인지 의문이다.)

    > 다만, 현행 형사소송법은 미국과 같이 최량증거원칙을 채택하고 있지 않으므로 전자적증거의 원본성에 대하여 다툴 실익은 많지 않다고 생각.

    > 결론적으로, 압수한 하드디스크 등 저장매체의 원본에 저장된 내용과 출력한 문건이 동일한지 여부가 문제가 된다.


(*) 동일성(무결성,Authenticity)

    > 전자적 증거는 다른 증거와 달리 훼손,변경이 용이한 특성을 가지므로 최초 증거가 저장된 매체에서 법정에 제출되기까지 변경이나 훼손이 없어야 함

    > 현재 국내 수사기관의 경우 전자적증거의 무결성을 증명하기 위해 하드디스크 등의 저장매체를 압수한 다음 피의자의 서명을 받아 봉인하고, 서명, 봉인과정을 비디오 카메라로 녹화하고 있다. 나아가 작성자, 수신자, 생성일시 등 부가정보는 물론 증거수집단계에서부터 법원에 증거제출단계에 이르기까지 연계보관 로그(Chain of Custody)를 기록해 놓고 있다.


"무결성"은 디스크 또는 저장매체에 어떠한 위해도 가하지 않았다는 의미이고, "동일성"은 파일의 내용이 동일하다는 의미이다. 

따라서 "무결성"은 "동일성"을 포함하는 넓은 개념으로 이해하면 된다.


    > 피의자가 재판과정에서 무결성을 부정하는 경우, 이를 입증하는 것은 증거제출자인 검사의 몫이다.

    > 형사소송법에서는 이를 '진정성'이라고 표현하고 있다.(제318조 제2항). 

    > 압수한 저장장치의 해쉬 값과 이미지 파일의 해쉬 값을 비교하거나 영상녹화물에 의한 입증, 포렌식 조사관의 법정증언 또는 법원에 검증을 신청하는 등 여러가지 방법이 가능하다. 


(*) 신뢰성(Reliability)

    > 전자적증거는 수집에서 분석까지의 모든 단계에서 신뢰할 수 있어야 한다. 

    > 우선 전자적증거를 수집하고 분석하는데 사용되는 하드웨어 및 소프트웨어의 신뢰가 이루어져야 함

    > 전자적증거를 수집,분석하는 사람이 전문적인 지식을 갖추고 있어야 함. 전자적증거 분석결과는 증거의 객관적 존재를 증명하는 것.




전자적 증거의 규제법률


(1) 배경

> 컴퓨터 범죄는 컴퓨터가 갖는 제반 특성 즉, 대량성,익명성,변조용이성,네트워크성,전문성 등을 이유로 기존의 수사방식으로는 일정한 한계가 있다.

> 현행 법률은 이러한 컴퓨터 범죄의 특성에 맞도록 실체법적, 절차법적 양면에서 기존의 법률을 수정, 보완해 가고 있다.


(2) 실체법적인 규제

> 네트워크는 일상생활에서 통신 수단을 넘어 거의 모든 법률행위의 수단이 되고 있다. 

> 대화내용을 권한없이 침해하는 등 통신내용의 완전성을 침해하는 행위(무단접속,전자기록 파괴 등)

> 통신내용이 음란성을 띄거나 폭력의 매개체로 이용되는 통신내용의 건전성을 침해하는 행위(음란물 유표, 도박행위, 협박메일의 계속적인 발신행위, 사이버 명예회손 등)

> 경제거래의 안전성을 침해하는 행위 (컴퓨터이용사기) 

> 위와같은 새로운 범죄 유형을 법률로 처벌하는 규정을 마련하여 새로운 범죄구성요건과 처벌 규정을 신설해 가고 있다.


> 그러나 이러한 형사적 제재는 최후적인 수단으로서 필요최소한에 그쳐야 한다. 다른 법률로 일단 확보하고, 그럼에도 불구하고 회피하기 어려운 단계에서 최종적으로 형법이 개입하여야 한다는 것. 이를 형벌의 보충성, 최소성이라고 한다.


> 그렇다고 언제든지 사후 책임만을 형사처벌하라는 것은 아니다. 최근 형벌의 규범력을 강화하기 위해 사전적인 단계에서도 절차위배 등을 들어 형사 처벌하는 규정이 늘고 있는 것도 현실이다. 그래서 가능하면 최종적인 수단으로 하라는 정도로 이해.


> 형벌은 그 구성요건과 형벌의 내용을 사전에 법률로 엄하게 규정하여야 한다. 이를 죄형법정주의라고 한다. 이러한 죄형법정주의의 파생원칙으로서 관습형법금지의 원칙, 유추해석금지의 원칙, 소급효금지의 원칙, 명확성의 원칙, 적정성의 원칙등이 거론되고 있다.


> 모든 부정행위를 형사 처벌할 수는 없다. 컴퓨터 범죄를 예방하기 위한 최선의 방법은 부정접속행위에 대한 직접적인 형사 처벌규정을 두는 것이다. 이에 대해서는 사이버범죄방지조약에서 형사 처벌하도록 각국에 권고하고 있고, 우리나라도 이에 대한 처벌 규정을 두고 있다.


> 그 이전 단계라고 할 수 있는 침해 바이러스를 제작.유포하는 행위에 대해서는 각국의 입법 정책에 따라 각 다른 입장을 취하고 있다. 우리나라는 바이러스 유포행위는 처벌하고 있지만 바이러스 제작 그 자체에 대해서는 처벌규정을 두고 있지 않다.


> 바이러스 제작 행위는 해킹의 예비단계에 불과하기 때문이라는 주장이 강하지만, 그것이 불법적인 목적성을 가질 때에는 비록 예비단계라도 처벌하는 규정을 두는 것이 바람직하다. 물론 학문연구 목적이라면 처벌할 수 없다는 예외적인 조치도 필요하다.


(3) 절차법적인 규제





디지털 포렌식의 유형




분석목적에 따른 분류


(1) 사고 대응 포렌식 : 해킹등의 침해 사고 시스템의 로그, 백도어, 루트킷 등을 조사하여 침입자의 신원, 피해내용, 침해 경로등을 파악하기 위함

(2) 정보 추출 포렌식 : 범행 입증에 필요한 증거를 얻기 위하여 디지털 저장매체에 기록되어 있는 데이터를 복구하거나 검색하여 찾아내기 위함




분석대상에 다른 분류


(*) 디스크 포렌식 : 물리적인 저장장치인 하드디스크 등 각종 보조 기억장치에서 증거를 수집하고 분석하는 분야

(*) 시스템 포렌식 : 컴퓨터의 운영체제, 응용 프로그램 및 프로세스를 분석하여 증거를 확보하는 분야. 

    > 각 운영체제별 파일 시스템의 이해가 중요.

(*) 네트워크 포렌식 : 네트워크를 통하여 전송되는 데이터나 암호 등을 분석하거나 네트워크 형태를 조사하여 단서를 찾아내는 분야. 

    > IP헤더(SRC,DST), 라우터 분석도 필요(라우팅 테이블, ARP 캐쉬 테이블, 로그인 사용자, TCP관련정보, NAT관련정보)

(*) 인터넷 포렌식 : 인터넷으로 서비스되는 WWW, FTP 등의 인터넷 응용 프로토콜을 사용하는 증거를 수집하는 분야.

    > 웹 히스토리 분석, 전자우편 헤더분석, IP추적 등의 기술들을 이용

(*) 모바일 포렌식 : 휴대용 기기에서 필요한 정보를 수집하여 분석하는 분야

    > 휴대용 기기 특성상 휴대가 간편하여 은닉이 편리하다는 장점이있어 증거확보시 은닉 여부를 세심히 확인해야 한다.

(*) 데이터베이스 포렌식 : 데이터베이스로부터 데이터를 추출, 분석하여 증거를 획득하는 포렌식 분야.

    > 기업의 대형 전산 시스템으로부터 증거 데이터를 확보하기 위하여 적절한 기법 연구. 데이터베이스 압수,수색,복구 및 SQL 인젝션이용 분석

(*) 암호 포렌식 : 문서나 시스템에서 암호를 찾아내는 분야

    > 증거 수집에서 비인가자의 접근을 막기 위해 문서나 각종 시스템에 암호를 설정해 놓는 경우에 필요하다.





디지털 포렌식 수행과정


증거의 획득

> 조사할 디지털 저장매체와 기록정보를 식별하고, 이를 증거로서 수집하는 절차

> 범죄에 사용된 대상 컴퓨터를 압수하여 원본 데이터에서 사본 데이터를 생성하거나 휘발성 메모리의 내용을 저장, 백업 데이터 찾기 등의 행위 포함

> 파일의 마지막 접근 시간이 변경되거나 하는 실수를 범하면 사건 당시에 문서가 작성되어있다는 것을 증명하기 어려워 짐

> 증거물의 획득 과정에서는 원본 데이터의 무결성을 유지하기 위해 데이터 이미징의 절차나 범죄에서 사용된 컴퓨터의 시간 확인 및 모니터 화면 사진, 실행중인 프로세스 확인 등의 과정이 필요하다.

> 현장에 대한 정확한 사전 진단을 토대로 현장에서 수집할 데이터의 유형과 이에 적절한 포렌식 수행도구나 행동요령에 대해 사전 숙지 필요


증거분석

> 분석을 수행하기 앞서 획득 과정에서 복사한 이미징을 이용해 파일을 확인, 확인 과정에서 범죄 증거를 발견하면 파일의 확인 과정이 어떻게 되엇는지 문서화 필요, 분석용 데이터를 작성하여 분석하는 등으로 원본 데이터의 무결성을 확보하는 것이 무엇보다 중요하다.

> 범죄자의 삭제 파일 복구, 은닉 및 암호화되어 있는 데이터 찾기, 파일 시스템 분석, 파일 콘텐츠 조사, 로그 분석, 통계 분석 등이 포함되어 있다.

> 현장에서 압수 수색과 저장매체를 압수 후 포렌식 사무실에서 관련성 여부를 따져 증거화하는 과정을 압수 수색의 연장선으로 볼 것인지, 아니면 분석의 일환으로 볼 것인지 문제 발생, 압수수색의 연장으로 본다면 포렌식 사무실에서 관련 부분을 식별해 내는 과정에서도 관계인의 입회가 보장 되어야 함.


증거보관

> 증거물로 채택되면, 증거물의 무결성을 제공하며 보관 관리하여야 한다. 물리적으로 훼손이 되거나 바이러스에 의한 파괴, 혹은 무결성을 제공하지 못하여 조작의 의심등을 받을 수 있는 경우가 발생할 수 있다. 

> 충격이나 물리적인 공격에 안전한 케이스 혹은 보관 장소를 가지고 있어야 한다.


증거제출

> 증거물의 획득-분석 및 보관 까지의 일련의 과정을 거치는 증거물에는 꼬리표를 각각 달아 어떠한 과정을 거쳤는지 문서화 해야한다.

> 증거물의 획득 과정을 알 수 있도록 하여 증거물로 채택되었을 때 타당성을 제공해야 한다. 

> 증거 획득, 분석과정을 전문가가 검증할 수 있는 방안으로 증거가 조작되지 않은 것을 증명할 수 있어야 한다.

> 제 3자의 전문가가 검증했을 때도 문제가 발생하지 않기 위해 문서화 작업은 꼭 필요하다고 할 수 있다.


포렌식을 연구하거나 교육을 받는 사람은 기본적인 컴퓨터의 이해와 폭넓은 사고, 그리고 증거로써의 역할을 할 수 있는 방안등을 연구해야 한다.


제3자의 검증

> 전자적 증거에 대해서는 제출자가 진정성에 대해 입증해야 한다.

> 진정성은 범정의 증거물이 원본과 동일하고 위.변조 되지 않은 무결하다는 점을 포함하여야 한다.

  (전문조사관이 법정 증언을 하거나 외부 포렌식 전문가 등 3자가 동일성을 증언할 수 있을 것이다.)






디지털 포렌식의 배경


포렌식 이란 개념은 법의학 분야에서 주로 사용되었고, 지문, 모발, DNA감식, 변사체 검시 등에 주로 이용되었다.


이후 물리적 형태의 증거(유형의 증거)뿐만 아니라 전자적 증거를 다루는 "디지털 포렌식" 분야로 점차 확대되었다.


<전자적 증거>

컴퓨터 시스템 또는 그와 유사한 장치에 의해 전자적으로 생성되고 저장되며 전송되는 일체의 증거.

문서, 도화, 사진, 녹음, 동영상 등 다양한 형태로 존재하는 것으로 '전자적 증거', '컴퓨터 증거', '전자기록' 등으로 혼용되어서 사용된다.



디지털 포렌식은 

정보기기에 내장된 디지털 자료를 근거로 삼아 그 정보기기를 매개체로 하여 발생한 어떤 행위의 사실 관계를 규명하고 증명하는 신규 법률 서비스 분야이다.

검찰, 경찰 등의 국가 수사기관에서 범죄 수사에 활용되며, 일반 기업체 및 금융회사 등의 민간분야에서도 디지털 포렌식 기술의 필요성이 증가 되고 있다.


1980년대에 군 또는 정보부에서 전자정보를 수집, 수사과정에서 전자적 증거의 중요성이 두각되면서 국제 컴퓨터 수사 전문가 협회가 출범 및 forensics 라는 용어를 사용.

그 이후에 경찰청 컴퓨터범죄 수사대, 경찰청 사이버테러 대응센터, 대검찰청 산하의 디지털포렌식센터 등 전자적 증거를 수집,분석하기 위한 기관들이 생김


현재 디지털 포렌식은 정보매체에 존재하는 전자적 증거를 자료로 삼아 과거 어떤 행위의 사실 관례를 역으로 규명하고 증명하는 새로운 절차로써 자리매김, 또한 검찰, 경찰 등의 국가 수사기관에서 범죄 수사에 활용되며, 흔적을 찾는 디지털 포렌식 기술의 필요성이 날로 증가되고 있다.

특히 사이버범죄에 대한 법적 증거자료 수집, 내부 정보의 유출방지, 회계 감사 등의 내부 보안 강화에 대한 활용이 주목받으면서 기업의 새로운 보안 솔루션까지 포렌식의 영역이 확대되고 있는 상황.




디지털 포렌식의 유용성


> 포렌식이라는 것이 범죄의 증거를 법정에 제출하는 것에 초점을 두고 진화되어왔다. 하지만 여라가지 업무를 수행하는데 포렌식이 유용한 점을 보인다.


[로그기록 감시]

다수 시스템의 로그를 추출하고 분석하여 상호 연관성을 판단하고, 사고처리, 정책위반사실 적발, 감사 등에 활용.

(메시지 서버의 로그를 분석, 데이터베이스화하여, 피싱 메시지의 패턴을 파악하여 차단 시스템을 구축할 수 있다.)


[데이터 복구]

툴과 기술을 사용하여 의도적으로나 변조된 데이터를 복원


[데이터 추출 및 파기]

툴을 사용하여 데이터를 재배치 또는 폐기하는 시스템으로부터 데이터를 추출하여 보관 및 추후에 활용 가능

민감데이터가 확실히 파기되었는지에 대한 여부를 검사하는데에도 활용 가능 ( 포렌식을 통한 복구로 복구되지 않으면 완전삭제 확인 가능)


[법적 책임 이행태세 확립]

다양한 법령과 규정에 의하여 각 기관들에게는 추후 감사에 활용할 수 있도록 민감한 데이터를 보호하고 특정한 기록을 보존할 책임이 부여된다.

또한 민감정보가 자칫 유출된 경우 다른 국가기관이나 피해당사자에게 이를 통지한 의무가 있다.

포렌식 절차가 수립되어 있는 경우 이러한 정보유출 사고에 원활하게 대응할 수 있으며, 법적 책임과 의무를 수행하는 데에 큰 도움이 된다.


[업무운용상 문제해결]

네트워크 설정이 잘못 잡혀 있는 시스템의 위치를 파악한다던지, 응용 프로그램의 기능오류를 해결한다던지 현재 설치된 운영체제를 검토하고 설정을 확인 하는데에도 사용이 가능하다.




디지털 포렌식의 일반원칙


적법성 : 입수 증거를 적법한 절차를 거쳐 얻었는가?

검증가능성 : 같은 조건에서 항상 같은 결과가 나오는가?

신속성 : 전 과정은 지체 없이 신속하게 진행되어야 한다.

연계보관성 : (무결성) 증거물 획득에서 법정제출까지 무결하며, 담당책임자가 명확해야한다.

동일성 : 수집 증거가 위/변조 되지 않았음을 증명


> 형사소송법 상 증거로 사용하기 위해서는 엄격한 절차에 의해서 수집되어야하며

  형사소송법 제 308조의 2에서 "위법수집증거배제법칙" {위법하게 수집된 증거는 증거로 사용할 수 없다} 

  또한, 위법하게 수집한 증거로부터 파생된 증거 또한 증거능력이 없다는 원칙을 '독수독과의 원칙'이라 한다.


> 전자적 증거는 같은 조건에서 증거를 수집하였을 때 항상 같은 결과가 나와야 해당 증거가 신뢰성을 가질 수 있다. (검증가능성)

> 전과정은 외부 요인의 개입을 최소화 해야한다. (신속성)

> 증거물 획득, 이송, 분석, 보관, 법정 제출의 각 단계에서 담당자 및 책임자를 명확히 해야한다. (연계보관성)

  이송에서 문제가 발생시 이송 담당자가 이를 확인하고, 해당 내용을 인수인계, 이후 과정에서 복구 및 보고서 작성등 적절한 조치를 취할 수 있어야 한다.

> 수집된 증거가 위.변조 되지 않음을 증명 할 수 있어야 한다. (동일성)




+ Recent posts