이번 글에서는 iOS 포렌식을 위해 개발 된 도구들과 포렌식 분석 업무에 도움이 될만한 도구들을 소개하고자 한다. iOS가 탑재 된 모바일 장치가 급격히 많이 사용 됨에 따라 이와 비례적으로 발생하는 침해사고등을 분석하기 위해 여러 업체에서는 iOS 분석 도구를 개발해 판매하거나 무료로 배포하고 있다. 여기서 소개하는 도구들은 모두 완벽한 도구들은 절대로 아니다. 테스트를 해보면 일부 데이터가 누락된다거나 분석하지 않는 부분이 있다거나 하는 등의 단점을 모든 도구가 지니고 있다. 이는 정확한 분석 방법론과 정확한 분석 방법이 확립되지 않아서 발생하는 문제다. 이러한 이유로 포렌식 분석을 하기 위해 도구를 사용 할 때에는 여러가지 면을 살펴 신중하게 도구를 선택해야 한다.


1. mdhelper

해당 도구는 iOS가 탑재 된 모바일 장치로부터 생성 되는 백업 파일을 대상으로 분석 데이터를 추출 해 주는 도구이다. 해당 도구는 무료이며, Mac OS X 전용 파일 포맷인 dmg 파일 포맷의 단일 파일로 배포 되고 있다. 그러나 해당 도구를 실행하면 Mac OS X의 타임스탬프가 수정 되어 침해 PC에서 실행한다면 타임스탬프 조작으로 인해 타임라인 분석이 어려워 질 것이다. 이를 예상하고 해당 도구를 써야한다.


[그림 1 - mdhelper 도움말]


2. Susteen Secure View 3

해당 도구는 모바일 장치로부터 분석 데이터를 수집 할 때 사용하는 도구이다. 설치와 조작이 간편하고 기기와의 연결 또한 쉽게 할 수 있는 장점이 있다. 하지만 지원하지 않는 iOS 모바일 장치가 있어 모든 모바일 장치에 적용 할 수 있는 도구는 아니다.


3. Oxygen Forensic Suite

해당 도구는 모바일 장치로부터 데이터를 수집하고 분석까지 해주는 도구이다. 무료 버전과 유료 버전으로 사용자에게 제공되고 있는데 무료 버전의 경우 30일 이내에 30번 실행 제한이 있다. 유료 버전은 그 가격이 고가여서 개인이 사용하기에는 조금 부담이 있는 것이 사실이다. 해당 도구의 데이터 수집 능력과 분석 능력은 다른 도구들에 비해 좋지만, 사용자가 어렵게 느껴질만한 툴 사용방법과 분석 결과에서 사용 되는 익숙하지 않은 용어들로 인해 기본 지식이 없는 조사관이라면 오히려 분석에 더 힘이 들 수도 있는 도구이다. 또 몇 개의 내부 기능을 사용하기 위해서는 또 다른 비용을 지불해야 한다는 단점이 있다.


[그림 2 - Oxygen Forensic Suite 2012]


4. Katana Forensics Lantern

해당 도구는 유료로 판매되는 도구로 데이터를 수집(이미징 포함)하고 분석하는 기능을 지원한다. 하지만 분석 결과는 다른 도구에 비해 만족스럽지 못하다는 것이 단점이다. 분석 기능에서 모든 데이터베이스를 분석해 주지 않아 사용자가 따로 데이터베이스를 분석해야 하는 번거로움이 발생한다. 또 매번은 아니지만 가끔 수집한 데이터를 분석하는 도중 데이터를 삭제하기도 해 도구의 신뢰성이 다른 도구에 비해 좋지 않다.


5. i-fundbox

