본문바로가기
  • BUSINESS
  • PRODUCT
  • CUSTOMER
  • COMMUNITY

제 목 모바일 포렌식 연구 및 조사의 동향과 발전방향
등록일 2021-11-17
첨부파일


<사진 출처 : freepik.com>

디지털 포렌식의 의미와 목표

디지털 포렌식은 디지털기기 또는 디지털 서비스가 범죄의 도구로 사용되었거나 범죄의 대상이 되어 피해를 보았을 경우 그 내부의 모든 디지털 데이터를 과학적으로 수집 및 분석하여 사건의 경위를 밝혀 법정에서 규명하고 증명할 수 있도록 하는 모든 절차와 기술에 대한 학문이다. 따라서 데스크톱, 노트북, 스마트폰, 태블릿PC, 스마트 워치, 블루투스 이어폰, 차량의 블랙박스, 내비게이션, 테슬라 전기차 등 일 상생활에서 수많은 디지털기기를 사용하는 것이 일상화된 현대 사회에서 디지털 포렌식이라는 키워드가 사람들에게 익숙해져 가는 것은 너무나도 당연한 듯하다. 꼭 심각한 범죄에 연루되지 않더라도 예를 들 어 단순한 차량 접촉 사고가 발생했을 때 서로 간의 잘잘못을 규명하기 위해 블랙박스의 SD카드를 분석 하는 것 또한 동영상 파일에 대한 디지털 포렌식 기술이 사용될 수 있기 때문이다.

일반적으로 디지털 포렌식 조사를 통해 디지털기기의 데이터를 분석해서 밝히고자 하는 것은 그 기기 를 누가 사용했고 언제, 어떻게 사용했는지에 대한 사용자 행위 분석이다. 이 과정에서 안티 포렌식과 같은 부정행위가 있었는지에 대한 여부 확인은 필수적으로 해야 하는 과정이고, 가장 흔한 안티 포렌식 의 행위가 데이터 삭제이기 때문에 데이터 복구 기술이 디지털 포렌식에서 가장 많이 노출돼있는 것이 다. 이렇듯 사용자 행위를 밝혀내는 것이 디지털 포렌식 목표의 큰 부분을 차지한다고 하면 디지털 포렌 식 조사 시 조사 대상자의 어떤 디지털기기를 분석하는 것이 가장 유리할까?

모바일 포렌식의 중요성

현대인들이 일상생활에서 가장 많이 사용하는 디지털기기는 단연 스마트폰이다. 대부분 사람은 아침에 눈을 뜬 시점부터 잠을 자기 직전까지 스마트폰을 손에 쥐고 있다. 스마트폰은 단순히 전화기의 기능을 초월한 지 오래됐다. 우리는 스마트폰의 수많은 앱을 통해 메신저, 이메일, 웹 브라우저, 메모, 스케줄 관리, 유튜브와 같은 콘텐츠 시청, 인터넷 뱅킹, 내비게이션, 쇼핑, 배달, 주식 및 코인 투자 등 우리가 원하는 거의 모든 것들을 할 수 있다. 그리고 이러한 서비스들은 대부분 사용자의 편의를 위해서 데스크 톱이나 태블릿PC에서의 사용기록들도 스마트폰과 동기화를 지원한다. 즉, 우리는 스마트폰을 통해 거의 모든 행위를 할 수 있고 스마트폰에 우리의 이 모든 행위가 기록된 다면 스마트폰이 디지털 포렌식에서 가장 중요한 디지털기기 중 하나일 것이다. 이는 최근에 국내에서 발생했던 2017년 국정농단사건, 2018년 버닝썬 게이트, 2019년 N번방 사건 등 큰 쟁점이 됐던 일련 의 사건들에서 스마트폰이 범죄의 경위를 밝히는 스모킹건의 역할을 했다는 것만 봐도 잘 알 수 있다. 디지털 포렌식의 분야는 관점에 따라 컴퓨터 포렌식, 모바일 포렌식, 네트워크 포렌식, 클라우드 포렌 식, IoT 포렌식 등 다양하게 나뉠 수 있다. 이 중에서 앞에서 살펴본 우리가 일상생활에서 가장 많이 사 용하는 스마트폰은 모바일 포렌식 분야에 속한다. 따라서 현시점에서의 모바일 포렌식은 주로 안드로이 드, iOS 기반의 스마트폰에 대한 디지털 포렌식을 의미한다.

모바일 포렌식의 목표와 절차

