KR100901743B1 - Digital forensic system and method - Google Patents

Digital forensic system and method Download PDF

Info

Publication number
KR100901743B1
KR100901743B1 KR1020070061186A KR20070061186A KR100901743B1 KR 100901743 B1 KR100901743 B1 KR 100901743B1 KR 1020070061186 A KR1020070061186 A KR 1020070061186A KR 20070061186 A KR20070061186 A KR 20070061186A KR 100901743 B1 KR100901743 B1 KR 100901743B1
Authority
KR
South Korea
Prior art keywords
target board
flash memory
data
nand flash
file system
Prior art date
Application number
KR1020070061186A
Other languages
Korean (ko)
Other versions
KR20090002208A (en
Inventor
변호철
Original Assignee
유비타스(주)
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 유비타스(주) filed Critical 유비타스(주)
Priority to KR1020070061186A priority Critical patent/KR100901743B1/en
Priority to PCT/KR2008/003512 priority patent/WO2008156328A2/en
Publication of KR20090002208A publication Critical patent/KR20090002208A/en
Application granted granted Critical
Publication of KR100901743B1 publication Critical patent/KR100901743B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/577Assessing vulnerabilities and evaluating computer system security
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B7/00Radio transmission systems, i.e. using radiation field
    • H04B7/24Radio transmission systems, i.e. using radiation field for communication between two or more posts
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/02Terminal devices

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Debugging And Monitoring (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

본 발명은 이동 통신 단말기의 디지털 증거 자료의 분석 및 복원 기술에 관한 것이다. 본 발명의 디지털 포렌식(Digital Forensic) 시스템은 모바일 장치의 JTAG 포트를 확인하고, 상기 모바일 장치와 JTAG 에뮬레이터를 연결하고, 상기 모바일 장치에 탑재된 플래시 메모리의 파일 시스템을 분석하고, 상기 플래시 메모리의 데이터를 덤프받고, 상기 덤프된 데이터를 분석하여 상기 디지털 포렌식의 증거 자료를 출력하는 것을 포함한다.

Figure 112007045079444-pat00001

The present invention relates to a technique for analyzing and restoring digital evidence data of a mobile communication terminal. The digital forensic system of the present invention checks the JTAG port of the mobile device, connects the mobile device and the JTAG emulator, analyzes the file system of the flash memory mounted on the mobile device, and analyzes the data of the flash memory. Receiving a dump, and analyzing the dumped data to output evidence of the digital forensics.

Figure 112007045079444-pat00001

Description

디지털 포렌식 시스템 및 그 방법{DIGITAL FORENSIC SYSTEM AND METHOD}DIGITAL FORENSIC SYSTEM AND METHOD

도 1은 본 발명에 따른 디지털 포렌식 시스템을 도시한 블럭도,1 is a block diagram illustrating a digital forensic system according to the present invention;

도 2는 도 1에 도시된 포렌식 서버를 도시한 블럭도,2 is a block diagram showing the forensic server shown in FIG.

도 3은 도 1에 도시된 타겟 보드를 도시한 블럭도,3 is a block diagram illustrating a target board shown in FIG. 1;

도 4는 본 발명에 따른 디지털 포렌식 방법을 도시한 순서도,4 is a flowchart illustrating a digital forensic method according to the present invention;

도 5는 도 1에 도시된 타겟 보드와 JTAG 포트의 연결을 도시한 도면,FIG. 5 is a diagram illustrating a connection between a target board and a JTAG port illustrated in FIG. 1;

도 6은 도 4에 도시된 타겟 보드 내에 JTAG의 존재를 확인하는 순서도,6 is a flowchart for confirming the existence of a JTAG in the target board shown in FIG.

도 7은 도 4에 도시된 타겟 보드의 플래시 메모리로부터 정보를 추출하는 순서도,7 is a flowchart of extracting information from a flash memory of the target board shown in FIG. 4;

도 8은 도 7에서 추출한 정보를 분석하여 증거 자료를 생성하는 순서도,8 is a flowchart of generating evidence by analyzing information extracted from FIG. 7;

도 9는 도 8에서 분석된 증거자료를 예시하는 도면.9 illustrates the evidence analyzed in FIG. 8.

*도면의 주요 부분에 대한 부호의 설명** Description of the symbols for the main parts of the drawings *

10 : 타겟 보드 11 : 모바일 장치10: target board 11: mobile device

12 : 플래시 메모리 13 : JTAG 포트12: flash memory 13: JTAG port

14 : 24핀 포트 20 : JTAG 에뮬레이터14: 24-pin port 20: JTAG emulator

30 : 포렌식 서버 32 : 패러랠 포트30: forensic server 32: parallel port

33 : 시리얼 포트 34 : USB 포트33: serial port 34: USB port

100 : 디지털 포렌식 시스템100: digital forensic system

본 발명은 디지털 포렌식(Digital Forensics)에 관한 것으로, 더 구체적으로는 휴대용 정보/통신 장치로부터 증거 자료를 복원 및 분석하는 기술에 관한 것이다.TECHNICAL FIELD The present invention relates to digital forensics, and more particularly to techniques for recovering and analyzing evidence data from portable information / communication devices.

디지털 포렌식이란 디지털 증거를 수집하여 분석하는 기술이다. 이 디지털 포렌식은 증거의 수집, 보존, 분석, 문서화, 그리고 재판 과정에 증거로 제출하기까지의 모든 과정을 포함한다.Digital forensics is the technology of collecting and analyzing digital evidence. This digital forensic includes everything from collecting, preserving, analyzing, documenting, and submitting evidence to the trial process.

최근 정보의 생산 및 유통에 있어서 디지털 형태의 정보가 약 95% 이상을 차지하고 있다. 디지털 기술의 발달로 범죄 증거는 네트워크, 인터넷, 데이터 베이스, 모바일 장치 등 다양한 곳에서 존재한다. 휴대폰, PDA, 전자수첩, 디지털 카메라, MP3 플레이어, 캠코더, 휴대용 메모리 카드 등과 같은 휴대용 개인 디지털 장치는 작고 휴대가 용이하므로 범죄 증거의 은닉이 편리하다. 증거 확보의 필요성이 있는 경우, 이러한 개인 디지털 장치로부터 필요한 정보를 입수하여 분석하고 범죄 증거를 확보하는 것은 매우 중요하다.In the recent production and distribution of information, digital form of information accounts for more than 95%. With the development of digital technology, evidence of crime exists in a variety of places, including networks, the Internet, databases, and mobile devices. Portable personal digital devices, such as mobile phones, PDAs, electronic organizers, digital cameras, MP3 players, camcorders, and portable memory cards, are small and portable, making it easy to conceal crime evidence. Where evidence is needed, it is very important to obtain and analyze the necessary information from these personal digital devices and to obtain evidence of crime.

디지털 증거 수집 및 분석 과정은 기술적으로 복잡하고 난해하여 분석가의 전문성에 의해 증거의 무결성과 신뢰성이 결정된다. 휴대용 개인 디지털 장치에 대한 다양한 방법론 및 디지털 포렌식 솔루션에 대한 연구의 필요성이 증대되고 있 다. 따라서, 디지털 증거 수집 및 분석 과정의 수준 향상을 위해 많은 IT 전문가의 참여와 디지털 포렌식 기술에 대한 연구가 필요하다.The process of collecting and analyzing digital evidence is technically complex and difficult, so the integrity and reliability of the evidence is determined by the analyst's expertise. There is an increasing need for research on various methodologies and digital forensic solutions for portable personal digital devices. Therefore, the participation of many IT professionals and the study of digital forensic technology are required to improve the level of digital evidence collection and analysis process.

따라서 본 발명의 목적은 디지털 포렌식 시스템과 그 방법을 제공한다.It is therefore an object of the present invention to provide a digital forensic system and method thereof.

본 발명은 휴대용 개인 정보/통신 단말기 또는 모바일 장치의 디지털 증거 자료를 분석 및 복원하는 디지털 포렌식 기술을 제공한다. 디지털 포렌식에서는 휴대용 단말기 상의 모든 정보, 예컨데, 휴대폰의 제품 정보, 사용자 정보, 모든 저장된 데이터 및 삭제 영역 및 훼손 영역 등이 필요하다. 본 발명의 시스템 및 방법은 휴대용 단말기로부터 그러한 정보를 획득하고, 인증된 분석 도구를 통하여 디지털 증거 자료로서 생성한다.The present invention provides a digital forensic technique for analyzing and restoring digital evidence of a portable personal information / communication terminal or mobile device. In digital forensics, all information on a portable terminal is required, for example, product information of a mobile phone, user information, all stored data, an erased area, and a damaged area. The system and method of the present invention obtain such information from a portable terminal and generate it as digital evidence through an authorized analysis tool.

본 발명에 따른 디지털 포렌식 시스템은 플래시 메모리(또는 플래시 SSD)를 실장하도록 구성된 타겟 보드를 포함한다. 이 타겟 보드는 메모리 제어기를 갖는다. 본 발명의 포렌식 시스템은 상기 타겟 보드와의 연결에 응답하여 파일 시스템 분석 코드를 상기 타겟 보드로 전송하는 타겟 보드 제어 장치를 더 포함한다.The digital forensic system according to the present invention includes a target board configured to mount a flash memory (or flash SSD). This target board has a memory controller. The forensic system of the present invention further includes a target board control device for transmitting a file system analysis code to the target board in response to the connection with the target board.

상기 메모리 제어기는 상기 전송된 파일 시스템 분석 코드에 응답하여 동작하며, 상기 플래시 메모리에 저장된 맵핑 테이블에 관계없이 상기 플래시 메모리에 저장된 데이터 모두가 상기 타겟 보드 제어 장치로 전송되도록 상기 플래시 메모리를 제어한다. 상기 파일 시스템 분석 코드는 리맵핑 명령어를 포함한다.The memory controller operates in response to the transmitted file system analysis code and controls the flash memory so that all data stored in the flash memory is transmitted to the target board control device regardless of the mapping table stored in the flash memory. The file system analysis code includes a remapping instruction.

상기 메모리 제어기는 상기 파일 시스템 분석 코드에 응답하여 상기 플래시 메모리의 코드 영역에 저장된 파일 시스템 정보를 분석하고, 분석된 결과를 상기 타겟 보드 제어 장치로 전송한다. 또, 상기 메모리 제어기는 삭제되지 않은 데이터로서 읽혀지도록 상기 리맵핑 명령어에 응답하여 상기 플래시 메모리의 삭제된 데이터에 대한 맵핑 정보를 변경한다.The memory controller analyzes file system information stored in a code area of the flash memory in response to the file system analysis code, and transmits the analyzed result to the target board control device. The memory controller also changes the mapping information for the deleted data in the flash memory in response to the remapping command to be read as undeleted data.

상기 타겟 보드 제어 장치는 상기 전송된 분석 결과에 따라 바이너리 데이터인 상기 전송된 데이터를 의미 있는 데이터로 변환한다. 상기 분석 결과는 상기 플래시 메모리에 저장된 데이터의 폴더 및 파일 구조들, 상기 폴더 구조에 속하는 각 폴더의 시작 및 종료 어드레스들, 그리고 상기 폴더들 각각에 속하는 파일 구조의 헤더, 데이터 및 트레일러 영역들을 포함한다.The target board controller converts the transmitted data, which is binary data, into meaningful data according to the transmitted analysis result. The analysis result includes folder and file structures of data stored in the flash memory, start and end addresses of each folder belonging to the folder structure, and header, data and trailer areas of a file structure belonging to each of the folders. .

상기 메모리 제어기는 상기 변경된 맵핑 정보에 대응하는 데이터가 상기 타겟 보드 제어 장치로 전송되도록 상기 플래시 메모리를 제어한다.The memory controller controls the flash memory so that data corresponding to the changed mapping information is transmitted to the target board control device.

상기 타겟 보드 제어 장치는 상기 전송된 분석 결과에 따라 상기 삭제된 데이터로서 상기 변경된 맵핑 정보에 대응하는 데이터를 변환한다.The target board controller converts the data corresponding to the changed mapping information as the deleted data according to the transmitted analysis result.

상기 타겟 보드는 JTAG 포트를 통해 상기 타겟 보드 제어 장치와 연결된다.The target board is connected to the target board control device through a JTAG port.

상기 타겟 보드 제어 장치는 포렌식 서버와; 그리고 상기 JTAG 포트에 연결되며, 상기 포렌식 서버와 상기 타겟 보드를 인터페이스하도록 구성된 에뮬레이터를 포함한다.The target board control device includes a forensic server; And an emulator connected to the JTAG port and configured to interface the forensic server with the target board.

상기 타겟 보드는 플래시 메모리를 포함한 모바일 장치를 실장하도록 구성된다.The target board is configured to mount a mobile device including a flash memory.

상기 타겟 보드의 모바일 장치는 직렬 인터페이스 방식으로 상기 타겟 보드 제어 장치에 연결된다.The mobile device of the target board is connected to the target board control device in a serial interface manner.

(실시예)(Example)

이하 본 발명에 실시예에 따른 첨부된 도면들을 참조하여 상세히 설명한다. Hereinafter, with reference to the accompanying drawings according to an embodiment of the present invention will be described in detail.

도 1은 본 발명에 따른 디지털 포렌식 시스템을 도시한 블럭도이다. 도 1을 참조하면, 디지털 포렌식 시스템(100)은 타겟 보드(10), JTAG 에뮬레이터(20), 그리고 포렌식 서버(30)를 포함한다. 1 is a block diagram illustrating a digital forensic system according to the present invention. Referring to FIG. 1, the digital forensic system 100 includes a target board 10, a JTAG emulator 20, and a forensic server 30.

타겟 보드(Target Board : 10)는 휴대폰과 같은 모바일 장치(11) 또는 플래시 메모리(4)를 실장되도록 구성된다. 타겟 보드(10)은 JTAG 포트(13)과 표준 24핀 포트(14)를 갖는다. JTAG 에뮬레이터(Joint Test Action Group Emulator : 20)는 포렌식 서버(30)의 제어에 응답하여 타겟 보드(10)의 플래시 메모리(4)로부터 저장된 정보를 추출한다. 포렌식 서버(30)는 JTAG 에뮬레이터(20)를 제어하고, 추출된 정보를 분석하여 증거 자료를 생성한다. The target board 10 is configured to mount a mobile device 11 such as a cellular phone or a flash memory 4. The target board 10 has a JTAG port 13 and a standard 24-pin port 14. The JTAG emulator (Joint Test Action Group Emulator) 20 extracts the stored information from the flash memory 4 of the target board 10 in response to the control of the forensic server 30. The forensic server 30 controls the JTAG emulator 20 and analyzes the extracted information to generate evidence.

포렌식 서버(30)는 JTAG 에뮬레이터(20)를 이용하여 타겟 보드(10)로부터 정보를 추출하고, 추출된 정보를 가공하는 소프트웨어를 포함한다. 따라서, 본 발명에 따른 디지털 포렌식 시스템(100)은 타겟 보드(10) 내에 저장된 정보를 추출하고 가공하여 법정에서 사용할 수 있는 증거를 제공한다. The forensic server 30 includes software for extracting information from the target board 10 using the JTAG emulator 20 and processing the extracted information. Accordingly, the digital forensic system 100 according to the present invention extracts and processes information stored in the target board 10 to provide evidence that can be used in court.

또한, 포렌식 서버(30)는 시리얼 포트(Serial Port : 32) 또는 USB 포트(Universal Serial Bus Port : 33)와 타겟 보드(10)의 표준 24핀 포트(14)를 연결하여 통신한다. 이 경우는 타겟 보드(10)의 제조사로부터 제공되는 공개 소프트웨어를 이용하여 타겟 보드(10)의 플래시 메모리(4)에 저장된 정보를 독출하거나 기입할 수 있다.In addition, the forensic server 30 communicates by connecting a serial port (32) or a USB port (Universal Serial Bus Port: 33) and the standard 24-pin port 14 of the target board 10. In this case, information stored in the flash memory 4 of the target board 10 may be read or written using open software provided by the manufacturer of the target board 10.

제조사로부터 제공되는 공개 소프트웨어를 이용하는 경우 플래시 메모리(4)에 저장된 정보를 독출하는 것은 제한적이다. 예를 들면, 포렌식 서버(30)는 삭제되지 않은 유효한 정보 중 문자 정보, 음성 정보, 동영상 정보, 사진 정보, 전화번호부 등을 플래시 메모리(4)로부터 추출할 수 있다. 그러나, 삭제된 정보 또는 통화 내역(즉, 발신 전화번호 및 수신 전화번호) 등에 관한 정보는 알 수 없다. 타겟 보드(10)의 제조사는 자신들의 소프트웨어를 통하여 삭제된 정보 또는 통화 내역에 관한 정보를 제공할 수도 있으나 이것은 개인의 사생활을 침해할 우려가 있을 뿐만 아니라, 제조사는 이러한 정보를 제공할 필요를 느끼지 않는다. 또한, 타겟 보드(10)는 여러 제조사에서 각각 제조하기 때문에, 제조사에서 제공되는 소프트웨어들 간에는 서로 호환되지 않는다.When using open software provided by the manufacturer, reading information stored in the flash memory 4 is limited. For example, the forensic server 30 may extract text information, voice information, video information, picture information, a phone book, and the like from the non-deleted valid information from the flash memory 4. However, information about deleted information or call history (i.e., outgoing telephone number and incoming telephone number) and the like is unknown. The manufacturer of the target board 10 may provide information about deleted or call history through their software, but this may not only invade the privacy of the individual, but the manufacturer may not need to provide such information. Do not. In addition, since the target board 10 is manufactured by various manufacturers, respectively, the software provided by the manufacturers is not compatible with each other.

포렌식 서버(30)에 대한 상세한 설명은 도 2에서 언급한다.A detailed description of the forensic server 30 is referred to in FIG. 2.

도 2는 도 1에 도시된 포렌식 서버를 도시한 블럭도이다.FIG. 2 is a block diagram illustrating the forensic server shown in FIG. 1.

도 1 내지 도 2를 참조하면, 포렌식 서버(30)은 포렌식 구동부(40), OS(Operating System : 50), 증거자료 저장부(60), 패러랠 포트(Parallel Port : 31), 시리얼 포트(Serial Port : 32), 그리고 USB 포트(Universal Serial BUS Port : 33)를 포함한다.1 and 2, the forensic server 30 includes a forensic driver 40, an operating system (OS) 50, an evidence storage unit 60, a parallel port 31, a serial port (Serial). Port: 32), and USB port (Universal Serial BUS Port: 33).

OS(50)는 포렌식 서버(30)를 구동하는 오퍼레이팅 시스템(예컨대, Windows XP 또는 LINUX)을 의미한다. 여기서는 포렌식 서버(30)가 Windows XP 상에서 구동되는 것을 예로서 설명한다.The OS 50 refers to an operating system (eg, Windows XP or LINUX) that drives the forensic server 30. Here, the forensic server 30 will be described as an example running on Windows XP.

증거 자료 저장부(60)는 포렌식 구동부(40)에 의하여 분석된 자료를 저장한다. The evidence data storage unit 60 stores the data analyzed by the forensic driving unit 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)을 포함한다. The forensic driver 40 analyzes a file system stored in the NAND flash memory in the target board 10 and dumps the data stored in the NAND flash memory (FS_anal_code) 41. , Statistics / management report for statisticing, managing and reporting the data analyzed from the emulator function 42 for controlling the JTAG emulator 20, the data analysis function 43 for analyzing the dumped data, and the data analysis function 43 Function 44, Flash / DM function 45 for performing DM (ie, analytic observation) of flash memory, DB / log processing 46 for generating evidence storage 60, and The function blocks 41-46 are connected to a user interface (UI) to include a U / I block 47 that displays a processing state of the target board 10.

