1. Introduction


 Project Spartan이란 IE의 뒤를 이어 새로 나온 MS의 Edge의 코드네임이다. 이번 문서를 통해서는 이러한 Edge가 남기는 Artifacts에 대하여 알아볼 것이며 ,무엇이 이러한 흔적으로 남는지, 어느 위치에 해당 흔적이 남는 지, 어떻게 수집되는 지를 분석할 것이다. 또한 이 문서는 결국 이전의 IE와 차이가 크지 않다는 결론으로 이끌게 될 것이며 이는 동작하는 방식과 데이터를 저장하는 방식이 이전과 유사함을 의미한다. 그리고 이러한 흔적을 자동적으로 수집할 수 있게 도와주는 도구에 대하여 알아볼 것이다.

 웹 브라우징 활동은 포렌식 분석에 있어서 중요한 요소이기에 많은 도구들이 이를 위하여 존재하고 있기도 하다. 이러한 도구들은 웹 브라우저의 구조에 많이 의존하며 그렇기에 각 버전이나 새로운 브라우저에 따라 다른 경로 파악이나 코드를 사용하여야 한다.

 마이크로소프트는 Windows 10으로 오면서 기존의 IE를 벗어나 Edge를 적용하였으며 그렇기에 필자의 목적은 Edge의 아티팩트를 수집하고 분석하는 것에 초점을 두고 있다. 해당 참고 포스터가 2015.07.27인 점을 보아 현재의 Edge와 다른 부분이 꽤 존재하고 있기에 이러한 부분은 필자가 직접 확인하고 올바르게 나타내도록 하겠다.

1.1 Scope, Motivation and research question

 Edge는 웹 브라우저 중 가장 최근에 개발된 것으로 아티팩트 분석에 있어서 많은 흥미를 유발시키며 점차 많은 사람들이 윈도우10을 사용하게 될 경우 이는 더욱 중요한 사하잉 된다. 그러므로 이러한 정보들은 디지털 포렌식의 가치가 있으며 지속적인 조사가 필요하다. 해당 포스팅은 아래의 문구에 주로 초점을 두고 작성되었으며 이를 상기하며 분석을 진행할 것이다.

What and where are the artifacts Project Spartan leaves behind on workstations, and how can these artifacts be gathered for further analysis to serve as forensic evidence? 

 이러한 연구 주제는 아래와 같은 Sub research Question으로 나누어 볼 수가 있다.

- 프로젝트 스파르탄이 기존과 얼마나 다른지, 기존의 툴킷들이 Edge에서도 사용 가능한가?

- 자동화 방식으로 웹 브라우저의 아티팩트를 수집하기 위한 툴이 개발 될 수 있는가?


2. Related work


 Windows 10과 Microsoft Edge는 최근에 공개되었기에 상대적으로 관련된 공개 문서나 자료가 적은 것은 사실이다. 따라서 여기서는 프로젝트 스파르탄의 구조를 분석할 것이고 Microsoft IE의 최근 버전의 정보 저장에 대하여 분석할 것이다. 그러므로 우리는 두 개(IE & Edge)를 서로 비교하는 경우(아티팩트와 관련하여)가 존재할 것임을 알아야 한다.

2.1 Browser Forensic

 브라우저와 관련된 포렌식은 흔히 디스크에서 아티팩트가 저장되는 장소와 연관이 크며 이는 브라우저마다 상이하다. 그렇기에 새로운 브라우저가 출시되면 해당 장소에 대한 정보와 아티팩트 수집에 관한 방법이 요구된다. 포렌식 조사자는 웹 브라우저 아티팩트에 관한 자세하고 신뢰성 있는 정보들이 필요하며 이러한 정보는 조사에 있어서 매우 중요한 가치가 있을 수 있다. 따라서 이러한 사용자 활동의 증거 분석을 게을리 할 수가 없다.

 Private browsing은 브라우징을 하는 동안 개인정보호를 위하여 점차 증가되는 추세이다. 이러한 Private browsing은 크롬이나 파폭, IE 등에서 지원을 하지만, 개인 정보 보호의 입장에서는 IE 보다는 크롬이나 파폭이 인기가 더 있는 추세이다. Private browsing은 사용자 활동의 증거를 거의 남기지 않아 포렌식의 입장에서 꾸준한 개발을 지속하고 있다. 

2.2 Structure of Internet Explorer

 이번 조사의 가장 큰 목적은 IE 10이나 그 이후의 버전과 관련이 되었으며 이는 많은 구조에서 Project Spartan과 유사함을 알 수가 있었다. IE 10v+와 Project Spartan은 정보 저장에 있어서 Extensible Storage Engine(ESE) DataBase와 Joint Engine Technology(JET)에 의존하는 것을 확인할 수가 있었다. IE 10은 WebCacheV1.dat이라는 하나의 데이터 베이스에 아티팩트를 저장하며 이 위치는 아래와 같다.