모든 컴퓨터 시스템의 내부는 크게 운영체제와 애플리케이션으로 나뉠 수 있다. 운영체제는 자신의 안 정적인 동작을 위해 시스템에서 발생하는 모든 행위의 정보를 기록한다. 더 자세히 말하면 운영체제는 모든 이벤트가 발생한 시점과 그 정보를 로그 파일에 저장하며 여기에는 운영체제가 스스로 실행한 서 비스가 실행한 행위들의 기록뿐만 아니라 운영체제를 사용한 사용자의 행위도 같이 기록된다. 이러한 이벤트 로깅은 애플리케이션들도 마찬가지다. 각 애플리케이션은 혹시라도 발생할 수 있는 오 류를 대비하여 오류의 원인을 찾고 해결하기 위해 동작 기록을 로그 파일에 저장하기도 하고 특히, 사용 자에게 편의를 주기 위해 사용자의 사용 내용을 로그 파일에 저장한다. 애플리케이션이 생성한 이러한 로그들도 일반적으로 누가, 언제, 어떤 행위를 했었는지에 대한 정보를 포함한다.

따라서 디지털 포렌식 관점에서는 사용자의 행위를 분석하기 위해 이러한 다양한 로그들을 분석하는 것이 매우 중요하다. 이것을 분석하면 운영체제가 어떻게 동작했는지, 어떤 애플리케이션이 동작했는지, 그 애플리케이션을 통해 사용자가 어떤 행위를 했는지를 알아낼 수 있기 때문이다. 이를 위해 모바일 포 렌식은 다음과 같은 몇 가지 단계로 구성된다. 1. 데이터 수집: 모바일기기의 데이터가 저장된 플래시 메모리의 데이터를 수집(이미징1)) 하는 것 2. 분석 대상 데이터 식별 및 추출: 수집된 이미지 파일 내에서 잠재적 증거가 될 수 있는 데이터를 식 별하고 그 안에서 의미 있는 정보를 추출하는 것 3. 데이터 분석: 추출된 정보들을 다양한 관점에서 분석하여 의미 있는 결과를 도출해 내는 것 모바일 포렌식에 관한 연구는 주로 위와 같은 3가지 관점에서 연구되어 오고 있고, 모바일 포렌식 조 사를 위한 도구들도 이 3가지 기능을 위주로 동작한다. 따라서 각 단계에서의 연구 현황과 한계점, 발전 방향에 대해 논의하고자 한다.


 

<사진 출처 : freepik.com>


 

모바일기기의 특수성으로 인한 예외적 원본 압수

형사소송법 제106조(압수) 3항에 따르면, 정보저장매체에 저장된 데이터를 범위를 정하여 출력하거나 복제하여 제출받아야 한다고 규정하고 있다. 정보저장매체는 수많은 프라이버시를 포함할 수 있으므로 해당 압수의 목적과 관련된 정보가 포함된 데이터만 검색(수색)하여 선별적으로 수집해야 한다는 것이 다. 즉, 선별적 압수를 해야 한다는 것이다. 하지만 현실적으로 이것이 불가능한 경우를 위해 3항은 다 음과 같은 항목도 포함하고 있다. ‘다만, 범위를 정하여 출력 또는 복제하는 방법이 불가능하거나 압수의 목적을 달성하기에 현저히 곤란하다고 인정되는 때에는 정보저장매체 등을 압수할 수 있다.’ 즉, 데이터 수집에 대한 과학적, 기술적 한계 등으로 해당 조사와 관련된 데이터를 검색(수색) 등이 불가능한 경우 에는 예외적 원본 압수를 허용한다는 것이다. 데스크톱과 노트북과 같이 메인보드에 보조기억장치인 HDD(Hard disk drive)나 SSD(Solid-sate drive)를 케이블을 통해 연결하는 컴퓨터 시스템은 첫째, 정보저장매체를 메인보드로부터 분리하고 둘째, 이것에 쓰기방지 장치를 연결한 후 셋째, 쓰기방지 장치가 연결된 정보저장매체와 디지털 포렌식 전용 시스템(파일 시스템과 운영체제 등의 데이터를 검색 및 분석할 수 있는 소프트웨어2)가 설치된)을 연결 한다. 넷째, 이 시스템에 설치된 디지털 포렌식 전용 소프트웨어를 통해 키워드 검색, 운영체제 아티팩트 분석 등을 통해 조사에 필요한 파일들을 검색하고 추출함으로써 선별적 압수를 수행한다. 하지만, 모바일 기기는 이와 다르다. 모바일 기기는 [그림 1]과 같은 SoC(System on Chip)으로 단일칩 내부에 AP(Application Processor), Flash Memory 등이 모두 포함되어 있다. 즉, [그림 2]와 같이 정보저장매체인 Flash Memory가 메인보드와 케이블로 연결된 것이 아니라 칩 자체에 부착된 것이다. 따라서 데스크톱이나 노트북처럼 HDD나 SSD를 분리하여 포렌식 시스템에 연결하여 내부 데이터 중에 서 조사와 관련된 데이터를 분석할 수 없다. 따라서 모바일 기기는 이러한 과학적, 기술적 한계점으로 인해 형사소송법 제106조(압수) 3항에 따라 예외적 원본 압수에 해당하며 디지털 포렌식 조사 현장에서 압수한 모바일기기는 수사기관의 연구실(또는 분석실)에서 이미징을 통해 데이터를 수집한다.

