Disk Forensic

Volume Analysis

liqu3ur 2025. 2. 22. 22:36
반응형

Volume Analysis 

볼륨 분석은 저장 장치에서 바이트를 파티션하고, 조립하는 데 관련된 데이터 구조를 살펴보는 것이다. 이를 통해 볼륨을 생성하게 된다. 볼륨은 파일 시스템 및 기타 구조화된 데이터를 저장하는 데 사용되며, 이런 내용은 File System Analysis에서 다루도록 하겠다.

 

여기서는 볼륨 분석의 기본 개념을 추상적인 방식으로 접근하며, 모든 유형의 볼륨 시스템에 적용되는 원칙을 설명할 것이며, 특정 유형의 파티션 및 조립 시스템에 초점을 맞출 것이다. 

 

Introduction

디지털 저장매체는 데이터를 효율적으로 검색할 수 있도록 구성된다. 볼륨 시스템은 일반적으로 Microsoft Windows를 설치하면서 하드디스크에 파티션을 생성하는 과정에서 접할 수 있다. 설치 과정에서 사용자가 primary 및 logical 파티션을 생성하도록 안내하며, 최종적으로 컴퓨터에는 데이터를 저장할 수 있는 드라이브 또는 볼륨 목록이 형성된다. 

 

디지털 수사 과정에서는 일반적으로 디스크 전체 이미지를 획득하여 분석 도구에 불러온다. 많은 디지털 수사 도구는 디스크 이미지를 자동으로 파티션별로 나누지만, 경우에 따라서 아래와 같은 문제가 발생할 수 있다.

  • 용의자가 디스크의 파티션을 삭제하거나 수정한 경우
  • 도구가 파티션을 찾지 못하는 경우
  • 할당되지 않은 섹터를 분석해야 하는 경우

볼륨 분석은 위와 같은 문제를 해결하는 데 유용할 수 있다.

 

Background

Volume Concepts

볼륨 시스템에는 두 가지 핵심적인 개념이 있다. 

  1. 여러 개의 저장 볼륨을 하나의 저장 볼륨으로 조립하는 것
  2. 저장 볼륨을 독립적인 파티션으로 나누는 것

파티션과 볼륨이라는 용어는 자주 함께 사용되며, 이 둘을 구별할 필요가 있다.

볼륨이란 운영체제나 애플리케이션이 데이터 저장을 위해 사용할 수 있는 주소 지정이 가능한 섹터의 집합을 의미한다. 볼륨 내의 섹터들은 반드시 물리적 저장 장치에서 연속적일 필요가 없으며, 연속적인 것처럼 보이기만 하면 된다. 볼륨은 여개 개의 작은 볼륨을 조립하고, 병합하여 형성될 수도 있다.

 

General Theory of Partitions

볼륨 시스템의 개념 중 하나는 파티션을 만드는 것이다. 파티션이란 볼륨 내에서 연속적인 섹터들의 집합을 의미한다. 

정의에 따르면, 파티션 또한 하나의 볼륨이므로 두 용어가 자주 혼동될 수 있으며, 파티션이 위치한 볼륨을 Parent Volume이라고 부르기도 한다.

파티션은 아래와 같이 다양한 상황에서 사용된다.

  • 일부 파일 시스템은 하드디스크보다 작은 최대 크기 제한을 가지고 있어 파티션이 필요하다.
  • 많은 노트북은 시스템을 절전 모드로 전환할 때 메모리 내용을 저장하는 특별한 파티션을 사용한다.
  • Unix System에서는 파일 시스템 손상의 영향을 최소화하기 위해 서로 다른 디렉토리에 대해 별도의 파티션을 사용한다.
  • IA32 기반 시스템에서 Microsoft Windows와 Linux 같은 다중 운영체제를 사용하는 경우, 각 운영체제에 별도의 파티션이 필요할 수 있다.