포렌식 구동부(40)는 패러렐 포트(31), 또는 시리얼 포트(32)와 USB포트(31)로 JTAG 에뮬레이터(20)와 연결되는 방법과, 시리얼 포트(32) 또는 USB 포트(33)는 타겟 보드(10)의 표준 24핀 포트(14)와 연결되는 방법 모두를 지원한다.The forensic driver 40 is connected to the JTAG emulator 20 by the parallel port 31 or the serial port 32 and the USB port 31, and the serial port 32 or the USB port 33 is a target board. Supports all methods of connection with the standard 24-pin port 14 of (10).

도 3은 도 1에 도시된 타겟 보드를 상세히 도시한 블럭도이다. 3 is a detailed block diagram illustrating the target board of FIG. 1.

본 발명은 모바일의 프로세서인 퀄컴(Qualcomm) 사에서 제공하는 MSM6100에서 MSM6500 사이의 모델을 기준으로 예시된다. 퀄컴 사에서 제공하는 MSM(Mobile Station Modem) 칩에는 ARM 프로세서가 탑재된다. MSM 칩의 모델에 따라 ARM 프로세서의 종류 및 버전이 다르기 때문에 플래시 메모리를 제어하는 명령어 셋이 조금 달라진다. The present invention is illustrated based on a model between MSM6100 and MSM6500 provided by Qualcomm, a mobile processor. Qualcomm's Mobile Station Modem (MSM) chip includes an ARM processor. Depending on the model of the MSM chip, the ARM processor types and versions are different, so the instruction set controlling the flash memory is slightly different.

