개론 스터디

[241009] 디지털 포렌식 개론 제 6장

jisu0924 2024. 10. 9. 19:02

디지털 근거가 법정에서 허용되기 위해서는 원본을 그대로 보존해야 하며, 원본을 보존할 수 없는 경우 원본과 유사한 형태로 수집해야 하고 관련 내역을 모두 기록해야 함. 이 장에선 상황에 맞는 디지털 증거 수집 절차와 기술에 대해 알아보고자 함.


조사 대상 매체 파악

증거 훼손을 막기 위해 현장 보호 조치를 취한 후, 증거물의 위치를 파악해야 함. 저장 매체와 디지털 증거의 위치를 확인 후 진정성/신뢰성을 보장하면서 증거물을 수집해야 함. 특히, 연계 보관성이 유지되도록 시스템의 내역과 시간, 이름 등을 기록해야 하며, 손상되지 않도록 안전하게 진행해야 함. 

 

조사 대상 시스템 확보

 

1) 컴퓨터 시스템 확보

사건 현장에서는 용의자가 사용한 시스탬, 회사에서 운용하고 있는 대형 서버에 있는 사건 관련 데이터, 보조 기억 장치 등을 파악해야 함.  사건 관련 데이터가 저장되어 있을 것으로 예상되는 모든 영역을 확인해야 함. 특히, 하드 디스크에는 중요한 정보가 많이 기록되어 있기 때문에 핵심 증거물이라고 할 수 있음. 이 증거물은 압수 이후 이미징 과정을 거쳐 사본을 획득한 후 디스크 내에 존재하는 증거물을 분석함. 최근 소형 하드 디스크 드라이브가 많이 생겨나고 있기 때문에 소형 하드 디스크 드라이브의 존재 유무도 면밀히 살펴 보아야 함. 

 

2) 기타 디티철 기기 수집

유의해야 할 디지털 기기의 예: 저장 매체가 있는 프린터, 개인의 정보를 기록하는 PDA 및 휴대폰, 전자수첩, 차량의 이동을 돕는 차량 항법 장치, 콘솔 게임기 등

 

이들은 모두 사용하면서 생성되는 다양한 데이터가 남아 있음, 또한 의도적으로 정보를 저장할 수 있기 때문에 디지털 데이터의 저장 위치. 종류, 추출 방법 등을 파악하고 있어야 함. 

 

  • 프린터: 일부 모델은 메모리 버퍼가 있으며, 하드 디스크 드라이브를 갖고 있는 경우도 있음. 
  • 차량 항법 장치: 목적지 정보와 중간 지점, 경로를 통해 이전에 이동한 경로 정보를 획득할 수 있음.
  • PDA: 컴퓨터에 있는 많은 기능이 동일하게 탑재되어 있음. 다른 장치를 연결할 수 있는 모델도 있으므로 주변 기기도 확보해야 함.
  • 콘솔 게임기: 게임기를 통해 네트워크를 구성하면 인터넷 검색이 가능하며 동영상 시청 또한 가능하기 때문에 수집 대상임.

3) 휴대용 저장 매체 확보

용의자가 휴대할 수 있는 저장 장치로써 자료 전달과 보관을 목적으로 하기 때문에 사건 관련 데이터가 많이 있으며 핵심 증거가 있을 가능성이 높음. 

 

저장 매체: USB 플래시 드라이브, CD, DVD, 외장형 하드 디스크 드라이브, 메모리카드, 테이프 등

 

실제 데이터는 휴대용 저장 매체에 보관하는 경향이 나타나고 있어 사건 현장에서 이와 관련한 수색이 중요해지고 있음. 사건 현장에서는 이를 은닉하기 위해 다양한 방법이 활용됨.

  • CD를 벽면에 감춤
  • 플로피 디스크 내에 소형 USB 플래시 드라이브를 숨김
  • 휴지통 밑에 숨김

이것 외에도 신용카드, 귀걸이, 시계, 라이터, 펜 등과 같은 형태의 저장 매체가 출시되고 있기 때문에 주의 깊게 살펴봐야 함.

 