해당 도구는 무료로 배포 되는 도구로 Windows와 Mac OS X 버전이 존재한다. 해당 도구는 다른 도구들처럼 포렌식을 위해 개발 된 도구는 아니다. iTunes를 대체하기 위한 도구로 개발되었는데 모바일 장치의 접근이 Raw 파일시스템까지 되어 포렌식 업무를 수행하는데 있어 부족하지 않은 도구이다. 주소록의 데이터베이스만을 얻고 싶은데 사실 이 데이터베이스를 얻기 위해서는 데이터 파티션의 이미징 한 뒤 이미지 파일에서 해당 데이터를 추출해야 한다. 이는 시간이 많이 걸리고 번거로운 작업인데 해당 도구를 이용하면 원하는 파일만을 분석환경으로 가져 올 수 있다. 또한 GUI 환경과 사용자 어플리케이션의 파일까지 획득 가능 해 여러모로 도움이 되는 도구이다.


[그림 3 - i-funbox]


위에서 소개한 도구들 말고도 여러 도구들이 존재한다. 자신이 포렌식 업무를 수행하는데 있어 도구를 선택해야 할 때는 인터넷에 다른 사람이 해당 도구를 테스트한 결과나 도구 판매처에서 제공하는 정보, 지원기기 등을 세심히 살펴본 후 도구를 선택해야 한다. 또 도구를 선택 할 때 고가의 도구가 분석능력이 좋고 저가의 도구가 분석능력이 좋다는 선입견 또한 버려야 할 것이다.

'[+] Forensic' 카테고리의 다른 글

Exif 포맷의 사진 데이터 조작 여부 판단 방법  (3) 2012.09.15
Internet Explorer 10 Forensic  (0) 2012.09.09
iOS Forensic - (4)  (0) 2012.08.16
iOS Forensic - (3)  (0) 2012.08.15
iOS Forensic - (2)  (0) 2012.08.14

이전 글까지는 iOS의 분석을 위한 이미지 데이터 획득과 분석 방법에 대하여 아주 간단하게나마 알아보았었다. 하지만 이번 글에서는 잠시 그 이전으로 돌아가 모바일 장치를 획득 했을 때 조치하거나 확인해야 하는 부분들을 언급하고자 한다. 조사관이 모바일 장치를 얻었을 경우 포렌식으로서 가장 중요한 것은 무엇인가? 바로 분석 데이터 보존이 아닐까? Apple 社에서는 이와 반대되는 기능으로 원격에서 해당 장치의 데이터를 완전 삭제 할 수 있는 기능을 제공하고 있다. 이 기능을 사용하기 위해서는 MobileMe 계정이 필요한데 이 계정만 알고 있으면 어디서든지 자신의 모바일 장치 데이터를 완전 삭제 할 수 있다. 만약 조사관이 획득한 모바일 장치의 MobileMe 계정을 모바일 장치 주인뿐만이 아닌 배우자나 또 다른 누군가가 알고 있어 모바일 장치의 데이터를 완전 삭제 해 버린다면 그것은 모바일 장치를 습득하지 않은 것과 동일 할 수도 있고 더 나쁜 경우가 될 수도 있을 것이다. 또 데이터 삭제 뿐만이 아닌 비밀번호도 설정 할 수 있어 상당히 포렌식 관점에서 까다로운 기능이 아닐 수 없다. 이러한 이유로 모바일 장치를 습득했다면 우선순위로 MobileMe 계정을 비활성화 하는 것이 좋다.

또 모바일 장치의 무선네트워크를 차단하는 것도 중요하다. 무선 네트워크를 차단만 시킨다면 사실 위에서 설명한 MobileMe 계정을 이용한 데이터 삭제도 걱정하지 않아도 된다. 그러나 이 두 경우는 비밀번호가 걸려 있지 않아야 가능하다는 전제조건이 있다. 비밀번호가 걸려있는 모바일 장치를 획득하였다면 사실 가장 좋은 방법은 Faraday Bag과 같은 무선 전파를 차단 하는 상자에 모바일 장치를 넣어 물리적으로 네트워크 연결을 차단 시켜버리는 방법이다.


[그림 1 - Faraday Bag]


외국에서는 간단한 Faraday Bag 뿐만 아니라 USB 포트를 제공하는 Faraday Bag까지 제공 해 무선네트워크가 차단 된 상태로 분석을 수행 할 수 있게 끔 지원하고 있다.