ESE Database 관련 참고 자료 : http://forensicmethods.com/ese-recovery

 IE Web Cache Database location : %LocalAppData%\Microsoft\Windows\WebCache

 해당 데이터베이스에 나타난 아티팩트는 다른 유형(Cache, hHstory, Cookies)들과는 차이가 있으며 이러한 유형들은 다른 컨테이너 테이블('Container XX')에 안에 나누어져 있다. 각 컨테이너는 같은 필드를 공유하며 이는 포렌식 조사에 있어서 가치가 있다고 할 수 있다. 메모리에서 로그 캐시에 있는 트랜젝션과 관련된 정보가 ESE 첫 부분에 저장될 때, 그 후 메모리에서 데이터베이스 페이지를 저장한다. 시스템이 로그 파일을 기록할 준비가 되자마자 가능하다면 데이터베이스가 Clean State에서 새 트렌젹센와 함께 업데트 되고 만약 가능하지 않다면 Dirty State로 진행이 된다. 만약 데이트베이스가 Dirty일 경우 .chk파일과 log 파일을 사용하여 복구가 진행될 것이다. 또한 esentutl Windows Tool을 사용하여 Clean State로 복구가 될 수 있다.  대부분의 아티팩트들이 여기에 저장될 뿐만 아니라 디스크에서 파일로서도 발견이 된다. 이러한 IE의 파일들은 아래의 경로에 위치한다. 

IE Directory location : %LocalAppData%\Microsoft\InternetExplorer\ 

 해당 경로에는 캐시파일과 쿠키 등을 볼 수가 있다. 이러한 정보는 레지스트리에서도 확인이 가능하다. 

IE Registry Key location : HKCU\SOFTWARE\Microsoft\Internet Explorer\


3. Approach


연구의 첫 번째 파트는 프로젝트 스파르탄의 구조를 이해하고 사용자에 대한 정보를 저장하는 방법에 대한 이해를 이야기 할 것이고. 두번째 파트는 어떻게, 어디에서 아티팩트가 발견되는지를 조사할 것이다. 그 후 웹브라우저 도구들을 이용하여 테스트를 진행할 것이다. 마지막 스텝에서는 툴을 이용하여 가치있는 무엇을 찾을 수 있는지 확인할 것이다. 해당 연구에서는 아래의 도구들이 사용되었다.

- ESEDatabaseView v1.30

- ESECarve v1.20

- Notepad++ v6.7.8


4. Artifacts Analysis


여기서는 프로젝트 스파르탄(현재의 Edge)가 어디에 아티팩트를 저장하는지를 설명할 것이며, 어떠한 특징이 있는지 어떠한 아티팩트를 남기는지에 대하여 설명할 것이다. 본문에서는 Spartan이라는 디렉터리나 레지스트리 키가 자주 보이지만 이 포스터에서는 본인의 PC (Windows 10)에서 Edge에 해당하는 부분으로 직접 찾아서 설명할 것이다.

4.1 Database

 Microsoft의 Edge는 IE의 최선버전들과 같은 DB 구조(ESE)를 가지고 있다. 메인 WebCache DB 파일은 사용자에 따라 %LocalAppData% 환경변수 항목에 위치하고 있으며 이 경로는 아래와 같다.         // 해당 부분의 DB를 Edge에서는 찾지 못해 스파르탄의 형태로 나타내었습니다.

 Spartan's WebCache database location : %LocalAppData%\Spartan\Database\WebCacheV01.dat

DB 파일을 읽기 위해 존재하는 많은 종류의 도구들이 존재하지만 여기서는 위에서 말했던 도구들을 사용할 것이다. 해당 DB 파일에는 저장된 정보들이 정렬되어 있지만 많은 실질적인 내용이 많이 존재하지는 않는다. 대신에 이는 실질적인 아티팩트가 저장되어 있는 주소에 대한 인덱스와 같다.

 이 파일을 HxD로 열려고 할 때, 기존에 사용되던 버전과 같은 구조를 같음을 확인할 수가 있었다. DB 파일의 헤더 부분을 해석하면 아래의 그림과 같다. 각 바이트는 리틀 엔디언으로 기록되어 있으며 해당 값을 읽을 때는 역순으로 읽어야한다. 

AppData\Local\Microsoft\Windows\WebCache\WebCacheV01.dat

해당 Database에는 시스템에서 지역적으로 저장되어 있는 모든 다른 아티팩트의 주소를 포함하고 있다. 해당 컨테이너에서는 다른 컨테이너의 ID 항목들을 볼 수가 있으며 컨테이너에 어떤 내용이 있는지 또한 확인을 할 수 있다.

4.2 Cache

 Edge의 경우 분산된 형태로 캐시를 저장하며 해당하는 경로는 아래와 같다. 아래에서 #!xxx라고 표시한 부분에는 #!001, #!002, #!121이라는 3개의 디렉터리가 존재하며 각 폴더 모두에 해당 데이터 들이 저장되어 있다.

 Edge's Cache location : %LocalAppData%\Packages\Microsoft.MicrosoftEdge_8wekyb3d8bbwe\AC\#!xxx\MicrosoftEdge\Cache\

 IE와 유사하게 각 캐시폴더에는 많은 내용의 캐시 내용들이 저장되어 있으며 웹 브라우징 중에 생긴 HTML 페이지나 사진 등 많은 내용들이 저장되어 있는 것을 확인할 수가 있다. 

추가 : \AppData\Local\Packages\Microsoft.MicrosoftEdge_8wekyb3d8bbwe\AC\MicrosoftEdge\Cache

4.3 Cookies

 Edge의 쿠키 내용들이 저장되는 경로는 아래와 같으며 이 역시 !#xxx의 형태로 나뉘어 저장된다. 해당 폴더를 확인하면 .txt의 형태로 여러개의 랜덤한 이름의 파일이 존재하는 것을 확인할 수가 있다. 해당 파일의 내용에 바로 쿠기 내용이 저장되어 있다. 해당 쿠키들이 어느 도메인에 속한지 WebCacheV01.dat를 봐도 알 수가 있다.

 Edge's Cookies location : %LocalAppData%\Packages\Microsoft.MicrosoftEdge_8wekyb3d8bbwe\AC\#!xxx\MicrosoftEdge\Cookies\

추가 ; \AppData\Local\Packages\Microsoft.MicrosoftEdge_8wekyb3d8bbwe\AC\MicrosoftEdge\Cookies

4.4 Bookmark

 Edge의 북마크 목록 또한 아티팩트로 존재하는데 이는 아래의 경로에 존재한다. 해당 경로로 가면 .url의 형태로 존재하는데 내용을 확인해보면 해당 사이트의 URL을 출력해주는 것을 확인할 수가 있다.

Edge's Bookmark : %LocalAppData%\Local\Packages\Microsoft.MicrosoftEdge_8wekyb3d8bbwe\AC\MicrosoftEdge\User\Default\Favorites\


4.5 Visited URLs (History)

 사용자가 방문했던 URL의 정보는 실질적인 내용을 보여주지 않지만, 포렌식 조사에 있어서 충분히 가치가 있는 정보들이다. 이러한 URL 정보들은 위의 4.1에서 다루었던 DB 파일에 저장이 되어있으며 이는 중요한 아티팩트가 될 수가 있다. 

4.6 Download list

 다운로드 리스트는 4.5와 같이 4.1의 DB에서 발견할 수가 있다. 해당 컨테이너의 이름은 iedownload이며 해당 지점에 그 이름으로 여러개의 컨테이너가 존재하지만 시스템에서 컨테이너 ID 17이 바로 해당 컨테이너이다. 해당 컨테이너에는 hex 코드로 되어 있으므로 ASCII로 변환하여 읽어야 한다.

4.7 Web Notes

 Edge에서부터는 웹노트라는 기능이 추가되어 브라우저에서 웹페이지를 캡처하여 바로 메모를 할 수게 해주는 기능이다. 이러한 웹노트는 두 경로를 알아야하는데, 하나는 임시로 저장되는 경로와 다른 하나는 완성된 파일이 기록으로 남는 장소이다.

 Web note location : \AppData\Local\Packages\Microsoft.MicrosoftEdge_8wekyb3d8bbwe\AC\MicrosoftEdge\User\Default\Favorites

Temporary location : %LocalAppData%\Packages\Microsoft.MicrosoftEdge_8wekyb3d8bbwe\AC\#!xxx\\MicrosoftEdge\History

4.8 Cortana

 Cortana란 인공지능 인식 서비스로 원래는 윈도우 폰에 적용되던 서비스지만 윈도우 10부턴 PC에 적용이 되어 사용자의 편의를 돕는다. 하지만 이런 기능은 일부 국가 언어에서만 지원하기에 한국에서는 아직 사용할 수가 없다. 이에 대한 정보는 4.1에서 'Dependency Entry 5'라는 컨테이너에 존재하므로 해당 컨테이너를 확인하여야 한다.