제 2절 활성 시스템 조사

활성 시스템이란?

장상적으로 가동 중인 시스템을 말함.

 

활성 시스템에서는 휘발성 데이터와 비휘발성 데이터를 모두 수집할 수 있음. 활성 시스템에서 데이터를 수집하는 경우에는 별도의 하드웨어 장치가 장착되어 있지 않다면 불가피하게 원본 훼손이 발생함.

 

시스템을 자동 암호화 하는 경우에는 활성 시그템에서 디지털 데이터를 수집하는 것이 효과적임. 또한 시스템을 종료시킬 수 없는 환경도 존재하므로 불가피하게 사용해야 되는 경우도 있음. 침해 사고와 같이 실시간 공격이 이루어지고 있는 경우에는 휘발성 데이터를 수집해야 하는 것이 매우 중요함. 

 

활성 시스템은 가능한 매체에 시스템 조사를 위한 도구를 저장해야 하며, 데이터를 저장하기 위한 별도의 매체가 있어야 함. 데이터 수집 도구를 CD에 저장하고 수집한 데이터는 이동형 저장 장치에 저장하거나 네트워크를 이용하여 증거 수집 서버에 전송하는 방법이 있음. 

 

활성 시스템을 조사할 때는 어떠한 방식으로든 영향을 미치기 때문에 다음과 같은 사항을 고려해야 함.

  • 휘발성 데이터의 수집 필요성
  • 활성 시스템에서 비휘발성 데이터의 수집 필요성
  • 수집한 비휘발성 데이터와 원본의 동일성
  • 수집 도구를 사용함으로써 시스템의 영향을 주는 요인

물리 메모리 수집

물리 메모리는 시스템이 활성 상태이면 지속적으로 변화하기에 가장 먼저 수집해야 함. 메모리를 수집하기 위해서는 여러 방식이 있는데, 이 절에서는 IEEE-1394 인터페이스를 이용하는 방식과 소프트웨어 dumpit을 소개함

 

1) IEEE-1394 인터페이스

이는 디지털 캠코더, HDTV 등의 영상 기기에 사용되는 시리얼 버스임. 

  • IEEE-1394a 규약: 100, 200, 300, 400Mbps의 속도로 패킷을 전송할 수 있음
  • IEEE-1394b 규약: 3.2Gbps꺼지 정의되어 있음

IEEE-1394를 통해 메모리에 직접 접근할 수 있는 이유는 DMA를 사용하기 때문임.

 

DMA란? 

메인보드에 장착되어 있는 장치. CPU의 처리 속도와 입/출력 장치의 속도 차이를 개선하기 위해 사용됨, CPU의 제어 없이 독립적으로 메모리 영역에 읽기 및 쓰기 명령을 내릴 수 있음. 

 

물리 메모리를 획득하기 위해서는 호스트 시스템과 타겟 시스템을 IEEE-1394에 연결해야 함. 호스트 시스템에는 타겟 시스템의 메모리 영역을 획득하기 위해 IEEE-1394에 읽기 명령을 내릴 수 있도록 프로그램을 구성해야 함. 사용자의 인증이 이루어져 있지 않거나 잠긴 상태의 윈도우 시스템의 경우, IEEE-1394를 이용하여 SAM Registy 영역의 값을 초기화하여 인증 과정을 우회할 수 있음.

 

2) DumpIt

별도의 인터페이스가 장착되어 있지 않을 때는 물리 메모리가 접근할 수 있는 소프트웨어를 설치하여 데이터를 수집할 수 있음. 이것 역시 소프트웨어이기 때문에 불가피하게 물리 메모리를 훼손할 수 밖에 없음. 소프트웨어 물리 메모리 수집 도구는 GUI 보다는 CLI 기반으로 개발된 도구를 사용하고 정적으로 컴파일된 명령을 사용함으로써 시스템에 있는 기본 명령이나 라이브러리를 사용하지 않아야 함. 

 