모바일기기의 데이터 수집 방법

모바일기기의 플래시 메모리로부터 데이터를 수집하는 방법은 크게 3가지가 있다. (2010년도 중반 이 후에 출시되는 모바일기기는 JTAG(Joint Test Action Group)포트 연결이 불가능하므로 JTAG을 이용한 데이터 수집 방법은 제외했다.) 1. Chip-off 후 데이터 수집: 칩셋에서 플래시 메모리를 물리적으로 분리하고 전용 리더기를 통해 플래 시 메모리의 데이터를 이미징 하는 방법 2. 시스템 펌웨어 취약점을 이용한 데이터 수집: 기기를 부팅하는 과정에서 시스템 펌웨어에 포함된 부 트로더, 커널 등의 취약점을 통해 루팅 후 논리적으로 플래시 메모리의 데이터를 이미징 하는 방법 3. 운영체제 및 애플리케이션 취약점을 이용한 데이터 수집: 기기가 부팅된 상태에서 애플리케이션의 RCE(Remote Code Execution), 시스템의 SBX(Sanbox Escape), 커널의 LPE(Local Privilege Escalation) 등의 취약점을 통해 루팅 후 논리적으로 플래시 메모리의 데이터를 이미징 하는 방법 첫 번째인 Chip-off 방식은 모바일기기가 파손되기 때문에 일반적으로 잘 사용하지 않는다. 따라서 본 고에서는 두 번째, 세 번째 방법에 대해서만 논의한다.

시스템 펌웨어 취약점을 이용한 데이터 수집 방법

모바일 기기의 시스템 펌웨어는 칩셋의 종류에 따라 상이하며 이것은 부트로더와 커널(boot, recovery), 시스템 이미지 등을 포함한다. 이 분야에 관한 연구는 2010년도 초반부터 이뤄져 왔으며 초 반에는 부트로더가 boot 및 recovery 커널의 무결성을 검사하는 기능에 대한 취약점을 이용하여 boot 와 recovery 커널의 램디스크를 수정하여 Init 프로세스의 설정 정보를 변경함으로써 루팅하는 방법을 사용했다. 이후에는 안드로이드 커널 무결성 검사에 대한 기능이 강화되면서 이를 우회하기 위해 커널 소스에서 무결성 검사를 하지 않도록 수정하여 커널을 빌드하는 등의 취약점을 사용했다. 안드로이드는 이러한 보안 취약점을 강화하기 위해 Primary Boot Loader, Secondary Boot Loader 등의 부팅 프로세스에서 로딩되는 데이터의 무결성을 연계적으로 검사하는 Secure Boot/Verified Boot mitigation을 추가했고, 커널 동작 초기 시점에 Init 프로세스가 중요 파티션의 무결성을 검사하는 dm-verity mitigation를 추가하기도 했다. 이 외에도 SE-Linux를 안드로이드에 적용한 SE-Android를 추가하기도 했다. 안드로이드 외에도 각 모바일기기 칩셋 제조사는 자사가 배포한 펌웨어가 아니면 모바 일 기기에 적용(플래싱)하지 못하도록 OEM-Lock이 설정된 부트로더를 사용하는 mitigation을 적용하기 도 했다. 삼성은 KNOX라는 독자적인 보안 프레임워크를 개발하여 SE-Android를 더 강화하기도 했다.

운영체제 및 애플리케이션의 취약점을 이용한 데이터 수집 방법

이 수집 방법은 시스템 펌웨어의 취약점을 이용할 수 없는 경우 사용할 수 있는 방법으로, 모바일 기 기를 정상 부팅 시킨 후 exploit을 통해 권리자 권한을 획득한 후 플래시 메모리의 데이터를 수집하는 것이다. 이 과정에서 LPE 취약점을 사용하여 한 번에 관리자 권한을 획득하는 것이 모바일 기기의 데이 터 무결성 훼손을 최소화하는 것이며 이것이 불가능한 경우 RCE, SBX, LPE 등의 취약점들을 연계하여 사용할 수 있다. 이 방법을 사용하는 경우 안드로이드의 mitigation으로 인해 모바일 기기가 factory-re set 되지 않도록 하는 것이 가장 중요하다. 이러한 exploit을 활용하는 취약점을 이용하는 데이터 수집 방법은 UFED Ultimate 모바일 포렌식 도 구가 거의 유일하며 이 회사는 2010년대 초부터 안드로이드와 iOS에 대한 exploit을 자체적으로 연구 개발 하고 있다.
 

 <사진 출처 : freepik.com>


 