도 3을 참조하면, 타겟 보드(10)는 메모리 컨트롤러(1), DRAM(2), 및 낸드 플래시 메모리(4)를 포함한다. CDMA(Code Division Multiple Access) 타입의 모바일에 내장되는 메모리 컨트롤러(1)는 퀄컴 사에서 제공하는 MSM 칩을 의미한다. Referring to FIG. 3, the target board 10 includes a memory controller 1, a DRAM 2, and a NAND flash memory 4. The memory controller 1 embedded in a mobile of a code division multiple access (CDMA) type means an MSM chip provided by Qualcomm.

메모리 컨트롤러(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) 포트 등의 상태에 따라 변한다.The memory controller 1 includes a TAP controller 8. The TAP controller 8 includes an instruction register (IR), a data register (DR), and the like. The state of the TAP controller 8 changes depending on the state of the TAP (Test Access Port). More specifically, the state of the TAP controller 8 may include JTAG ports such as TDI (Test Data In), TDO (Test Data Out), TMS (Test Mode Select), TCK (Test Clock), and TRST (Test Reset) port. It depends on the state.

DRAM(2)은 타겟 보드(10)를 구동하는 메인 메모리 역할을 수행하고, 빈 공간(3)을 포함한다. 낸드 플래시 메모리(4)는 타겟 보드(10)를 구동하는 부팅 코드 및 데이터를 저장하고, 코드 영역(5), 데이터 영역(6), 그리고 빈 공간영역(7)을 포함한다.The DRAM 2 serves as a main memory for driving the target board 10 and includes an empty space 3. The NAND flash memory 4 stores boot codes and data for driving the target board 10, and includes a code area 5, a data area 6, and an empty space area 7.