DumpIt이란?

물리 메모리를 수집할 수 있는 프리웨어 도구.

 

휘발성 데이터

휘발성 데이터는 시스템이 종료되면 확보하지 못하기 때문에 활성 시스템 상태에서 빠르고 정확하게 확보하는 게 중요함. 물리 메모리부터 수집하는 것이 원칙이며, 이후 필요한 휘발성 데이터를 수집함. 

 

1) 프로세스 정보

시스템에 악영향을 미치는 악성 프로그램 또는 이상 프로세스 선별을 비롯하여 메모리 상태를 파악하기 위해 프로세스 정보를 수집해야 함. 수집할 세부 정보는 다음과 같음.

  • 프로세스 실행 파일의 전체 경로
  • 프로세스를 실행한 계정
  • 부모/자식 프로세스 관계
  • 프로세스가 로드한 동적 링크 라이브러리
  • 사용중인 네트워크 연결정보
  • 프로세스 실행 시작 시간

2) 시스템 정보

시스템 정보에는 증거 수집 대상의 시간 기준을 확인할 수 있는 시간 정보, 시스템의 구동시간, 정보의 주체를 알 수 있는 계정정보, 수집해야 하는 디스크 정보가 있음. 

 

윈도우 정보 수집 항목 및 수집 방법

수집 항목 수집 방법
시스템 시간 정보 date 명령어를 사용(date /t)
현재 로그온 계정 net users(netbios 명령어)
net sessions(netbios 명령어)
psloggedon
디스크 정보 di(Windows Supported Tools)

 

리눅스 시스템 수집 항목 및 수집 방법

수집 항목 수집 방법
시스템 시간 정보 date: 현재 시간, uptime: 활성시간 정보
uname: 현재 작동중인 시스템 정보 출력
사용자 관련 정보 who: 현재 로그린 상태인 사용자 관련 정보 확인
last: 가장 최근 로그인한 사용자 정보
w: 각 사용자가 진행중인 작업 확인
운영체제 정보 /proc/version: 커널 버전 정보, /proc/cpuinfo: CPU 정보
/proc/uptime: 활성시간 정보, /proc/stat: 시스템 상태
/proc/meminfo: 메모리 사용량, /proc/loading: 평균 부하량

 

3) 네트워크 정보

현재 네트워크 정보 및 사용정보를 바탕으로 비인가 접속을 판별하기 위해 수집해야 함. 현재 연결된 IP 주소와 포트 등에 대한 점검, 연결 상태와 프로세스 별 연결 포트를 확인하여 허가되지 않은 사용 정보를 수집해야 함.

 

윈도우 시스템의 네트워크 정보 수집 항목 및 수집 방법

수집 항목 수집 방법
현재 네트워크 연결 정보 netstat -ano
열린 네트워크 포트와 연결된 프로세스 정보 Fport
공유 파일 net file
openfiles
psFile

 

리눅스 시스템의 네트워크 정보 수집 항목 및 수집 방법

수집 항목 수집 방법
IP 설정 정보 inconfig -a
라우팅 테이블 정보 netstat -n 혹은 route
ARP 정보 arp -a
TCP, UDP 상태 정보 netsat -anp
포트 별 프로세스 정보 netsat -lnp
네임서버 파일 /etc/hosts
Listen 포트 관련 프로세스 lsof | grep LISTEN, lsof | grep [pid]

 

비휘발성 데이터

전원을 차단해도 사라지지 않는 데이터. 시스템을 종료시키지 못하는 환경에서는 활성 시스템에서 직접 수집할 수 있음. 디스크 이미지 기반의 조사는 많은 시간이 소요되기 때문에 데이터 선별이 중요함.

 

윈도우 시스템

사용자 활동정보, 시스템 설정 정보, 하드웨어 정보 등 저장하고 있어 레지스트리로부터 유용한 정보를 획득 가능함. 활성 상태에서는 자동 암호화 기능을 하는 EFS에 접근할 수 있고, BitLocker의 복구용 키도 생성할 수 있기 때문에 패스워드가 있어야만 접근할 수 있도록 설정된 보호 기능을 우회할 수 있음.

 

