A Digital Forensic Process for Ext4 File System in the Flash Memory of IoT Devices


0.요약

급격한 통신기술의 발달에 따라 IoT(Internet of Things)의 확산이 가속화 ~ 범죄 및 사고 경황 정보 조사에 적극적으로 활용

 

한계>

IoT 기기는 상이한 규격으로 인해 실제 현장에서 사용될 수 없는 추상적인 방법론을 제시하는 연구가 대부분

binwalk 분석 도구는 ext4 파일 시스템에 대한 분석 및 추출을 제대로 수행 X

 

>>

binwalk의 올바른 ext4 파일 시스템 추출 및 분석 방안을 제시

이를 이용해 IoT 기기의 플래시 메모리로부ext4 파일 시스템을 추출하는 절차를 제안

DJI Phantom 4 Pro V2.0 드론으로 PoC를 구현하여 제안하는 절차를 검증


1.서론

IoT란?

상이한 영역 간 사물들(things)이 인간의 명시적 개입 없이 사물-사물 혹은 사물-사람 간의 상호 정보 교환하며 지능적 서비스를 제공할 수 있는 통신 및 기기 인프라 기술

 

-범죄나 사고 발생 시 사용자 주변 IoT 기기에는 범죄 및 사고 정황과 밀접한 중요 데이터가 저장될 수 있다.

-하지만 IoT 기기 제조사는 해킹 등의 악용 사례를 방지하기 위해 기기에 저장된 데이터를 일반적인 방법으로 접근하는 것을 제한

 

-목적에 따라 상이한 하드웨어 및 소프트웨어 규격을 가진다.

-일반화된 디지털 포렌식 절차 수립이 필요

-기존 연구는 이론적 접근을 통해 추상적인 방법론을 제시, 실제 환경 및 현장에 적합X

 

-일반적인 디지털 포렌식은 JTAG, UART 등 기기 개발 당시에 사용하던 디버그 인터페이스를 통해 수행

-하지만 최신 상용 IoT 기기는 보안성 강화를 위디버그 인터페이스를 숨기거나 삭제하여 출시하여 일반적인 디지털 포렌식 방법을 적용X

 

-파일 시스템 식별을 수행하기 위해 사용하는 도구 binwalk는 최신 revision까지도 ext4 파일 시스템 분석이 불가능한 경우가 존재

-binwalk가 ext4 파일 시스템을 정상적으로 추출할 수 있도록 기능 보완이 필요


2.배경 지식&관련 연구

 

-Ext4 파일 시스템

 

ext3 파일 시스템에서 확장성 및 안정성을 향상시키고 디스크 용량 증가와 요구사항 증대에 따라 대용량 파일 시스템을 지원하기 위해 개발

 

-Binwalk

 

펌웨어 이미지를 분석하고 역공학을 적용하여 내부 파일을 추출할 수 있는 python 기반 오픈 소스 소프트웨어

 

-IoT 기기의 디지털 포렌식 과정 중 데이터 추출에 관한 연구

 

1)개념적인 디지털 포렌식 절차의 일부에 해당하는 데이터 추출에 관한 연구

>모두 포괄적인 IoT 디지털 포렌식 과정에 대한 제안이므로 실제 기기의 플래시 메모리로부터 데이터를 추출하는 접근이 아니다.

 

2)실제적 데이터 추출에 관한 연구

>실제 데이터 추출에 대해 더 자세히 다루고 있지만 직접 가이드에 따라 진행하며 데이터를 추출할 수 있을 정도로 상세히 서술되지 않았다.


3.제안하는 방안

 

1)제안하는 IoT 기기에서의 디지털 포렌식 절차

-플래시 메모리 식별 및 사전 조사

-플래시 메모리 통신 인터페이스에 기반한 메모리 이미지 덤프

-바이너리 파일에 binwalk를 사용하여 ext4 파일 시스템 이미지 추출

-loop device 등록 및 파일 시스템 마운트

 

2)binwalk의 ext4 파일 시스템 추출법 제안

binwalk를 사용한 기존 ext4 파일 시스템 분석, 추출에는 크게 두 가지 문제

1)특정 block groupsuperblock의 사본을 만들어 저장하는 특성

~사본 superblock들까지도 개별적인 ext4 파일 시스템으로 인식하는 오류가 발생

2)binwalkext4 파일 시스템 검출 및 표기 규칙

error behavior 필드와 major revision 필드가 같은 0x43C offset 위치에 지정되어 있major revision 부분에 error behavior flag가 표기되는 오류가 발생

3) 제안방안 :: binwalkext4 파일 시스템을 정상적으로 인식하고 추출하는 방안

 

1번 ~ 이전에 식별한 파일의 끝을 기준으로 0x400만큼의 zero padding offset0x438만큼의 offset에 존재하는 superbock magic signature (0xEF53)를 통하여 이미지 분석 도중 가장 처음 만나는superblock을 찾고 offset 0x404에 존재하는 파일 시스템의 block 수 필드 값과 offset 0x418에 존재하는 파일 시스템의 block 크기 정의 필드 값을 통해 block 기를 산출하여 두 값을 곱한 영역만큼을 하나의 파일 시스템으로 인식하도록 한다. 

 

2번 ~ major revision로 인식하는 필드값을 0x44C로 수정하여 정상적으로 superblock의 정보를 확인할 수 있도록 수정


4.PoC: DJI Phantom 4 Pro V2.0

앞서 제시한 절차를 검증하기 위해 DJI Phantom 4 Pro V2.0 드론을 대상으로 PoC를 진행


5.결론

플래시 메모리 칩으로부터 ext4 파일 시스템을 추출하고자 할 때 도움이 될

ext4 파일 시스템 뿐 아니라 IoT 기기로부터의 파일 시스템 추출 절차로 확장할 수 있을 것

 

향후 binwalk 오픈 소스 github에 이상 동작을 수정할 수 있도록 기여할 예정

추출해낸 IoT 기기의 ext4 파일 시스템에서 유용한 정보를 찾는 방법에 대하여 연구하는 것을 목표