KR101727860B1 - 문서 파일의 복구 장치 및 그 방법 - Google Patents

문서 파일의 복구 장치 및 그 방법 Download PDF

Info

Publication number
KR101727860B1
KR101727860B1 KR1020160062704A KR20160062704A KR101727860B1 KR 101727860 B1 KR101727860 B1 KR 101727860B1 KR 1020160062704 A KR1020160062704 A KR 1020160062704A KR 20160062704 A KR20160062704 A KR 20160062704A KR 101727860 B1 KR101727860 B1 KR 101727860B1
Authority
KR
South Korea
Prior art keywords
file
sector
compound document
document
document file
Prior art date
Application number
KR1020160062704A
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 KR1020160062704A priority Critical patent/KR101727860B1/ko
Application granted granted Critical
Publication of KR101727860B1 publication Critical patent/KR101727860B1/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/174Redundancy elimination performed by the file system
    • G06F16/1744Redundancy elimination performed by the file system using compression, e.g. sparse files
    • G06F17/21
    • G06F17/30153
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2107File encryption

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Storage Device Security (AREA)
  • Document Processing Apparatus (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 컴파운드 도큐먼트 파일 및 압축 파일에 따른 파일 포맷의 손상 여부를 판단하여 파일을 복구하는 문서 파일의 복구 장치 및 그 방법에 관한 것으로서, 파일 시그니처에 기반하여 컴파운드 도큐먼트 파일 및 압축 파일 중 적어도 어느 하나의 파일을 판단하고, 판단 결과에 기반하여 컴파운드 도큐먼트 파일 및 압축 파일 각각에 대한 복구를 수행할 수 있다.

Description

문서 파일의 복구 장치 및 그 방법{RECOVERY APPARATUS AND METHOD OF DOCUMENT FILE}
본 발명은 문서 파일의 복구 장치 및 그 방법에 관한 것으로서, 보다 상세하게는 컴파운드 도큐먼트(Compound Document), 오피스 오픈 XML(OOXML), 오픈 도큐먼트(Open Document) 및 개방형 워드프로세서 마크업 언어(OWPML) 파일 포맷 중 적어도 어느 하나의 손상 여부를 판단하여 문서 파일을 복구하는 복구 장치 및 그 방법에 관한 것이다.
산업의 발전에 따라 무수히 많은 양의 문서가 발생되고 있으며, 이와 같은 문서들은 인터넷과 같은 각종 네트워크를 통해 전세계의 다른 사용자에게 전달되고 있다.
특히, 이러한 문서는 다양한 문서생성프로그램을 통해 생성되는데, 그 중에서도 마이크로소프트에서 개발한 마이크로소프트 컴파운드 도큐먼트 파일(Microsoft Compound Document File)의 이진 형식을 갖는 문서 파일은 데이터가 단일 파일 내 일종의 파일 시스템과 유사한 개념의 계층 구조로서 이루어짐에 따라, 데이터를 체계적으로 관리할 수 있어 복잡하고 다양한 데이터를 저장해야하는 현대에서 주로 사용되고 있다.
이러한 컴파운드 도큐먼트 파일 형식을 사용하는 문서 파일이 손상되는 경우 해당 문서 프로그램에서 내용을 확인할 수 없는 상황이 발생할 수 있으므로, 컴파운드 도큐먼트 파일에 대한 복구가 수행되고 있다.
다만, 종래의 문서 파일의 복구 기술은 컴파운드 도큐먼트 파일의 일부가 삭제되는 경우에 대비하여 파일 내 사용되지 않은 영역 즉, 비할당영역에 존재하는 데이터를 복구하는 기술에 불과하였으므로, 암호화 및 압축 중 적어도 어느 하나로 보안된 컴파운드 도큐먼트 파일에 대한 복구를 수행하지 못한다는 한계가 존재하였다.
또한, 종래의 문서 파일의 복구 기술은 오피스 오픈 XML(OOXML), 오픈 도큐먼트(Open Document), 개방형 워드프로세서 마크업 언어(OWPML) 파일 및 파일 내부의 XML 포맷(Format)에 대한 복구를 수행하지 못한다는 한계가 존재하였다.
이러한 문서 파일의 복구 기술은 문서 파일이 각종 범죄에 이용되어 사건의 중요한 증거 또는 실마리가 되는 경우, 포렌식 분석 기술에 활용될 수 있다.
한국등록특허 제10-1374239호(발명의 명칭: 문서 파일의 포렌식 분석 방법 및 시스템) 미국공개특허 제2005-268338호(발명의 명칭: COMPUTER IMMUNE SYSTEM AND METHOD FOR DETECTING UNWANTED CODE IN A COMPUTER SYSTEM) 미국등록특허 제7,213,035호(발명의 명칭: SYSTEM AND METHOD FOR PROVIDING MULTIPLE RENDITIONS OF DOCUMENT CONTENT)
본 발명은 암호화된 컴파운드 도큐먼트(Compound Document) 파일의 스트림을 복호화하여 손상 여부 확인하고, 손상에 대한 복구를 수행할 수 있는 문서 파일의 복구 장치 및 그 방법을 제공하고자 한다.
또한, 본 발명은 압축 파일의 오피스 오픈 XML(OOXML), 오픈 도큐먼트(Open Document) 및 개방형 워드프로세서 마크업 언어(OWPML) 중 적어도 어느 하나의 파일을 복구하고, 파일 내부의 XML 포맷의 손상 여부에 대한 복구를 수행할 수 있는 문서 파일의 복구 장치 및 그 방법을 제공하고자 한다.
또한, 본 발명은 파일 시그니처에 기반하여 컴파운드 도큐먼트 파일, 오피스 오픈 XML(OOXML), 오픈 도큐먼트(Open Document) 및 개방형 워드프로세서 마크업 언어(OWPML) 중 적어도 어느 하나의 파일을 판단하여 컴파운드 도큐먼트 파일 및 압축 파일 각가에 대한 서로 다른 적합한 복구를 수행할 수 있는 문서 파일의 복구 장치 및 그 방법을 제공하고자 한다.
본 발명의 실시예에 따른 문서 파일의 복구 장치는 파일 시그니처(File Signature)에 기반하여 컴파운드 도큐먼트(Compound Document) 파일 및 압축 파일(Zip File) 중 적어도 어느 하나의 파일을 식별하는 파일 식별부, 상기 파일 시그니처의 고유 디렉터리 개체로부터 상기 식별된 하나의 파일의 크기를 산출하는 파일 크기 산출부, 상기 산출된 파일 크기를 기반으로 상기 식별된 하나의 파일의 손상 여부를 판단하여 리커버리(recovery)하는 리커버리 처리부, 상기 리커버리된 하나의 파일로부터 파일 포맷(file format)에 대한 손상 여부를 판단하는 손상 여부 판단부 및 상기 손상 여부에 따라 상기 파일 포맷을 복구하는 파일 복구부를 포함한다.
상기 파일 크기 산출부는 상기 식별 결과에 따른 컴파운드 도큐먼트 파일의 파일 시그니처를 기반으로 상기 컴파운드 도큐먼트 파일의 헤더(header)로부터 파일의 크기를 산출하는 컴파운드 도큐먼트 파일 크기 산출 모듈 및 상기 식별 결과에 따른 압축 파일의 파일 시그니처를 기반으로 상기 압축 파일의 엔드 오브 센트럴 디렉토리 레코드(End of central directory record)로부터 파일 크기를 산출하는 압축 파일 크기 산출 모듈을 포함할 수 있다.
상기 압축 파일 크기 산출 모듈은 상기 엔드 오브 센트럴 디렉토리 레코드를 획득하지 못한 경우, 로컬 파일 헤더(Local File Header)의 압축된 데이터 크기를 합산하여 상기 압축 파일의 크기를 산출할 수 있다.
또한, 상기 리커버리 처리부는 상기 컴파운드 도큐먼트 파일의 섹터 할당 테이블(Sector Allocation Table)에 기반하여 섹터의 인덱스(index)를 나타내는 섹터 ID(Sector ID) 및 섹터 ID 리스트(Sector ID List)의 할당 여부를 판단하여 리커버리하는 컴파운드 도큐먼트 파일 리커버리 모듈 및 상기 산출된 압축 파일의 파일 크기를 기반으로 상기 압축 파일의 압축을 해제하여 압축 파일 스트림(Stream)의 손상 여부를 판단하여 리커버리하는 압축 파일 리커버리 모듈을 포함할 수 있다.
상기 컴파운드 도큐먼트 파일 리커버리 모듈은 상기 섹터 할당 테이블로부터 유효 섹터 ID(Valid Sector ID) 및 유효 섹터 ID 리스트(Valid Sector ID List)의 할당 여부에 기반하여 상기 섹터 ID 및 상기 섹터 ID 리스트를 리커버리할 수 있다.
또한, 상기 손상 여부 판단부는 상기 섹터 ID 및 상기 섹터 ID 리스트를 기반으로 상기 컴파운드 도큐먼트 파일 여부를 판단하여 컴파운드 도큐먼트 스트림(Stream)으로부터 상기 컴파운드 도큐먼트 파일의 손상 여부를 판단하는 컴파운드 도큐먼트 파일 손상 확인 모듈 및 상기 압축 파일 스트림을 기반으로 오피스 오픈 XML(OOXML), 오픈 도큐먼트(Open Document) 및 개방형 워드프로세서 마크업 언어(OWPML) 중 적어도 어느 하나 파일의 여부를 판단하여 파일 내부의 XML 포맷(XML Format)으로부터 상기 적어도 어느 하나 파일의 손상 여부를 판단하는 XML 파일 손상 확인 모듈을 포함할 수 있다.
상기 컴파운드 도큐먼트 파일의 포맷은 한글문서(HWP), 워드(DOC), 파워포인트(PPT) 및 엑셀(XLS) 파일 중 적어도 어느 하나일 수 있다.
상기 컴파운드 도큐먼트 파일 손상 확인 모듈은 상기 컴파운드 도큐먼트 파일의 압축 및 암호화 중 적어도 어느 하나의 여부를 판단하고, 상기 판단 결과에 따른 압축 해제 및 복호화 중 적어도 어느 하나로 수행된 상기 컴파운드 도큐먼트 스트림으로부터 상기 컴파운드 도큐먼트 파일의 손상 여부를 판단할 수 있다.
또한, 상기 파일 복구부는 상기 컴파운드 도큐먼트 파일의 손상에 따라 상기 컴파운드 도큐먼트 스트림을 복구하는 컴파운드 도큐먼트 스트림 복구 모듈 및 상기 적어도 어느 하나 파일의 손상에 따라 상기 XML 포맷을 복구하는 XML 포맷 복구 모듈을 포함할 수 있다.
상기 컴파운드 도큐먼트 스트림 복구 모듈은 상기 섹터 할당 테이블이 손상되어 섹터 ID 값이 유효한 범위를 벗어난 경우, 상기 섹터 ID를 할당된 섹터 ID를 제외한 후 순차 적용하여 상기 컴파운드 도큐먼트 스트림을 복구할 수 있다.
상기 XML 포맷 복구 모듈은 상기 적어도 어느 하나 파일의 태그(TAG) 구조를 파악하여 상기 XML 포맷을 복구할 수 있다.
상기 XML 포맷은 워드 프로세서(DOCX, ODT, HWPX), 스프레드시트(XLSX, ODS, CELL) 및 프레젠테이션(PPTX, ODP, SHOW) 문서 중 적어도 어느 하나일 수 있다.
본 발명의 실시예에 따른 문서 파일의 복구 방법은 파일 시그니처(File Signature)에 기반하여 컴파운드 도큐먼트 파일(Compound Document File)을 식별하는 단계, 상기 식별된 컴파운드 도큐먼트 파일의 파일 시그니처를 기반으로 상기 컴파운드 도큐먼트 파일의 헤더(header)로부터 파일 크기를 산출하는 단계, 상기 컴파운드 도큐먼트 파일의 섹터 할당 테이블(Sector Allocation Table)에 기반하여 섹터의 인덱스(index)를 나타내는 섹터 ID(Sector ID) 및 섹터 ID 리스트(Sector ID List)의 할당 여부를 판단하여 리커버리(Recovery)하는 단계, 상기 섹터 ID 및 상기 섹터 ID 리스트를 기반으로 상기 컴파운드 도큐먼트 파일 여부를 판단하여 컴파운드 도큐먼트 스트림(Stream)으로부터 상기 컴파운드 도큐먼트 파일의 손상 여부를 판단하는 단계 및 상기 컴파운드 도큐먼트 파일의 손상에 따라 상기 컴파운드 도큐먼트 스트림을 복구하는 단계를 포함한다.
본 발명의 일실시예에 따른 문서 파일의 복구 방법은 파일 시그니처(File Signature)에 기반하여 압축 파일(Zip File)을 식별하는 단계, 상기 식별된 압축 파일의 파일 시그니처를 기반으로 상기 압축 파일의 엔드 오브 센트럴 디렉토리 레코드(End of central directory record)로부터 파일 크기를 산출하는 단계, 상기 산출된 압축 파일의 파일 크기를 기반으로 상기 압축 파일의 압축을 해제하여 압축 파일 스트림(Stream)의 손상 여부를 판단하여 리커버리(Recovery)하는 단계, 상기 압축 파일 스트림을 기반으로 오피스 오픈 XML(OOXML), 오픈 도큐먼트(Open Document) 및 개방형 워드프로세서 마크업 언어(OWPML) 중 적어도 어느 하나 파일의 여부를 판단하여 파일 내부의 XML 포맷(Format)으로부터 상기 적어도 어느 하나 파일의 손상 여부를 판단하는 단계 및 상기 적어도 어느 하나 파일의 손상에 따라 상기 XML 포맷을 복구하는 단계를 포함한다.
본 발명의 실시예에 따르면, 암호화된 컴파운드 도큐먼트(Compound Document) 파일의 스트림을 복호화하여 손상 여부 확인하고, 손상에 대한 복구를 수행할 수 있다.
또한, 본 발명의 실시예에 따르면, 압축 파일의 오피스 오픈 XML(OOXML), 오픈 도큐먼트(Open Document) 및 개방형 워드프로세서 마크업 언어(OWPML) 중 적어도 어느 하나의 파일을 복구하고, 파일 내부의 XML 포맷의 손상 여부에 대한 복구를 수행할 수 있다.
또한, 본 발명의 실시예에 따르면, 파일 시그니처에 기반하여 컴파운드 도큐먼트 파일, 오피스 오픈 XML(OOXML), 오픈 도큐먼트(Open Document) 및 개방형 워드프로세서 마크업 언어(OWPML) 중 적어도 어느 하나의 파일을 판단하여 컴파운드 도큐먼트 파일 및 압축 파일 각가에 대한 서로 다른 적합한 복구를 수행할 수 있다.
도 1a 및 도 1b는 컴파운드 도큐먼트 파일의 계층 구조 및 세부 구조를 도시한 것이다.
도 2는 한글 문서 파일 구조에 대한 예를 도시한 것이다.
도 3은 본 발명의 실시예에 따른 문서 파일의 복구 장치의 구성을 설명하기 위해 도시한 블록도이다.
도 4는 본 발명의 실시예에 따른 문서 파일의 복구 장치를 이용한 파일의 복구과정을 나타내는 순서도이다.
도 5a 및 도 5b는 본 발명의 실시예에 따른 문서 파일의 복구 장치를 이용한 파일 시그니처에 기반하여 파일을 식별하는 예를 도시한 것이다.
도 6a 내지 도 6c는 본 발명의 실시예에 따른 문서 파일의 복구 장치를 이용하여 컴파운드 도큐먼트 파일의 헤더 또는 엔드 오브 센트럴 디렉토리 레코드로부터 파일 크기를 산출하는 예를 도시한 것이다.
도 7은 본 발명의 실시예에 따른 문서 파일의 복구 장치를 이용하여 오피스 오픈 XML, 오픈 도큐먼트 및 개방형 워드프로세서 마크업 언어 중 적어도 어느 하나 파일의 태그 구조에 따른 XML 포맷을 복구하는 예를 도시한 것이다.
도 8은 본 발명의 실시예에 따른 컴파운드 도큐먼트 파일의 복구 방법을 도시한 흐름도이다.
도 9는 본 발명의 일실시예에 따른 문서 파일의 복구 방법을 도시한 흐름도이다.
이하 첨부 도면들 및 첨부 도면들에 기재된 내용들을 참조하여 본 발명의 실시예를 상세하게 설명하지만, 본 발명이 실시예에 의해 제한되거나 한정되는 것은 아니다.
본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소, 단계, 동작 및/또는 소자는 하나 이상의 다른 구성요소, 단계, 동작 및/또는 소자의 존재 또는 추가를 배제하지 않는다.
본 명세서에서 사용되는 "실시예", "예", "측면", "예시" 등은 기술된 임의의 양상(aspect) 또는 설계가 다른 양상 또는 설계들보다 양호하다거나, 이점이 있는 것으로 해석되어야 하는 것은 아니다.
또한, '또는' 이라는 용어는 배타적 논리합 'exclusive or' 이기보다는 포함적인 논리합 'inclusive or' 를 의미한다. 즉, 달리 언급되지 않는 한 또는 문맥으로부터 명확하지 않는 한, 'x가 a 또는 b를 이용한다' 라는 표현은 포함적인 자연 순열들(natural inclusive permutations) 중 어느 하나를 의미한다.
또한, 본 명세서 및 청구항들에서 사용되는 단수 표현("a" 또는 "an")은, 달리 언급하지 않는 한 또는 단수 형태에 관한 것이라고 문맥으로부터 명확하지 않는 한, 일반적으로 "하나 이상"을 의미하는 것으로 해석되어야 한다.
또한, 본 명세서 및 청구항들에서 사용되는 제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.
한편, 본 발명을 설명함에 있어서, 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는, 그 상세한 설명을 생략할 것이다. 그리고, 본 명세서에서 사용되는 용어(terminology)들은 본 발명의 실시예를 적절히 표현하기 위해 사용된 용어들로서, 이는 사용자, 운용자의 의도 또는 본 발명이 속하는 분야의 관례 등에 따라 달라질 수 있다. 따라서, 본 용어들에 대한 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
도 1a 및 도 1b는 컴파운드 도큐먼트 파일의 계층 구조 및 세부 구조를 도시한 것이다.
보다 상세하게는, 도 1a는 컴파운드 도큐먼트(Compound Document) 파일의 스토리지 및 스트림 계층 구조를 도시한 것이고, 도 1b는 컴파운드 도큐먼트 파일에 대한 세부 구조를 도시한 것이다.
도 1a를 참조하면, 컴파운드 도큐먼트 파일은 상위 계층인 루트 스토리지(Root Strorage), 하위 계층의 스토리지(Storage) 및 스트림(Stream)을 포함한다. 보다 상세하게는, 컴파운드 도큐먼트 파일은 서브 디렉토리(sub directory)의 스토리지 계층 구조에 독립적인 데이터 스트림들을 포함할 수 있다.
예를 들어, 컴파운드 도큐먼트 파일의 스토리지 및 스트림은 각기 다르게 명명되고, 모든 스토리지 및 스트림의 네이밍(naming)은 직접적으로 연결된 상위 스토리지에 의해 서로 다른 네임이 명명된다. 다만, 서로 다른 스토리지의 구성원의 네임은 동일할 수도 있다.
또한, 컴파운드 도큐먼트 파일은 루트 스토리지를 포함하며, 서로 다른 모든 스토리지 및 스트림의 직접 또는 간접 페런트(parent) 구조를 나타낸다. 실시예에 따라서, 컴파운드 도큐먼트 파일은 파일 시스템과 유사한 형태로 구성될 수 있다.
도 1b를 참조하면, 컴파운드 도큐먼트 파일의 모든 스트림은 섹터(sectors)로 불리는 데이터의 작은 블록(block)으로 구분된다. 전체 파일은 헤더 및 헤더에 대한 섹터의 리스트로 구성될 수 있으며, 섹터의 크기는 헤더로부터 설정될 수 있다. 또한, 섹터의 크기는 모든 섹터에 대해 고정 크기 값을 유지할 수 있으며, 섹터는 파일의 순서에 의해 단순히 열거될 수 있고, 섹터의 인덱스는 섹터 식별자(SecID)로 명명될 수 있다.
도 2는 한글 문서 파일 구조에 대한 예를 도시한 것이다.
도 2를 참조하면, 실시예에 따라서 한글 문서 파일은 컴파운드 도큐먼트 파일(compound document file)일 수 있으며, 파일 구조에 기반하여 설명(파일 설명 정보) 및 구별 이름으로 구성되고, 각기 구조에 대한 길이(바이트, byte), 레코드 구조 및 압축/암호화 중 적어도 어느 하나의 정보를 포함할 수 있다.
상기 파일 설명 정보는 컴파운드 도큐먼트 파일에 대한 파일 인식 정보, 문서 정보, 본문, 문서 요약, 바이너리 데이터, 미리보기 텍스트, 미리보기 이미지, 문서 옵션, 스크립트, XML 텝플릿 및 문서 이력 관리 정보 중 적어도 어느 하나를 포함할 수 있다.
또한, 상기 구별 이름은 파일 설명 정보에 기반한 스토리지 및 스트림에 따른 정보를 포함할 수 있으며, 파일 설명 정보에 따라 스토리지 및 스트림 중 적어도 어느 하나로 구성될 수 있다.
또한, 컴파운드 도큐먼트 파일은 파일 설명 정보 및 구별 이름에 대응하는 길이(바이트, byte), 레코드 구조 및 압축/암호화에 대한 정보를 포함할 수 있으며, 레코드 구조 및 압축/암호화에 대한 정보 여부는 파일의 종류에 따라 달라질 수 있으므로, 도시된 바에 한정되는 것은 아니다.
이에 따라서, 본 발명의 실시예에 따른 문서 파일의 복구 장치는 파일 시그니처에 기반하여 파일의 종류, 파일 구조, 구별 이름, 길이, 레코드 구조 및 압축/암호화 여부 중 적어도 어느 하나를 포함하는 파일 정보를 식별할 수 있다.
도 3은 본 발명의 실시예에 따른 문서 파일의 복구 장치의 구성을 설명하기 위해 도시한 블록도이다.
도 3을 참조하면, 본 발명의 실시예에 따른 문서 파일의 복구 장치(100)는 파일 시그니처에 기반하여 컴파운드 도큐먼트 파일 및 압축 파일 중 적어도 어느 하나의 파일을 식별하고, 식별된 파일 헤더로부터 파일 크기를 산출하여 손상 여부에 따른 리커버리를 처리하며, 리커버리된 하나의 파일로부터 파일 포맷에 대한 손상 여부를 판단하여 복구한다.
이를 위해, 본 발명의 실시예에 따른 문서 파일의 복구 장치(100)는 파일 식별부(110), 파일 크기 산출부(120), 리커버리 처리부(130), 손상 여부 판단부(140) 및 파일 복구부(150)를 포함한다.
파일 식별부(110)는 파일 시그니처(File Signature)에 기반하여 컴파운드 도큐먼트 파일(Compound Document File) 및 압축 파일(Zip File) 중 적어도 어느 하나의 파일을 식별한다.
파일 식별부(110)는 분석하고자 하는 문서 파일의 파일 시그니처에 기반하여 파일 종류를 확인하며, 컴파운드 도큐먼트 파일 및 압축 파일 중 적어도 어느 하나의 파일을 식별할 수 있다.
실시예에 따라서, 파일 식별부(110)는 파일 분석을 위한 조사대상매체(예를 들면, 컴퓨터, 노트북 등)에 마운트된 저장장치(예를 들면, 하드디스크, 램, 메모리카드, 이동식 저장장치 등)로부터 파일 시그니처를 수신하여 파일을 식별할 수 있으며, 일반 문서 파일 또는 디렉터리 중 적어도 하나를 파일 분석을 위한 파일로서 수신할 수 있다.
또한, 실시예에 따라서, 파일 식별부(110)는 파일 분석을 수행하고자 하는 조사대상매체에 마운트된 저장장치를 수신하는 경우에는 저장장치 내 파일 시스템을 분석하여, 파일 구조에 따른 파일 정보로부터 파일을 식별할 수 있다.
이하에서는, 도 5a 및 도 5b를 참조하여 파일 시그니처에 기반하여 파일을 식별하는 예시에 대해 상세히 설명하고자 한다.
도 5a 및 도 5b는 본 발명의 실시예에 따른 문서 파일의 복구 장치를 이용한 파일 시그니처에 기반하여 파일을 식별하는 예를 도시한 것이다.
보다 상세하게는, 도 5a는 본 발명의 실시예에 따른 문서 파일의 복구 장치(100)의 파일 식별부(110)로부터 파일 시그니처에 따른 컴파운드 도큐먼트 파일을 식별하는 예를 도시한 것이고, 도 5b는 본 발명의 실시예에 따른 문서 파일의 복구 장치(100)의 파일 식별부(110)로부터 파일 시그니처에 따른 압축 파일을 식별하는 예를 도시한 것이다.
도 5a를 참조하면, 파일 식별부(110)는 컴파운드 도큐먼트 파일의 헤더로부터 섹터의 크기를 확인하고, 이어서 섹터의 개수를 확인할 수 있다. 예를 들어, 파일 식별부(110)는 길이 8, 블록 0-7 및 오프셋(offset) 0인 "D0 CF 11 E0 A1 B1 1A E1"를 검색할 수 있고, 검색된 파일 시그니처에 기반하여 컴파운드 도큐먼트 파일을 식별할 수 있다.
또한, 도 5b를 참조하면, 파일 식별부(110)는 파일 시그니처로부터 길이 4, 블록 0-3 및 오프셋 0인 "50 4B 03 04"를 검색할 수 있고, 검색된 파일 시그니처에 기반하여 압축 파일을 식별할 수 있다.
다시 도 3을 참조하면, 본 발명의 실시예에 따른 문서 파일의 복구 장치(100)의 파일 크기 산출부(120)는 파일의 로컬 파일 헤더로부터 식별된 하나의 파일의 크기를 산출한다. 보다 상세하게는, 파일 크기 산출부(120)는 식별 결과에 따른 컴파운드 도큐먼트 파일 또는 압축 파일 각각에 기반하여 파일 크기를 산출할 수 있다.
이를 위해, 본 발명의 실시예에 따른 문서 파일의 복구 장치(100)의 파일 크기 산출부(120)는 컴파운드 도큐먼트 파일 크기 산출 모듈(121) 및 압축 파일 크기 산출 모듈(122)를 포함할 수 있다.
컴파운드 도큐먼트 파일 크기 산출 모듈(121)은 식별 결과에 따른 컴파운드 도큐먼트 파일의 파일 시그니처를 기반으로 컴파운드 도큐먼트 파일의 헤더로부터 컴파운드 도큐먼트 파일의 파일 크기를 산출할 수 있으며, 상기 컴파운드 도큐먼트 파일의 헤더는 컴파운드 도큐먼트 파일의 섹터(sector) 정보 및 마스터 섹터 할당 테이블(Master Sector Allocation Table)을 포함할 수 있다.
보다 상세하게는, 컴파운드 도큐먼트 파일 크기 산출 모듈(121)은 섹터 ID(Sector ID), 섹터 ID 리스트(Sector ID List), 섹터 ID의 개수, 헤더 및 디렉터리 항목(Directory Entry) 중 적어도 어느 하나를 분류하여 열거하는 섹터 할당 테이블로부터 컴파운드 도큐먼트 파일의 파일 크기를 산출할 수 있다.
실시예에 따라서, 특정 스트림에 대한 섹터 ID 체인을 구축하는 경우, 섹터 ID는 특정 위치에서 섹터 체인의 다음 섹터를 지정하는 동안의 섹터 할당 테이블 배열에서의 현재 위치(배열의 인덱스)인 현재 섹터를 의미할 수 있다.
예를 들어, 하기의 [테이블 1]과 같이 배열 인덱스(Array indexes)에 따른 섹터 ID를 포함하는 섹터 할당 테이블(SAT)이 구성되는 경우에는 섹터의 체인을 구성할 수 있다.
[테이블 1]
Figure 112016049093488-pat00001
예를 들어, 컴파운드 도큐먼트 파일은 섹터 할당 테이블을 위한 여덟 개의 섹터 및 두 개의 스트림들을 포함할 수 있다.
[테이블 1]을 참조하면, 섹터 할당 테이블은 포지션(Array indexes) 0에서 섹터 ID(SAT contencts(SecIDs) 2를 포함하며, 포지션 2에서 섹터 ID 3을 포함하고, 포지션 3에서 섹터 ID -2를 포함할 수 있다. 그러므로, 스트림의 섹터 ID 체인은 [0, 2, 3, -2]를 의미할 수 있고, 또 다른 스트림의 섹터 ID 체인은 [10, 6, 7, 8, 9, -2]로 이루어질 수 있다.
전술한 바에 의해, 컴파운드 도큐먼트 파일 크기 산출 모듈(121)은 컴파운드 도큐먼트 파일의 헤더의 섹터 할당 테이블 총 개수를 이용해 파일 크기를 산출할 수 있다.
보다 상세하게는, 컴파운드 도큐먼트 파일 크기 산출 모듈(121)은 컴파운드 도큐먼트 파일의 헤더의 섹터 할당 테이블의 총 개수를 기반으로 하기의 [수식 1]을 이용하여 컴파운드 도큐먼트(Compound Document) 파일의 크기를 산출할 수 있다.
[수식 1]
파일 크기 = 섹터 할당 테이블(SAT) 개수 × (섹터의 크기/4) × 섹터의 크기 + 컴파운드 도큐먼트 헤더의 크기
다시 도 3을 참조하면, 압축 파일 크기 산출 모듈(122)은 식별 결과에 따른 압축 파일의 파일 시그니처를 기반으로 압축 파일의 엔드 오브 센트럴 디렉토리 레코드(End of central directory record)로부터 압축 파일의 크기를 산출할 수 있다.
실시예에 따라서, 압축 파일 크기 산출 모듈(122)은 전술한 [수식 1]로부터 압축 파일의 크기를 산출할 수 있다.
압축 파일 크기 산출 모듈(122)은 엔드 오브 센트럴 디렉토리 레코드(End of central directory record)를 획득하지 못한 경우, 로컬 파일 헤더(Local File Header)의 파일 크기를 합산하여 압축 파일의 크기를 산출할 수도 있다.
이하에서는, 도 6a 내지 도 6c를 참조하여 파일 크기를 산출하는 예시에 대해 상세히 설명하고자 한다.
도 6a 내지 도 6c는 본 발명의 실시예에 따른 문서 파일의 복구 장치를 이용하여 컴파운드 도큐먼트 파일의 헤더 또는 엔드 오브 센트럴 디렉토리 레코드로부터 파일 크기를 산출하는 예를 도시한 것이다.
보다 상세하게는, 도 6a는 본 발명의 실시예에 따른 문서 파일의 복구 장치(100)의 컴파운드 도큐먼트 파일 크기 산출 모듈(121)이 컴파운드 도큐먼트 파일의 헤더로부터 컴파운드 도큐먼트 파일의 파일 크기를 산출하는 예를 도시한 것이고, 도 6b는 본 발명의 실시예에 따른 문서 파일의 복구 장치(100)의 압축 파일 크기 산출 모듈(122)이 로컬 파일 헤더로부터 압축 파일의 파일 크기를 산출하는 예를 도시한 것이다.
또한, 도 6c는 본 발명의 실시예에 따른 문서 파일의 복구 장치(100)의 압축 파일 크기 산출 모듈(122)이 엔드 오브 센트럴 디렉토리 레코드를 획득하지 못한 경우, 로컬 파일 헤더(Local File Header)의 파일 크기를 합산하여 압축 파일의 파일 크기를 산출하는 예를 도시한 것이다.
도 6a를 참조하면, 컴파운드 도큐먼트 파일 크기 산출 모듈(121)은 컴파운드 도큐먼트 파일에 대한 파일 시그니처를 기반으로 컴파운드 도큐먼트 파일의 헤더로부터 컴파운드 도큐먼트 파일의 파일 크기를 산출할 수 있다.
예를 들면, 컴파운드 도큐먼트 파일 크기 산출 모듈(121)은 길이 4, 블록 2C-2F 및 오프셋 2C인 "01 00 00 00"로부터 전술한 [수식 1]을 이용하여 컴파운드 도큐먼트 파일의 크기를 산출할 수 있다. 이에 따라서, 도 6a에 대한 컴파운드 도큐먼트 파일의 크기는 66048일 수 있다.
도 6b를 참조하면, 압축 파일 크기 산출 모듈(122)은 압축 파일에 대한 파일 시그니처를 기반으로 고유 디렉터리 개체로부터 압축 파일의 크기를 산출할 수 있다.
예를 들면, 압축 파일 크기 산출 모듈(122)은 길이 4, 블록 1E6D-1E70 및 오프셋 1E6D인 "50 4B 05 06"으로부터 전술한 [수식 1]을 이용하여 압축 파일의 크기를 산출할 수 있다. 이에 따라서, 도 6b에 대한 압축 파일의 크기는 7811일 수 있다.
또한, 압축 파일 크기 산출 모듈(122)은 엔드 오브 센트럴 디렉토리 레코드(End of central directory record) 시그니처인 "50 4B 05 06"을 검색하여 압축 파일의 크기를 산출할 수 있다. 예를 들어, 엔드 오브 센트럴 디렉토리 레코드를 나타내는 하기의 [표 1]와, [수식 2]를 이용하여 검색된 시그니처에 기반하여 압축 파일의 크기를 산출할 수 있다.
[표 1]
Figure 112016049093488-pat00002
[수식 2]
압축 파일 크기 = 엔드 오브 센트럴 디렉토리 레코드의 시작 오프셋(Offset) + 엔드 오브 센트럴 디렉토리 레코드의 크기 ― 압축 파일 시작 오프셋
실시예에 따라서, 압축 파일 크기 산출 모듈(122)은 엔드 오브 센트럴 디렉토리 레코드가 식별되지 않을 경우, 각 로컬 파일 헤더(Local File Header)의 파일 크기를 합산하여 압축 파일의 크기를 산출할 수도 있다.
도 6c를 참조하면, 압축 파일 크기 산출 모듈(122)은 길이 4, 블록 12-15, 42-45 및 오프셋 12, 42인 "05 00 00 00", "0C 00 00 00"를 기반으로 로컬 파일 헤더(Local File Header)를 나타내는 하기의 [표 2]와, [수식 3]을 이용하여 압축 파일의 크기를 산출할 수 있다.
[표 2]
Figure 112016049093488-pat00003
[수식 3]
압축 파일 크기 = 로컬 파일 헤더 크기 + Compressed size×n
이에 따라서, 도 6c에 대한 압축 파일의 크기는 95일 수 있다.
또한, 본 발명의 실시예에 따른 문서 파일의 복구 장치(100)의 압축 파일 크기 산출 모듈(122)은 추가적으로 센트럴 디렉토리 파일 헤더(Central directory file header)를 나타내는 하기의 [표 3]을 이용하여 시그니처("50 4B 01 02")를 판단하여 부가정보를 획득할 수 있다.
[표 3]
Figure 112016049093488-pat00004
다시 도 3을 참조하면, 본 발명의 실시예에 따른 문서 파일의 복구 장치(100)의 리커버리 처리부(130)는 산출된 파일 크기를 기반으로 식별된 하나의 파일의 손상 여부를 판단하여 리커버리한다.
보다 상세하게는, 리커버리 처리부(130)는 산출된 파일 크기를 기반으로 컴파운드 도큐먼트 파일 또는 압축 파일 각각의 손상 여부를 판단하여 리커버리할 수 있다.
이를 위해, 본 발명의 실시예에 따른 문서 파일의 복구 장치(100)의 리커버리 처리부(130)는 컴파운드 도큐먼트 파일 리커버리 모듈(131) 및 압축 파일 리커버리 모듈(132)를 포함할 수 있다.
컴파운드 도큐먼트 파일 리커버리 모듈(131)은 섹터 할당 테이블에 기반하여 섹터의 인덱스(index)를 나타내는 섹터 ID 및 섹터 ID 리스트의 할당 여부를 판단하여 리커버리할 수 있다.
또한, 컴파운드 도큐먼트 파일 리커버리 모듈(131)은 섹터 할당 테이블로부터 유효 섹터 ID(Valid Sector ID) 및 유효 섹터 ID 리스트(Valid Sector ID List)의 할당 여부에 기반하여 섹터 ID 및 섹터 ID 리스트를 리커버리할 수 있다.
보다 상세하게는, 컴파운드 도큐먼트 파일 리커버리 모듈(131)은 섹터 할당 테이블이 손상되어 섹터 ID 값이 유효한 범위를 벗어나는 경우, 섹터 ID를 할당된 섹터 ID를 제외한 후 순차 적용하여 컴파운드 도큐먼트 스트림을 리커버리할 수 있다.
예를 들면, 파일의 크기가 66048이고 섹터의 크기가 512라면 섹터의 개수는 최대 127개가 생성된다. 이때, 섹터 ID 값이 127을 초과하는 경우, 섹터 ID의 오류를 판단할 수 있으며, 실시예에 따라서 시작 섹터가 5인 스트림이 존재한다면 섹터 ID를 5부터 순차적으로 적용하여 스트림의 리커버리를 수행할 수 있다.
또한, 컴파운드 도큐먼트 파일 리커버리 모듈(131)은 섹터 할당 테이블이 손상되어 섹터 ID 리스트가 무한 순회하는 경우, 손상된 섹터 할당 테이블에 따른 스트림을 리커버리할 수 있다.
예를 들면, 시작 섹터가 5인 스트림이 있고, 하기의 [테이블 2]와 같이 섹터 할당 테이블이 손상되어 있을 경우 0번째 인덱스에서 무한 순회에 빠질 수 있다. 이러한 경우 컴파운드 도큐먼트 파일 리커버리 모듈(131)은 섹터 할당 테이블의 값이 자기 자신의 인덱스를 가리키고 있으면 순회 로직을 빠져 나올 수 있도록 할 수 있다.
[테이블 2]
Figure 112016049093488-pat00005
압축 파일 리커버리 모듈(132)은 산출된 압축 파일의 파일 크기를 기반으로 압축을 해제하여 압축 파일 스트림(stream)의 손상 여부 판단에 기반하여 복구할 수 있다.
손상 여부 판단부(140)는 리커버리된 하나의 파일로부터 파일 포맷(file format)에 대한 손상 여부를 판단한다. 보다 상세하게는, 손상 여부 판단부(140)는 컴파운드 도큐먼트 파일 또는 압축 파일 각각에 따른 컴파운드 도큐먼트 파일, 오피스 오픈 XML(OOXML), 오픈 도큐먼트(Open Document) 및 개방형 워드프로세서 마크업 언어(OWPML) 중 적어도 어느 하나 파일의 파일 포맷으로부터 파일의 손상 여부를 판단할 수 있다.
이를 위해, 본 발명의 손상 여부 판단부(140)는 컴파운드 도큐먼트 파일 손상 확인 모듈(141) 및 XML 파일 손상 확인 모듈(142)을 포함할 수 있다.
컴파운드 도큐먼트 파일 손상 확인 모듈(141)은 섹터 ID 및 섹터 ID 리스트를 기반으로 컴파운드 도큐먼트 파일에 따른 컴파운드 도큐먼트 스트림으로부터 손상 여부를 판단할 수 있다.
보다 상세하게는, 컴파운드 도큐먼트 파일 손상 확인 모듈(141)은 할당된 섹터 ID 및 섹터 ID 리스트를 기반으로 컴파운드 도큐먼트 파일의 포맷(Format)에 따른 컴파운드 도큐먼트 파일 여부를 판단할 수 있다.
여기서, 상기 컴파운드 도큐먼트 파일의 포맷은 한글문서(HWP), 워드(DOC), 파워포인트(PPT) 및 엑셀(XLS) 파일 중 적어도 어느 하나인 것을 특징으로 할 수 있다.
또한, 컴파운드 도큐먼트 파일 손상 확인 모듈(141)은 컴파운드 도큐먼트 파일의 압축 및 암호화 중 적어도 어느 하나의 여부를 판단하고, 판단 결과에 따른 압축 해제 및 복호화 중 적어도 어느 하나로 수행된 스트림으로부터 컴파운드 도큐먼트 파일의 손상 여부를 판단할 수 있다.
XML 파일 손상 확인 모듈(142)은 압축 파일 스트림을 기반으로 오피스 오픈 XML(OOXML), 오픈 도큐먼트(Open Document) 및 개방형 워드프로세서 마크업 언어(OWPML) 문서 중 적어도 어느 하나 파일의 여부를 판단하고, 파일 내부의 XML 포맷(XML Format)으로부터 오피스 오픈 XML(OOXML), 오픈 도큐먼트(Open Document) 및 개방형 워드프로세서 마크업 언어(OWPML) 중 적어도 어느 하나 파일의 손상 여부를 판단할 수 있다.
파일 복구부(150)는 손상 여부에 따라 파일 포맷을 복구한다.
이를 위해, 본 발명의 실시예에 따른 문서 파일의 복구 장치(100)의 파일 복구부(150)는 컴파운드 도큐먼트 스트림 복구 모듈(151) 및 XML 포맷 복구 모듈(152)을 포함할 수 있다.
컴파운드 도큐먼트 스트림 복구 모듈(151)은 컴파운드 도큐먼트 파일의 손상에 따라 컴파운드 도큐먼트 스트림을 복구할 수 있다. 일반적으로 한글문서(HWP), 워드(DOC), 파워포인트(PPT) 및 엑셀(XLS) 파일에서 기본값으로 사용되는 AES(Advanced Encryption Standard) 및 DES(Data Encryption Standard) 암호화는 블록 단위로 암호화되기 때문에 스트림이 손상되더라도 손상된 블록 이전까지는 복구가 가능하다.
XML 포맷 복구 모듈(152)은 오피스 오픈 XML, 오픈 도큐먼트 및 개방형 워드프로세서 마크업 언어 중 적어도 어느 하나 파일의 손상에 따라 XML 포맷을 복구할 수 있으며, 오피스 오픈 XML, 오픈 도큐먼트 및 개방형 워드프로세서 마크업 언어 중 적어도 어느 하나 파일의 태그(TAG) 구조를 파악하여 XML 포맷을 복구할 수 있다.
여기서, 상기 XML 포맷은 워드 프로세서(DOCX, ODT, HWPX), 스프레드시트(XLSX, ODS, CELL) 및 프레젠테이션(PPTX, ODP, SHOW) 문서 중 적어도 어느 하나인 것을 특징으로 할 수 있다.
이하에서는, 도 7을 참조하여 XML 포맷을 복구하는 예시에 대해 상세히 설명하고자 한다.
도 7은 본 발명의 실시예에 따른 문서 파일의 복구 장치를 이용하여 오피스 오픈 XML, 오픈 도큐먼트 및 개방형 워드프로세서 마크업 언어 중 적어도 어느 하나 파일의 태그 구조에 따른 XML 포맷을 복구하는 예를 도시한 것이다.
도 7을 참조하면, 본 발명의 실시예에 따른 문서 파일의 복구 장치(100)는 손상된 XML 파일(710)에 대한 복구 과정을 수행하여 XML 파일을 복구(720)할 수 있다.
예를 들면, 하기의 [실시예 1]과 같은 정상적인 XML 파일이 존재하는 경우, 하기의 [실시예 2]와 같이 XML 파일이 손상되면 포맷이 올바르지 않아 데이터를 읽을 수 없다.
[실시예 1]
Figure 112016049093488-pat00006
[실시예 2]
Figure 112016049093488-pat00007
이에 따라서, 하기의 [실시예 3]과 같이, 열린 태그를 확인하여 닫혀지지 않은 태그를 닫아주면 정상적으로 XML 데이터를 읽을 수 있다.
[실시예 3]
Figure 112016049093488-pat00008
보다 상세하게는, 손상된 XML 파일(710)은 손상된 XML 포맷(711)에 의해 파일이 손상된 것을 확인할 수 있다.
손상된 XML 포맷(711)은 XML 태그가 정상적으로 닫히지 않아 XML 파일이 손상(710)된 것을 확인할 수 있다.
이에 따라서, 본 발명의 실시예에 따른 문서 파일의 복구 장치는 XML 포맷의 태그 구조를 기반으로 손상된 XML 포맷을 식별하여 복구할 수 있다.
복구된 XML 파일(720)의 복구된 XML 포맷(721)을 살펴보면, </w:t> 및 </w:r>, </w:p>, </w:body>, </w:document>를 포함하고 있으므로, XML 포맷이 정상적인 태그 구조를 나타내는 것을 확인할 수 있고, 정상적인 태그 구조에 기반하여 XML 파일이 정상 복구된 것을 알 수 있다.
이에 따라서, 본 발명의 실시예에 따른 문서 파일의 복구 장치(100)는 XML 파일의 태그(TAG) 구조를 파악하여 XML 포맷의 손상 여부를 파악하고, 그에 따른 복구를 수행할 수 있다.
도 4는 본 발명의 실시예에 따른 문서 파일의 복구 장치를 이용한 파일의 복구과정을 나타내는 순서도이다.
도 4를 참조하면, 본 발명의 실시예에 따른 문서 파일의 복구 장치는 단계 201에서 파일 시그니처(File Signature)를 검색할 수 있고, 단계 201에서 검색된 파일 시그니처를 기반으로 단계 202에서 컴파운드 도큐먼트 파일(Compound Document file) 및 압축 파일(zip file) 중 적어도 어느 하나의 파일을 식별할 수 있다. 또한, 식별 결과에 기반하여 단계 202로부터 컴파운드 도큐먼트 파일이 식별되면, 단계 211에서 컴파운드 도큐먼트 파일의 크기를 산출할 수 있다.
이후, 단계 212은 컴파운드 도큐먼트 파일의 헤더를 해석하고, 단계 213은 디렉터리 항목(directory entry)을 해석하며, 단계 214는 컴파운드 도큐먼트 파일의 섹터 할당 테이블을 해석할 수 있다.
본 발명의 실시예에 따른 문서 파일의 복구 장치는 단계 219에서 컴파운드 도큐먼트 파일의 크기를 기반으로 컴파운드 도큐먼트 파일의 손상 여부를 판단하여 리커버리할 수 있다.
보다 상세하게는, 단계 215에서 유효 섹터 ID의 여부를 판단할 수 있으며, 판단 결과에 기반하여 유효 섹터 ID가 존재하는 경우 단계 217에서 유효 섹터 ID 리스트의 여부를 판단할 수 있고, 단계 215에서 유효 섹터 ID 여부의 판단 결과에 기반하여 유효 섹터 ID가 존재하지 않은 경우 단계 216에서 섹터 ID를 리커버리할 수 있다.
또한, 단계 217에서 유효 섹터 ID 리스트 여부의 판단 결과에 기반하여 유효 섹터 ID 리스트가 존재하지 않은 경우, 단계 218에서 섹터 ID 리스트를 리커버리할 수 있다.
단계 219를 통해 리커버리된 섹터 ID 및 섹터 ID 리스트를 포함하는 컴파운드 도큐먼트 파일을 이용하여 본 발명의 실시예에 따른 문서 파일의 복구 장치는 단계 220에서 컴파운드 도큐먼트 파일의 스트림(stream)을 해석할 수 있다.
이후, 단계 221에서 스트림을 기반으로 컴파운드 도큐먼트 파일의 여부를 판단할 수 있다.
보다 상세하게는, 단계 221은 할당된 섹터 ID, 섹터 ID 리스트 및 파일의 스트림을 기반으로 컴파운드 도큐먼트 파일의 포맷에 따른 컴파운드 도큐먼트 여부를 판단하는 단계일 수 있으며, 여기서, 상기 컴파운드 도큐먼트 파일의 포맷은 한글문서(HWP), 워드(DOC), 파워포인트(PPT) 및 엑셀(XLS) 파일 중 적어도 어느 하나일 수 있다.
또한, 본 발명의 실시예에 따른 문서 파일의 복구 장치는 단계 222를 통해 판단된 컴파운드 도큐먼트 파일에 대한 암호화 여부를 판단할 수 있다. 예를 들면 컴파운드 도큐먼트 파일이 암호화되지 않은 경우, 단계 227을 통해 압축 여부를 판단할 수 있다.
다만, 단계 222를 통해 컴파운드 도큐먼트 파일이 암호화됨을 판단한 경우, 단계 226를 통해 컴파운드 도큐먼트 파일의 복호화를 수행할 수 있다.
보다 상세하게는 컴파운드 도큐먼트 파일이 암호화되었을 경우, 단계 223에서 암호화된 컴파운드 도큐먼트의 스트림을 복호화할 수 있다. 또한, 단계 224를 통해 복호화된 컴파운드 도큐먼트의 스트림으로부터 컴파운드 도큐먼트 파일의 손상 여부를 판단할 수 있고, 손상된 컴파운드 도큐먼트 파일에 대하여 단계 225에서 손상된 컴파운드 도큐먼트의 스트림을 복구할 수 있다.
일반적으로 한글문서(HWP), 워드(DOC), 파워포인트(PPT) 및 엑셀(XLS) 파일에서 기본값으로 사용되는 AES 및 DES 암호화는 블록 단위로 암호화되기 때문에 스트림이 손상되더라도 손상된 블록 이전까지는 복구가 가능할 수 있다.
전술한 단계로부터, 본 발명의 실시예에 따른 문서 파일의 복구 장치는 단계 227에서, 컴파운드 도큐먼트 파일의 압축 여부를 판단할 수 있다.
단계 227를 통해 컴파운드 도큐먼트 파일이 압축되었음을 판단한 경우, 단계 231을 통해 컴파운드 도큐먼트 파일의 압축 해제를 수행할 수 있다.
보다 상세하게는 컴파운드 도큐먼트 파일이 압축되었을 경우, 단계 228에서 압축된 컴파운드 도큐먼트의 스트림을 압축 해제할 수 있다. 또한, 단계 229를 통해 압축 해제된 컴파운드 도큐먼트의 스트림으로부터 컴파운드 도큐먼트 파일의 손상 여부를 판단할 수 있고, 손상된 컴파운드 도큐먼트 파일에 대하여 단계 230에서 손상된 컴파운드 도큐먼트의 스트림을 복구할 수 있다.
또한, 본 발명의 실시예에 따른 문서 파일의 복구 장치는 단계 232에서 손상이 복구된 컴파운드 도큐먼트의 스트림에 따른 컴파운드 도큐먼트의 텍스트(text) 및 이미지(image)를 리커버리할 수 있다.
이후 단계 233에서, 리커버리된 텍스트 및 이미지를 포함하는 컴파운드 도큐먼트를 리커버리할 수 있으며, 단계 234에서 리커버리된 컴파운드 도큐먼트를 저장할 수 있다.
다시 도 4를 참조하면, 본 발명의 실시예에 따른 문서 파일의 복구 장치는 단계 201에서 검색된 파일 시그니처를 기반으로 단계 202에서 컴파운드 도큐먼트 파일 및 압축 파일 중 적어도 어느 하나의 파일을 식별할 수 있다. 또한, 식별 결과에 기반하여 단계 202로부터 압축 파일(Zip File)이 식별되면, 단계 241에서 압축 파일의 파일 크기를 산출할 수 있다.
이후 단계 245에서, 산출된 압축 파일의 파일 크기를 기반으로 압축 파일의 압축을 해제하여 압축 파일 스트림의 손상 여부를 판단하여 리커버리할 수 있다.
보다 상세하게는 본 발명의 실시예에 따른 문서 파일의 복구 장치는 단계 242에서, 압축 파일의 압축을 해제할 수 있다. 이후, 단계 243에서 압축이 해제된 압축 파일 스트림의 손상 여부를 판단할 수 있으며, 판단 결과에 기반하여 압축 파일 스트림이 손상되었을 경우 단계 244에서 압축 파일 스트림을 리커버리할 수 있다.
또한, 단계 246에서 리커버리된 압축 파일 스트림을 기반으로 오피스 오픈 XML(OOXML), 오픈 도큐먼트(Open Document) 및 개방형 워드프로세서 마크업 언어(OWPML) 중 적어도 어느 하나 파일의 여부를 판단할 수 있고, 이후 단계 247에서 오피스 오픈 XML, 오픈 도큐먼트 및 개방형 워드프로세서 마크업 언어 중 적어도 어느 하나 파일 여부에 따른 파일 내부의 XML 포맷 여부를 판단할 수 있다.
여기서, 상기 XML 포맷은 워드 프로세서(DOCX, ODT, HWPX), 스프레드시트(XLSX, ODS, CELL) 및 프레젠테이션(PPTX, ODP, SHOW) 문서 중 적어도 어느 하나일 수 있다.
본 발명의 실시예에 따른 문서 파일의 복구 장치는 단계 251를 통해 XML 포맷의 손상 여부를 판단하여 XML 포맷을 복구할 수 있다.
보다 상세하게는, 단계 248에서 XML 포맷을 해석하고, 단계 249로부터 XML 포맷의 손상에 따른 오피스 오픈 XML, 오픈 도큐먼트 및 개방형 워드프로세서 마크업 언어 중 적어도 어느 하나 파일의 손상 여부를 판단하며, 단계 250에서 파일의 손상에 따라 XML 포맷을 복구할 수 있다.
또한, 단계 250은 오피스 오픈 XML, 오픈 도큐먼트 및 개방형 워드프로세서 마크업 언어 중 적어도 어느 하나 파일의 태그(TAG) 구조를 파악하여 XML 포맷을 복구하는 단계일 수 있다.
또한, 본 발명의 실시예에 따른 문서 파일의 복구 장치는 단계 232에서 손상이 복구된 XML 포맷에 따른 오피스 오픈 XML, 오픈 도큐먼트 및 개방형 워드프로세서 마크업 언어 중 적어도 어느 하나 파일의 텍스트 및 이미지를 복구할 수 있다.
이후 단계 233에서, 복구된 텍스트 및 이미지를 포함하는 오피스 오픈 XML, 오픈 도큐먼트 및 개방형 워드프로세서 마크업 언어 중 적어도 어느 하나 파일을 복구할 수 있으며, 단계 234에서 복구된 오피스 오픈 XML, 오픈 도큐먼트 및 개방형 워드프로세서 마크업 언어 중 적어도 어느 하나 파일을 저장할 수 있다.
도 8은 본 발명의 실시예에 따른 컴파운드 도큐먼트 파일의 복구 방법을 도시한 흐름도이다.
도 8을 참조하면, 본 발명의 실시예에 따른 문서 파일의 복구 방법은 단계 810에서, 파일 시그니처(file signature)에 기반하여 컴파운드 도큐먼트 파일(Compound Document file)을 식별한다.
단계 810은 분석하고자 하는 문서 파일의 파일 시그니처에 기반하여 파일 종류를 확인하며, 컴파운드 도큐먼트 파일 및 압축 파일 중 적어도 어느 하나의 파일을 식별하는 단계일 수 있다.
단계 820에서, 식별된 컴파운드 도큐먼트 파일의 파일 시그니처를 기반으로 컴파운드 도큐먼트 파일의 헤더(header)로부터 파일 크기를 산출한다.
단계 830에서, 컴파운드 도큐먼트 파일의 섹터 할당 테이블에 기반하여 섹터의 인덱스(index)를 나타내는 섹터 ID(Sector ID) 및 섹터 ID 리스트(Sector ID List)의 할당 여부를 판단하여 리커버리(Recovery)한다.
단계 830은 섹터 할당 테이블로부터 유효 섹터 ID(Valid Sector ID) 및 유효 섹터 ID 리스트(Valid Sector ID List)의 할당 여부에 기반하여 섹터 ID 및 섹터 ID 리스트를 리커버리하는 단계일 수 있다.
단계 840에서, 섹터 ID 및 섹터 ID 리스트를 기반으로 컴파운드 도큐먼트 여부를 판단하여 컴파운드 도큐먼트 스트림으로부터 컴파운드 도큐먼트 파일의 손상 여부를 판단한다.
단계 840은 할당된 섹터 ID 및 섹터 ID 리스트를 기반으로 컴파운드 도큐먼트의 포맷(Format)에 따른 컴파운드 도큐먼트 파일 여부를 판단하는 단계일 수 있으며, 상기 컴파운드 도큐먼트의 포맷은 한글문서(HWP), 워드(DOC), 파워포인트(PPT) 및 엑셀(XLS) 파일 중 적어도 어느 하나인 것을 특징으로 할 수 있다.
또한, 단계 840은 컴파운드 도큐먼트 파일의 압축 및 암호화 중 적어도 어느 하나의 여부를 판단하고, 판단 결과에 따른 압축 해제 및 복호화 중 적어도 어느 하나로 수행된 컴파운드 도큐먼트 스트림으로부터 컴파운드 도큐먼트 파일의 손상 여부를 판단하는 단계일 수 있다.
단계 850에서, 컴파운드 도큐먼트 파일의 손상에 따라 컴파운드 도큐먼트 스트림을 복구한다.
도 9는 본 발명의 일실시예에 따른 문서 파일의 복구 방법을 도시한 흐름도이다.
도 9를 참조하면, 본 발명의 일실시예에 따른 문서 파일의 복구 방법은 단계 910에서, 파일 시그니처(File Signature)에 기반하여 압축 파일(Zip File)을 식별한다.
단계 910은 분석하고자 하는 문서 파일의 파일 시그니처에 기반하여 파일 종류를 확인하며, 컴파운드 도큐먼트(Compound Document) 파일 및 압축 파일 중 적어도 어느 하나의 파일을 식별하는 단계일 수 있다.
단계 920에서, 식별된 압축 파일의 파일 시그니처를 기반으로 압축 파일의 엔드 오브 센트럴 디렉토리 레코드(End of central directory record)로부터 압축 파일의 크기를 산출한다.
실시예에 따라서, 단계 920은 엔드 오브 센트럴 디렉토리 레코드를 획득하지 못한 경우, 로컬 파일 헤더(Local File Header)의 크기를 합산하여 압축 파일의 파일 크기를 산출하는 단계일 수 있다.
단계 930에서, 산출된 압축 파일의 파일 크기를 기반으로 압축 파일의 압축을 해제하여 압축 파일 스트림(Stream)의 손상 여부를 판단하여 리커버리(Recovery)한다.
단계 940에서, 압축 파일 스트림을 기반으로 오피스 오픈 XML(OOXML), 오픈 도큐먼트(Open Document) 및 개방형 워드프로세서 마크업 언어(OWPML) 중 적어도 어느 하나 파일의 여부를 판단하여 파일 내부의 XML 포맷(Format)으로부터 오피스 오픈 XML, 오픈 도큐먼트 및 개방형 워드프로세서 마크업 언어 중 적어도 어느 하나 파일의 손상 여부를 판단한다.
이후 단계 950에서, 오피스 오픈 XML, 오픈 도큐먼트 및 개방형 워드프로세서 마크업 언어 중 적어도 어느 하나 파일의 손상에 따라 XML 포맷을 복구한다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.
100: 문서 파일의 복구 장치
110: 파일 식별부
120: 파일 크기 산출부
121: 컴파운드 도큐먼트 파일 크기 산출 모듈
122: 압축 파일 크기 산출 모듈
130: 리커버리 처리부
131: 컴파운드 도큐먼트 파일 리커버리 모듈
132: 압축 파일 리커버리 모듈
140: 손상 여부 판단부
141: 컴파운드 도큐먼트 파일 손상 확인 모듈
142: XML 파일 손상 확인 모듈
150: 파일 복구부
151: 컴파운드 도큐먼트 스트림 복구 모듈
152: XML 포맷 복구 모듈

Claims (15)

  1. 파일 시그니처(File Signature)에 기반하여 컴파운드 도큐먼트(Compound Document) 파일 및 압축 파일(Zip File) 중 적어도 어느 하나의 파일을 식별하는 파일 식별부;
    상기 파일 시그니처의 고유 디렉터리 개체로부터 상기 식별된 하나의 파일의 크기를 산출하는 파일 크기 산출부;
    상기 산출된 파일 크기를 기반으로 상기 식별된 하나의 파일의 손상 여부를 판단하여 리커버리(recovery)하는 리커버리 처리부;
    상기 리커버리된 하나의 파일로부터 파일 포맷(file format)에 대한 손상 여부를 판단하는 손상 여부 판단부; 및
    상기 손상 여부에 따라 상기 파일 포맷을 복구하는 파일 복구부를 포함하고,
    상기 리커버리 처리부는,
    상기 컴파운드 도큐먼트(Compound Document) 파일의 섹터 할당 테이블(Sector Allocation Table)에 기반하여 섹터의 인덱스(index)를 나타내는 섹터 ID(Sector ID) 및 섹터 ID 리스트(Sector ID List)의 할당 여부를 판단하여 리커버리하는 컴파운드 도큐먼트 파일 리커버리 모듈; 및
    상기 산출된 파일 크기를 기반으로 상기 압축 파일(Zip File)의 압축을 해제하여 압축 파일 스트림(Stream)의 손상 여부를 판단하여 리커버리하는 압축 파일 리커버리 모듈
    을 포함하는 문서 파일의 복구 장치.
  2. 제1항에 있어서,
    상기 파일 크기 산출부는
    상기 식별 결과에 따른 컴파운드 도큐먼트 파일의 파일 시그니처를 기반으로 상기 컴파운드 도큐먼트 파일의 헤더(header)로부터 파일의 크기를 산출하는 컴파운드 도큐먼트 파일 크기 산출 모듈; 및
    상기 식별 결과에 따른 압축 파일의 파일 시그니처를 기반으로 상기 압축 파일의 엔드 오브 센트럴 디렉토리 레코드(End of central directory record)로부터 파일 크기를 산출하는 압축 파일 크기 산출 모듈
    을 포함하는 문서 파일의 복구 장치.
  3. 제2항에 있어서,
    상기 압축 파일 크기 산출 모듈은
    상기 엔드 오브 센트럴 디렉토리 레코드를 획득하지 못한 경우, 로컬 파일 헤더(Local File Header)의 압축된 데이터 크기를 합산하여 상기 압축 파일의 크기를 산출하는 문서 파일의 복구 장치.
  4. 삭제
  5. 제1항에 있어서,
    상기 컴파운드 도큐먼트 파일 리커버리 모듈은
    상기 섹터 할당 테이블로부터 유효 섹터 ID(Valid Sector ID) 및 유효 섹터 ID 리스트(Valid Sector ID List)의 할당 여부에 기반하여 상기 섹터 ID 및 상기 섹터 ID 리스트를 리커버리하는 문서 파일의 복구 장치.
  6. 제1항에 있어서,
    상기 손상 여부 판단부는
    상기 섹터 ID 및 상기 섹터 ID 리스트를 기반으로 상기 컴파운드 도큐먼트 파일 여부를 판단하여 컴파운드 도큐먼트 스트림(Stream)으로부터 상기 컴파운드 도큐먼트 파일의 손상 여부를 판단하는 컴파운드 도큐먼트 파일 손상 확인 모듈; 및
    상기 압축 파일 스트림을 기반으로 오피스 오픈 XML(OOXML), 오픈 도큐먼트(Open Document) 및 개방형 워드프로세서 마크업 언어(OWPML) 중 적어도 어느 하나 파일의 여부를 판단하여 파일 내부의 XML 포맷(XML Format)으로부터 상기 적어도 어느 하나 파일의 손상 여부를 판단하는 XML 파일 손상 확인 모듈
    을 포함하는 문서 파일의 복구 장치.
  7. 제6항에 있어서,
    상기 컴파운드 도큐먼트 파일의 포맷은
    한글문서(HWP), 워드(DOC), 파워포인트(PPT) 및 엑셀(XLS) 파일 중 적어도 어느 하나인 것을 특징으로 하는 문서 파일의 복구 장치.
  8. 제6항에 있어서,
    상기 컴파운드 도큐먼트 파일 손상 확인 모듈은
    상기 컴파운드 도큐먼트 파일의 압축 및 암호화 중 적어도 어느 하나의 여부를 판단하고, 상기 판단 결과에 따른 압축 해제 및 복호화 중 적어도 어느 하나로 수행된 상기 컴파운드 도큐먼트 스트림으로부터 상기 컴파운드 도큐먼트 파일의 손상 여부를 판단하는 문서 파일의 복구 장치.
  9. 제6항에 있어서,
    상기 파일 복구부는
    상기 컴파운드 도큐먼트 파일의 손상에 따라 상기 컴파운드 도큐먼트 스트림을 복구하는 컴파운드 도큐먼트 스트림 복구 모듈; 및
    상기 적어도 어느 하나 파일의 손상에 따라 상기 XML 포맷을 복구하는 XML 포맷 복구 모듈
    을 포함하는 문서 파일의 복구 장치.
  10. 제9항에 있어서,
    상기 컴파운드 도큐먼트 스트림 복구 모듈은
    상기 섹터 할당 테이블이 손상되어 섹터 ID 값이 유효한 범위를 벗어난 경우, 상기 섹터 ID를 할당된 섹터 ID를 제외한 후 순차 적용하여 상기 컴파운드 도큐먼트 스트림을 복구하는 문서 파일의 복구 장치.
  11. 제10항에 있어서,
    상기 XML 포맷 복구 모듈은
    상기 적어도 어느 하나 파일의 태그(TAG) 구조를 파악하여 상기 XML 포맷을 복구하는 문서 파일의 복구 장치.
  12. 제11항에 있어서,
    상기 XML 포맷은
    워드 프로세서(DOCX, ODT, HWPX), 스프레드시트(XLSX, ODS, CELL) 및 프레젠테이션(PPTX, ODP, SHOW) 문서 중 적어도 어느 하나인 것을 특징으로 하는 문서 파일의 복구 장치.
  13. 파일 시그니처(File Signature)에 기반하여 컴파운드 도큐먼트 파일(Compound Document File)을 식별하는 단계;
    상기 식별된 컴파운드 도큐먼트 파일의 파일 시그니처를 기반으로 상기 컴파운드 도큐먼트 파일의 헤더(header)로부터 파일 크기를 산출하는 단계;
    상기 컴파운드 도큐먼트 파일의 섹터 할당 테이블(Sector Allocation Table)에 기반하여 섹터의 인덱스(index)를 나타내는 섹터 ID(Sector ID) 및 섹터 ID 리스트(Sector ID List)의 할당 여부를 판단하여 리커버리(Recovery)하는 단계;
    상기 섹터 ID 및 상기 섹터 ID 리스트를 기반으로 상기 컴파운드 도큐먼트 파일 여부를 판단하여 컴파운드 도큐먼트 스트림(Stream)으로부터 상기 컴파운드 도큐먼트 파일의 손상 여부를 판단하는 단계; 및
    상기 컴파운드 도큐먼트 파일의 손상에 따라 상기 컴파운드 도큐먼트 스트림을 복구하는 단계
    를 포함하는 문서 파일의 복구 방법.
  14. 파일 시그니처(File Signature)에 기반하여 압축 파일(Zip File)을 식별하는 단계;
    상기 식별된 압축 파일의 파일 시그니처를 기반으로 상기 압축 파일의 엔드 오브 센트럴 디렉토리 레코드(End of central directory record)로부터 파일 크기를 산출하는 단계;
    상기 산출된 압축 파일의 파일 크기를 기반으로 상기 압축 파일의 압축을 해제하여 압축 파일 스트림(Stream)의 손상 여부를 판단하여 리커버리(Recovery)하는 단계;
    상기 압축 파일 스트림을 기반으로 오피스 오픈 XML(OOXML), 오픈 도큐먼트(Open Document) 및 개방형 워드프로세서 마크업 언어(OWPML) 중 적어도 어느 하나 파일의 여부를 판단하여 파일 내부의 XML 포맷(Format)으로부터 상기 적어도 어느 하나 파일의 손상 여부를 판단하는 단계; 및
    상기 적어도 어느 하나 파일의 손상에 따라 상기 XML 포맷을 복구하는 단계
    를 포함하는 문서 파일의 복구 방법.
  15. 제13항 및 제14항 중 어느 한 항에 따른 방법을 컴퓨터로 실행하기 위한 프로그램이 기록된 컴퓨터 판독가능 기록매체.
KR1020160062704A 2016-05-23 2016-05-23 문서 파일의 복구 장치 및 그 방법 KR101727860B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160062704A KR101727860B1 (ko) 2016-05-23 2016-05-23 문서 파일의 복구 장치 및 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160062704A KR101727860B1 (ko) 2016-05-23 2016-05-23 문서 파일의 복구 장치 및 그 방법

Publications (1)

Publication Number Publication Date
KR101727860B1 true KR101727860B1 (ko) 2017-04-17

Family

ID=58703075

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160062704A KR101727860B1 (ko) 2016-05-23 2016-05-23 문서 파일의 복구 장치 및 그 방법

Country Status (1)

Country Link
KR (1) KR101727860B1 (ko)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109032841A (zh) * 2018-07-04 2018-12-18 郑州云海信息技术有限公司 一种文件修复方法和装置
KR102056284B1 (ko) 2018-10-26 2019-12-16 (주)명정보기술 블랙박스 영상 데이터 복구를 위한 할당 영역과 비할당 영역 식별 및 영상 데이터 재구성 방법
KR102079519B1 (ko) * 2018-10-26 2020-02-20 (주)명정보기술 블랙박스 영상 데이터 복구를 위한 tat 파일 시스템 식별 및 영상 저장 영역 확인 방법
CN113485868A (zh) * 2021-02-04 2021-10-08 厦门蓝极档案技术有限公司 一种残损档案修复方法及装置
KR20220127702A (ko) 2021-03-11 2022-09-20 고남현 구술 내용에 기반한 적합 파일형식 판단 방법 및 장치
WO2023085853A1 (ko) * 2021-11-12 2023-05-19 삼성전자 주식회사 파일을 복구하기 위한 전자 장치 및 전자 장치의 동작 방법
CN116881035A (zh) * 2023-07-20 2023-10-13 上海弘连网络科技有限公司 文件修复方法、存储介质及电子设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009088949A (ja) * 2007-09-28 2009-04-23 Konica Minolta Business Technologies Inc 画像形成システム、画像形成装置及びプログラム
JP2013015935A (ja) * 2011-07-01 2013-01-24 Hitachi Ltd Xmlファイル構造の復元方法。

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009088949A (ja) * 2007-09-28 2009-04-23 Konica Minolta Business Technologies Inc 画像形成システム、画像形成装置及びプログラム
JP2013015935A (ja) * 2011-07-01 2013-01-24 Hitachi Ltd Xmlファイル構造の復元方法。

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109032841A (zh) * 2018-07-04 2018-12-18 郑州云海信息技术有限公司 一种文件修复方法和装置
KR102056284B1 (ko) 2018-10-26 2019-12-16 (주)명정보기술 블랙박스 영상 데이터 복구를 위한 할당 영역과 비할당 영역 식별 및 영상 데이터 재구성 방법
KR102079519B1 (ko) * 2018-10-26 2020-02-20 (주)명정보기술 블랙박스 영상 데이터 복구를 위한 tat 파일 시스템 식별 및 영상 저장 영역 확인 방법
CN113485868A (zh) * 2021-02-04 2021-10-08 厦门蓝极档案技术有限公司 一种残损档案修复方法及装置
KR20220127702A (ko) 2021-03-11 2022-09-20 고남현 구술 내용에 기반한 적합 파일형식 판단 방법 및 장치
WO2023085853A1 (ko) * 2021-11-12 2023-05-19 삼성전자 주식회사 파일을 복구하기 위한 전자 장치 및 전자 장치의 동작 방법
CN116881035A (zh) * 2023-07-20 2023-10-13 上海弘连网络科技有限公司 文件修复方法、存储介质及电子设备

Similar Documents

Publication Publication Date Title
KR101727860B1 (ko) 문서 파일의 복구 장치 및 그 방법
EP2363815B1 (en) System for permanent file deletion
JP5162701B2 (ja) 統合重複排除システム、データ格納装置、及びサーバ装置
US8396839B1 (en) Representing de-duplicated file data
US20130067237A1 (en) Providing random access to archives with block maps
US8407192B2 (en) Detecting a file fragmentation point for reconstructing fragmented files using sequential hypothesis testing
CN110716895A (zh) 目标数据归档方法、装置、计算机设备及介质
US20130179413A1 (en) Compressed Distributed Storage Systems And Methods For Providing Same
US20130067587A1 (en) Protecting archive structure with directory verifiers
JP2008537259A (ja) 資源間の関係の効率的記述
Povar et al. Forensic data carving
US20050219076A1 (en) Information management system
US20190065518A1 (en) Context aware delta algorithm for genomic files
KR101484882B1 (ko) 포렌식 데이터 복원 방법 및 시스템
CN113065169A (zh) 一种文件存证方法、装置及设备
Yang et al. A security carving approach for AVI video based on frame size and index
US11501016B1 (en) Digital password protection
US9514392B2 (en) Method of creating compound file and data storage device having the compound file
JP2011065268A (ja) 可変長のデータ断片の開始・終了オフセットを決定する方法及び装置
EP2856359B1 (en) Systems and methods for storing data and eliminating redundancy
US7568156B1 (en) Language rendering
CN108563396B (zh) 一种安全的云端对象存储方法
US8015342B2 (en) Method of managing and restoring identifier of storage device and apparatus therefor
KR101486235B1 (ko) 대용량 포렌식 이미지의 정보 추출 장치
JP2001101049A (ja) ファイル復元装置

Legal Events

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