SlideShare une entreprise Scribd logo
1  sur  59
001/ 파일시스템
013/ 파티션 & 볼륨
CONTENTS
파일 시스템
1
- 컴퓨터에서 파일이나 자료를 쉽게 발견 및 접근할 수 있도록 보관 또는 조직하는 체제 → 저장장
치에는 수 많은 파일이 존재, 이를 관리하는 방법
- 공간 관리 기능과 사용자 인터페이스(사용자와 컴퓨터의 상호작용 시스템)를 제공하여 실제 저장장치
에 접근하여 물리적 공간을 관리하고 시스템과 데이터에 접근이 가능하게 한다
- 메타데이터 활용하여 파일에 관련된 정보는 파일시스템에 기록
File System 구조
- file system은 Meta 영역과 Data 영역으로 나뉘며 각각 파일 관리를 위한 메타 데이터와 실제 파
일의 데이터가 저장되는 영역이다
※ Meta data : 파일의 이름, 위치, 크기, 시간정보, 삭제 유무 등 파일에 관한 정보가 저장된 데이터를 말한다
File System
섹터
- 하드디스크의 최소 저장 단위(데이터 기록의 기본 단위)이며 섹터의 위치를 구분하기 위한 고유번호
저장에 59byte, 실제 데이터 저장에 512byte, 총 571 byte
파일 시스템
2
File System 용어
클러스터
- 저장장치에 데이터를 읽고 쓰는 기본 단위
- 파일 시스템에 따라 크기가 고정되어 있으며 운영체제가 파일 시스템 생성 시 저장장치의 크기
또는 사용 용도에 따라 크기를 조절한다
- 클러스터의 크기가 작으면 낭비되는 영역(슬랙 공간)이 줄어 디스크를 효율적으로 사용이 가능하
지만 입출력(처리 속도에 관련해 가장 큰 비용을 요구함)이 많아져 오히려 속도가 느려질 수 있다.
- 디스크를 포맷하거나 파일시스템을 생성하는 시점에 클러스터의 크기를 지정 할 수 있다.(클러스
터 내 섹터의 개수를 조정)
파일 시스템
3
File System 용어
파일 시스템
4
File System 용어
파일
- 속성(파일의 이름, 위치, 크기 등)을 기록하는 메타 데이터 영역, 실제 데이터를 기록하는 데이터 영역
으로 나뉜다.
디렉토리(Directory)
- 파일들을 계층화(트리 구조를 형성)하고 그룹화(파일을 분류하여 보관) 하는 개념
- 디렉토리 속 디렉토리는 하위 디렉토리 또는 서브 디렉토리
파일 시스템
5
File System 요소
소유권
- 각 파일마다 그룹과 소유권을 따로 관리
- 한 컴퓨터에 여러명의 사용자가 접근하는 경우 파일에 대한 접근 권한을 따로 관리할 필요가 있음
- FAT에서는 소유권 관리를 할 수 없지만 NTFS, EXT2등의 파일 시스템은 모든 파일에 사용자 그룹과 소유
권한을 부여 할 수 있다.
동기화
- OS의 멀티태스킹 지원으로 하나의 CPU에서 여러 작업이 동시에 실행 되는 것처럼 동작
- 하나의 파일에 여러 프로세스가 동시에 접근해 작업을 하는 경우 공유 객체에 동시에 접근하지 못하게 해
당 파일에 락(Lock)걸고 작업이 완료되면 해제 하는 과정
파일 시스템
6
File System 요소
보안
- 파일 시스템에는 보안과 관련해 여러 방법이 있으며 한 예로 파일의 소유권한과 실행 권한이 있다.
- 파일의 소유 권한과 실행 권한은 OS를 통해 파일시스템에 접근하는 상황에 해당될 뿐이라 물리적으로 디
스크에 접근하는 경우 데이터가 모두 드러나는데(디스크를 다른 pc에 연결하는 경우) 이러한 상황에 대비해 파일
시스템의 암호화 기법을 사용할 수 있다.
일관성 체크
- 파일 쓰기나 업데이트를 하고 있는 중 얘기치 못한 상황 때 파일시스템에서는 실제 파일이 있는 것처럼 표
시되는데 데이터가 잘못되어 일관성이 깨질 수 있다.
- 이런 상황에 대비해 파일을 쓸 때 메타데이터와 파일 데이터를 쓰는 순서부터 시스템 Crash상황(프로그램이
정상적으로 동작하지 않는 상황)을 고려 해야한다.
- 파일 시스템의 일관성에 문제가 발생했다고 판단되는 경우 별도의 유틸리티 프로그램을 사용하는데 대표
적으로 window의 FAT, NTFS를 체크하는 'chkdsk.exe'
- linux의 EXT를 체크하는 'e2fsck'가 있다.
파일 시스템
7
File System 요소
저널링
- 하드 디스크의 용량이 커질수록 일관성 체크에 걸리는 시간도 길어지게 되는데 이런 상황에 사용
- DB(Data Base)에서 일관성 체크를 위해 사용되는 방법을 파일 시스템에 적용한 것으로 파일시스템 업데이트
시 로그를 기록한다. 문제가 발생하면 해당 로그를 참조하여 업데이트를 취소하거나 파일시스템에 업데이
트를 적용 완료 할 수도 있다.
* 일관성 체크를 위해 사용되는 방법
- 트랜잭션이 성공적으로 완료하면 그 데이터베이스는 일관성 있는 상태로 변환
- 트랜잭션(Transaction)은 상태를 변환시키기 위해 수행하는 하나의 작업 단위이며 데이터베이스의 완전성을 보장함
- 저널링은 업데이트 로그를 기록하기 때문에 일관성 체크를 위해 파일시스템의 전 영역을 검색하지 않아도
되며, 해당 로그만 찾아가 작업 수행 가능
파일 시스템
8
Window OS - FAT(File Allocation Table)
- 어느 영역에 파일이 속해 있는지, 공간에 여유가 있는지, 또 어디에 각 파일이 디스크에 저장되어 있는지에
대한 정보를 중심으로 하는 테이블을 이용
- 상대적으로 간단한 파일 시스템이지만 성능은 다른 파일시스템에 비해 좋지 않다.
→단순한 자료구조를 사용하고 크기가 작은 파일이 많으면 공간 활용률이 적어지기 때문
파일 시스템
9
FAT12
- MS-DOS 초기부터 주로 쓰임
- 플로피 디스크에서 사용
FAT16
- 32MB 이상의 하드 디스크를 지원하기 위해 MS-DOS 3.0과 함께 나왔으며 윈도우 95까지 주로 이용
- 최대 2GB 파티션을 지원
FAT32
- 지원하는 드라이브 최대 용량은 32GB이고 파일 하나당 저장할 수 있는 최대 크기는 4GB이다
- 안정성이 좋으며 다양한 OS, 기기에 대한 호환성이 좋다
Window OS - FAT(File Allocation Table)
파일 시스템
10
Window OS - FAT(File Allocation Table)
NTFS(New Technology File System)
- FAT32의 약점을 보완하기 위해 개발된 파일 시스템
- 지원하는 드라이브 최대 용량은 256TB이고 파일 하나당 저장할 수 있는 최대 크기는 16TB이다
- 윈도우에서는 최적화되어 있으나 Apple의 MAC OS, Google의 Android, Linux와 같은 기기에서 사용에 제
한이 있다
exFAT(Extended File Allocation Table)
- NTFS의 호환성 문제를 극복하기 위하여 개발된 방식. (FAT64라고도 한다.)
- 지원하는 드라이브 최대 용량과 파일 하나당 저장할 수 있는 최대 크기가 512TB
- usb안전제거 방식이 아니라 그냥 뽑는 경우 파일 소실 가능성 존재한다는 점에서 안정성이 떨어진다.
- 리눅스용 파일 시스템 중 하나로 많은 리눅스 배포판에서 주 파일 시스템으로 쓰이고 있음.
ext2
- ext를 대체하기 위해 고안
ext3
- ext2에서 자료 삭제 및 손실 없이 ext3로 변경가능(자료 백업 불필요)
- 다른 파일시스템에 비해 처리속도가 낮다
ext4
- 대형 파일 시스템을 지원
- 64비트 기억 공간 제한을 없애고 ext3의 성능을 향상
- 지연할당으로 인한 데이터 유실 가능성.
※지연할당 : 데이터를 디스크에 커밋할 준비가 될 때 데이터를 쓸 실 제 블록을 할당
※커밋 : 이전 상태부터 현재 상태까지 변경이력 기록
파일 시스템
Linux - Ext(extended file system - 확장 파일 시스템)
11
파일 시스템
mac OS - HFS, APFS
HFS(Hierarchical File System - 계층적 파일 시스템)
- 애플이 맥 OS를 구동하는 컴퓨터 시스템에 사용할 목적으로 개발한 파일 시스템
APFS(Apple File System)
- 애플에서 macOS, iOS, watchOS, tvOS등에서 범용으로 사용하고자 만드는 파일시스템
12
파티션 & 볼륨
1. BIOS (Basic input / Output system)
펌웨어
- 운영 체제 중 가장 기본적인 컴퓨터의 입출력을 처리하는 소프트웨어
- 컴퓨터 내부에 하드웨어와 소프트웨어의 특성을 모두 가지고 있으면서 양쪽을
유기적으로 결합시키는 요소
- 변경할 필요가 없는 소프트웨어를 롬(ROM) 등에 기입하여 사용하는 것.
⇒ 처리 고속화 & 회로 단순화. 즉, 하드웨어화된 소프트웨어
13
파티션 & 볼륨
1. BIOS (Basic input / Output system)
BIOS (pc용 펌웨어)
- PC의 전원을 켰을 때 자동으로 실행, 가장 먼저 하드웨어의 상태를 진단, 초기화(불필요한 정보 제거
) 하여 운영체제의 시작을 준비.
+ 하드웨어의 상태를 진단 : 주요 하드웨어의 정상 동작 여부를 확인 후, 보조기억장치에
접근하여 저장된 운영체제의 파일을 불러와 부팅을 시작.
- BIOS는 PC의 가장 기초적인 기능을 담당하므로 손상되거나 지워진 PC는 작동을 하지 않음
- ROM(Read Only Memory)에 저장되어 있기 때문에 ROM BIOS라고 불림. (비휘발성 메모리)
- 제품마다 다르지만 부팅 시 F2, F10등을 눌러 진입 가능
역할
- CPU와 주변장치를 진단, 활성화/비활성화
- 부팅 장치의 우선 순위 설정
- 부트 모드 전환
- 날짜 및 시간 설정
14
파티션 & 볼륨
1. BIOS (Basic input / Output system) 부트 모드
1) Legacy BIOS
- 약 20년 전 운영 체제를 가동을 위해 설계.
- 16비트 시스템이며, 최대 1MB의 메모리 액세스
- 2TB 이상의 디스크에서 운영체제와
DML(Data Manipulation Language - 데이터조작 언어)
통합에 한계 발생
15
파티션 & 볼륨
1. BIOS (Basic input / Output system)
2) UEFI(Unified Extended Firmware Interface)
- Legacy BIOS를 대체하는 새로운 시스템
- 2TB 이상의 고용량 하드 디스크 제어 및 Windows 64bit 버전에 적합.
- GUI(Graphical User Interface - 그래픽 사용자 인터페이스)를
제공하여 아이콘이나 그림 메뉴 형태로 이루어진 BIOS이며
조작이 용이하다
- 파티션을 분할하지않고 C드라이브만 사용 가능하여
파티션 관리가 편리
- Fast Boot & Secure Boot 지원
16
파티션 & 볼륨
1. BIOS (Basic input / Output system)
2) UEFI(Unified Extended Firmware Interface, 통일 확장 펌웨어 인터페이스)
- Fast Boot
+ ROM BIOS에서 부팅 시 검사하는 하드웨어 및 세팅 작업을 스킵하여 부팅 시간을 단축
- Secure Boot
+ 부팅 방식으로 UEFI를 이용할 때 펌웨어 유효성을 검사, Window8 부터 UEFI에서 설정 가
능
+ 신뢰할 수 있는 펌웨어를 통해서만 부팅이 되도록 하는 것을 의미, 부팅 경로를 주요 공격 대
상으로 삼는 Malware의 공격을 차단
+ cmd에서 msinfo32로 부트 모드를 확인 할 수 있다.
17
파티션 & 볼륨
1. BIOS (Basic input / Output system)
2) UEFI(Unified Extended Firmware Interface)
18
파티션 & 볼륨
3. 슬랙 공간(Slack Space)
* 정의
- 물리적으로는 파일에 할당되었지만 논리적으로 사용할 수 없어 낭비되는 공간
- 정보 은닉, 파일 복구, 및 삭제된 파일 파편 조사에 유용
- 파일 시스템에 더 이상 보이지 않지만, 완전히 덮여 쓰여지지 않은 파일 또는 파일 조각
(Accessdata)
- 저장 매체의 물리적인 구조와 논리적인 구조의 차이로 발생하는 낭비 공간(TTA)
- 파일 마지막 클러스터와 해당 파일 마지막 사이의 공간(Guidance)
19
파티션 & 볼륨
3. 슬랙 공간(Slack Space)
* 종류
- 램 슬랙 (RAM Slack)
- 드라이브 슬랙 (Drive Slack)
- 파일 시스템 슬랙 (File System Slack)
- 볼륨 슬랙 (Volume slack)
- 파일 슬랙 (File Slack) = 램 슬랙 + 드라이
20
파티션 & 볼륨
3. 슬랙 공간(Slack Space)
* 램 슬랙(RAM Slack)
- 램에 저장된 데이터가 저장매체에 기록될 때 발생하는 슬랙 공간
- 0으로 초기화 함으로써 파일의 끝을 알 수 있음
- 파일의 끝을 알 수 있기 때문에 삭제된 파일을 복구할 때 유용하게 사용됨
* 드라이브 슬랙(Drive Slack)
- 클러스터의 사용으로 인해 낭비되는 공간(섹터)
- 파일이 클러스터 단위로 나누어 떨어지지 않아서 발생하는 슬랙
- 빈 영역이지만 다른 용도로 사용하지 않아서 악성코드(ex. Slackskit)를 기록해 두는 경우도 있음
- 데이터 복구에 사용되는 영역
21
파티션 & 볼륨
3. 슬랙 공간(Slack Space)
* 파일 시스템 슬랙(File System Slack)
- 파일 시스템의 마지막 부분에 있어 사용할 수 없는 영역
- 저장매체의 물리적인 크기가 클러스터 단위로 나누어 떨어지지 않아서 발생하는 슬랙
- 볼륨의 크기가 클러스터 크기의 배수가 아니라면 발생
- 악성코드를 은닉하는데 많이 사용
22
파티션 & 볼륨
3. 슬랙 공간(Slack Space)
* 볼륨 슬랙(Volume Slack)
- 전체 볼륨 크기와 할당된 파티션 크기의 차이로 발생하는 낭비 공간
- Volume 크기가 파티션들의 크기 합과 다르기 때문에 발생
- 파티션의 크기는 임의로 변경이 가능하기 때문에 다른 슬랙과 다르게 슬랙 공간을 임의로 변경
가능
23
파티션 & 볼륨
4. MBR(Master Boot Record)
1) BR(Boot Record)
- 디스크의 운영 체계를 컴퓨터 시스템에 설치하기 위한 명령어를 저장하고 있는 곳으로써,
컴퓨터를 부팅할 때 맨 처음 읽히는 레코드
- 각파티션의 첫 번째 섹터에 위치함
+ 단일 파티션 : 1개의 BR 영역이 첫 번째 섹터에 위치
+ 다중 파티션 : 각 파티션에 BR 영역을 관리
- 단일 파티션과 다중 파티션의 차이점은 MBR 유무
24
파티션 & 볼륨
4. MBR(Master Boot Record)
2) MBR(Master Boot Record)
- 저장매체의 첫 번째 섹터(LBA 0)에 위치하는 512 바이트 크기의 영역
- 운영체제가 부팅될 때 POST(Power On Self-Test) 과정을 마친 후, 저장매체의 첫 번째 섹터를
호출할 때 해당 부트코드가 수행됨
- MBR의 기본적인 구조
446 byte 부트코드 영역
2 byte 시그니처
64 byte 파티션 테이블
25
파티션 & 볼륨
4. MBR(Master Boot Record)
3) Boot Code
- MBR 영역에서 부팅될 때 POST(Power On Self-Test) 과정을 마친 후 처음 처리되는 코드
- 파티션 테이블에서 부팅 가능한 파티션을 찾아 해당 파티션의 부트 섹터(Boot Sector)를 호출해
주는 역할
- 만약 부팅 가능한 파티션이 없을 경우에는 미리 정의된 에러 메시지 출력
26
파티션 & 볼륨
4. MBR(Master Boot Record)
4) Partition Table
- 각각 16 byte씩4개의 엔트리를 가지고 있음
27
파티션 & 볼륨
4. MBR(Master Boot Record)
4) Partition Table
파티션을 하나도 생성하지 않았을 때
모든 파티션 테이블에0이 들어감
28
파티션 & 볼륨
4. MBR(Master Boot Record)
4) Partition Table
파티션을 하나 만들어 주면 파티션 테이블 첫 번째 줄에 파티션에 대한 정보가 기록됨.
29
파티션 & 볼륨
4. MBR(Master Boot Record)
4) Partition Table
파티션 테이블에 기록되는 정보는 다음과 같다.
- Boot Flag
- 파티션 시작의 CHS(Cylinder-Head-Sector) 주소
- 파티션 타입
- 파티션 끝의 CHS 주소
- 파티션 시작 LBA(Logical Block Address) 주소
- 파티션 섹터의 수
30
파티션 & 볼륨
4. MBR(Master Boot Record)
4) Partition Table
- Boot Flag
+ 컴퓨터가 부팅할 때 운영체제가 어떤 파티션에 위치해 있는지 구분하기 위해 사용.
(운영체제가 설치된 파티션을 표시)
+ 부팅 불가능한 파티션일 경우 0x00으로 설정
+ 부팅 가능한 파티션일 경우 0x80으로 설정
31
파티션 & 볼륨
4. MBR(Master Boot Record)
4) Partition Table
- 파티션 시작 CHS 주소(Starting CHS Address)
+ 실린더: 0x00 / 헤드 : 0x21 / 섹터 : 0x20
-> 0x002120
32
파티션 & 볼륨
4. MBR(Master Boot Record)
4) Partition Table
- 파티션 타입(Partition Type)
+ exFAT, HPFS, NTFS : 0x07
33
파티션 & 볼륨
4. MBR(Master Boot Record)
4) Partition Table
34
파티션 & 볼륨
4. MBR(Master Boot Record)
4) Partition Table
- 마지막 CHS 주소(Ending CHS Address)
+ 실린더 : 0xFF / 헤드 : 0xFF / 섹터 : 0xFE
-> 0xFFFFFE
35
파티션 & 볼륨
4. MBR(Master Boot Record)
4) Partition Table
- 시작 LBA 주소(Starting LBA Adres)
+ LBA 2048(0x00000800)
+ 섹터 2048로 이동해 보면 NTFS(New Technology
File System) 파일 시스템을 의미하는 시그니처가
존재, 하단에 BR의 시그니처인 0x55AA가 존재
-> 정상적으로 NTFS 파일 시스템을 가지는
파티션의 시작 부분
섹터 2048
36
파티션 & 볼륨
4. MBR(Master Boot Record)
4) Partition Table
- 파티션 섹터 수(Size in Sector)
+ 125,822,976개(0x077FE800)
+ 파티션 시작 섹터(2,048) + 섹터의 개수(125,822,976) - 1 = 파티션의 마지막 섹터
(125,825,023)
37
파티션 & 볼륨
4. MBR(Master Boot Record)
4) Partition Table
+ 파티션 시작의 부분과 똑같음
-> 해당 파티션의 마지막 부분이라는 것을 알
수 있음
섹터 125,825,023
38
파티션 & 볼륨
3. MBR ( Master Boot Record )
* FTK Imager로 MBR확인
- 추가로 CHS타입을 사용하지 않기 때문에 나머지를 0으로 나타냄
39
파티션 & 볼륨
3. MBR ( Master Boot Record )
* 파티션 타입 확인
- NTFS 파일 시스템의 시그니쳐( EB 52 90 4E 54 46 53 검색)
* BR의 위치 확인
- BR의 섹터를 확인 할수있다
- 섹터는 2048의 위치한다
40
파티션 & 볼륨
3. MBR ( Master Boot Record )
* LBA 확인
- Size in Sector: LBA 0x000F97FF (파티션의 크기)
* 파티션의 섹터 수를 확인
- BR의 시작섹터 2048 (0x100000), 마지막 섹터 307144(0x95f9000)
- 파티션의 섹터 수 = 305,096(0x4a7c8)
41
파티션 & 볼륨
3. MBR ( Master Boot Record )
* MBR 복원
- 위의 계산으로 나온 값을 복원 한다면 이렇게 표현할수 있다
1. Partition Type : 0x07(NTFS)
2. Starting LBA Addr = LBA 0x800
3. Size in Sector : LBA 0x000F97FF ( 파티션의 크기)
4. Signature: 0x55AA
42
파티션 & 볼륨
5. GPT(GUID Partition Table)
43
파티션 & 볼륨
5. GPT(GUID Partition Table)
○ LBA(Logical Block Addressing) 주소 체계를 사용한다.
○ MBR의 단점을 극복하기 위해서 파티션 엔트리를 128 Byte로 확장하여 최대 128개의 파
티션 생성이 가능하다. 디스크의 최대 용량은 이론적으로 8ZB(제타바이트)까지 지원 가능하
지만 18EB(엑사바이트)로 제한된다.
○ x64 기반의 플랫폼에서 사용 가능하다.
○ CRC(Cyclic Redundancy Check)를 이용해서 파티션 테이블 보호가 가능하다. → 신뢰성
확보
○ GPT의 중요 데이터 구조는 볼륨의 끝에 복제본을 저장한다. → 장애 복구 가능
44
파티션 & 볼륨
5. GPT(GUID Partition Table)
44
파티션 & 볼륨
5. GPT(GUID Partition Table)
> diskpart
> list disk
위의 명령어를 통해 사용자의
디스크가 현재 어떤 종류의 디
스크인지 알 수 있음
45
파티션 & 볼륨
5. GPT(GUID Partition Table)
● GPT 파티션 구조
○ Primary GPT 영역
· Protective MBR
· Primary GPT Header
· GPT Partition Entry
○ Secondary GPT 영역(복원 용도)
· GPT Partition Entry
· Secondary GPT Header
46
파티션 & 볼륨
5. GPT(GUID Partition Table)
47
파티션 & 볼륨
5. GPT(GUID Partition Table)
48
파티션 & 볼륨
5. GPT(GUID Partition Table)
● Protective MBR
○ LBA 0에 위치한다.
○ 기존 MBR과 호환할 수 있다.
○ 보는 방법은 MBR 영역과 동일하다.
○ 2TB 단일 파티션으로 인식한다.
○ GPT 디스크를 인식하지 못하고 MBR 디스크만을 인식하는 시스템이나 프로그램에서 해당 디
스크가 비어 있는 것으로 착각하고 GPT 디스크를 수정하는 것을 방지하기 위해 해당 디스크가 비
어 있지 않다는 것을 알려주는 역할을 한다.
49
파티션 & 볼륨
5. GPT(GUID Partition Table)
● GPT Header
○ LBA 1에 위치한다.
○ GPT에 대한 전반적인 설정 정보를
기록한다.
○ 총 92 byte로 구성된다.
○ 그 이외에 영역은 NULL 값으로 기록한다.
50
파티션 & 볼륨
5. GPT(GUID Partition Table)
● Partition Table
○ LBA 2~33
○ 각 파티션에 대한 전반적인 설정 정보를
기록한다.
51
파티션 & 볼륨
5. GPT(GUID Partition Table)
52
파티션 & 볼륨
5. GPT(GUID Partition Table)
53
파티션 & 볼륨
5. GPT(GUID Partition Table)
54
파티션 & 볼륨
5. GPT(GUID Partition Table)
55
파티션 & 볼륨
5. GPT(GUID Partition Table)
56
Ponybuhagom.tistory.com
Thank you