도 4은 본 발명에 따른 디지털 포렌식 방법을 도시한 순서도이다.4 is a flowchart illustrating a digital forensic method according to the present invention.

용의자 또는 피의자는 자신의 범죄사실을 인멸하기 위하여 자신의 범죄사실이 저장된 모바일 장치를 고의로 파손하는 경우가 발생한다. 범죄사실이 저장된 모바일 장치는 법정에서 증거 자료로서 사용된다. 모바일에 저장된 증거 자료로는 사진, 동영상, 통화 내역, 음성녹음, 음성 녹음된 통화 내용, 문자 메시지, 전화번호부 등이 있다. The suspect or the suspect intentionally damages the mobile device in which his crime is stored in order to destroy his crime. The mobile device that stores the crime is used as evidence in court. Evidence stored on mobile includes photos, videos, call history, voice recordings, voice recorded calls, text messages, and phone books.

도 3 및 도 4를 참조하면, 사용자는 모바일 장치에 전원을 인가하여 모바일 장치가 정상 동작을 수행하는지를 판단한다(410). 모바일 장치가 파손된 경우라도 모바일 장치가 정상 동작을 수행한다면, 포렌식 서버(30)는 모바일 장치의 메인 보드(10)와 에뮬레이터를 연결하여 모바일 장치의 메인 보드(10)에 JTAG 포트가 존재하는지를 판단한다(420). 모바일 장치가 정상 동작을 수행하지 않는 경우, 사용자는 모바일 장치로부터 플래시 메모리 만을 따로 떼내어 타겟 보드에 탑재한다(430). 즉, 타겟 보드는 모바일 장치의 메인 보드와 기능적으로 동일한 환경을 가지도록 구성된 시뮬레이션 보드(Simulation Board) 또는 평가 보드(Evaluation Board)이다. 3 and 4, the user applies power to the mobile device to determine whether the mobile device performs a normal operation (410). If the mobile device performs normal operation even when the mobile device is damaged, the forensic server 30 determines whether a JTAG port exists on the main board 10 of the mobile device by connecting the emulator to the main board 10 of the mobile device. (420). When the mobile device does not perform a normal operation, the user detaches only the flash memory from the mobile device and mounts the flash memory on the target board (430). That is, the target board is a simulation board or evaluation board configured to have the same environment as the main board of the mobile device.

대부분의 메이저 모바일 장치 제조 회사에서 제조되는 모바일 장치의 메인 보드는 JTAG 포트를 갖는다. 제조사들은 모바일 장치의 메인 보드를 테스트하고 분석하는 기능을 수행하기 위하여 JTAG 포트를 활용한다. 그러나, 일부 모바일 장치 제조 회사는 모바일 장치의 JTAG 포트를 연결할 수 없는 상태의 제품을 판매한다. Most major mobile device manufacturers have a JTAG port on their main board. Manufacturers use JTAG ports to perform tests and analyze the main board of mobile devices. However, some mobile device manufacturers sell products that cannot connect to the JTAG port of the mobile device.

JTAG 에뮬레이터(20)는 모바일 장치에 JTAG 포트가 존재하는지 판단한다(420). 만약 JTAG 포트가 없는 모바일 장치라면 그 모바일 장치에 탑재된 플래시 메모리를 떼어내어 평가 보드에 장착한다(430). 모바일 장치에 JTAG 포트가 있는 경우 포렌식 서버(30)는 JTAG 에뮬레이터(20)를 통하여 모바일 장치 내의 플래시 메모리의 파일 시스템을 분석하고 플래시 메모리에 저장된 바이너리 데이터(Binary Data)를 덤프받는다(440). 포렌식 서버(30)는 덤프받은 바이너리 데이터를 분석한다(450).The JTAG emulator 20 determines whether a JTAG port exists in the mobile device (420). If the mobile device does not have a JTAG port, the flash memory mounted on the mobile device is removed and mounted on the evaluation board (430). When the mobile device has a JTAG port, the forensic server 30 analyzes the file system of the flash memory in the mobile device through the JTAG emulator 20 and dumps binary data stored in the flash memory (440). The forensic server 30 analyzes the dumped binary data (450).

모바일의 메인보드에 JTAG 포트가 탑재되는가를 확인하는 상세한 방법에 관해서는 도 5와 도 6에서 설명한다. 모바일내의 낸드 플래시 메모리의 파일 시스템을 분석하고 낸드 플래시 메모리에 저장된 바이너리 데이터(Binary Data)를 덤프받는 상세한 방법에 관해서는 도 7에서 설명한다. 도 7에서 덤프받은 바이너리 데이터를 분석하는 상세한 방법에 관해서는 도 8에서 설명한다. A detailed method of confirming whether the JTAG port is mounted on the mainboard of the mobile will be described with reference to FIGS. 5 and 6. A detailed method of analyzing the file system of the NAND flash memory in the mobile and dumping binary data stored in the NAND flash memory will be described with reference to FIG. 7. A detailed method of analyzing the binary data dumped in FIG. 7 will be described with reference to FIG. 8.

도 5는 도 1에 도시된 타겟 보드와 JTAG 포트의 연결을 도시한 도면이고, 도 6은 도 4에 도시된 타겟 보드내에 JTAG의 존재를 확인하는 순서도이다. FIG. 5 is a diagram illustrating a connection between a target board and a JTAG port illustrated in FIG. 1, and FIG. 6 is a flowchart illustrating the existence of a JTAG in the target board illustrated in FIG. 4.

도 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열 커넥터를 예시한다. Referring to FIG. 5, the target board 10 provides the VCC, nTRST, TDO, TDI, nQREQ, TCK, TMS, nSRESET, nHRESET, nCKSTOP, and nQACK ports as the JTAG port 13. The JTAG port 13 of the target board 10 is connected to the cable 21 of the JTAG emulator 20. The cable 21 of the JTAG emulator 20 in the present invention illustrates a standard 16 pin two row connector with a 2.54 mm pin spacing.

nTRST, TDO, TDI, TCK, TMS, 및 nHRESET 포트들에는 풀업 저항(Rpu)이 달려있다. 풀업 저항은 10KΩ 또는 4.7KΩ 의 저항값을 갖는다. 또한, nQACK 포트에는 풀다운 저항(Rpd)이 달려있다. 풀다운 저항(Rpd)의 저항값은 100Ω이다.The nTRST, TDO, TDI, TCK, TMS, and nHRESET ports have a pullup resistor (Rpu). The pullup resistor has a resistance value of 10KΩ or 4.7KΩ. The nQACK port also has a pull-down resistor (Rpd). The pulldown resistor Rpd has a resistance of 100Ω.