Microsoft Windows가 설치된 시스템에서 하드디스크 하나를 세 개의 작은 볼륨으로 파티션하는 경우를 생각해보면, 아래 이미지와 같이 각 파티션에는 파일 시스템이 존재하며, Windows는 각각의 볼륨에 C, D, E 드라이브 문자를 할당한다.

 

각 운영체제와 하드웨어 플랫폼은 일반적으로 다른 파티션 방법을 사용한다. 자세한 내용은 PC-based Partition과 Server-based Partition에서 다룰 예정이고, 여기서는 기본적인 구성 요소를 살펴볼 것이다. 일반적인 파티션 시스템은 하나 이상의 테이블을 가지고 있으며, 각 테이블 항목은 하나의 파티션을 설명한다. 테이블 항목에는 아래와 같은 데이터를 포함한다.

  • 파티션의 시작 섹터
  • 파티션의 종료 섹터
  • 파티션의 유형

아래 이미지는 세 개의 파티션을 가진 테이블의 예시이다.

파티션 테이블과 파티션 시스템

 

파티션 시스템의 목적은 볼륨의 레이아웃을 구성하는 것이다. 따라서 각 파티션의 시작 위치와 종료 위치가 필수적인 데이터이며, 이러한 값이 손상되거나 존재하지 않으면 파티션 시스템은 본래의 목적을 수행할 수 없다.

이 외의 유형 및 설명과 같은 필드는 필수적인 정보는 아니며, 잘못된 값이 포함될 수도 있다.

대부분의 경우, 파티션의 첫 번째 섹터와 마지막 섹터에는 해당 섹터가 경계임을 나타내는 정보가 포함되지 않는다.

  • 만약 파티션 시스템의 구조가 손실되었다면, 파티션 내부에 저장된 데이터를 분석하여 경계를 추정할 수 있다. 

파티션 시스템은 운영체제에 따라 결정되며, 하드디스크의 유형과는 무관하다.

 

General Theory of Volume Assembly

대형 시스템에서는 여러 개의 디스크를 하나의 볼륨처럼 보이도록 만드는 기술(볼륨 결합)을 사용한다.

볼륨 결합의 주요 목적은 아래와 같다.

  1. 디스크 장애 대비(백업&중복성 제공)
    - 데이터를 여러 개의 디스크에 동시에 저장하면, 한 개의 디스크가 손상되더라도 다른 디스크에 백업이 남아있어 복구할 수 있다.
  2. 저장 공간 확장 용이
    - Volume Spanning 기술을 사용하면, 여러 개의 볼륨을 하나로 결합하여 대용량 볼륨을 생성할 수 있다.
    - 새로운 디스크를 추가해도 기존 데이터에 영향을 주지 않는다.

아래 이미지에서는 두 개의 하드디스크 볼륨과 총 세 개의 파티션이 결합되는 것을 보여준다.

두 개의 볼륨을 하나의 볼륨으로 병합하고, 분할하는 볼륨 시스템

  • Partition #1 → C: Volume으로 할당된다.
  • Partition #2, #3 → 하드웨어 장치가 처리하여 하나의 큰 볼륨으로 출력한 후, 결합된 큰 볼륨은 다시 두 개의 파티션으로 나뉘고, 각 파티션은 개별 볼륨 이름을 가진다.

※ 이 경우, 하드웨어 장치는 단순히 큰 볼륨을 제공할 뿐, 데이터의 신뢰성을 향상시키지는 않는다.

 

Sector Addressing

섹터 주소를 지정하는 방법에는 CHS(Cylinder Head Sector), LBA(Logical Block Addressing) 방식이 있고, 일반적으로 LBA 주소를 사용한다.

  • LBA 주소는 디스크의 첫 번째 섹터부터 0번으로 시작하는 숫자로, 각 섹터의 물리적 주소를 의미한다.

볼륨 내에서의 주소 지정

