본문 바로가기
조회 수 3606 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

+ - Up Down Comment Print Files
?

단축키

Prev이전 문서

Next다음 문서

+ - Up Down Comment Print Files

맥 OSX 기반의 디지털 포렌식 증거와 툴 동향 분석


http://www.google.com.sg/url?sa=t&rct=j&q=&esrc=s&source=web&cd=3&ved=0CCkQFjAC&url=http%3A%2F%2Fwww.kosen21.org%2Fwork%2F03_information%2F0302_gtbReports%2Ffile_download1.jsp%3Fbid%3D0000000759941%26filename%3D%25EC%25A3%25BC%25EA%25B0%2584%25EA%25B8%25B0%25EC%2588%25A0%25EB%258F%2599%25ED%2596%25A51528-01.pdf%26year%3D2013&ei=tQdRVIDlGYLZmgXW1oCoCA&usg=AFQjCNH4gogIuesR_eSUybHhvQ8x2h1bTQ&bvm=bv.78597519,d.dGY&cad=rja


------------------8<--------------------

#######

# 기본

#######


** 디지털 포렌식의 각 절차마다 활용되는 기술은 <표 1>과 같다.

01.png

- 대부분의 포렌식 툴들은 윈도와 리눅스를 지원하고 있으나, 맥 OSX를 지원하는 포렌식 툴은 상대적으로 적은 편이다.



######################

# 맥 OSX 의 포렌식 증거들

######################


** 맥 OSX 파일 시스템의 포렌식 증거들

HFS+는 맥 OS X 에서 사용되는 파일 시스템으로, 이전의 맥 운영체제에서 사용하는 HFS(Hierarchical File System)의 다음 버전이다. HFS+는 저널링을 지원하는 HSFJ 와 파일 이름에서 대문자와 소문자를 구분하는 HFX 등이 있다.


가. HFS+의 구조

볼륨 헤더(volume header)는 HFS+ 볼륨의 핵심 구조들 중의 하나로서, 할당 블럭 크기(allocation block size), 볼륨 생성 타임 스탬프, HFS+ 연산을 위해 요구되는 특별 파일들의 위치 등 파일 시스템에 관한 정보들을 저장한다. 볼륨 헤더는 볼륨의 시작 부분에서 1,024 byte 만큼 저장되어 있으며, 백업 복사본은 볼륨의 끝 부분 전에 1,024 byte 만큼 저장되어 있다.


나. HFS+의 특별한 파일들

HFS+는 MFT 와 같이 볼륨에 몇 개의 숨김(hidden) 파일을 저장한다. 각 파일들은 다음과 같다.

- 할당 파일(allocation file): 볼륨의 모든 블럭의 할당 상태를 나타낸다.

- 카탈로그 파일(catalog file): 볼륨의 모든 파일과 디렉토리의 레코드를 저장한다.

- 익스텐트 오버플로우 파일(extents overflow file): 포크들의 레코드를 저장한다.

- 스타트업 파일(startup file): HFS+가 없는 시스템을 부팅할 때 필요한 정보를 저장한다.

- 속성 파일(attribute file): 파일들의 확장된 속성들을 저장한다.



** 맥 OSX 의 포렌식 증거들


가. 프로퍼티 리스트

OSX의 많은 정보들은 프로퍼티 리스트(Property Lists) 또는 .plist 파일에 저장된다. 프로퍼티 리스트 파일은 일반 텍스트 plist 파일과 바이너리 plist 파일로 분류된다. 일반 텍스트 plist 파일은 XML 형태로 구성되어 있으며, 바이너리 plist 파일은 분석하기 위해서 일반 텍스트 형태로 변환해야 한다. plutil 유틸리티로 plist 파일의 정보를 손쉽게 볼 수 있다.


나. 번들

OSX 에서 애플리케이션들은 직접 실행되지 않고, 번들(Bundles)이라고 불리는 특별한 디렉토리 안에 존재하며 그 내용은 숨겨진다. 애플리케이션 번들을 클릭하면 애플리케이션이 실행되지만, 실제 실행 코드는 번들 디렉토리 안에 존재한다.

애플리케이션 번들은 .app 확장자를 가진 하나의 디렉토리이며, 여러 개의 서브 디렉 토리들을 가진다. 실제 실행 코드는 MacOS 디렉토리에 존재한다.


다. 시스템 스타트업과 서비스들

시스템 부팅시 부트로더는 OSX 커널(/mach_kernel)을 부트한다. 이 커널은 launchd 프로세스를 실행시킨다. launchd 는 init 의 역할을 수행한다.