Contenu connexe

Similaire à 포렌식 세미나.pptx

How ntfs works br
How ntfs works brHow ntfs works br
How ntfs works br상봉 이
 
Ssscon forensic pt
Ssscon forensic ptSsscon forensic pt
Ssscon forensic pt윤아 황
 
백업을 위한 USB운영체제 완료세미나
백업을 위한 USB운영체제 완료세미나백업을 위한 USB운영체제 완료세미나
백업을 위한 USB운영체제 완료세미나Daniel Shin
 
한국에서 제일 쉬운 centos7 설치 튜토리얼
한국에서 제일 쉬운 centos7 설치 튜토리얼한국에서 제일 쉬운 centos7 설치 튜토리얼
한국에서 제일 쉬운 centos7 설치 튜토리얼ChoDae
 
20150502 unix v6로 배우는 커널의 원리와 구조 1 김지은
20150502 unix v6로 배우는 커널의 원리와 구조 1 김지은20150502 unix v6로 배우는 커널의 원리와 구조 1 김지은
20150502 unix v6로 배우는 커널의 원리와 구조 1 김지은jieun kim
 
PE File Format and Packer - Inc0gnito 2016
PE File Format and Packer - Inc0gnito 2016PE File Format and Packer - Inc0gnito 2016
PE File Format and Packer - Inc0gnito 2016Hajin Jang
 
