Notice
Recent Posts
Recent Comments
Today
Total
05-02 00:04
Archives
관리 메뉴

Jeongchul Kim

16 디지털 포렌식의 개요 본문

정보 보호

16 디지털 포렌식의 개요

김 정출 2016. 2. 18. 15:41

16 디지털 포렌식의 개요


디지털 포렌식의 개요

1. 디지털 포렌식이란?

디지털 포렌식의 개요

포렌식이란 법의학에서 사용되는 용어로 사건의 정확한 진상 규명을 위해 현대적 기술, 시설 장비와 과학적 기술, 지식을 활용한 수사 방법입니다.

디지털 포렌식은  컴퓨터 포렌식, 사이버 포렌식이란 용어와 혼용되어 사용되는 것으로 전자적 증거물들을 사법 기관에 제출하기 위한 데이터 수집, 분석, 보고서 작성의 일련의 작업을 뜻합니다. 과거에 얻을 수 없었던 증거나 단서들을 제공해 준다는 점에서 획기적인 방법입니다.


디지털 포렌식은 사이버 해킹 공격, 사이버 범죄 시 범죄자들의 컴퓨터, 이메일, IT 기기, 스마트폰 등의 운영체제, 애플리케이션,메모리 등에 다양한 전자적 증거를 분석하는 것으로 사이버 범죄자 추적 및 조사에 핵심적인 요소입니다.

디지털 포렌식의 목적을 살펴보겠습니다. 사이버 범죄를 행하는 범죄자를 빠른 시간 안에 정확하게 찾아내고, 범죄 행위에 이용된 증거 확보를 통한 법적 대응을 가능하게 하며, 사이버 범죄를 지속적으로 감소시키는데 있습니다.

2. 디지털 포렌식의 역사

디지털 포렌식의 역사에 대해 알아볼까요? 디지털 포렌식의 발전 과정은 도입기, 성장기, 표준기, 암흑기로 나누어 볼 수 있습니다.

도입기는 1970년대 후반부터 1980년대 초반까지로 미국을 중심으로 컴퓨터 관련 범죄가 법으로 만들어졌으며  저작권, 개인 정보보호, 사이버 스토킹, 아동 포르노 등을 대처하기 위해 관련 법안 통과된 시기입니다.

디지털 포렌식의 성장기는 1980년대부터 1990년대로 이 시기에는 법 집행 기관을 중심으로 디지털 포렌식 관련 기관 설립되었습니다. 그리고 서로 간의 커뮤니티를 위해 관련 기구를 조직하거나 심포지엄 개최되었습니다.


2000년대부터 2010년대는 디지털 포렌식의 표준기로 국가별로 디지털 포렌식 표준 수립되었습니다. 그리고 국가기관을 중심으로

디지털 포렌식 정책, 기술 연구된 시기였습니다.


2010년대부터 현재까지는 디지털 포렌식의 암흑기입니다. 클라우드 기술을 이용하여 증거 수집의 어려워졌으며, 빅데이터로 분석 또한 어려워졌습니다. 또한 분석 대상 디지털 기기가 매우 다양해지고 안티 포렌식 기법과 고급 은닉 기법이 증가되었습니다. 그리고

관련 법 제도로 인해 적용 범위가 제한되었습니다. 여러 가지 어려움과 제한으로 암흑기지만 디지털 포렌식은 아직도 많은 분야에서 연구되고 있습니다


3. 디지털 증거

디지털 포렌식은 디지털 증거를 수집, 분석하는 기술인데요 그렇다면 디지털 증거란 무엇일까요? 디지털 증거란 컴퓨터, 휴대폰 등의 디지털 기기에 존재하는 디지털 데이터를 법정 증거 능력이 있는 증거로 분석한 데이터입니다. 디지털 포렌식 절차에 맞게 수집된 디지털 데이터는 법정에서 증거능력을 갖는 디지털 증거가 됩니다.