표준 스타트업의 위치는 다음과 같다.

- /Library/LaunchAgents: administrator 에 의해 제공되는 Per-user agents

- /Library/LaunchDaemons: administrator 에 의해 제공되는 System-wide daemons 

- /System/Library/LaunchAgents: 맥 OSX 에 의해 제공되는 Per-user agents

- /System/Library/LaunchDaemons: 맥 OSX 에 의해 제공되는 System-wide daemons


라. Kexts

OSX 는 커널에 추가적인 기능을 로드할 수 있는 커널 익스텐션(kernel extensions)이라 하는 기능을 가지고 있다. 커널 익스텐션은 kext 확장자를 가진 번들이며, /System/Library/Extensions 디렉토리에 존재한다.


마. 맥 네트워크 구성

로컬 시스템의 네트워크 구성 정보는 /Library/Preference/SystemConfiguration 디렉토리에 다양한 plist 파일로 저장된다.

preferences.plist 파일은 위치 관련 네트워크 프로파일 정보, 네트워크 인터페이스의 일반적인 설정사항들을 가지고 있다.


바. 스왑(Swap) 파일과 하이버네이션 데이터(Hibernation Data)

OSX 는 스왑 파일과 하이버네이션 데이터를 /private/var/vm 디렉토리에 저장한다. 스왑 파일은 1 에서 10 까지의 스왑 파일로 저장된다. 하이버네이션 데이터는 슬립 이미지 파일로, 시스템이 슬립 모드로 들어갈 때의 메모리의 복사본을 저장한다.


사. 시스템 로그

OSX 는 시스템 로그 파일들을 /private/var/log 파일에 저장한다. 다음은 중요한 시스템 로그 파일들이다.

- fsck_hfs.log: 모든 HFS/HFS+/HFSX 볼륨의 레코드를 저장한다.

- system.log: 리눅스의 메시지 파일과 같이 모든 로그를 저장한다.

- secure.log: 스크린 세이버의 언락(unlock)이나 SSH 액세스와 같은 시스템 인증에 관한 정보를 저장한다.



** 맥 OSX 의 사용자 관련 포렌식 증거들

모든 사용자는 /private/var/db/dslocal/nodes/Default/users/ 디렉토리에 사용자 계정과 같은 이름의 plist 파일을 가진다. 이 파일은 리눅스의 /etc/passwd 파일과 같이 사용자 쉘의 경로, 사용자의 이름, UID 등 사용자의 기본적인 정보를 포함한다. 그룹 정보는 /private/var/db.dslocal.nodes/Default/groups/ 디렉토리에 존재한다.

admin.plist 파일을 통해 주어진 사용자가 관리자인지 ‘root’ 권한을 가졌는지 알 수 있다.

 Library/Preferences/com.apple.loginwindow.plist 파일은 시스템에 로그인한 마지막 사용자에 대한 정보를 제공한다.


가. 사용자의 라이브러리

사용자의 라이브러리는 사용자 행위와 관련된 여러 가지 정보들을 포함하고 있다.

- com.apple.quicktimeplayer.plist 파일은 QuickTime 으로 오픈한 비디오 파일들의 리스트를 나타낸다.

- com.apple.recentitems.plist 파일은 최근에 오픈한 파일이나 최근에 액세스한 파일 서버의 정보를 나타낸다.

타임스탬프는 제공하지 않는다.

- com.apple.finder.plist 파일은 파인더 애플리케이션의 주요 참조 파일이다. 이 파일은 다양한 키 엔트리(entry)들을 포함하고 있다. FXConnectToLastURL 키는 파인더를 통해 연결한 마지막 서버의 전체 경로를 나타낸다.

- FXDesktopVolumePositions 키는 이전에 시스템에 마운트된 볼륨의 마운트 포인트와 볼륨 이름들을 제공한다.

- FXRecentFolders 키는 사용자가 최근에 본 디렉토리 정보를 나타낸다.

- com.apple.iPod.plist 파일은 시스템에 최근에 접속된 디바이스의 리스트를 나타낸다.



####################

# 맥 OSX 용 포렌식 툴

####################


1. Goldfish

Goldfish 는 맥 OSX 용 라이브 포렌식 툴이다. 파이어와이어 케이블을 연결하여 타깃 컴퓨터의 시스템 RAM 의 내용을 복사하는 기능을 제공한다. 로그인 패스워드와 오픈된 AIM 대화 단편들을 추출할 수 있다. Goldfish 는 사이버범죄 수사를 위해 UCD 센터의 Afrah Almansoori 의 프로젝트에서 시작되었다.