리눅스 시스템

포렌식 관련 여러 설정 정보를 각 환경 설정 파일을 통해 얻어야 함. 수집할 수 있는 정보는 시스템 접근, 부팅, 파일 시스템, 시스템 관리와 관련된 정보임. 

 

활성 시스템 데이터 수집 도구

활성 시스템 수집 도구는 윈도우/리눅스 시스템을 고려하여 개발되어야 함. 별도의 하드웨어 업ㄱ이 소프트웨어를 수집하면 시스템 상태의 변경은 불가피함. 따라서 포렌식 관점에서는 변경을 최소화 해야 함. 이를 위해 Command Line Interface의 사용을 권장함. 또한 악의적인 사용자에 의해 명령어가 변경되어 있을 수 있기 때문에 시스템 명령 또는 라이브러리를 정적으로 포함하고 있는 도구를 사용하고, 읽기만 가능한 매체에서 실행할 것을 권장함.

 

윈도우즈 활성 데이터 수집 도구 CLDFS(Command line Live Data Forensics)

  1. CLI 기반으로 동작하는 프로그램. 수집 대상인 MFT, Prefetch, Registry, Driver 정보, Link File, Event log 중에서 수집할 데이터 옵션을 설정하고 수집 결과 저장 경로를 선택하면 해당 경로로 csv 파일이 출력됨. 
  2. 데이터 수집이 완료되묜 설정한 경로에 CLDFS 폴더가 생성되고 CLDFS 폴더 아래에 csv 파일과 evidence 폴더 아래에 옵션으로 설정한 파일들이 추출됨.
  3. 가독성이 떨어지는 csv 파일을 CLDFS_viewer를 통해 GUI 환경에서 결과를 가져올 수 있음.

CLDFS에서는

  • 시스템 정보
  • 네트워크 정보
  • 프로세스 및 모듈
  • 서비스 목록
  • 소프트웨어 목록
  • 하드웨어 목록
  • Logs

를 확인 가능함.

 

제 3절 저장 매체 이미징

하드 디스크에는 대부분의 디지털 증거물이 보존되어 있음.

 

이미징이란?
하드 디스크를 수집하면 원본 보존과 추후 분석을 위해 모든 데이터를 있는 그대로 복제하는 과정을 말함.

 

가. 디스크 이미지

디스크 이미지란?

원본 디스크에 저장되어 있는 정보의 모든 비트 스트링을 포함하는 사본 파일을 의미함. 저장 공간을 위해 압축하는 경우도 있으며, 부가 정보가 포함될 수 있음. (대표적 소프트웨어 - UNIX의 'dd', 컴퓨터 포렌식 연구소 버전의 'dfcldd', Guidance Software 사에서 개발한 'Encase' 등)

 

하드웨어 기번 이미지 생성 도구로 하나의 하드 디스크에서 다른 하드 디스크로 비트 단위 복사를 지원하는 하드웨어도 있음. 이는 매우 빠르게 이미징을 수행하기 때문에 효과적임.

 

나. 디스크 이미지 생성

  • 조사 대상 시스템에서 직접 저장 매체를 이미징하는 경우
  • 조사 대상 저장 매체를 분리하여 조사용 시스템에 부착해서 이미징을 하는 경우

1) 조사 대상 시스템에서 Bootable CD를 활용한 디스크 이미징

조사 대상 시스템으로부터 저장 매체를 분리하지 않은 상태에서 이미징을 하려면 이를 활용함.

 

Bootable CD란?

물리 메모리만을 이용해 시스템을 부팅할 수 있게 운영체제를 저장한 CD. 저장 매체를 읽기 전용으로 마운트할 수 있어 데이터의 무결성을 손상시키지 않고 이미징할 수 있다.

 

- Helix를 이용한 디스크 이미징 과정

