KR101403305B1 - 백업부트레코드 정보를 이용한 파티션 복구 장치 및 방법 - Google Patents

백업부트레코드 정보를 이용한 파티션 복구 장치 및 방법 Download PDF

Info

Publication number
KR101403305B1
KR101403305B1 KR1020120092498A KR20120092498A KR101403305B1 KR 101403305 B1 KR101403305 B1 KR 101403305B1 KR 1020120092498 A KR1020120092498 A KR 1020120092498A KR 20120092498 A KR20120092498 A KR 20120092498A KR 101403305 B1 KR101403305 B1 KR 101403305B1
Authority
KR
South Korea
Prior art keywords
boot record
backup boot
sector
partition
backup
Prior art date
Application number
KR1020120092498A
Other languages
English (en)
Other versions
KR20140026821A (ko
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 KR1020120092498A priority Critical patent/KR101403305B1/ko
Priority to US13/958,541 priority patent/US9286165B2/en
Publication of KR20140026821A publication Critical patent/KR20140026821A/ko
Application granted granted Critical
Publication of KR101403305B1 publication Critical patent/KR101403305B1/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/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1435Saving, restoring, recovering or retrying at system level using file system or storage system metadata
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/16Protection against loss of memory contents
    • 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/1417Boot up procedures
    • 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/16File or folder operations, e.g. details of user interfaces specifically adapted to file systems
    • G06F16/162Delete operations

Abstract

백업부트레코드 정보를 이용한 파티션 복구 방법이 개시된다. 본 발명에 따른 백업부트레코드 정보를 이용한 파티션 복구 방법은, 디스크 또는 증거 이미지에서 미할당 영역을 분류하는 단계, 상기 미할당 영역에서 백업부트레코드의 위치를 검색하는 단계, 검색된 섹터들 중에서 검출하고자 하는 파일시스템의 백업부트레코드인지 분석하는 단계, 상기 분석결과 상기 백업부트레코드가 검출하고자 하는 파일시스템의 백업부트레코드인 경우, 상기 백업부트레코드가 유효한 파티션의 부트레코드인지를 판단하는 단계 및 상기 백업부트레코드가 유효한 파티션의 부트레코드인 경우, 상기 백업부트레코드를 이용하여 삭제된 파티션의 파일시스템을 파싱하고 삭제된 디렉토리 또는 파일을 복구하는 단계를 포함한다.

Description

백업부트레코드 정보를 이용한 파티션 복구 장치 및 방법{METHOD AND APPARATUS FOR RECOVERING PARTITION USING BACKUP BOOT RECORD}
본 발명은 백업부트레코드 정보를 이용한 파티션 복구 장치 및 방법에 관한 것으로서, 보다 상세하게는 백업부트레코드를 이용하여 고속의 파티션 복구를 수행할 수 있는 파티션 복구 방법 및 장치에 관한 것이다.
하드 디스크는 효율적인 디스크 운영을 위해 복수 개의 파티션으로 나뉘어 관리된다. 가장 대표적으로 사용하는 DOS 파티션은 파티션 테이블을 통해 파티션을 관리하고, 확장 파티션 개념을 통해 여러 개의 파티션 관리를 가능하게 한다.
디지털 포렌식에서는 파티션이 삭제된 경우 이를 복구하기 위하여는 사용자가 수동으로 파티션 정보를 찾거나 파티션 테이블을 분석하여 복구하는 방식을 사용하는데, 하드웨어의 발전으로 디스크가 대용량화 되면서 삭제된 파티션 정보를 찾는데 많은 시간을 소비하고, 수동 복구 시 조사자에게 전문적인 지식을 요구하는 문제점이 있다.
구체적으로, 파티션 복구를 위한 종래 기술은 포렌식 도구에서 제공되는 디스크 맵을 확인하여 직접 수동으로 삭제된 파티션을 추가하거나, MBR(마스터 부트 레코드)을 분석하고, 전체 섹터를 순차적으로 검색하여 삭제된 파티션 정보를 검색하여 복구하는 방식을 취한다. 하지만 수동으로 추가하기 위해서는 사용자가 전문적인 지식이 필요하고, 전체 섹터를 순차적으로 접근하여 검색하는 방식은 디스크의 용량에 따라 수십 분에서 수십 시간이 소요되는 단점이 존재한다.
한국공개특허 제2008-0107629호는 미리 백업된 부팅에 필요한 파일을 이용하여 시스템 복구하는 방법에 대해서 개시하고 있으나, 이 한국공개특허에 개시된 기술은 운영체제에 대한 복구를 위한 목적이며, 기존의 삭제된 파티션에 대한 고려하지 않는 등의 한계가 있다.
따라서 하드 디스크나 증거이미지에서 빠른 시간 내에 파티션 복구 정보를 조사자에게 제공하고 복구된 파티션을 관리하는 효율적인 파티션 복구 방법 및 장치가 필요하다.
본 발명의 목적은 디지털 포렌식에서 대용량 하드디스크와 증거이미지의 볼륨 정보인 부트레코드가 삭제되었을 때 백업부트레코드 정보를 이용하여 삭제된 파티션을 신속하게 조회하여 복구하는 방법 및 장치를 제공하기 위한 것이다.
본 발명의 목적은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
상기한 목적을 달성하기 위한 본 발명에 따른 백업부트레코드 정보를 이용한 파티션 복구 방법은, 디스크 또는 증거 이미지에서 미할당 영역을 분류하는 단계, 상기 미할당 영역에서 백업부트레코드의 위치를 검색하는 단계, 검색된 섹터들 중에서 검출하고자 하는 파일시스템의 백업부트레코드인지 분석하는 단계, 상기 분석결과 상기 백업부트레코드가 검출하고자 하는 파일시스템의 백업부트레코드인 경우, 상기 백업부트레코드가 유효한 파티션의 부트레코드인지를 판단하는 단계 및 상기 백업부트레코드가 유효한 파티션의 부트레코드인 경우, 상기 백업부트레코드를 이용하여 삭제된 파티션의 파일시스템을 파싱하고 삭제된 디렉토리 또는 파일을 복구하는 단계를 포함한다.
이 때, 상기 미할당 영역을 분류하는 단계는, 상기 디스크 또는 증거 이미지에서 DOS 파티션 테이블을 분석하여 삭제되지 않은 정상적인 파티션의 파티션 정보를 수집하는 단계 및 상기 정상적인 파티션의 파일시스템을 파싱하여 정상적인 파일과 삭제된 파일의 정보를 수집하여 이들을 할당영역으로 분류하고, 나머지를 미할당 영역으로 분류하는 단계를 포함할 수 있다.
이 때, 상기 미할당 영역을 분류하는 단계는, 상기 디스크 또는 증거 이미지의 섹터들에 관한 정보를 LBA(Linear Block Addressing) 방식의 주소로 변환하여 할당 영역과 미할당 영역으로 분류할 수 있다.
이 때. 상기 백업부트레코드의 위치를 검색하는 단계는, 입력된 섹터 맵 테이블을 기반으로 상기 파일시스템의 종류에 따라 백업부트레코드를 검색할 수 있다.
이 때, 상기 파일시스템이 NTFS인 경우, 실린더 또는 2048 섹터 단위로 검색되는 섹터의 앞 섹터로 점프하여 백업부트레코드를 검색할 수 있다.
이 때, 상기 파일시스템이 FAT32인 경우, 실린더 또는 2048 섹터 단위로 검색되는 섹터의 6번째 섹터로 점프하여 백업부트레코드를 검색할 수 있다.
이 때, 상기 파일시스템이 FAT64인 경우, 실린더 또는 2048 섹터 단위로 검색되는 섹터의 12번째 섹터로 점프하여 백업부트레코드를 검색할 수 있다.
이 때, 상기 백업부트레코드의 위치를 판단하고 검색하는 단계는, 상기 미할당 영역을 실린더 단위 또는 2048 섹터 단위로 점프하면서 검색하여, 특정 섹터가 백업부트레코드인지를 분석할 수 있다.
이 때, 상기 실린더 단위의 검색 방법과 2048 섹터 단위의 검색 방법은 쓰레드 형태로 동시에 검색을 수행할 수 있다.
이 때, 상기 백업부트레코드가 유효한 파티션의 부트레코드인지를 판단하는 단계는, 상기 파일시스템이 NTFS인 경우, $MFT 파일의 MFT(Master File Table) 엔트리(Entry) 속성 중 offset 40~47, 28~31과 $MFT 파일이름인 경우 이를 통해 유효한 백업부트레코드임을 판단하는 단계 및 상기의 $MFT 파일이 존재하지 않는 경우 $MFTMirr 파일의 MFT Entry 속성 중 offset 40~47, 28~31과 $MFTMirr 파일이름을 통해 유효한 백업부트레코드임을 판단하는 단계를 포함할 수 있다.
이 때, 상기 백업부트레코드가 유효한 파티션의 부트레코드인지를 판단하는 단계는, 상기 파일시스템이 FAT32, FAT64인 경우, 상기 백업부트레코드의 속성에서 루트 디렉토리 클러스터(Root Directory Cluster)의 위치를 찾는 단계, 상기 루트 디렉토리 클러스터(Root Directory Cluster)의 위치에서 해당 섹터가 디렉토리 엔트리(Directory Entry)의 속성임을 판단하는 단계 및 상기 디렉토리 엔트리(Directory Entry)의 속성 중 오프셋(offset) 72~79, 96~99가 디렉토리 엔트리(Directory Entry) 속성인 경우 유효한 백업부트레코드로 판단하는 단계를 포함할 수 있다.
상기한 목적을 달성하기 위한 본 발명에 따른 백업부트레코드 정보를 이용한 파티션 복구 장치는 디스크 또는 증거 이미지에 엑세스하여 상기 디스크 또는 증거 이미지의 정보를 읽는 엑세스부, 상기 디스크 또는 증거 이미지의 파티션 테이블을 분석하고, 해당 볼륨의 파일 시스템을 파싱하는 파일 시스템 파싱부, 상기 디스크 또는 증거 이미지를 할당 영역과 미할당 영역으로 구분하는 섹터 맵 테이블을 구성하는 섹터맵 구성부, 상기 미할당 영역의 정보를 이용하여 백업부트레코드가 존재하는 섹터를 검색하는 백업 부트레코드 검색부, 상기 백업 부트레코드 검색부에서 검색된 백업부트레코드가 유효한지 여부를 판단하는 파티션 검증부 및 상기 백업부트레코드를 이용하여 파일 시스템을 파싱하여 삭제된 파일 또는 디렉토리를 복구하는 파일시스템 생성부를 포함한다.
이 때, 상기 섹터맵 구성부는, 상기 디스크 또는 증거 이미지의 섹터들에 관한 정보를 LBA(Linear Block Addressing) 방식의 주소로 변환하여 할당 영역과 미할당 영역으로 분류할 수 있다.
이 때, 상기 백업 부트레코드 검색부는, 상기 섹터 맵 테이블을 기반으로 상기 파일시스템의 종류에 따라 백업부트레코드를 검색할 수 있다.
이 때, 상기 백업 부트레코드 검색부는, 상기 파일시스템이 NTFS인 경우, 실린더 또는 2048 섹터 단위로 검색되는 섹터의 앞 섹터로 점프하여 백업부트레코드를 검색하고, 상기 파일시스템이 FAT32인 경우, 실린더 또는 2048 섹터 단위로 검색되는 섹터의 6번째 섹터로 점프하여 백업부트레코드를 검색하며, 상기 파일시스템이 FAT64인 경우, 실린더 또는 2048 섹터 단위로 검색되는 섹터의 12번째 섹터로 점프하여 백업부트레코드를 검색할 수 있다.
이 때, 상기 백업 부트레코드 검색부는, 상기 백업부트레코드의 위치를 판단하고 검색하는 단계는, 상기 미할당 영역을 실린더 단위 또는 2048 섹터 단위로 점프하면서 검색하여, 특정 섹터가 백업부트레코드인지를 분석할 수 있다.
이 때, 상기 백업 부트레코드 검색부는, 상기 실린더 단위의 검색 방법과 2048 섹터 단위의 검색 방법은 쓰레드 형태로 동시에 검색을 수행할 수 있다.
이 때, 상기 파티션 검증부는, 상기 파일시스템이 NTFS인 경우, $MFT 파일 또는 $MFTMirr 파일의 시그니처, MFT 엔트리의 크기 및 파일 이름의 속성을 통해 유효한 백업부트레코드임을 판단할 수 있다.
이 때, 상기 파티션 검증부는, 상기 파일시스템이 FAT32, FAT64인 경우, 상기 백업부트레코드에서 루트 디렉토리 클러스터(Root Directory Cluster)의 위치를 찾고, 상기 루트 디렉토리 클러스터(Root Directory Cluster)의 위치에서 해당 섹터가 디렉토리 엔트리(Directory Entry)의 속성임을 판단하여 유효한 백업부트레코드로 판단할 수 있다.
이 때, 백업부트레코드 정보를 이용한 파티션 복구 장치는 분석 결과를 사용자에게 제공하는 사용자 인터페이스부를 더 포함할 수 있다.
본 발명의 실시예에 따르면, 전체 섹터를 검사하지 않고 미할당 영역을 추출하여 검사하고, 실린더 단위에서 하드디스크의 백업부트레코드가 위치할 섹터를 읽거나, 진보된 섹터를 기준으로 백업부트레코드가 위치할 섹터를 읽고, 유효한 백업부트레코드인지를 검증한 후, 파티션 복구시 가상 볼륨을 생성하여 정상 볼륨과 동일하게 접근이 가능하도록 하므로, 기존 부트레코드 정보가 삭제되어 파티션 복구가 불가능한 경우에도 백업 부트레코드 존재한다면 이 정보를 이용해 원래 파티션의 부트레코드 정보로 인식시켜 파티션 복구를 수행할 수 있다.
또한, 마스터부트레코드(MBR)에 파티션 정보가 없는 경우 부트레코드만 찾아 복구하는 기존 파티션 복구 기법에서 파티션의 부트레코드가 삭제된 경우라도 백업부트레코드가 존재하는 경우 파티션 복구가 가능하며, 백업부트레코드가 유효한 백업부트레코드임을 검증하여 복구의 정확성을 높이는 장점이 존재한다.
도 1은 본 발명의 실시예에 따른 파티션 변경이 이루어진 디스크의 데이터 기록 상황을 나타낸 도면이다.
도 2는 본 발명의 실시예에 따른 백업부트레코드 정보를 기반으로 하는 파티션 복구 장치를 설명하기 위한 블록도이다.
도 3은 본 발명의 실시예에 따른 백업부트레코드 정보를 기반으로 하는 파티션 복구 방법을 설명하기 위한 순서도이다.
도 4는 은 디스크 또는 증거 이미지 전체의 섹터 맵을 구성하는 방법을 나타내는 순서도이다.
도 5는 미할당 영역을 설명하기 위한 개념도이다.
도 6은 미할당 영역을 실린더 단위와 진보된 디스크 확장 섹터 단위(2048 섹터 단위)로 검색하여 특정 섹터가 백업부트레코드인지 분석하는 과정을 나타내는 순서도이다.
도 7은 NTFS, FAT32, FAT64의 부트레코드를 구성하는 항목에서 볼륨의 총 섹터수, $MFT 시작 위치 오프셋 값, $MFT 시작 오프셋 값, 루트 디렉토리 클러스터 값, 백업부트레코드의 오프셋 값에 해당하는 볼륨의 부트레코드 위치를 나타낸 표이다.
도 8은 NTFS 파일시스템의 파티션 유효성 검증 과정을 나타내는 순서도이다.
도 9는 FAT32, FAT64 파일시스템의 파티션 유효성 검증 과정을 나타내는 순서도이다.
도 10은 유효성 검증을 마친 백업부트레코드 값을 이용해서 파티션을 복구하는 과정을 나타내는 순서도이다.
본 발명을 첨부된 도면을 참조하여 상세히 설명하면 다음과 같다. 여기서, 반복되는 설명, 본 발명의 요지를 불필요하게 흐릴 수 있는 공지 기능, 및 구성에 대한 상세한 설명은 생략한다. 본 발명의 실시형태는 당 업계에서 평균적인 지식을 가진 자에게 본 발명을 보다 완전하게 설명하기 위해서 제공되는 것이다. 따라서, 도면에서의 요소들의 형상 및 크기 등은 보다 명확한 설명을 위해 과장될 수 있다.
이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
삭제된 파티션 복구 기술은 부트레코드 정보를 이용하면 가능하다. 윈도우 환경의 디스크 관리도구에서 파티션 관리 기능은 파티션의 삭제, 포맷(파티션의 확장, 축소) 등의 기능을 지원하며 이를 수행 시 기존 파티션의 정보는 마스터부트레코드에서 삭제되며, 포맷 시에는 기존 부트레코드의 정보가 새로운 포맷 정보로 덮어 쓰여지게 된다. 하지만 파티션의 확장이나 축소를 통한 재구성 후 포맷 수행 시에는 기존 파티션의 백업부트레코드 정보가 존재할 가능성이 있으며 이를 찾아내면 파티션 복구가 가능하다.
도 1을 참고하면, 첫 번째 단계의 그림은 파티션 1개와 미사용 영역(Unused Area)로 이루어진 디스크가 BR1, MFT, DATA1 영역으로 이루어진다.
이후, 두 번째 단계의 그림과 같이 파티션 삭제가 이루어지면 MBR에서 기존 파티션의 정보가 삭제되고, 파티션 확장 후 재 포맷(빠른 포맷)이 이루어지면 세 번째 단계의 그림과 같이 기존 BR1은 BR2로 덮어 쓰여지게 된다. 결과적으로 네 번째 단계의 그림과 같이 실제 디스크 상황을 보면, 기존 MFT1과 DATA1 영역 그리고 기존 Backup BR1의 정보는 존재하게 된다.
파티션 복구를 위한 종래 기술은 삭제된 부트레코드를 찾기 위해서 전체 섹터를 순차적으로 검색하여 부트레코드 정보를 찾거나, 분석자에게 수동으로 파티션 복구를 수행하도록 하였으며, 볼륨의 부트레코드를 찾아 복구하는 방식으로 백업부트레코드를 이용한 복구 방식을 이용하지 않았다. 또한 진화된 디스크 기술의 영향으로 인해 파티션이 생성되는 영역의 단위가 커지면서 기존 CHS 섹터 계산 방식을 따르지 않는 부트레코드 위치 변화도 존재한다.
도 2 및 도 3을 참조하여 본 발명의 실시예에 따른 파티션 복구 방법 및 장치를 설명한다. 도 2는 본 발명의 실시예에 따른 백업부트레코드를 이용한 파티션 복구 장치를 설명하기 위한 블록도이고, 도 3은 본 발명의 실시예에 따른 백업부트레코드를 이용한 파티션 복구 방법을 설명하기 위한 순서도이다.
도 1을 참조하면 실시예에 따른 파티션 복구 장치는, 엑세스부(30), 파일시스템 파싱부(40), 섹터맵 구성부(50), 백업 부트레코드 검색부(60), 파티션 검증부(70), 파일시스템 생성부(80) 및 사용자 인터페이스부(90)를 포함한다.
엑세스부(30)는, 디지털 포렌식의 데이터 소스(Data Sources of Digital Forensic), 즉 조사 및 수사 대상인 하드 디스크 또는 증거 이미지(DD, EWF 포맷 등)에 대해 엑세스하여 디스크(10) 또는 증거 이미지(20)를 읽는다.
파일시스템 파싱부(40)(Filesystem Parsing Unit)는 엑세스부(30)를 이용하여 디스크(10) 또는 증거 이미지(20)의 섹터에 직접 접근하여, 파티션 테이블을 분석하고 해당 볼륨에 존재하는 파일시스템을 파싱하여 디렉토리와 파일의 형태로 제공한다. 정상적인 볼륨의 정상 파일과 삭제된 파일을 모두 파싱한다.
섹터맵 구성부(Sector Map Construction Unit)(50)은 디스크(10)나 증거 이미지(20)의 섹터 맵을 구성한다. (S210)
섹터맵은 크게 할당 영역과 미할당 영역으로 구분될 수 있는데, 할당 영역은 파일시스템 정보를 저장하는 메타데이터 영역과 파일이나 디렉토리의 데이터 정보를 저장하는 데이터 할당 영역으로 구분될 수 있다.
미할당 영역은 디스크 전체에서 볼륨 사이의 빈 영역(미사용 영역-Unused Area)이나 볼륨 내에 할당되지 않은 영역(미할당 데이터 영역-Unallocated Data Area)을 나타낸다.
섹터맵 구성부(50)이 섹터 맵을 구성하는 구체적인 방법에 대해서는 도 3을 참조하여 후술한다.
섹터맵 구성부(50)은 미할당 영역의 정보를 구성하는데, 예컨대 미할당 영역의 섹터들에 대한 LBA(Linear Block Addressing) 방식의 주소를 테이블로 구성할 수 있다.
백업 부트레코드 검색부(60)(Backup Boot Record Searching Unit)는 섹터맵 구성부(50)가 구성한 미할당 영역의 정보를 이용하여 미할당 영역을 실린더(cylinder) 단위와 2048섹터 단위로 FAT32, FAT64, NTFS 파일시스템 마다 다른 백업 부트레코드의 특정위치를 고려하여 특정 섹터에 백업부트레코드가 존재하는지 분석한다. (S220, S230)
예컨대 NTFS 파일시스템의 경우 실린더 단위(16065 섹터 단위) 의 섹터의 바로 앞 섹터(-1번째)가 백업부트레코드인지 분석한다.
여기서 백업 부트레코드 검색부(60)은 빠른 검색을 위해 각각의 검색 방법이 쓰레드 형태로 동시에 진행된다.
이렇게 찾은 백업부트레코드는 파티션 검증부(70)을 통해 유효한 백업부트레코드인지를 판별한다.(S240) 이에 대한 구체적인 설명은 도 6을 참조하여 후술한다.
파일시스템 생성부(80)(FileSystem Creation Unit)는 백업 부트레코드 검색부(60)에서 찾은 부트 레코드를 기반으로 해당 파일 시스템을 파싱한다.
이때, 파일시스템 생성부(80)는 파일시스템 파싱부(40)을 이용하여 파일 시스템을 파싱할 수 있다. 파일 시스템을 파싱함으로써 삭제된 파티션을 복구할 수 있다.(S250)
사용자 인터페이스부(90)(User Interface Unit)은 복구된 파티션이 가상 볼륨으로 추가되어 일반 볼륨과 동일하게 조사자가 이용할 수 있는 기능을 제공한다.
이와 같이 본 발명의 실시예에 따른 백업부트레코드 정보를 이용한 파티션 복구 방법 및 장치는, 디스크 또는 증거 이미지에서 미할당 영역을 분류하고, 미할당 영역만을 대상으로(볼륨의 미할당 데이터 영역과 디스크의 사용되지 않는 영역 모두 포함) 백업부트레코드가 존재할 가능성이 있는 섹터인 실린더 단위와 2048 섹터 단위로 파일시스템 특성에 맞게 백업부트레코드가 존재할 수 있는 특정 섹터를 찾아 빠르게 파티션 정보를 검색하여 복구한다.
이하에서 좀더 구체적으로 예를 들어 실시예에 따른 백업부트레코드 정보를 이용한 파티션 복구 방법 및 장치를 설명한다.
도 4는 섹터맵 구성부(50)가 디스크 또는 증거 이미지 전체의 섹터 맵을 구성하는 방법을 나타내는 순서도이다.
디스크 전체를 기준으로 볼륨의 각 섹터에 관한 정보를 나타내는 LBA 방식의 주소로 변환한다.(S310)
예컨대 3개의 볼륨 C, D, E의 각 섹터들의 주소는 0부터 시작하는데, 디스크 전체를 기준으로 주소를 변환하기 위해 각 섹터들의 주소에 처음 MBR부터 C 볼륨까지의 거리를 더한다. 또한 처음 MBR부터 D 볼륨까지의 거리를 각 섹터들의 주소에 더한다. 이와 같이 LBA 방식으로 변환된 주소를 리스트하여 할당 영역과 미할당 영역으로 구분되는 섹터 맵을 구성한다.(S320)
즉, 섹터 맵은 할당 영역과 미할당 영역으로 구분되며, 할당 영역과 미할당 영역은, 각 영역에 해당하는 섹터들의 LBA 방식의 주소로 나타낼 수 있다.
디스크를 할당 영역과 미할당 영역으로 분류하는 방법은, 예컨대 조사하고자 하는 디스크나 디스크를 이미징한 증거 이미지를 대상으로 DOS 파티션 테이블을 분석하여 정상적인(삭제되지 않은) 파티션 정보를 수집한 후, 해당 파티션의 파일 시스템을 파싱하여 정상 파일과 삭제된 파일의 정보를 수집하고, 이들을 할당 영역으로 분류한 후, 디스크의 나머지를 미할당 영역으로 분류할 수 있다.
도 5를 참조하여 미할당 영역에 대해 구체적으로 설명하면, 미할당 영역은 크게 두 가지 형태로 나눌 수 있다.
하나는 미사용 영역(Unused Area)으로서, 디스크에서 현재 존재하는 파티션 이외의 영역으로 볼륨과 볼륨 사이의 빈 공간이나, 또는 마지막 볼륨 뒤에 남아있는 공간을 의미한다.
다른 하나는 미할당 데이터 영역(Unallocated Data Area)으로서, 정상적인 볼륨 내에 데이터가 저장되어 있지 않은 영역(데이터가 할당되지 않은 영역)이다.
이와 같이 디스크 또는 증거 이미지를 할당 영역과 미할당 영역으로 분류하고, 각 영역을 LBA 방식의 주소로 나타냄으로써 디스크 또는 증거 이미지 전체의 섹터 맵을 구성할 수 있다.
또는 디스크 또는 증거 이미지를 할당 영역과 미할당 영역으로 분류하고, 삭제된 파티션을 복구하기 위한 검색 대상이 미할당 영역이므로, 미할당 영역만을 LBA 방식의 주소로 리스트할 수 있다.
이와 같이 섹터 맵은 각 영역의 섹터들이 LBA 방식의 주소들로 정리되며, 이하에서 미할당 영역의 섹터들이 LBA 방식의 주소들로 정리된 부분을 섹터 맵 테이블(Sector Map Table)이라 한다.
섹터 맵 테이블에 대해 구체적으로 설명하면, 섹터 맵 테이블은 오프셋 쌍(pair of offset)으로 나타낼 수 있다. 예컨대 미할당 영역 중 연속하는 섹터들은 LBA 방식의 주소로 <SSO, ESO> 의 형태로 구성될 수 있다. 여기서 SSO(Start Sector Offset)는 시작 섹터 오프셋을 의미하고, ESO(End Sector Offset)는 SSO에서 시작되어 연속된 미할당 영역이 끝나는 끝 섹터 오프셋을 의미한다. 즉, 전체 미할당 영역은 <SSO, ESO>의 오프셋 쌍들로 이루어진다. 예를 들어, 미할당 영역의 섹터의 LBA 방식의 주소가 0~5, 7~32 인 경우, 섹터 맵 테이블은 <0,5>, <7,32>와 같이 오프셋 쌍들로 이루어질 수 있다.
다음으로 도 6을 참조하여, 백업 부트레코드 검색부(60)가 미할당 영역을 실린더 단위(16065섹터) 및 2048 섹터 단위로 검색하여 특정 섹터가 백업부트레코드인지 분석하는 과정을 구체적으로 설명한다.
도 6은 미할당 영역을 실린더 단위와 진보된 디스크 확장 섹터 단위로 검색하여 특정 섹터가 백업부트레코드인지 분석하는 과정을 나타내는 순서도이다.
먼저 백업 부트레코드 검색부(60)은 섹터 맵 테이블이 입력되면 해당 섹터를 기준으로 첫 번째 백업부트레코드의 특정 위치를 계산한다.(S510) 백업 부트레코드 검색부(60)은 입력으로 받은 첫 <SSO, ESO>에서 SSO를 기반으로 점프 오프셋 값을 구하며, 각 파일시스템에 따라 백업부트레코드의 위치가 다르므로 아래의 수식1로 계산된다. SSO의 최소 값은 2048 섹터 이상이다.
(수식 1)
C_NTFSfo = SSO - ((SSO + 1) % 16065)
M_NTFSfo = SSO - ((SSO + 1) % 2048)
C_FAT32fo = SSO + (63 + 6 - SSO % 16065)
M_FAT32fo = SSO + (6 - SSO % 2048)
C_ FAT64fo = SSO + (63 + 12 - SSO % 16065)
M_FAT64fo = SSO + (12 - SSO % 2048)
(조건: SSO > 2048)
C_NTFSfo는 시작 섹터 오프셋 SSO에서 처음 백업부트레코드가 존재할 가능성이 있는 섹터의 값을 계산한다. NTFS의 경우 백업부트레코드는 볼륨 슬랙의 마지막 위치에 존재하고 다음 볼륨 시작의 -1번째로 계산될 수 있다. 예를 들어 입력된 섹터 맵 테이블 값이 <6297480, 8388607>라고 하면,
C_NTFSfo = 6297480- ((6297480+ 1) % 16065) = 6297479
C_NTFSfo는 6297479번 섹터가 백업부트레코드가 존재하는 섹터로 계산한다. 해당 섹터가 미할당 영역에 존재하면 섹터를 읽어(S520), 백업 부트레코드인지 판별한다.(S530)
C_NTFSfo, C_FAT32fo, C_ FAT64fo는 NTFS, FAT32, FAT64 기반의 실린더 섹터 단위의 계산식이며, M_NTFSfo, M_FAT32fo, M_FAT64fo 는 각각 NTFS, FAT32, FAT64 기반의 2048 섹터 단위의 처음 위치하는 백업부트레코드 위치를 나타내는 계산식이다.
백업부트레코드로 판단되면 부트 레코드 정보를 이용해 원래의 부트레코드 위치를 계산하여 계산된 위치에 정상적인 부트레코드가 존재하면 파티션 검증부(70)을 통해 유효한 레코드인지를 판별하게 된다.(S540)
유효한 레코드로 판명되면 파티션을 복구하는 정보가 추가되고(S550), 끝 섹터 오프셋(ESO) 값과 백업부트레코드의 섹터 위치를 비교하여 검색의 종료여부를 판단한다.(S570)
백업부트레코드의 섹터 위치가 끝 섹터 오프셋(ESO) 이전이면 현재의 백업부트레코드의 섹터위치를 검색을 실행하는 섹터의 위치로 입력하고(S580), S520 단계부터 재실행한다.
한편, S530 단계에서 백업 부트레코드가 아닌 것으로 판별되면, 수식1에 따라 다음으로 검색할 섹터의 위치를 계산하고(S560), S570 단계를 통해서 백업부트레코드의 검색을 계속한다.
다음으로 NTFS 파일시스템의 유효한 백업부트레코드로 판별하는 방법은 도 8과 같다. NTFS 파일시스템의 경우 디렉토리 트리 구조로 파싱하기 위해서는 $MFT와 $MFT 파일의 백업본인 $MFTMirr MFT Entry가 지워지지 않고 존재하는지의 여부가 매우 중요한 요소이며, 백업부트레코드를 이용해 계산된 위치에 원래의 부트레코드가 존재하는지를 판별하는 것이 중요하다. 처음 백업부트레코드 섹터를 읽어(S710) $MFT 위치를 계산하게 된다.(S720) $MFT 오프셋 위치는 아래의 수식2와 같이 계산된다.
(수식 2)
$MFToffset = Sc(백업부트레코드 섹터 offset) - Tv(볼륨의 총섹터) + Smft($MFT 시작위치)
Tv의 값은 도7의 Total Sector Offset 값을 읽어오면 된다.
이렇게 계산된 위치에서 $MFT인지를 판단하고(S730), $MFT 인 경우 유효한 파티션으로 판단하고(S760), 만약 $MFT가 존재하지 않는다면 $MFTMirr의 위치를 계산해(S740), $MFTMirr 여부를 판단한다.(S750)
이 때, $MFTMirr도 존재하지 않는다고 판단되면 무효한 파티션으로 판단한다.(S770)
$MFTMirr 오프셋 위치는 아래의 수식3과 같이 계산된다.
(수식 3)
$MFTMirroffset = Sc(백업부트레코드 현재 위치) - Tv(볼륨의 총 섹터 개수) + Smirr($MFTMirr 시작 위치)
$MFT와 $MFTMirr의 Entry를 판단하는 세부 기준은 MFT Entry의 "FILE" 시그니처와 MFT Entry 크기를 나타내는 도 7의 MFT Entry Size 항목(도 7의 오프셋의 값)과 $FILENAME 속성에서 $MFT, $MFTMirr 파일 이름을 통해 판단한다.
다음으로 FAT32, FAT64 파일시스템의 유효한 백업부트레코드 판별 방법은 도 9와 같다. FAT 파일시스템의 경우 트리 구조로 파싱하기 위해서는 Directory Entry의 존재 여부가 매우 중요한 요소이다. NTFS 파일시스템과 동일하게 처음 백업부트레코드 섹터를 읽어(S810), Root Directory Cluster 위치를 계산하게 된다.(S820)
FAT32 파일시스템의 Root Directory Cluster 오프셋 위치는 아래의 수식4와 같이 계산된다.
(수식 4)
$RDCoffset = Sc(백업부트레코드 섹터 offset) - 6 + Srdc(Root Direcotry Cluster 시작 위치)
FAT64 파일시스템의 Root Directory Cluster 오프셋 위치는 수식5와 같이 계산된다.
(수식 5)
$RDCoffset = Sc(백업부트레코드 섹터 offset) - 12 + Srdc(Root Direcotry Cluster 시작 위치)
Root Directory Cluster를 판단하는 세부 기준은 Directory Entry의 Name 항목과 NT Resource 항목을 통해 Directory Entry 임을 판단한다.(S830)
이 때, Directory Entry에 해당하면 유효한 파티션으로(S840), 반대로 Directory Entry에 해당하지 않으면 무효한 파티션으로 판단한다.(S850)
이렇게 파티션 유효성 검증이 통과되면 파티션 복구 정보를 추가한다. 다음 검사할 섹터는 아래의 수식6으로 계산된다.
(수식 6)
C_NTFSsn = C_NTFSfo + (N * 16065) (N += 1 씩 증가, 최대
Figure 112013059965271-pat00002
chs)
M_NTFSsn = M_NTFSfo + (N * 2048) (N += 1 씩 증가,
Figure 112013059965271-pat00004
2048)
C_FAT32sn = C_FAT32fo + (N * 16065) (N += 1 씩 증가, 최대
Figure 112013059965271-pat00006
chs)
M_FAT32sn = M_FAT32fo + (N * 2048) (N += 1 씩 증가,
Figure 112013059965271-pat00008
2048)
C_ FAT64sn = C_ FAT64fo + (N * 16065) (N += 1 씩 증가, 최대
Figure 112013059965271-pat00010
chs)
M_FAT64sn = M_FAT64fo + (N * 2048) (N += 1 씩 증가,
Figure 112013059965271-pat00012
2048)
N 값은 최소값인 0부터 시작하여 1씩 증가하면서 ESO를 넘어서지 않는 N의 범위까지 검사하고, ESO 값을 넘어가면 다음 섹터 맵 테이블을 불러와서 수행하게 된다.
N의 최대값은 다음과 같이 각각 계산된다.
Figure 112013059965271-pat00014
(Ceiling)는 올림을 의미하고,
Figure 112013059965271-pat00016
chs
Figure 112013059965271-pat00018
2048는 16065, 2048로 나눠진 결과 값을 올림 한 값으로 수식7과 같이 계산된다.
(수식 7)
Figure 112013059965271-pat00020
chs = (ESO - SSO) / 16,065
Figure 112013059965271-pat00022
2048 = (ESO - SSO) / 2,048
본 발명에서는 백업부트레코드 위치를 검색할 때 실린더 단위(16065 섹터)와 진보된 디스크 관리에 의한 확장 섹터 단위(2048 섹터)로 검색하여 새로운 디스크 기술에서도 복구 대응과 두 가지 검색을 멀티 쓰레드 형식으로 구현하여 검색 시간을 줄일 수 있다.
또한 백업된 부트레코드 정보 검색을 가능하게 하여 파티션 복구 기법을 향상시켰다.
다음으로 도 10을 참조하여 파일시스템 생성부(80)가 파티션을 복구하는 과정을 설명한다. 도 10은 파티션을 복구하는 과정을 나타내는 순서도이다.
먼저 파티션 복구 정보를 읽고(S910), 도 6의 과정에서 찾아낸 백업부트레코드를 가상 볼륨의 부트 레코드로 인식하여 분석한다.(S920)
가상 볼륨의 부트레코드의 위치는 NTFS, FAT32, FAT64 각각 아래의 수식8과 같은 식으로 계산한다.
(수식 8)
NTFS_BRoffset = Sc(백업부트레코드 현재 위치) - Tv(볼륨의 총섹터)
FAT32_BRoffset = Sc(백업부트레코드 현재 위치) - Sb(50~51번째 오프셋 값인 백업섹터 값, 일반적으로 6)
FAT64_BRoffset = Sc(백업부트레코드 현재 위치) - Sb(FAT64 파일시스템의 백업섹터가 위치하는 값, 일반적으로 12)
NTFS의 경우 백업부트레코드가 볼륨의 마지막에 위치하므로 검색된 현재의 백업부트레코드 섹터 위치에서 볼륨의 총 섹터를 빼주면 원래의 부트레코드 위치를 찾는다. FAT32와 FAT64의 경우 검색된 현재의 백업부트레코드 섹터의 부트레코드 백업섹터 값을 빼주면 원래의 부트레코드 위치를 찾는다.
찾은 백업부트레코드를 이용하여 복구할 파티션의 부트레코드로 인식시켜 가상 볼륨의 구조를 생성하고(S930), 파일 시스템을 파싱하여(S940), 삭제된 파일 또는 디렉토리를 복구하고, 이를 사용자 인터페이스부(90)을 통해 파일 또는 디렉토리의 트리구조를 생성하여 사용자에게 제공한다.(S950)
이상, 본 발명의 구성에 대하여 바람직한 실시예들을 참조하여 상세히 설명하였으나, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 예를 들어 본 발명의 파티션 복구 방법을 실현하기 위한 프로그램이 기록된 기록매체의 형태 등 다양한 형태로 구현될 수 있다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구의 범위에 의하여 나타내어지며, 특허청구의 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
10 : 디스크 20: 증거이미지
30 : 엑세스부 40 : 파일시스템 파싱부
50 : 섹터맵 구성부 60 : 백업 부트레코드 검색부
70 : 파티션 검증부 80 : 파일시스템 생성부
90 : 사용자 인터페이스부

Claims (20)

  1. 디스크 또는 증거 이미지에서 미할당 영역을 분류하는 단계;
    상기 미할당 영역에서 백업부트레코드의 위치를 검색하되, 상기 미할당 영역을 실린더 단위 또는 2048 섹터 단위로 점프하면서 검색하는 단계;
    검색된 섹터들 중에서 검출하고자 하는 파일시스템의 백업부트레코드인지 분석하는 단계;
    상기 분석결과 상기 백업부트레코드가 검출하고자 하는 파일시스템의 백업부트레코드인 경우, 상기 백업부트레코드가 유효한 파티션의 부트레코드인지를 판단하는 단계; 및
    상기 백업부트레코드가 유효한 파티션의 부트레코드인 경우, 상기 백업부트레코드를 이용하여 삭제된 파티션의 파일시스템을 파싱하고 삭제된 디렉토리 또는 파일을 복구하는 단계; 를 포함하는 백업부트레코드 정보를 이용한 파티션 복구 방법.
  2. 청구항 1에 있어서,
    상기 미할당 영역을 분류하는 단계는,
    상기 디스크 또는 증거 이미지에서 DOS 파티션 테이블을 분석하여 삭제되지 않은 정상적인 파티션의 파티션 정보를 수집하는 단계; 및
    상기 정상적인 파티션의 파일시스템을 파싱하여 정상적인 파일과 삭제된 파일의 정보를 수집하여 이들을 할당영역으로 분류하고, 나머지를 미할당 영역으로 분류하는 단계; 를 포함하는 것을 특징으로 하는 백업부트레코드 정보를 이용한 파티션 복구 방법.
  3. 청구항 1에 있어서,
    상기 미할당 영역을 분류하는 단계는,
    상기 디스크 또는 증거 이미지의 섹터들에 관한 정보를 LBA(Linear Block Addressing) 방식의 주소로 변환하여 할당 영역과 미할당 영역으로 분류하는 것을 특징으로 하는 백업부트레코드 정보를 이용한 파티션 복구 방법.
  4. 청구항 1에 있어서,
    상기 백업부트레코드의 위치를 검색하는 단계는,
    입력된 섹터 맵 테이블을 기반으로 상기 파일시스템의 종류에 따라 백업부트레코드를 검색하는 것을 특징으로 하는 백업부트레코드 정보를 이용한 파티션 복구 방법.
  5. 청구항 4에 있어서,
    상기 파일시스템이 NTFS인 경우,
    실린더 또는 2048 섹터 단위로 검색되는 섹터의 앞 섹터로 점프하여 백업부트레코드를 검색하는 것을 특징으로 하는 백업부트레코드 정보를 이용한 파티션 복구 방법.
  6. 청구항 4에 있어서,
    상기 파일시스템이 FAT32인 경우,
    실린더 또는 2048 섹터 단위로 검색되는 섹터의 6번째 섹터로 점프하여 백업부트레코드를 검색하는 것을 특징으로 하는 백업부트레코드 정보를 이용한 파티션 복구 방법.
  7. 청구항 4에 있어서,
    상기 파일시스템이 FAT64인 경우,
    실린더 단위로 검색되는 섹터의 12번째 섹터로 점프하여 백업부트레코드를 검색하는 것을 특징으로 하는 백업부트레코드 정보를 이용한 파티션 복구 방법.
  8. 삭제
  9. 청구항 1에 있어서,
    상기 실린더 단위의 검색 방법과 2048 섹터 단위의 검색 방법은 쓰레드 형태로 동시에 검색을 수행하는 것을 특징으로 하는 백업부트레코드 정보를 이용한 파티션 복구 방법.
  10. 청구항 1에 있어서,
    상기 백업부트레코드가 유효한 파티션의 부트레코드인지를 판단하는 단계는,
    상기 파일시스템이 NTFS인 경우,
    $MFT 파일의 MFT(Master File Table) 엔트리(Entry) 속성 중 offset 40~47, 28~31과 $MFT 파일이름인 경우 이를 통해 유효한 백업부트레코드임을 판단하는 단계; 및
    상기의 $MFT 파일이 존재하지 않는 경우 $MFTMirr 파일의 MFT Entry 속성 중 offset 40~47, 28~31과 $MFTMirr 파일이름을 통해 유효한 백업부트레코드임을 판단하는 단계; 를 포함하는 것을 특징으로 하는 백업부트레코드 정보를 이용한 파티션 복구 방법.
  11. 청구항 1에 있어서,
    상기 백업부트레코드가 유효한 파티션의 부트레코드인지를 판단하는 단계는,
    상기 파일시스템이 FAT32, FAT64인 경우,
    상기 백업부트레코드의 속성에서 루트 디렉토리 클러스터(Root Directory Cluster)의 위치를 찾는 단계;
    상기 루트 디렉토리 클러스터(Root Directory Cluster)의 위치에서 해당 섹터가 디렉토리 엔트리(Directory Entry)의 속성임을 판단하는 단계; 및
    상기 디렉토리 엔트리(Directory Entry)의 속성 중 오프셋(offset) 72~79, 96~99가 디렉토리 엔트리(Directory Entry) 속성인 경우 유효한 백업부트레코드로 판단하는 단계; 를 포함하는 것을 특징으로 하는 백업부트레코드 정보를 이용한 파티션 복구 방법.
  12. 디스크 또는 증거 이미지에 엑세스하여 상기 디스크 또는 증거 이미지의 정보를 읽는 엑세스부;
    상기 디스크 또는 증거 이미지의 파티션 테이블을 분석하고, 해당 볼륨의 파일 시스템을 파싱하는 파일 시스템 파싱부;
    상기 디스크 또는 증거 이미지를 할당 영역과 미할당 영역으로 구분하는 섹터 맵 테이블을 구성하는 섹터맵 구성부;
    상기 미할당 영역의 정보를 이용하여 백업부트레코드가 존재하는 섹터를 검색하되, 상기 미할당 영역을 실린더 단위 또는 2048 섹터 단위로 점프하면서 검색하는 백업 부트레코드 검색부;
    상기 백업 부트레코드 검색부에서 검색된 백업부트레코드가 유효한지 여부를 판단하는 파티션 검증부; 및
    상기 백업부트레코드를 이용하여 파일 시스템을 파싱하여 삭제된 파일 또는 디렉토리를 복구하는 파일시스템 생성부; 를 포함하는 것을 특징으로 하는 백업부트레코드 정보를 이용한 파티션 복구 장치.
  13. 청구항 12에 있어서,
    상기 섹터맵 구성부는,
    상기 디스크 또는 증거 이미지의 섹터들에 관한 정보를 LBA(Linear Block Addressing) 방식의 주소로 변환하여 할당 영역과 미할당 영역으로 분류하는 것을 특징으로 하는 백업부트레코드 정보를 이용한 파티션 복구 장치.
  14. 청구항 12에 있어서,
    상기 백업 부트레코드 검색부는,
    상기 섹터 맵 테이블을 기반으로 상기 파일시스템의 종류에 따라 백업부트레코드를 검색하는 것을 특징으로 하는 백업부트레코드 정보를 이용한 파티션 복구 장치.
  15. 청구항 14에 있어서,
    상기 백업 부트레코드 검색부는,
    상기 파일시스템이 NTFS인 경우,
    실린더 단위로 검색되는 섹터의 앞 섹터로 점프하여 백업부트레코드를 검색하고,
    상기 파일시스템이 FAT32인 경우,
    실린더 단위로 검색되는 섹터의 6번째 섹터로 점프하여 백업부트레코드를 검색하며,
    상기 파일시스템이 FAT64인 경우,
    실린더 단위로 검색되는 섹터의 12번째 섹터로 점프하여 백업부트레코드를 검색하는 것을 특징으로 하는 백업부트레코드 정보를 이용한 파티션 복구 장치.
  16. 삭제
  17. 청구항 12에 있어서,
    상기 백업 부트레코드 검색부는,
    상기 실린더 단위의 검색 방법과 2048 섹터 단위의 검색 방법은 쓰레드 형태로 동시에 검색을 수행하는 것을 특징으로 하는 백업부트레코드 정보를 이용한 파티션 복구 장치.
  18. 청구항 12에 있어서,
    상기 파티션 검증부는,
    상기 파일시스템이 NTFS인 경우,
    $MFT 파일 또는 $MFTMirr 파일의 시그니처, MFT 엔트리의 크기 및 파일 이름의 속성을 통해 유효한 백업부트레코드임을 판단하는 것을 특징으로 하는 백업부트레코드 정보를 이용한 파티션 복구 장치.
  19. 청구항 12에 있어서,
    상기 파티션 검증부는,
    상기 파일시스템이 FAT32, FAT64인 경우,
    상기 백업부트레코드에서 루트 디렉토리 클러스터(Root Directory Cluster)의 위치를 찾고, 상기 루트 디렉토리 클러스터(Root Directory Cluster)의 위치에서 해당 섹터가 디렉토리 엔트리(Directory Entry)의 속성임을 판단하여 유효한 백업부트레코드로 판단하는 것을 특징으로 하는 백업부트레코드 정보를 이용한 파티션 복구 장치.
  20. 제12항에 있어서,
    분석 결과를 사용자에게 제공하는 사용자 인터페이스부를 더 포함하는 파티션 복구 장치.
KR1020120092498A 2012-08-23 2012-08-23 백업부트레코드 정보를 이용한 파티션 복구 장치 및 방법 KR101403305B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020120092498A KR101403305B1 (ko) 2012-08-23 2012-08-23 백업부트레코드 정보를 이용한 파티션 복구 장치 및 방법
US13/958,541 US9286165B2 (en) 2012-08-23 2013-08-03 Apparatus and method for recovering partition using backup boot record information

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120092498A KR101403305B1 (ko) 2012-08-23 2012-08-23 백업부트레코드 정보를 이용한 파티션 복구 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20140026821A KR20140026821A (ko) 2014-03-06
KR101403305B1 true KR101403305B1 (ko) 2014-06-05

Family

ID=50149097

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120092498A KR101403305B1 (ko) 2012-08-23 2012-08-23 백업부트레코드 정보를 이용한 파티션 복구 장치 및 방법

Country Status (2)

Country Link
US (1) US9286165B2 (ko)
KR (1) KR101403305B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10884873B2 (en) 2015-11-17 2021-01-05 Electronics And Telecommunications Research Institute Method and apparatus for recovery of file system using metadata and data cluster

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10810303B1 (en) * 2013-02-26 2020-10-20 Jonathan Grier Apparatus and methods for selective location and duplication of relevant data
IN2013DE02709A (ko) * 2013-09-13 2015-06-26 Ge Healthcare Bio Sciences Ab
CN104516791B (zh) * 2013-09-30 2018-09-28 北京猎豹移动科技有限公司 数据处理方法、装置及电子设备
CN104714811A (zh) * 2013-12-13 2015-06-17 中兴通讯股份有限公司 差分升级包的制作方法及装置、系统差分升级方法及装置
CN104142838A (zh) * 2014-07-02 2014-11-12 青岛海信移动通信技术股份有限公司 一种移动通信终端开机启动的方法和设备
KR101593184B1 (ko) 2014-09-16 2016-02-15 한국전자통신연구원 파일시스템 메타데이터 기반 파티션 복구 방법 및 장치
EP3213211A4 (en) * 2014-10-29 2017-09-06 Hewlett-Packard Enterprise Development LP Data restoration using allocation maps
CN104794017B (zh) * 2015-04-27 2018-05-04 四川效率源信息安全技术股份有限公司 一种用于奇数盘raid5的数据恢复方法
KR101677428B1 (ko) * 2015-12-29 2016-11-18 고려대학교 산학협력단 하드웨어 기반 레이드 시스템 재구축 방법 및 재구축 시스템
US11169962B2 (en) * 2016-03-17 2021-11-09 Rakuten Group, Inc. File management system, file management method, collection program, and non-transitory computer-readable information recording medium
US10380100B2 (en) 2016-04-27 2019-08-13 Western Digital Technologies, Inc. Generalized verification scheme for safe metadata modification
US10380069B2 (en) * 2016-05-04 2019-08-13 Western Digital Technologies, Inc. Generalized write operations verification method
CN108874581A (zh) * 2017-05-11 2018-11-23 中兴通讯股份有限公司 一种efs恢复和备份方法、系统及终端
CN109240720B (zh) * 2018-08-23 2021-11-26 瑞芯微电子股份有限公司 一种安卓系统的固件升级方法及一种存储设备
CN109710455B (zh) * 2018-11-22 2020-09-22 厦门市美亚柏科信息股份有限公司 基于fat32文件系统的删除文件恢复方法及系统
US11860947B2 (en) * 2019-01-31 2024-01-02 International Business Machines Corporation Deleted data restoration
US11436092B2 (en) 2020-04-20 2022-09-06 Hewlett Packard Enterprise Development Lp Backup objects for fully provisioned volumes with thin lists of chunk signatures
CN116166205B (zh) * 2023-04-23 2023-07-04 广州世炬网络科技有限公司 文件系统存储和挂载方法、装置、设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070035164A (ko) * 2005-09-27 2007-03-30 삼성전자주식회사 부팅, 소프트웨어 자동 업데이트 및 에러 복원 방법과 그시스템, 그 방법을 기록한 컴퓨터 판독 가능한 기록매체
KR20110021125A (ko) * 2009-08-25 2011-03-04 한국전자통신연구원 파티션 복구 방법 및 장치

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6308264B1 (en) * 1998-09-30 2001-10-23 Phoenix Technologies Ltd. Dual use master boot record
US8006125B1 (en) * 2005-04-29 2011-08-23 Microsoft Corporation Automatic detection and recovery of corrupt disk metadata
KR101393034B1 (ko) 2007-06-07 2014-05-13 삼성전자주식회사 시스템 복원 장치 및 방법
KR20110094468A (ko) 2010-02-16 2011-08-24 삼성전자주식회사 저장 매체의 마스터 부트 레코드 복구 방법, 저장 매체 구동 장치, 및 저장 매체
KR20120027880A (ko) 2010-09-13 2012-03-22 삼성전자주식회사 시스템을 복원하는 방법 및 시스템 복원 기능을 갖는 컴퓨팅 장치
US8650229B2 (en) * 2010-11-18 2014-02-11 II Hector Fuentes System and method for removing master file table ($MFT) file record segments (FRS)

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070035164A (ko) * 2005-09-27 2007-03-30 삼성전자주식회사 부팅, 소프트웨어 자동 업데이트 및 에러 복원 방법과 그시스템, 그 방법을 기록한 컴퓨터 판독 가능한 기록매체
KR20110021125A (ko) * 2009-08-25 2011-03-04 한국전자통신연구원 파티션 복구 방법 및 장치

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10884873B2 (en) 2015-11-17 2021-01-05 Electronics And Telecommunications Research Institute Method and apparatus for recovery of file system using metadata and data cluster

Also Published As

Publication number Publication date
KR20140026821A (ko) 2014-03-06
US20140059313A1 (en) 2014-02-27
US9286165B2 (en) 2016-03-15

Similar Documents

Publication Publication Date Title
KR101403305B1 (ko) 백업부트레코드 정보를 이용한 파티션 복구 장치 및 방법
KR101078289B1 (ko) 파티션 복구 방법 및 장치
KR100856245B1 (ko) 파일 시스템 장치 및 그 파일 시스템의 파일 저장 및 파일 탐색 방법
US7933938B2 (en) File storage system, file storing method and file searching method therein
US9195666B2 (en) Location independent files
JP5881859B2 (ja) ストレージ装置
US20070094315A1 (en) Apparatus and method for storing and managing additional data in file system
JP5719037B2 (ja) ストレージ装置及び重複データ検出方法
CN109710455B (zh) 基于fat32文件系统的删除文件恢复方法及系统
KR101744892B1 (ko) 시계열 계층 인덱싱을 이용한 데이터 검색 시스템 및 데이터 검색 방법
JP4944033B2 (ja) 情報処理システム、情報処理方法、実行バイナリイメージ作成装置、実行バイナリイメージ作成方法、実行バイナリイメージ作成プログラム、実行バイナリイメージ作成プログラムを記録したコンピュータ読み取り可能な記録媒体、実行バイナリイメージ実行装置、実行バイナリイメージ実行方法、実行バイナリイメージ実行プログラム及び実行バイナリイメージ実行プログラムを記録したコンピュータ読み取り可能な記録媒体
JPWO2007026484A6 (ja) 実行バイナリイメージの作成及び実行を行う装置、方法、プログラム、該プログラムを記録したコンピュータ読み取り可能な記録媒体
US9465694B2 (en) Method and apparatus for recovering partition based on file system metadata
US20140244699A1 (en) Apparatus and Methods for Selective Location and Duplication of Relevant Data
US10884873B2 (en) Method and apparatus for recovery of file system using metadata and data cluster
CN109101644A (zh) 一种动静态日志文件扫描采集方法
KR100809318B1 (ko) 파일 관리 장치 및 방법
KR101237746B1 (ko) 데이터 백업 장치 및 방법
KR101082024B1 (ko) 디지털 포렌식 시스템에서 증거 이미지의 색인 관리 장치 및 방법
KR101836380B1 (ko) 파일 시스템의 데이터 관리 방법 및 이를 이용하는 컴퓨팅 시스템
WO2024032898A1 (en) Choosing a set of sequential storage media in deduplication storage systems
KR100887547B1 (ko) 데이터 손상률 확인 방법 및 장치
KR100944240B1 (ko) 파일 액세스 속도 향상 방법

Legal Events

Date Code Title Description
A201 Request for examination
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: 20170406

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180406

Year of fee payment: 5