모바일 장치를 획득 할 때 일반적 상황이라면 모바일 장치를 소유하고 있던 사람의 주변 디지털 기기들도 다 함께 수집을 할 것이다. 그 중에는 분명 PC도 포함되어 있을 것이다. 모바일 장치에 비밀번호가 설정되어 있고 모바일 장치의 소유자가 사용하던 PC도 수집 하였다면 정당한 범위내에서 모바일 장치의 비밀번호를 해제 할 수 있다.

비밀번호가 설정 된 모바일 장치가 컴퓨터에 연결 되면 각 운영체제 별로 특정한 디렉토리에 비밀번호와 관련된 Lock 인증서 plist 파일이 저장 된다. XML 형태의 plist 파일이어서 내용을 볼 수는 있지만 파일에 저장 된 비밀번호 데이터는 암호화가 되어 있어 평문으로 어떤 데이터인지는 확인을 하지 못한다. 하지만 잠금장치를 해제 하는데 사용하기에는 충분하다.


 - Mac OS X : /private/var/db/lockdown/

 - Windows XP : C:\Documents and Settings\%User Name%\Local Settings\Application Data\ Apple Computer\Lockdown

 - Windows Vista : C:\Users\%User name%\AppData\Roaming\Apple Computer\Lockdown

 - Windows 7 : C:\ProgramData\Apple\Lockdown


위 경로들에는 파일명이 해시 값인 plist 파일이 하나 있는데 그 파일이 Lock 인증서 파일이다. 해당 파일이 없을 경우 비밀번호가 걸린 모바일 장치는 iTunes에 연결 시 [그림 2]와 같은 대화상자가 나타난다.


[그림 2 - iTunes 동기화 실패]


Lock 인증서가 지정 경로에 포함되어 있을 땐 정상적으로 iTunes와 모바일 장치가 동기화 된다. 이를 이용 해 모바일 장치와 연결 되었던 컴퓨터에서 Lock 인증서를 복사 해 조사관 컴퓨터에 동일한 경로로 파일을 넣으면 정상적으로 분석 대상 모바일 장치를 조사관 컴퓨터의 iTunes에 동기화 시킬 수 있다.


[그림 3 - 정상적인 iTunes 동기화]

'[+] Forensic' 카테고리의 다른 글

Internet Explorer 10 Forensic  (0) 2012.09.09
iOS Forensic - (4)  (0) 2012.08.16
iOS Forensic - (3)  (0) 2012.08.15
iOS Forensic - (2)  (0) 2012.08.14
iOS Forensic - (1)  (0) 2012.08.13

[백업을 이용한 분석]

대부분의 기기(컴퓨터를 포함한 디지털 기기)들은 백업 기능을 기본적으로 지원한다. 물론 iOS를 탑재하고 있는 Apple 社의 기기들도 백업을 지원한다. 하지만 다른 일반 디지털 기기들과는 다르게 특정 프로그램으로 백업이 이루어지는 그 프로그램은 바로 iTunes라는 프로그램이다. iOS가 탑재 된 모바일 장치를 사용하기 위해서는 꼭 iTunes라는 프로그램을 사용 해야 한다.