JTAG 포트를 제공하는 모바일 장치 제조사는 JTAG의 기본 인터페이스로서 nTRST, TDO, TDI, TCK, 및 TMS 포트들을 공개하고, 그 외의 포트들에 대해서는 공개하지 않는다. 만약 모든 JTAG 포트들을 공개한다면 제조사의 기술이 노출될 수 있다. Mobile device manufacturers that provide JTAG ports expose the nTRST, TDO, TDI, TCK, and TMS ports as JTAG's base interface, but do not disclose other ports. If you expose all the JTAG ports, the manufacturer's technology can be exposed.

타겟 보드(10)의 JTAG 포트를 통하여 JTAG 에뮬레이터(20)는 타겟 보드(10) 를 제어하기 위해서는 공개되지 않은 포트들이 어떤 것들인지 확인한다. 즉, 포렌식 서버(30)는 nPRESENT, nQREQ, nSRESET, nHRESET, nCKSTOP, 및 nQACK 포트들을 확인하기 위하여 JTAG 에뮬레이터(20)에 여러 가지 패턴들을 입력하고 출력되는 신호를 분석하여 타겟 보드(10)에 연결된 포트들이 어떤 포트들인가를 확인한다. 또한, 도 6에서 제공하는 JTAG 포트의 존재 확인 방법에 따라 공개되지 않는 포트들에 임의 패턴을 인가하고 출력되는 신호를 분석하여 타겟 보드(10)의 JTAG 포트들과 JTAG 에뮬레이터(20)의 케이블이 연결되도록 한다. Through the JTAG port of the target board 10, the JTAG emulator 20 checks which ports are not disclosed to control the target board 10. That is, the forensic server 30 inputs various patterns to the JTAG emulator 20 and analyzes the output signal to check the nPRESENT, nQREQ, nSRESET, nHRESET, nCKSTOP, and nQACK ports, and analyzes the output signal to be connected to the target board 10. Identify which ports are the ports. In addition, according to the method for confirming the existence of the JTAG port provided in FIG. To be connected.

예를 들면, 본 발명은 퀄컴 사로부터 제공되는 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 에뮬레이터의 몇 번 케이블 핀들과 연결되는지를 확인한다. For example, the present invention identifies the JTAG interface through eight pin definitions provided by Qualcomm. The nSRESET and nCKSTOP ports are not normally connected. The nQACK port has an internal ground voltage or pull-down resistor in the absence of an MSM chip. The output signal from the nQREQ port is active when the MSM chip is in low power or sleep mode. Alternatively, when the output signal is applied to the CKSTOP port, the MSM chip enters a check stop mode. That is, when the CKSTOP (check stop) signal is activated, an internal hard reset sequence occurs. The PRESENT pin is pulled down by the debugger when an external debugger is connected. That is, the present invention uses the characteristics of ports that are not disclosed to identify how many cable pins each port is connected to the JTAG emulator.

도 6에서 기술하는 JTAG(Joint Test Action Group) 에뮬레이터에 관한 설명은 표준 IEEE 1149.1-1990, IEEE Standard Test Access Port and Boundary-Scan Architecture에 따른다. A description of the Joint Test Action Group (JTAG) emulator described in FIG. 6 follows the standard IEEE 1149.1-1990 and the 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).3, 5, and 6, the JTAG emulator 20 sets the state of the TAP controller 8 of the target board 10 to a "Run Test Idle" state under the control of the forensic server 30. (421). The "Bypass" instruction is input to the instruction register IR (422). The TAP controller 8 sequentially passes signals input to the TDI port by the "Bypass" command and passes through the binary scan registers to the TDO port. The JTAG emulator 20 sequentially inputs an arbitrary data pattern to the TDI port under the control of the forensic server 30 (423). The JTAG emulator 20 determines whether the pattern coming out of the TDO port is the same as the pattern input to the TDI port (424). If the same, the target board 10 confirms the existence of the JTAG interface (425). Otherwise, the target board 10 confirms the absence of the JTAG interface (426).

도 7은 도 4에 도시된 타겟 보드의 플래시 메모리로부터 정보를 추출하는 순서도이다. 도 3과 도 7을 참조하면, 메모리 컨트롤러(1)는 포렌식 서버(30)의 제어에 응답하여 DRAM(2)의 빈 블럭(3) 또는 플래시 메모리(4)에 빈 블럭(7)의 위치를 확인한다(441).FIG. 7 is a flowchart of extracting information from a flash memory of the target board shown in FIG. 4. 3 and 7, in response to the control of the forensic server 30, the memory controller 1 places a position of the empty block 7 in the empty block 3 or the flash memory 4 of the DRAM 2. Confirm (441).

DRAM(2)의 빈 블럭(3) 또는 플래시 메모리(4)의 빈 블럭(7)에는 포렌식 서버(30)에 저장된 파일시스템 분석코드(FS_anal_code)가 JTAG 에뮬레이터(20)를 통하여 저장된다(442). 파일시스템 분석코드(FS_anal_code)는 플래시 메모리의 파일 시스템을 분석하는 명령어 셋(Instruction Set)으로 구성된다. In the empty block 3 of the DRAM 2 or the empty block 7 of the flash memory 4, the file system analysis code FS_anal_code stored in the forensic server 30 is stored through the JTAG emulator 20 (442). . The file system analysis code FS_anal_code consists of an instruction set for analyzing a file system of a flash memory.

파일시스템 분석코드(FS_anal_code)는 메모리 컨트롤러(1)에 의해서 실행된다(443). 메모리 컨트롤러(1)는 파일시스템 분석 코드(FS_anal_code)에 따라 플래 시 메모리 영역 중에서 코드영역을 확인한다(444). 메모리 컨트롤러(1)는 파일시스템 분석 코드(FS_anal_code)에 따라 플래시 메모리의 파일 시스템 구조를 분석한다(445). 예를 들면, 낸드 타입의 플래시 메모리의 경우, 그 메모리의 파일 시스템으로부터 데이터 영역에서 시작 및 종료 어드레스, 사진 데이터가 저장된 어드레스, 동영상 데이터가 저장된 어드레스, 문자 데이터가 저장된 어드레스, 삭제된 정보를 저장하는 어드레스 등에 대한 정보를 분석한다. 메모리 컨트롤러(1)는 분석된 정보를 포렌식 서버(30)에 리턴(Return)한다(446). 메모리 컨트롤러(1)는 플래시 메모리의 바이너리 데이터(Binary Data)를 포렌식 서버(30)에 덤프한다(447).The file system analysis code FS_anal_code is executed by the memory controller 1 (443). The memory controller 1 checks the code area among the flash memory areas according to the file system analysis code FS_anal_code (444). The memory controller 1 analyzes the file system structure of the flash memory according to the file system analysis code FS_anal_code (445). For example, in the case of a NAND type flash memory, a start and end address, an address where picture data is stored, an address where video data is stored, an address where character data is stored, and deleted information are stored in a data area from a file system of the memory. Analyze information about addresses. The memory controller 1 returns the analyzed information to the forensic server 30 (446). The memory controller 1 dumps binary data of the flash memory to the forensic server 30 (447).

예를 들면, 만약 낸드 플래시 메모리 내에 임의의 정보가 삭제된다면, 낸드 플래시 메모리의 맵핑 테이블(Mapping Table)은 삭제된 정보를 독출할 수 없도록 표시(Marking)한다. 이는 종래의 방법에 의해서는 삭제된 정보를 독출하는 것이 불가능함을 의미한다.For example, if any information is deleted in the NAND flash memory, the mapping table of the NAND flash memory marks the deleted information as unreadable. This means that it is impossible to read the deleted information by the conventional method.