Ubantu 기반. 디지털 포렌식을 위한 전용 도구들이 포함되어 있음. 

  • 'dd'
  • 'Adepto' : 'dd'를 기반으로 하여 미 국방성 컴퓨터 포렌식 연구소에서 향상시킨 버전인 'dcfldd'를 사용함.
  • 'LinEn': 리눅스 환경에서 EnCase 이미지를 생성할 수 있는 도구.

2) 조사용 시스템에서의 디스크 이미징

쓰기 방지 장치와 함께 이미징 기능을 갖춘 전용 도구를 사용함. 

윈도우 시스템에서의 이미징 도구로는 ENCase, FTK Imager 등이 있으며, 리눅스애소는 'dd' 계열의 도구가 주로 사용됨.

 

FTK Imager

무료 이미징 도구. 로컬 하드 디스크, 플로피 디스크, Zip 디스크, CD, DVD, 폴더나 파일 등에서 이미지 파일을 생성할 수 있고, AES 암호 알고리즘을 사용하여 이미지 파일을 암호화할 수 있음. 생성된 이미지 파일에 대해서는 MD5와 SHA-1 해쉬값 생성이 가능함. 또한, 이미징 기능 뿐만 아니라 특정 포맷의 이미지 파일을 읽기 전용으로 마운트 하고 내부 파일 시스템을 보여주는 기능, 해쉬값 계산 기능, 파일 및 폴더들의 리스트를 csv 파일 포맷으로 추출하는 기능, 이미지 파일 암호화 기능, 이미지 파일의 해쉬값과 배드 섹터 존재 여부 확인 기능 등을 제공함.

 

dd

이미징 대상 저장 매체의 모든 물리적 섹터를 파일 형태로 만듦.

 

제 4절 임베디드 시스템 증거 확보

가. 휴대폰

휴대폰은 내부의 메모리에 직접 접근할 수 있는 인터페이스가 없기 때문에 이미징과 같이 모든 데이터를 수집하는 것이 어려우며, 파일 또는 컨텐츠만 수집하는 경우도 있음.

 

1) 물리적 수집 방법

원본 장치의 저장 매체를 bit-by-bit로 복사하는 방식으로 완벽히 동일한 사본을 얻을 수 있음. 따라서 미할당 영역과 파일의 메타정보를 획득할 수 있는 장점을 갖고 있음. 

  • JTAG: 하드웨어 디버깅을 위한 방법
  • 내부의 플래시 메모리를 분리하여 직접 데이터를 읽는 방법

JTAG를 이용한 물리적 증거 수집

하드웨어 보드에 표준화된 로직과 테스트를 위한 핀을 내장하도록 함. 기본적으로 nTRST(test Reset), TMS(Test Mode Select), TDI(Test Data Input), TDO(Test Data Output), TCK(Test Clock)의 기본 신호로 구성되어 있으며, 디버깅 목적으로 nRESET, VTref, DBGRQ, DBGACK 등의 신호를 이용할 수 있음.

 

이를 이용하기 위해서는 임베디드 기기를 JTAG 에뮬레이터에 연결하고 에뮬레이터를 다시 PC에 연결하여 사용함. 에뮬레이터에 연결된 PC에서 JTAG 인터페이스로 메모리를 읽는 명령을 전달함으로써 연결된 시스템의 INternal COre LOgic를 제어하여 메모리를 읽을 수 있음.

 

JTAG은 산업 표준으로써 모든 임베디드 기기에 적용할 수 있음. 따라서 입출력 핀을 알 수 있다면 쉽게 데이터를 수집할 수 있음. 그러나 포트가 노출되어 있으면 펌웨어가 노출될 위험이 있어 인터페이스를 차단하거나 숨김. -> 보편적 사용x

 

플래시 메모리 분리 후 물리적 증거 수집

