KR20090002208A - 디지털 포렌식 시스템 및 그 방법 - Google Patents
디지털 포렌식 시스템 및 그 방법 Download PDFInfo
- Publication number
- KR20090002208A KR20090002208A KR1020070061186A KR20070061186A KR20090002208A KR 20090002208 A KR20090002208 A KR 20090002208A KR 1020070061186 A KR1020070061186 A KR 1020070061186A KR 20070061186 A KR20070061186 A KR 20070061186A KR 20090002208 A KR20090002208 A KR 20090002208A
- Authority
- KR
- South Korea
- Prior art keywords
- target board
- flash memory
- data
- forensic
- file system
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/577—Assessing vulnerabilities and evaluating computer system security
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B7/00—Radio transmission systems, i.e. using radiation field
- H04B7/24—Radio transmission systems, i.e. using radiation field for communication between two or more posts
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W88/00—Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
- H04W88/02—Terminal devices
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Debugging And Monitoring (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
본 발명은 이동 통신 단말기의 디지털 증거 자료의 분석 및 복원 기술에 관한 것이다. 본 발명의 디지털 포렌식(Digital Forensic) 시스템은 모바일 장치의 JTAG 포트를 확인하고, 상기 모바일 장치와 JTAG 에뮬레이터를 연결하고, 상기 모바일 장치에 탑재된 플래시 메모리의 파일 시스템을 분석하고, 상기 플래시 메모리의 데이터를 덤프받고, 상기 덤프된 데이터를 분석하여 상기 디지털 포렌식의 증거 자료를 출력하는 것을 포함한다.
Description
도 1은 본 발명에 따른 디지털 포렌식 시스템을 도시한 블럭도,
도 2는 도 1에 도시된 포렌식 서버를 도시한 블럭도,
도 3은 도 1에 도시된 타겟 보드를 도시한 블럭도,
도 4는 본 발명에 따른 디지털 포렌식 방법을 도시한 순서도,
도 5는 도 1에 도시된 타겟 보드와 JTAG 포트의 연결을 도시한 도면,
도 6은 도 4에 도시된 타겟 보드 내에 JTAG의 존재를 확인하는 순서도,
도 7은 도 4에 도시된 타겟 보드의 플래시 메모리로부터 정보를 추출하는 순서도,
도 8은 도 7에서 추출한 정보를 분석하여 증거 자료를 생성하는 순서도,
도 9는 도 8에서 분석된 증거자료를 예시하는 도면.
*도면의 주요 부분에 대한 부호의 설명*
10 : 타겟 보드 11 : 모바일 장치
12 : 플래시 메모리 13 : JTAG 포트
14 : 24핀 포트 20 : JTAG 에뮬레이터
30 : 포렌식 서버 32 : 패러랠 포트
33 : 시리얼 포트 34 : USB 포트
100 : 디지털 포렌식 시스템
본 발명은 디지털 포렌식(Digital Forensics)에 관한 것으로, 더 구체적으로는 휴대용 정보/통신 장치로부터 증거 자료를 복원 및 분석하는 기술에 관한 것이다.
디지털 포렌식이란 디지털 증거를 수집하여 분석하는 기술이다. 이 디지털 포렌식은 증거의 수집, 보존, 분석, 문서화, 그리고 재판 과정에 증거로 제출하기까지의 모든 과정을 포함한다.
최근 정보의 생산 및 유통에 있어서 디지털 형태의 정보가 약 95% 이상을 차지하고 있다. 디지털 기술의 발달로 범죄 증거는 네트워크, 인터넷, 데이터 베이스, 모바일 장치 등 다양한 곳에서 존재한다. 휴대폰, PDA, 전자수첩, 디지털 카메라, MP3 플레이어, 캠코더, 휴대용 메모리 카드 등과 같은 휴대용 개인 디지털 장치는 작고 휴대가 용이하므로 범죄 증거의 은닉이 편리하다. 증거 확보의 필요성이 있는 경우, 이러한 개인 디지털 장치로부터 필요한 정보를 입수하여 분석하고 범죄 증거를 확보하는 것은 매우 중요하다.
디지털 증거 수집 및 분석 과정은 기술적으로 복잡하고 난해하여 분석가의 전문성에 의해 증거의 무결성과 신뢰성이 결정된다. 휴대용 개인 디지털 장치에 대한 다양한 방법론 및 디지털 포렌식 솔루션에 대한 연구의 필요성이 증대되고 있 다. 따라서, 디지털 증거 수집 및 분석 과정의 수준 향상을 위해 많은 IT 전문가의 참여와 디지털 포렌식 기술에 대한 연구가 필요하다.
따라서 본 발명의 목적은 디지털 포렌식 시스템과 그 방법을 제공한다.
본 발명은 휴대용 개인 정보/통신 단말기 또는 모바일 장치의 디지털 증거 자료를 분석 및 복원하는 디지털 포렌식 기술을 제공한다. 디지털 포렌식에서는 휴대용 단말기 상의 모든 정보, 예컨데, 휴대폰의 제품 정보, 사용자 정보, 모든 저장된 데이터 및 삭제 영역 및 훼손 영역 등이 필요하다. 본 발명의 시스템 및 방법은 휴대용 단말기로부터 그러한 정보를 획득하고, 인증된 분석 도구를 통하여 디지털 증거 자료로서 생성한다.
본 발명에 따른 디지털 포렌식 시스템은 플래시 메모리(또는 플래시 SSD)를 실장하도록 구성된 타겟 보드를 포함한다. 이 타겟 보드는 메모리 제어기를 갖는다. 본 발명의 포렌식 시스템은 상기 타겟 보드와의 연결에 응답하여 파일 시스템 분석 코드를 상기 타겟 보드로 전송하는 타겟 보드 제어 장치를 더 포함한다.
상기 메모리 제어기는 상기 전송된 파일 시스템 분석 코드에 응답하여 동작하며, 상기 플래시 메모리에 저장된 맵핑 테이블에 관계없이 상기 플래시 메모리에 저장된 데이터 모두가 상기 타겟 보드 제어 장치로 전송되도록 상기 플래시 메모리를 제어한다. 상기 파일 시스템 분석 코드는 리맵핑 명령어를 포함한다.
상기 메모리 제어기는 상기 파일 시스템 분석 코드에 응답하여 상기 플래시 메모리의 코드 영역에 저장된 파일 시스템 정보를 분석하고, 분석된 결과를 상기 타겟 보드 제어 장치로 전송한다. 또, 상기 메모리 제어기는 삭제되지 않은 데이터로서 읽혀지도록 상기 리맵핑 명령어에 응답하여 상기 플래시 메모리의 삭제된 데이터에 대한 맵핑 정보를 변경한다.
상기 타겟 보드 제어 장치는 상기 전송된 분석 결과에 따라 바이너리 데이터인 상기 전송된 데이터를 의미 있는 데이터로 변환한다. 상기 분석 결과는 상기 플래시 메모리에 저장된 데이터의 폴더 및 파일 구조들, 상기 폴더 구조에 속하는 각 폴더의 시작 및 종료 어드레스들, 그리고 상기 폴더들 각각에 속하는 파일 구조의 헤더, 데이터 및 트레일러 영역들을 포함한다.
상기 메모리 제어기는 상기 변경된 맵핑 정보에 대응하는 데이터가 상기 타겟 보드 제어 장치로 전송되도록 상기 플래시 메모리를 제어한다.
상기 타겟 보드 제어 장치는 상기 전송된 분석 결과에 따라 상기 삭제된 데이터로서 상기 변경된 맵핑 정보에 대응하는 데이터를 변환한다.
상기 타겟 보드는 JTAG 포트를 통해 상기 타겟 보드 제어 장치와 연결된다.
상기 타겟 보드 제어 장치는 포렌식 서버와; 그리고 상기 JTAG 포트에 연결되며, 상기 포렌식 서버와 상기 타겟 보드를 인터페이스하도록 구성된 에뮬레이터를 포함한다.
상기 타겟 보드는 플래시 메모리를 포함한 모바일 장치를 실장하도록 구성된다.
상기 타겟 보드의 모바일 장치는 직렬 인터페이스 방식으로 상기 타겟 보드 제어 장치에 연결된다.
(실시예)
이하 본 발명에 실시예에 따른 첨부된 도면들을 참조하여 상세히 설명한다.
도 1은 본 발명에 따른 디지털 포렌식 시스템을 도시한 블럭도이다. 도 1을 참조하면, 디지털 포렌식 시스템(100)은 타겟 보드(10), JTAG 에뮬레이터(20), 그리고 포렌식 서버(30)를 포함한다.
타겟 보드(Target Board : 10)는 휴대폰과 같은 모바일 장치(11) 또는 플래시 메모리(4)를 실장되도록 구성된다. 타겟 보드(10)은 JTAG 포트(13)과 표준 24핀 포트(14)를 갖는다. JTAG 에뮬레이터(Joint Test Action Group Emulator : 20)는 포렌식 서버(30)의 제어에 응답하여 타겟 보드(10)의 플래시 메모리(4)로부터 저장된 정보를 추출한다. 포렌식 서버(30)는 JTAG 에뮬레이터(20)를 제어하고, 추출된 정보를 분석하여 증거 자료를 생성한다.
포렌식 서버(30)는 JTAG 에뮬레이터(20)를 이용하여 타겟 보드(10)로부터 정보를 추출하고, 추출된 정보를 가공하는 소프트웨어를 포함한다. 따라서, 본 발명에 따른 디지털 포렌식 시스템(100)은 타겟 보드(10) 내에 저장된 정보를 추출하고 가공하여 법정에서 사용할 수 있는 증거를 제공한다.
또한, 포렌식 서버(30)는 시리얼 포트(Serial Port : 32) 또는 USB 포트(Universal Serial Bus Port : 33)와 타겟 보드(10)의 표준 24핀 포트(14)를 연결하여 통신한다. 이 경우는 타겟 보드(10)의 제조사로부터 제공되는 공개 소프트웨어를 이용하여 타겟 보드(10)의 플래시 메모리(4)에 저장된 정보를 독출하거나 기입할 수 있다.
제조사로부터 제공되는 공개 소프트웨어를 이용하는 경우 플래시 메모리(4)에 저장된 정보를 독출하는 것은 제한적이다. 예를 들면, 포렌식 서버(30)는 삭제되지 않은 유효한 정보 중 문자 정보, 음성 정보, 동영상 정보, 사진 정보, 전화번호부 등을 플래시 메모리(4)로부터 추출할 수 있다. 그러나, 삭제된 정보 또는 통화 내역(즉, 발신 전화번호 및 수신 전화번호) 등에 관한 정보는 알 수 없다. 타겟 보드(10)의 제조사는 자신들의 소프트웨어를 통하여 삭제된 정보 또는 통화 내역에 관한 정보를 제공할 수도 있으나 이것은 개인의 사생활을 침해할 우려가 있을 뿐만 아니라, 제조사는 이러한 정보를 제공할 필요를 느끼지 않는다. 또한, 타겟 보드(10)는 여러 제조사에서 각각 제조하기 때문에, 제조사에서 제공되는 소프트웨어들 간에는 서로 호환되지 않는다.
포렌식 서버(30)에 대한 상세한 설명은 도 2에서 언급한다.
도 2는 도 1에 도시된 포렌식 서버를 도시한 블럭도이다.
도 1 내지 도 2를 참조하면, 포렌식 서버(30)은 포렌식 구동부(40), OS(Operating System : 50), 증거자료 저장부(60), 패러랠 포트(Parallel Port : 31), 시리얼 포트(Serial Port : 32), 그리고 USB 포트(Universal Serial BUS Port : 33)를 포함한다.
OS(50)는 포렌식 서버(30)를 구동하는 오퍼레이팅 시스템(예컨대, Windows XP 또는 LINUX)을 의미한다. 여기서는 포렌식 서버(30)가 Windows XP 상에서 구동되는 것을 예로서 설명한다.
증거 자료 저장부(60)는 포렌식 구동부(40)에 의하여 분석된 자료를 저장한다.
포렌식 구동부(40)는 타겟 보드(10)내의 낸드 플래시 메모리에 저장된 파일 시스템(File System)을 분석하고, 낸드 플래시 메모리에 저장된 데이터를 덤프(Dump)하도록 하는 파일시스템 분석코드(FS_anal_code)(41), JTAG 에뮬레이터(20)를 제어하기 위한 에뮬레이터 기능(42), 덤프된 데이터를 분석하는 데이터 분석 기능(43), 데이터 분석 기능(43)으로부터 분석된 데이터를 통계 및 관리하여 리포트하는 통계/관리 리포트 기능(44), 플래시 메모리의 DM(Diagnostic Monitor)(즉, 분석관찰)을 수행하는 Flash/DM 기능(45), 증거자료 저장부(60)를 생성하는 DB/log 처리(46), 그리고 앞에서 언급한 기능 블럭들(41-46)을 사용자 인터페이스(UI:User Interface)로 연결하여 타겟 보드(10)의 처리 상태를 표시하는 U/I 블럭(47)을 포함한다.
포렌식 구동부(40)는 패러렐 포트(31), 또는 시리얼 포트(32)와 USB포트(31)로 JTAG 에뮬레이터(20)와 연결되는 방법과, 시리얼 포트(32) 또는 USB 포트(33)는 타겟 보드(10)의 표준 24핀 포트(14)와 연결되는 방법 모두를 지원한다.
도 3은 도 1에 도시된 타겟 보드를 상세히 도시한 블럭도이다.
본 발명은 모바일의 프로세서인 퀄컴(Qualcomm) 사에서 제공하는 MSM6100에서 MSM6500 사이의 모델을 기준으로 예시된다. 퀄컴 사에서 제공하는 MSM(Mobile Station Modem) 칩에는 ARM 프로세서가 탑재된다. MSM 칩의 모델에 따라 ARM 프로세서의 종류 및 버전이 다르기 때문에 플래시 메모리를 제어하는 명령어 셋이 조금 달라진다.
도 3을 참조하면, 타겟 보드(10)는 메모리 컨트롤러(1), DRAM(2), 및 낸드 플래시 메모리(4)를 포함한다. CDMA(Code Division Multiple Access) 타입의 모바일에 내장되는 메모리 컨트롤러(1)는 퀄컴 사에서 제공하는 MSM 칩을 의미한다.
메모리 컨트롤러(1)는 TAP 컨트롤러(8)를 포함한다. TAP 컨트롤러(8)는 명령어 레지스터(IR : Instruction Register), 데이터 레지스터(DR : Data Register) 등을 포함한다. TAP 컨트롤러(8)의 상태는 TAP(Test Access Port)의 상태에 따라 변한다. 더 구체적으로 말하면 TAP 컨트롤러(8)의 상태는 JTAG 포트인 TDI(Test Data In), TDO(Test Data Out), TMS(Test Mode Select), TCK(Test Clock), TRST(Test Reset) 포트 등의 상태에 따라 변한다.
DRAM(2)은 타겟 보드(10)를 구동하는 메인 메모리 역할을 수행하고, 빈 공간(3)을 포함한다. 낸드 플래시 메모리(4)는 타겟 보드(10)를 구동하는 부팅 코드 및 데이터를 저장하고, 코드 영역(5), 데이터 영역(6), 그리고 빈 공간영역(7)을 포함한다.
도 4은 본 발명에 따른 디지털 포렌식 방법을 도시한 순서도이다.
용의자 또는 피의자는 자신의 범죄사실을 인멸하기 위하여 자신의 범죄사실이 저장된 모바일 장치를 고의로 파손하는 경우가 발생한다. 범죄사실이 저장된 모바일 장치는 법정에서 증거 자료로서 사용된다. 모바일에 저장된 증거 자료로는 사진, 동영상, 통화 내역, 음성녹음, 음성 녹음된 통화 내용, 문자 메시지, 전화번호부 등이 있다.
도 3 및 도 4를 참조하면, 사용자는 모바일 장치에 전원을 인가하여 모바일 장치가 정상 동작을 수행하는지를 판단한다(410). 모바일 장치가 파손된 경우라도 모바일 장치가 정상 동작을 수행한다면, 포렌식 서버(30)는 모바일 장치의 메인 보드(10)와 에뮬레이터를 연결하여 모바일 장치의 메인 보드(10)에 JTAG 포트가 존재하는지를 판단한다(420). 모바일 장치가 정상 동작을 수행하지 않는 경우, 사용자는 모바일 장치로부터 플래시 메모리 만을 따로 떼내어 타겟 보드에 탑재한다(430). 즉, 타겟 보드는 모바일 장치의 메인 보드와 기능적으로 동일한 환경을 가지도록 구성된 시뮬레이션 보드(Simulation Board) 또는 평가 보드(Evaluation Board)이다.
대부분의 메이저 모바일 장치 제조 회사에서 제조되는 모바일 장치의 메인 보드는 JTAG 포트를 갖는다. 제조사들은 모바일 장치의 메인 보드를 테스트하고 분석하는 기능을 수행하기 위하여 JTAG 포트를 활용한다. 그러나, 일부 모바일 장치 제조 회사는 모바일 장치의 JTAG 포트를 연결할 수 없는 상태의 제품을 판매한다.
JTAG 에뮬레이터(20)는 모바일 장치에 JTAG 포트가 존재하는지 판단한다(420). 만약 JTAG 포트가 없는 모바일 장치라면 그 모바일 장치에 탑재된 플래시 메모리를 떼어내어 평가 보드에 장착한다(430). 모바일 장치에 JTAG 포트가 있는 경우 포렌식 서버(30)는 JTAG 에뮬레이터(20)를 통하여 모바일 장치 내의 플래시 메모리의 파일 시스템을 분석하고 플래시 메모리에 저장된 바이너리 데이터(Binary Data)를 덤프받는다(440). 포렌식 서버(30)는 덤프받은 바이너리 데이터를 분석한다(450).
모바일의 메인보드에 JTAG 포트가 탑재되는가를 확인하는 상세한 방법에 관해서는 도 5와 도 6에서 설명한다. 모바일내의 낸드 플래시 메모리의 파일 시스템을 분석하고 낸드 플래시 메모리에 저장된 바이너리 데이터(Binary Data)를 덤프받는 상세한 방법에 관해서는 도 7에서 설명한다. 도 7에서 덤프받은 바이너리 데이터를 분석하는 상세한 방법에 관해서는 도 8에서 설명한다.
도 5는 도 1에 도시된 타겟 보드와 JTAG 포트의 연결을 도시한 도면이고, 도 6은 도 4에 도시된 타겟 보드내에 JTAG의 존재를 확인하는 순서도이다.
도 5를 참조하면, 타겟 보드(10)는 JTAG 포트(13)로써 VCC, nTRST, TDO, TDI, nQREQ, TCK, TMS, nSRESET, nHRESET, nCKSTOP, 및 nQACK 포트들을 제공한다. 타겟 보드(10)의 JTAG 포트(13)는 JTAG 에뮬레이터(20)의 케이블(21)과 연결된다. 본 발명에서 JTAG 에뮬레이터(20)의 케이블(21)은 핀 간격이 2.54mm인 표준 16핀 2열 커넥터를 예시한다.
nTRST, TDO, TDI, TCK, TMS, 및 nHRESET 포트들에는 풀업 저항(Rpu)이 달려있다. 풀업 저항은 10KΩ 또는 4.7KΩ 의 저항값을 갖는다. 또한, nQACK 포트에는 풀다운 저항(Rpd)이 달려있다. 풀다운 저항(Rpd)의 저항값은 100Ω이다.
JTAG 포트를 제공하는 모바일 장치 제조사는 JTAG의 기본 인터페이스로서 nTRST, TDO, TDI, TCK, 및 TMS 포트들을 공개하고, 그 외의 포트들에 대해서는 공개하지 않는다. 만약 모든 JTAG 포트들을 공개한다면 제조사의 기술이 노출될 수 있다.
타겟 보드(10)의 JTAG 포트를 통하여 JTAG 에뮬레이터(20)는 타겟 보드(10) 를 제어하기 위해서는 공개되지 않은 포트들이 어떤 것들인지 확인한다. 즉, 포렌식 서버(30)는 nPRESENT, nQREQ, nSRESET, nHRESET, nCKSTOP, 및 nQACK 포트들을 확인하기 위하여 JTAG 에뮬레이터(20)에 여러 가지 패턴들을 입력하고 출력되는 신호를 분석하여 타겟 보드(10)에 연결된 포트들이 어떤 포트들인가를 확인한다. 또한, 도 6에서 제공하는 JTAG 포트의 존재 확인 방법에 따라 공개되지 않는 포트들에 임의 패턴을 인가하고 출력되는 신호를 분석하여 타겟 보드(10)의 JTAG 포트들과 JTAG 에뮬레이터(20)의 케이블이 연결되도록 한다.
예를 들면, 본 발명은 퀄컴 사로부터 제공되는 8개의 핀 정의를 통해 JTAG 인터페이스를 확인한다. nSRESET과 nCKSTOP 포트들은 일반적으로 연결되지 않는다. nQACK 포트는 MSM 칩이 없는 경우에는 내부 접지전압 또는 풀다운 저항이 달려있다. nQREQ 포트의 출력 신호는 MSM 칩이 저전원(low power) 모드 또는 슬립(sleep) 모드인 경우 활성화된다. 또는, CKSTOP 포트는 출력 신호가 인가되면, MSM 칩이 체크 스톱(check stop) 모드가 된다. 즉, CKSTOP(check stop) 신호가 활성화되면 내부 하드 리셋 시퀀스(Hard Reset Sequence)가 발생한다. PRESENT 핀은 외부 디버거(External Debugger)가 연결될 경우 PRESENT 핀은 디버거에 의해 풀 다운(Pull-down)된다. 즉, 본 발명은 공개되지 않는 포트들의 특성을 이용하여 각 포트들이 JTAG 에뮬레이터의 몇 번 케이블 핀들과 연결되는지를 확인한다.
도 6에서 기술하는 JTAG(Joint Test Action Group) 에뮬레이터에 관한 설명은 표준 IEEE 1149.1-1990, IEEE Standard Test Access Port and Boundary-Scan Architecture에 따른다.
도 3, 도 5, 및 도 6을 참조하면, JTAG 에뮬레이터(20)는 포렌식 서버(30)의 제어에 따라 타겟 보드(10)의 TAP 컨트롤러(8)의 상태를 "Run Test Idle" 상태로 설정한다(421). 명령어 레지스터(IR)에 "Bypass" 명령어를 입력한다(422). TAP 컨트롤러(8)는 "Bypass" 명령어에 의하여 TDI 포트로 입력되는 신호를 순차적으로 바이너리 스캔 레지스터들을 통과하여 TDO 포트로 출력된다. JTAG 에뮬레이터(20)는 포렌식 서버(30)의 제어에 따라 임의의 데이터 패턴을 TDI 포트에 순차적으로 입력한다(423). JTAG 에뮬레이터(20)는 TDO 포트에서 나오는 패턴이 TDI 포트에 입력한 패턴과 동일한가를 판단한다(424). 만약 동일하다면 타겟 보드(10)는 JTAG 인터페이스의 존재를 확인한 것이다(425). 그렇지 않은 경우 타겟 보드(10)는 JTAG 인터페이스의 부존재를 확인한 것이다(426).
도 7은 도 4에 도시된 타겟 보드의 플래시 메모리로부터 정보를 추출하는 순서도이다. 도 3과 도 7을 참조하면, 메모리 컨트롤러(1)는 포렌식 서버(30)의 제어에 응답하여 DRAM(2)의 빈 블럭(3) 또는 플래시 메모리(4)에 빈 블럭(7)의 위치를 확인한다(441).
DRAM(2)의 빈 블럭(3) 또는 플래시 메모리(4)의 빈 블럭(7)에는 포렌식 서버(30)에 저장된 파일시스템 분석코드(FS_anal_code)가 JTAG 에뮬레이터(20)를 통하여 저장된다(442). 파일시스템 분석코드(FS_anal_code)는 플래시 메모리의 파일 시스템을 분석하는 명령어 셋(Instruction Set)으로 구성된다.
파일시스템 분석코드(FS_anal_code)는 메모리 컨트롤러(1)에 의해서 실행된다(443). 메모리 컨트롤러(1)는 파일시스템 분석 코드(FS_anal_code)에 따라 플래 시 메모리 영역 중에서 코드영역을 확인한다(444). 메모리 컨트롤러(1)는 파일시스템 분석 코드(FS_anal_code)에 따라 플래시 메모리의 파일 시스템 구조를 분석한다(445). 예를 들면, 낸드 타입의 플래시 메모리의 경우, 그 메모리의 파일 시스템으로부터 데이터 영역에서 시작 및 종료 어드레스, 사진 데이터가 저장된 어드레스, 동영상 데이터가 저장된 어드레스, 문자 데이터가 저장된 어드레스, 삭제된 정보를 저장하는 어드레스 등에 대한 정보를 분석한다. 메모리 컨트롤러(1)는 분석된 정보를 포렌식 서버(30)에 리턴(Return)한다(446). 메모리 컨트롤러(1)는 플래시 메모리의 바이너리 데이터(Binary Data)를 포렌식 서버(30)에 덤프한다(447).
예를 들면, 만약 낸드 플래시 메모리 내에 임의의 정보가 삭제된다면, 낸드 플래시 메모리의 맵핑 테이블(Mapping Table)은 삭제된 정보를 독출할 수 없도록 표시(Marking)한다. 이는 종래의 방법에 의해서는 삭제된 정보를 독출하는 것이 불가능함을 의미한다.
따라서, 낸드 플래시 메모리의 파일 시스템 구조의 특성 중에 낸드 플래시 메모리의 성능 향상을 위한 FTL(Flash Translation Layer) 구조를 이용하여, 표시된 맵핑 테이블 내의 삭제 영역을 리맵핑 하는 방법을 구현하였다.
메모리 컨트롤러(1)는 파일시스템 분석 코드(FS_anal_code)에 따라 삭제된 정보 표시를 리맵핑하는 명령어를 수행하여 삭제된 정보를 포함하는 모든 데이터 정보를 포렌식 서버(30)에 덤프할 수 있다.
또한, JTAG 에뮬레이터(20)는 디버거(Debugger)의 기능을 수행한다. 즉, JTAG 에뮬레이터(20)는 메모리 컨트롤러(1)에 포함된 MMU(Memory Management Unit) 를 직접 제어하여 삭제된 정보를 포함한 모든 데이터를 포렌식 서버(30)에 덤프할 수 있다.
메모리 컨트롤러(1)는 파일시스템 분석코드(FS_anal_code)에 따라 낸드 플래시 메모리 영역 중에서 코드영역을 확인하고, 코드 영역에 저장된 낸드 플래시 메모리의 파일 시스템을 분석한다. 즉, 낸드 플래시 메모리의 파일 시스템의 분석을 통하여 덤프받은 바이너리 데이터를 의미있는 데이터로 변환가능하게 한다.
도 8은 도 7에서 추출한 정보를 분석하여 증거자료를 생성하는 순서도이고, 도 9는 도 8에서 분석된 증거자료를 예시하는 도면이다.
도 3과 도 8을 참조하면, 포렌식 서버(30)는 바이너리 데이터를 저장한다. 포렌식 서버(30)는 덤프받은 바이너리 데이터의 전체 구조를 확인한다(451). 즉, 포렌식 서버(30)는 도 7에서 분석한 플래시 메모리의 파일 시스템의 분석을 통하여 바이너리 데이터의 구조를 확인한다. 예를 들면, 포렌식 서버(30)는 바이너리 데이터의 폴더(folder)의 구조, 각 폴더의 파일 종류를 확인한다.
포렌식 서버(30)는 블럭/페이지 맵(Block/Page Map)을 분석하여 바이너리 데이터를 의미 있는 데이터로 변환한다(452). 예를 들면, 도 9는 바이너리 데이터를 변환하여 얻은 데이터를 예시한다. 디렉토리(Directory) "SKY\SMS\RECV"에는 "RecvData0000" 파일이 있다. "RecvData0000" 파일의 최상위 8 Byte는 메시지의 시작을 의미하고, 32 Byte는 수신/전송자에 관한 정보를 의미하고, 240 Byte는 메시지의 내용에 관한 정보를 의미하고, 12 Byte는 수신/전송에 관한 정보를 의미하고, 그리고 6 Byte는 메시지의 종료를 의미한다.
낸드 플래시 메모리는 여러 블록들로 구성된다. 각 블록들은 여러 개의 고정크기(fixed) 페이지로 나눠진다. 낸드 플래시 메모리는 읽기 동작, 쓰기 동작, 소거 동작, 카피백 등을 수행한다. 읽기 동작은 플래시 메모리로부터 단순히 내용을 읽고, 쓰기 동작은 플래시 메모리로 단순히 내용을 쓰는 것이다. 이 작업들은 모두 페이지 단위로 진행된다. 소거 동작은 블록 단위로 작업되며 플래시 메모리에 새롭게 써야 할 작업이 발생하면 이를 위해서 메모리 내용을 제거한다. 카피백 동작은 플래시 메모리 칩 안의 한 페이지에서 다른 한 페이지로 복사를 하는 기능이다. 각 페이지에는 대역 밖의 데이터(out-of-band data)를 기록하기 위한 몇 바이트의 "여분의 공간(spare area)"이 달려있다.
플래시 메모리의 단점 중에 하나는 덮어쓰기(overwrite)가 불가능하다는 것이다. 즉, 페이지가 변경되면 그 페이지를 바로 덮어쓸 수 없고 반드시 새로운 데이터를 저장하기 위한 새로운 페이지를 할당받아야 한다. 이것은 새로운 페이지(new page)에 새로운 내용이 쓰여질 때 기존 페이지(old page)는 바로 쓸모 없게 되어야만 한다는 것을 의미한다. 즉, 플래시 메모리의 임의의 데이터에 대하여 erase 작업을 하는 경우 임의의 데이터는 실제로 삭제되는 것이 아니라 다른 페이지에 저장된다.
다시 도 3과 도 8을 참조하면, 포렌식 서버(30)는 블럭/페이지 맵(Block/Page Map)을 분석하여 분석된 파일 중에서 삭제된 영역이 있는가를 확인한다(453). 포렌식 서버(30)는 삭제된 영역이 있는가를 판단한다(454).
예를 들면, 플래시 메모리 내에 삭제된 영역이 있다면, 삭제된 영역을 덤프 받기 위하여 삭제된 표시를 리맵핑하는 명령어를 사용하게 된다. 따라서, 리맵핑 명령어의 사용여부를 판단하면 삭제된 영역의 유무를 판단할 수 있다.
만약 삭제된 영역이 있다면 포렌식 서버(30)는 분석된 데이터들을 이용하여 삭제된 영역을 확인하고 삭제된 데이터를 복원한다(455). 그렇지 않은 경우 포렌식 서버(30)는 분석된 데이터들을 이용하여 증거자료를 리포트(Report)한다(456).
예를 들면, 플래시 메모리의 삭제된 영역을 덤프받기 위하여 리맵핑 명령어를 사용하면, 삭제된 데이터의 어드레스를 저장하는 맵핑 테이블은 리맵핑 명령어에 의하여 수정된다. 따라서, 포렌식 서버(30)는 수정된 맵핑 테이블을 이용하여 삭제된 영역의 데이터가 저장된 어드레스를 확인하고, 그 어드레스를 독출하여 삭제된 데이터를 복원한다.
이상에서 도면과 명세서에서 최적 실시예가 개시되었다. 여기서 특정한 용어들이 사용되었으나, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 것을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.
이상에서 설명한 본 발명에 따르면 다양한 모바일 장치로부터 디지털 포렌식을 성공적으로 수행할 수 있다.
Claims (15)
- 메모리 제어기를 포함하며, 플래시 메모리를 실장하도록 구성된 타겟 보드와; 그리고상기 타겟 보드와의 연결에 응답하여 파일 시스템 분석 코드를 상기 타겟 보드로 전송하는 타겟 보드 제어 장치를 포함하며,상기 타겟 보드의 메모리 제어기는 상기 전송된 파일 시스템 분석 코드에 응답하여 동작하며, 상기 플래시 메모리에 저장된 맵핑 테이블에 관계없이 상기 플래시 메모리에 저장된 데이터 모두가 상기 타겟 보드 제어 장치로 전송되도록 상기 플래시 메모리를 제어하는 디지털 포렌식 시스템.
- 제 1 항에 있어서,상기 메모리 제어기는 상기 파일 시스템 분석 코드에 응답하여 상기 플래시 메모리의 코드 영역에 저장된 파일 시스템 정보를 분석하고, 분석된 결과를 상기 타겟 보드 제어 장치로 전송하는 디지털 포렌식 시스템.
- 제 2 항에 있어서,상기 파일 시스템 분석 코드는 리맵핑 명령어를 포함하며,상기 메모리 제어기는 삭제되지 않은 데이터로서 읽혀지도록 상기 리맵핑 명령어에 응답하여 상기 플래시 메모리의 삭제된 데이터에 대한 맵핑 정보를 변경하 는 디지털 포렌식 시스템.
- 제 2 항에 있어서,상기 타겟 보드 제어 장치는 상기 전송된 분석 결과에 따라 바이너리 데이터인 상기 전송된 데이터를 의미있는 데이터로 변환하는 디지털 포렌식 시스템.
- 제 4 항에 있어서,상기 분석 결과는 상기 플래시 메모리에 저장된 데이터의 폴더 및 파일 구조들, 상기 폴더 구조에 속하는 각 폴더의 시작 및 종료 어드레스들, 그리고 상기 폴더들 각각에 속하는 파일 구조의 헤더, 데이터 및 트레일러 영역들을 포함하는 디지털 포렌식 시스템.
- 제 2 항에 있어서,상기 메모리 제어기는 상기 변경된 맵핑 정보에 대응하는 데이터가 상기 타겟 보드 제어 장치로 전송되도록 상기 플래시 메모리를 제어하는 디지털 포렌식 시스템.
- 제 6 항에 있어서,상기 타겟 보드 제어 장치는 상기 전송된 분석 결과에 따라 상기 삭제된 데이터로서 상기 변경된 맵핑 정보에 대응하는 데이터를 변환하는 디지털 포렌식 시 스템.
- 제 1 항에 있어서,상기 타겟 보드는 JTAG 포트를 통해 상기 타겟 보드 제어 장치와 연결되는 디지털 포렌식 시스템.
- 제 1 항에 있어서,상기 타겟 보드 제어 장치는포렌식 서버와; 그리고상기 JTAG 포트에 연결되며, 상기 포렌식 서버와 상기 타겟 보드를 인터페이스하도록 구성된 에뮬레이터를 포함하는 디지털 포렌식 시스템.
- 제 1 항에 있어서,상기 타겟 보드는 플래시 메모리를 포함한 모바일 장치를 실장하도록 구성되는 디지털 포렌식 시스템.
- 제 10 항에 있어서,상기 타겟 보드의 모바일 장치는 직렬 인터페이스 방식으로 상기 타겟 보드 제어 장치에 연결되는 디지털 포렌식 시스템.
- a)플래시 메모리를 포함하는 타겟 보드와의 연결에 응답하여 파일 시스템 분석 코드를 상기 타겟 보드로 전송하고,b)상기 전송된 파일 시스템 분석 코드에 따라 상기 플래시 메모리에 저장된 맵핑 테이블에 관계없이 상기 플래시 메모리에 저장된 데이터 모두가 타겟 보드 제어 장치로 전송하는 것을 포함하는 포렌식 방법.
- 제 12 항에 있어서,상기 타겟 보드 제어장치로의 전송은 상기 파일 시스템 분석 코드에 응답하여 상기 플래시 메모리의 코드 영역에 저장된 파일 시스템 정보를 분석하고, 상기 분석된 결과를 상기 타겟 보드 제어 장치로 전송하는 것을 포함하는 포렌식 방법.
- 제 13 항에 있어서,상기 타겟 보드 제어장치로의 전송은 삭제되지 않은 데이터로서 읽혀지도록 상기 파일 시스템 분석 코드에 포함된 리맵핑 명령어에 응답하여 상기 플래시 메모리의 삭제된 데이터에 대한 맵핑 정보를 변경하는 것을 더 포함하는 포렌식 방법.
- 제 13 항에 있어서,상기 전송된 분석 결과에 따라 바이너리 데이터인 상기 전송된 데이터는 의미있는 데이터로 변환되는 포렌식 방법.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020070061186A KR100901743B1 (ko) | 2007-06-21 | 2007-06-21 | 디지털 포렌식 시스템 및 그 방법 |
PCT/KR2008/003512 WO2008156328A2 (en) | 2007-06-21 | 2008-06-20 | Digital forensic system and method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020070061186A KR100901743B1 (ko) | 2007-06-21 | 2007-06-21 | 디지털 포렌식 시스템 및 그 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20090002208A true KR20090002208A (ko) | 2009-01-09 |
KR100901743B1 KR100901743B1 (ko) | 2009-06-10 |
Family
ID=40156811
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020070061186A KR100901743B1 (ko) | 2007-06-21 | 2007-06-21 | 디지털 포렌식 시스템 및 그 방법 |
Country Status (2)
Country | Link |
---|---|
KR (1) | KR100901743B1 (ko) |
WO (1) | WO2008156328A2 (ko) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8729921B2 (en) | 2010-03-26 | 2014-05-20 | Electronics And Telecommunications Research Institute | Terminal discriminating apparatus and terminal discriminating method using the same |
JP2016139074A (ja) * | 2015-01-29 | 2016-08-04 | 株式会社Screenホールディングス | 検査装置、描画装置及び検査方法 |
KR102260901B1 (ko) * | 2020-04-28 | 2021-06-04 | 주식회사 에스엔티웍스 | 솔리드 스테이트 드라이브(ssd)에 대한 물리적 데이터 수집장치 및 그 수집방법 |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012015363A1 (en) * | 2010-07-30 | 2012-02-02 | Agency For Science, Technology And Research | Acquiring information from volatile memory of a mobile device |
KR101496318B1 (ko) * | 2013-05-30 | 2015-03-03 | 한국전자통신연구원 | 원격 디지털 포렌식 환경에서 보안 제공 장치 및 그 방법 |
US9135472B2 (en) | 2013-10-31 | 2015-09-15 | Square, Inc. | Systems and methods for secure processing with embedded cryptographic unit |
CN104182541A (zh) * | 2014-09-05 | 2014-12-03 | 四川效率源信息安全技术有限责任公司 | 一种展示智能手机数据信息的方法 |
US10410202B1 (en) | 2016-12-31 | 2019-09-10 | Square, Inc. | Expedited booting with brownout monitoring |
US10410189B2 (en) | 2017-09-30 | 2019-09-10 | Square, Inc. | Scanning system with direct access to memory |
KR102335310B1 (ko) * | 2020-04-01 | 2021-12-08 | 주식회사 한컴위드 | 보안 우회를 통한 증거데이터의 포렌식 획득 방법 및 획득 프로그램 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007067425A2 (en) * | 2005-12-06 | 2007-06-14 | David Sun | Forensics tool for examination and recovery of computer data |
-
2007
- 2007-06-21 KR KR1020070061186A patent/KR100901743B1/ko not_active IP Right Cessation
-
2008
- 2008-06-20 WO PCT/KR2008/003512 patent/WO2008156328A2/en active Application Filing
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8729921B2 (en) | 2010-03-26 | 2014-05-20 | Electronics And Telecommunications Research Institute | Terminal discriminating apparatus and terminal discriminating method using the same |
JP2016139074A (ja) * | 2015-01-29 | 2016-08-04 | 株式会社Screenホールディングス | 検査装置、描画装置及び検査方法 |
KR102260901B1 (ko) * | 2020-04-28 | 2021-06-04 | 주식회사 에스엔티웍스 | 솔리드 스테이트 드라이브(ssd)에 대한 물리적 데이터 수집장치 및 그 수집방법 |
Also Published As
Publication number | Publication date |
---|---|
WO2008156328A3 (en) | 2009-02-26 |
WO2008156328A2 (en) | 2008-12-24 |
WO2008156328A4 (en) | 2009-04-16 |
KR100901743B1 (ko) | 2009-06-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100901743B1 (ko) | 디지털 포렌식 시스템 및 그 방법 | |
Breeuwsma et al. | Forensic data recovery from flash memory | |
Ayers et al. | Guidelines on mobile device forensics (draft) | |
Sathe et al. | Data acquisition techniques in mobile forensics | |
Klaver | Windows mobile advanced forensics | |
US9262283B2 (en) | Method for reading kernel log upon kernel panic in operating system | |
US20090281771A1 (en) | Testing system for mobile phones and testing method thereof | |
CN104978522A (zh) | 一种检测恶意代码的方法和装置 | |
Karlsson et al. | Android anti-forensics: Modifying cyanogenmod | |
CN102262582A (zh) | 移动终端及其内存泄露检测方法 | |
Kim et al. | Data acquisition from cell phone using logical approach | |
Kong | Data extraction on mtk-based android mobile phone forensics | |
CN101206613A (zh) | 高速基本输入/输出系统调试卡 | |
CN111782474A (zh) | 日志处理方法、装置、电子设备和介质 | |
Fang et al. | Forensic analysis of pirated Chinese Shanzhai mobile phones | |
CN102305906A (zh) | 芯片测试方法及装置 | |
Kumar | Mobile forensics: Tools, techniques and approach | |
CN106528658B (zh) | 应用文件的查找方法及装置 | |
CN105068764B (zh) | 一种模拟NandFlash的装置及方法 | |
CN113220581A (zh) | 老化测试中提取日志的方法、装置、介质和终端 | |
Regan | The forensic potential of flash memory | |
Berte et al. | Fast smartphones forensic analysis results through mobile internal acquisition tool and forensic farm | |
Sansurooah | A forensics overview and analysis of USB flash memory devices | |
CN112347524A (zh) | 闪存编程方法、装置及电子设备 | |
CN113900918B (zh) | 应用性能数据获取方法、装置、计算机设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
N231 | Notification of change of applicant | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20120601 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20130501 Year of fee payment: 5 |
|
LAPS | Lapse due to unpaid annual fee |