Windows Forensic/Evidence Analysis

[Digital Forensic] Web Browser Log Information Analysis

DF_m@ster 2024. 1. 9. 09:00

디스크 분석 과정에서 웹 브라우저 로그 분석은 어떤 사용자가 어떤 브라우저에서 어떤 활동을 했는지 확인할 수 있기 때문에 중요한 과정으로 여겨진다. 웹 브라우저 로그 분석으로 Web Cache, Web Cookie, Download, Web History, Bookmark, Web Search 로그 정보를 확인할 수 있다.

 

Web Cache: 브라우저 실행에 필요한 데이터(HTML, 페이지 이미지 등)의 사본을 의미한다. 자주 접속하는 브라우저의 리소스를 로컬에 저장하여, 서버 부하를 줄이고 지연시간을 감소시키는 목적으로 사용된다. 웹 캐시가 있는 브라우저를 방문하면, 인터넷에서 브라우저 실행에 필요한 데이터를 불러오는 것이 아니라, 로컬의 캐시에서 필요한 데이터를 불러온다.

Web Cookie: 브라우저가 로컬에 생성하는 작은 파일을 의미한다. 로그인 상태 유지, 사이트 선호도 기억, 사용자에게 관련된 콘텐츠 제공 등을 목적으로 사용된다.

Web History: 사용자가 브라우저에서 방문한 웹 페이지의 기록을 의미한다.

 

 

 

Web Browser Log Analysis 

웹 브라우저 로그 분석에는 두 가지 방법이 있다. 첫 번째 방법은 로컬 컴퓨터의 특정 경로에 저장된 웹 브라우저 로그 파일에 직접 접근하여 해당 파일을 추출 후 분석하는 방법이다. 각각의 웹 브라우저는 로그를 저장하는 고유의 경로와 형식을 가지고 있어, 이를 브라우저 별로 알고 있어야 한다. 두 번째 방법은 디지털 포렌식 툴인 'Autopsy'의 'Recent Activity' 옵션을 사용하여 분석하는 방법이다. 이 옵션을 활용하면, 수동으로 파일을 찾고 추출하는 과정 없이 웹 브라우저의 로그를 효율적으로 분석할 수 있습니다.

 

Log File Location

아래는 브라우저 별로 로그 파일이 저장되는 고유 경로이다. 아래에 정리된 디렉터리 이하에 'Chche', 'History' 등의 폴더로 로그 파일이 나뉘어 저장된다.

Google Chrome: %Users%\AppData\Local\Google\Chrome\User Data\Default\ 이하

Microsoft Edge: %Users%\AppData\Local\Microsoft\Windows\ 이하

Naver Whale: %Users%\AppData\Local\Naver\Naver Whale\User Data\Default\ 이하

 

Autopsy Analysis

웹 브라우저 로그 분석을 위해 가상머신에서 직접 시나리오 환경을 구현하였다. 시나리오는 Microsoft Edge에서 Chrome을 다운로드하고, Chrome에서 본 블로그를 방문 및 북마크 하였다. 이후에 본교의 사이트와 네이버를 크롬으로 검색하여 방문하였다. 시나리오 재현 이후에 VMware의 VMDK 파일을 FTK Imager를 이용해 RAW 파일로 이미징 하고, Autopsy의 'Recent Activity' 옵션을 사용하여 분석한 내용이다.

 

'Data Artifact' 항목에 Web Bookmarks, Web Cache, Web Cookies, Web Downloads, Web History, Web Search 항목이 활성화되었다. 

 

먼저 Web Bookmarks이다. 분석하려는 북마크 목록을 선택하고, "Data Artifact'를 선택한다.

Title: 북마크 이름 (DF_m@ster)