임베디드 기기의 데이터는 보드에 장착되어 있는 플래시 메모리에 저장되어 있어 플래시 메모리를 분리하여 메모리 리더기로 데이터를 수집할 수 있음. 이 방법은 임베디드 기기가 고장, 침수 등의 문제로 인해 다른 방법을 이용할 수 없는 경우에 한하여 사용해야 함. 분리된 메모리는 보드에 접팍된 부분의 핀이 일부 손상되어 있을 수 있기 때문에 손상된 핀을 복원하는 리볼링 과정을 거쳐야 함. 

 

2) 논리적 증거 수집 방법

메타데이터와 미할당 영역을 제외한 파일 또는 파일의 컨텐츠를 복사하는 방법. 파일 단위의 접근 방식은 USB 통신 프로토콜 또는 제조사에서 제공하는 파일 접근 USB 명령을 통해 파일을 가져오는 방식임. 컨텐츠 단위의 접근 방식은 제조사에서 제공하는 PC-Link 소프트웨어 등을 이요하여 수집하는 방식으로 모든 임베디드 기기에 적용할 수 있으나 임베디드 기기의 운영체제 또는 소프트웨어에 의해서 삭제된 데이터는 접근 불가함.

 

가) 파일 단위 접근

임베디드 기기와 PC를 USB 케이블을 이용하여 연결함.

1. PC에서 임베디드 기기내의 디렉터리에 대한 정보를 요청

2. 디렉토리에 대한 접근 권한 획득

3.파일 목록을 받음

4. 해당 파일 권한 획득하여 내용 전송받음

 

나) 컨텐츠 단위 접근

PC-Link 소프트웨어 이용. 각 제조사 기기에 맞는 USB 드라이버가 포함되어 있어 모든 기기에 적용 가능. 

 

다) 백업 소프트웨어를 통한 접근

PC와 연계하여 사용할 수 있도록 백업 기능 또는 동기화 기능을 제공함. 사용자의 모바일 기기에 변화가 생기는 경우에 동일한 정보를 PC에 저장하고, 사용자가 인터넷을 통해 다운로드 받았거나 PC에서 수정을 가한 경우에는 임베디드 기기에 반영함. PC에 저장된 데이터가 임베디드 기기로 전송되지 않도록 주의해야 함.

 

나. 스마트폰

1) 물리적 수집 방법

마찬가지로 JTAG, 플래시 메모리 분리 방법이 존재함. 다만 JTAG 방법은 스마트폰에 이 인터페이스가 존재해야 하기 때문에 기종이 한정적임. 스마트폰에서는 휴대폰과 달리 AP 명령어를 이용하여 플래시 메모리 데이터를 수집하는 방법을 사용할 수 있으며 운영체제 관리자 권한을 획득하여 이미징하는 방법도 존재함.

 

JTAG를 이용한 물리적 증거 수집

스마트폰의 메인보드에서 JTAG 인터페이스를 찾아내야 함. 그후 인터페이스와 디버깅 장비를 연결하고 전력을 공급하여 디버깅 모드로 진입한 뒤 플래시 메모리 내부 데이터를 이미징함. 

 

-장점

1. 무결성 유지

2. 이 인터페이스가 존재하는 모든 임베디드 기기에서 사용 가능

3. 선택적 수집 가능

 

-단점

1. 데이터 수집 과정에서 문제 발생시 무결성 훼손

2. 시간이 많이 소요

 

플래시 메모리 분리 후 물리적 증거 수집

-장점

1. 무결성 유지

2. 모든 임베디드 기기 사용 가능

 

-단점

1. 메인보드에서 분리한 플래시 메모리의 재경합이 어려워 스마트폰이 훼손되어 사용할 수 없는 경우와 원상복구를 할 필요가 없는 경우에 수행함. 

2. 특정 파티션 데이터만 수집이 불가능함. 

 

AP 명령어를 사용한 물리적 증거 수집

제조사 별로 사용하는 AP의 종류에 따라 부스터로더가 로딩되는 시점인 안드로이드의 다운로드 모드에서 플래시 메모리 플래시 메모리의 특정 영역을 read/write하는 명령어 사용 가능. read/write가 존재하지 않는 스마트폰에서는 부트로더가 로딩되는 시점에 물리 메모리에 명령어를 업로드하고 버퍼오버플로어를 발생시켜 메모리 수집 가능함.

 