caanoo Device driver
caanoo Device drivercaanoo Device driver
caanoo Device driverjumiss
 
10 동기및비동기장치io
10 동기및비동기장치io10 동기및비동기장치io
10 동기및비동기장치iossuser3fb17c
 
시스템 관리자를 위한 리눅스강의 1강 20130203
시스템 관리자를 위한 리눅스강의 1강 20130203시스템 관리자를 위한 리눅스강의 1강 20130203
시스템 관리자를 위한 리눅스강의 1강 20130203doo rip choi
 
[pgday.Seoul 2022] PostgreSQL구조 - 윤성재
[pgday.Seoul 2022] PostgreSQL구조 - 윤성재[pgday.Seoul 2022] PostgreSQL구조 - 윤성재
[pgday.Seoul 2022] PostgreSQL구조 - 윤성재PgDay.Seoul
 
[오픈소스컨설팅]Glster FS간단소개
[오픈소스컨설팅]Glster FS간단소개[오픈소스컨설팅]Glster FS간단소개
[오픈소스컨설팅]Glster FS간단소개Ji-Woong Choi
 
Glusterfs 파일시스템 구성_및 운영가이드_v2.0
Glusterfs 파일시스템 구성_및 운영가이드_v2.0Glusterfs 파일시스템 구성_및 운영가이드_v2.0
Glusterfs 파일시스템 구성_및 운영가이드_v2.0sprdd
 