모바일 기기 데이터 수집 방법의 연구 방향

개인정보보호에 대한 요구가 증가함에 따라 모바일 기기에 대한 정보보호 기술이 계속 강화되면서 루 팅에 대한 어려움이 증가하여 디지털 포렌식 관점에서는 모바일 기기의 데이터를 수집하는데 많은 어려 움이 발생하고 있다. 모바일 기기의 데이터 수집에 가장 적합한 방법은 앞에서 살펴봤던 ‘시스템 펌웨어 취약점을 이용한 데이터 수집 방법’ 이다. 하지만 이를 수행하기 위해서는 시스템 펌웨어 레벨에서의 취 약점 분석을 위해 부트로더와 커널에 대한 역공학 기술이 필요하며 상황에 따라 커널의 신규 취약점을 발견하기 위한 Fuzzer에 대한 연구개발도 필요할 수 있다. 이에 따라 모바일 포렌식 연구자들은 추가로 포렌식 외에도 펌웨어에 대한 취약점 분석 연구를 추가 로 해야 할 필요성이 있다. 보안 취약점을 공격하는 것과 막는 창과 방패의 관계에서는 공격하는 쪽이 성공할 확률이 높긴 하지만 이 공격 과정에서 상당히 많은 시간과 노력이 소요된다. 모바일 기기의 정보 보호기술은 지속적으로 강화될 것으로 예상되기 때문에 모바일 데이터 수집에 대한 난도는 계속 증가할 것으로 예상된다

분석 대상 데이터 식별

데이터 수집이 완료되면 수집된 이미지 파일 내에서 잠재적 증거가 될 수 있는 시스템 로그 또는 주 요 애플리케이션의 로그 파일들을 식별하고 그 내부에서 사용자 행위 분석에 필요한 주요 데이터(시간 정보, 개인 식별 정보, 이벤트 내용 등)를 식별 및 추출(파싱)해야 한다. 이 과정에서 가장 핵심적인 작 업은 범죄와 관련된 애플리케이션의 존재 여부를 찾아내고 사용자 행위 정보를 최대한 많이 분석하는 것이다. 따라서 일반적으로 잘 알려진 기본 애플리케이션이나 널리 사용되고 있는 메신저, 웹브라우저 등의 애 플리케이션의 내부 구조를 분석하는 연구들이 많이 진행되고 있다. 하지만, 일반적으로 모바일 기기에는 너무 많은 애플리케이션들이 설치돼있고 모든 애플리케이션들은 독자적인 방법으로 로그를 저장하기 때 문에 이 모든 것들을 사람이 수동으로 분석하는 것은 너무 많은 시간과 비용이 소요된다. 따라서 우선 파일 시스템과 시스템 로그 분석을 통해 모바일 기기에 설치된 모든 애플리케이션들의 종류를 확인해야 한다. 그 후 그중에서 미리 로그 구조를 파악하고 있는 애플리케이션들의 사용자 데이 터는 모두 파싱하고 범죄와 관련된 것으로 예상되는 애플리케이션을 선택하여 내부 데이터를 분석해야 한다. 이 외에도 애플리케이션의 로그가 대부분 SQLite Database 파일임을 고려하여 모든 로그에 대해 전수조사를 하고 그중에서 사용자 행위 분석에 필수적인 (시간 정보, 개인 식별정보, 이벤트 내용)이 포 함된 것들을 자동으로 식별하고 파싱함으로써 분석 대상 데이터 식별에서의 소요 시간을 줄일 수 있다.

맺음말

모바일 기기는 우리가 일상생활에서 가장 많이 사용하는 디지털기기로 이것이 만약 범죄의 대상 또는 도구로 사용되었을 경우 디지털 포렌식 조사에 가장 중요한 증거다. 하지만 정보보호 기술의 발전으로 인해 모바일 데이터 수집이 어려워지고 있고, 수많은 애플리케이션의 출시로 분석 대상 데이터를 식별하 는 것에 많은 시간이 소요되고 있으며 많은 사용자 데이터로 인해 데이터 분석에도 어려움이 있다. 따라서 이를 극복하기 위해서는 데이터 수집 관점에서는 시스템 펌웨어 취약점에 관한 연구가 필요하 고, 분석 대상 데이터 식별 및 추출 관점에서는 자동화된 로그 분석 연구가 필요하며, 데이터 분석 관점 에서는 머신러닝과 딥러닝 등의 AI 기술의 접목이 필요하다.

<자료 출처 : 한국인터넷 진흥원 KISA Library 김도현/ 부산카톨릭대학교 교수>

 

이 전 다 음
목록