그럼, 디지털 데이터는 어떠한 특성을 가지는지 알아볼까요? 디지털 데이터는 비가시성, 변조 가능성, 복제 용이성이라는 특징을 가집니다. 비가시성이란 무엇일까요? 디지털 데이터는 눈으로 확인하기 어렵기 때문에 별도의 장치가 필요합니다. 그리고 디지털 데이터는 변조 가능성을 가집니다. 0과 1로 이루어진 데이터로 쉽게 변조가 될 수 있습니다. 또한 복제 용이성이라는 특성을 가집니다. 복제 용이성이란 디지털 데이터는 0과 1로 이루어져 있어 쉽게 복제가 가능합니다.


또한 디지털 데이터는 대규모성과 휘발성, 초국경성을 가집니다. 대규모성이란 디지털 데이터는 매우 방대하여 고급 검색 및 필터가 필요한 것을 말합니다. 휘발성이란 어떤 특성일까요? 디지털 데이터가 내외부의 영향으로 쉽게 사라질 수 있음을 나타냅니다. 그리고 디지털 데이터는 인터넷의 발달로 인해 데이터의 영향 범위가 국경을 초월한다는 특성을 가지고 있습니다.

4. 디지털 포렌식 적용 분야

디지털 포렌식의 적용 분야에 대해 알아보겠습니다. 디지털 포렌식의 적용이 가능한 대표적인 분야로는 수사 분야가 있습니다. 디지털 포렌식은 사이버 및 지능 범죄, 일반 범죄, 강력 범죄 등의 수사에 적용됩니다. 사이버 및 지능 범죄로는 해킹, 바이러스 및 악성코드 피해 조사, 사이버 테러, 정보 은닉, 암호화 등이 있습니다. 일반 범죄에는 공갈, 사기, 위조, 협박, 횡령, 배임, 명예훼손 등이 있습니다. 강력 범죄에는 회계 부정, 세금포탈, 기업 비밀 유출, 살인, 강도, 강간, 폭행 등이 있으며 모두 디지털 포렌식 적용이 가능한 수사 분야입니다.


디지털 포렌식의 응용 분야를 살펴보겠습니다. 디지털 포렌식은  침해 사고 대응, 민사소송 대응, 이디스커버리,  포렌식 증거 분석, 포렌식 회계 감사,  포렌식 컨설팅, 내부 감사 등 다양한 분야에서 디지털 포렌식이 응용됩니다.


디지털 포렌식은 대상에 따라서 분석방법과 형태가 달라집니다. 대표적으로 디스크 포렌식, 라이브 포렌식, 네트워크 포렌식 등이 있으며, 최근 모바일 기기나 임베디드에 대한 활용이 높아지면서 모바일/임베디드 포렌식 등이 있습니다.




디스크 포렌식

비휘발성 저장매체(하드디스크, SSD, USB, CD 등)를 대상으로 증거 획득 및 분석하는 것을 말합니다.


라이브 포렌식

휘발성 데이터를 대상으로 증거 획득 및 분석하는 것을 말합니다.


네트워크 포렌식

네트워크로 전송되는 데이터를 대상으로 증거 획득 및 분석하는 것을 말합니다.


이메일 포렌식

이메일 데이터로부터 송·수신자, 보낸·받은 시간, 내용 등의 증거 획득 및 분석하는 것을 말합니다.


웹 포렌식

웹 브라우저를 통한 쿠키, 히스토리, 임시파일, 설정 정보 등을 통해 사용 흔적 분석하는 것을 말합니다.


모바일/임베디드 포렌식

휴대폰, 스마트폰, PDA, 내비게이션, 라우터 등의 모바일 기기를 대상으로 증거 획득 및 분석하는 것을

말합니다.


멀티미디어 포렌식

디지털 비디오, 오디오, 이미지 등의 멀티미디어 데이터에서 증거 획득 및 분석하는 것을 말합니다.


소스 코드 포렌식

프로그램 실행 코드와 소스 코드의 상관관계 분석, 악성코드 분석하는 것을 말합니다.


데이터베이스 포렌식

방대한 데이터베이스로부터 유효한 증거 획득 및 분석하는 것을 말합니다.