Glusterfs 구성제안 및_운영가이드_v2.0
Glusterfs 구성제안 및_운영가이드_v2.0Glusterfs 구성제안 및_운영가이드_v2.0
Glusterfs 구성제안 및_운영가이드_v2.0sprdd
 
실무로 배우는 시스템 성능 최적화 Ch8
실무로 배우는 시스템 성능 최적화 Ch8실무로 배우는 시스템 성능 최적화 Ch8
실무로 배우는 시스템 성능 최적화 Ch8HyeonSeok Choi
 
SoftLayer 서비스 설명 3차 - 스토리지
SoftLayer 서비스 설명 3차 - 스토리지SoftLayer 서비스 설명 3차 - 스토리지
SoftLayer 서비스 설명 3차 - 스토리지IBM Korea
 
OS Process, Thread, CPU Scheduling에 대해 알아봅시다.pdf
OS Process, Thread, CPU Scheduling에 대해 알아봅시다.pdfOS Process, Thread, CPU Scheduling에 대해 알아봅시다.pdf
OS Process, Thread, CPU Scheduling에 대해 알아봅시다.pdfHo Jeong Im
 

Similaire à 포렌식 세미나.pptx (20)

저장장치
저장장치저장장치
저장장치
 
How ntfs works br
How ntfs works brHow ntfs works br
How ntfs works br
 