2. Mac Marshal

Mac Marshal 은 맥 OSX 파일 시스템 이미지를 분석하는 툴로서 맥 OSX 에서 자동으로 포렌식 증거를 추출한다. 맥 디스크를 스캔하고, 맥과 윈도즈 운영체제, 가상 머신 이미지 등을 탐지하여 보여준 후, 맥 OSX 와 애플리케이션에 의해 생성된 포렌식 증거들을 추출하는 분석 툴들을 실행시킨다.

Mac Marshal 은 맥 OSX 와 맥 OSX 용 애플리케이션에 의해 작성된 파일들을 분석한다.


3. Mac Memory Reader

Mac Memory Reader 는 의심스런 컴퓨터의 램의 내용을 캡처하는 유틸리티이다. 컴퓨터가 종료(shutdown)되기 전에 휘발성(volatile)의 상태 정보를 수집한다. 결과는 Mach-O 이진(binary) 파일로 저장된다.

Mac Memory Reader 는 맥 OSX 10.4~10.7 에서 실행된다.


4. MacForensicsLab

MacForensicsLab 은 디스크 이미지 복사본뿐만 아니라 원래의 디바이스나 미디어에서도 동작한다. 이러한 획득 기능은 의심스러운 드라이브의 증거에 대한 무결성을 제공한다.

MacForensicsLab 은 여러 개의 개별적인 기능들을 하나의 애플리케이션으로 제공한다. 포렌식이 수행되는 동안 자동으로 문서를 작성하는 기능을 제공한다. 증거의 무결성, 키워드 분석, 카탈로그 작성, 데이터 복구 기능 등이 제공된다.


5. BlackLight

BlackLight 는 맥 OSX 컴퓨터, 아이폰, 아이패드를 위한 맥 OSX, iOS 용 디지털 포렌식 수사 툴이다. 맥 OSX Leopard 와 윈도 XP 이상에서 실행되며, 맥 OSX 10.0.x~10.7.x (Lion), iOS 1.x~iOS 5.x 의 운영체제를 분석한다.

다양한 포렌식 이미지 파일들(.dmg/001, EnCase(EWF-E01), SMART(EWF-S01))을 지원하며, 아이폰이나 아이패드 포렌식 이미지도 지원한다.

SMS, 보이스 메일, 노트, 전화 히스토리 맵, 캘린더, 주소록 파일들, 애플과 제3자 애플리케이션의 확인 및 분석 등 아이폰이나 아이패드의 시스템 파일과 애플리케이션에 대한 분석도 지원한다.

아이폰이나 아이패드의 삭제된 SQLit 데이터베이스 파일의 복구도 가능하다.


6. MacQuisition

MacQuisition 은 맥을 위한 포렌식 이미징 솔루션을 제공한다. USB 동글을 통해 부팅을 지원하여 특정 시스템의 포렌식 이미지를 생성할 수 있으며, 맥북 에어도 지원한다.


7. 맥 OS X 기반의 포렌식 툴들의 분석

지금까지 맥 OS X 기반의 포렌식 틀들의 특징을 살펴보았다. <표 2>는 이를 기반으로 맥 OS X 기반의 포렌식 툴들을 비교, 분석한 것이다. 라이브 시스템의 메모리를 덤프하는 툴로는 GoldFish, Mac Memory Reader 등이 있으며, 파일 시스템 이미지 분석 툴로는 Mac Marshal, MacFroensicsLab, Black Light, MacQuisition 등이 있다. 대부분의 맥 OS X 기반의 포렌식 툴들이 라이브 시스템 메모리 덤프와 파일 시스템 이미지 분석 분야에 한정되어 있다. 이는 맥 기반 이외의 윈도나 리눅스 기반의 포렌식 툴들이 다른 기능들을 손쉽게 지원하는 툴들을 많이 제공하고 있기 때문이다.


02.png


------------------8<--------------------



Designed by sketchbooks.co.kr / sketchbook5 board skin

나눔글꼴 설치 안내


이 PC에는 나눔글꼴이 설치되어 있지 않습니다.

이 사이트를 나눔글꼴로 보기 위해서는
나눔글꼴을 설치해야 합니다.

설치 취소

Sketchbook5, 스케치북5

Sketchbook5, 스케치북5

Sketchbook5, 스케치북5

Sketchbook5, 스케치북5