-장점

1. 무결성 유지

2. 동일한 AP 종류를 사용하면 동일한 방법으로 데이터 수집 가능

3. USB 통신을 사용하기 때문에 상대적으로 전송 속도가 빠름

 

-단점

1. AP 종류가 다양하고 새로운 AP가 자주 출시되어 새 스마트폰에 대응 어려움.

 

Rooting 방법을 사용한 물리적 증거 수집

스마트폰 운영체제의 관리자 권한을 획득(Rooting)하여 플래시 메모리 데이터를 수집하는 방법임. (아이폰에서는 Jailbreaking) 

 

안드로이드에서 루팅을 수행하는 방법 (dd와 netcat)

1. 안드로이드 커널 또는 외부 시스템과의 연결을 위해 사용하는 ADB 프로토콜의 취약점을 공격하는 exploit을 사용하여 일시적 또는 영구적으로 관리자 권한을 획득하는 방법

2. 원본 리커버리 커널을 관리자 권한을 가진 수정된 리커버리 커널로 덮어쓰고 해당 수정된 리커버리 커널을 사용하여 리커버리 모드로 부팅함으로써 관리자 권한을 획득하는 방법

 

아이폰에서 Jailbreaking을 수행하는 방법 (dd와 SSH)

아이폰 AP 취약점을 공격하는 jailbreak 도구를 사용하여 ios 관리자 권한을 획득하는 방법

 

- 장점

1. 전송속도 빠름

2. 전체 영역, 파티션 영역, 파일 단위 수집 등의 선택적 수집 가능

3. 별도의 UnRooting 작업 필요x

4. 존재하는 파티션에 대한 훼손을 최소화할 수 있음

5. 리커버리 커널을 사용한 루팅의 경우 LiME 커널 모듈을 사용해 메모리 데이터도 수집 가능

 

- 단점

1.  해당 파티션 약간 훼손

2. 안드로이드 리커버리 커널을 사용한 루팅의 경우 원상복구 진행해야 함

3. ios 7버전이 탑재된 아이폰의 경우는 jailbreaking을 수행하면 내부 데이터가 초기화되기 때문에 사용 불가.

 

2) 논리적 수집 방법

메타데이터와 미할당 영역을 제외한 파일 또는 파일의 컨텐츠를 복사하는 방법.

 

Rooting 방법을 사용한 파일 단위 수집

관리자 권한을 획득 후 내부 데이터를 파일 단위로 수집하는 것. 주요 수집 대상 파일은 시스템 로그, 앱 데이터, 사용자가 생성한 멀티미디어 및 문서 관련 파일임. 스마트폰의 주요 수집 대상 데이터는 기본앱 데이터롸 사용자가 설치하여 사용한 3rd party 앱 데이터임. 안드로이드의 경우 "data" 디렉터리 내부에 존재하고 아이폰은 데이터 파티션 하위의 "mobile" 디렉터리 내부에 존재한다. 

 

운영체제가 제공하는 기능을 사용한 파일 또는 컨텐츠 단위 수집

안드로이드 운영체제는 자체 백업 기능과 데이터 공유 기능을 통해 파일 또는 컨텐츠 단위 수집이 가능함. 

  • 안드로이드 자체 백업 기능: 운영체제 버전 4.0 이상부터 제공됨. "abd abckup" 명령어를 통해 관리자 획득 권한 없이 내부 데이터를 파일 단위로 수집할 수 있음.
  • 안드로이드 자체 데이터 공유 기능: 샌드박스 매커니즘을 갖고 잇음. 이를 통해 모든 앱들은 각각의 샌드박스가 주어지고 그 내부에서 앱데이터를 관리함. CP를 사용하는 경우 각 엡의 URI와 쿼리를 통해 서로의 앱데이터의 콘텐츠의 특정 테이블에 저장되어 있는 레코드에 접근 가능. 