만약, 분석하려는 모바일 장치에 Root 권한을 획득하지 못하는 상황이라면 포렌식 수행은 어떻게 해야 하는 것일까? 꼭 기술적인 문제가 아닌 법률적 문제로 인해 Root 권한을 얻지 못하는 상황이라면, 암호화 된 데이터를 어떻게 얻어 낼 수 있을까? 이때 이용하는 방법이 백업파일 분석 방법이다. iOS의 백업기능에서 기본적으로 백업을 하는 대상은 다음과 같다.


  • 연락처* 및 연락처 즐겨찾기(컴퓨터 또는 iCloud와 같은 클라우드 서비스로 연락처를 정기적으로 동기화하여 백업)
  • 응용 프로그램 내 구입을 포함한 App Store 응용 프로그램 데이터(응용 프로그램 자체, 응용 프로그램의 tmp 및 캐시 폴더 제외)
  • 응용 프로그램 설정, 환경설정 및 데이터(문서 포함)
  • 웹 페이지 자동 완성
  • CalDAV 및 등록된 캘린더 계정
  • 캘린더 계정
  • 캘린더 이벤트
  • 통화 기록
  • 카메라 롤(사진, 스크린샷, 저장된 이미지 및 촬영된 비디오. 2GB를 초과하는 비디오는 iOS 4.0 이상에서 백업됨)
    참고: 카메라가 없는 장비에서는 저장된 사진이 카메라 롤을 의미한다.
  • Game Center 계정
  • 홈 스크린 배열
  • 응용 프로그램 내 구입
  • 키체인(참고: 이메일 계정 암호, Wi-Fi 암호 및 웹 사이트와 일부 다른 응용 프로그램에 입력한 암호가 포함된다. iOS 4 이상에서 백업을 암호화할 경우 키체인 정보를 새로운 장비로 전송할 수 있다. 암호화되지 않은 백업의 경우에는 동일한 iOS 장비로만 키체인을 복원할 수 있다. 암호화되지 않은 백업을 사용하여 새로운 장비로 복원하는 경우 이 암호를 다시 입력해야 한다.)
  • 외부 동기화 소스 목록(Mobile Me, Exchange ActiveSync)
  • 사용자의 위치를 사용하도록 허용한 응용 프로그램 및 웹 사이트의 위치 서비스 환경설정
  • Mail 계정(메일 메시지는 백업되지 않음)
  • 관리되는 구성/프로파일. 백업을 다른 장비로 복원하면 구성 프로파일과 관련된 모든 설정(계정, 차단 또는 구성 프로파일을 통해 지정한 모든 설정)은 복원되지 않는다. 단, 구성 프로파일과 연관되지 않은 계정 및 설정은 정상적으로 복원된다.
  • 맵 책갈피, 최근 검색 및 맵에 표시된 현재 위치
  • Microsoft Exchange 계정 구성
  • 네트워크 설정(저장된 Wi-Fi 핫스팟, VPN 설정, 네트워크 환경설정)
  • Nike+iPod 저장된 운동 및 설정
  • 메모
  • 오프라인 웹 응용 프로그램 캐시/데이터베이스
  • 연결된 Bluetooth 장비(백업을 수행한 동일한 전화기로 복원된 경우에만 사용할 수 있음)
  • Safari 책갈피, 쿠키, 방문 기록, 오프라인 데이터 및 현재 열려 있는 페이지
  • 저장된 제안 수정(제안된 수정을 거부할 때 자동으로 저장됨)
  • 메시지(iMessage 및 네트워크 사업자 SMS 또는 MMS 사진이나 동영상)
  • 확인할 수 없는 인증서가 있는 신뢰할 수 있는 호스트
  • 음성 메모
  • 음성 사서함 토큰(음성 사서함 암호가 아니며, 연결 시 확인에 사용되고 SIM 카드의 전화 번호가 동일한 전화기로만 복원됨)
  • 배경화면
  • 웹 클립
  • YouTube 책갈피 및 재생 기록


백업 대상 데이터는 기본적으로 iOS에서 mobile 디렉토리에 저장되어 있는 데이터들이다. 백업 데이터들만 봐도 포렌식 관점에서 활용할만한 데이터가 많다는 것을 알 수 있을 것이다. 백업은 [그림 1]과 같이 iTunes에서 모바일 장치를 클릭한 후 백업기능을 선택하면 된다.


[그림 1 - 백업 기능]


iTunes는 자신이 설치 된 OS 별로 백업 파일을 저장하는 위치가 다른데 각 OS 별로 백업 파일이 저장되는 위치는 다음과 같다.


 - Mac OS X : ~/Library/Application Support/MobileSync/Backup/<해시 값>

 - Windows X : \Documents and Settings\(사용자 이름)\Application Data\Apple Computer\MobileSync\Backup\<해시 값>

 - Windows Vista/7 : \Users\(사용자 이름)\AppData\Roaming\Apple Computer\MobileSync\Backup\<해시 값>