Ssscon forensic pt
Ssscon forensic ptSsscon forensic pt
Ssscon forensic pt
 
System+os study 6
System+os study 6System+os study 6
System+os study 6
 
AIX - LVM 이란?
AIX - LVM 이란?AIX - LVM 이란?
AIX - LVM 이란?
 
백업을 위한 USB운영체제 완료세미나
백업을 위한 USB운영체제 완료세미나백업을 위한 USB운영체제 완료세미나
백업을 위한 USB운영체제 완료세미나
 
한국에서 제일 쉬운 centos7 설치 튜토리얼
한국에서 제일 쉬운 centos7 설치 튜토리얼한국에서 제일 쉬운 centos7 설치 튜토리얼
한국에서 제일 쉬운 centos7 설치 튜토리얼
 
20150502 unix v6로 배우는 커널의 원리와 구조 1 김지은
20150502 unix v6로 배우는 커널의 원리와 구조 1 김지은20150502 unix v6로 배우는 커널의 원리와 구조 1 김지은
20150502 unix v6로 배우는 커널의 원리와 구조 1 김지은
 
PE File Format and Packer - Inc0gnito 2016
PE File Format and Packer - Inc0gnito 2016PE File Format and Packer - Inc0gnito 2016
PE File Format and Packer - Inc0gnito 2016
 
caanoo Device driver
caanoo Device drivercaanoo Device driver
caanoo Device driver
 
10 동기및비동기장치io
10 동기및비동기장치io10 동기및비동기장치io
10 동기및비동기장치io
 
시스템 관리자를 위한 리눅스강의 1강 20130203
시스템 관리자를 위한 리눅스강의 1강 20130203시스템 관리자를 위한 리눅스강의 1강 20130203
시스템 관리자를 위한 리눅스강의 1강 20130203
 
Hdfs
HdfsHdfs
Hdfs
 
[pgday.Seoul 2022] PostgreSQL구조 - 윤성재
[pgday.Seoul 2022] PostgreSQL구조 - 윤성재[pgday.Seoul 2022] PostgreSQL구조 - 윤성재
[pgday.Seoul 2022] PostgreSQL구조 - 윤성재
 
[오픈소스컨설팅]Glster FS간단소개
[오픈소스컨설팅]Glster FS간단소개[오픈소스컨설팅]Glster FS간단소개
[오픈소스컨설팅]Glster FS간단소개
 
Glusterfs 파일시스템 구성_및 운영가이드_v2.0
Glusterfs 파일시스템 구성_및 운영가이드_v2.0Glusterfs 파일시스템 구성_및 운영가이드_v2.0
Glusterfs 파일시스템 구성_및 운영가이드_v2.0
 
Glusterfs 구성제안 및_운영가이드_v2.0
Glusterfs 구성제안 및_운영가이드_v2.0Glusterfs 구성제안 및_운영가이드_v2.0
Glusterfs 구성제안 및_운영가이드_v2.0
 
실무로 배우는 시스템 성능 최적화 Ch8
실무로 배우는 시스템 성능 최적화 Ch8실무로 배우는 시스템 성능 최적화 Ch8
실무로 배우는 시스템 성능 최적화 Ch8
 
SoftLayer 서비스 설명 3차 - 스토리지
SoftLayer 서비스 설명 3차 - 스토리지SoftLayer 서비스 설명 3차 - 스토리지
SoftLayer 서비스 설명 3차 - 스토리지
 
OS Process, Thread, CPU Scheduling에 대해 알아봅시다.pdf
OS Process, Thread, CPU Scheduling에 대해 알아봅시다.pdfOS Process, Thread, CPU Scheduling에 대해 알아봅시다.pdf
OS Process, Thread, CPU Scheduling에 대해 알아봅시다.pdf
 