볼륨은 여러 섹터들의 모음이므로, 개별 섹터에 대한 주소를 부여해야 한다. 이때 사용하는 개념이 Logical Volume Address다.

  • 논리적 볼륨 주소는 해당 볼륨의 시작점을 기준으로 섹터를 나타내는 주소이다.
  • 디스크 자체도 하나의 볼륨이므로, 디스크 볼륨의 논리적 주소는 물리적 주소와 동일하다.
  • 일반적으로 파티션의 시작 및 종료 위치는 논리적 볼륨 주소를 사용하여 기술된다. 

파티션 내에서의 주소 지정

파티션 내부의 데이터를 다룰 때는 또 다른 논리적 볼륨 주소 체계가 필요하다.

  • 이 주소들은 해당 파티션의 시작점을 기준으로 한 논리적 파티션 볼륨 주소이다.
  • 따라서, 이 주소들은 디스크의 물리적 주소나 논리적 디스크 볼륨 주소와 다를 수 있다.
  • 구분을 위해 디스크 볼륨 주소 또는 파티션 볼륨 주소하는 용어를 사용한다.

아래 이미지는 두 개의 파티션과 그 사이의 미할당 공간을 보여준다.

두 개의 파티션과 미할당 공간의 관계

  • 첫 번째 파티션은 물리적 섹터 0번에서 시작한다. 따라서 논리적 디스크 볼륨 주소와 논리적 파티션 볼륨 주소가 동일하다.
  • 두 번째 파티션은 물리적 섹터 864번에서 시작한다. 이 파티션 내부의 섹터들은 논리적 디스크 볼륨 주소보다 864 섹터 더 큰 주소를 갖게 된다.

※ 만약 어떤 섹터가 파티션에 할당되어 있지 않았다면, 해당 섹터는 논리적 파티션 볼륨 주소를 가지지 않는다.

 

Analysis Basic

대부분의 디지털 포렌식 조사관은 전체 하드디스크를 획득한 후, 이미지를 분석 소프트웨어에 불러와 파일 시스템의 내용을 확인할 것이다. 파일 시스템이 어디에서 시작되고, 끝나는지 확인해야 하기 때문에 파티션 테이블 분석이 필요하다. 

볼륨의 파티션 레이아웃을 분석하는 것도 중요하다. 모든 섹터가 반드시 특정 파티션에 할당되는 것이 아니기 때문이다. 이러한 할당되지 않는 섹터에는 이전 파일 시스템의 데이터가 남아있거나, 용의자가 숨기려 한 데이터가 포함될 수도 있다. 일부는 파티션 시스템이 손상되거나, 삭제되어 자동화된 도구가 제대로 작동하지 않을 수도 있기 때문에 볼륨 분석은 중요한 것이다.

 

Analysis Techniques

볼륨 분석의 기본 이론은 간단하다. 먼저, 파티션 시스템을 분석할 때는 파티션 테이블을 찾아서 처리하고, 이를 통해 전체 구조를 파악해야 한다. 이 구조에서  파티션의 위치(오프셋)를 파일 시스템 분석 도구로 전달하거나, 사용자가 직접보고, 어떤 데이터를 분석할 지 결정할 수 있다. 

때때로 파티션 내부나 파티션 사이의 공간에 있는 데이터를 부모 볼륨에서 추출해야 하는 경우도 있다. 파티션 내부의 데이터를 분석하려면 데이터 유형을 먼저 고려해야 하고, 일반적으로 파일 시스템을 의미한다.

볼륨 시스템을 구성하는 요소를 분석하려면, 어떤 볼륨들이 어떻게 합쳐졌는지 설명하는 데이터 구조를 찾아서 처리해야 한다. 병합되지 않은 데이터에서 이전 시스템의 데이터나 숨겨진 데이터가 남아 있을 수 있기 때문에 찾아볼 가치가 크다.

 

Consistency Checks

볼륨 시스템을 분석할 때, 각 파티션을 서로 비교해보는 것이 유용할 수 있다. 이 과정은 Sanity Check의 역할을 하며, 각 파티션 외에도 증거가 존재할 수 있는 위치를 찾는 데 도움을 준다. 대부분의 파티션 시스템은 파티션 목록이 정렬되어 있지 않으므로, 분석을 진행하기 전에 시작 위치와 종료 위치를 기준으로 정렬하는 것이 좋다. 

첫 번째 검사에서는 마지막 파티션의 종료 위치와 부모 볼륨의 종료 위치를 비교한다. 이론적으로 마지막 파티션이 볼륨의 마지막 섹터에서 끝나야 정상이다. 하지만, 아래 이미지의 왼쪽(a)과 같이 마지막 파티션이 볼륨 끝까지 차지하지 않는다면, 남은 섹터에 삭제된 데이터나 숨겨진 데이터가 포함될 가능성이 있다. 

위 세 개 - 유효한 파티션 구성 방법, 아래 두 개 - 유효하지 않은 파티션 구성 방법

 

아래와 같이 일관성 검사는 유형은 연속된 파티션 들의 시작 섹터와 종료 섹터를 비교하는 것이며, 총 네 가지 시나리오가 있다. 

  1. 첫 번째 시나리오 (b)
    - 유효한(정상적인) 구조이다.
    - 두 개의 파티션 사이에 파티션에 속하지 않은 섹터들이 존재한다.
    - 그러나, 이 공간이 데이터를 숨기는 용도로 사용되었을 가능성이 있으므로 반드시 분석해야 한다.
  2. 두 번째 시나리오 (c)
    - 대부분의 시스템이 사용하는 정상적인 구조이다.
    - 첫 번째 파티션이 끝난 다음 섹터부터 두 번째 파티션이 시작된다.
  3. 세 번째 시나리오 (d)
    - 일반적으로 유효하지 않은(비정상적인) 구조이다.
    - 두 번째 파티션이 첫 번째 파티션이 끝나기 전에 시작하는 형태로, 두 파티션이 겹쳐(overlap)있다.
    - 이런 경우, 파티션 테이블이 손상되었을 가능성이 크다.
    - 어떤 파티션이 올바른지 확인하려면 각 파티션 내부의 데이터를 직접 분석해야 한다.
  4. 네 번째 시나리오 (e)
    - 역시 일반적으로 비정상적인 구조이다.
    - 두 번째 파티션이 첫 번째 파티션 내부에 포함되어 있는 상태이다.
    - 이 경우에도 각 파티션 내부 데이터를 분석하여 오류의 원인을 찾아야 한다.

Extracting the Partition Contents

일부 분석 도구는 파티션 이미지를 요구하거나, 직접 파티션 내부 또는 파티션 사이의 데이터를 추출해야 할 수도 있다. 여기서는 데이터를 추출하는 방법을 설명할 것이며, 모든 파티션 시스템에 적용 가능하다.

 

dd 도구를 이용한 데이터 추출

데이터를 추출하는 과정은 하드디스크의 레이아웃을 알고 있는 경우 매우 간단하다. 이를 명령줄 기반 dd 도구를 이용해 수행할 것이며, 도구에 대한 내용은 Hard Disk Data Acquisition를 참고하기 바란다.

파티션 데이터를 추출하기 위해 아래와 같은 인자들을 사용한다.

  • if : 입력 파일 (읽어올 디스크 이미지)
  • of : 출력 파일 (저장할 파일)
  • bs : 블록 크기 (기본값 : 512 byte)
  • skip : 건너뛸 블록 개수 (각 블록 크기는 bs와 동일)
  • count : 복사할 블록 개수 (각 블록 크기는 bs와 동일)

※ 일반적으로 512 byte 블록 크기를 사용하며, 하드디스크의 기본 섹터 크기와 일치하기 때문이다. dd의 기본값도 512 byte이지만, 명시적으로 지정하는 것이 바람직하다.

※ skip 옵션을 사용하면 파티션이 시작하는 섹터 위치를 지정할 수 있고, count 옵션을 통해 해당 파티션에서 몇 개의 섹터를 복사할지 결정할 수 있다. 

 

DOS 기반 파티션 시스템 데이터 추출하기

우선, DOS 기반 파티션이 포함된 디스크 이미지 파일을 생성해보도록 하겠다.

WSL에서 진행하도록 하겠다. 

필요한 도구는 아래와 같다. 

  • dd (디스크 생성 및 데이터 추출)
  • fdisk (파티션 생성)
  • mmls (파티션 정보 확인)

설치하는 명령어는 아래와 같다. 

sudo apt update
sudo apt install sleuthkit fdisk

 

다음으로, 600MB 크기의 가상 디스크 이미지를 생성한다. 

dd if=/dev/zero of=disk1.dd bs=1M count=600

 

이제 fdisk로 DOS 파티션 테이블을 만든다.

fdisk disk1.dd

 

※ fdisk에서 아래 입력들을 순서대로 입력한다. 

  1. DOS 파티션 테이블 생성
    - o : 새로운 DOS 파티션 테이블 생성
  2. FAT32 파티션 생성 (50MB)
    - n : 새 파티션 추가
    - p : 기본(primary) 파티션 선택
    - 1 : 첫 번째 파티션
    - 2048: 시작 섹터 설정
    - +50M : 크기를 50MB로 설정
    - t : 파티션 유형 변경
    - b : W95 FAT32 (0x0B) 선택
  3. OpenBSD 파티션 생성 (80MB)
    - n : 새 파티션 추가
    - p : 기본(primary) 파티션 선택
    - 2 : 두 번째 파티션
    - 114448 : 시작 섹터 설정
    - +80M : 크기 80MB로 설정
    - t : 파티션 유형 변경
    - 2 : 두 번째 파티션 선택
    - a6 : OpenBSD (0xA6)선택
  4. NTFS 파티션 생성 (100MB)
    - n : 새 파티션 추가
    - p : 기본(primary) 파티션 선택
    - 3 : 세 번째 파티션
    - 278528 : 시작 섹터 설정
    - +100M : 크기 100MB로 설정
    - t : 파티션 유형 변경
    - 3 : 세 번째 파티션 선택
    - 7 : NTFS (0x07) 선택
  5. 변경 사항 저장
    - w : 저장하고 종료

 

The Sleuth Kit의 nmls 도구를 이용하여 디스크의 파티션 테이블 내용을 확인할 수 있다. 

# mmls –t dos disk1.dd

※ mmls의 출력 결과는 512 바이트 단위의 섹터 기준으로 표시된다.

 

[ 출력 결과 ]

DOS Partition Table
Offset Sector: 0
Units are in 512-byte sectors

      Slot      Start        End          Length       Description