저장되는 이름이 디렉토리부터 해시 값으로 저장되는데 그 안에 저장되는 파일들 또한 해시 값으로 저장이 되어 한눈에 어떤 파일을 어떻게 분석해야 할지 파악하기가 어렵다. 또 모두 동일한 파일 포맷이 아닌 어떤 파일은 text, 또 어떤 파일은 plist, sqlite 등의 포맷을 가지고 있어 먼저 파일 포맷을 확인한 후 그에 맞는 분석을 수행해야 한다.

Mac OS X의 경우 file 명령어로 전체 파일의 포맷을 간단히 확인 할 수 있고 Windows의 경우 HexViewer로 시그니처를 확인하여  파일 포맷을 확인 할 수 있다.


[그림 2 - Mac OS X에서의 파일 포맷 확인]


[그림 3 - Windows에서의 파일 포맷 확인]


 - [plist 파일 분석]

[그림 3]에서 확인한 파일 포맷의 시그니처는 bplist로 Binary Property List(plist)를 뜻하는 것을 알 수 있다. 해당 파일 포맷은 바이너리화 되어 있기 때문에 XML 포맷이나 텍스트 포맷으로 변환을 해주어야 분석이 가능하다. 물론 Mac OS X에 존재하는 bplist 파일 포맷의 파일도 마찬가지이다. Mac OS X는 이러한 변환을 커맨드라인 도구로 지원하고 있는데 이 도구는 plutil이라는 도구이다. 해당 도구의 -convert 옵션을 사용하면 XML이나 텍스트 포맷으로 변환이 가능하다. 간단히 이 도구의 사용법만 소개하고 다른 도구 설명으로 넘어가도록 하겠다.


 - plutil -convert <변환할 포맷> <변환할 plist>

   ex) plutil -convert xml1 test.plist


plutil 말고 GUI 형태로 동작하는 도구로는 Windows에는 Property List Viewer라는 도구가 있고, Mac OS X에서는 Property List Editor가 있다. Windows의 Property List Viewer를 예를 들어보도록 하겠다. 해당 도구는 바이너리 형태의 plist를 자동으로 xml 형태로 변환하여 출력하여 준다.


[그림 4 - [그림 3]의 plist를 Viewer로 출력한 화면]


[그림 3]에서 봤을 때는 일부 문자만 식별가능 했을 뿐 자세한 내용은 바이너리 코드로 인해 식별이 불가능하였다. 하지만 해당 도구가 자동으로 xml 형태로 변환하여 출력 해 쉽게 분석이 가능한 것을 볼 수 있다. 백업 파일중에서는 plist 파일 말고도 sqlite 파일도 다수 존재하는데 해당 파일도 plsit와 동일하게 전용 Viewer로 열어 일반 DB를 분석하는 것처럼 테이블과 칼럼을 분석하면 된다.


사용자 데이터를 Root 권한 없이 획득 할 때, 사용자 데이터만 분석하려 하는 경우에는 백업 파일을 분석하는 방법이 가장 효율적인 방법일 것이다. 하지만 실제 포렌식 수행 과정에서 삭제 된 파일에 중요 데이터가 없다고는 단정 지을 수 없는 것이 사실이다. 그렇기 때문에 결국 데이터 파티션의 이미징은 필수라고 볼 수 있다. 하지만 만약 포렌식 수행의 목적이 SMS 메시지에서 의뢰인이 말한 어떤 메시지를 찾는 것이라면 SMS sqlite 파일에서 삭제 된 레코드나 저장 된 레코드를 분석하는 것이 목적이므로 데이터 파티션 이미징은 하지 않아도 될 것이다. 이렇듯 각 상황의 목적에 맞게 분석방법을 선택해 분석하는 것이 가장 이상적인 포렌식 분석 수행이 될 것이다.


'[+] Forensic' 카테고리의 다른 글

iOS Forensic - (4)  (0) 2012.08.16
iOS Forensic - (3)  (0) 2012.08.15
iOS Forensic - (2)  (0) 2012.08.14
iOS Forensic - (1)  (0) 2012.08.13
Skype Forensic  (0) 2012.08.07

요즘은 대부분 스마트폰 하나씩은 가지고 있다. 안드로이드폰이 되었던 아이폰이 되었던 대부분은 스마트폰이라는 범주안에 포함되는 휴대용 전화기를 가지고 있으며 더 나아가서는 태블릿 PC라는 것도 가지고 있다. 이처럼 사람과 가장 밀접한 관계를 가진 기기들은 당연히 밀접한 관계인 사람의 정보를 가지고 있기 마련이다. 이러한 점을 해커들도 모르고 있지 않다. 그래서 요즘은 스마트폰에 관한 공격이 끊이지 않고 있고 연구 또한 계속되고 있다. 얼마전까지만 하더라도 연구로 그치던 공격들이 실제 사용되고 피해도 생기고 있으며 현재 스마트폰 악성코드는 기하급수적으로 그 수가 늘어나고 있다. 그래서 침해사고에 관한 포렌식을 수행 할 경우 특정인물과 관련된 정보를 얻고자 할 때 스마트폰을 분석하게 된다. 스마트폰의 포렌식 수행 절차는 사실 표준으로 정해져 있지 않다. 또 스마트폰 분석을 하기 위해서는 스마트폰에서 지원하는 암호화를 해제하거나 우회해서 암호화 되어 있던 데이터를 복호화 해 분석 결과를 도출 해 낼 때 도움이 될만한 정보를 찾아야 한다. 이러한 면에서 보면 지금까지 알고 있던 법적 측면에서 상이한 것이 사실이다. 암호화를 해제하거나 우회하는 과정에서 스마트폰 데이터의 무결성이 보장받지 못할 수 있기 때문이다. 하지만 현재까지는 이러한 측면보다 증거를 얻었다는 측면이 더 강하게 작용한다.

iOS는 Apple 社에서 만든 iPhone, iPod, iPad 장비에 모두 탑재 되는 운영체제이다. 현재 버전은 5.x 버전까지 나왔으며 앞으로 6.x 버전이 출시 예정이다. 그리고 iOS에서는 HFSX 파일시스템을 채택해 사용하고 있다. HFSX는 HFS+의 변형 파일시스템으로 현재 파일시스템 도구로 널리 알려진 소프트웨어로 분석이 가능하다.




[iOS 이미지 덤프]

iOS 이미지를 분석하기 위해서는 덤프하려는 장치(iPhone, iPod, iPad)의 Root 권한을 획득해야만 한다. 원래대로라면 장치의 계정은 Mobile 계정으로 Root 권한이 아니다. 하지만 현재 유명한 Jailbreak라는 Root 권한 획득 프로그램으로 권한 획득이 가능하다. 이 점은 기존 포렌식과 조금 상이한 부분이지만 현재로서는 어쩔 수 없는 부분이므로 대부분 수용되어지는 부분이다. 그렇기에 다음에 소개 할 이미징 방법도 Root 권한 획득 상태라는 가정하에 진행된다.

사실 Root 권한을 획득하지 않고 이미지를 덤프할 수도 있다. 또 분석도 어느정도는 가능하다. 하지만 분석의 한계가 너무 높기 때문에 사실상 얻을 만한 데이터는 거의 없다. iOS의 경우 사용자의 정보들이 들어 있는 파티션인 Data 파티션이 암호화가 되어 있기 때문이다. 당연히 사용자의 정보를 암호화 하는 것은 옳은 일이지만 포렌식 측면에서 볼 때는 달갑지 않은 일이다.

이제부터 이미징 과정을 하나씩 살펴보자. 장치의 Root 권한을 획득했다면 SSH를 설치 할 수 있게 된다. SSH를 설치 하고 Mac OS X에서(가능하다면) 장치로 ssh를 이용 해 접속한다.


 - ssh root@<장치 IP>

 - password : alpine


[그림 1 - ssh 접속]


 * 참고 : 장치의 IP는 장치의 wifi 설정에서 확인 할 수 있으며, 패스워드는 alpine으로 1세대 iOS부터 사용 되어왔던 패스워드이다.


접속 후 덤프해야 할 파티션을 확인해야 한다. 파티션 확인은 Unix 명령어인 df를 이용 해 가능하다. 


[그림 2 - 덤프 대상 파티션 확인]


파티션을 보면 disk0s1s1과 disk0s1s2로 나누어져 있는 것을 볼 수 있는데 이 파티션들은 원래 disk0이라는 물리적 디스크에서 논리적으로 나뉜 슬라이스들이다. 두 파티션을 따로 나누어 덤프를 해도 좋고 disk0을 덤프해도 좋다.

disk0s1s1은 OS 파티션으로 OS에서 사용되는 데이터들이 위치하고 있는 파티션이고 disk0s1s2는 Data 파티션으로 사용자 정보가 위치하고 있는 파티션이다. 일단 필자는 용량이 상대적으로 적은 disk0s1s1을 덤프 할 것이다. ssh 도움말을 보면 접속 했을 때 접속 한 후 바로 명령을 실행 할 수 있게 끔 하는 인자를 지정 할 수 있는 것을 확인 할 수 있다.


[그림 3 - ssh 접속 시 명령 인자]


이 인자를 이용 해 덤프를 시도 할 것이다. 다음과 같이 dd를 이용 해 덤프 할 파티션을 열고 해당 파티션의 내용을 로컬 파일로 저장하게끔 명령을 내리면 된다.


 - ssh root@<장치 IP> dd if=/dev/rdisk0s1s1 bs=1M | dd of=ipad_system.img


[그림 4 - ssh와 dd를 이용한 덤프]


여기서 한가지 알아두어야 할 사실이 있다. 파티션을 확인 했을 땐 /dev/disk0s1s1 이었는데 왜 dd 인자로는 /dev/rdisk0s1s1일까? 그 이유는 블록장치파일과 문자장치파일의 차이 때문이다. 블록장치는 데이터에 접근 할 때 블록단위로 접근하지만 문자장치 파일은 데이터에 접근 할 때 섹터단위로 접근하게 된다. 이러한 이유로 인해 덤프와 같은 세밀한 작업을 수행 할 때에는 섹터 단위로 접근하는 문자장치파일을 사용한다.

덤프가 완료되면 우리가 흔히 볼 수 있는 dd 결과가 출력된다. dd 포맷은 일반 파일시스템 분석 도구로도 충분히 분석 가능한 포맷이다. [그림 5]는 AccessData의 FTK로 불러 왔을 때의 모습이다.


[그림 5 - AccessData FTK 분석 화면]


dd 포맷은 분석은 가능하지만 파티션의 정보를 얻기에는 무리가 있는 포맷이다. 파티션 정보를 얻기 위해서는 Mac OS에서 지원하는 hdiutil 도구를 이용 해 얻는 것이 가장 신뢰성있는 방법인데 해당 도구는 dmg라는 iOS의 고유 포맷만을 지원한다. 그래서 dd 포맷을 dmg 포맷으로 변환해 주어야 한다. Mac OS에서는 이러한 변환을 위해 디스크 유틸리티라는 프로그램을 통해 해당 기능을 지원한다.


[그림 6 - 디스크 유틸리티 변환 기능]


변환기능을 이용하면 dmg 포맷의 이미지가 생성되는데 해당 이미지를 hdiutil을 이용해 분석하면 된다. 파티션의 위치 오프셋과 여러 정보를 얻을 수 있는데 pmap과 imageinfo 라는 옵션이 사용된다.


[그림 7 - hdiutil pmap]


사실 이 명령은 지금은 볼 결과가 별로 없어보이지만 물리적 디스크를 덤프 하였을 때 그 효과를 발휘한다. 물리적 디스크에서 각 슬라이스가 어느 지점에서 시작하고 끝나는지를 알려주기 때문에 아주 유용하게 사용 할 수 있다.


[그림 8 - hdiutil imageinfo]


imageinfo 옵션의 경우 이미지의 전체적인 정보를 출력하여 준다. 해당 옵션도 사실은 disk0을 분석 할 때 그 효과가 나타나지만 지금의 경우도 얻을 수 있는 정보는 많이 있다. 이렇게 파티션의 정보를 조금이라도 안다면 분석하는데 있어 도움이 되는 것은 분명하다. 



[시스템 파티션]

이번에는 시스템 파티션에 대해서 알아보자. 시스템 파티션은 iOS가 필요로 하는 파일과 디렉토리로 구성되어 있다. 각 디렉토리의 역할을 한번 알아보도록 하겠다.


[그림 9 - 시스템 파티션의 디렉토리 목록]


[표 1]는 [그림 9]에서 보여지는 시스템 파티션의 디렉토리 목록을 간략하게 설명 해 놓은 표이다.


[표 1 - 시스템 파티션 디렉토리 설명]


비어있는 디렉토리는 이전 세대에서 사용되었던 디렉토리이거나 앞으로 사용 될 수 있는 디렉토리이다. 어떤 디렉토리나 파일을 포함하고 있는 디렉토리들의 내용들을 보면 직관적으로 이 하위 디렉토리들이 어떤 역할을 하는지 쉽게 알 수 있다. 모든 디렉토리의 하위 디렉토리, 파일들을 설명하다보면 끝이 없으므로 시스템 파티션의 설명은 여기서 끝마치도록 하겠다.


[데이터 파티션]

데이터 파티션은 사용자가 사용하는 어플리케이션과 사용자가 생성한 정보가 위치하는 파티션이다. 해당 파티션은 기본적으로 암호화가 되어 있지만 Root 권한을 획득한 이상 더이상 암호화 되어 있는 파티션이 아니다. 데이터 파티션은 /private/var/ 디렉토리에 마운트 되어 있으며, 대부분의 포렌식 관점의 데이터는 데이터 파티션에서 찾을 수 있다. 


[그림 10 - 데이터 파티션 디렉토리 목록]


[표 2]는 [그림 10]에서 보여지는 데이터 파티션의 디렉토리 목록을 간략하게 설명 해 놓은 표이다.


[표 2 - 데이터 파티션 디렉토리 설명]


데이터 파티션에서 포렌식 관점에서 의미 있는 데이터는 다음과 같다. 


 - Keychains : keychain.db

 - logs : General.log, Lockdownd.log

 - wireless, tmp, run, log, mobile 디렉토리


keychains 디렉토리의 keychain.db는 여러 어플리케이션의 사용자 패스워드가 저장되어 있는 파일이고 logs 디렉토리의 General.log는 OS 버전과 시리얼 번호를 포함하고 있으며, Lockdownd.log는 잠금 데몬의 로그기록을 가지고 있는 로그 파일이다. Wireless 디렉토리는 무선 연결과 관련된 설정을 포함하고 있기 때문에 접속 추적에 관해 용이한 데이터를 제공하며, tmp는 원본이 없더라도 임시 파일이 있을 수 있어 유용하게 사용되는 디렉토리이다. run 디렉토리는 시스템 로그 분석 시 데이터를 제공하는 디렉토리이고, mobile 디렉토리는 사용자의 어플리케이션 데이터 및 사용자 데이터가 위치 하기 때문에 여러모로 중요한 데이터들이 위치하고 있는 디렉토리이다.

'[+] Forensic' 카테고리의 다른 글

iOS Forensic - (3)  (0) 2012.08.15
iOS Forensic - (2)  (0) 2012.08.14
iOS Forensic - (1)  (0) 2012.08.13
Skype Forensic  (0) 2012.08.07
[Forensic Case] 기업 문서 유출 사건  (0) 2012.08.05

+ Recent posts