포렌식 세미나.pptx

  • 2. 파일 시스템 1 - 컴퓨터에서 파일이나 자료를 쉽게 발견 및 접근할 수 있도록 보관 또는 조직하는 체제 → 저장장 치에는 수 많은 파일이 존재, 이를 관리하는 방법 - 공간 관리 기능과 사용자 인터페이스(사용자와 컴퓨터의 상호작용 시스템)를 제공하여 실제 저장장치 에 접근하여 물리적 공간을 관리하고 시스템과 데이터에 접근이 가능하게 한다 - 메타데이터 활용하여 파일에 관련된 정보는 파일시스템에 기록 File System 구조 - file system은 Meta 영역과 Data 영역으로 나뉘며 각각 파일 관리를 위한 메타 데이터와 실제 파 일의 데이터가 저장되는 영역이다 ※ Meta data : 파일의 이름, 위치, 크기, 시간정보, 삭제 유무 등 파일에 관한 정보가 저장된 데이터를 말한다 File System
  • 3. 섹터 - 하드디스크의 최소 저장 단위(데이터 기록의 기본 단위)이며 섹터의 위치를 구분하기 위한 고유번호 저장에 59byte, 실제 데이터 저장에 512byte, 총 571 byte 파일 시스템 2 File System 용어
  • 4. 클러스터 - 저장장치에 데이터를 읽고 쓰는 기본 단위 - 파일 시스템에 따라 크기가 고정되어 있으며 운영체제가 파일 시스템 생성 시 저장장치의 크기 또는 사용 용도에 따라 크기를 조절한다 - 클러스터의 크기가 작으면 낭비되는 영역(슬랙 공간)이 줄어 디스크를 효율적으로 사용이 가능하 지만 입출력(처리 속도에 관련해 가장 큰 비용을 요구함)이 많아져 오히려 속도가 느려질 수 있다. - 디스크를 포맷하거나 파일시스템을 생성하는 시점에 클러스터의 크기를 지정 할 수 있다.(클러스 터 내 섹터의 개수를 조정) 파일 시스템 3 File System 용어
  • 5. 파일 시스템 4 File System 용어 파일 - 속성(파일의 이름, 위치, 크기 등)을 기록하는 메타 데이터 영역, 실제 데이터를 기록하는 데이터 영역 으로 나뉜다. 디렉토리(Directory) - 파일들을 계층화(트리 구조를 형성)하고 그룹화(파일을 분류하여 보관) 하는 개념 - 디렉토리 속 디렉토리는 하위 디렉토리 또는 서브 디렉토리
  • 6. 파일 시스템 5 File System 요소 소유권 - 각 파일마다 그룹과 소유권을 따로 관리 - 한 컴퓨터에 여러명의 사용자가 접근하는 경우 파일에 대한 접근 권한을 따로 관리할 필요가 있음 - FAT에서는 소유권 관리를 할 수 없지만 NTFS, EXT2등의 파일 시스템은 모든 파일에 사용자 그룹과 소유 권한을 부여 할 수 있다. 동기화 - OS의 멀티태스킹 지원으로 하나의 CPU에서 여러 작업이 동시에 실행 되는 것처럼 동작 - 하나의 파일에 여러 프로세스가 동시에 접근해 작업을 하는 경우 공유 객체에 동시에 접근하지 못하게 해 당 파일에 락(Lock)걸고 작업이 완료되면 해제 하는 과정
  • 7. 파일 시스템 6 File System 요소 보안 - 파일 시스템에는 보안과 관련해 여러 방법이 있으며 한 예로 파일의 소유권한과 실행 권한이 있다. - 파일의 소유 권한과 실행 권한은 OS를 통해 파일시스템에 접근하는 상황에 해당될 뿐이라 물리적으로 디 스크에 접근하는 경우 데이터가 모두 드러나는데(디스크를 다른 pc에 연결하는 경우) 이러한 상황에 대비해 파일 시스템의 암호화 기법을 사용할 수 있다. 일관성 체크 - 파일 쓰기나 업데이트를 하고 있는 중 얘기치 못한 상황 때 파일시스템에서는 실제 파일이 있는 것처럼 표 시되는데 데이터가 잘못되어 일관성이 깨질 수 있다. - 이런 상황에 대비해 파일을 쓸 때 메타데이터와 파일 데이터를 쓰는 순서부터 시스템 Crash상황(프로그램이 정상적으로 동작하지 않는 상황)을 고려 해야한다. - 파일 시스템의 일관성에 문제가 발생했다고 판단되는 경우 별도의 유틸리티 프로그램을 사용하는데 대표 적으로 window의 FAT, NTFS를 체크하는 'chkdsk.exe' - linux의 EXT를 체크하는 'e2fsck'가 있다.
  • 8. 파일 시스템 7 File System 요소 저널링 - 하드 디스크의 용량이 커질수록 일관성 체크에 걸리는 시간도 길어지게 되는데 이런 상황에 사용 - DB(Data Base)에서 일관성 체크를 위해 사용되는 방법을 파일 시스템에 적용한 것으로 파일시스템 업데이트 시 로그를 기록한다. 문제가 발생하면 해당 로그를 참조하여 업데이트를 취소하거나 파일시스템에 업데이 트를 적용 완료 할 수도 있다. * 일관성 체크를 위해 사용되는 방법 - 트랜잭션이 성공적으로 완료하면 그 데이터베이스는 일관성 있는 상태로 변환 - 트랜잭션(Transaction)은 상태를 변환시키기 위해 수행하는 하나의 작업 단위이며 데이터베이스의 완전성을 보장함 - 저널링은 업데이트 로그를 기록하기 때문에 일관성 체크를 위해 파일시스템의 전 영역을 검색하지 않아도 되며, 해당 로그만 찾아가 작업 수행 가능
  • 9. 파일 시스템 8 Window OS - FAT(File Allocation Table) - 어느 영역에 파일이 속해 있는지, 공간에 여유가 있는지, 또 어디에 각 파일이 디스크에 저장되어 있는지에 대한 정보를 중심으로 하는 테이블을 이용 - 상대적으로 간단한 파일 시스템이지만 성능은 다른 파일시스템에 비해 좋지 않다. →단순한 자료구조를 사용하고 크기가 작은 파일이 많으면 공간 활용률이 적어지기 때문
  • 10. 파일 시스템 9 FAT12 - MS-DOS 초기부터 주로 쓰임 - 플로피 디스크에서 사용 FAT16 - 32MB 이상의 하드 디스크를 지원하기 위해 MS-DOS 3.0과 함께 나왔으며 윈도우 95까지 주로 이용 - 최대 2GB 파티션을 지원 FAT32 - 지원하는 드라이브 최대 용량은 32GB이고 파일 하나당 저장할 수 있는 최대 크기는 4GB이다 - 안정성이 좋으며 다양한 OS, 기기에 대한 호환성이 좋다 Window OS - FAT(File Allocation Table)
  • 11. 파일 시스템 10 Window OS - FAT(File Allocation Table) NTFS(New Technology File System) - FAT32의 약점을 보완하기 위해 개발된 파일 시스템 - 지원하는 드라이브 최대 용량은 256TB이고 파일 하나당 저장할 수 있는 최대 크기는 16TB이다 - 윈도우에서는 최적화되어 있으나 Apple의 MAC OS, Google의 Android, Linux와 같은 기기에서 사용에 제 한이 있다 exFAT(Extended File Allocation Table) - NTFS의 호환성 문제를 극복하기 위하여 개발된 방식. (FAT64라고도 한다.) - 지원하는 드라이브 최대 용량과 파일 하나당 저장할 수 있는 최대 크기가 512TB - usb안전제거 방식이 아니라 그냥 뽑는 경우 파일 소실 가능성 존재한다는 점에서 안정성이 떨어진다.
  • 12. - 리눅스용 파일 시스템 중 하나로 많은 리눅스 배포판에서 주 파일 시스템으로 쓰이고 있음. ext2 - ext를 대체하기 위해 고안 ext3 - ext2에서 자료 삭제 및 손실 없이 ext3로 변경가능(자료 백업 불필요) - 다른 파일시스템에 비해 처리속도가 낮다 ext4 - 대형 파일 시스템을 지원 - 64비트 기억 공간 제한을 없애고 ext3의 성능을 향상 - 지연할당으로 인한 데이터 유실 가능성. ※지연할당 : 데이터를 디스크에 커밋할 준비가 될 때 데이터를 쓸 실 제 블록을 할당 ※커밋 : 이전 상태부터 현재 상태까지 변경이력 기록 파일 시스템 Linux - Ext(extended file system - 확장 파일 시스템) 11
  • 13. 파일 시스템 mac OS - HFS, APFS HFS(Hierarchical File System - 계층적 파일 시스템) - 애플이 맥 OS를 구동하는 컴퓨터 시스템에 사용할 목적으로 개발한 파일 시스템 APFS(Apple File System) - 애플에서 macOS, iOS, watchOS, tvOS등에서 범용으로 사용하고자 만드는 파일시스템 12
  • 14. 파티션 & 볼륨 1. BIOS (Basic input / Output system) 펌웨어 - 운영 체제 중 가장 기본적인 컴퓨터의 입출력을 처리하는 소프트웨어 - 컴퓨터 내부에 하드웨어와 소프트웨어의 특성을 모두 가지고 있으면서 양쪽을 유기적으로 결합시키는 요소 - 변경할 필요가 없는 소프트웨어를 롬(ROM) 등에 기입하여 사용하는 것. ⇒ 처리 고속화 & 회로 단순화. 즉, 하드웨어화된 소프트웨어 13
  • 15. 파티션 & 볼륨 1. BIOS (Basic input / Output system) BIOS (pc용 펌웨어) - PC의 전원을 켰을 때 자동으로 실행, 가장 먼저 하드웨어의 상태를 진단, 초기화(불필요한 정보 제거 ) 하여 운영체제의 시작을 준비. + 하드웨어의 상태를 진단 : 주요 하드웨어의 정상 동작 여부를 확인 후, 보조기억장치에 접근하여 저장된 운영체제의 파일을 불러와 부팅을 시작. - BIOS는 PC의 가장 기초적인 기능을 담당하므로 손상되거나 지워진 PC는 작동을 하지 않음 - ROM(Read Only Memory)에 저장되어 있기 때문에 ROM BIOS라고 불림. (비휘발성 메모리) - 제품마다 다르지만 부팅 시 F2, F10등을 눌러 진입 가능 역할 - CPU와 주변장치를 진단, 활성화/비활성화 - 부팅 장치의 우선 순위 설정 - 부트 모드 전환 - 날짜 및 시간 설정 14
  • 16. 파티션 & 볼륨 1. BIOS (Basic input / Output system) 부트 모드 1) Legacy BIOS - 약 20년 전 운영 체제를 가동을 위해 설계. - 16비트 시스템이며, 최대 1MB의 메모리 액세스 - 2TB 이상의 디스크에서 운영체제와 DML(Data Manipulation Language - 데이터조작 언어) 통합에 한계 발생 15
  • 17. 파티션 & 볼륨 1. BIOS (Basic input / Output system) 2) UEFI(Unified Extended Firmware Interface) - Legacy BIOS를 대체하는 새로운 시스템 - 2TB 이상의 고용량 하드 디스크 제어 및 Windows 64bit 버전에 적합. - GUI(Graphical User Interface - 그래픽 사용자 인터페이스)를 제공하여 아이콘이나 그림 메뉴 형태로 이루어진 BIOS이며 조작이 용이하다 - 파티션을 분할하지않고 C드라이브만 사용 가능하여 파티션 관리가 편리 - Fast Boot & Secure Boot 지원 16
  • 18. 파티션 & 볼륨 1. BIOS (Basic input / Output system) 2) UEFI(Unified Extended Firmware Interface, 통일 확장 펌웨어 인터페이스) - Fast Boot + ROM BIOS에서 부팅 시 검사하는 하드웨어 및 세팅 작업을 스킵하여 부팅 시간을 단축 - Secure Boot + 부팅 방식으로 UEFI를 이용할 때 펌웨어 유효성을 검사, Window8 부터 UEFI에서 설정 가 능 + 신뢰할 수 있는 펌웨어를 통해서만 부팅이 되도록 하는 것을 의미, 부팅 경로를 주요 공격 대 상으로 삼는 Malware의 공격을 차단 + cmd에서 msinfo32로 부트 모드를 확인 할 수 있다. 17
  • 19. 파티션 & 볼륨 1. BIOS (Basic input / Output system) 2) UEFI(Unified Extended Firmware Interface) 18
  • 20. 파티션 & 볼륨 3. 슬랙 공간(Slack Space) * 정의 - 물리적으로는 파일에 할당되었지만 논리적으로 사용할 수 없어 낭비되는 공간 - 정보 은닉, 파일 복구, 및 삭제된 파일 파편 조사에 유용 - 파일 시스템에 더 이상 보이지 않지만, 완전히 덮여 쓰여지지 않은 파일 또는 파일 조각 (Accessdata) - 저장 매체의 물리적인 구조와 논리적인 구조의 차이로 발생하는 낭비 공간(TTA) - 파일 마지막 클러스터와 해당 파일 마지막 사이의 공간(Guidance) 19
  • 21. 파티션 & 볼륨 3. 슬랙 공간(Slack Space) * 종류 - 램 슬랙 (RAM Slack) - 드라이브 슬랙 (Drive Slack) - 파일 시스템 슬랙 (File System Slack) - 볼륨 슬랙 (Volume slack) - 파일 슬랙 (File Slack) = 램 슬랙 + 드라이 20
  • 22. 파티션 & 볼륨 3. 슬랙 공간(Slack Space) * 램 슬랙(RAM Slack) - 램에 저장된 데이터가 저장매체에 기록될 때 발생하는 슬랙 공간 - 0으로 초기화 함으로써 파일의 끝을 알 수 있음 - 파일의 끝을 알 수 있기 때문에 삭제된 파일을 복구할 때 유용하게 사용됨 * 드라이브 슬랙(Drive Slack) - 클러스터의 사용으로 인해 낭비되는 공간(섹터) - 파일이 클러스터 단위로 나누어 떨어지지 않아서 발생하는 슬랙 - 빈 영역이지만 다른 용도로 사용하지 않아서 악성코드(ex. Slackskit)를 기록해 두는 경우도 있음 - 데이터 복구에 사용되는 영역 21
  • 23. 파티션 & 볼륨 3. 슬랙 공간(Slack Space) * 파일 시스템 슬랙(File System Slack) - 파일 시스템의 마지막 부분에 있어 사용할 수 없는 영역 - 저장매체의 물리적인 크기가 클러스터 단위로 나누어 떨어지지 않아서 발생하는 슬랙 - 볼륨의 크기가 클러스터 크기의 배수가 아니라면 발생 - 악성코드를 은닉하는데 많이 사용 22
  • 24. 파티션 & 볼륨 3. 슬랙 공간(Slack Space) * 볼륨 슬랙(Volume Slack) - 전체 볼륨 크기와 할당된 파티션 크기의 차이로 발생하는 낭비 공간 - Volume 크기가 파티션들의 크기 합과 다르기 때문에 발생 - 파티션의 크기는 임의로 변경이 가능하기 때문에 다른 슬랙과 다르게 슬랙 공간을 임의로 변경 가능 23
  • 25. 파티션 & 볼륨 4. MBR(Master Boot Record) 1) BR(Boot Record) - 디스크의 운영 체계를 컴퓨터 시스템에 설치하기 위한 명령어를 저장하고 있는 곳으로써, 컴퓨터를 부팅할 때 맨 처음 읽히는 레코드 - 각파티션의 첫 번째 섹터에 위치함 + 단일 파티션 : 1개의 BR 영역이 첫 번째 섹터에 위치 + 다중 파티션 : 각 파티션에 BR 영역을 관리 - 단일 파티션과 다중 파티션의 차이점은 MBR 유무 24
  • 26. 파티션 & 볼륨 4. MBR(Master Boot Record) 2) MBR(Master Boot Record) - 저장매체의 첫 번째 섹터(LBA 0)에 위치하는 512 바이트 크기의 영역 - 운영체제가 부팅될 때 POST(Power On Self-Test) 과정을 마친 후, 저장매체의 첫 번째 섹터를 호출할 때 해당 부트코드가 수행됨 - MBR의 기본적인 구조 446 byte 부트코드 영역 2 byte 시그니처 64 byte 파티션 테이블 25
  • 27. 파티션 & 볼륨 4. MBR(Master Boot Record) 3) Boot Code - MBR 영역에서 부팅될 때 POST(Power On Self-Test) 과정을 마친 후 처음 처리되는 코드 - 파티션 테이블에서 부팅 가능한 파티션을 찾아 해당 파티션의 부트 섹터(Boot Sector)를 호출해 주는 역할 - 만약 부팅 가능한 파티션이 없을 경우에는 미리 정의된 에러 메시지 출력 26
  • 28. 파티션 & 볼륨 4. MBR(Master Boot Record) 4) Partition Table - 각각 16 byte씩4개의 엔트리를 가지고 있음 27
  • 29. 파티션 & 볼륨 4. MBR(Master Boot Record) 4) Partition Table 파티션을 하나도 생성하지 않았을 때 모든 파티션 테이블에0이 들어감 28
  • 30. 파티션 & 볼륨 4. MBR(Master Boot Record) 4) Partition Table 파티션을 하나 만들어 주면 파티션 테이블 첫 번째 줄에 파티션에 대한 정보가 기록됨. 29
  • 31. 파티션 & 볼륨 4. MBR(Master Boot Record) 4) Partition Table 파티션 테이블에 기록되는 정보는 다음과 같다. - Boot Flag - 파티션 시작의 CHS(Cylinder-Head-Sector) 주소 - 파티션 타입 - 파티션 끝의 CHS 주소 - 파티션 시작 LBA(Logical Block Address) 주소 - 파티션 섹터의 수 30
  • 32. 파티션 & 볼륨 4. MBR(Master Boot Record) 4) Partition Table - Boot Flag + 컴퓨터가 부팅할 때 운영체제가 어떤 파티션에 위치해 있는지 구분하기 위해 사용. (운영체제가 설치된 파티션을 표시) + 부팅 불가능한 파티션일 경우 0x00으로 설정 + 부팅 가능한 파티션일 경우 0x80으로 설정 31
  • 33. 파티션 & 볼륨 4. MBR(Master Boot Record) 4) Partition Table - 파티션 시작 CHS 주소(Starting CHS Address) + 실린더: 0x00 / 헤드 : 0x21 / 섹터 : 0x20 -> 0x002120 32
  • 34. 파티션 & 볼륨 4. MBR(Master Boot Record) 4) Partition Table - 파티션 타입(Partition Type) + exFAT, HPFS, NTFS : 0x07 33
  • 35. 파티션 & 볼륨 4. MBR(Master Boot Record) 4) Partition Table 34
  • 36. 파티션 & 볼륨 4. MBR(Master Boot Record) 4) Partition Table - 마지막 CHS 주소(Ending CHS Address) + 실린더 : 0xFF / 헤드 : 0xFF / 섹터 : 0xFE -> 0xFFFFFE 35
  • 37. 파티션 & 볼륨 4. MBR(Master Boot Record) 4) Partition Table - 시작 LBA 주소(Starting LBA Adres) + LBA 2048(0x00000800) + 섹터 2048로 이동해 보면 NTFS(New Technology File System) 파일 시스템을 의미하는 시그니처가 존재, 하단에 BR의 시그니처인 0x55AA가 존재 -> 정상적으로 NTFS 파일 시스템을 가지는 파티션의 시작 부분 섹터 2048 36
  • 38. 파티션 & 볼륨 4. MBR(Master Boot Record) 4) Partition Table - 파티션 섹터 수(Size in Sector) + 125,822,976개(0x077FE800) + 파티션 시작 섹터(2,048) + 섹터의 개수(125,822,976) - 1 = 파티션의 마지막 섹터 (125,825,023) 37
  • 39. 파티션 & 볼륨 4. MBR(Master Boot Record) 4) Partition Table + 파티션 시작의 부분과 똑같음 -> 해당 파티션의 마지막 부분이라는 것을 알 수 있음 섹터 125,825,023 38
  • 40. 파티션 & 볼륨 3. MBR ( Master Boot Record ) * FTK Imager로 MBR확인 - 추가로 CHS타입을 사용하지 않기 때문에 나머지를 0으로 나타냄 39
  • 41. 파티션 & 볼륨 3. MBR ( Master Boot Record ) * 파티션 타입 확인 - NTFS 파일 시스템의 시그니쳐( EB 52 90 4E 54 46 53 검색) * BR의 위치 확인 - BR의 섹터를 확인 할수있다 - 섹터는 2048의 위치한다 40
  • 42. 파티션 & 볼륨 3. MBR ( Master Boot Record ) * LBA 확인 - Size in Sector: LBA 0x000F97FF (파티션의 크기) * 파티션의 섹터 수를 확인 - BR의 시작섹터 2048 (0x100000), 마지막 섹터 307144(0x95f9000) - 파티션의 섹터 수 = 305,096(0x4a7c8) 41
  • 43. 파티션 & 볼륨 3. MBR ( Master Boot Record ) * MBR 복원 - 위의 계산으로 나온 값을 복원 한다면 이렇게 표현할수 있다 1. Partition Type : 0x07(NTFS) 2. Starting LBA Addr = LBA 0x800 3. Size in Sector : LBA 0x000F97FF ( 파티션의 크기) 4. Signature: 0x55AA 42
  • 44. 파티션 & 볼륨 5. GPT(GUID Partition Table) 43
  • 45. 파티션 & 볼륨 5. GPT(GUID Partition Table) ○ LBA(Logical Block Addressing) 주소 체계를 사용한다. ○ MBR의 단점을 극복하기 위해서 파티션 엔트리를 128 Byte로 확장하여 최대 128개의 파 티션 생성이 가능하다. 디스크의 최대 용량은 이론적으로 8ZB(제타바이트)까지 지원 가능하 지만 18EB(엑사바이트)로 제한된다. ○ x64 기반의 플랫폼에서 사용 가능하다. ○ CRC(Cyclic Redundancy Check)를 이용해서 파티션 테이블 보호가 가능하다. → 신뢰성 확보 ○ GPT의 중요 데이터 구조는 볼륨의 끝에 복제본을 저장한다. → 장애 복구 가능 44
  • 46. 파티션 & 볼륨 5. GPT(GUID Partition Table) 44
  • 47. 파티션 & 볼륨 5. GPT(GUID Partition Table) > diskpart > list disk 위의 명령어를 통해 사용자의 디스크가 현재 어떤 종류의 디 스크인지 알 수 있음 45
  • 48. 파티션 & 볼륨 5. GPT(GUID Partition Table) ● GPT 파티션 구조 ○ Primary GPT 영역 · Protective MBR · Primary GPT Header · GPT Partition Entry ○ Secondary GPT 영역(복원 용도) · GPT Partition Entry · Secondary GPT Header 46
  • 49. 파티션 & 볼륨 5. GPT(GUID Partition Table) 47
  • 50. 파티션 & 볼륨 5. GPT(GUID Partition Table) 48
  • 51. 파티션 & 볼륨 5. GPT(GUID Partition Table) ● Protective MBR ○ LBA 0에 위치한다. ○ 기존 MBR과 호환할 수 있다. ○ 보는 방법은 MBR 영역과 동일하다. ○ 2TB 단일 파티션으로 인식한다. ○ GPT 디스크를 인식하지 못하고 MBR 디스크만을 인식하는 시스템이나 프로그램에서 해당 디 스크가 비어 있는 것으로 착각하고 GPT 디스크를 수정하는 것을 방지하기 위해 해당 디스크가 비 어 있지 않다는 것을 알려주는 역할을 한다. 49
  • 52. 파티션 & 볼륨 5. GPT(GUID Partition Table) ● GPT Header ○ LBA 1에 위치한다. ○ GPT에 대한 전반적인 설정 정보를 기록한다. ○ 총 92 byte로 구성된다. ○ 그 이외에 영역은 NULL 값으로 기록한다. 50
  • 53. 파티션 & 볼륨 5. GPT(GUID Partition Table) ● Partition Table ○ LBA 2~33 ○ 각 파티션에 대한 전반적인 설정 정보를 기록한다. 51
  • 54. 파티션 & 볼륨 5. GPT(GUID Partition Table) 52
  • 55. 파티션 & 볼륨 5. GPT(GUID Partition Table) 53
  • 56. 파티션 & 볼륨 5. GPT(GUID Partition Table) 54
  • 57. 파티션 & 볼륨 5. GPT(GUID Partition Table) 55
  • 58. 파티션 & 볼륨 5. GPT(GUID Partition Table) 56