4.9 Reading List

 Reading List는 읽기 목록으로 즐겨 찾기에 추가된 것이 아니라 읽기 목록이라는 카테고리가 따로 존재한다. 읽기 목록에 새로운 페이지를 추가할 경우 아래의 파일에 해당 주소가 추가되어 아티팩트가 남는다.

%LocalAppDatPackages\Microsoft.MicrosoftEdge_8wekyb3d8bbwe\AC\MicrosoftEdge\User\Default\DataStore\Data\nouser1\120712-0049\DBStore\spartan.edb

4.10 Tiles

 윈도우 8부터 타일은 사용이 가능했으며 수정이 가능했다. 이 타일 기능은 당연히 Edge에도 포함이 되었으며, 타일은 글꼴, 색상, 인터페이스 요소로 구성되어 있다. 이 타일은 ESE DB에 저장이 되지 않지만 디스크에서는 발견이 가능하다. 해당 경로는 아래와 같다.

 Edge's tiles location : %LocalAppData%\Packages\Microsoft.MicrosoftEde_8wekyb3d8bbwe\AC\#!xxx\MicrosoftEdge\User\Default\Tiles\

4.11 Private Browsing

 Private Browsing을 분석함에 있어, 우리는 PC 환경을 최신버전으로 업그레이드 시킬 필요가 있으며 Edge는 개인정보보호 브라우징을 제공한다. 사용자가 방문했던 페이지를 검색하기 위해서 우리는 ESECarve를 사용할 것이다. 해당 툴은 윈도우 10에서 inpriveate 브라우징 아티팩트를 검색하기 위하여 사용되며 윈도우10에서 호환성을 위하여 해당 디렉터리에 DB 파일(.chk & WebCache01.vat)을 포함해야 한다. 이를 통하여 찾게 된 로그들은 라이프 사이클에 대하여 설명할 수 있는 하나의 단서가 되며, inprivate 히스토리는 ESEDatavaseview를 통하여 복구할 수 있다. 


5. Result


 이번 장에서는 위에서 조사한 결과를 토대로 정리할 것이다. 그리고 IE와 Edge를 비교하여 유사한 점과 차이점에 대하여 정리할 것이다. 

5.1 Project Spartan vs Internet Explorer (Similarities and differences)

 이번 절에서는 두 브라우저가 남기는 아티팩트를 비교하여 정리할 것이다. 전체적으로 두 브라우저가 남기는 아티팩트는 유사한 점이 많았다. 프로젝트 스파르탄의 모든 기능을 언급하기에는 힘들기에 모든 차이점과 유사점에 대해 언급하는 것은 어렵다.

 가장 먼저, 둘의 유사점에 대하여 정리하면 그들은 사용자 활동에 대한 정보를 저장하기 위해, 크러시가 발생했을 때 복구를 하기 위하여 ESE database라는 같은 엔진을 사용한다. 두 브라우저가  Microsoft Exchange server, Active Directory와 Desktop search에 사용되는 ESE라는 database 엔진을 사용하는 것을 알 수가 있다. 그 결과 Project Spartan과 IE가 매우 유사한 구조를 가질 수 밖에 없음을 알 수 있다. 이는 ESE database에서 아티팩트를 찾도록 만들어진 소프트웨어가 Project Spartan에서도 사용이 가능하다는 것을 알 수가 있다. 하지만 약간의 문제들로 인하여 윈도우 10에 최적화될 필요가 있다.

 바로 프로젝트 스파으탄에서부터 도입된 새로운 기능들이 존재한다. 이러한새로운 기능은 포렌식에서 중요하다고 여겨질 수 있는 새로운 아티팩트를 남긴다. 새로운 기능이란 4장에서 다룬 것 중에서와 같이 Cortana가 있다. 코타나를 통하여 어떠한 조사 가치가 있는 정보들이 저장이 된다. 또한 코타나 외에도 Reading List나 웹 노트의 경우에도 새로운 아티팩트들을 남겨주는 것을 확인할 수가 있었다. 결론적으로, 스파르탄의 구조는 IE의 최신버전과 유사함을 알 수가 있다. 새로운 아티팩트들은 IE에 없던 기능들에서부터 생겨나는 것으로 위에서 몇 가지 요소에 대하여 다루었다.


6. Reference


Project Spartanhttp://articles.forensicfocus.com/2015/07/27/project-spartan-forensics/





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

Practice USB Artifacts  (0) 2015.10.01
USB Artifacts 관련 정리 - 150930  (0) 2015.09.30
윈도우 아티팩트 요소  (0) 2015.09.28
LNK File ( Windows ShortCut)  (0) 2015.09.27
Jump List  (0) 2015.09.27