Data Foreniscs2010/02/26 00:04
Proneer | Security is a people problem...


PDF Forensics : Uncovering files


ISSA(Information Systems Security Association)에서 발간한 2008년 저널에 "PDF Forensics : Uncovering MYD files"라는 제목의 글이 있다. 전체적인 내용은 최근 사용된 PDF 목록에 대해 다른 모든 수단의 정보가 없을 때, PDF 응용 프로그램에서 자체 생성하는 MYD 파일을 이용해 흔적을 찾을 수 있다는 내용이다. 해당 문서는 Adobe Acrobat PDF 7.0 을 기준으로 작성되었는데 9.0부터 변화가 생겼기 때문에 9.0을 기준으로 내용을 살펴보자. 
 

Scenario : 회사 또는 국가의 중요한 기밀의 PDF 문서(가칭 "Hack Your Mac OSX 2002.pdf")가 있었는데 특정인(내부인, 외부의 공격자)에 의해 해당 PDF 문서가 외부로 유출되었다. 이에 수사 도중 용의자를 특정할 수 있었는데, 수색영장을 통해 용의자의 컴퓨터를 불시에 압수하게 되었다. 하지만 컴퓨터에서 최근 문서 확인, 레지스트리 확인, 해쉬 분석, 프리패치파일 분석, 할당 및 비할당 영역 분석, 슬랙 영역 조사 등을 모두 마쳤지만 해당 PDF 파일을 찾을 수 없었다. 이러한 내용은 널리 알려진 내용이기 때문에 짧은 안티포렌식 지식만을 이용해도 쉽게 흔적을 삭제할 수 있다. 그렇다면 용의자가 사용한 것이 확실하다면 추가적으로 어떤 방법이 있을까?


PDF Recent Decumnets
윈도우는 운영체제 내에서 사용된 최근 문서 목록을 저장하고 있다. 기본적으로 윈도우 키를 누른 후 확인할 수 있는 목록은 15개이다. 하지만, 각 운영체제 별로 정의된 최근 목록 폴더에 가면 좀 더 많은 최근 문서를 살펴볼 수 있다. 하지만 운영체제가 제공하는 최근 목록 외에 각 어플리케이션에서 제공하는 최근 문서 목록도 있다.

Acrobat 또한 PDF의 최근 목록을 관리한다. PDF를 통해 문서 작업(출력 외)을 많이 해 보신 분들은 확인해 보셨을 것이다. 오늘을 기준으로 어제, 1주전, 2주전, 한달전, 1년전 문서들의 리스트가 저장된다. PDF를 많이 사용하시는 분들은 1주전 리스트만 확인해도 많은 지연이 생긴다.



각 날짜별 리스트 목록 마지막에는 이러한 히스토리를 지우기 위한 옵션이 있다. 그리고 맨 하단에는 Open Organizer라는 메뉴가 있다. 이 메뉴를 클릭하면 다음의 UI를 확인할 수 있다. 위의 목록에서는 파일의 전체 경로만 확인할 수 있었지만, Open Organizer 메뉴를 통해서는 파일 명, 수정 시간, 마지막 사용 시간, 전체 경로의 추가적인 정보를 확인할 수 있다.



따라서 히스토리를 지우지 않는 이상 이 목록은 계속 남아 있게 된다. 필자는 지난 1년 목록을 보기 위해서는 3분 넘게 지연이 되었다. 중간에 프로그램을 강제 종료 시키고 싶은 맘이 수없이 들게 된다. 그만큼 이 목록은 사용자가 신경쓰지 않는 목록이다. 혹시 이 목록을 주기적으로 삭제하는 사람이 있다면 댓글 바란다.

하지만 이는 해당 운영체제 환경하에서 Acrobat PDF를 실행했을때에만 확인이 가능하다. 물론 라이브상태에서 수집하거나 압수된 이미지를 가상으로 마운트시켜 확인하면 되겠지만 이 또한 해당 흔적에 대한 수사관의 인식이 있어야 한다. 결국, 해당 내용을 표현해주는 파일의 경로를 알고 있어야 한다.


Organizer File
PDF의 히스토리를 저장하고 있는 파일은 앞선 메뉴에서 알 수 있듯이 "organizer[version]" 형태의 이름을 가진 데이터베이스 파일이다. 데이터베이스 파일의 경로는 다음과 같다.

  • XP : C:\Documents and Settings\[username]\Application Data\Adobe\Acrobat\[version]\organizer[version]\[targetfile].MYD


  • Vista/7 : C:\Users\[username]\AppData\LocalLow\Adobe\Acrobat\[version]\[targetfile]

Acrobat 버전이 8.0보다 작을 때에는 .MYD, 즉 MySQL을 이용하여 히스토리 내용을 저장한다. 따라서 MySQL 어플리케이션을 통해 해당 파일을 파싱해 내용을 확인할 수 있다. Acrobat 9.0 버전부터는 MySQL이 사용되지 않고 SQLite가 사용된다.


따라서, SQLite Browser를 통하면 해당 파일의 내용을 확인할 수 있다. 위의 "Open Organizer"를 통해 살펴본 4가지 정보보다 더 많은 정보를 얻을 수 있다.

  • file system
  • file diPath
  • display path
  • file name
  • has meta
  • Title
  • Subject
  • Author
  • Keywords
  • Creator
  • Producer
  • ModDate
  • NumPages
  • FileSizeLoWord
  • FileSizeHiWord
  • lastViewed
  • lastOpened
  • hasThumbnail
  • thumbnailWidth
  • thumbnailHeight
  • thumbnailPixelsPerRow
  • thumbnail

우리는 다음 그림에서 살펴볼 수 있듯이 용의자가 가져간 "Hack Your Mac OSX 2002.pdf"의 사용 흔적을 확인할 수 있다. 만약 PDF 파일 리스트가 너무 많은 경우에도 걱정 없다. 데이터베이스 파일이기 때문에 간단히 SQL 구문을 통해 원하는 파일 정보만 살펴볼 수 있다.


저작자 표시 비영리 변경 금지
Creative Commons License
Creative Commons License
Posted by Proneer

TRACKBACK http://forensic-proof.com/trackback/62 관련글 쓰기

댓글을 달아 주세요