-장점

1. Rooting을 수행하거나 exploit 등을 삽입하지 않고 수행 가능

2. abd backup을 사용하여 SQLite database 파일을 수집한 경우 삭제된 데이터 복구 시도 가능

 

-단점

1. 안드로이드폰을 캬놓고 수행해야 하기 때문에 네트워크 차단에 유의해야 하며 데이터 훼손이 발생할 수 있음.

2. 시스템 로그 등의 데이터는 수집할 수 없음

3. adb backup은 안드로이드 버전 4.0 이상에서만 사용 가능

4. CP를 사용하는 경우 다른 앱의 데이터를 수집하기 위한 데이터 수집 앱을 설치해야 하기 때문에 데이터 훼손이 발생

5. CP를 사용하는 경우 수집할 수 있는 데이터가 한정적

6. CP를 사용하는 경우 삭제된 데이터 복구가 불가능

 

백업 소프트웨어를 통한 파일 또는 컨텐츠 단위 수집

기기 내부 데이터를 PC와 연동하여 관리할 수 있도록 백업 또는 동기화를 수행하는 소프트웨어가 존재함. 백업 내용은 개인정보와 컨텐츠, 계정 정보 및 설정이 있음. 백업 경로는 기본 경로로 지정되고 기본 폴더를 변경할 수 있음.

 

백업을 수행할 항목을 선택 후 백업을 실행하면 항목별로 각가 파일과 폴더가 생성됨. 백업을 수행하면 백업 파일이 생성되고 백업된 경로에는 .enc 확장자를 가지는 파일로 생성됨.

 

카테고리 백업된 파일은 지정된 경로에 생성되며 백업된 항목에 대한 정보를 기록하는 .idx 파일과 동일 이름의 폴더가 생성됨. 폴더 내부에는 백업된 항목의 데이터가 .ecbk 파일로 저장됨. 

 

아이폰은 아이튠즈라는 애플에서 만든 아이폰 및 멀티미디어 플레이어 동기화 프로그램을 이용할 수 있음. 아이튠즈는 ios 기기에 있는 대부분의 데이터를 백업 가능. 아이튠즈로 백업된 데이터는 SHAI 방식으로 인코딩된 파일명으로 사용자 컴퓨터의 디렉토러리에 저장됨. 

 

IPone Backup Browser란?

사용자에 의해 백업된 ios 기기의 백업에 대해 백업 파일 분석을 통해 해시된 파일 명의 원래 파일 명을 기록하고 백업 파일을 시스템 파일과 사용자 애플리케이션 파일로 분류하여 분석해 주는 소프트웨어. 

 

iTools란?

아이튠즈를 사용하지 않고도 아이튠즈 기능을 대부분 사용할 수 있도록 만들어진 소프트웨어. 사용자가 백업한 ios 기기의 백업을 열람할 수 있는 기능이 있으며 이를 통해 백업 데이터에 대한 분석할 수 있다. 

 

-장점

1. 안드로이드의 경우 Rooting 또는 exploit 등을 삽입하지 않고 스마트폰 내부 데이터의 컨텐츠를 수집할 수 있음.

2. 아이폰의 경우 Jailbreaking을 수행하지 않고 내부 파일을 수집할 수 있음. 안드로이드폰과 달리 백업된 파일의 내용을 확인할 수 있는 방법이 존재함.

3. 아이폰의 경우 백업을 통해 수집된 SQLite database 파일은 파일 내 미할당 영역에서 삭제된 데이터를 복구 가능

 

-단점

1. 안드로이드폰의 경우 특정 데이터앱만 수집 가능함

2. 안드로이드폰의 경우 수집된 백업 파일이 암호화되어 있기 때문에 해당 백업 소프트웨어를 통해서만 백업된 데이터의 콘텐츠를 확인할 수 있고 삭제된 데이터 복구 수행 불가

3. 스마트폰을 켜놓고 수행해야 하기 때문에 데이터 훼손 발생