URL: 북마크 주소 (https://digitalforensicmaster.tistory.com/)

Program Name: 이벤트 시 사용한 브라우저 (Google Chrome)

Web Bookmarks

 

다음으로 Web Downloads이다. 분석하려는 다운로드 목록을 선택하고, "Data Artifact'를 선택한다.

URL: 다운로드 주소 (https://di.google.com/tag/s/appguid%3D%7~)

Path: 다운로드 한 파일 저장 경로 (C:#Users₩korea₩Downloads#ChromeSetup.exe)

Program Name: 이벤트 시 사용한 브라우저 (Microsoft Edge)

Web Downloads

 

다음으로 Web History이다. 분석하려는 다운로드 목록을 선택하고, "Data Artifact'를 선택한다.

Title: 방문 사이트 Title(HTML) or 검색 내용 (검색: Chrome 다운로드)

URL: 방문 주소 (생략)

Referrer URL: 방문 참조 주소 (생략)

Program Name: 이벤트 시 사용한 브라우저 (Google Chrome)

 

추가적으로 각각 3개의 이벤트를 3개의 문단으로 묶어 보았다. 가장 오래된 묶음 이벤트를 해석해 보면, Google Chrome에서 '가천대학교 디지털 포렌식 티스토리'를 검색하였고, 이후에 본 블로그인 'DF_m@ster' 사이트에 방문하였다. 즉, 검색 후 사이트 방문 이벤트로 해석할 수 있다.

Web History

 

다음으로 Web Search이다. 분석하려는 다운로드 목록을 선택하고, "Data Artifact'를 선택한다.

Term: 검색 내용 (검색: 가천대학교 디지털 포렌식 티스토리)

Program Name: 이벤트 시 사용한 브라우저 (Google Chrome)

Web Search

 

 

 

Log File Analysis

로그 파일 분석을 위해 먼저 로그 파일 추출이 필요하다. 아래는 FTK Imager에 분석 디스크의 이미징을 업로드하여 로그 파일을 추출하는 모습이다. 본 로그 파일 분석 실습에서는 Google Chrome을 분석하기 위해 '%Users%\AppData\Local\Google\Chrome\User Data\Default\History' 파일을 추출하였다.

History 파일 추출

 

Google Chrome의 History 파일은 SQL Light DB 타입이기 때문에, SQL Light 도구로 내부 구조를 확인할 수 있다.

1. Downloads: 다운로드 로그 정보

Downloads

 

2. Keyword_search_terms: 검색 로그 정보

Keyword_search_terms

 

3. Urls: 방문 URL 및 Title 로그 정보

Urls

 

 

 

 

 

Chrome History Recovery

Google의 Chrome은 '설정'  '개인 정보 보호 및 보안'  '인터넷 사용 기록 삭제' 항목을 이용하면, Chrome History를 삭제할 수 있다. 본 문단은 Chrome의 History를 이전에 언급한 방법으로 삭제했을 때, 레코드의 복구 가능 여부를 실습한 내용이다.

 

실습 위해 Chrome에서 'Gachon University'를 검색하고 History 파일을 추출하였다. 이후에 Chrome의 History를 삭제하고 History를 추가 추출하여 두 History 파일을 비교분석하였다. 아래는 검색 기록 삭제 이전의 History 파일을 DB Browser로 열어본 결과로, Record가 하나 존재하며 해당 내용에 'gachon university'가 포함되어 있다.

검색 후 History (DB Browser)

 

검색기록 삭제 전 History 파일을 HxD로 열어 'Gachon University' 텍스트를 검색하고 분석한 결과 88 ~ 95번 섹터의 페이지가 검색 기록을 저장하는 페이지임을 확인할 수 있었다. 88번 섹터의 Page Header와 해당 페이지의 Cell을 HxD로 확인 한 모습이다.

 

주요 확인 가능 정보

Page Header

  Record 개수: 1개

  Cell 1의 시작 주소: '0x0F D6'

검색 기록 삭제 전 Page의 Page Header

 

Cell 1

  Cell 시작 주소: '0xBF D6' (Page Header의 Cell Pointer 값과 동일)

  Record Size: 0x28

  Row ID: 0x01

  Data Header Size: 0x05

  Size of Cell 1: 0x01 (Signed Integer)

  Size of Cell 2: 0x11((0x2F - 0x0D) / 2)

  Size of Cell 3: 0x11((0x2F - 0x0D) / 2)

  Cell 1 Data: 0x02

  Cell 2 Data: 0x67 61 63 68 6F 6E 20 75 6E 69 76 65 72 73 69 74 79 (gachon university)

  Cell 3 Data: 0x67 61 63 68 6F 6E 20 75 6E 69 76 65 72 73 69 74 79 (gachon university)

검색 기록 삭제 전 Page의 Cell 1

 

검색기록 삭제 후 History 파일을 HxD로 열어 'Gachon University' 텍스트를 검색한 결과 하나의 텍스트도 검색되지 않았고, 검색 기록을 관리하는 페이지의 Page Header와 Cell을 확인 한 결과 Zero Fill이 이루어져 있었다. 이를 통해 Google의 Chrome은 검색 기록을 삭제할 때, 기존의 SQLite 삭제 방식을 따르는 것이 아니라, Zero Fill 방법을 추가 사용해 복구할 수 없게 하는 시스템이라는 점을 확인할 수 있다. 이후에 검색을 통해 Google이 공식적으로 Chrome의 History 삭제는 복구할 수 없다고 발표한 자료도 찾아볼 수 있었다.

 

주요 확인 가능 정보

Page Header

  Record 개수: 1개

  나머지 정보 Zero Fill

검색 기록 삭제 후 Page의 Page Header

 

Cell 1

  Zero Fill

검색 기록 삭제 후 Page의 Cell 1

 

아래는 구글의 공식 발표 글의 일부이다.

https://support.google.com/websearch/answer/6096136?hl=ko&co=GENIE.Platform%3DDesktop