KR102400723B1 - Fat32를 기반으로 하는 삭제 파일의 메타데이터 복구 장치 및 그 방법 - Google Patents
Fat32를 기반으로 하는 삭제 파일의 메타데이터 복구 장치 및 그 방법 Download PDFInfo
- Publication number
- KR102400723B1 KR102400723B1 KR1020220035153A KR20220035153A KR102400723B1 KR 102400723 B1 KR102400723 B1 KR 102400723B1 KR 1020220035153 A KR1020220035153 A KR 1020220035153A KR 20220035153 A KR20220035153 A KR 20220035153A KR 102400723 B1 KR102400723 B1 KR 102400723B1
- Authority
- KR
- South Korea
- Prior art keywords
- file
- value
- deleted
- metadata
- bytes
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1435—Saving, restoring, recovering or retrying at system level using file system or storage system metadata
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/11—File system administration, e.g. details of archiving or snapshots
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/14—Details of searching files based on file metadata
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
- G06F16/164—File meta data generation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Library & Information Science (AREA)
- Quality & Reliability (AREA)
- Human Computer Interaction (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
본 발명은 메타데이터 복구 장치에서 수행되는 FAT32 파일 시스템 기반의 삭제 파일의 메타데이터 복구 방법에 관한 것이다. 본 발명에 따른 삭제 파일의 메타데이터 복구 방법은, 저장매체에서 삭제된 설정 포맷의 파일에 대한 복구 명령을 입력받는 단계와, 저장매체에 저장되는 파일의 메타데이터가 기록된 디렉토리 엔트리 내에서 파일의 삭제 전에 해당 파일에 대해 기록된 클러스터 번호의 상위 2 바이트의 값에 대한 후보 값들을 설정하는 단계와, 디렉토리 엔트리 내에서 후보 값의 위치에 대응하여 기록된 파일 시그니처를 설정 포맷이 갖는 고유 시그니처와 비교 후 일치하는 파일 시그니처를 갖는 후보 값을 탐색하고, 탐색한 후보 값을 파일 삭제 전 해당 파일에 대해 기록된 클러스터 번호의 상위 2 바이트의 값으로 추정하는 단계, 및 상위 2 바이트의 추정 값과 디렉토리 엔트리 내의 추정 값의 위치에 대응하여 기록된 하위 2 바이트의 값을 조합하여 삭제된 파일에 대한 파일 저장 위치 값을 획득하고 파일 저장 위치 값을 이용하여 삭제된 파일을 복구하는 단계를 포함한다.
본 발명에 따르면, 파일 시그니처를 이용하여 삭제된 클러스터 번호 상위 2 바이트를 추정하고 추정한 값과 메타 데이터에서 파일 삭제 후에도 보존된 하위 2 바이트 값을 기반으로 파일을 효율적으로 복구할 수 있다.
본 발명에 따르면, 파일 시그니처를 이용하여 삭제된 클러스터 번호 상위 2 바이트를 추정하고 추정한 값과 메타 데이터에서 파일 삭제 후에도 보존된 하위 2 바이트 값을 기반으로 파일을 효율적으로 복구할 수 있다.
Description
본 발명은 FAT32를 기반으로 하는 삭제 파일의 메타데이터 복구 방법 및 장치에 관한 것으로서, 보다 상세하게는 파일 시그니처 정보와 FAT32의 디렉토리 엔트리의 정보를 활용하여 삭제 파일을 복구할 수 있는 삭제 파일의 메타데이터 복구 방법 및 장치에 관한 것이다.
파일시스템은 저장매체에 데이터를 관리(저장, 삭제 등)하는 방법으로, 전통적으로 FAT16, FAT32, NTFS와 같은 파일시스템이 사용된다. 이 중에서 FAT32는 이동형 저장매체(USB메모리, MicroSD카드 등)나 소용량의 디지털 기기(USB형 카메라, 녹음기)의 데이터 저장에 사용된다.
도 1은 FAT32 파일 시스템의 디렉토리 엔트리 구조와 파일 저장 예시를 설명한 도면이다.
도 1의 (a)와 같이 FAT32는 파일의 이름, 크기, 위치, 생성 시간 등의 메타데이터를 아래의 디렉토리 엔트리(Directory Entry)라는 구조에 저장한다.
저장매체는 시스템에서 정의한 클러스터(Cluster)라고 하는 단위로 나뉘어서 구분되는데, 디렉토리 엔트리에는 각 파일의 데이터가 시작하는 위치의 클러스터 번호가 4(2+2)바이트(32비트)로 기록되어 있다. 구체적으로 파일의 데이터 시작 위치는 클러스터 번호 상위 2 바이트와 하위 2 바이트 값에 의해 결정된다.
예를 들어, 도 1의 (b)의 경우, 0x0004DE4F번째 클러스터 위치에서부터 Test.AVI 파일의 데이터가 시작되고, 데이터(파일)의 크기는 0x01EE8011 바이트를 나타낸다. 이 파일이 삭제되면 디렉토리 엔트리는 도 1의 (c)와 같이 수정된다. 즉, 파일명의 첫 번째 문자가 사라지고(정확히는 0xE5로 변경되어 파일이 삭제되었다는 것으로 표기함), 클러스터 번호 상위 2 바이트가 0x0000으로 초기화된다.
따라서, 디렉토리 엔트리의 값을 이용하여 파일을 복구하려고 하더라도 0x0000DE4F 번째 클러스터 위치에는 전혀 다른 데이터가 저장되어 있으므로 파일이 정상적으로 복구되지 않는다.
이러한 문제 때문에, 파일 시스템의 데이터를 이용하지 않고 파일의 포맷 별로 가지고 있는 고유한 데이터 형태(파일 시그니처)를 검색하여 데이터를 복구하는 파일 카빙(File Carving) 기법이 주로 사용된다.
파일 카빙 기법에서는 JPG 사진 파일의 경우, 파일의 시작(헤더) 부분이 0xFFD8FF로 시작하기 때문에 이 16진수 값을 저장매체에서 검색하고 일정 크기만큼 데이터를 읽어 들여 JPG 확장자를 갖는 파일에 저장하면 해당 사진의 내용을 확인할 수 있다.
하지만 전통적인 파일 카빙 기법은 파일 시스템에 저장된 메타데이터를 활용하지 않기 때문에 파일 이름이나 생성시간, 수정시간, 마지막 접근시간, 파일 크기 등과 같은 추가 정보를 놓치게 된다.
또한, 파일 시그니처라고 하는 하나의 정보만 이용해서 복구하기 때문에, 정확한 파일의 크기를 알 수 없어 사용자가 입력한 크기만큼 데이터를 복구하기 때문에 불필요한 시간과 시스템 자원이 소요되는 문제점이 있다.
본 발명의 배경이 되는 기술은 한국등록특허 제10-1731606호(2017.04.28 공고)에 개시되어 있다.
본 발명은 파일 시그니처 정보와 FAT32의 디렉토리 엔트리의 정보를 활용하여 삭제 파일을 복구할 수 있는 FAT32를 기반으로 하는 삭제 파일의 메타데이터 복구 방법 및 장치를 제공하는데 목적이 있다.
본 발명은, 메타데이터 복구 장치에서 수행되는 FAT32 파일 시스템 기반의 삭제 파일의 메타데이터 복구 방법에 있어서, 저장매체에서 삭제된 설정 포맷의 파일에 대한 복구 명령을 입력받는 단계와, 저장매체에 저장되는 파일의 메타데이터가 기록된 디렉토리 엔트리 내에서 상기 파일의 삭제 전에 해당 파일에 대해 기록된 클러스터 번호의 상위 2 바이트의 값에 대한 후보 값들을 설정하는 단계와, 상기 디렉토리 엔트리 내에서 상기 후보 값의 위치에 대응하여 기록된 파일 시그니처를 상기 설정 포맷이 갖는 고유 시그니처와 비교 후 일치하는 파일 시그니처를 갖는 후보 값을 탐색하고, 탐색한 후보 값을 파일 삭제 전 해당 파일에 대해 기록된 클러스터 번호의 상위 2 바이트의 값으로 추정하는 단계, 및 상기 상위 2 바이트의 추정 값과 상기 디렉토리 엔트리 내의 상기 추정 값의 위치에 대응하여 기록된 하위 2 바이트의 값을 조합하여 상기 삭제된 파일에 대한 파일 저장 위치 값을 획득하고 상기 파일 저장 위치 값을 이용하여 상기 삭제된 파일을 복구하는 단계를 포함하는 삭제 파일의 메타데이터 복구 방법을 제공한다.
또한, 상기 복구하는 단계는, 상기 획득한 파일 저장 위치 값 및 상기 디렉토리 엔트리 내의 상기 추정 값의 위치에 대응하여 기록된 파일 크기 값을 이용하여 상기 삭제된 파일을 복구할 수 있다.
또한, 상기 복구하는 단계는, 상기 일치하는 파일 시그니처를 갖는 후보 값이 복수 개로 탐색된 경우, 상기 복수 개의 후보 값에 대응하는 복수 개의 복구 파일을 생성하되, 각각의 후보 값 별로 획득되는 16진수 형태의 상기 파일 저장 위치 값을 파일명에 삽입하여 서로 다른 파일명을 가지는 복수의 복구 파일을 생성할 수 있다.
또한, 상기 삭제 파일의 메타데이터 복구 방법은, 상기 삭제된 파일이 WAV 또는 AVI 확장자를 갖는 파일 포맷인 경우, 상기 디렉토리 엔트리 내의 상기 추정 값의 위치에 대응하여 기록된 파일 크기 값과, 상기 추정 값을 통해 복구한 복구 파일 내에 기록된 파일 크기 값을 비교하여 상기 추정 값을 검증하는 단계를 더 포함할 수 있다.
또한, 상기 후보 값을 설정하는 단계는, 상기 저장 매체의 용량 및 상기 저장 매체 내의 상기 클러스터의 단위 크기를 이용하여 상기 후보 값의 범위를 결정할 수 있다.
그리고, 본 발명은, FAT32 파일 시스템 기반의 삭제 파일의 메타데이터 복구 장치에 있어서, 저장매체에서 삭제된 설정 포맷의 파일에 대한 복구 명령을 입력받는 입력부와, 저장매체에 저장되는 파일의 메타데이터가 기록된 디렉토리 엔트리 내에서 상기 파일의 삭제 전에 해당 파일에 대해 기록된 클러스터 번호의 상위 2 바이트의 값에 대한 후보 값들을 설정하는 설정부와, 상기 디렉토리 엔트리 내에서 상기 후보 값의 위치에 대응하여 기록된 파일 시그니처를 상기 설정 포맷이 갖는 고유 시그니처와 비교 후 일치하는 파일 시그니처를 갖는 후보 값을 탐색하고, 탐색한 후보 값을 파일 삭제 전 해당 파일에 대해 기록된 클러스터 번호의 상위 2 바이트의 값으로 추정하는 추정부, 및 상기 상위 2 바이트의 추정 값과 상기 디렉토리 엔트리 내의 상기 추정 값의 위치에 대응하여 기록된 하위 2 바이트의 값을 조합하여 상기 삭제된 파일에 대한 파일 저장 위치 값을 획득하고 상기 파일 저장 위치 값을 이용하여 상기 삭제된 파일을 복구하는 제어부를 포함하는 삭제 파일의 메타데이터 복구 장치를 제공한다.
또한, 상기 제어부는, 상기 획득한 파일 저장 위치 값 및 상기 디렉토리 엔트리 내의 상기 추정 값의 위치에 대응하여 기록된 파일 크기 값을 이용하여 상기 삭제된 파일을 복구할 수 있다.
또한, 상기 제어부는, 상기 일치하는 파일 시그니처를 갖는 후보 값이 복수 개로 탐색된 경우, 상기 복수 개의 후보 값에 대응하는 복수 개의 복구 파일을 생성하되, 각각의 후보 값 별로 획득되는 16진수 형태의 상기 파일 저장 위치 값을 파일명에 삽입하여 서로 다른 파일명을 가지는 복수의 복구 파일을 생성할 수 있다.
또한, 상기 제어부는, 상기 삭제된 파일이 WAV 또는 AVI 확장자를 갖는 파일 포맷인 경우, 상기 디렉토리 엔트리 내의 상기 추정 값의 위치에 대응하여 기록된 파일 크기 값과, 상기 추정 값을 통해 복구한 복구 파일 내에 기록된 파일 크기 값을 비교하여 상기 추정 값을 검증할 수 있다.
또한, 상기 설정부는, 상기 저장 매체의 용량 및 상기 저장 매체 내의 상기 클러스터의 단위 크기를 이용하여 상기 후보 값의 범위를 결정할 수 있다.
본 발명에 따르면, 파일 시그니처를 이용하여 삭제된 클러스터 번호 상위 2 바이트를 추정하고 추정한 값과 메타 데이터에서 파일 삭제 후에도 보존된 하위 2 바이트 값을 기반으로 파일을 효율적으로 복구할 수 있다.
도 1은 FAT32 파일 시스템의 디렉토리 엔트리 구조와 파일 저장 예시를 설명한 도면이다.
도 2a는 파일 삭제 전의 FAT32 디렉토리 엔트리 정보를 예시한 도면이다.
도 2b는 파일 삭제 후에 변화한 FAT32 디렉토리 엔트리 정보를 예시한 도면이다.
도 3은 본 발명의 실시예에 따른 삭제 파일의 메타데이터 복구 장치의 구성을 나타낸 도면이다.
도 4는 도 3의 장치를 이용한 메타데이터 복구 방법을 설명하는 도면이다.
도 5는 본 발명의 실시예에서 디렉토리 엔트리 정보와 파일 시그니처를 이용한 클러스터 추정 예시를 설명한 도면이다.
도 6은 본 발명의 실시예에서 복구 과정에서 여러 위치에서 파일 시그니처가 일치하는 경우에 진행하는 예외 처리를 예시적으로 설명한 도면이다.
도 7은 본 발명의 실시예에서 복구 이후에 수행되는 2차 검증 과정을 예시적으로 설명한 도면이다.
도 2a는 파일 삭제 전의 FAT32 디렉토리 엔트리 정보를 예시한 도면이다.
도 2b는 파일 삭제 후에 변화한 FAT32 디렉토리 엔트리 정보를 예시한 도면이다.
도 3은 본 발명의 실시예에 따른 삭제 파일의 메타데이터 복구 장치의 구성을 나타낸 도면이다.
도 4는 도 3의 장치를 이용한 메타데이터 복구 방법을 설명하는 도면이다.
도 5는 본 발명의 실시예에서 디렉토리 엔트리 정보와 파일 시그니처를 이용한 클러스터 추정 예시를 설명한 도면이다.
도 6은 본 발명의 실시예에서 복구 과정에서 여러 위치에서 파일 시그니처가 일치하는 경우에 진행하는 예외 처리를 예시적으로 설명한 도면이다.
도 7은 본 발명의 실시예에서 복구 이후에 수행되는 2차 검증 과정을 예시적으로 설명한 도면이다.
그러면 첨부한 도면을 참고로 하여 본 발명의 실시 예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
본 발명은 FAT32를 기반으로 하는 삭제 파일의 메타데이터 복구 기법에 관한 것으로, 복구 대상이 되는 삭제 파일에 대한 파일 시그니처를 활용하여 파일 삭제 시에 디렉토리 엔트리에서 삭제된 클러스터 번호의 상위 2 바이트를 추정하고 이를 기반으로 삭제 파일을 복구할 수 있는 기법을 제안한다.
FAT32는 사용자 단말의 저장매체에 저장되는 데이터를 관리(저장, 삭제 등)하는 파일 관리 시스템의 하나로, 이동형 저장매체(예: USB메모리, MicroSD카드)나 소용량의 디지털 기기(예: USB형 카메라, 녹음기)의 데이터 저장에 활용된다.
본 발명의 실시예는 FAT32 파일 시스템에 기반한 파일 복구 기법을 제공한다. FAT32는 파일의 이름, 크기, 위치, 생성 시간 등을 포함한 메타데이터를 디렉토리 엔트리(Directory Entry)라는 구조에 저장한다.
만일 저장매체 내에서 파일이 삭제되면 디렉토리 엔트리 내 해당 파일에 대응하여 기 저장된 클러스터 번호에 대한 상위 2바이트 값은 삭제되는데, 보다 상세하게는 클러스터 번호의 상위 2 바이트가 '0000'(Ox0000)으로 초기화(리셋)된다.
클러스터 번호의 상위 2 바이트와 하위 2바이트 값은 파일의 시작 위치를 나타내는데, 이 중에 어느 하나라도 삭제되면 파일의 시작 위치를 알 수 없기 때문에 복구 대상이 되는 파일의 기존 저장 위치를 파악하기 곤란해진다.
본 발명의 실시예는 삭제 파일의 파일 포맷 정보에 대응한 파일 시그니처를 활용하여 파일 삭제 시에 디렉토리 엔트리에서 삭제된 클러스터 번호의 상위 2 바이트의 값을 쉽게 복구해낼 수 있다. 아울러 파일 삭제 시에도 디렉토리 엔트리 내에 삭제되지 않고 남아있는 메타 데이터(하위 2 바이트 값, 파일 크기 등)를 활용하여 해당 위치의 파일을 정확하게 복구해낼 수 있다.
본 발명의 상세한 설명에 앞서 파일 삭제 전과 후에 대한 FAT32 기반의 디렉토리 엔트리 정보 변화를 도면을 통하여 예시적으로 설명한다.
도 2a는 파일 삭제 전의 FAT32 디렉토리 엔트리를 예시한 도면이고, 도 2b는 파일 삭제 후에 변화한 FAT32 디렉토리 엔트리 정보를 예시한 도면이다.
디렉토리 엔트리에는 각 파일(예: PDF, MP4, M4A, AVI 파일)에 대한 메타데이터가 블록(박스 표시) 단위로 저장된다. 블록 크기는 파일명의 길이에 따라 달라질 수 있는데, 파일명이 가장 짧은 PDF 파일이 가장 작은 블록 크기를 가지고 있다.
여기서, 각 파일에 대한 메타데이터의 마지막 행에 존재한 4~11열의 데이터는 클러스터 번호를 의미한다. 예를 들어, AVI 파일의 경우, 메타데이터의 마지막 행에 위치한 4열~5열의 값(L)은 클러스터 번호에 대한 상위 2 바이트이고, 10열~11열의 값(M)은 클러스터 번호에 대한 하위 2바이트를 의미한다.
이러한 클러스터 번호 영역의 상위 2 바이트(L)와 하위 2바이트(M)를 결합한 정보값(예: AVI 파일의 경우, 0x000C41E3)은 해당 파일의 저장 위치(파일 시작 위치)를 의미한다. 또한, 12열~15열의 값(N)은 해당 파일의 크기를 의미하는데 AVI 파일의 경우, 파일 크기는 0x21CE8D9C이다. 여기서 Ox은 16진수 표기를 의미한다.
이를 정리한 데이터는 다음의 표 1과 같다.
파일명 | (파일 속성, 생성 날짜 등) |
클러스터 번호
상위 2 바이트 |
(파일
수정 날짜 및 시간) |
클러스터 번호
하위 2 바이트 |
파일 크기 |
AVIVideo.AVI | … | 0x000C(BE) | … | 0x41E3(BE) | 0x21CE8D9C(BE) |
MP4Video.MP4 | … | 0x0012(BE) | … | 0xEA0C(BE) | 0x4F935058(BE) |
M4AAudio.M4A | … | 0x0016(BE) | … | 0x3354(BE) | 0x037CE54A(BE) |
PDF.PDF | … | 0x0016(BE) | … | 0x4148BE) | 0x003944AC(BE) |
여기서, 저장매체에 저장된 각 파일이 삭제되면, 메타데이터의 일부가 수정되거나 초기화된다.
도 2b에서 파일 삭제 후에 변동된 정보는 주황색 박스로 표시되어 있다. 즉, 도 2b를 보면, 파일이 삭제된 후에는 각 파일에 대한 메타데이터의 시작 값은 모두 0xE5로 변경되면서 파일이 삭제되었음을 표기하고, 각 파일에 대한 클러스터 번호 상위 2 바이트는 모두 0x0000으로 초기화된다.
이러한 변화는 파일 삭제 후에 관한 정리 표인 표 2에서도 확인 가능하다. 볼드체 표시한 부분은 변동이 발생한 데이터에 해당한다.
파일이름 |
(파일
속성, 생성 날짜 등) |
클러스터 번호
상위 2 바이트 |
(파일
수정 날짜 및 시간) |
클러스터 번호
하위 2 바이트 |
파일 크기 |
AVIVideo.AVI | … | 0x0000(BE) | … | 0x41E3(BE) | 0x21CE8D9C(BE) |
MP4Video.MP4 | … | 0x0000(BE) | … | 0xEA0C(BE) | 0x4F935058(BE) |
M4AAudio.M4A | … | 0x0000(BE) | … | 0x3354(BE) | 0x037CE54A(BE) |
?DF.PDF | … | 0x0000(BE) | … | 0x4148BE) | 0x003944AC(BE) |
파일 삭제 후, 클러스터 번호 상위 2 바이트 값이 모두 초기화되어, 이에 대한 정보를 모르면 파일 시작 위치를 확인할 수 없어 파일의 정상 복구가 어렵게 된다.
본 발명의 실시예의 경우 파일 시그니처를 이용하여 클러스터 번호 상위 2 바이트 값을 추정할 수 있으며, 추정한 값을 이용하여 파일을 정상 복구할 수 있는 기법을 제안한다.
아래의 표 3과 같이 파일 시그니처는 파일의 포맷(확장자) 별로 서로 상이한 값으로 미리 약속되며, 사전에 시스템에서 알고 있는 값에 해당한다.
파일확장자 | 파일 시그니처 길이 | 파일 시그니처 |
JPG | 3 바이트 | 0xFFD8FF |
MP4 | 8 바이트 | 0x0000001866747970 |
ASF | 8 바이트 | 0x3026B2758E66CF11 |
AVI | 4 바이트 | 0x52494646 |
… | … | … |
이하에서는 본 발명의 실시예에 따른 FAT32를 기반으로 하는 삭제 파일의 메타데이터 복구 기법에 관하여 보다 구체적으로 설명한다.
도 3은 본 발명의 실시예에 따른 삭제 파일의 메타데이터 복구 장치의 구성을 나타낸 도면이고, 도 4는 도 3의 장치를 이용한 메타데이터 복구 방법을 설명하는 도면이다.
도 3 및 도 4를 참조하면, 본 발명의 실시예에 따른 삭제 파일의 메타데이터 복구 장치(100)는 입력부(110), 설정부(120), 추정부(130), 제어부(140)를 포함한다. 여기서 각 부(110~130)의 동작 및 각 부 간의 데이터 흐름은 제어부(140)에 의해 제어될 수 있다.
이러한 본 발명의 실시예에 따른 복구 장치(100)는 소프트웨어, 컴퓨터에 실행 가능한 응용 프로그램 형태 등으로 구현될 수 있으며, 사용자 단말에 설치된 상태에서 사용자 조작에 의해 구동될 수 있다. 사용자 단말은 PC, 데스크탑, 노트북, 스마트폰, 태블릿 PC, 패드 등을 포함할 수 있다.
먼저, 입력부(110)는 저장매체에서 삭제된 설정 포맷을 갖는 파일에 대한 복구 명령을 입력받는다(S410).
입력부(110)는 사용자 단말의 입력 장치(예: 마우스, 키보드, 터치 등)를 통하여 파일 복구 명령을 입력받을 수 있다. 이때, 복구를 원하는 파일 포맷의 종류(예: AVI, MP4, PDF, MA4, WAV 등)를 함께 입력받을 수 있다. 따라서 복구 명령에는 복구를 희망하는 설정 포맷의 정보를 포함할 수 있다.
입력부(110)는 복구 가능한 다양항 종류의 포맷 리스트를 제공하고 이중에서 복구를 원하는 파일 포맷의 종류를 선택받을 수 있다.
입력부(110)는 설정 포맷의 정보(복구 대상 파일 포맷의 종류)를 포함한 복구 명령을 제어부(140)로 전달할 수 있고 제어부(140)는 각 부의 동작을 제어하여 해당 포맷의 파일을 복구하기 위한 동작을 실행할 수 있다.
파일이 삭제된 후에는, 도 2b에서와 같이 해당 파일에 대한 메타데이터 중에서 클러스터 번호 상위 2 바이트(L) 부분이 0x0000으로 초기화 된다. 따라서, 파일 복구를 위해서는, 우선 클러스터 번호 상위 2 바이트에 대한 후보 값을 설정해 주어야 한다.
이를 위해, 설정부(120)는 디렉토리 엔트리 내에서 파일의 삭제 전에 해당 파일에 대해 기록된 클러스터 번호의 상위 2 바이트의 값에 대한 후보 값들을 설정한다(S420).
이때, 클러스터 번호 상위 2 바이트의 추정 가능 범위는 0x0000 ~ 0xFFFF 이다. 하지만 해당 범위 내의 후보 값을 모두 사용하여 상위 2 바이트를 추정하는 것은 많은 시간이 소요되고 비효율적이다.
이를 위해, 설정부(120)는 저장 매체의 용량 및 저장 매체 내에 설정된 클러스터의 단위 크기를 이용하여, 후보 값의 범위를 결정한다. 이때 범위는 최소값값(0x0000)부터 최대값 사이의 범위를 가지는데, 최대값은 앞서 상술한 0xFFFF 보다 작은 값을 가진다.
예를 들어, 16GB(17,179,869,184 바이트)의 용량을 갖는 저장매체가 1개의 클러스터당 32,768 바이트의 크기를 갖는다면, 단순히 계산하더라도 십진수로 524,288개, 16진수로 0x00080000개의 클러스터를 갖기 때문에, 추정 가능 범위는 0x0000~0x0007로 대폭 줄어든다. 이러한 예시는 이해를 돕기 위해 0, 1번 클러스터 이슈나 기타 사항들은 고려하지 않았다.
이와 같이, 설정부(120)는 후보 값의 범위를 설정하고, 설정한 범위를 추정부(130)로 전달한다. 이때 후보 값의 범위가 0x0000~0x0007로 설정된 경우, 후보 값은 0x0000, 0x0001, … 0x0007 까지 총 8개가 된다.
이후, 추정부(130)는 클러스터 번호 상위 2바이트의 후보 8개를 순차적으로 탐색하고 해당 위치의 파일 시그니처를 확인하여 디렉토리 엔트리에 저장된 파일의 시그니처와 일치하는지 확인한다.
구체적으로, 추정부(130)는 각각의 후보 값(0x0000, 0x0001, … 0x0007) 별로 디렉토리 엔트리 내에서 후보 값의 위치에 대응하여 기록된 파일 시그니처를 설정 포맷이 갖는 고유 시그니처와 비교 후, 일치하는 파일 시그니처를 갖는 후보 값을 탐색하고(S430), 탐색한 후보 값을 파일 삭제 전 해당 파일에 대해 기록된 클러스터 번호의 상위 2 바이트의 값으로 추정한다(S440).
도 5는 본 발명의 실시예에서 디렉토리 엔트리 정보와 파일 시그니처를 이용한 클러스터 추정 예시를 설명한 도면이다. 도 5의 상단 테이블은 파일 삭제 이후의 디렉토리 엔트리 정보를 나타내고 하단 테이블은 이를 활용한 클러스터 번호 추정 과정을 나타낸다.
도 5를 참조하면 디렉토리 엔트리 내 8개 후보 값 각각을 대상으로, 해당 후보 값의 위치에 대응하여 저장된 파일 시그니처를 AVI 파일에 대한 고유 시그니처(0x52494646)와 비교하고, 비교 결과 일치하는 파일 시그니처를 갖는 후보 값은 다섯 번째 후보 값인 '0x0004'로 탐색된다. 추정부(130)는 탐색된 '0x0004'를 AVI 포맷을 갖는 삭제 파일에 관한 클러스터 번호의 상위 2 바이트의 값으로 추정한다.
이후, 제어부(140)는 상위 2 바이트의 추정 값과 해당 디렉토리 엔트리 내의 추정 값의 위치에 대응하여 기록된 하위 2 바이트의 값을 이용하여, 삭제된 AVI 파일을 복구한다(S450).
구체적으로, 제어부(140)는 상위 2 바이트의 추정 값 '0x0004'과 그에 대응된 하위 2 바이트 값 '0x41E3'을 조합하여, 삭제된 파일에 대한 파일 저장 위치 값 '0x000441E3'를 획득한다. 파일 저장 위치는 해당 파일의 시작 위치를 의미한다.
그리고 제어부(140)는 획득한 파일 저장 위치 값 '0x000441E3'과 해당 디렉토리 엔트리 내의 추정 값의 위치에 대응하여 기록된 파일 크기 값 '0x21CE8D9C'을 이용하여, 해당 위치에서 해당 크기(0x21CE8D9C 바이트)만큼의 데이터를 복구한다. 이를 통해, 삭제된 AVI 파일이 복구된다.
이에 따르면, 디렉토리 엔트리에 기록된 파일의 크기를 이용하여, 조각나지 않은 파일의 경우 정확한 파일의 크기로 복구가 가능하다.
아울러, 기존의 시그니처 카빙 기법과는 다르게, 파일에 대한 파일명, 파일 생성 시간, 수정시간 등에 대한 정보를 추가로 얻을 수 있기 때문에, 소형 카메라나 소형 녹음기 중 파일명이나 파일 생성시간에만 촬영 시각, 녹음 시각을 기록하는 경우에도 이에 대한 정확한 정보를 확인할 수 있다.
여기서, 복구 파일 생성 시에는 아래와 같은 예외 처리가 이루어질 수 있다.
제어부(140)는 일치하는 파일 시그니처를 갖는 후보 값이 복수 개로 탐색된 경우, 복수 개의 후보 값에 대응하는 복수 개의 복구 파일을 생성하되, 각각의 후보 값 별로 획득되는 16진수 형태의 파일 저장 위치 값을 파일명에 직접 삽입하여 서로 다른 파일명을 가지는 복수의 복구 파일을 생성할 수 있다.
도 6은 본 발명의 실시예에서 복구 과정에서 여러 위치에서 파일 시그니처가 일치하는 경우에 진행하는 예외 처리를 예시적으로 설명한 도면이다.
도 6의 경우, AVI 파일의 고유 시그니처(0x52494646)와 일치하는 시그니처를 갖는 후보 값이 2개(0x0001, 0x000C) 검출된 경우로, 이 경우, 제어부(140)는 "(0x000141E3)AVIVideo.AVI", "(0x000C41E3)AVIVideo.AVI"와 같이, "(저장위치)파일명"의 형태로 여러 파일을 복구하여 예외 처리한다.
또한, 추가적으로, 본 발명의 실시예에 따르면, AVI 파일과 같이 파일의 데이터에 자신의 크기에 대한 정보를 담고 있는 파일의 경우, 디렉토리 엔트리에 저장된 파일 크기 정보와 그 값을 비교하여 추정한 클러스터가 맞는지 2차 검증을 수행할 수도 있다.
즉, 제어부(140)는 설정 포맷이 WAV 또는 AVI인 경우, 즉 삭제된 파일이 WAV 또는 AVI 확장자를 갖는 파일 포맷인 경우, 디렉토리 엔트리 내의 추정 값의 위치에 대응하여 기록된 파일 크기 값과, 추정 값을 통해 복구한 복구 파일 내에 기록된 파일 크기 값을 비교하여 추정 값을 한번 더 검증하는 과정을 수 있다. 이러한 과정은 S450 단계 이후에 진행된다.
도 7은 본 발명의 실시예에서 복구 이후에 수행되는 2차 검증 과정을 예시적으로 설명한 도면이다. 도 7의 좌측 그림은 클러스터 추정으로 복구한 파일 정보를 나타내고, 우측 그림은 복구 파일에 저장된 정보를 나타낸다.
우측 그림과 같이, WAV나 AVI 파일의 경우 파일 시그니처 뒤에 파일의 크기 정보가 저장되어 있다. 이러한 파일들은 파일시스템에 기록된 파일의 크기와 복구한 파일 내부에 기록된 파일의 크기를 비교하여, 클러스터 추정 기법으로 추정된 값이 맞는지 2차 검증을 시도할 수 있다. 도 7과 같이, 파일 크기가 일치하면 복구 파일이 유효한 것으로 판단하고, 그렇지 않은 경우에는 유효하지 않은 파일로 분류되어 추정 값에서 배제될 수 있다. 이러한 방법으로 복구 파일을 정확하게 2차 검증할 수 있다.
이상과 같이 본 발명에 따르면, 파일 시그니처를 이용하여 삭제된 클러스터 번호 상위 2 바이트를 추정하고 추정한 값과 메타 데이터에서 파일 삭제 후에도 보존된 하위 2 바이트 값을 기반으로 파일을 효율적으로 복구할 수 있다.
기존의 전통적인 카빙 방법을 통한 복구 방식에서는 소형카메라나 소형녹음기와 같이 파일명이나 파일시스템 정보에 파일의 촬영, 녹음시각을 기재하는 경우, 이런 중요한 정보를 놓칠 수 있다. 하지만 파일 카빙 기법에 제안한 방법을 추가로 적용하여 사용할 경우, 저장매체에서 보다 많은 파일에 대한 단서를 획득할 수 있다.
그리고, 카빙 기법을 사용할 때, 파일의 시작점은 파일 시그니처를 이용하여 확인할 수 있지만, 끝점은 확인이 어려워 파일 복구시 끝점을 너무 크게 잡는 경우 불필요한 시간과 자원이 소모된다. 하지만 제안한 방법은 파일시스템에 저장된 파일 크기를 이용하여 정확한 파일의 끝점을 확인할 수 있어서 이러한 불필요한 시간과 자원 소모를 방지하는 부가적인 효과도 얻을 수 있다.
본 발명은 도면에 도시된 실시 예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 다른 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의하여 정해져야 할 것이다.
100: 삭제 파일의 메타데이터 복구 장치
110: 입력부 120: 설정부
130: 추정부 140: 제어부
110: 입력부 120: 설정부
130: 추정부 140: 제어부
Claims (10)
- 메타데이터 복구 장치에서 수행되는 FAT32 파일 시스템 기반의 삭제 파일의 메타데이터 복구 방법에 있어서,
저장매체에서 삭제된 설정 포맷의 파일에 대한 복구 명령을 입력받는 단계;
저장매체에 저장되는 파일의 메타데이터가 기록된 디렉토리 엔트리 내에서 상기 파일의 삭제 전에 해당 파일에 대해 기록된 클러스터 번호의 상위 2 바이트의 값에 대한 후보 값들을 설정하는 단계;
상기 디렉토리 엔트리 내에서 상기 후보 값의 위치에 대응하여 기록된 파일 시그니처를 상기 설정 포맷이 갖는 고유 시그니처와 비교 후 일치하는 파일 시그니처를 갖는 후보 값을 탐색하고, 탐색한 후보 값을 파일 삭제 전 해당 파일에 대해 기록된 클러스터 번호의 상위 2 바이트의 값으로 추정하는 단계; 및
상기 상위 2 바이트의 추정 값과 상기 디렉토리 엔트리 내의 상기 추정 값의 위치에 대응하여 기록된 하위 2 바이트의 값을 조합하여 상기 삭제된 파일에 대한 파일 저장 위치 값을 획득하고 상기 파일 저장 위치 값을 이용하여 상기 삭제된 파일을 복구하는 단계를 포함하는 삭제 파일의 메타데이터 복구 방법. - 청구항 1에 있어서,
상기 복구하는 단계는,
상기 획득한 파일 저장 위치 값 및 상기 디렉토리 엔트리 내의 상기 추정 값의 위치에 대응하여 기록된 파일 크기 값을 이용하여 상기 삭제된 파일을 복구하는 삭제 파일의 메타데이터 복구 방법. - 청구항 1에 있어서,
상기 복구하는 단계는,
상기 일치하는 파일 시그니처를 갖는 후보 값이 복수 개로 탐색된 경우, 상기 복수 개의 후보 값에 대응하는 복수 개의 복구 파일을 생성하되,
각각의 후보 값 별로 획득되는 16진수 형태의 상기 파일 저장 위치 값을 파일명에 삽입하여 서로 다른 파일명을 가지는 복수의 복구 파일을 생성하는 삭제 파일의 메타데이터 복구 방법. - 청구항 1 또는 청구항 2에 있어서,
상기 삭제된 파일이 WAV 또는 AVI 확장자를 갖는 파일 포맷인 경우, 상기 디렉토리 엔트리 내의 상기 추정 값의 위치에 대응하여 기록된 파일 크기 값과, 상기 추정 값을 통해 복구한 복구 파일 내에 기록된 파일 크기 값을 비교하여 상기 추정 값을 검증하는 단계를 더 포함하는 삭제 파일의 메타데이터 복구 방법. - 청구항 1에 있어서,
상기 후보 값을 설정하는 단계는,
상기 저장 매체의 용량 및 상기 저장 매체 내의 상기 클러스터의 단위 크기를 이용하여 상기 후보 값의 범위를 결정하는 삭제 파일의 메타데이터 복구 방법. - FAT32 파일 시스템 기반의 삭제 파일의 메타데이터 복구 장치에 있어서,
저장매체에서 삭제된 설정 포맷의 파일에 대한 복구 명령을 입력받는 입력부;
저장매체에 저장되는 파일의 메타데이터가 기록된 디렉토리 엔트리 내에서 상기 파일의 삭제 전에 해당 파일에 대해 기록된 클러스터 번호의 상위 2 바이트의 값에 대한 후보 값들을 설정하는 설정부;
상기 디렉토리 엔트리 내에서 상기 후보 값의 위치에 대응하여 기록된 파일 시그니처를 상기 설정 포맷이 갖는 고유 시그니처와 비교 후 일치하는 파일 시그니처를 갖는 후보 값을 탐색하고, 탐색한 후보 값을 파일 삭제 전 해당 파일에 대해 기록된 클러스터 번호의 상위 2 바이트의 값으로 추정하는 추정부; 및
상기 상위 2 바이트의 추정 값과 상기 디렉토리 엔트리 내의 상기 추정 값의 위치에 대응하여 기록된 하위 2 바이트의 값을 조합하여 상기 삭제된 파일에 대한 파일 저장 위치 값을 획득하고 상기 파일 저장 위치 값을 이용하여 상기 삭제된 파일을 복구하는 제어부를 포함하는 삭제 파일의 메타데이터 복구 장치. - 청구항 6에 있어서,
상기 제어부는,
상기 획득한 파일 저장 위치 값 및 상기 디렉토리 엔트리 내의 상기 추정 값의 위치에 대응하여 기록된 파일 크기 값을 이용하여 상기 삭제된 파일을 복구하는 삭제 파일의 메타데이터 복구 장치. - 청구항 6에 있어서,
상기 제어부는,
상기 일치하는 파일 시그니처를 갖는 후보 값이 복수 개로 탐색된 경우, 상기 복수 개의 후보 값에 대응하는 복수 개의 복구 파일을 생성하되,
각각의 후보 값 별로 획득되는 16진수 형태의 상기 파일 저장 위치 값을 파일명에 삽입하여 서로 다른 파일명을 가지는 복수의 복구 파일을 생성하는 삭제 파일의 메타데이터 복구 장치. - 청구항 6 또는 청구항 7에 있어서,
상기 제어부는,
상기 삭제된 파일이 WAV 또는 AVI 확장자를 갖는 파일 포맷인 경우, 상기 디렉토리 엔트리 내의 상기 추정 값의 위치에 대응하여 기록된 파일 크기 값과, 상기 추정 값을 통해 복구한 복구 파일 내에 기록된 파일 크기 값을 비교하여 상기 추정 값을 검증하는 삭제 파일의 메타데이터 복구 장치. - 청구항 6에 있어서,
상기 설정부는,
상기 저장 매체의 용량 및 상기 저장 매체 내의 상기 클러스터의 단위 크기를 이용하여 상기 후보 값의 범위를 결정하는 삭제 파일의 메타데이터 복구 장치.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020220035153A KR102400723B1 (ko) | 2022-03-22 | 2022-03-22 | Fat32를 기반으로 하는 삭제 파일의 메타데이터 복구 장치 및 그 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020220035153A KR102400723B1 (ko) | 2022-03-22 | 2022-03-22 | Fat32를 기반으로 하는 삭제 파일의 메타데이터 복구 장치 및 그 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR102400723B1 true KR102400723B1 (ko) | 2022-05-23 |
Family
ID=81804007
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020220035153A KR102400723B1 (ko) | 2022-03-22 | 2022-03-22 | Fat32를 기반으로 하는 삭제 파일의 메타데이터 복구 장치 및 그 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102400723B1 (ko) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20100011137A (ko) * | 2008-07-24 | 2010-02-03 | 강릉원주대학교산학협력단 | 고속 파일 복구가 가능한 fat 파일시스템을 사용한데이터 처리장치 및 데이터 처리방법 |
KR20110023580A (ko) * | 2009-08-31 | 2011-03-08 | 삼성전자주식회사 | 데이터를 복구하기 위한 방법 및 시스템 |
KR20110090568A (ko) * | 2010-02-04 | 2011-08-10 | 고려대학교 산학협력단 | 임베디드 시스템의 데이터 복원 장치 및 방법 |
KR101780236B1 (ko) * | 2016-04-19 | 2017-09-21 | 고려대학교 산학협력단 | 파일 복구 기능을 갖는 파일 관리 장치 및 파일 관리 장치의 파일 복구 방법 |
-
2022
- 2022-03-22 KR KR1020220035153A patent/KR102400723B1/ko active IP Right Grant
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20100011137A (ko) * | 2008-07-24 | 2010-02-03 | 강릉원주대학교산학협력단 | 고속 파일 복구가 가능한 fat 파일시스템을 사용한데이터 처리장치 및 데이터 처리방법 |
KR20110023580A (ko) * | 2009-08-31 | 2011-03-08 | 삼성전자주식회사 | 데이터를 복구하기 위한 방법 및 시스템 |
KR20110090568A (ko) * | 2010-02-04 | 2011-08-10 | 고려대학교 산학협력단 | 임베디드 시스템의 데이터 복원 장치 및 방법 |
KR101780236B1 (ko) * | 2016-04-19 | 2017-09-21 | 고려대학교 산학협력단 | 파일 복구 기능을 갖는 파일 관리 장치 및 파일 관리 장치의 파일 복구 방법 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105069048A (zh) | 一种小文件存储方法、查询方法和装置 | |
US6675180B2 (en) | Data updating apparatus that performs quick restoration processing | |
JP5644777B2 (ja) | ファイル群整合性検証システム、ファイル群整合性検証方法およびファイル群整合性検証用プログラム | |
CN103902623A (zh) | 用于在存储系统上存取文件的方法和系统 | |
CN101983376B (zh) | 访问装置、信息记录装置、信息记录系统、文件管理方法和程序 | |
CN110569147B (zh) | 一种基于索引的删除文件恢复方法、终端设备及存储介质 | |
JP2006313548A (ja) | ファイルシステムに追加情報を保存して管理する装置及び方法 | |
WO2020103493A1 (zh) | 基于fat32文件系统的删除文件恢复方法及系统 | |
CN103617277A (zh) | 一种还原误删除的数据表内容的方法 | |
CN100437504C (zh) | 硬盘数据备份系统及方法 | |
CN103617260A (zh) | 重复数据删除的索引生成方法及装置 | |
JP4755244B2 (ja) | 情報生成方法、情報生成プログラム及び情報生成装置 | |
CN112800019A (zh) | 基于Hadoop分布式文件系统的数据备份方法及系统 | |
CN112800007B (zh) | 适用于fat32文件系统的目录项扩展方法和系统 | |
KR102400723B1 (ko) | Fat32를 기반으로 하는 삭제 파일의 메타데이터 복구 장치 및 그 방법 | |
KR100987320B1 (ko) | 고속 파일 복구가 가능한 fat 파일시스템을 사용한데이터 처리장치 및 데이터 처리방법 | |
CN104794025A (zh) | 快速校验存储设备的方法 | |
CN105138429B (zh) | 一种写时拷贝快照方法和系统 | |
CN114217741A (zh) | 存储装置的存储方法及存储装置 | |
KR101265691B1 (ko) | 저장 장치의 식별자 관리 방법, 복원 방법 및 그 장치 | |
KR100567813B1 (ko) | 텐덤 시스템의 트랜잭션 분석 시스템 | |
US7672933B2 (en) | Information processing apparatus, information processing method, program, and storage medium | |
JP2016115223A (ja) | データベース管理システム、データベース管理方法、およびプログラム。 | |
TWI475419B (zh) | 用於在儲存系統上存取檔案的方法和系統 | |
JP2010257226A (ja) | 情報処理装置、情報処理方法、プログラムおよび記録媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A302 | Request for accelerated examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |