본문 바로가기
Forensics/논문리뷰

IoT 기기 플래시 메모리의 Ext4 파일 시스템을 위한 디지털 포렌식 절차

by sseddi 2022. 7. 13.
728x90

정준호, 김범석, 조진성.(2021).IoT 기기 플래시 메모리의 Ext4 파일 시스템을 위한 디지털 포렌식 절차.정보과학회논문지,48(8),865-870.

[원문보기]

https://www.kci.go.kr/kciportal/ci/sereArticleSearch/ciSereArtiView.kci?sereArticleSearchBean.artiId=ART002744012 

 

IoT 기기 플래시 메모리의 Ext4 파일 시스템을 위한 디지털 포렌식 절차

최근 급격한 통신기술의 발달에 따라 IoT(Internet of Things)의 확산이 가속화되고 있으며 IoT 기기는 인간의 삶과 밀접한 분야에서 활용되어 범죄 및 사고 경황 정보 조사에 적극적으로 활용되고 있

www.kci.go.kr

 

요약

IoT 확산 가속화 -> 디포 중요성 부각

문제점 

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

2. binwalk 펌웨어 분석 도구는 ext4 퍄일 시스템에 대한 분석 및 추출을 제대로 수행하지 못함

 

=> 이에 이 논문은

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

2. IoT 기기의 플래시 메모리로부터 ext4 파일 시스템 추출하는 절차를 제안 + 드론으로 PoC를 구현하여 제안하는 절차를 검증 

 

1. 서론

문제점 파악

1) IoT 기기의 포렌식의 어려움

- apple과 FBI의 사례

IoT 기기에 실제 적용 가능한 디지털 포렌식 절차에 대한 연구가 팔요

 

2) 상용 IoT 기기들이 디버그 인터페이스를 삭제 및 은닉

- IoT 기기에서 저장매체 역할을 하는 플래시 메모리로부터 직접 데이터를 추출하는 방법을 사용

IoT 기기의 플래시 메모리 디지털 포렌식을 위해서는 저장 매체의 인터페이스 방식에 따라 경우를 나누어 절차를 수립해야 함

 

3) binwalk 펌웨어 분석 도구는 ext4 파일 시스템을 정상적으로 추출할 수 없는 경우가 존재

- IoT 기기는 데이터 저장을 위해 펌웨어에 파일 시스템을 포함하는 경우 큰 규모와 빠른 읽기/쓰기 속도를 지원하는 ext4 파일 시스템을 사용하는데 그럼에도 불구하고 binwalk는 최신 버전까지도 ext4 파일 시스템 분석이 불가능한 경우가 존재해 문제.

 

2. 배경 지식 & 관련 연구

배경지식

1) Ext4 파일 시스템

ext3 파일 시스템 upgrade version

 

2) binwalk

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

 

관련 연구

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

구분 (a와 b)

a. 개념적인 디지털 포렌식 절차의 일부에 해당하는 데이터 추출

- IoT 기기의 디지털 포렌식 절차에 대한 2019년까지의 연구를 조사

- ISO의 일반적인 사고 조사 프로세스 표준을 충족하는 IoT 디지털 포렌식 조사 프레임워크(DFIF-IoT)를 제안

- 기능별 포렌식, 디지털 포렌식, 포렌식 절차의 세 가지 독립적인 요소로 구성되는 IoT 디지털 포렌식 모델을 제시

 

=> 모두 포괄적인 IoT 디지털 포렌식 과정에 대한 제안

실제 기기의 플래시 메모리로부터 데이터를 추출하는 접근이 아님

 

b. 실제적 데이터 추출

- 휴대폰 포렌식 모버머 실습에서 모바일 포렌식 피라미드를 사용해 단계별 디지털 포렌식을 제안

- 모바일 기기의 디지털 포렌식 안내를 제시

 

=> 데이터를 추출할 수 있을 정도로 상세히 서술되지 않음

 

3. 제안하는 방안

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

IoT 기기로부터 ext4 파일 시스템을 추출하는 과정

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

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

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

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

 

모든 과정이 끝나면 블록 디바이스가 마운트된 폴더에서 추출한 파일 시스템 내부를 확인할 수 있어 파일 시스템 전체를 대상으로 추가 조사가 가능

 

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

- binwalk를 사용한 기존 ext4 파일 시스템 분석 추출의 두 가지 문제점

1. 사본을 만드는 ext4의 superblock로 인해 발생하는 오류

파일 시스템의 중요한 정보를 담고 있기 때문 - 특정 block group에 사본을 저장함

파일 시스템의 원본 suprerblock 외에 사본도 magic signature와 zero padding을 가지고 있어 파일 시스템의 크기가 큰 경우 사본 superblock들을 개별적인 ext4 파일 시스템으로 인식하는 오류가 발생.

 

2. binwalk의 ext4 파일 시스템 검출 및 표기 규칙에 따른 오류

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

 

=> 위 문제를 해결하기 위해 본 논문에서는 binwalk가 ext4 파일 시스템을 정상적으로 인식하고 추출하는 방안을 제안

 

문제 1 해결

이전에 식별한 파일의 끝 을 기준으로 0x400만큼의 zero padding offset과 0x438 만큼의 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

Proof of Concept

드론으로 직접 확인

내용 생략

 

5. 결론

IoT 기기에서 플래시 메모리로부터 ext4 파일 시스템을 추출하는 절차를 설명하고 ext4 파일 시스템 추출법을 제안

향후 binwalk 오픈 소스 github에 이상 동작을 수정할 수 있 도록 기여할 예정이며, 추출해낸 IoT 기기의 ext4 파일 시스템에서 유용한 정보를 찾는 방법에 대하여 연구하 는 것을 목표로 함.

 

 

 

728x90

댓글