따라서, 낸드 플래시 메모리의 파일 시스템 구조의 특성 중에 낸드 플래시 메모리의 성능 향상을 위한 FTL(Flash Translation Layer) 구조를 이용하여, 표시된 맵핑 테이블 내의 삭제 영역을 리맵핑 하는 방법을 구현하였다.Therefore, a method of remapping an erase region in the displayed mapping table is implemented by using a FTL (Flash Translation Layer) structure for improving performance of the NAND flash memory among the characteristics of the file system structure of the NAND flash memory.

메모리 컨트롤러(1)는 파일시스템 분석 코드(FS_anal_code)에 따라 삭제된 정보 표시를 리맵핑하는 명령어를 수행하여 삭제된 정보를 포함하는 모든 데이터 정보를 포렌식 서버(30)에 덤프할 수 있다. The memory controller 1 may perform a command to remap the deleted information display according to the file system analysis code FS_anal_code and dump all data information including the deleted information to the forensic server 30.

또한, JTAG 에뮬레이터(20)는 디버거(Debugger)의 기능을 수행한다. 즉, JTAG 에뮬레이터(20)는 메모리 컨트롤러(1)에 포함된 MMU(Memory Management Unit) 를 직접 제어하여 삭제된 정보를 포함한 모든 데이터를 포렌식 서버(30)에 덤프할 수 있다.In addition, the JTAG emulator 20 performs a function of a debugger. That is, the JTAG emulator 20 may directly control the memory management unit (MMU) included in the memory controller 1 to dump all data including the deleted information to the forensic server 30.

메모리 컨트롤러(1)는 파일시스템 분석코드(FS_anal_code)에 따라 낸드 플래시 메모리 영역 중에서 코드영역을 확인하고, 코드 영역에 저장된 낸드 플래시 메모리의 파일 시스템을 분석한다. 즉, 낸드 플래시 메모리의 파일 시스템의 분석을 통하여 덤프받은 바이너리 데이터를 의미있는 데이터로 변환가능하게 한다. The memory controller 1 checks the code area among the NAND flash memory areas according to the file system analysis code FS_anal_code, and analyzes the file system of the NAND flash memory stored in the code area. That is, the binary data dumped through the analysis of the file system of the NAND flash memory can be converted into meaningful data.

도 8은 도 7에서 추출한 정보를 분석하여 증거자료를 생성하는 순서도이고, 도 9는 도 8에서 분석된 증거자료를 예시하는 도면이다. FIG. 8 is a flowchart of generating evidence by analyzing information extracted from FIG. 7, and FIG. 9 is a diagram illustrating evidence analyzed in FIG. 8.

도 3과 도 8을 참조하면, 포렌식 서버(30)는 바이너리 데이터를 저장한다. 포렌식 서버(30)는 덤프받은 바이너리 데이터의 전체 구조를 확인한다(451). 즉, 포렌식 서버(30)는 도 7에서 분석한 플래시 메모리의 파일 시스템의 분석을 통하여 바이너리 데이터의 구조를 확인한다. 예를 들면, 포렌식 서버(30)는 바이너리 데이터의 폴더(folder)의 구조, 각 폴더의 파일 종류를 확인한다. 3 and 8, the forensic server 30 stores binary data. The forensic server 30 checks the entire structure of the dumped binary data (451). That is, the forensic server 30 checks the structure of the binary data through analysis of the file system of the flash memory analyzed in FIG. 7. For example, the forensic server 30 checks the structure of a folder of binary data and the file type of each folder.

포렌식 서버(30)는 블럭/페이지 맵(Block/Page Map)을 분석하여 바이너리 데이터를 의미 있는 데이터로 변환한다(452). 예를 들면, 도 9는 바이너리 데이터를 변환하여 얻은 데이터를 예시한다. 디렉토리(Directory) "SKY\SMS\RECV"에는 "RecvData0000" 파일이 있다. "RecvData0000" 파일의 최상위 8 Byte는 메시지의 시작을 의미하고, 32 Byte는 수신/전송자에 관한 정보를 의미하고, 240 Byte는 메시지의 내용에 관한 정보를 의미하고, 12 Byte는 수신/전송에 관한 정보를 의미하고, 그리고 6 Byte는 메시지의 종료를 의미한다.The forensic server 30 analyzes a block / page map and converts binary data into meaningful data (452). For example, FIG. 9 illustrates data obtained by converting binary data. The directory "SKY \ SMS \ RECV" contains the file "RecvData0000". The highest 8 bytes of the "RecvData0000" file means the start of the message, 32 bytes means information about the receiver / sender, 240 bytes means information about the contents of the message, and 12 bytes means information on the reception / transmission. Information means 6 bytes means the end of the message.

낸드 플래시 메모리는 여러 블록들로 구성된다. 각 블록들은 여러 개의 고정크기(fixed) 페이지로 나눠진다. 낸드 플래시 메모리는 읽기 동작, 쓰기 동작, 소거 동작, 카피백 등을 수행한다. 읽기 동작은 플래시 메모리로부터 단순히 내용을 읽고, 쓰기 동작은 플래시 메모리로 단순히 내용을 쓰는 것이다. 이 작업들은 모두 페이지 단위로 진행된다. 소거 동작은 블록 단위로 작업되며 플래시 메모리에 새롭게 써야 할 작업이 발생하면 이를 위해서 메모리 내용을 제거한다. 카피백 동작은 플래시 메모리 칩 안의 한 페이지에서 다른 한 페이지로 복사를 하는 기능이다. 각 페이지에는 대역 밖의 데이터(out-of-band data)를 기록하기 위한 몇 바이트의 "여분의 공간(spare area)"이 달려있다.NAND flash memory consists of several blocks. Each block is divided into several fixed-size pages. The NAND flash memory performs a read operation, a write operation, an erase operation, a copyback, and the like. A read operation simply reads content from flash memory and a write operation simply writes content to flash memory. These tasks are all paged. The erase operation works in units of blocks, and when a new operation needs to be written to the flash memory, the memory contents are removed for this purpose. Copyback is the ability to copy from one page to another page in a flash memory chip. Each page has a few bytes of "spare area" for recording out-of-band data.

플래시 메모리의 단점 중에 하나는 덮어쓰기(overwrite)가 불가능하다는 것이다. 즉, 페이지가 변경되면 그 페이지를 바로 덮어쓸 수 없고 반드시 새로운 데이터를 저장하기 위한 새로운 페이지를 할당받아야 한다. 이것은 새로운 페이지(new page)에 새로운 내용이 쓰여질 때 기존 페이지(old page)는 바로 쓸모 없게 되어야만 한다는 것을 의미한다. 즉, 플래시 메모리의 임의의 데이터에 대하여 erase 작업을 하는 경우 임의의 데이터는 실제로 삭제되는 것이 아니라 다른 페이지에 저장된다.One disadvantage of flash memory is that it is impossible to overwrite. In other words, if a page is changed, the page cannot be overwritten immediately, and a new page must be allocated to store new data. This means that when new content is written to a new page, the old page must immediately become obsolete. In other words, when an erase operation is performed on random data in the flash memory, the random data is not actually deleted but stored in another page.

다시 도 3과 도 8을 참조하면, 포렌식 서버(30)는 블럭/페이지 맵(Block/Page Map)을 분석하여 분석된 파일 중에서 삭제된 영역이 있는가를 확인한다(453). 포렌식 서버(30)는 삭제된 영역이 있는가를 판단한다(454). Referring again to FIGS. 3 and 8, the forensic server 30 analyzes a block / page map to determine whether there is a deleted region in the analyzed file (453). The forensic server 30 determines whether there is a deleted area (454).

예를 들면, 플래시 메모리 내에 삭제된 영역이 있다면, 삭제된 영역을 덤프 받기 위하여 삭제된 표시를 리맵핑하는 명령어를 사용하게 된다. 따라서, 리맵핑 명령어의 사용여부를 판단하면 삭제된 영역의 유무를 판단할 수 있다. For example, if there is a deleted area in the flash memory, a command for remapping the deleted mark is used to dump the deleted area. Therefore, if it is determined whether the remapping command is used, it may be determined whether the deleted area is present.

만약 삭제된 영역이 있다면 포렌식 서버(30)는 분석된 데이터들을 이용하여 삭제된 영역을 확인하고 삭제된 데이터를 복원한다(455). 그렇지 않은 경우 포렌식 서버(30)는 분석된 데이터들을 이용하여 증거자료를 리포트(Report)한다(456).If there is a deleted region, the forensic server 30 checks the deleted region using the analyzed data and restores the deleted data (455). If not, the forensic server 30 reports the evidence using the analyzed data (456).

예를 들면, 플래시 메모리의 삭제된 영역을 덤프받기 위하여 리맵핑 명령어를 사용하면, 삭제된 데이터의 어드레스를 저장하는 맵핑 테이블은 리맵핑 명령어에 의하여 수정된다. 따라서, 포렌식 서버(30)는 수정된 맵핑 테이블을 이용하여 삭제된 영역의 데이터가 저장된 어드레스를 확인하고, 그 어드레스를 독출하여 삭제된 데이터를 복원한다.For example, if the remapping command is used to dump the deleted area of the flash memory, the mapping table that stores the address of the deleted data is modified by the remapping command. Therefore, the forensic server 30 checks the address where the data of the deleted region is stored by using the modified mapping table, reads the address, and restores the deleted data.

이상에서 도면과 명세서에서 최적 실시예가 개시되었다. 여기서 특정한 용어들이 사용되었으나, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 것을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다. In the above, the best embodiment has been disclosed in the drawings and the specification. Although specific terms have been used herein, they are used only for the purpose of describing the present invention and are not used to limit the scope of the present invention as defined in the meaning or claims. Therefore, those skilled in the art will understand that various modifications and equivalent other embodiments are possible from this. Therefore, the true technical protection scope of the present invention will be defined by the technical spirit of the appended claims.

이상에서 설명한 본 발명에 따르면 다양한 모바일 장치로부터 디지털 포렌식을 성공적으로 수행할 수 있다. According to the present invention described above, it is possible to successfully perform digital forensics from various mobile devices.

Claims (15)

메모리 제어기를 포함하며, 낸드 플래시 메모리를 실장하도록 구성된 타겟 보드와; 및A target board including a memory controller, the target board configured to mount a NAND flash memory; And 상기 타겟 보드와의 연결에 응답하여 상기 낸드 플래시 메모리의 파일 시스템을 분석하기 위한 파일 시스템 분석 코드를 상기 타겟 보드로 전송하는 타겟 보드 제어 장치를 포함하며,A target board control device for transmitting a file system analysis code for analyzing a file system of the NAND flash memory to the target board in response to a connection with the target board, 상기 타겟 보드의 메모리 제어기는 상기 전송된 파일 시스템 분석 코드에 응답하여 동작하며, 상기 낸드 플래시 메모리에 저장된 맵핑 테이블에 관계없이 상기 낸드 플래시 메모리에 저장된 데이터가 상기 타겟 보드 제어 장치로 전송되도록 상기 낸드 플래시 메모리를 제어하는 디지털 포렌식 시스템.The memory controller of the target board operates in response to the transmitted file system analysis code, and transmits the data stored in the NAND flash memory to the target board control device regardless of the mapping table stored in the NAND flash memory. Digital forensic system to control memory. 제 1 항에 있어서,The method of claim 1, 상기 메모리 제어기는 상기 파일 시스템 분석 코드에 응답하여 상기 낸드 플래시 메모리의 코드 영역에 저장된 파일 시스템 정보를 분석하고, 분석된 결과를 상기 타겟 보드 제어 장치로 전송하는 디지털 포렌식 시스템.And the memory controller analyzes file system information stored in a code area of the NAND flash memory in response to the file system analysis code, and transmits the analyzed result to the target board controller. 제 2 항에 있어서,The method of claim 2, 상기 파일 시스템 분석 코드는 리맵핑 명령어를 포함하며,The file system analysis code includes a remapping instruction, 상기 메모리 제어기는 삭제되지 않은 데이터로서 읽혀지도록 상기 리맵핑 명령어에 응답하여 상기 낸드 플래시 메모리의 삭제된 데이터에 대한 맵핑 정보를 변경하는 디지털 포렌식 시스템.And the memory controller changes the mapping information for the deleted data of the NAND flash memory in response to the remapping instruction to be read as undeleted data. 제 2 항에 있어서,The method of claim 2, 상기 타겟 보드 제어 장치는 상기 전송된 분석 결과에 따라 바이너리 데이터인 상기 전송된 데이터를 의미있는 데이터로 변환하는 디지털 포렌식 시스템.And the target board control device converts the transmitted data, which is binary data, into meaningful data according to the transmitted analysis result. 제 4 항에 있어서,The method of claim 4, wherein 상기 분석 결과는 상기 낸드 플래시 메모리에 저장된 데이터의 폴더 및 파일 구조들, 상기 폴더 구조에 속하는 각 폴더의 시작 및 종료 어드레스들, 그리고 상기 폴더들 각각에 속하는 파일 구조의 헤더, 데이터 및 트레일러 영역들을 포함하는 디지털 포렌식 시스템.The analysis result includes folder and file structures of data stored in the NAND flash memory, start and end addresses of each folder belonging to the folder structure, and header, data and trailer areas of a file structure belonging to each of the folders. Digital forensic system. 제 2 항에 있어서,The method of claim 2, 상기 메모리 제어기는 상기 변경된 맵핑 정보에 대응하는 데이터가 상기 타겟 보드 제어 장치로 전송되도록 상기 낸드 플래시 메모리를 제어하는 디지털 포렌식 시스템.And the memory controller controls the NAND flash memory so that data corresponding to the changed mapping information is transmitted to the target board control device. 제 6 항에 있어서,The method of claim 6, 상기 타겟 보드 제어 장치는 상기 전송된 분석 결과에 따라 상기 삭제된 데이터로서 상기 변경된 맵핑 정보에 대응하는 데이터를 변환하는 디지털 포렌식 시 스템.And the target board control device converts data corresponding to the changed mapping information as the deleted data according to the transmitted analysis result. 제 1 항에 있어서,The method of claim 1, 상기 타겟 보드는 JTAG 포트를 통해 상기 타겟 보드 제어 장치와 연결되는 디지털 포렌식 시스템.The target board is connected to the target board control device through a JTAG port digital forensic system. 제 1 항에 있어서,The method of claim 1, 상기 타겟 보드 제어 장치는The target board control device 포렌식 서버와; 그리고A forensic server; And 상기 JTAG 포트에 연결되며, 상기 포렌식 서버와 상기 타겟 보드를 인터페이스하도록 구성된 에뮬레이터를 포함하는 디지털 포렌식 시스템.And an emulator coupled to the JTAG port, the emulator configured to interface the forensic server and the target board. 제 1 항에 있어서,The method of claim 1, 상기 타겟 보드는 상기 낸드 플래시 메모리를 포함한 모바일 장치를 실장하도록 구성되는 디지털 포렌식 시스템.The target board is configured to mount a mobile device including the NAND flash memory. 제 10 항에 있어서,The method of claim 10, 상기 타겟 보드의 모바일 장치는 직렬 인터페이스 방식으로 상기 타겟 보드 제어 장치에 연결되는 디지털 포렌식 시스템.And the mobile device of the target board is connected to the target board control device in a serial interface manner. a)낸드 플래시 메모리를 포함하는 타겟 보드와의 연결에 응답하여 상기 낸드 플래시 메모리의 파일 시스템을 분석하기 위한 파일 시스템 분석 코드를 상기 타겟 보드로 전송하는 단계; 및a) transmitting a file system analysis code for analyzing a file system of the NAND flash memory to the target board in response to a connection with the target board including the NAND flash memory; And b)상기 전송된 파일 시스템 분석 코드에 따라 상기 낸드 플래시 메모리에 저장된 맵핑 테이블에 관계없이 상기 낸드 플래시 메모리에 저장된 데이터가 타겟 보드 제어 장치로 전송하는 단계를 포함하는 포렌식 방법.b) transmitting data stored in the NAND flash memory to a target board control device regardless of the mapping table stored in the NAND flash memory according to the transmitted file system analysis code. 제 12 항에 있어서,The method of claim 12, 상기 타겟 보드 제어장치로의 전송은 상기 파일 시스템 분석 코드에 응답하여 상기 낸드 플래시 메모리의 코드 영역에 저장된 파일 시스템 정보를 분석하고, 상기 분석된 결과를 상기 타겟 보드 제어 장치로 전송하는 것을 포함하는 포렌식 방법.The transmission to the target board control device may include analyzing the file system information stored in the code area of the NAND flash memory in response to the file system analysis code, and transmitting the analyzed result to the target board control device. Way. 제 13 항에 있어서,The method of claim 13, 상기 타겟 보드 제어장치로의 전송은 삭제되지 않은 데이터로서 읽혀지도록 상기 파일 시스템 분석 코드에 포함된 리맵핑 명령어에 응답하여 상기 낸드 플래시 메모리의 삭제된 데이터에 대한 맵핑 정보를 변경하는 것을 더 포함하는 포렌식 방법.The transfer to the target board controller further includes changing mapping information for the deleted data in the NAND flash memory in response to a remapping command included in the file system analysis code to be read as undeleted data. Way. 제 13 항에 있어서,The method of claim 13, 상기 전송된 분석 결과에 따라 바이너리 데이터인 상기 전송된 데이터는 의미있는 데이터로 변환되는 포렌식 방법.And the transmitted data, which is binary data, is converted into meaningful data according to the transmitted analysis result.
KR1020070061186A 2007-06-21 2007-06-21 Digital forensic system and method KR100901743B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020070061186A KR100901743B1 (en) 2007-06-21 2007-06-21 Digital forensic system and method
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 (en) 2007-06-21 2007-06-21 Digital forensic system and method

