[Digital Forensic] Live Response (실시간 대응) (3)
(7) Mac OS X 휘발성 정보 수집
-
Mac OS X는 Apple사에서 개발한 운영체제이며 그 기반으로 Unix를 두고 있음
-
해당 OS에서의 휘발성 정보들은 다른 OS들의 휘발성 정보와 대부분 동일하며 수집 방법만 조금 다름
-
버전별로 조사관이 원하는 데이터를 저장하고 있는 파일 위치가 다르기 때문에, 조사관은 데이터 수집 대상의 Mac OS X 버전을 확인, 버전에 따라 수집할 데이터의 위치 파악 필요
-
Unix를 기반으로 두기 때문에 대부분의 Unix 명령어가 동일하게 적용되며, Linux에서도 동일하게 휘발성 정보 수집 가능
1) 시스템 시간
-
Windows 경우 date와 time 명령어 조합을 이용하여 시스템 현재 시간 정보를 수집하였는데, Mac OS X도 동일하게 date 명령어로 수집 가능
-
또한 해당 시스템이 얼마나 부팅되어 있었는지도 확인 가능하며 이때 사용하는 명령어는 uptime 명령어
-
시스템 시간은 어떤 사건의 발생 시점 & 끝난 시점과 같은 기준점이나 범위를 구분지어 주어 굉장히 중요한 정보
2) 네트워크 연결 정보
-
현재 시스템이 연결하고 있는 호스트와 연결했던 호스트 등을 보여줌
-
시스템 재시작이나 종료되면 해당 정보는 모두 삭제되어 휘발성 정보에 속함
-
Windows에서는 netstat -an 명령어로 수집했었는데 Mac OS X 또한 동일
3) 프로세스 목록
-
어떤 OS에서든지 프로세스 목록 수집은 중요 (루트킷이나 백도어의 프로세스가 실행되고 있을 수 있기 때문)
-
프로세스 목록은 ps 명령어로 수집 가능하며, 보통 사용 옵션은 -ef 옵션이다.
4) 사용자 정보
-
Mac OS X는 유닉스를 기반으로 하고 있으며, 유닉스는 다중 사용자 시스템으로 여러 사용자들이 동시 접속하여 어떤 기능 수행이 가능
-
그렇기에 현재 접속한 사용자들을 알아볼 수 있으며 이 정보는 시스템 전원이 Off되는 순간 삭제
-
꼭 현재 접속 기록이 아닌 이전 접속 사용자 기록 또한 볼 수 있으며, 현재 접속 사용자 정보 명령어는 w(who), 현재 원격 & 로컬 사용자 정보는 finger가 있고, 옵션으로는 -lmsp가 있음
-
이전 접속 사용자 정보에 대한 명령어는 last 명령어가 있음
5) 파일 정보
-
현재 어떤 파일이 어떤 명령으로 인해 열려 있고, 어떤 네트워킹 작업을 하고 있는지 수집할 수 있는 명령어는 lsof가 있으며, 옵션으로는 -i, -P 옵션이 있음
6) 시간 정보
-
포렌식에서 어떤 대상을 분석하던 시간은 정말 중요한 정보이며 사건의 기준이 됨
-
Mac OS X도 다른 OS나 파일 시스템과 동일하게 MAC(Modify, Access, Create) Time이 존재, 여기에 추가로 Change Time이 존재 (HFS+ 파일 시스템에서 시간 정보는 Catalog File의 파일 레코드에 존재)
종류 |
설명 |
Modify Time |
파일 내용을 수정한 경우(메타데이터 수정 포함) 갱신 |
Access Time |
파일을 읽거나 실행한 경우 갱신 |
Create Time |
파일이 생성된 시간을 의미 |
Change Time |
파일의 메타데이터가 수정된 경우 갱신(Change Time이 갱신될 경우 Modify Time도 같이 갱신) |
-
stat 명령어로 시간을 확인해보면 Access, Modify, Change, Create Time순으로 출력 됨
-
사용자가 파일이나 디렉토리에 변경 / 접근 / 어떠한 행위 하게 되면 시간 값들은 업데이트 되어 특정 사건의 특정 행동 기준점을 세울 수 있게 도와줌
7) Property List
-
Mac OS X는 다른 OS와 다르게 프로퍼티 리스트(plist)라는 파일들이 존재
-
해당 파일은 실행되는 어플리케이션 정보들이 저장되는 파일이며, 일반 TEXT와 실행 파일 두 개의 종류로 나뉨
-
Text 파일은 xml 형태로 되어 있으며, 실행 파일은 xml 형태로 되어 있지 않으나 plutil 명령어를 이용하여 xml 형태로 변형시키기 가능
7-1. Property List (네트워크 정보)
-
네트워크 정보를 볼 수 있는 plist 파일은 /Library/Preferences/SystemConfiguration 폴더에 존재
-
포렌식 관점에서 주목해야 할 파일은 preferences.plist와 com.apple.network.identification.plist가 있음
-
preferences.plist 파일은 네트워크 일반 정보(인터페이스 카드 정보, 컴퓨터 이름 등)가 저장되어 있음
-
com.apple.network.identification.plist 파일은 네트워크 정보의 히스토리(이전에 할당 받았던 IP 주소 등)를 저장하고 있음
7-2. Property List (사용자 정보)
-
사용자 정보 또한 plist 파일로 저장되며, /private/var/db/dslocal/nodes/Default/users/ 폴더에 사용자 계정명과 동일하게 저장
-
사용자 정보 관련 파일들은 /etc/passwd 파일과 동일하게 사용자 쉘, 권한, 홈 디렉토리 등을 저장
-
해당 파일들은 일반 text 프로퍼티 리스트 파일이 아닌 실행 프로퍼티 파일이라 plutil 명령어로 변환해 주어야 분석 가능
-
xml 파일로 변환 시 -convert xml1 옵션 / 바이너리 파일로 변환 시 -convert binary1 옵션 사용
7-3. Property List (그룹 정보)
-
사용자 정보가 아닌 그룹 정보는 Default/groups 폴더에 존재
-
admin.plist 파일은 root 권한이 어떤 사용자에게 부여되었는지 기록되는 파일
-
시스템에 마지막 로그인한 사용자 저장 파일은 /Library/Preferences/com.apple.loginwindow.plist 파일
7-4. Property List (최근 접근한 어플리케이션)
-
사용자가 최근 접근한 어플리케이션 정보 저장 plist 파일은 com.apple.recentitems.plist
-
위치는 /Users/<사용자 이름>/Library/Preferences에 위치하며 파일 서버 접근 정보도 포함
-
어플리케이션 정보 저장 plist 파일은 접근 시간, 즉 타임 스탬프를 제공해주지 않아 해당 정보만을 가지고 특정 시점에 접근된 파일을 찾기에는 무리가 있음
7-5. Property List (디스크 이미지)
-
해당 시스템에서 사용자가 오픈한 디스크 이미지 전체 경로 포함 plist 파일은 com.apple.DiskUtility.plist이고 위치는 recentitems.plist 파일과 동일
-
FXConnectToLastURL Key : 어플리케이션이 마지막으로 연결하였던 파일 서버의 전체 주소 제공
-
FXDesktopVolumePositions Key : 시스템에서 이전에 마운트되었던 볼륨명과 마운트 포인트명 제공
-
FXRecentFolders Key : 사용자가 최근에 보거나 접근한 디렉토리 정보 제공
7-6. Property List (연결 디바이스 정보)
-
포렌식 수행 과정에서 연결된 디바이스들의 정보 중 가장 관심이 가는 것은 당연 이동식 저장 장치이고, 이 정보는 kernel.log에 저장
-
또 다른 연결 디바이스 정보들은 com.apple.iPod.plist에 저장
-
kernel.log는 /var/log 디렉토리에 위치하며, 당연히 외부 장치형 디바이스의 연결 정보만 저장하는 것이 아니기에 특정 키워드로 검색해야 함
-
특정 키워드는 'USBMSC' 이다.
-
출력 정보에 대한 내용은 날짜 및 시간 / 연결 디바이스 타입 / Serial Number / Vender ID / Product ID / Firmware Version이 있음
-
해당 파일은 /Users/<사용자 이름>/Library/Preferences 디렉토리에 있으며 해당 파일에는 여러 디바이스 리스트와 연결 시각 등 kernel.log와 거의 유사한 정보들이 목록화 되어 있음
지금까지 Mac OS X에서 휘발성 정보를 알아보고 수집하는 방법을 알아보았다.
Mac OS X나 유닉스, 리눅스 경우 Windows와 다르게 대부분 쉘 명령어를 통해 정보를 수집할수 있다.
즉, 스크립트나 자동화 프로그램을 만든다 해도 추가적인 프로그램이 필요 없는 것이다.
또 지금까지 알아본 정보들이 Mac OS X의 휘발성 정보의 전부가 아니기 때문에, 로그 정보가 더 있지만 그 부분은 너무 방대하다.
앞으로 Mac OS X에 대한 분석은 더 진행되어야 하며, Mac 기반의 스마트폰, 패드 등이 지금보다 더 보급화되고 여러 분야에 응용되어 사용된다면 침해 사고 또한 그 증가 추세가 비례적일 것이다.
# Reference
'Digital Forensics > Forensic Theory' 카테고리의 다른 글
[Digital Forensic] 메모리 분석 (1) (0) | 2020.03.27 |
---|---|
[Digital Forensic] Live Response (4) (0) | 2020.03.18 |
[Digital Forensic] Live Response (2) (0) | 2020.02.25 |
[Digital Forensic] Live Response (1) (0) | 2020.02.25 |
[Digital Forensic] 디지털 포렌식 개요 (0) | 2020.01.18 |