000:  Meta      0000000000   0000000000   0000000001   Primary Table (#0)
001:  -------   0000000000   0000002047   0000002048   Unallocated
002:  000:000   0000002048   0000104447   0000102400   Win95 FAT32 (0x0b)
003:  -------   0000104448   0000114447   0000010000   Unallocated
004:  000:001   0000114448   0000278527   0000164080   OpenBSD (0xa6)
005:  000:002   0000278528   0000483327   0000204800   NTFS / exFAT (0x07)
006:  -------   0000483328   0001228799   0000745472   Unallocated

 

[ 출력 결과 해석 ]

000번 슬롯 : 디스크의 파티션 테이블 정보가 저장된 메타데이터

001번 슬롯 : 파티션 테이블과 첫 번째 파티션 사이의 미사용 공간

002번 슬롯 : FAT32 파일 시스템을 사용하는 첫 번째 파티션

003번 슬롯 : 미할당된 공간

004번 슬롯 : OpenBSD 운영체제용 두 번째 파티션

005번 슬롯 : NTFS 파일 시스템을 사용하는 세 번째 파티션

006번 슬롯 : 미할당된 공간

※ 001번, 003번, 006번 슬롯은 파티션에 할당되지 않은 공간으로, 숨겨진 데이터(Hidden Data)나 삭제된 데이터가 있을 가능성이 존재한다.

이 데이터를 시각적으로 표현한 그림은 아래와 같다.

디스크 이미지 레이아웃

 

이제, 각 파티션의 시작 섹터와 크기를 이용해 dd 명령어로 디스크 이미지에서 파일 시스템 파티션을 추출해보도록 하겠다. 아래 명령어는 각 파티션을 추출하는 명령어다.

# dd if=disk1.dd of=part1.dd bs=512 skip=2048 count=102400
# dd if=disk1.dd of=part2.dd bs=512 skip=114448 count=164080
# dd if=disk1.dd of=part3.dd bs=512 skip=278528 count=204800
  • if=disk1.dd : 입력 파일
  • of=partx.dd : 출력 파일 (각 파티션 이미지를 저장)
  • bs=512 : 블록 크기 (일반적인)
  • skip=xx : 읽기 시작 전 건너뛸 블록 수 (xx섹터 건너뛰기)
  • count=xx : 복사할 블록 수 (xx개 섹터)

첫 번째 파티션을 추출할 때 skip=2048을 사용하는데, mmls 출력에서 시작 섹터가 2048이라고 나왔기 때문에 2048개의 블록을 건너뛰고 시작하는 것이다. 0부터 주소 체계가 시작되기 때문에 2048번째 섹터가 첫 데이터 블록이 되는 것이다.

파일 이름의 .dd확장자는 dd 같은 도구로 생성된 raw 이미지임을 나타낸다.

 

일부 도구에서는 파티션의 시작 섹터와 종료 섹터만 보여주는 경우가 있으며, 이런 경우 파티션 크기를 직접 구해야 한다.

공식은 아래와 같다.

종료 섹터 번호 - 시작 섹터 번호 + 1

※  두 숫자 사이의 차이를 구할 때, 종료 섹터도 포함해야 하기 때문에 +1을 해야 한다.

 

동일한 방식으로 dd를 사용해서 파티션 사이의 미할당 영역을 추출할 수도 있다.

dd 외에도 HxD와 같은 저수준 도구들도 연속된 섹터를 파일로 저장하는 기능을 제공한다.

 

Recovering Deleted Partitions

디지털 포렌식 수사를 방해하는 일반적인 기법 중 하나가 디스크의 파티션 구조를 재설정하거나 삭제하는 것이다. 그렇기에 파티션 구조가 손상된 시스템을 복구해야 하는 경우가 존재한다. 이런 상황에서 분석은 어렵지만, 여러 복구 도구들을 사용하면 보다 쉽게 복구 가능하다.

 

파티션 복구 도구들은 각 파티션에 파일 시스템이 존재한다고 가정하고 복구를 시작한다. 일반적으로 대부분의 파일 시스템은 고정된 magic number 또는 signature value로 시작하는 특정한 구조체가 있다. 복구 도구는 이 구조체 값을 검색해 파티션의 시작 위치를 식별한다. 구조체 값을 찾은 뒤에도, 해당 데이터 구조가 유효한지 추가 검증을 진행할 수 있다. 

 

복구 도구들은 각기 다른 검색 방식을 사용하며, 아래와 같은 방식이 있다.

  1. 모든 섹터를 검사해 알려진 signature와 비교하는 방식
  2. 실린더 경계만 검사하는 방식
    - 많은 파티션이 실린더 경계에서 생성되기 때문에 사용되는 방법이다.
  3. 파일 시스템 구조에서 파일 시스템 크기를 확인하고, 끝 부분으로 바로 점프해 추가 구조체를 검색하는 방식

gpart는 리눅스에서 사용 가능한 파티션 복구 도구 중 하나이다. 이 도구는 각 섹터를 검사해 다양한 파일 시스템의 구조체를 확인하고, 가장 가능성 높은 파일 시스템 유형을 식별한다.

 

아래 명령어를 입력해 gpart를 설치한다.

sudo apt update
sudo apt install gpart

 

disk2.dd 생성하는 명령어는 아래와 같으며, 앞서 위에서 설명 했으므로, 귀찮기도 하고 해서 명령어만 올리겠다.

dd if=/dev/zero of=disk2.dd bs=1M count=2048 # 2GB의 빈 디스크 이미지 생성
losetup -fP disk2.dd # 루프백 디바이스 설정
losetup -a # 연결된 디바이스 확인 (예: /dev/loop0)
fdisk /dev/loop0 # fdisk로 파티션 설정
mkfs.vfat -F 16 /dev/loop0p1 # 첫 번째 FAT16 파티션
mkfs.vfat -F 16 /dev/loop0p2 # 두 번째 FAT16 파티션
mmls disk2.dd # sleuthkit 도구로 디스크 파티션 확인
losetup -d /dev/loop0 # 루프백 디바이스 해제

 

이후, gpart를 실행한다. 

gpart -v disk2.dd

 

[ 출력 결과 ]

Begin scan...
Possible partition(DOS FAT), size(799mb), offset(1mb)
   type: 006(0x06)(Primary 'big' DOS (> 32MB))
   size: 799mb #s(1638378) s(2048-1640425)
   chs:  (6/2/1)-(1023/20/16)d (6/2/1)-(4882/4/10)r
   hex:  00 02 01 06 06 14 D0 FF 00 08 00 00 EA FF 18 00

Possible partition(DOS FAT), size(917mb), offset(976mb)
   type: 006(0x06)(Primary 'big' DOS (> 32MB))
   size: 917mb #s(1878912) s(2000000-3878911)
   chs:  (1023/20/16)-(1023/20/16)d (5952/8/1)-(11544/7/16)r
   hex:  00 14 D0 FF 06 14 D0 FF 80 84 1E 00 80 AB 1C 00

 

[ 출력 결과 해석 ]

첫 번째 FAT 파티션

  • 크기 : 799MB
  • 시작 섹터 : 2048
  • 종료 섹터 : 1,640,425

두 번째 FAT 파티션

  • 크기 : 917MB
  • 시작 섹터 : 2,000,000
  • 종료 섹터 : 3,878,911

※ -v 옵션을 사용해야 각 파티션의 섹터 위치 정보 출력이 가능하다. 기본 출력만으로는 섹터 위치가 나오지 않아 복구 작업에 필요한 정보가 부족하다.

 

gpart 외에도 TestDisk라는 도구도 존재한다. TestDisk는 초보자도 쉽게 사용할 수 있는 메뉴 기반 복구 도구로 광범위한 파일 시스템과 파티션 복구를 지원한다.

 

이런 복구 기법은 기본적인 파티션 테이블 삭제 또는 손상된 경우에만 효과적이라는 한계가 존재한다. 완전한 디스크 덮어쓰기나 암호화가 적용된 경우에는 이 방법만으로는 복구가 불가능할 수도 있다. 

 

Summary

모든 대용량 저장장치는 어떤 형태로든 볼륨 시스템을 가지고 있으며, 이는 명확하든 그렇지 않든 모든 포렌식 수사에서 분석의 대상이 된다. 볼륨 시스템은 저장장치 내에서 파티션이나 구역을 제공하는 역할을 하며, 파티션 시스템은 각 파티션이 어디서 시작하고, 끝나는지를 설명한다. 우리는 이러한 기술에 대한 전반적인 개요을 배운 것이다.

반응형

'Disk Forensic' 카테고리의 다른 글

PC-based Partitions  (0) 2025.04.06
Disk Imaging  (0) 2025.02.19
MBR, VBR  (0) 2025.02.19
File system  (0) 2025.02.19
Partition, Volume Practice  (0) 2025.02.18