KR101780236B1 - 파일 복구 기능을 갖는 파일 관리 장치 및 파일 관리 장치의 파일 복구 방법 - Google Patents

파일 복구 기능을 갖는 파일 관리 장치 및 파일 관리 장치의 파일 복구 방법 Download PDF

Info

Publication number
KR101780236B1
KR101780236B1 KR1020160047540A KR20160047540A KR101780236B1 KR 101780236 B1 KR101780236 B1 KR 101780236B1 KR 1020160047540 A KR1020160047540 A KR 1020160047540A KR 20160047540 A KR20160047540 A KR 20160047540A KR 101780236 B1 KR101780236 B1 KR 101780236B1
Authority
KR
South Korea
Prior art keywords
file
directory entry
flow pattern
restored
sequential
Prior art date
Application number
KR1020160047540A
Other languages
English (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 KR1020160047540A priority Critical patent/KR101780236B1/ko
Application granted granted Critical
Publication of KR101780236B1 publication Critical patent/KR101780236B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1435Saving, restoring, recovering or retrying at system level using file system or storage system metadata
    • G06F17/30221

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Library & Information Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 파일 시스템에 기초하여 복수의 파일을 저장하는 스토리지 모듈, 파일 복구 프로그램이 저장된 메모리 및 메모리에 저장된 프로그램을 실행하는 프로세서를 포함한다. 이때, 프로세서는 프로그램의 실행에 따라, 복구 대상 파일을 복구하고, 디렉토리 엔트리 리스트에 기초하여, 복구 대상 파일에 대한 생성 시간을 복원하되, 디렉토리 엔트리 리스트는 복수의 파일에 대한 메타 정보를 포함하는 디렉토리 엔트리를 포함한다.

Description

파일 복구 기능을 갖는 파일 관리 장치 및 파일 관리 장치의 파일 복구 방법{APPARATUS AND METHOD FOR FILE MANAGEMENT OF RECOVERED FILE}
본 발명은 파일 복구 기능을 갖는 파일 관리 장치 및 파일 관리 장치의 파일 복구 방법에 관한 것이다.
최근 블랙박스 장치 및 CCTV 카메라와 같은 영상 기록 장치의 보급이 급증하고 있다. 이에 따라, 영상 기록 장치를 통하여 기록된 영상 데이터는 사고 및 범죄의 분석에 주요한 증거 자료로 활용되고 있다. 그러나 관련 당사자들이 본인에게 불리한 영상 데이터를 삭제하는 사례가 빈번하게 발생하고 있다. 그러므로 삭제된 영상 파일을 복구하는 기술이 많이 개발되고 있다.
그러나 복구된 영상 데이터의 생성 시간 등의 정보가 불확실한 경우, 복구된 영상 데이터가 민사 및 형사 소송에 증거 효력의 한계를 가질 수 있다. 그러므로 삭제된 영상 데이터에 대한 복구와 함께, 영상 데이터의 생성 시간의 복구가 필요하다.
종래의 삭제된 파일의 복구 기술은 주로 사용자에 의해 삭제된 파일에 대하여 파일 시스템 내에 남아있는 해당 파일의 내용을 최대한 많이 복구하는데 초점이 맞춰져 있다. 그러므로 종래의 파일 복구 기술은 파일에 대한 메타 정보가 삭제된 경우, 파일의 메타 정보(meta information)를 복구하지는 못한다는 단점이 있다. 이때, 메타 정보는 파일의 생성 시간, 수정 시간 및 마지막 접근 시간 등이 있다.
이와 관련되어, 한국 공개특허공보 제10-2015-0086861호(발명의 명칭: 개체 정보 추출을 이용한 포렌식 문서 필터 장치 및 방법)는 테스트 영역 및 개체 영역까지 텍스트를 추출하고 파일을 복구하는 문서 필터 장치를 개시하고 있다. 이 발명은 디지털 포렌식 이미지를 파일 시스템으로 구축하는 파일시스템 구성부, 파일 시스템으로 구성된 디지털 포렌식 이미지를 스캔하여 삭제된 파일을 복구하는 삭제파일 복구부, 파일의 종류를 구분하는 파일종류 판별부, 파일종류 판별부에서 구분에 근거하여 문서파일에서 메타 데이터, 본문 데이터 및 본문에 삽입된 개체 정보를 추출하는 파일 추출부 및 파일 추출부에서 추출된 결과에 대한 검색이 가능하도록 인코딩을 변환하는 결과 변환부를 포함한다.
본 발명은 전술한 종래 기술의 문제점을 해결하기 위한 것으로서, 윈도우 운영체제 환경에서의 디렉토리 엔트리에 기초하여, 파일 및 파일의 생성 시간을 복구하는 파일 관리 장치 및 파일 관리 장치의 파일 복구 방법을 제공한다.
다만, 본 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 발명의 제 1 측면에 따른 파일 복구 기능을 갖는 파일 관리 장치는 파일 시스템에 기초하여 복수의 파일을 저장하는 스토리지 모듈, 파일 복구 프로그램이 저장된 메모리 및 메모리에 저장된 프로그램을 실행하는 프로세서를 포함한다. 이때, 프로세서는 프로그램의 실행에 따라, 복구 대상 파일을 복구하고, 디렉토리 엔트리 리스트에 기초하여, 복구 대상 파일에 대한 생성 시간을 복원하되, 디렉토리 엔트리 리스트는 복수의 파일에 대한 메타 정보를 포함하는 디렉토리 엔트리를 포함한다.
또한, 본 발명의 제 2 측면에 따른 파일 관리 장치의 파일 복구 방법은 복구 대상 파일을 복구하는 단계; 및 디렉토리 엔트리 리스트에 기초하여, 복구 대상 파일에 대한 생성 시간을 복원하는 단계를 포함한다. 이때, 디렉토리 엔트리 리스트는 복수의 파일에 대한 메타 정보를 포함하는 디렉토리 엔트리를 포함한다.
본 발명은 삭제된 파일 기록 장치에 의해서 삭제된 파일을 복구하고 삭제된 파일의 생성 시간 정보를 유추할 수 있다.
그러므로 본 발명은 블랙박스 장치 및 CCTV 등에서 촬영된 영상 데이터에 적용하여, 악의적 목적으로 삭제된 사고/범죄 관련 영상을 복원하고, 영상이 생성된 시간을 유추할 수 있다. 본 발명은 복구된 영상 파일에 대한 증거 능력을 향상시킬 수 있다.
도 1은 윈도우 운영체제를 위한 FAT32 파일 시스템의 예시도이다.
도 2는 본 발명의 일 실시예에 따른 파일 기록 장치의 파일 및 디렉토리 엔트리 저장의 예시도이다.
도 3은 본 발명의 일 실시예에 따른 파일 기록 장치의 파일 및 디렉토리 엔트리 삭제의 예시도이다.
도 4는 본 발명의 일 실시예에 따른 파일 복구 장치의 블록도이다.
도 5는 본 발명의 일 실시예에 따른, 디렉토리 엔트리가 보존되지 않은 경우에 대한 파일 생성 시간 복원의 예시도이다.
도 6은 본 발명의 일 실시예에 따른 제 1 순차 저장 흐름 패턴을 제외한 데이터 영역의 클러스터의 예시도이다.
도 7은 본 발명의 일 실시예에 따른, 디렉토리 엔트리가 보존되지 않은 경우에 대한 파일 생성 시간 복원의 예시도이다.
도 8은 본 발명의 일 실시예에 따른 순차 저장 흐름 패턴을 제외한 데이터 영역의 클러스터의 예시도이다.
도 9는 본 발명의 일 실시예에 따른 파일 복구 장치의 파일 생성 시간 복구 방법의 순서도이다.
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 다른 부분과 '연결'되어 있다고 할 때, 이는 '직접적으로 연결'되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 '전기적으로 연결'되어 있는 경우도 포함한다. 또한, 어떤 부분이 어떤 구성요소를 '포함'한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
다음은 도 1 내지 도 3을 참조하여, 윈도우(windows) 운영체제(operating system; OS)에서의 FAT 32 파일 시스템(100)을 설명한다.
도 1은 윈도우 운영체제를 위한 FAT32 파일 시스템(100)의 예시도이다.
윈도우 운영체제를 위한 FAT32 파일 시스템(100)은 대용량 저장장치를 지원하기 위한 파일 할당 테이블(file allocation table; FAT) 파일 시스템(100)이다. FAT32 파일 시스템(100)은 예약된 영역(reserved area; 110), FAT 영역(120) 및 데이터 영역(data area; 130)을 포함한다.
예약된 영역(110)은 파일 시스템(100)에서 가장 앞 부분에 위치한다. 이때, 예약된 영역(110)은 부트섹터(111), FSINFO(file system information; 112), 부트 스트랩(113) 및 추가적인 예약된 섹터(114)를 포함한다.
FAT 영역(120)은 파일 할당 테이블로 각 파일이 저장된 클러스터에 대한 링크를 포함한다. 구체적으로 FAT 영역(120)은 FAT 엔트리(FAT entry)를 통해, 데이터 영역의 클러스터 할당 상태 및 연결 상태를 표현한다.
데이터 영역(130)은 디렉토리 엔트리(directory entry)를 포함하는 디렉토리 엔트리 리스트(directory entry list) 및 실제 파일의 데이터를 저장할 수 있다.
디렉토리 엔트리는 파일의 메타 정보를 저장한다. 이때, 파일의 메타 정보는 파일의 이름, 확장자, 위치, 크기 및 시간 정보를 포함할 수 있다. 특히, 디렉토리 엔트리의 첫 번째 바이트는 파일이 파일 시스템(100) 상에 존재할 경우, 파일 이름을 표현하기 위하여 사용된다. 단, 파일이 삭제된 경우, 디렉토리 엔트리의 첫 번째 바이트는 삭제된 파일을 의미하는 '0xE5'가 저장되게 된다.
윈도우 운영체제를 위한 FAT32 파일 시스템(100)은 저장공간을 고정 크기(1KB ~ 16KB)의 클러스터(cluster)로 분할한다. 이때, 하나의 클러스터는 하나의 파일의 데이터를 저장하게 된다. 즉, 하나의 파일에 포함된 하나 이상의 데이터는 하나 이상의 클러스터에 저장되게 된다.
또한, 디렉토리 엔트리는 하나의 클러스터에 저장될 수 있다. 이때, 디렉토리 엔트리를 저장하기 위한 클러스터는 복수의 디렉토리 엔트리를 포함할 수 있다.
한편, 윈도우 운영체제를 위한 FAT32 파일 시스템(100)은 스토리지 모듈(410)에 복수의 파일을 저장할 수 있다. 이하에서는 파일 기록 장치를 예를 들어, 운영체제를 위한 FAT32 파일 시스템(100)에 기초하여, 복수의 파일 저장 과정을 설명한다.
구체적으로 파일 기록 장치는 윈도우 운영체제를 위한 FAT32 파일 시스템에 기초하여, 스토리지 모듈(410)에 복수의 파일을 저장할 수 있다. 이때, 파일 기록 장치는 스마트 폰 및 PC와 같은 컴퓨팅 장치이거나, 블랙박스와 같은 영상 기록 장치일 수 있으나, 이에 한정된 것은 아니다.
파일 기록 장치는 새로운 파일이 파일 기록 장치에 탑재된 스토리지 모듈(410)에 저장될 때, 파일 기록 장치는 차순 적합(next fit) 알고리즘에 기초하여, 새로운 파일이 저장되는 클러스터를 결정한다.
즉, 파일 기록 장치는 현재 저장하고자 하는 파일 직전에 저장된 파일이 저장된 클러스터 다음 위치부터 새로운 파일을 저장하기 위하여 사용 가능한 클러스터를 검색한다. 그리고 파일 기록 장치는 검색된 사용 가능한 연속된 클러스터의 개수가 새로운 파일의 크기보다 작은 경우, 사용 가능한 연속된 클러스터의 개수가 새로운 파일보다 크거나 같을 때까지 다른 사용 가능한 연속된 클러스터를 검색한다. 파일 기록 장치는 사용 가능한 연속된 클러스터의 개수가 신규 파일의 크기보다 크거나 같은 경우, 해당 클러스터에 새로운 파일을 저장하게 된다.
단, 스토리지 모듈(410)에 저장된 임의의 파일이 삭제된 다음 다시 새로운 파일을 저장하게 되면, 파일 기록 장치는 삭제된 파일을 저장하던 클러스터의 가장 앞부터 차순 적합 알고리즘에 기초하여 저장 공간을 검색할 수 있다.
즉, 파일 삭제가 발생하기 전까지 파일 기록 장치는 처음 위치한 클러스터부터 순차적으로 파일의 데이터를 저장할 수 있다. 그러나 파일 삭제가 발생한 이후에는 파일 기록 장치는 파일 삭제가 발생한 클러스터로 돌아가, 다시 순차적으로 파일의 데이터를 저장할 수 있다. 본 명세서에서는 이러한 특징을 삭제 역방향 차순 적합(deletion-backward next fit) 저장 위치 결정 방법이라고 정의한다.
또한, 파일 기록 장치는 차순 가능(next available) 알고리즘에 기초하여, 새로운 파일의 메타 정보를 저장하는 디렉토리 엔트리의 위치를 결정한다.
이때, 파일 기록 장치는 해당 파일의 디렉토리 엔트리 직전에 할당된 디렉토리 엔트리의 다음 위치에 해당 파일의 디렉토리 엔트리를 저장할 수 있다. 그리고 파일 기록 장치는 디렉토리 엔트리를 위하여 할당된 클러스터의 마지막 위치에 디렉토리 엔트리가 할당될 때까지 위 방법을 반복하여 수행할 수 있다.
그리고 해당 클러스터의 마지막 공간에 디렉토리 엔트리가 저장되어, 더 이상 저장할 공간이 없으면, 파일 기록 장치는 해당 클러스터의 첫 번째 디렉토리 엔트리에서부터 삭제된 파일을 의미하는 '0xE5'를 검색한다. 삭제된 파일의 디렉토리 엔트리가 검색되면 파일 기록 장치는 삭제된 파일의 디렉토리 엔트리에 새로운 파일의 디렉토리 엔트리를 덮어쓰기 한다.
또한, 파일 기록 장치는 해당 클러스터에 더 이상 디렉토리 엔트리를 저장할 공간이 없으면, 새로운 클러스터를 디렉토리 엔트리를 저장하기 위한 공간으로 할당할 수 있다. 그리고 파일 기록 장치는 새로운 클러스터에 신규 파일의 메타 정보를 저장하게 된다.
즉, 파일 기록 장치는 차순 가능 알고리즘에 기초하여, 파일의 삭제에 영향을 받지 않고 허용된 마지막 디렉토리 엔트리 위치까지는 저장 위치를 검색한다. 파일 기록 장치는 마지막 디렉토리 엔트리 위치까지 할당이 완료되어 있으면, 다시 해당 클러스터의 처음으로 돌아가, 삭제된 파일의 디렉토리 엔트리를 검색한다.
최종적으로 클러스터에 디렉토리 엔트리를 저장할 공간이 없으면, 파일 기록 장치는 디렉토리 엔트리를 저장하기 위한 새로운 클러스터를 할당하고, 새로운 클러스터에 해당 디렉토리 엔트리를 저장한다. 본 명세서에서는 이러한 특징을 랩-어라운드(wrap-around) 차순 가능 저장 위치 결정 방법이라고 정의한다. 구체적인 파일 및 파일에 대응하는 디렉토리 엔트리 저장 및 삭제 과정은 도 2 및 도 3을 참조하여, 설명한다.
도 2는 본 발명의 일 실시예에 따른 파일 기록 장치의 파일 및 디렉토리 엔트리 저장의 예시도이다. 이때, 도 2에서 (a)는 디렉토리 엔트리 리스트의 예시도이다. 또한, 도 2에서 (b)는 데이터가 저장되는 데이터 영역의 클러스터의 예시도이다.
파일 기록 장치는 '파일 A', '파일 B' 및 '파일 C' 순으로 스토리지 모듈(410)에 파일을 저장할 수 있다. 이때, 파일 기록 장치는 앞에서 설명한 랩-어라운드 차순 가능 저장 위치 결정 방법 및 삭제-역방향 차순 적합 저장 위치 결정 방법에 따라, 파일의 데이터를 저장할 위치 및 파일의 디렉토리 엔트리를 저장할 위치를 결정하게 된다.
구체적으로 파일 기록 장치는 '파일 A'의 데이터를 클러스터 1 내지 클러스터 3에 저장할 수 있다. 그리고 파일 기록 장치는 '파일 A'의 디렉토리 엔트리를 디렉토리 엔트리 리스트의 제 1 클러스터에 저장할 수 있다.
파일 기록 장치는 '파일 B'의 데이터를 '파일 A'가 저장된 클러스터 3의 다음 클러스터인 클러스터 4 내지 클러스터 7에 저장할 수 있다. 그리고 파일 기록 장치는 '파일 B'의 디렉토리 엔트리를 디렉토리 엔트리 리스트의 제 1 클러스터에 저장된 '파일 A'의 디렉토리 엔트리 다음에 저장할 수 있다.
또한, 파일 기록 장치는 '파일 B'와 같은 방법으로 '파일 C'의 데이터를 클러스터 8 내지 클러스터 11에 저장한다. 그리고 파일 기록 장치는 '파일 C'의 디렉토리 엔트리를 디렉토리 엔트리 리스트의 제 1 클러스터에서 직전에 저장된 '파일 B'의 디렉토리 엔트리 다음에 저장할 수 있다.
이와 같이, 파일 기록 장치는 앞에서 설명한 바와 같이, 순차적으로 파일의 데이터 및 파일의 디렉토리 엔트리를 저장할 수 있다.
도 3은 본 발명의 일 실시예에 따른 파일 기록 장치의 파일 및 디렉토리 엔트리 삭제의 예시도이다. 이때, 도 3에서 (a)는 디렉토리 엔트리 리스트의 예시도이다. 또한, 도 3에서 (b)는 데이터가 저장되는 데이터 영역의 클러스터의 예시도이다.
파일 기록 장치는 스토리지 모듈(410)에 기록된 '파일 B'가 삭제할 수 있다. 구체적으로 파일 기록 장치는 '파일 B'의 데이터가 저장된 클러스터 4 내지 클러스터 7에 저장된 '파일 B'에 대응하는 데이터를 삭제할 수 있다. 그리고 파일 기록 장치는 '파일 B'의 디렉토리 엔트리의 첫 바이트에 '0xE5'를 기록할 수 있다. 이때, '파일 B'의 디렉토리 엔트리에 포함된 '파일 B'가 저장된 위치 등은 삭제되지 않고, 유지될 수 있다.
다시, '파일 D'가 저장되면, 파일 기록 장치는 삭제-역방향 차순 적합 저장 위치 결정 방법에 따라, 삭제된 '파일 B'가 저장된 클러스터 4부터 '파일 D'의 데이터를 저장할 공간을 검색할 수 있다. 이때, '파일 B'의 크기와 '파일 D'의 크기는 동일하다. 그러므로 파일 기록 장치는 '파일 B'의 데이터가 저장되었던, 클러스터 4 내지 7에 '파일 D'의 데이터를 저장할 수 있다.
또한, 파일 기록 장치는 랩-어라운드 차순 가능 저장 위치 결정 방법에 기초하여, '파일 D'의 디렉토리 엔트리를 저장할 위치를 결정할 수 있다. 즉, 디렉토리 엔트리 리스트의 제 1 클러스터에 여유가 있으므로, 파일 기록 장치는 마지막 저장된 '파일 C'의 디렉토리 엔트리 다음에 '파일 D'의 디렉토리 엔트리를 저장할 수 있다.
다음으로, 파일 기록 장치는 '파일 D'가 삭제되면, '파일 D'의 데이터가 저장된 클러스터 4 내지 클러스터 7의 저장된 '파일 D'의 데이터를 삭제할 수 있다. 그리고 파일 기록 장치는 '파일 D'의 디렉토리 엔트리의 첫 바이트에 '0xE5'를 기록할 수 있다.
다시 '파일 E'를 저장하게 되면, 파일 기록 장치는 삭제-역방향 차순 적합 저장 위치 결정 방법에 따라, 삭제된 '파일 D'가 저장된 클러스터 4부터 '파일 E'의 데이터를 저장할 공간을 검색할 수 있다. '파일 D'의 크기는 4이고, '파일 E'의 크기는 2이므로, '파일 D'가 저장되었던 클러스터는 '파일 E'를 저장하기 충분하다. 그러므로 파일 기록 장치는 '파일 D'의 데이터가 저장되었던, 클러스터 4 내지 클러스터 7 중 클러스터 4 및 클러스터 5에 '파일 E'의 데이터를 저장할 수 있다.
또한, 파일 기록 장치는 랩-어라운드 차순 가능 저장 위치 결정 방법에 기초하여, '파일 E'의 디렉토리 엔트리를 저장할 위치를 결정할 수 있다. 이때, 디렉토리 엔트리 리스트의 제 1 클러스터에 여유가 있으므로, 파일 기록 장치는 마지막 저장된 '파일 D'의 디렉토리 엔트리 다음에 '파일 E'의 디렉토리 엔트리를 저장할 수 있다.
그러므로 디렉토리 엔트리 리스트의 제 1 클러스터는 '파일 A', '파일 C' 및 '파일 E'의 디렉토리 엔트리와 파일 이름이 삭제되어 '0xE5'를 저장하고 있는 두 개의 디렉토리 엔트리가 포함될 수 있다. 또한, '파일 E'가 '파일 D'에 비하여, 크기가 작으므로 데이터 영역의 클러스터 6 및 클러스터 7은 '파일 D'의 일부 데이터가 남아있게 된다.
다음은 도 2 내지 도 7에 기초하여, 본 발명의 일 실시예에 따른 파일 복구 장치(200)를 설명한다.
도 4는 본 발명의 일 실시예에 따른 파일 복구 장치(400)의 블록도이다.
파일 복구 장치(400)는 파일 기록 장치에 의해서 기록된 후 삭제된 파일 및 삭제된 파일의 생성 시간을 복원한다. 이때, 이때, 파일 복구 장치(400)는 윈도우 운영체제를 지원할 수 있다. 또한, 스토리지 모듈(410)에 파일을 저장하고, 삭제하는 파일 기록 장치 및 삭제된 파일을 복구하는 파일 복구 장치(400)는 서로 동일할 수도 있으며, 서로 상이할 수 있다.
파일 복구 장치(400)는 스토리지 모듈(410), 메모리(420) 및 프로세서(430)를 포함한다.
스토리지 모듈(410)은 파일 시스템(100)에 기초하여, 복수의 파일이 저장되고 관리된다. 이때, 파일 시스템(100)은 윈도우 운영체제를 위한 FAT32 파일 시스템일 수 있다.
예를 들어, 스토리지 모듈(410)은 파일 복구 장치(400)에서 착탈이 가능한 플래시 메모리(flash memory) 카드일 수 있다. 그러므로 스토리지 모듈(410)은 파일 기록 장치에 의해 파일이 기록되거나, 파일이 삭제될 수 있다. 그리고 파일이 삭제된 이후, 삭제된 파일에 대한 복구를 위하여, 파일 복구 장치(400)에 탑재된 것일 수 있다.
메모리(420)는 파일 복구 프로그램이 저장된다. 이때, 메모리(420)는 전원이 공급되지 않아도 저장된 정보를 계속 유지하는 비휘발성 저장장치 및 저장된 정보를 유지하기 위하여 전력이 필요한 휘발성 저장장치를 통칭하는 것이다. 프로세서(430)는 메모리(420)에 저장된 프로그램의 실행에 따라, 복구 대상 파일을 복구한다. 복구 대상 파일은 파일 기록 장치에서 스토리지 모듈(410)에 기록된 후, 삭제된 것일 수 있다.
이때, 스토리지 모듈(410)에 복구 대상 파일을 스토리지 모듈(410)에 기록한 파일 기록 장치 및 스토리지 모듈(410)에서 복구 대상 파일을 삭제한 파일 기록 장치는 서로 동일한 것일 수 있다. 예를 들어, 복구 대상 파일은 제 1 파일 기록 장치에 의해서 스토리지 모듈(410)에 저장한 후, 삭제된 것일 수 있다.
또한, 스토리지 모듈(410)에 복구 대상 파일을 기록한 파일 기록 장치 및 스토리지 모듈(410)에서 복구 대상 파일을 삭제한 파일 기록 장치는 서로 상이한 것일 수 있다. 예를 들어, 복구 대상 파일은 제 1 파일 기록 장치에 의해서 스토리지 모듈(410)에 저장한 후, 제 2 파일 기록 장치에 의해서 스토리지 모듈(410)에서 삭제된 것일 수 있다.
그리고 프로세서(430)는 디렉토리 엔트리 리스트에 기초하여, 복구 대상 파일에 대한 생성 시간을 복원한다. 이때, 디렉토리 엔트리 리스트는 복수의 파일에 대한 메타 정보를 포함한다.
구체적으로 프로세서(430)는 복구 대상 파일에 대응하는 디렉토리 엔트리의 보존 여부에 기초하여, 복구 대상 파일에 대한 생성 시간을 복원할 수 있다.
예를 들어, 디렉토리 엔트리 리스트에 복구 대상 파일에 대응하는 디렉토리 엔트리가 보존되어 있는 경우, 프로세서(430)는 복구 대상 파일의 저장 위치와 매칭되는 파일의 메타 정보에 기초하여, 복구 대상 파일의 생성 시간을 복원할 수 있다. 복구 대상 파일의 복구 과정은 다시 도 4를 참조하여, 자세히 설명한다.
도 4를 참조하면, '파일 D'에 대한 복구가 요청되면, 프로세서(430)는 디렉토리 엔트리 리스트에 포함된 복수의 디렉토리 엔트리에 대한 첫 번째 비트 값을 확인할 수 있다. 그리고 첫 번째 비트 값이 '0xE5'인 2 번째 디렉토리 엔트리 및 4 번째 디렉토리 엔트리에 저장된 값을 확인할 수 있다.
프로세서(430)는 먼저, 2 번째 디렉토리 엔트리의 클러스터 정보를 확인할 수 있다. 그리고 프로세서(430)는 클러스터 정보에 따라, 데이터 영역의 클러스터 4 내지 클러스터 7을 확인할 수 있다. 프로세서(430)는 클러스터 4 내지 클러스터 7 중 '파일 D'의 일부 데이터를 검색할 수 있다.
또한, 프로세서(430)는 4 번째 디렉토리 엔트리의 클러스터 정보를 확인할 수 있다. 그리고 프로세서(430)는 클러스터 정보에 따라, 데이터 영역의 클러스터 4 내지 클러스터 7을 확인할 수 있다. 프로세서(430)는 클러스터 4 내지 클러스터 7 중 '파일 D'의 일부 데이터를 검색할 수 있다.
이와 같이, 프로세서(430)는 2 번째 디렉토리 엔트리 및 4 번째 디렉토리 엔트리에 저장된 클러스터 정보에서 '파일 D'와 일치되는 데이터를 검색할 수 있다. 이때, 프로세서(430)는 두 디렉토리 엔트리 중 가장 최근에 생성된 디렉토리 엔트리의 메타 정보에 기초하여, '파일 D'의 생성 시간을 복구할 수 있다.
즉, 프로세서(430)는 4번째 디렉토리 엔트리에 포함된 파일의 메타 정보에 기초하여, '파일 D'의 메타 정보를 복구할 수 있다.
위에서 설명한 바와 같이, 파일 기록 장치는 디렉토리 엔트리 리스트에 디렉토리 엔트리를 저장할 공간의 여유가 충분할 때, 삭제된 파일의 디렉토리 엔트리가 보존될 수 있다. 그러므로 파일 복구 장치(400)의 프로세서(430)는 파일 기록 장치가 보존한 복구 대상 파일에 대한 파일의 디렉토리 엔트리를 검색하여, 복구 대상 파일의 생성 시간을 복원할 수 있다.
이와 반대로, 디렉토리 엔트리 리스트에 디렉토리 엔트리를 저장할 공간의 여유가 충분하지 않을 경우, 파일 기록 장치는 삭제된 파일의 디렉토리 엔트리에 새로운 파일의 디렉토리 엔트리를 덮어쓰기 할 수 있다. 그러므로 파일 복구 장치(400)의 프로세서(430)는 이러한 경우, 복구 대상 파일에 대응하는 디렉토리 엔트리를 이용하지 못한다.
그러므로 프로세서(430)는 디렉토리 엔트리 리스트에 포함된 순차 생성 흐름 패턴 및 디렉토리 엔트리 리스트에 대응하는 파일 저장 공간 영역에 대한 순차 저장 흐름 패턴에 기초하여, 복구 대상 파일에 대한 생성 시간을 복원할 수 있다. 이하에서는 도 5 및 도 6을 참조하여, 디렉토리 엔트리가 보존되지 못하는 경우 파일 생성 시간 복원 과정을 자세히 설명한다.
도 5는 본 발명의 일 실시예에 따른, 디렉토리 엔트리가 보존되지 않은 경우에 대한 파일 생성 시간 복원의 예시도이다.
도 5의 (a)는 디렉토리 엔트리 리스트이다. 도 5의 (a)를 참조하면, 파일 기록 장치는 '파일 A', '파일 B', '파일 C', '파일 D', '파일 E' 및 '파일 F'를 저장한 이후, '파일 D'를 삭제하고, '파일 D'가 삭제된 자리에 '파일 G'를 저장한다. 다시, 파일 기록 장치는 '파일 B', '파일 G' 및 '파일 F'를 삭제하고, '파일 H', '파일 I', '파일 J' 및 '파일 K'를 저장한다. 이때, 하나의 클러스터에는 6개의 디렉토리 엔트리를 저장할 수 있다고 하면, 마지막 저장된 '파일 K'의 디렉토리 엔트리는 새로운 제 2 클러스터에 저장될 수 있다.
또한, 각각의 파일에 포함된 데이터는 파일 기록 장치에 의하여, 도 5의 (b)와 같이, 저장될 수 있다.
만약, '파일 B' 및 '파일 G'에 대한 복구를 수행한다면, 파일 복구 장치의 프로세서(430)는 순차 흐름 패턴을 생성할 수 있다. 예를 들어, 파일 명 또는 정보 등을 알 수 없는 단일 파일의 생성 이벤트를 물음표('?')로 표기하고, 복수의 파일을 생성하는 이벤트를 아스터리스크(asterisk; '*')로 표기하면, 프로세서(430)는 도 5의 파일 생성 이벤트를 'A 1 C ?2 E ?3 *4 H I J K' 형태로 파일 생성 이벤트 흐름을 생성할 수 있다.
프로세서(430)는 파일 생성 이벤트 흐름에서 '?i'로 표기된 파일과 같은 디렉토리 엔트리를 공유하는 파일의 표기를 'X(i)' 행태로 표기할 수 있다. 그리고 프로세서(430)는 순차적으로 저장되는 이벤트 흐름을 '()'로 구분하여 순차 흐름 패턴을 생성할 수 있다. 그러므로 프로세서(430)는 파일 생성 이벤트 흐름에 기초하여, 순차 흐름 패턴 '(A ?1 C ?2 E ?3)*4 (H(1) I(4) J(4) K)'을 생성할 수 있다. 즉, 프로세서(430)는 제 1 순차 흐름 패턴 '(A ?1 C ?2 E ?3)', 제 2 순차 흐름 패턴 '*4' 및 제 3 순차 흐름 패턴 '(H(1) I(4) J(4) K)'을 생성할 수 있다.
또한, 프로세서(430)는 순차 흐름 패턴 및 도 5의 디렉토리 엔트리 리스트에 기초하여, 순차 저장 흐름 패턴을 생성할 수 있다. 이때, 프로세서(430)는 파일 저장 시 사용한 삭제 역방향 차순 적합에 기초하여, 순차적으로 저장된 제 1 순차 저장 흐름 패턴 '[A ?a ?b C ?c *d E]'와 제 2 순차 저장 흐름 패턴 '[H I J K]'을 순차 저장 흐름 패턴으로 추출할 수 있다.
프로세서(430)는 도 6과 같이, 추출된 순차 저장 흐름 패턴에 기초하여, 도 5 (b)에서 제 1 순차 저장 패턴을 삭제할 수 있다.
도 6은 본 발명의 일 실시예에 따른 제 1 순차 저장 흐름 패턴을 제외한 데이터 영역의 클러스터의 예시도이다.
한편, 프로세서(430)는 순차 생성 흐름 패턴 및 순차 저장 흐름 패턴이 추출되면, 추출된 순차 생성 흐름 패턴 및 추출된 순차 저장 흐름 패턴에 기초하여, 복구 대상 파일에 대한 생성 시간을 복원할 수 있다.
이때, 프로세서(430)는 먼저, 디렉토리 엔트리 리스트로부터 복구 대상 파일의 저장 위치와 적어도 하나의 클러스터가 일치하는 파일을 선택할 수 있다. 그리고 프로세서(430)는 산출된 순차 생성 흐름 패턴 및 선택된 파일의 생성 시간에 기초하여, 복구 대상 파일에 대한 시간 서열 후보를 산출할 수 있다.
또는, 프로세서(430)는 순차 생성 흐름 패턴 및 순차 저장 흐름 패턴에 기초하여, 시간 서열 후보를 산출할 수 있다. 이때, 프로세서(430)는 아래 제 1 규칙 및 제 2 규칙에 따라, 순차 생성 흐름 패턴 및 순차 저장 흐름 패턴으로부터 시간 서열 후보를 산출할 수 있다.
제 1 규칙: 복구 대상 파일은 자신을 덮어쓴 파일 보다 생성 시간이 빠름.
제 2 규칙: 순차 생성 흐름 패턴이 '(X ?i Y)'이고, 순차 저장 흐름 패턴이 '[... X ?a *b Y ...]'이라면, '?i '는 '?a' 및 '*b '에 대한 복구 파일의 시간 서열 후보가 될 수 있음.
그리고 프로세서(430)는 제1 규칙 및 제 2 규칙에 따라, 복구 대상 파일에 대한 시간 서열 후보에 기초하여, 복구 대상 파일에 대한 생성 시간을 복원할 수 있다.
다시 도 5 및 도 6을 참조하면, 프로세서(430)는 순차 생성 흐름 패턴에 포함된 '?1', '?2' 및 '?3'에 기초하여, 복구 대상 파일인 '파일 B' 및 '파일 G'의 생성 시간 범위를 추정할 수 있다.
구체적으로 프로세서(430)는 복구 대상 파일은 자신을 덮어쓴 파일 보다 생성 시간이 빠르다는 제 1 규칙에 기초하여, 순차 생성 흐름 패턴에 기초하여, 복구 대상 파일의 생성 시간 범위를 추정할 수 있다.
복구 대상 파일인 '파일 B'는 '파일 B'를 덮어쓰기 한 '파일 H'의 생성 시간보다 생성 시간이 빠르다. 또한, 복구 대상 파일인 '파일 G'는 '파일 G'를 덮어쓰기 한 '파일 I'의 생성 시간보다 생성 시간이 빠르다. 그러므로 제 1 규칙에 따라, 프로세서(430)는 '파일 B'가 '파일 H'의 생성 시간보다 빠르며, '파일 G'가 '파일 I'의 생성 시간보다 빠르다는 걸 산출할 수 있다.
또한, 프로세서(430)는 제 2 규칙에 따라, 산출된 순차 생성 흐름 패턴 및 순차 저장 흐름 패턴에 기초하여, 복구 대상 파일에 대한 생성 시간 범위를 산출할 수 있다.
예를 들어, 프로세서(430)는 제 1 순차 저장 흐름 패턴 '(A ?1 C ?2 E ?3)'과 제 1 순차 저장 흐름 패턴 '[A ?a ?b C ?c *d E]'을 통하여, 각각 '?' 및 '*'로 표기된 파일을 추출할 수 있다. 그리고 프로세서(430)는 추출된 파일 중 복구 대상 파일의 시간 서열 후보를 선택할 수 있다. 즉,'?1 '는 '?a ?b '와 관련된 파일의 시간 서열 후보가 될 수 있으며, '?2'는 '?c *d '과 관련된 파일의 시간 서열 후보가 될 수 있다.
앞에서 설명한 바와 같이, 제 1 규칙 및 제 2 규칙에 따라, 복구 대상 파일인 '파일 B'는 시간 서열 후보로 '?1' 및 '?3'을 산출할 수 있다. 그러므로 프로세서(430)는 추출된 시간 서열 후보 '?1' 및 '?3' 중 어느 하나에 기초하여, 복구 대상 파일의 생성 시간을 산출할 수 있다. 즉, 프로세서(430)는 '파일 B'의 시간 범위를 '파일 A'의 생성 시간 초과, '파일 C'의 생성 시간 미만으로 설정하거나, '파일 E'의 생성 시간 초과, '파일 H'의 파일 생성 시간 미만으로 설정할 수 있다.
또한, 제 1 규칙 및 제 2 규칙에 따라, 복구 대상 파일인 '파일 G'는 시간 서열 후보로 '?2' 및 '?3'을 산출할 수 있다. 그러므로 프로세서(430)는 추출된 시간 서열 후보 '?2' 및 '?3' 중 어느 하나에 기초하여, '파일 G'의 시간 범위를 '파일 C'의 생성 시간 초과, '파일 E'의 생성 시간 미만으로 설정하거나, '파일 E'의 생성 시간 초과, '파일 H'의 파일 생성 시간 미만으로 설정할 수 있다.
이하에서는 도 7 및 도 8을 참조하여, 디렉토리 엔트리 리스트에 디렉토리 엔트리가 삭제된 경우를 설명한다.
도 7은 본 발명의 일 실시예에 따른, 디렉토리 엔트리가 보존되지 않은 경우에 대한 파일 생성 시간 복원의 예시도이다.
프로세서(430)는 디렉토리 엔트리 리스트에 기초하여, 순차 생성 흐름 패턴 '(A ?1 ?2 ?3 E ?4) *5 (H(1) ?6 (4) I(4) ?7 (4) K ?8 M N O P) *8 (Q R S ... )'을 생성할 수 있다. 또한, 프로세서(430)는 순차 저장 흐름 패턴 '[A ?a ?b E] [H ?c *d I ?e *f K ?g M] [N O P R S ... ]'을 생성 할 수 있다.
도 8은 본 발명의 일 실시예에 따른 순차 저장 흐름 패턴을 제외한 데이터 영역의 클러스터의 예시도이다.
도 8의 (a)는 순차 저장 흐름 패턴 중 제 1 순차 저장 흐름 패턴인 '(A ?1 ?2 ?3 E ?4)'을 제외한 데이터 영역 클러스터 예시도이다. 또한, 도 8의 (b)는 제 1 순차 저장 흐름 패턴 '(A ?1 ?2 ?3 E ?4)' 및 제 2 순차 저장 흐름 패턴 '(H(1) ?6 (4) I(4) ?7 (4) K ?8 M N O P)'을 제외한 데이터 영역 클러스터의 예시도이다.
프로세서(430)는 앞에서 설명한 제 1 규칙 및 제 2 규칙과 생성된 순차 생성 흐름 패턴 및 순차 저장 흐름 패턴에 기초하여, 삭제된 복원 대상 파일에 대한 시간 범위를 추정할 수 있다.
예를 들어, 복원 대상 파일인 '파일 B', '파일 G', '파일 J' 및 파일 L에 대하여 제 1 규칙을 적용하면, '파일 B'는 '파일 H'에 비하여, 생성 시간이 빠르며, '파일 G'는 '파일 I'에 비하여 생성 시간이 빠르다. 또한, '파일 J'는 파일 P 보다 파일 생성 시간이 빠르다.
그러므로 제 1 규칙 및 제 2 규칙에 따라, 프로세서(430)는 '?1' 및 '?4' 에 기초하여, '파일 B' 및 '파일 G'의 파일 생성 시간 범위를 추정할 수 있다. 또한, 프로세서(430)는 '?1', '?4' 및 '?7' 에 기초하여, '파일 J'의 파일 생성 시간 범위를 추정할 수 있다. 프로세서(430)는 '?1', '?4', '?8' 및 '*9'에 기초하여, 파일 L의 파일 생성 시간을 추정할 수 있다.
앞에서 살펴본 바와 같이, 프로세서(430)는 파일 기록 장치의 의해서 삭제된 복구 대상 파일에 대응하는 디렉토리 엔트리가 존재하는 경우, 해당 디렉토리 엔트리에 기초하여, 파일의 생성 시간을 복원할 수 있다. 또한, 프로세서(430)는 복구 대상 파일에 대응하는 디렉토리 엔트리가 존재하지 않는 경우, 파일 시스템(100)의 파일 저장 방법인 삭제 역방향 차순 적합(deletion-backward next fit) 저장 위치 결정 방법 및 랩-어라운드(wrap-around) 차순 가능 저장 위치 결정 방법에 기초하여, 복구 대상 파일의 생성 시간을 추정하거나, 복구 대상 파일의 생성 시간의 범위를 산출할 수 있다.
다음은 도 9를 참조하여, 본 발명의 일 실시예에 따른 파일 복구 장치(400)의 파일 생성 시간 복구 방법을 설명한다.
도 9는 본 발명의 일 실시예에 따른 파일 복구 장치(400)의 파일 생성 시간 복구 방법의 순서도이다.
파일 복구 장치(400)는 복구 대상 파일을 복구한다(S900). 이때, 복구 대상 파일은 파일 기록 장치에 의해서 스토리지 모듈(410)에 기록된 이후, 파일 기록 장치에 의해서 삭제된 것이다.
파일 복구 장치(400)는 디렉토리 엔트리 리스트에 기초하여, 복구 대상 파일에 대한 생성 시간을 복원한다(S910). 이때, 디렉토리 엔트리 리스트는 복수의 파일에 대한 메타 정보를 포함하는 디렉토리 엔트리를 포함한다.
이때, 복구 대상 파일에 대한 생성 시간을 복원하기 위하여, 파일 복구 장치(400)는 복구 대상 파일에 대응하는 디렉토리 엔트리의 보존 여부를 판단할 수 있다.
만약, 복구 대상 파일에 대응하는 디렉토리 엔트리가 보존된 경우, 파일 복구 장치(400)는 복구 대상 파일에 대응하는 디렉토리 엔트리에 포함된 저장 위치와 매칭되는 파일의 메타 정보에 기초하여, 복구 대상 파일의 생성 시간을 복원할 수 있다.
이와 반대로, 복구 대상 파일에 대응하는 디렉토리 엔트리가 보존되지 않은 경우, 파일 복구 장치(400)는 디렉토리 엔트리 리스트에 포함된 복수의 파일에 대한 순차 생성 흐름 패턴을 산출할 수 있다. 그리고 파일 복구 장치(400)는 디렉토리 엔트리 리스트에 대응하는 복수의 파일의 파일 저장 공간 영역에 대한 순차 저장 흐름 패턴을 산출할 수 있다.
그리고 파일 복구 장치(400)는 산출된 순차 생성 흐름 패턴 및 산출된 순차 저장 흐름 패턴에 기초하여, 복구 대상 파일에 대한 생성 시간을 복원할 수 있다.
본 발명의 일 실시예에 따른 파일 복구 장치(400) 및 파일 복구 장치(400)의 파일 생성 시간 복구 방법은 파일 기록 장치에 의해서 삭제된 파일을 복구하고 삭제된 파일의 생성 시간 정보를 유추할 수 있다.
그러므로 파일 복구 장치(400) 및 파일 복구 장치(400)의 파일 생성 시간 복구 방법은 블랙박스 장치 및 CCTV 등에서 촬영된 영상 데이터에 적용하여, 악의적 목적으로 삭제된 사고/범죄 관련 영상을 복원하고, 영상이 생성된 시간을 유추할 수 있다. 그러므로 파일 복구 장치(400) 및 파일 복구 장치(400)의 파일 생성 시간 복구 방법은 복구된 영상 파일에 대한 증거 능력을 향상시킬 수 있다.
본 발명의 일 실시예는 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체 및 통신 매체를 모두 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다. 통신 매체는 전형적으로 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈, 또는 반송파와 같은 변조된 데이터 신호의 기타 데이터, 또는 기타 전송 메커니즘을 포함하며, 임의의 정보 전달 매체를 포함한다.
본 발명의 방법 및 시스템은 특정 실시예와 관련하여 설명되었지만, 그것들의 구성 요소 또는 동작의 일부 또는 전부는 범용 하드웨어 아키텍쳐를 갖는 컴퓨터 시스템을 사용하여 구현될 수 있다.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
400: 파일 복구 장치 커버
410: 스토리지 모듈
420: 메모리
430: 프로세서

Claims (13)

  1. 파일 복구 기능을 갖는 파일 관리 장치에 있어서,
    파일 시스템에 기초하여 복수의 파일을 저장하는 스토리지 모듈,
    파일 복구 프로그램이 저장된 메모리 및
    상기 메모리에 저장된 프로그램을 실행하는 프로세서를 포함하고,
    상기 프로세서는 상기 프로그램의 실행에 따라, 복구 대상 파일을 복구하고, 디렉토리 엔트리 리스트에 기초하여, 상기 복구 대상 파일에 대한 생성 시간을 복원하되,
    상기 프로세서는 상기 복구 대상 파일에 대응하는 디렉토리 엔트리가 보존되지 않은 경우, 상기 디렉토리 엔트리 리스트에 포함된 복수의 파일에 대한 순차 생성 흐름 패턴을 추출하고, 상기 디렉토리 엔트리 리스트에 대응하는 상기 복수의 파일의 파일 저장 공간 영역에 대한 순차 저장 흐름 패턴을 추출하고, 상기 추출된 순차 생성 흐름 패턴 및 상기 추출된 순차 저장 흐름 패턴에 기초하여 상기 복구 대상 파일에 대한 생성 시간을 복원하고,
    상기 디렉토리 엔트리 리스트는 복수의 파일에 대한 메타 정보를 포함하는 디렉토리 엔트리를 포함하는, 파일 관리 장치.
  2. 제 1 항에 있어서,
    상기 프로세서는 상기 디렉토리 엔트리 리스트 중 상기 복구 대상 파일에 대응하는 디렉토리 엔트리의 보존 여부를 판단하고,
    상기 복구 대상 파일에 대응하는 디렉토리 엔트리가 보존된 경우, 상기 복구 대상 파일에 대응하는 디렉토리 엔트리에 포함된 저장 위치와 매칭되는 파일의 메타 정보에 기초하여, 상기 복구 대상 파일의 생성 시간을 복원하는, 파일 관리 장치.
  3. 제 2 항에 있어서,
    상기 프로세서는 상기 매칭되는 파일 중 생성 시간이 가장 최근인 파일에 기초하여, 상기 복구 대상 파일의 생성 시간을 복원하는, 파일 관리 장치.
  4. 삭제
  5. 제 1 항에 있어서,
    상기 프로세서는 상기 디렉토리 엔트리 리스트로부터 상기 복구 대상 파일의 저장 위치와 적어도 하나의 클러스터가 일치하는 파일을 선택하고,
    상기 추출된 순차 생성 흐름 패턴 및 상기 선택된 파일의 생성 시간에 기초하여, 상기 복구 대상 파일에 대한 시간 서열 후보를 산출하는, 파일 관리 장치.
  6. 제 5 항에 있어서,
    상기 프로세서는 상기 순차 생성 흐름 패턴 및 상기 순차 저장 흐름 패턴에 기초하여, 시간 서열 후보를 산출하는, 파일 관리 장치.
  7. 제 6 항에 있어서,
    상기 순차 생성 흐름 패턴 및 상기 선택된 파일의 생성 시간에 기초하여, 산출된 복구 대상 파일에 대한 시간 서열 후보 및
    상기 순차 생성 흐름 패턴 및 상기 순차 저장 흐름 패턴에 기초하여, 산출된 시간 서열 후보에 기초하여, 상기 복구 대상 파일에 대한 생성 시간을 복원하는, 파일 관리 장치.
  8. 제 1 항에 있어서,
    상기 파일 시스템은 윈도우 운영체제를 위한 FAT 32 파일 시스템인, 파일 관리 장치.
  9. 제 1 항에 있어서,
    상기 프로세서는 삭제 역방향 차순 적합(deletion-backward next fit) 저장 위치 결정 방법 및 랩-어라운드(wrap-around) 차순 가능 저장 위치 결정 방법에 기초하여, 상기 복수의 파일을 저장하는, 파일 관리 장치.
  10. 파일 관리 장치의 파일 복구 방법에 있어서,
    복구 대상 파일을 복구하는 단계;
    디렉토리 엔트리 리스트에 기초하여, 상기 복구 대상 파일에 대한 생성 시간을 복원하는 단계;
    상기 복구 대상 파일에 대응하는 디렉토리 엔트리가 보존되지 않은 경우, 상기 디렉토리 엔트리 리스트에 포함된 복수의 파일에 대한 순차 생성 흐름 패턴을 산출하는 단계;
    상기 디렉토리 엔트리 리스트에 대응하는 상기 복수의 파일의 파일 저장 공간 영역에 대한 순차 저장 흐름 패턴을 산출하는 단계; 및
    상기 산출된 순차 생성 흐름 패턴 및 상기 산출된 순차 저장 흐름 패턴에 기초하여, 상기 복구 대상 파일에 대한 생성 시간을 복원하는 단계를 포함하되
    상기 디렉토리 엔트리 리스트는 복수의 파일에 대한 메타 정보를 포함하는 디렉토리 엔트리를 포함하는, 파일 복구 방법.
  11. 제 10 항에 있어서,
    상기 복구 대상 파일에 대한 생성 시간을 복원하는 단계는
    상기 복구 대상 파일에 대응하는 디렉토리 엔트리의 보존 여부를 판단하는 단계; 및
    상기 복구 대상 파일에 대응하는 디렉토리 엔트리가 보존된 경우, 상기 복구 대상 파일에 대응하는 디렉토리 엔트리에 포함된 저장 위치와 매칭되는 파일의 메타 정보에 기초하여, 상기 복구 대상 파일의 생성 시간을 복원하는 단계를 포함하는, 파일 복구 방법.
  12. 삭제
  13. 제 10 항 및 제 11 항 중 어느 한 항에 기재된 방법을 컴퓨터 상에서 수행하기 위한 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체.
KR1020160047540A 2016-04-19 2016-04-19 파일 복구 기능을 갖는 파일 관리 장치 및 파일 관리 장치의 파일 복구 방법 KR101780236B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160047540A KR101780236B1 (ko) 2016-04-19 2016-04-19 파일 복구 기능을 갖는 파일 관리 장치 및 파일 관리 장치의 파일 복구 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160047540A KR101780236B1 (ko) 2016-04-19 2016-04-19 파일 복구 기능을 갖는 파일 관리 장치 및 파일 관리 장치의 파일 복구 방법

Publications (1)

Publication Number Publication Date
KR101780236B1 true KR101780236B1 (ko) 2017-09-21

Family

ID=60034715

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160047540A KR101780236B1 (ko) 2016-04-19 2016-04-19 파일 복구 기능을 갖는 파일 관리 장치 및 파일 관리 장치의 파일 복구 방법

Country Status (1)

Country Link
KR (1) KR101780236B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210150859A (ko) * 2020-06-04 2021-12-13 주식회사 엠티오메가 멀티미디어 데이터 저장 시스템 및 방법
KR102400723B1 (ko) * 2022-03-22 2022-05-23 대한민국 Fat32를 기반으로 하는 삭제 파일의 메타데이터 복구 장치 및 그 방법

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210150859A (ko) * 2020-06-04 2021-12-13 주식회사 엠티오메가 멀티미디어 데이터 저장 시스템 및 방법
KR102445798B1 (ko) 2020-06-04 2022-09-21 주식회사 엠티오메가 멀티미디어 데이터 저장 시스템 및 방법
KR102400723B1 (ko) * 2022-03-22 2022-05-23 대한민국 Fat32를 기반으로 하는 삭제 파일의 메타데이터 복구 장치 및 그 방법

Similar Documents

Publication Publication Date Title
US10438000B1 (en) Using recognized backup images for recovery after a ransomware attack
CN108319602B (zh) 数据库管理方法及数据库***
CN106527958B (zh) 用于分布式存储***的写入数据、获取数据的方法和设备
US9558072B1 (en) Block-level incremental recovery of a storage volume
EP2363815B1 (en) System for permanent file deletion
CN110062925A (zh) 用于云集成的快照元数据布置
KR101767710B1 (ko) 폐기가능 파일들의 카드-기반 관리
US20170344433A1 (en) Apparatus and method for data migration
CN106682186B (zh) 文件访问控制列表管理方法和相关装置和***
KR101456757B1 (ko) SQLite 데이터베이스에서 삭제된 데이터의 복원 방법 및 장치
CN108255638B (zh) 一种快照回滚方法及装置
JP2004038515A (ja) データ記録装置
CN111382126B (zh) 删除文件及阻碍文件恢复的***和方法
CN110597762A (zh) 文件处理方法、装置、设备及存储介质
US10430292B2 (en) Snapshot deletion in a distributed storage system
KR101484882B1 (ko) 포렌식 데이터 복원 방법 및 시스템
CN111176896A (zh) 文件备份方法、装置及终端设备
KR101780236B1 (ko) 파일 복구 기능을 갖는 파일 관리 장치 및 파일 관리 장치의 파일 복구 방법
CN109753381B (zh) 一种基于对象存储的持续数据保护方法
CN113448946B (zh) 数据迁移方法及装置、电子设备
CN112817962B (zh) 基于对象存储的数据存储方法、装置和计算机设备
US10430110B2 (en) Implementing a hybrid storage node in a distributed storage system
US20200409570A1 (en) Snapshots for any point in time replication
KR101539617B1 (ko) 모바일 기기에서 파일구조 유형에 따른 파일 삭제 방법 및 이를 이용한 장치
US10452308B2 (en) Encoding tags for metadata entries in a storage system

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant