KR20110021125A - 파티션 복구 방법 및 장치 - Google Patents

파티션 복구 방법 및 장치 Download PDF

Info

Publication number
KR20110021125A
KR20110021125A KR1020090078742A KR20090078742A KR20110021125A KR 20110021125 A KR20110021125 A KR 20110021125A KR 1020090078742 A KR1020090078742 A KR 1020090078742A KR 20090078742 A KR20090078742 A KR 20090078742A KR 20110021125 A KR20110021125 A KR 20110021125A
Authority
KR
South Korea
Prior art keywords
sector
partition
area
boot record
unallocated
Prior art date
Application number
KR1020090078742A
Other languages
English (en)
Other versions
KR101078289B1 (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 KR1020090078742A priority Critical patent/KR101078289B1/ko
Priority to US12/626,783 priority patent/US9164845B2/en
Publication of KR20110021125A publication Critical patent/KR20110021125A/ko
Application granted granted Critical
Publication of KR101078289B1 publication Critical patent/KR101078289B1/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
    • G06F15/00Digital computers in general; Data processing equipment in general
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units

Landscapes

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

Abstract

본 발명은 디지털 포렌식에서 디스크 및 증거이미지에 대하여 조사할 때 미할당 영역을 검색하여 삭제된 파티션에 대한 정보를 빠르게 추출하고, 복구된 파티션을 포렌식 도구에 새로운 파티션으로 추가하는 기술에 관한 것이다. 이를 위해 획득된 증거 디스크나 이미지의 섹터로 직접 접근하고, 미할당 영역에 대한 정보 조사를 파티션이 생성될 수 있는 최소한의 크기를 만족하는 영역에 대해서만 조사하도록 제한 하고, LBA 기반 섹터 접근 방식을 CHS 기반 섹터 접근 방식으로 변환하여, 부트 레코드가 존재할 가능성을 가진 위치의 섹터만을 읽어 삭제된 파티션 정보를 검색함으로써 고속의 파티션 복구가 가능하다.
디지털 포렌식, 파티션 복구, 부트 레코드, CHS(Cylinder Head Sector)

Description

파티션 복구 방법 및 장치{Method and apparatus for recovering partition}
본 발명은 디지털 포렌식의 증거 분석 절차 중, 증거를 인멸하기 위해 사용자가 임의로 파티션을 삭제하거나, 악의적 의도나 악성 코드로 파티션을 은닉한 경우 등에 삭제된 파티션을 복구하는 파티션 복구 방법 및 장치에 관한 것으로서, 보다 상세하게는 고속의 파티션 복구를 수행할 수 있는 파티션 복구 방법 및 장치에 관한 것이다.
하드 디스크는 효율적인 디스크 운영을 위해 복수 개의 파티션으로 나뉘어 관리된다. 가장 대표적으로 사용하는 DOS 파티션은 파티션 테이블을 통해 파티션을 관리하고, 확장 파티션 개념을 통해 여러 개의 파티션 관리를 가능하게 한다. 디지털 포렌식에서는 파티션이 삭제된 경우 이를 복구하기 위하여는 사용자가 수동으로 파티션 정보를 찾거나 파티션 테이블을 분석하여 복구하는 방식을 사용하는데, 하드웨어의 발전으로 디스크가 대용량화 되면서 삭제된 파티션 정보를 찾는데 많은 시간을 소비하고, 수동 복구시 조사자에게 전문적인 지식을 요구하는 문제점이 있다.
구체적으로, 파티션 복구를 위한 종래 기술은 포렌식 도구에서 제공되는 디 스크 맵을 확인하여 직접 수동으로 삭제된 파티션을 추가하거나, MBR(마스터 부트 레코드)을 분석하고, 전체 섹터를 순차적으로 검색하여 삭제된 파티션 정보를 검색하여 복구하는 방식을 취한다. 하지만 수동으로 추가하기 위해서는 사용자가 전문적인 지식이 필요하고, 전체 섹터를 순차적으로 접근하여 검색하는 방식은 디스크의 용량에 따라 수십 분에서 수십 시간이 소요되는 단점이 존재한다.
따라서 하드 디스크나 증거이미지에서 빠른 시간 내에 파티션 복구 정보를 조사자에게 제공하고 복구된 파티션을 관리하는 효율적인 파티션 복구 방법 및 장치가 필요하다.
이에 본 발명이 이루고자 하는 기술적 과제는 디지털 포렌식에서 대용량 하드디스크와 증거이미지에서 삭제된 파티션을 신속하게 조회하여 복구하는 방법 및 장치를 제공하기 위한 것이다.
본 발명의 목적은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
전술한 목적을 달성하기 위한 본 발명의 일면에 따른 파티션 복구 방법은,
디스크 또는 증거 이미지에서 미할당 영역을 분류하는 단계와, 상기 미할당 영역의 조사 대상 실린더의 첫번째 섹터가 부트 레코드인지 분석하는 단계와, 상기 분석결과 상기 섹터가 부트 레코드인 경우, 이를 이용하여 삭제된 파티션의 파일 시스템을 파싱하고 삭제된 디렉토리 또는 파일을 복구하는 단계를 포함한다.
본 발명의 다른 면에 따른 파티션 복구 방법은, 할당영역과 미할당 영역으로 구분되는 디스크 또는 증거 이미지의 섹터 맵을 구성하는 단계와, 상기 섹터 맵의 미할당 영역에서 검색할 섹터를 결정하는 단계와, 결정된 상기 섹터가 부트 레코드인지 여부를 판단하는 단계와, 상기 분석결과 상기 부트 레코드인 경우, 삭제된 파티션의 파일 시스템을 파싱하여 삭제된 디렉토리 또는 파일을 복구하는 단계를 포함한다.
본 발명의 다른 면에 따른 파티션 복구 장치는, 디스크 또는 증거 이미지에 엑세스하는 엑세스 모듈과, 상기 디스크 또는 증거 이미지의 파티션 테이블을 분석하고, 각 파티션의 파일 시스템을 파싱하는 파일 시스템 파싱 모듈과, 상기 파싱 결과를 이용하여 할당영역과 미할당 영역으로 구분되는 상기 디스크 또는 증거 이미지의 섹터 맵을 구성하는 섹터맵 구성 모듈과, 상기 섹터 맵의 미할당 영역에서 CHS(Cylinder Head Sector) 기반으로 부트 레코드가 위치하는 섹터를 검색하는 파티션 검색 모듈 및 상기 부트 레코드를 이용하여 파일 시스템을 파싱하여 삭제된 파일 또는 디렉토리를 복구하는 파일시스템 생성 모듈을 포함한다.
기타 실시예들의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
본 발명의 실시예에 따르면, 본 발명은 디지털 포렌식에서 디스크나 증거이미지의 삭제된 파티션을 복구하기 위해 섹터 분석시에 전체 섹터를 검사하지 않고 미할당 영역을 추출하여 검사하고, 해당 미할당 영역의 섹터 정보를 CHS 기반의 주소로 변환하여 하드디스크의 부트 레코드가 위치할 섹터를 읽고, 파티션 복구시 가상 볼륨을 생성하여 정상 볼륨과 동일하게 접근이 가능하도록 한다. 이는 전체 섹터를 모두 조사해야 하는 기존 파티션 복구 기법에 비해 빠른 성능을 제공한다. 또한 이렇게 복구된 가상 볼륨은 정상 볼륨과 마찬가지로 조사자가 접근하여 조사가 가능하다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 한편, 본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소, 단계, 동작 및/또는 소자는 하나 이상의 다른 구성요소, 단계, 동작 및/또는 소자의 존재 또는 추가를 배제하지 않는다.
도 1 및 도 2를 참조하여 본 발명의 실시예에 따른 파티션 복구 방법 및 장치를 설명한다. 도 1은 본 발명의 실시예에 따른 파티션 복구 장치를 설명하기 위한 블록도이고, 도 2는 본 발명의 실시예에 따른 파티션 복구 방법을 설명하기 위한 순서도이다.
도 1을 참조하면 실시예에 따른 파티션 복구 장치(10)는, 엑세스 모듈(200)과, 파일시스템 파싱 모듈(300)과, 섹터맵 구성 모듈(400)과, 파티션 검색 모듈(500)과 파일시스템 생성 모듈(600) 및 사용자 인터페이스 모듈(700)을 포함한다.
실시예에 따른 먼저 엑세스 모듈(200)은, 디지털 포렌식의 데이터 소스(Data Sources of Digital Forensic), 즉 조사 및 수사 대상인 하드 디스크(110) 또는 증거 이미지(120)(DD, EWF 포맷 등)에 대해 엑세스하여 디스크(110) 또는 증거 이미지(120)를 읽는다.
파일시스템 파싱 모듈(Filesystem Parsing Module, FPM)(300)은 엑세스 모듈(200)을 이용하여 디스크(110) 또는 증거 이미지(120)의 섹터에 직접 접근하여, 파티션 테이블을 분석하고 해당 볼륨에 존재하는 파일시스템을 파싱하여 디렉토리와 파일의 형태로 제공한다. 정상적인 볼륨의 정상 파일과 삭제된 파일을 모두 파싱한다.
섹터맵 구성 모듈(Sector Map Construction Module, SCM)(400)은 디스크(110)나 증거 이미지(120)의 섹터 맵을 구성한다. 섹터 맵은 크게 할당 영역과 미할당 영역으로 구분될 수 있는데, 할당 영역은 파일시스템 정보를 저장하는 메타데이터 영역과 파일이나 디렉토리의 데이터 정보를 저장하는 데이터 할당 영역으로 구분될 수 있다. 미할당 영역은 볼륨 사이의 빈 영역이나 볼륨 내의 미할당 데이터 영역을 포함하며, 따라서 삭제되거나 은닉된 파티션은 미할당 영역에 존재하게 된다. 섹터맵 구성 모듈(400)이 섹터 맵을 구성하는 구체적인 방법에 대해서는 도 3을 참조하여 후술한다.
섹터맵 구성 모듈(400)은 미할당 영역의 정보를 구성하는데(S210), 예컨대 미할당 영역의 섹터들에 대한 LBA(Linear Block Addressing) 방식의 주소를 테이블로 구성할 수 있다.
파티션 검색 모듈(Partition Searching Module, PSM)(500)은 섹터맵 구성 모 듈(400)이 구성한 미할당 영역의 정보를 이용하여 미할당 영역을 실린더(cylinder) 단위로 검색하여(S220), 특정 섹터가 부트 레코드인지 분석한다(S230). 예컨대 실린더 단위의 섹터들 중 첫번째 오프셋에 해당하는 섹터가 부트 레코드인지 분석한다.
여기서 파티션 검색 모듈(500)이 미할당 영역을 실린더 단위로 검색하기 위해, 섹터맵 구성 모듈(400)에서 구성한 LBA 방식으로 표현된 미할당 영역의 섹터들의 정보를 CHS(Cylinder Head Sector) 방식으로 변환할 수 있다.
또한 파티션 검색 모듈(500)은 파티션이 존재할 가능성이 있는 섹터만을 검색하여 부트 레코드 여부를 조사할 수 있는데, 이에 대한 구체적인 설명은 도 4를 참조하여 후술한다.
파티션 검색 모듈(500)이 미할당 영역의 부트 레코드를 찾으면, 파일시스템 생성 모듈(FileSystem Creation Module, FCM)(600)은 파티션 검색 모듈(500)에서 찾은 부트 레코드를 기반으로 해당 파일 시스템을 파싱한다. 이때 파일시스템 생성 모듈(600)은 파일시스템 파싱 모듈(300)을 이용하여 파일 시스템을 파싱하며, 파일 시스템을 파싱함으로써 삭제된 파티션을 복구할 수 있다(S240). 결국, 삭제된 디렉토리 또는 파일을 복구할 수 있다.
사용자 인터페이스 모듈(User Interface Module)(700)은 복구된 파티션이 가상 볼륨으로 추가되어 일반 볼륨과 동일하게 조사자가 이용할 수 있는 기능을 제공한다.
이와 같이 본 발명의 실시예에 따른 파티션 복구 방법 및 장치는, 디스 크(110) 또는 증거 이미지(120)에서 미할당 영역을 분류하고, 미할당 영역만을 대상으로 실린더 단위의 첫 섹터만을 읽어 빠르게 파티션 정보를 검색하여 복구한다.
이하에서 좀더 구체적으로 예를 들어 실시예에 따른 파티션 복구 방법 및 장치를 설명한다.
도 3은 섹터맵 구성 모듈(400)이 디스크(110) 또는 증거 이미지(120) 전체의 섹터 맵을 구성하는 방법을 나타내는 순서도이다.
디스크 전체를 기준으로 볼륨의 각 섹터에 관한 정보를 나타내는 LBA 방식의 주소로 변환한다(S310). 예컨대 3개의 볼륨 C, D, E의 각 섹터들의 주소는 0부터 시작하는데, 디스크 전체를 기준으로 주소를 변환하기 위해 각 섹터들의 주소에 처음 MBR부터 C 볼륨까지의 거리를 더한다. 또한 처음 MBR부터 D 볼륨까지의 거리를 각 섹터들의 주소에 더한다. 이와 같이 LBA 방식으로 변환된 주소를 리스트하여 할당 영역과 미할당 영역으로 구분되는 섹터 맵을 구성한다(S320). 즉, 섹터 맵은 할당 영역과 미할당 영역으로 구분되며, 할당 영역과 미할당 영역은, 각 영역에 해당하는 섹터들의 LBA 방식의 주소로 리스트될 수 있다.
디스크(110)를 할당 영역과 미할당 영역으로 분류하는 방법은, 예컨대 조사하고자 하는 디스크(110)나 디스크(110)를 이미징한 증거 이미지(120)를 대상으로 DOS 파티션 테이블을 분석하여 정상적인(삭제되지 않은) 파티션 정보를 수집한 후, 해당 파티션의 파일 시스템을 파싱하여 정상 파일과 삭제된 파일의 정보를 수집하고, 이들을 할당 영역으로 분류한 후, 디스크(110)의 나머지를 미할당 영역으로 분류할 수 있다.
도 4를 참조하여 미할당 영역에 대해 구체적으로 설명하면, 미할당 영역은 크게 두 가지 형태로 나눌 수 있다. 하나는 미사용 영역(Unused Area)으로서, 디스크(110)에서 현재 존재하는 파티션 이외의 영역으로 볼륨과 볼륨 사이의 빈 공간이나, 또는 마지막 볼륨 뒤에 남아있는 공간을 의미한다. 다른 하나는 미할당 데이터 영역(Unallocated Data Area)으로서, 정상적인 볼륨 내에 데이터가 저장되어 있지 않은 영역(데이터가 할당되지 않은 영역)이다.
이와 같이 디스크(110) 또는 증거 이미지(120)를 할당 영역과 미할당 영역으로 분류하고, 각 영역을 LBA 방식의 주소로 리스트함으로써 디스크(110) 또는 증거 이미지(120) 전체의 섹터 맵을 구성할 수 있다.
또는 디스크(110) 또는 증거 이미지(120)를 할당 영역과 미할당 영역으로 분류하고, 삭제된 파티션을 복구하기 위한 검색 대상이 미할당 영역이므로, 미할당 영역만을 LBA 방식의 주소로 리스트할 수 있다. 이와 같이 섹터 맵은 각 영역의 섹터들이 LBA 방식의 주소들로 정리되며, 이하에서 미할당 영역의 섹터들이 LBA 방식의 주소들로 정리된 부분을 섹터 맵 테이블(Secter 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>와 같이 오프셋 쌍들로 이루어질 수 있다.
다음으로 도 5를 참조하여, 파티션 검색 모듈(500)이 미할당 영역을 실린더 단위로 검색하여 특정 섹터가 부트 레코드인지 분석하는 과정을 구체적으로 설명한다. 도 5는 미할당 영역을 실린더 단위로 검색하여 특정 섹터가 부트 레코드인지 분석하는 과정을 나타내는 순서도이다.
먼저 파티션 검색 모듈(500)은 섹터 맵 테이블에 리스트되어 있는 미할당 영역의 LBA 방식의 주소를 CHS(Cylinder Head Sector) 방식으로 변환한다(S510). 즉, 오프셋 쌍을 CHS(Cylinder Head Sector) 방식으로 변환한다. 다만, 끝 섹터의 오프셋과 시작 섹터의 오프셋의 차이(ESO-SSO)가 파티션이 생성될 수 있는 최소 크기보다 작은 경우에는 그 오프셋 쌍에 해당하는 섹터들에 대해서는 검색을 수행하지 않을 수 있다. 즉, 끝 섹터의 오프셋과 시작 섹터의 오프셋의 차이(ESO ― SSO)가 파티션이 생성될 수 있는 최소 크기와 같거나 큰지 여부를 판단하고(S505), 그 판단 결과 같거나 큰 경우에 한해 LBA 방식의 오프셋 쌍을 CHS 방식의 주소로 변환하는 과정 S510이 수행될 수 있다. 이로 인해 검색 시간을 더욱 줄일 수 있다.
여기서 LBA 방식과 CHS 방식에 대해 설명하면, CHS 방식은 섹터의 주소를 지정할 때 실린더(Cylinder), 헤드(Head), 섹터(Sector)를 지정하는 방식이고, LBA(Linear Block Addressing) 방식으로 하드디스크(110)를 512byte의 블록으로 나눈 다음 각각의 블록에 순차적으로 번호를 매겨서 주소를 할당하는 방법이다. 초기 하드디스크(110)들이 CHS 주소 방식으로 사용했으나 용량 제한 문제로 LBA 방식으 로 변경되어 지금은 LBA 방식으로 주소를 처리하고 있다. 따라서 섹터 맵 테이블은 LBA 방식으로 각 섹터의 주소가 정리되어 있다.
LBA 주소 방식으로 표현된 미할당 영역의 시작 섹터 SSO와 끝 섹터 ESO를 CHS 주소 방식으로 변환하는 방법을 설명한다.
LBA 주소와 CHS 주소 변경식은 아래와 같다.
A = (CA * HN * SN) + (HA * SN) + SA - 1
A는 LBA 주소 번호를 의미하고, HN은 디스크(110)의 헤드(Head) 개수를 의미하고, SN은 섹터(Secter)의 개수를 의미한다. CA, HA, SA는 CHS 주소인 실린더(Cylinder) 번호, 헤드(Head) 번호, 섹터(Secter) 번호를 의미한다. LBA 주소를 CHS 주소로 변환한 예시적인 결과가 표 1에 기재되어 있다.
[표 1]
LBA value CHS Tuple
0 0, 0, 1
1 0, 0, 2
2 0, 0, 3
62 0, 0, 63
63 0, 1, 1
64 0, 1, 2
125 0, 1, 63
126 0, 2, 1
188 0, 2, 63
189 0, 3, 1
16064 0, 254, 63
16065 1, 0, 1
16066 1, 0, 2
16127 1, 0, 63
16128 1, 1, 1
부트 레코드나 마스터 부트 레코드는 실린더의 첫 번째 오프셋 위치에 할당되므로, 실린더 단위의 첫번째 섹터가 부트 레코드인지 여부를 검색한다. 바이오스(bios)는 주소를 사용하기 위해서 총 24bit의 정보를 사용하는 경우, 실린더에 10bit, 헤드에 8bit, 섹터에 6bit가 할당될 수 있다. 바이오스에서 사용할 수 있는 CHS 수치는 아래의 표 2와 같을 수 있으며, 섹터는 1부터 시작하기 때문에 63개 주소만 사용이 가능하다. 바이오스에서는 실린더의 개수가 1024개이지만 본 발명에서 CA의 수치는 용량에 비례하여 증가하게 된다.
[표 2]
할당 비트 수 최대값 범위 사용할 수 있는 주소의 수치
실린더 10bit 210 = 1024 0 ~ 1023 1024
헤드 8bit 28 = 256 0 ~ 255 256
섹터 6bit 26 = 64 1 ~ 63 63
본 실시예에서는 HN = 255, SN = 63로 가정하고, 섹터 맵 테이블에서 오프셋쌍 <SS0, ESO>를 하나씩 입력 받아 CHS 주소로 아래와 같이 변환한다.
<SS0, ESO> → <(S_ CA, S_ HA, S_ SA) , (E_ CA, E_ HA, E_ SA)>
즉, 시작 섹터의 오프 셋 SSO은 (실린더 번호(S_CA), 헤드 번호(S_HA), 섹터 번호(S_ SA))로 변환되며, 끝 섹터의 오프 셋 ESO은 (실린더 번호(E_CA), 헤드 번호(E_HA), 섹터 번호(E_ EA))로 변환된다.
이와 같이 CHS 방식으로 변환된 주소를 기반으로, S_HA = 0, S_SA = 1로 고 정하고, 실린더 번호 S_CA를, 시작 섹터의 실린더 번호 S_ CA 부터 끝 섹터의 실린더 번호 E_ CA 까지 순차적으로 증가시키면서 실린더 단위의 첫 번째 오프셋에 해당하는 섹터가 부트 레코드인지 분석한다.
즉 분석할 섹터의 주소를 (F_C A , F_H A , F_SA )라 할 때, 최초의 분석은 F_C A =S_CA로 하고, F_H A = S_HA = 0, F_SA = S_ SA = 1로 하여 첫번째 실린더의 첫번째 섹터를 분석한다(S515).
즉, 최초의 분석은 (F_C A , F_H A , F_SA )의 초기값 (S_CA, 0 , 1)인 섹터에 엑세스하여(S520) 그 섹터가 부트 레코드인지 분석한다(S525).
해당 섹터가 부트 레코드가 아닌 경우, F_C A이 끝 섹터의 실린더 번호 E_C A인지 여부를 판단하여(S530), F_C A= E_C A이면 해당 오프셋 쌍의 끝까지 모두 분석이 끝난 것이므로 해당 오프셋 쌍에 대한 검색 및 분석을 종료하고, F_C A= E_C A이 아니면 F_C A을 1만큼 증가시켜 다음 실린더의 첫번째 섹터, 즉 다음 실린더의 첫번째 오프셋 위치에 할당되는 섹터를 분석한다(S535).
그리고 현재 조사된 실린더의 번호 F_C A과 최종 섹터의 실린더 번호 E_C A의 차가 파티션이 생성될 수 있는 최소 크기와 같거나 큰지 여부를 판단하여(S540), 같거나 큰 경우 (F_C A , F_H A , F_SA )의 섹터에 엑세스한다(S520). 그리고 해당 섹터가 부트 레코드인지 여부를 판단하여(S525), 부트 레코드인 경우, 도 6에 도시 된 파티션 복구 정보 및 도 7에 도시된 파티션 타입 정보를 저장한다(S545).
만약, 과정(S525)에서 부트 레코드로 인식한 경우에는 이를 이용하여 복구될 대상이라고 판단되는 파티션의 크기를 계산한다. 복수 대상 파티션의 크기가 계산되면, 이 크기를 다음 분석할 섹터를 결정하는데 이용함으로써 분석 시간을 추가로 절약할 수 있다. 예컨대 복구될 대상이라고 판단된 파티션의 크기가 (P_C A , P_H A , P_SA )라고 가정하면, 다음 분석할 섹터의 주소는 (F_ C A = F_ C A + P_ C A, F_H A = 0, F_S A = 1)이 된다. 즉, 계산된 파티션의 크기만큼 증가된 실린더에서 후속의 분석이 수행되도록 F_C A 을 F_C A + P_ C A으로 변화시킨다(S555).
그리고 현재 분석된 실린더의 번호 F_C A과 최종 섹터가 포함된 실린더의 번호 E_C A의 차가 파티션이 생성될 수 있는 최소 크기와 같거나 큰지 여부를 판단하여(S540), 같거나 큰 경우에는 전술한 방식으로 다음 분석 대상 섹터를 정하여 후속의 분석을 수행하고, 그렇지 않은 경우 더 이상의 분석 대상이 없는 것으로 판단하여 분석 과정을 종료한다.
HN = 255, SN = 63일 때 255 * 63 = 16,065이므로, 16,065 개의 섹터가 실린더 단위와 대응되며, 본 발명의 실시예에서는 실린더 단위(16,065 개의 섹터 단위)로 검색이 이루어 지므로, 모든 섹터를 순차적으로 검색하던 종래 기술보다 검색 시간을 줄일 수 있다.
또한, 실린더 단위로 이동하여 분석하기 전에 현재 분석된 실린더 번호 F_C A과 최종 섹터의 실린더 번호 E_C A의 차가 파티션이 생성될 수 있는 최소 크기와 같거나 큰지 여부를 판단(S540)함으로써 불필요한 검색을 하지 않게 되므로, 전체적인 검색 및 분석 시간이 단축될 수 있다.
또한, 인식된 부트 레코드를 이용하여 복구될 파티션의 크기를 계산하면,(S550), 그 크기만큼 디스크를 건너뛰어 분석을 수행하므로, 검색 및 분석 시간이 단축될 수 있다.
앞에서 기재된 파티션이 생성될 수 잇는 최소 크기의 설정은, 파일시스템이 최소 크기를 권장하고 있는데, 예컨대 NTFS의 경우 10Mbyte로 권장하고 있다. 사용 환경에 따라 적절하게 최소 크기를 설정하면 검색 시간의 효율성을 증가시킬 수 있다.
다음으로 도 8을 참조하여 파일시스템 생성 모듈(600)이 파티션을 복구하는 과정을 설명한다. 도 8은 파티션을 복구하는 과정을 나타내는 순서도이다.
먼저 파티션 복구 정보를 읽고(S710), 도 6의 과정(S525)을 통해 확인된 부트 레코드를 가상 볼륨의 부트 레코드로 인식하여(S720) 분석한다. 그리고 가상 볼륨의 구조를 생성하고(S730), 파일 시스템을 파싱하여(S740), 삭제된 파일 또는 디렉토리를 복구하고, 이를 사용자 인터페이스 모듈(700)을 통해 파일 또는 디렉토리의 트리구조를 생성(S750)하여 조사자에게 제공한다.
이상, 본 발명의 구성에 대하여 바람직한 실시예를 참조하여 상세히 설명하였으나, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명이 그 기술 적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 예를 들어 본 발명의 파티션 복구 방법을 실현하기 위한 프로그램이 기록된 기록매체의 형태 등 다양한 형태로 구현될 수 있다.
그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구의 범위에 의하여 나타내어지며, 특허청구의 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
도 1은 본 발명의 실시예에 따른 파티션 복구 장치를 설명하기 위한 블록도이다.
도 2는 본 발명의 실시예에 따른 파티션 복구 방법을 설명하기 위한 순서도이다.
도 3은 디스크 또는 증거 이미지 전체의 섹터 맵을 구성하는 방법을 나타내는 순서도이다.
도 4는 미할당 영역을 설명하기 위한 개념도이다.
도 5는 미할당 영역을 실린더 단위로 검색하여 특정 섹터가 부트 레코드인지 분석하는 과정을 나타내는 순서도이다.
도 6은 파티션 복구 정보의 예시도이다.
도 7은 파티션 타입 정보의 예시도이다.
도 8은 파티션을 복구하는 과정을 나타내는 순서도이다.

Claims (15)

  1. 디스크 또는 증거 이미지에서 미할당 영역을 분류하는 단계;
    상기 미할당 영역의 조사 대상 실린더의 첫번째 섹터가 부트 레코드인지 분석하는 단계; 및
    상기 분석결과 상기 섹터가 부트 레코드인 경우, 이를 이용하여 삭제된 파티션의 파일 시스템을 파싱하고 삭제된 디렉토리 또는 파일을 복구하는 단계
    를 포함하는 파티션 복구 방법.
  2. 제1항에 있어서, 상기 분석하는 단계는
    상기 미할당 영역의 섹터들에 대한 LBA(Linear Block Addressing) 방식의 주소를 CHS(Cylinder Head Sector) 방식으로 변환하는 단계; 및
    상기 CHS 방식의 주소를 이용하여 상기 미할당 영역을 실린더 단위로 분석하는 단계를 포함하는 것
    인 파티션 복구 방법.
  3. 제1항에 있어서, 분석된 상기 섹터가 부트 레코드가 아닌 경우,
    분석된 상기 섹터의 주소 중 실린더 번호를 순차적으로 증가시켜 후속하여 분석할 섹터를 결정하는 단계를 더 포함하는 파티션 복구 방법.
  4. 제1항에 있어서, 분석된 상기 섹터가 부트 레코드인 경우,
    복구될 파티션의 크기를 계산하는 단계와,
    분석된 상기 섹터 주소 중의 실린더 번호에 계산된 상기 파티션의 크기에 해당하는 실린더 수를 더하여 후속하여 분석할 섹터를 결정하는 단계를 더 포함하는 파티션 복구 방법.
  5. 제1항에 있어서,
    상기 분류하는 단계는 상기 미할당 영역 중 연속하는 섹터들을 나타내는 LBA 방식의 시작 섹터의 오프셋과 끝 섹터의 오프셋의 오프셋 쌍을 리스트하는 단계를 포함하고,
    상기 분석하는 단계는 상기 끝 섹터의 오프셋에 해당하는 CHS 방식의 실린더 번호와 상기 순차 증가된 실린더 번호의 차이가 파티션이 생성될 수 있는 최소 크기와 같거나 큰 경우에 수행되는 것
    인 파티션 복구 방법.
  6. 할당영역과 미할당 영역으로 구분되는 디스크 또는 증거 이미지의 섹터 맵을 구성하는 단계;
    상기 섹터 맵의 미할당 영역에서 검색할 섹터를 결정하는 단계;
    결정된 상기 섹터가 부트 레코드인지 여부를 판단하는 단계; 및
    상기 분석결과 상기 부트 레코드인 경우, 삭제된 파티션의 파일 시스템을 파 싱하여 삭제된 디렉토리 또는 파일을 복구하는 단계
    를 포함하는 파티션 복구 방법.
  7. 제6항에 있어서,
    상기 할당 영역은 상기 파일 시스템의 정보를 저장하는 메타데이터 영역과, 파일 또는 디렉토리의 데이터 정보를 저장하는 데이터 할당 영역을 포함하고,
    상기 미할당 영역은 상기 디스크 또는 증거 이미지에 존재하는 파티션 내에서 데이터가 할당되지 않은 영역 및 상기 존재하는 파티션 이외의 영역 중 적어도 하나를 포함하는 것
    인 파티션 복구 방법.
  8. 제6항에 있어서, 상기 섹터 맵을 구성하는 단계는,
    상기 미할당 영역 중 연속하는 섹터들을 나타내는 LBA 방식의 시작 섹터의오프셋과 끝 섹터의 오프셋의 오프셋 쌍을 리스트하는 단계를 포함하는 것
    인 파티션 복구 방법.
  9. 제8항에 있어서, 상기 결정하는 단계는
    상기 LBA 방식의 상기 시작 섹터의 오프셋 및 상기 끝 섹터의 오프셋을 CHS 방식의 주소로 변환하는 단계; 및
    상기 섹터의 헤드 번호 및 섹터 번호를 고정시키고, 상기 섹터의 실린더 번 호를, 상기 시작 섹터의 실린더 번호부터 상기 끝 섹터의 실린더 번호까지 소정 규칙에 따라 증가시키는 단계
    를 포함하는 것인 파티션 복구 방법.
  10. 제9항에 있어서, 상기 소정규칙은,
    분석된 섹터가 부트 레코드인 경우, 분석된 섹터의 실린더 번호에 복구될 파티션의 크기에 해당하는 실린더 번호를 증가시키고,
    분석된 섹터가 부트 레코드가 아닌 경우, 분석된 섹터의 실린더 번호를 1만큼 증가시키는 것
    인 파티션 복구 방법.
  11. 디스크 또는 증거 이미지에 엑세스하는 엑세스 모듈;
    상기 디스크 또는 증거 이미지의 파티션 테이블을 분석하고, 각 파티션의 파일 시스템을 파싱하는 파일 시스템 파싱 모듈;
    상기 파싱 결과를 이용하여 할당영역과 미할당 영역으로 구분되는 상기 디스크 또는 증거 이미지의 섹터 맵을 구성하는 섹터맵 구성 모듈;
    상기 섹터 맵의 미할당 영역에서 CHS 기반으로 부트 레코드가 위치하는 섹터를 검색하는 파티션 검색 모듈; 및
    상기 부트 레코드를 이용하여 파일 시스템을 파싱하여 삭제된 파일 또는 디렉토리를 복구하는 파일시스템 생성 모듈
    을 포함하는 파티션 복구 장치.
  12. 제11에 있어서, 상기 파티션 검색 모듈은
    상기 검색된 섹터의 실린더 번호를 순차적으로 증가시키고 후속의 검색을 수행함으로써 상기 미할당 영역을 실린더 단위로 분석하는 것
    인 파티션 복구 장치.
  13. 제11항에 있어서, 상기 파티션 검색 모듈은
    검색된 상기 섹터가 부트 레코드인 경우, 복구될 파티션의 크기를 계산하고,검색된 상기 섹터의 실린더 번호에 상기 계산된 파티션의 크기에 해당하는 실린더 번호를 증가시킨 후, 이를 후속의 검색 대상 섹터의 주소로 설정하는 것
    인 파티션 복구 장치.
  14. 제11항에 있어서,
    분석 결과를 사용자에게 제공하는 사용자 인터페이스 모듈을 더 포함하는 파티션 복구 장치.
  15. 제11항에 있어서,
    상기 섹터맵 구성 모듈은 상기 미할당 영역 중 연속하는 섹터들을 나타내는 LBA 방식의 시작 섹터의 오프셋과 끝 섹터의 오프셋의 오프셋 쌍을 리스트하고,
    상기 파티션 검색 모듈은 상기 끝 섹터의 오프셋과 상기 시작 섹터의 오프셋의 차이가 파티션이 생성될 수 있는 최소크기와 같거나 큰 경우에 상기 검색을 수행하는 것
    인 파티션 복구 장치.
KR1020090078742A 2009-08-25 2009-08-25 파티션 복구 방법 및 장치 KR101078289B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020090078742A KR101078289B1 (ko) 2009-08-25 2009-08-25 파티션 복구 방법 및 장치
US12/626,783 US9164845B2 (en) 2009-08-25 2009-11-27 Partition recovery method and apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090078742A KR101078289B1 (ko) 2009-08-25 2009-08-25 파티션 복구 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20110021125A true KR20110021125A (ko) 2011-03-04
KR101078289B1 KR101078289B1 (ko) 2011-10-31

Family

ID=43626335

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090078742A KR101078289B1 (ko) 2009-08-25 2009-08-25 파티션 복구 방법 및 장치

Country Status (2)

Country Link
US (1) US9164845B2 (ko)
KR (1) KR101078289B1 (ko)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101374239B1 (ko) * 2012-06-22 2014-03-13 대한민국(관리부서 대검찰청) 문서파일의 포렌식 분석 방법 및 시스템
KR101403305B1 (ko) * 2012-08-23 2014-06-05 한국전자통신연구원 백업부트레코드 정보를 이용한 파티션 복구 장치 및 방법
US9465694B2 (en) 2014-09-16 2016-10-11 Electronics And Telecommunications Research Institute Method and apparatus for recovering partition based on file system metadata
KR101864790B1 (ko) * 2016-11-30 2018-06-07 충북대학교 산학협력단 디지털 포렌식을 위한 드라이브 접근시스템 및 방법
KR20200124598A (ko) 2019-04-24 2020-11-03 윤종오 카르복실산으로 유기화된 규소 이온 복합체 및 복합체의 제조방법과 이를 이용한 제품
KR20230139661A (ko) * 2022-03-28 2023-10-05 부산가톨릭대학교 산학협력단 FbinstTool에 의해 생성된 은닉 영역과 은닉 파일의 탐지 및 추출 장치 및 그 방법

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9372755B1 (en) * 2011-10-05 2016-06-21 Bitmicro Networks, Inc. Adaptive power cycle sequences for data recovery
CN104408377A (zh) * 2014-10-29 2015-03-11 北京锐安科技有限公司 一种取证数据隐蔽存储的方法和装置
KR101688631B1 (ko) * 2015-07-21 2016-12-21 한국전자통신연구원 스마트 기기 내부의 플래시메모리의 무결성을 보장하기 위한 포렌식 데이터 획득 장치 및 방법
KR101688629B1 (ko) 2015-11-17 2016-12-21 한국전자통신연구원 메타데이터 및 데이터 클러스터를 이용하는 파일 시스템 복구 방법 및 장치
CN107545022B (zh) * 2017-05-11 2020-05-12 新华三云计算技术有限公司 磁盘管理方法及装置
CN112052118B (zh) * 2020-08-20 2022-08-23 厦门市美亚柏科信息股份有限公司 一种GlobalFs删除文件恢复方法和系统

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5210875A (en) * 1989-08-25 1993-05-11 International Business Machines Corporation Initial bios load for a personal computer system
EP1025534B1 (en) * 1997-08-20 2011-03-16 Powerquest Corporation Computer partition manipulation during imaging
US6173291B1 (en) * 1997-09-26 2001-01-09 Powerquest Corporation Method and apparatus for recovering data from damaged or corrupted file storage media
US6170055B1 (en) * 1997-11-03 2001-01-02 Iomega Corporation System for computer recovery using removable high capacity media
KR100308873B1 (ko) * 1999-11-17 2001-11-07 이채홍 손상된 데이터를 갖는 손상된 디렉토리 정보로부터 데이터복원 방법 및 이를 저장한 컴퓨터가 판독 가능한 기록 매체
KR20020037610A (ko) 2000-11-15 2002-05-22 조영수 하드디스크 백업 및 복구방법
KR20020097344A (ko) 2001-06-20 2002-12-31 주식회사 마이크로모스 컴퓨터 하드디스크 내 자료 복구 방법
CN1205555C (zh) * 2001-11-12 2005-06-08 联想(北京)有限公司 硬盘数据备份与恢复方法
JP2004164342A (ja) 2002-11-13 2004-06-10 Sony Corp 情報記憶装置及び方法、並びにプログラム
TW591395B (en) 2003-02-27 2004-06-11 Acer Inc Recovery method of multi-functional operating system and system thereof
KR20040082232A (ko) 2003-03-18 2004-09-24 심성철 클러스터 직접 접근 방식을 이용한 하드디스크 백업 및복구 방법과 그 방법이 저장되어 있는 저장매체
KR100550288B1 (ko) 2003-12-02 2006-02-08 주식회사 하우리 Ext2파일 시스템의 데이터 복구방법과 그 프로그램을기록한 기록매체
KR100572328B1 (ko) 2004-07-16 2006-04-18 삼성전자주식회사 배드 블록 관리부를 포함하는 플래시 메모리 시스템
US7640323B2 (en) * 2005-12-06 2009-12-29 David Sun Forensics tool for examination and recovery of computer data
KR100746032B1 (ko) * 2006-01-04 2007-08-06 삼성전자주식회사 마스터 부트 레코드를 관리하는 저장 매체 및 상기 저장매체를 이용한 컴퓨터 시스템의 부팅 방법
KR100843543B1 (ko) 2006-10-25 2008-07-04 삼성전자주식회사 플래시 메모리 장치를 포함하는 시스템 및 그것의 데이터복구 방법

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101374239B1 (ko) * 2012-06-22 2014-03-13 대한민국(관리부서 대검찰청) 문서파일의 포렌식 분석 방법 및 시스템
KR101403305B1 (ko) * 2012-08-23 2014-06-05 한국전자통신연구원 백업부트레코드 정보를 이용한 파티션 복구 장치 및 방법
US9286165B2 (en) 2012-08-23 2016-03-15 Electronics And Telecommunications Research Institute Apparatus and method for recovering partition using backup boot record information
US9465694B2 (en) 2014-09-16 2016-10-11 Electronics And Telecommunications Research Institute Method and apparatus for recovering partition based on file system metadata
KR101864790B1 (ko) * 2016-11-30 2018-06-07 충북대학교 산학협력단 디지털 포렌식을 위한 드라이브 접근시스템 및 방법
KR20200124598A (ko) 2019-04-24 2020-11-03 윤종오 카르복실산으로 유기화된 규소 이온 복합체 및 복합체의 제조방법과 이를 이용한 제품
KR20230139661A (ko) * 2022-03-28 2023-10-05 부산가톨릭대학교 산학협력단 FbinstTool에 의해 생성된 은닉 영역과 은닉 파일의 탐지 및 추출 장치 및 그 방법

Also Published As

Publication number Publication date
KR101078289B1 (ko) 2011-10-31
US20110055163A1 (en) 2011-03-03
US9164845B2 (en) 2015-10-20

Similar Documents

Publication Publication Date Title
KR101078289B1 (ko) 파티션 복구 방법 및 장치
KR101403305B1 (ko) 백업부트레코드 정보를 이용한 파티션 복구 장치 및 방법
CN102779180B (zh) 数据存储系统的操作处理方法,数据存储系统
US20080195801A1 (en) Method for operating buffer cache of storage device including flash memory
CN107481762B (zh) 一种固态硬盘的trim处理方法及装置
US9195666B2 (en) Location independent files
US9141631B2 (en) Table boundary detection in data blocks for compression
US20100146213A1 (en) Data Cache Processing Method, System And Data Cache Apparatus
EP3848808A1 (en) Method and system for recovering deleted file based on fat32 file system
US9465694B2 (en) Method and apparatus for recovering partition based on file system metadata
US8225060B2 (en) Data de-duplication by predicting the locations of sub-blocks within the repository
KR101744892B1 (ko) 시계열 계층 인덱싱을 이용한 데이터 검색 시스템 및 데이터 검색 방법
CN104424219A (zh) 一种数据文件的管理方法及装置
CN112262379A (zh) 存储数据项并且标识存储的数据项
CN113094374A (zh) 分布式存储和检索方法、装置及计算机设备
JPWO2007026484A1 (ja) 情報処理システム、情報処理方法、実行バイナリイメージ作成装置、実行バイナリイメージ作成方法、実行バイナリイメージ作成プログラム、実行バイナリイメージ作成プログラムを記録したコンピュータ読み取り可能な記録媒体、実行バイナリイメージ実行装置、実行バイナリイメージ実行方法、実行バイナリイメージ実行プログラム及び実行バイナリイメージ実行プログラムを記録したコンピュータ読み取り可能な記録媒体
JPWO2007026484A6 (ja) 実行バイナリイメージの作成及び実行を行う装置、方法、プログラム、該プログラムを記録したコンピュータ読み取り可能な記録媒体
KR100882864B1 (ko) 디지털 포렌식 시스템을 위한 대용량 데이터 고속 검색시스템 및 방법
US10585592B2 (en) Disk area isolation method and device
US10884873B2 (en) Method and apparatus for recovery of file system using metadata and data cluster
US8151053B2 (en) Hierarchical storage control apparatus, hierarchical storage control system, hierarchical storage control method, and program for controlling storage apparatus having hierarchical structure
KR101642072B1 (ko) 하이브리드스토리지장치 및 방법
CN104572643A (zh) 搜索方法和搜索引擎
CN111752913B (zh) 分布式系统的数据恢复方法、介质、计算机设备、装置
CN106991021A (zh) 从现有数据文件构建新数据文件的方法及系统

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: 20140916

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20161004

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20170918

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20181002

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20190925

Year of fee payment: 9