Publications (2)

Publication Number Publication Date
KR20090002208A KR20090002208A (en) 2009-01-09
KR100901743B1 true KR100901743B1 (en) 2009-06-10

Family

ID=40156811

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070061186A KR100901743B1 (en) 2007-06-21 2007-06-21 Digital forensic system and method

Country Status (2)

Country Link
KR (1) KR100901743B1 (en)
WO (1) WO2008156328A2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021201325A1 (en) * 2020-04-01 2021-10-07 주식회사 한컴위드 Method and program for forensically acquiring evidence data through bypassing security

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101183975B1 (en) 2010-03-26 2012-09-19 한국전자통신연구원 Pin-map discrimination system and method foe discriminating pin-map using the same
WO2012015363A1 (en) * 2010-07-30 2012-02-02 Agency For Science, Technology And Research Acquiring information from volatile memory of a mobile device
KR101496318B1 (en) 2013-05-30 2015-03-03 한국전자통신연구원 Apparatus and method for providing security in remote digital forensics
US9135472B2 (en) 2013-10-31 2015-09-15 Square, Inc. Systems and methods for secure processing with embedded cryptographic unit
CN104182541A (en) * 2014-09-05 2014-12-03 四川效率源信息安全技术有限责任公司 Method for showing smart phone data information
JP6467233B2 (en) * 2015-01-29 2019-02-06 株式会社Screenホールディングス Inspection apparatus, drawing apparatus, and inspection method
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
KR102260901B1 (en) * 2020-04-28 2021-06-04 주식회사 에스엔티웍스 device for collecting physical data of solid state drive and collecting method thereof

Family Cites Families (1)

* Cited by examiner, † Cited by third party
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

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Forensic imaging of embedded systems using JTAG (boundary-scan), M.F. Breeuwsma, Digital Investigation, Vol.3, Issue 1, Elsevier, pp.32-42 (2006.03.13) 1부.*
IFIP International Federation for Information Processing, Vol. 194/1005, ISBN 978-0-387-30012-2, Springer Boston, pp.191-204 (2005.12.31) 1부.*

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021201325A1 (en) * 2020-04-01 2021-10-07 주식회사 한컴위드 Method and program for forensically acquiring evidence data through bypassing security

Also Published As

Publication number Publication date
KR20090002208A (en) 2009-01-09
WO2008156328A4 (en) 2009-04-16
WO2008156328A3 (en) 2009-02-26
WO2008156328A2 (en) 2008-12-24

Similar Documents

Publication Publication Date Title
KR100901743B1 (en) Digital forensic system and method
Breeuwsma et al. Forensic data recovery from flash memory
US7743292B2 (en) Apparatus and method for memory card testing
Sathe et al. Data acquisition techniques in mobile forensics
US20090281771A1 (en) Testing system for mobile phones and testing method thereof
Hilgers et al. Post-mortem memory analysis of cold-booted android devices
CN104978522A (en) Method and device for detecting malicious code
US20140129875A1 (en) Method for reading kernel log upon kernel panic in operating system
Karlsson et al. Android anti-forensics: Modifying cyanogenmod
CN104978213B (en) Realize the link acquisition methods and device of application installation package
CN102262582A (en) Mobile terminal and method for detecting memory leakage thereof
Kim et al. Data acquisition from cell phone using logical approach
CN114155906A (en) Data block repairing method, device, equipment and storage medium
CN113220581A (en) Method, device, medium and terminal for extracting logs in aging test
CN101206613A (en) High speed basic input/output system debug card
CN111782474A (en) Log processing method and device, electronic equipment and medium
CN102305906B (en) Chip testing method and device
Fang et al. Forensic analysis of pirated Chinese Shanzhai mobile phones
CN106528658B (en) The lookup method and device of application file
Wu et al. A general forensics acquisition for Android smartphones with qualcomm processor
CN117555607A (en) Card opening method of embedded multimedia card and related equipment
Regan The forensic potential of flash memory
Kumar Mobile forensics: Tools, techniques and approach
JP4339269B2 (en) Mobile phone bus monitor system and method
CN113900918B (en) Application performance data acquisition method, device, computer equipment and storage medium

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