안티 포렌식, 안티 안티 포렌식

데이터 완전 삭제, 암호화, 스테가노그래피를 말합니다.


5. 디지털 포렌식 관련 기술

디지털 포렌식은 저장 매체, 시스템, 데이터 처리, 응용 네트워크 등에 따라서 증거복구, 증거 수집 및 보관, 증거분석의 기술들이 필요합니다. 디지털 포렌식이 많이 활용되는 저장매체에 대한 증거복구 기술로는 각 저장매체에 대한 복구 기술이 필요하며, 증거 수집 및 보관에는 저장 매체의 증거와 동일한 내용을 복제할 수 있는 신뢰성 있는 복제 기술들이 필요합니다. 마지막으로 증거 분석 방법은 저장매체에 저장되었다가 지워진 파일이 있는지 흔적을 분석하는 기술과 메모리 정보를 분석하는 기술이 필요합니다. 이외에도 다양한 기술들이 디지털 포렌식 과정에 필요합니다. 이러한 각 증거 대상에 대한 기술 이외에도 개인 정보보호 기술, 디지털 포렌식 수사 절차 정립, 범죄 유형 프로파일링 연구, 통합 타임라인 분석, 디지털 포렌식 도구 비교 분석, 하드웨어/소프트웨어 역공학 기술, 회계 부정 탐지 기술 등이 필요합니다.


클라우드 스토리지 포렌식

1. 클라우드 스토리지 포렌식

클라우드 스토리지 포렌식

클라우드 스토리지란 사용자의 컴퓨터가 아닌 가상의 저장소에 데이터를 저장하는 방식으로, 어느 곳에서나 데이터의 변경사항을 유지하고 여러 디지털 장치를 사용하는 환경에 용이합니다. 파일 공유뿐만 아니라 문서 및 프레젠테이션 작성에도 활용되고 있습니다.


클라우드 스토리지 포렌식에 대해서 알아보기 위해 대표적인 클라우드 서비스인 드롭박스와 구글 드라이브의 포렌식 방법에 대한 간략히 알아보겠습니다.


2. 드롭박스

드롭박스는 웹 기반 파일 공유 시스템으로 데스크톱과 모바일 등 12개 이상의 클라이언트를 지원하고 있습니다. 또한 드롭박스는 자동 동기화 및 사용자 간 자료 공유가 가능합니다. 드롭박스는 각 파일에 대해 호스트 정보, 수정 시점, 장비 등의 버전 정보를 기록하고 있으며, 삭제된 파일은 .dropbox.cache에 저장되고 있습니다.

데스크톱은 Windows, Mac OS X,  Linux를 지원하고, 모바일은 iOS, Android, Symbian, Win Mobile, Blackberry 등이 있습니다. 한 계정 당 무료로 2GB까지 지원을 합니다.


버전 정보를 기록할 때에는 호스트 정보를 같이 표기합니다.

또한 수정 시점, 장비, 사용자 판단이 용이하게 기록합니다.

삭제된 파일은 ‘.dropbox.cache’에 저장하고, 삭제를 수행한 각 장치의 디렉터리에 저장합니다. 그리고 드롭박스 서버에는 모든 삭제 정보를 저장합니다.

드롭박스 포렌식은 filecache.dbx 파일을 통해 이루어집니다. 그러나 SQLite DBX는 암호화로 인해 올바른 해석이 어렵습니다. 복호화를 위한 사용자 키와 데이터베이스 키를 생성해야 됩니다.


각각의 생성 방법을 알아보겠습니다. 사용자 키 생성은 다음과 같습니다. 파일의 무결성 검증을 위해서는 HMAC key라는 고정값과 클라이언트의 버전, 길이, 암호된 사용자 키를 사용합니다.

이때 사용되는 HMAC key 와 암호화된 사용자 키값을 이용해 데이터 복호화를 수행하며 사용자 키를 생성할 수 있습니다.


데이터베이스 키 생성은 다음과 같습니다. Salt와 iteration count 사용자 키값을 조합해 패스워드 기반 키 생성 함수인 PBKDF2를 이용해 16바이트의 데이터베이스 키를 생성합니다.


