디지털 증거 분석 기술
디지털 증거 분석 기술은 수집 기술과 달리 디지털 데이터의 종류와 저장 형태, 입증할 목적 등으로 인하여 굉장하 다양하기 때문에 포괄적으로 말하기는 어렵다
1. 파일 복구
범죄자는 대부분 증거를 인멸하려 하기 때문에 디지털 포렌식 분석을 위해서는 삭제된 파일의 복구가 선행되어야 한다.
파일을 저장하고 관리하는 방식을 파일 시스템이라 부르고, 조사를 위해서는 파일 시스템에 대한 선행 지식이 있어야 한다.
대부분의 운영체제는 사용자에게 빠른 응답을 하기 위해 파일을 삭제하면, 삭제하였다는 표시만 하고 실제로 해당 파일은 그대로 남겨둔다.
즉, 파일 A가 삭제된다면, 파일 A의 데이터가 그대로 유지된 채 미할당 영역이라 표시한다. 따라서 삭제된 파일은 파일 시스템의 미할당 영역에 잔존하게 된다. 이러한 데이터는 새로운 파일이 생성되어 해당 영역이 덮어 써지지 않으면, 파일 복구 도구를 이용하여 복구할 수 있다.
파일 복구는 파일 시스템에서 미할당 영역을 추출하고 데이터가 존재하면, 해당 데이터를 해석하여 이미 알려진 유형의 파일 포맷인 경우 그 부분을 새로운 파일로 생성하는 방식으로 동작한다.
이와 같이 삭제된 파일은 복구가 가능하기 때문에 프라이버시 관련 정보나 영업 비밀 관련 정보와 같이 중요한 파일을 파기할 때에는 단순히 삭제 표시하는 것이 아니라 해당 데이터까지 모두 삭제하는 '완전 삭제(wiping)' 기술을 사용한다.
하지만 완전 삭제 기술이 안티포렌식 관점에서 증거를 인멸하는 기술로도 사용되고 있는데, 현재까지 이에 대한 대책은 없다. 다만 완전 삭제 도구의 설치 흔적, 사용 흔적으로부터 증거 인멸 시도를 확인할 수 있다.
2. 검색 기술
디지털 포렌식 조사는 수집된 디지털 데이터로부터 사건과 관련된 정보를 찾아 내는 것부터 시작한다.
저장 매체가 대용량화 됨에 따라 수집되는 디지털 데이터의 양도 매우 많아지고 있어 사건의 단서나 증거를 찾는 것이 점점 어려워지고 있다. 이를 극복하기 위해 고속 검색 기술 개발이 디지털 포렌식 연구의 주요 이슈이다.
1. 키워드 검색
키워드 검색은 사건과 관련된 키워드를 선정하여 파일 또는 저장 매체 전체를 대상으로 검색하는 것을 말한다.
디지털 포렌식 분석 과정에서 키워드 검색을 통해 증거를 찾기 위해서는 텍스트 인코딩, 대소문자 등의 사항을 고려해야 한다. 즉, 같은 키워드라도 인코딩 방식에 따라 전혀 다른 값이 되기 때문에 찾고자 하는 키워드의 형태를 결정해서 검색을 수행해야 한다.
위의 그림은 EnCase의 키워드 검색 기능을 나타낸다.EnCase에서는 키워드 검색을 위해 GREP의 정규 표현식을 지원한다. 정규 표현식은 널리 사용되고 있지만 표준화된 정규 표현 문법은 존재하지 않는다. 각 도구 별로 정규 표현식의 문법은 다를 수 있지만 같은 원리를 가지고 있기 때문에 서로 다른 표현식이라도 쉽게 습득할 수 있다.
GREP을 이용해서 특정 파일 내에 주민등록번호가 포함된 행을 추출하는 예제이다.
주민등록번호가 포함된 행을 찾기 위해서 다음과 같은 정규 표현식을 설정한다.
.*0-9]{2}[01]{1}[0-9]{1}[0-3]{1}[0-9]{1}-[0-9]{7}
1. .*- 임의의 문자(.)가 0개 이상 나올 수 있다. 즉 문자열의 시작 부분에 어떤 내용이 있든 상관없다.
2. [0-9]{2} - 2자리의 숫자가 있어야 한다. 예를 들어, 09,23
3. [01]{1}[0-9]{1} - 앞에 0 또는 1이 1번 나오고 뒤에 숫자 0부터 9까지가 1번 더 나온다 = 여기서는 월을 의미하며 01부터 12까지의 숫자 형식에 맞추기 위함이다.
4. [0-3]{1}[0-9]{1} - 첫 자리에 0,1,2,3 중 하나가 나오고, 두 번째 자리에는 숫자 0부터 9까지 나온다. = 날짜를 표현하며 01에서 31까지의 형식을 의미한다.
5. '-' - 날짜 뒤에는 -가 온다. = 주민등록번호에서 나오는 - 를 의미한다.
6. [0-9]{7} - 마지막으로는 7자리의 숫자가 나온다.
유닉스에서 다음과 같은 형태의 명령어를 사용해서 파일 내의 주민등록번호를 검색할 수 있다.
이 명령어를 사용하여 나온 결과는 다음과 같다.
일반적인 키워드 검색이 파일 또는 저장 매체의 첫 시작 위치부터 순차적으로 해당 키워드를 찾는 것이라면, 전처리를 통해 키워드들을 미리 인덱싱 해놓음으로써 빠른 검색이 가능하게 하는 기술이 있다. 대표적인 인덱싱 기법으로 dtSearch가 있으며, 디지털 포렌식 전문 도구인 ACCESSDATA 사의 Forensic Toolkit(FTK)에서 고속 검색을 위해 사용되고 있다.
2. 해쉬 검색
파일명 또는 파일의 해쉬 값을 이용하여 저장 매체 내에서 특정 파일을 검색하는 것을 해쉬 검색이라 한다. 해쉬 값을 이용한 파일 검색은 미리 알려진 파일을 포렌식 분석 대상에서 제외하거나 신속히 검색하기 위해 활용된다. 예를 들어 잘 알려진 파일에 대한 해쉬 값을 데이터베이스에 축적해 놓으면, 대량의 디지털 데이터에서 파일별 해쉬 값을 계산하여 일치된 해쉬 값이 존재할 경우 이를 조사 대상에서 제외시킴으로써 분석 대상을 축소시킬 수 있다.
이러한 기능을 하기 위해 잘 알려진 파일들의 해쉬 값을 모아 놓은 것을 참조 데이터 세트(Reference Data Set)이라 한다. 전 세계적으로 이러한 참조 데이터 세트를 구축하는 프로젝트가 많이 존재하는데, 그 중 미국의 NIST에서 추진하는 프로젝트에서 작성한 참조 데이터 셋이 널리 알려져 있다.
대다수의 디지털 포렌식 전문 도구에서는 NSRL RDS와 같은 참조 데이터 세트를 이용해서 파일 검색을 할 수 있는 기능을 제공한다. 이러한 기능을 활용해서 미리 알려진 파일들을 쉽게 확인할 수 있고, 분석 대상에서 제외함으로써 좀더 빠른 분석을 할 수 있다.
하지만 NSRL RDS는 우리나라에서는 활용도가 떨어져 DF RDS라는 국내 환경에 맞는 참조 데이터 세트를 구축하여 공개되어 있다.
해당 사이트는
1. 파일 단위 해쉬 검색 - 특정 파일을 업로드 하여 해쉬 값을 검색하는 기능. DF RDS에 해당 파일에 대한 해쉬 값이 존재하면, 해당 파일에 대한 정보가 표시된다. 표시되는 정보는 파일명, SHA-1 해쉬값, MD5 해쉬값, CRC32값, 파일 크기, 소프트웨어 종류, 소프트웨어 이름, 소프트웨어 버전, 구동 대상 운영체제, 언어팩 종류, 설치 경로, 소프트웨어 출시년도 등.
2. 다수 해쉬 목록 검색 - 해쉬 목록 파일은 첫 번째 행에 'Name'이라는 컬럼명이 존재해야 하며 해쉬 값은 'Name'이라는 컬럼명이 존재해야 하며 해쉬 값은 'md5'또는 'SHA1'또는 'Hash Value'라는 컬럼명으로 존재해야 한다.
3. 해쉬 값 검색 - 특정 파일의 md5또는 SHA-1 해쉬 값을 입력하여 해당 파일의 해쉬 값을 검색하는 기능으로 , 'Hash Value'항목에서 해당 파일의 해쉬 값을 입력하여 'Search' 버튼을 통해 결과를 확인할 수 있다.
4. REST 서비스를 사용한 해쉬 값 검색 - REST 서비스는 외부에서 DF RDS의 해쉬 세트에 특정 해쉬 값을 질의하고 XML 형태로 결과를 확인할 수 있는 기능이다. DF RDS 웹페이지는 이러한 REST 서비스를 제공함으로써 외부의 디지털 포렌식 조사 또는 연구기관에서 DF RDS의 해쉬 세트를 사용한 도구를 개발할 수 있도록 지원하고 있다.
5. DF RDS 해쉬 세트 다운로드 - 메인 화면의 'Dataset Downloads' 버튼을 통해 해쉬 세틀르 다운할 수 있다.
3. 타임라인 분석
디지털 데이터에서 시간은 범죄 사실을 규명하기 위해 매우 중요한 정보이다. 파일 내부의 메타데이터에 저장된는 시간 정보나 파일 시스템 상에 저장되는 파일 시간 정보 등 다양한 곳에 저장된 시간 정보를 이용해 타임라인을 구성함으로써 시스템 사용자의 행위를 추적할 수 있다.
위의 그림은 Encase의 타임라인 보기 기능이다. 파일 시스템에 저장되어 있는 시간 정보가 가시적으로 출력된다. 또한, 문서 파일, 압축 파일 등은 파일 내부에 고유한 형식으로 시간 정보를 저장하고 있어 전문 지식이 없는 경우에는 조작이 용이하지 않기 때문에 핵심 증거로 사용될 가능성이 있다.
Log2TimeLime은 시스템에서 시간 정보를 동반한 데이터를 종합적으로 분석하여 시간 흐름에 따라 데이터의 운용과정 및 변화된 내용을 효율적으로 확인할 수 있다. Log2TimeLime은 다양한 흔적에서 시간 정보를 추출하여 결과를 구성하므로, 특정 시간대에 시스템에 대한 일련의 사용 흔적을 효율적으로 관측할 수 있도록 한다. 또한, 조사 대상의 정보를 시간 흐름에 따라 종합적으로 재구성하기 위해서는 Log2TimeLime같은 도구를 이용한 타임라인 분석이 필수이다.
4. 시스템 사용 흔적 분석
1. 시스템 아티팩트
컴퓨터 시스템을 조사할 때는 운영체제의 사용에 따라 디스크에 남는 여러 가지 흔적을 면밀하게 살펴야 한다. 이렇게 디지털 포렌식 조사에 도움이 되는 정보를 포함하고 있는 운영체제의 사용 흔적들을 포렌식 아티팩트라고 한다.
2. 시스템 아티팩트의 분류
운영체제의 아티팩트에 포함된 정보는 각각 조사하고자 하는 목적에 따라 분류하고 관리되어야 효율적으로 조사할 수 있다.
1. 시스템 및 사용자 정보
시스템을 조사할 때는 시스템이 가지는 기본적인 정보와 사용자 계정에 관한 정보를 우선적으로 획득할 필요가 있다. 시스템 종류에 따라 조사 대상이 되는 아티팩트의 유형이 달라지며, 시스템의 실제 사용자를 파악해야 조사 방향을 정확하게 수립할 수 있다.
2. 프로그램 설치 및 실행 흔적
프로그램을 설치하였거나 실행한 흔적은 디지털 포렌식 조사에 매우 중요한 정보를 제공한다. 실행파일의 사용 흔적은 윈도우의 레지스트리와 이벤트 로그, 프리패치, 아이콘 캐시 등에 다양하게 존재하므로, 조사자에게는 각각의 흔적을 면밀하게 조사하여 내용을 종합해야 한다.
3. 외장장치 연결 흔적
운영체제는 외장 장치 사용의 편리성을 높이기 위해 외장장치에 연결에 관한 기본적인 정보를 관리한다. 외장장치의 연결 흔적과 사용된 파일에 관한 정보는 윈도우 바로가기 파일이나 래지스트리, 이벤트로그의 조사를 통해 부분적으로 획득이 가능하다. 조사 대상 시스템에서 외장장치의 연결흔적이 나타나면, 해당 장치를 통한 정보유출의 가능성이 있으므로 장치를 악성코드의 유입 지점 등으로 추측할 수 있다.
4. 웹, 네트워크 연결 흔적
네트워크 연결흔적과 웹브라우저의 사용 흔적은 외장장치의 사용흔적과 유사하게 악성코드의 유입이나 정보 유출 경로로 의심될 수 있기 때문에 정밀한 조사가 필요하다. 또한, 웹페이지 목록이나 검색 기록을 통해 사용자의 최근 관심사를 파악할 수 있으며 사용자 모르게 접근한 URL 목록 등을 점검하여 악성코드 유포자 탐지에 이용할 수 있다.
5. 스마트폰 사용 흔적 분석
1. 스마트폰 데이터
스마트폰을 조사할 때는 시스템 로그 데이터와 어플리케이션의 로그 데이터를 분석해야 한다.
스마트폰의 운영체제는 시스템과 어플리케이션의 구동, 사용흔적을 로그로 저장한다. 로그는 텍스트 형식 파일 또는 데이터베이스 파일 포맷을 갖기 때문에 이러한 파일들을 면밀히 분석하는 것이 중요하다.
2. 스마트폰 데이터 분류
1. 파일 시스템 정보
스마트폰의 파일 시스템은 플래시 메모리 이미지 파일을 통해 분석한다. 안드로이드는 주로 Ext4 파일 시스템을 사용하고 아이폰은 HFA+ 파일 시스템을 사용한다.
파일 시스템 분석을 통해 파일 시스템의 생성 시간과 실제 플래시 메모리 내부에 존재하는 모든 폴더와 파일의 목록과 메타 타데이터 등을 확인할 수 있고 Ext4의 경우 삭제된 폴더와 파일 목록도 확인할 수 있다. 또한, 미할당 영역을 추출하여 삭제된 데이터의 복구를 수행할 수도 있다.
2. 기본 시스템 정보
스마트폰의 기본 시스템 정보는 주로 텍스트 형태의 로그 파일로 존재하며 이러한 파일을 분석함으로써 스마트폰의 하드웨어, 소프트웨어 정보를 확인할 수 있다. 또한, 안드로이드의 경우 접속한 와이파이 정보, 디바이스 초기화를 실행한 흔적 등도 확인할 수 있다.
3. 애플리케이션 사용 정보
애플리케이션은 스마트폰에 기본으로 설치된 통화기록, 문자, 주소록 등과 같은 기본 앱과 사용자가 직접 다운로드 받아서 설치한 사용자 앱이 존재한다. 어러한 애플리케이션들은 주로 SQLite 데이터베이스 파일을 사용하여 사용자 데이터를 저장하고 XML, Plist 파일을 사용하여 사용자의 설정 정보 등을 저장한다.
SQLite 데이터베이스 파일 분석을 통해 사용자의 타임라인 분석을 실행할 수 있다. 또한, 사용자가 많이 사용하는 앱 종류와 생활 패턴등도 분석이 가능하다.
XML 파일은 일반적인 문서 뷰어 프로그램을 통해 내부 데이터를 확인할 수있고, Plist 파일은 전용 뷰어를 사용하여 내부 데이터를 확인할 수 있다.
4. 멀티미디어 데이터 정보
스마트폰의 멀티미디어 데이터는 사진, 동영상, 음석녹음 등의 파일이며 이러한 멀티미디어 데이터들은 저장 경로 설정에 따라 내부 SD카드영역 또는 마이크로 SD카드인 외부 SD 카드 영역에 존재한다.
스마트폰은 일반적인 PC보다 내부 데이터들의 단편화가 많이 발생하기 때문에 삭제된 멀티미디어 파일의 복구를 수행하는 경우 PC보다 복구율이 떨어진다. 따라서 추가적으로 정교한 복구를 수행해야 할 필요가 있는 경우, 단편화된 데이터들을 재조합하는 등의 추가적인 복구 작업을 수행해야 한다.
6. 안티 포렌식 기술과 대응
최근 디지털 포렌식 기술이 발적하고 디지털 증거물이 법정에서 효력을 발휘하는 경우가 많아지면서, 안티 포렌식의 개념도 등장하고 있다.
안티 포렌식(Anti Forensics)란 포렌식 기술에 대응하여 자신에게 불리하게 작용할 가능성 있는 증거물을 차단하려는 일련의 활동을 말한다. 대표적인 기술로는 데이터 위변조, 삭제, 암호화 등이 있다.
1. 안티 포렌식 기술
1. 데이터 완전 삭제
데이터를 삭제하는 것은 범죄 용의자나 악의적 사용자가 가장 일반적으로 수행하는 안티 포렌식 행위이다. 데이터를 삭제하는 행위는 운영체제에서 제공하는 기능을 사용하여 삭제하는 경우와 완전 삭제 전용 소프트웨어를 이용하여 삭제하는 경우로 나뉜다.
운영체제에서 제공하는 기능을 사용하여 삭제하는 경우에는 미할당 영역에 데이터를 그대로 남겨 놓는 경우가 많다.
완전 삭제 전용 소프트웨어를 이용하는 경우에는 파일 시스템의 구조를 해석하여 미할당 영역의 데이터까지 덮어쓰게 되므로 삭제에 오랜 시간이 걸리지만 이 방법을 사용하여 데이터를 삭제하는 경우가 늘고 있다.
2. 데이터 은닉
데이터 은닉은 데이터의 안전한 보관이나 은밀하게 데이터를 전달하기 위해 주로 사용된다. 데이터의 은닉은 보통 저장 장치나 팡리 내부의 구조를 분석하여 사용하지 않는 영역을 이용하거나, 스테가노그래피 기법과 같은 육안으로는 판단하기 힘들도록 데이터를 교묘하게 변경하는 방법을 통해 이루어진다. 은닉된 데이터는 특성상 사건 해결에 중요한 역을 할 가능성이 크기 때문에 포렌식 조사자는 저장 장치 곳곳에 사용되지 않는 영역과 다양한 은닉 기법을 잘 파악하여 조사 시 면밀하게 살펴야 한다.
3. 데이터 암호화
데이터 암호화는 타인이 해당 데이터를 열람할 수 없도록 하기 위하여 사용한다. 암호화된 데이터는 복호화에 사용되는 키를 알고 있는 경우 쉽게 해독할 수 있지만, 보통은 의도적으로 키를 숨기는 경우가 많아 조사에 어려움을 겪게 한다.
2. 안티 포렌식 대응 기술
1. 완전 삭제 도구 사용 흔적 조사
완전 삭제 도구를 이용하여 데이터가 삭제된 경우에는 미할당 영역에 있는 데이터 역시 임의의 값이나 특정한 값으로 덮어쓰기 때문에 논리적으로 복원이 불가능하다. 하지만 완전 삭제 도구가 사용된 흔적이 있으면 의도적인 증거 인멸이 시도되었음을 추정할 수 있기 때문에 이러한 도구의 사용 흔적을 조사하는 것은 중요하다.
일반적으로 완전 삭제 도구를 사용하는 경우에는 메타 데이터의 삭제된 영역을 0이나 임의의 값 혹은 특정 문자열로 채우는 경우가 있다. 이와 같은 특징을 이용해 조사 시 미할당 영역이나 메타데이터와 사용되지 않는 영역에서 특이점을 확인하는 동시에 알려진 완전 삭제 도구가 실행된 흑적을 파악할 수 있어야 한다.
2. 패스워드 검색
사건과 관련된 중요한 데이터가 암호화되어 있을 수도 있다. 데이터는 대부분 사용자가 입력한 패스워드를 키로 사용하게 되는데, 패스워드 검색 방법으로 사회공학 기법, 사전 공격(Dictionary Attack), 전수 조사 등이 있다.
3. 심층암호분석(Steganalysis)
심층암호분석은 크게 멀티미디어 파일 분석과 문서 파일 분석으로 나눌 수 있다.
멀티미디어 파일에서의 심층암호분석은 이미지, 동영상 등의 파일에 은닉된 데이터를 탐지하는 기술을 말하며, 통계 분석, 색상 분석 등을 통해 데이터 은닉 여부를 탐지한다.
4. 파일 내부의 시간 정보 분석
파일 시스템 상에 저장되는 시간 정보는 변조가 용이하다. 그러나 응용 프로그램에 의해 파일 내부에 저장되는 시간 정보는 해당 파일의 저장 형식을 알지 못하면 변경하기 매우 어렵다. 그러므로 파일 내부에 저장된 시간 정보 분석은 디지털 포렌식 조사에서 중요하게 활용될 수 있다.
7. 기타 분석 기술
기타 디지털 증거 분석 기술로 일관성 분석, 연관 관계 분석 등이 있다.
일관성 분석은 시간의 연속성이라는 특성을 이용하는 분석 방법이다. 어떤 결과가 발생하려면 반드시 그보다 앞서서 원인이 존재해야 한다는 사실을 기반으로 한다. 파일, 메타 데이터와 같은 디지털 데이터에는 시간 정보가 저장되므로 이를 이용하여 일관성 분석을 할 수 있다.
연관 관계 분석은 서로 다른 이벤트 사이의 연관 관계를 밝히는 분석 방법이다. 서로 다른 이벤트를 기준으로 분석하는 경우에는 관계가 없다고 판달할 수 있다. 이러한 상황에서 통계, 데이터 마이닝 등의 기법을 사용해 둘 이상의 서로 다른 이벤트 사이의 관계를 밝히는 것을 연관 관계 분석이라고 한다.
[출처] 디지털 포렌식 개론 -
'swuforce' 카테고리의 다른 글
[H4CKING GAME] SEASON 1 : line feed (0) | 2024.11.12 |
---|---|
[The Science Times]200억년 걸려야 해킹 가능하다? (3) | 2024.11.12 |
[디지털 포렌식 개론] 8장 1~3절 (0) | 2024.11.06 |
[인프런]기초부터 따라하는 디지털 포렌식 개론 섹션 3 -1,2,3강 (5) | 2024.11.05 |
[webhacking]old-54 문제풀이 (0) | 2024.11.04 |