복호화 수행은 다음과 같습니다. 앞에서 생성한 데이터베이스 키와 제품 활성화

키를 SQLite의 DBX를 조합해 SQLite DB를 복호화하게 됩니다.

DEO 사용되는 복호화 방법은 AES-128-OFB를 활용하며 이외에도RC4 등의 복호화 방법이 사용되기도 합니다. filecache.dbx 복호화 방법은 2013년 3월 1일 마그넷 포렌식에서 공개되었습니다.

복호화를 위해 필요한 데이터는 filecache.dbx 파일과 각 사용자의 protect 디렉터리, 레지스트리의 ‘ks’ 키의 ‘client’ 값이 가지는 바이트, 그리고 사용자 윈도우 로그인 패스워드가 필요합니다.


3. 구글 드라이브

구글 드라이브 2012년 4월 24일에 출시된 파일 저장 및 동기화 서비스입니다. 클라우드 스토리지, 파일 공유 문서, 스프레드시트, 프레젠테이션 등을 여러 사용자가 동시에 작업할 수 있는 협업 서비스를 제공하고 있습니다.

구글 드라이브 포렌식에서

구글 드라이브의 설치 경로와 데이터베이스 경로는 다음과 같습니다. 구글 드라이브 포렌식에서 구글 드라이브의 설치 경로와 데이터베이스 경로는 다음과 같습니다.


구글 드라이브 포렌식을 위해서는 snapshot.db 파일과 sync_config.db 파일을 이용합니다.

snapshot.db에는 클라우드/로컬 파일 정보, 파일 간의 연관 관계가 포함되어 있으며 sync_config.db 파일에는 이메일 주소, 설치 경로, 소프트웨어 버전이 포함되어 있습니다.


구글 드라이버는 Write-Ahead Logging을 이용하여 데이터를 유지 관리합니다.

Write-Ahead Logging은 데이터베이스에는 기본 콘텐츠만 유지하고, 추가/삭제/수정되는 정보는 WAL에 저장하는 방식으로 Checkpointing 시 원본 데이터베이스에 저장하고 1000 페이지를 채우면 자동 Checkpoint를 수행합니다. 또한 공유 메모리를 이용하여 성능을 향상시켰습니다.


Database file과 Write-Ahead Log는 다음과 같습니다. Database file 파일을 수정할 경우, 정전 등의

상황에 대응하기 위해 수정되는 정보를 기록(logging)되어야 합니다. WAL에 페이지 정보를 기록하여 수행된 결과를 복구할 수 있습니다.


구글 드라이버의 cloud_entry 테이블에는 다음과 같은 정보가 포함되어 있습니다. Filename은 구글 클라우드에 저장된 파일명입니다. Modified는 수정된 시간이며, Created는 생성된 시간입니다. Doc_type은 파일 삭제 여부이며 url은 Gslide, gsheet,gdoc의 컨텐츠가 저장된 URL입니다. Size는 파일 크기입니다. 구글 문서 형식은 항상 0입니다. Shared는 다른 사용자에게 공유 여부를 나타냅니다. 구글 드라이버의 local_entry 테이블의 Filename은 로컬에 저장된 파일명입니다. Modified는 수정된 시간을size는 로컬에 저장된 파일의 크기를 나타냅니다.

구글 드라이브의 데이터 분석은 gdoc, gsheet, gslide 등의 파일을 통해 데이터 베이스의 메타 정보의 수집이 가능하며, 로컬에는 파일 전체를 그대로 저장하고 있어 일반적인 디스크 포렌식 기술로 증거 수집 및

분석이 가능합니다.


'정보 보호' 카테고리의 다른 글

18 암호화 개요  (0) 2016.03.04
17 디지털 포렌식의 증거 수집  (0) 2016.02.18
15 기타 웹 보안 취약점  (0) 2016.02.18
14 주요 웹 보안 취약점  (2) 2016.02.18
13 웹 해킹의 이해  (1) 2016.02.15
Comments