Slide 1

Similar documents
Microsoft PowerPoint - [#4-1] NTFS.pptx

Microsoft PowerPoint - [#4-2] File System Forensic Analysis.pptx

Outline 1. FAT12/16/32 ü Introduction ü Internals ü Directory Structure ü Example

8.파일시스템과 파일 복구

Microsoft PowerPoint - 알고리즘_1주차_2차시.pptx

8.파일시스템과 파일 복구

05Àå

PowerPoint Presentation

제목을 입력하세요

디지털포렌식학회 논문양식

SRC PLUS 제어기 MANUAL

휠세미나3 ver0.4

PowerPoint Presentation

슬라이드 1

PowerPoint Presentation

PCServerMgmt7

디지털포렌식학회 논문양식

슬라이드 1

Poison null byte Excuse the ads! We need some help to keep our site up. List 1 Conditions 2 Exploit plan 2.1 chunksize(p)!= prev_size (next_chunk(p) 3

목 차

MS-SQL SERVER 대비 기능

Dropbox Forensics

Microsoft PowerPoint - o8.pptx


adfasdfasfdasfasfadf

Orcad Capture 9.x

ORANGE FOR ORACLE V4.0 INSTALLATION GUIDE (Online Upgrade) ORANGE CONFIGURATION ADMIN O

목차 BUG offline replicator 에서유효하지않은로그를읽을경우비정상종료할수있다... 3 BUG 각 partition 이서로다른 tablespace 를가지고, column type 이 CLOB 이며, 해당 table 을 truncate

슬라이드 1

GNU/Linux 1, GNU/Linux MS-DOS LOADLIN DOS-MBR LILO DOS-MBR LILO... 6

SMB_ICMP_UDP(huichang).PDF

Microsoft PowerPoint - [#3-2] FAT File System - exFAT.pptx

네이버블로그 :: 포스트내용 Print VMw are 에서 Linux 설치하기 (Centos 6.3, 리눅스 ) Linux 2013/02/23 22:52 /carrena/ VMware 에서 l

Remote UI Guide

금오공대 컴퓨터공학전공 강의자료

untitled

thesis

PowerPoint 프레젠테이션

목차 1. 제품 소개 특징 개요 Function table 기능 소개 Copy Compare Copy & Compare Erase

Microsoft Word - FS_ZigBee_Manual_V1.3.docx

C# Programming Guide - Types

Microsoft PowerPoint - 02_Linux_Fedora_Core_8_Vmware_Installation [호환 모드]

Microsoft Word doc

-. Data Field 의, 개수, data 등으로구성되며, 각 에따라구성이달라집니다. -. Data 모든 의 data는 2byte로구성됩니다. Data Type는 Integer, Float형에따라다르게처리됩니다. ( 부호가없는 data 0~65535 까지부호가있는

PRO1_02E [읽기 전용]

알아 둘 사항 아이오드 제조사는 본 기기에 하드디스크를 포함하여 출고하지 않습니다. 따라서 하드디스크에 문제가 발생할 경우, 구매처 또는 해당 하드디스크 서비 스센터에 문의 하시기 바랍니다. 정해진 용도 외의 사용으로 발생한 문제에 대해서, 당사는 어떠한 책임도 지지

Microsoft PowerPoint - ch09 - 연결형리스트, Stack, Queue와 응용 pm0100

Tablespace On-Offline 테이블스페이스 온라인/오프라인

3. FAT32 파일시스템의구조 1) 마스터부트레코드 (MBR) 하드디스크의첫번째섹터를 MBR 이라고하며, 512 바이트의크기입니다. MBR 에서는해당디스크의파티션에대한정보를담고있으며, 아래 < 그림1 > 과같은구조를갖습니다. < 그림1. 마스터부트레코드구조 > MBR

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202839C1D6C2F7207E203135C1D6C2F >

1217 WebTrafMon II

chap 5: Trees

BMP 파일 처리

Microsoft PowerPoint - 6.pptx

solution map_....


PowerPoint 프레젠테이션

다음 사항을 꼭 확인하세요! 도움말 안내 - 본 도움말에는 iodd2511 조작방법 및 활용법이 적혀 있습니다. - 본 제품 사용 전에 안전을 위한 주의사항 을 반드시 숙지하십시오. - 문제가 발생하면 문제해결 을 참조하십시오. 중요한 Data 는 항상 백업 하십시오.

hlogin2

APOGEE Insight_KR_Base_3P11

1. Execution sequence 첫번째로 GameGuard 의실행순서는다음과같습니다 오전 10:10:03 Type : Create 오전 10:10:03 Parent ID : 0xA 오전 10:10:03 Pro

Microsoft Word - FunctionCall

PowerPoint Presentation

bn2019_2

Microsoft PowerPoint - 알고리즘_5주차_1차시.pptx

Mango220 Android How to compile and Transfer image to Target

Microsoft Word - HD-35 메뉴얼_0429_.doc

DE1-SoC Board

<443A5C4C C4B48555C B3E25C32C7D0B1E25CBCB3B0E8C7C1B7CEC1A7C6AE425CBED0C3E0C7C1B7CEB1D7B7A55C D616E2E637070>

6. 설치가시작되는동안 USB 드라이버가자동으로로드됩니다. USB 드라이버가성공적으로로드되면 Setup is starting( 설치가시작되는중 )... 화면이표시됩니다. 7. 화면지침에따라 Windows 7 설치를완료합니다. 방법 2: 수정된 Windows 7 ISO

R50_51_kor_ch1

API 매뉴얼

Integ

DocsPin_Korean.pages

단계

PRO1_09E [읽기 전용]

서현수

Deok9_Exploit Technique


강의 개요

소개 TeraStation 을 구입해 주셔서 감사합니다! 이 사용 설명서는 TeraStation 구성 정보를 제공합니다. 제품은 계속 업데이트되므로, 이 설명서의 이미지 및 텍스트는 사용자가 보유 중인 TeraStation 에 표시 된 이미지 및 텍스트와 약간 다를 수

PowerPoint 프레젠테이션

untitled

,,,,,, (41) ( e f f e c t ), ( c u r r e n t ) ( p o t e n t i a l difference),, ( r e s i s t a n c e ) 2,,,,,,,, (41), (42) (42) ( 41) (Ohm s law),

Solaris Express Developer Edition

Microsoft PowerPoint - ch07.ppt

s SINUMERIK 840C Service and User Manual DATA SAVING & LOADING & & /

UML

컴퓨터관리2번째시간

Backup Exec

<4D F736F F F696E74202D203137C0E55FBFACBDC0B9AEC1A6BCD6B7E7BCC72E707074>

항목

PowerPoint Presentation

6주차.key

Chapter 05. 파일접근권한관리하기

Microsoft PowerPoint - 3ÀÏ°_º¯¼ö¿Í »ó¼ö.ppt

vm-웨어-01장

슬라이드 1

7장. 교착상태(deadlock)

Transcription:

이경식 (n0fate) 08/12/30

목차 1. NTFS Architecture 2. NTFS Boot Record 3. NTFS Master File Table 4. NTFS Attribute 5. Data Integrity and Recoverability with NTFS 6. NTFS Index

NTFS 에대한기본적인내용과기본구조에대해알아보자

NTFS Architecture Hard Disk Master Boot Record Boot Sector Ntldr (NTFS.sys, Ntoskrnl.exe) Operating System Applications Kernel Mode User Mode

NTFS Architecture Component Hard Disk Boot Sector Master Boot Record 하나이상의파티션을포함 Component 설명 Ntdlr 이로드하는파일시스템구조와볼륨레이아웃에대한정보를저장하고있는부팅가능한파티션 메모리로시스템바이오스를로드하기위한실행코드를포함, 활성파티션과부팅가능한파티션에대한정보를가진다 NTLDLR.dll CPU 를보호모드로변경하고, File system 을시작, Boot.ini 를읽는다. NTFS.sys Ntoskrnl.exe Kernel Mode User Mode NTFS System File Driver 시스템디바이스드라이버의로드에대한정보 시스템의모든하드웨어와메모리에접근가능한레벨 어플리케이션구동이가능한레벨

NTFS Structure NTFS 구조 모든데이터를파일의형태로관리 MFT(Master File Table) 또한데이터영역 즉, File System 관리데이터도파일로존재 성능과안정성을위해실제로는구조를잡아놓음 Data영역 Boot Record Master File Table

NTFS Structure Boot Record Jump Code + OEM ID + BPB(BIOS Parameter Block) Windows 의부팅코드와여러설정값을가짐 손상시 FileSystem 인식이불가능 NTFS 시스템에서는 MFT 의위치를가리키는것이주목적이다. 볼륨영역을여러개로나누지않으므로, FAT 파일시스템에비해 BR 이간단한편

NTFS Structure Master File Table 볼륨에존재하는모든파일과디렉터리정보를가짐 MFT Entry의집합 MFT Entry 0~15번까지는시스템파일용으로예약 예약된부분을 meta data file이라부름 ($ 표시 ) Data 영역 파일과디렉터리를담는영역 클러스터단위로읽기 / 쓰기를수행 볼륨크기는최대 4KB로지정 ( 압축기능을위해 )

NTFS Boot Record 에대한소개및분석

Boot Record 부팅코드와여러설정값을가짐 WinHEX 을이용하여원하는파일시스템에대한기본구조를확인 View Template Manager Jump Boot Code(3byte) EB 52 90 x86 계열부팅시이항목을읽어해당부트영역으로점프 EB 52 JMP 7C54 90 - NOP OEM ID(8Byte) NTFS 제조사또는시스템의이름을기록

Boot Record Analysis 0x0B - BytesPerSector(2Byte) 0x00 20 Sector 당바이트수 (4096 바이트까지가능 ) 0x0D - SectorPerCluster(1Byte) 0x08 Cluster 당 Sector 수 0x0E - Reseved Sector(FAT 시스템을위해존재 ) - 0x00 00

Boot Record Analysis 0x15 - Media(1Byte) 0xF8 DOS에서사용하는값, 0xF8 Hard Disk, 0xF0 FDD 0x28 - Total Sector(8Byte) 가변 Volume의총 Sector수 저장장치의총섹터수가아님 0x4EB1BF0000000000 12,562,766 sectors ~6GB

Boot Record Analysis 0x30 - Start of MFT(8Byte) 가변 $MFT의시작클러스터의주소 0x040000 이값을이용하여 MFT로이동, 볼륨분석을하게된다. 0x38 - Start of MFTMirr(8Byte) 가변 MFT 의백업본의시작클러스터주소 0x0BFB14 MFT 손상시이항목을이용하여복구

Boot Record Analysis 0x40 - MFT Entry Size(1Byte) 0xF6 MFT Entry 크기지정 양수 MFT Entry는해당값만큼클러스터를사용 음수 MFT Entry크기가클러스터크기보다작을경우 MFT Entry크기는 2 MFT Enty Size 만큼의 Byte가된다. ex) 0xF6 0xF6-10 2-10 1,024byte

Boot Record Analysis 0x44 - Index Record Size(1Byte) 0x01 인덱스레코드의크기 MFT Entry Size 와동일한방식 0x48 - Serial Number(8Byte) 가변 Volume Unique ID Number

NTFS 의 MFT 는볼륨에존재하는모든파일 / 디렉터리에대한정보를담는어떻게보면파일시스템의가장중요한부분이라고할수있다. 이번장에서는이 MFT 에대해알아보자.

MFT 볼륨에존재하는모든파일 / 디렉터리에대한정보를담음 파일 / 디렉터리의이름, 생성시기, 크기, 위치, 소유자등 NTFS 의크기는가변적 초기크기는작지만 MFT 의크기가커지면줄어들지않는다. 즉, 많은파일을삭제하면비어있는 MFT Entry 가많아짐

MFT MFT Entry MFT의구성요소 MFT Entry Header(42byte) + Attribute( 나머지 ) 각 MFT Entry는하나의파일 / 디렉터리에대한정보를가짐 MFT Entry 크기가작으면, 여러개에나눠서담는다. 해당 MFT Entry 들이붙어있을필요는없음. 0~15 번까지의 MFT Entry 는 Meta Data File 이라고불리며파일시스템관리파일로예약 구별을위해앞에 $ 를붙이고첫글자를제외하고전부소문자 ($MFT 제외 )

NTFS MFT Meta Data File Entry Num File Name Description 0 $MFT Master File Table 1 $MFTMirr Master File Table mirror (4개의 record를복제 ) 2 $LogFile Transaction Journal log 3 $Volume Volume Label, Version.. 4 $AttrDef attribute names, numbers, and descriptions 5. The root folder 6 $Bitmap Showing free and unused clusters 7 $Boot Boot Record info 8 $BadClus Bad Cluster info 9 $Secure Security, Access info 10 $Upcase Lowercase character Unicode uppercase character 11 $Extend NTFS extension file 12~15 Unused Reserved Future use

MFT Entry Header 0x00 Signature(4Byte) FILE MFT Entry 에문제발생시 BAAD 라는값을가진다. 0x02 - Fixup Array offset(2byte) 0x48 Fixup Array 의위치아래그림에서는 0x0030 을가리킴 0x04 - Fixup values count(2byte) 0x03 Fixup Array 에저장되어있는항목의개수 0x04

MFT Entry Header - Fixup Array 해당섹터의데이터에문제가없는지검사 MFT Entry Header 뒤쪽에위치 각 End of Sector 의맨뒤에 Signature(2byte) 를입력하고, Signature 값뒤에원래섹터값을저장 만약 MFT Entry Data Size 가 3 Sector 라면 Count of Fixup Values 값은 4(Signature Sector 까지포함 ) Fixup Array 를사용하는데이터 MFT Entries, INDEX Records, RCRD Records, RSTR Records

MFT Entry Header 0x08 - $LogFile Sequence Number(8Byte) - 가변 $LogFile 에기록된해당데이터의수행관련마지막트랜젝션위치 0x10 Sequence Value(2Byte) 가변 MFT Entry 가할당 / 할당해제될때마다하나씩증가 0x12 Hard Link Count(2Byte) 0x01 MFT 에연결된하드링크수, Base MFT Entry 에서만사용

MFT Entry Header 0x14 First Attribute offset(2byte) 0x38 0x16 Flags(2Byte) 가변 MFT Entry 의상태, 속성정보를가짐. 0x01 0x02 해당 MFT Entry 사용중 해당 MFT Entry 는디렉터리 0x18 MFT Entry 사용크기 (4Byte) 가변 0x1C MFT Entry 할당크기 (4Byte) 0x0400

MFT Entry Header 0x20 Base MFT Entry 위치 (8Byte) 가변 해당 MFT Entry 가 Non-base MFT Entry 의경우자신의 Base MFT Entry 의위치값을가진다. 이값은 File Reference Address 의형태를가지게된다. 0x28 MFT Entry Attribute Type ID(2Byte) 가변 MFT Entry 내의속성들이가지는고유의 ID

File Reference Address MFT Entry 는 48bit Address 를가진다. MFT Entry Address 또는 File Record Number라고도불린다. NTFS는 MFT Entry Address값을그대로사용하지않음 File Reference Address File Reference Address (64bit) MFT Entry Header->Sequence Value + MFT Entry Address ex) MFT Entry = 1024, Sequence Value = 0x20 MFT Entry Address = 0x000000000400 File Reference Address = 0x0020000000000400 Sequence Value(16bit) MFT Entry Address(48bit)

File Reference Address MFT Entry 의내용이변했는지판단하기위함. Sequence Value 는 MFT Entry 의할당상황이바뀔때마다값이증가 즉, File Reference Addr 의상위 16 비트값이바뀐다면, 해당 Entry 에자신이찾던파일을담지않음을의미

Base/Non-base MFT Entry 파일에대한정보가많아하나의 MFT 에담기불가능할경우여러개의 MFT Entry 를사용 Base MFT Entry 는 Non-base MFT Entry 들을가리킴 Non-base MFT Entry 들은 File Reference to base MFT Entry (0x20) 라는항목 (MFT Header) 을통해 Base MFT Entry 위치값을가진다.

MFT Entry 의모든정보는속성으로관리된다. 이번장에서는이속성이란것에대해한번알아보도록하자.

Attribute 란? MFT Entry = MFT Entry Header + Attribute MFT Entry 가담고있는파일특성에따라속성이바뀜 파일생성시간, 파일이름, 파일내용 etc.. MFT Entry Header Attribute Unused Space

속성의구성 Attribute = Attribute Header + Attribute Content 동일한헤더구조 + 속성마다다른속성내용형태 MFT Entry 는몇개의속성을가지는지에대한정보를가짐 MFT Entry의마지막속성뒤에는 End Marker를넣어준다. 0xFFFFFFFF End Marker = 0xFFFFFFFF MFT Entry Header Attribute Header Attribute Content Attribute Header Attribute Content End Marker Unused Space

속성의종류 속성타입번호속성이름설명 16 $STANDARD_INFORMATION 최근접근시간, 생성시간, 소유자, 보안아이디등. 32 $ATTRIBUTE_LIST 속성을찾기위한리스트 48 $FILE_NAME 파일이름 (UNICODE) 64 $VOLUME_VERSION 볼륨정보 (Win NT) 64 $OBJECT_ID 16byte 로이루어진파일이나디렉터리를위한고유값 (Win 2000 이상 ) 80 $SECURITY_DESCRIPTOR File Access Control, 보안속성 96 $VOLUME_NAME Volume name 관련정보 112 $VOLUME_INFORMATION 파일시스템의버전과여러 Flag 를가짐 128 $DATA 파일의내용

속성의종류 ( 계속 ) 속성타입번호속성이름설명 144 $INDEX_ROOT 인덱스트리의루트노드 160 $INDEX_ALLOCATION 인덱스트리와연결된노드 176 $BITMAP 할당정보를관리 192 $SYMBOLIC_LINK Soft Link(NTFS 1.2) 192 $REPARSE_POINT Soft Link 에서사용하는 reparse 위치정보를가짐 (NTFS 3.0 ) 208 $EA_INFORMATION OS/2 App 과의호환성을위함 224 $EA OS/2 App 과의호환성을위함 256 $LOGGED_UTILITY_STRE AM 암호화된속성정보와 Key 값을가짐 (NTFS 3.0 )

속성의종류 MFT Entry 와 Attribute Name 은 MetaData 형식 Attribute의경우엔전부대문자. MFT Entry의경우엔첫글자만대문자를가짐 단, MFT Entry 0번인 $MFT 파일은전부대문자로기술 속성타입번호가낮은순서대로저장. $STANDARD_INFORMATION(ID : 16) 가제일앞에위치 $STANDARD_INFORMATION(Type ID : 16) MFT Entry Header Attribute Header Attribute Content Attribute Header Attribute Content Unused Space $FILE_NAME(Type ID : 48)

속성저장방식 Resident 속성헤더뒤쪽에바로속성내용이오는형식 MFT Entry내에완전한속성의내용이존재 Non-Resident 속성내용이너무커서 MFT Entry안에넣지못하는경우 ex) $DATA 속성내용을따로클러스터를할당하여저장 Attribute Content는어떤클러스터에할당되었는지만저장 Cluster Run Attribute Content MFT Entry Header Attribute Header Attribute Content Attribute Header End Marker Unused Space

속성저장방식 (Non-Resident) Cluster Run Data Structure 속성내용이어떤클러스터에할당되어있는지기록 시작클러스터와길이를기록 Run Data단위로 Start Cluster와 Length를저장한다. 데이터분산시 Run Data 크기가커진다.

속성저장방식 (Non-Resident) LCN Logical Cluster Number Volume 의첫번째클러스터부터순차적으로지정되어있는주소 중복주소는존재하지않음 VCN Virtual Cluster Number 파일의첫번째클러스터부터순차적으로지정 파일의첫번째클러스터 VCN = 0 동일파일에서만중복되지않음

속성저장방식 (Non-Resident) Standard Information FileName Starting VCN Data Starting LCN Number of clusters 0 1355 4 4 1588 4 Run List VCN 0 1 2 3 4 5 6 7 LCN 1355 1356 1357 1358 1588 1589 1590 1591

Sparse Data Storage $DATA 속성에만적용되는형식 0 으로채워진연속적인클러스터에대해 0 으로채워져있다는사실만을기록, 실제로저장하진않음 ex) DB 저장방식 Sparse data(10gb) Sparse data(10gb) Disk space used(17gb) Disk space used(7gb) Meaningful data(7gb) Without Sparse File Attribute Set Meaningful data(7gb) With Sparse File Attribute Set

Unnamed and Named Streams exstream.doc Main Unnamed Stream Visible to all file systems exstream.doc:stream1 Stream1 exstream.doc:stream2 Stream2 Visible to NTFS volumes only exstream.doc:streamn Streamn

Run List Cluster Run 은처음 1byte 가각각상위 4 비트는 Run Offset 항목의길이값, 하위 4 비트는 Run Length 항목의길이값을가진다. 처음 Run Offset 값을제외하곤전부이전 Cluster Run 의값에상대적이다. Run Offset 에는음수가들어갈수있다. Sparse 형태의 Run List 가능.

Run List Cluster Run 0011 0010 Run Length Run Offset 1byte 2byte 3byte Header Data ex) 11 30 60 21 10 00 01 11 20 E0 00 Ans) Header : 1 1, Run Length : 30 Run Offset : 60 Header : 2 1, Run Length : 10 Run Offset : 00 01 Header : 1 1, Run Length : 20 Run Offset : E0

Encryption File System(EFS) EFS Encrypted File System DESX 를이용한파일내용을암호화 암호화한파일내용을 $DATA 속성에저장 암호화에사용된 Random Key 는사용자공개키로암호화 암호화된 FEK 는 $LOGGED_UTILITY_STREAM 속성에저장 암호화작업도중 EFS0.TMP 파일을생성 파일의원형데이터를가짐 그로인해암호화가되더라도, 해당파일복구에성공시엔쓸모가없어진다.

Encryption process

Decryption process

Encryption File System(EFS) DDF 는파일을해독할수있는유저마다 Entry 가생성 SID, 암호화정보, FEK DEF 는데이터를복구하는각각의방법을위한생성 인증된사용자가데이터를접근하는데사용하는 FEK 를담고있음.

NTFS 는데이터무결성보장및복구가가능하도록되어있다. 이번장에서는 NTFS 가어떤식으로이런특징을가지고있는지알아보도록하자.

Data Recoverability NTFS 는일반적인트랜젝션로깅과복구기술을사용하여볼륨의일관성을보장해주는파일복구시스템을가지고있다. 디스크실패이벤트발생시 로그파일에저장된정보를접근, 프로시저를동작하여복구 NTFS 복구프로시저는일관적인상태로볼륨을복구시키는정확성을지니고있다. 트랜잭션로깅은작은오버헤드를가지고있다.

Data Recoverability NTFS 는컴퓨터의재부팅실패후, NTFS 볼륨의프로그램에접근시 HDD recovery operations 를이용하여자동적으로볼륨의무결성을지킨다. NTFS 는또한볼륨의배드섹터를최소화하기위해 cluster remapping 이라는기술을사용 MBR 이나부트섹터에서문제발생시엔볼륨의데이터에액세스할수없음.

Recovering Data with NTFS NTFS 는시스템파일의수정과같은 I/O 명령을관찰 트랜젝션은완료를제외한 disk failure 이벤트와같은문제가발생시엔 rolled back 을수행 NTFS 는트랜젝션로깅과복구를통해볼륨의오류가없음을보장한다. 모든시스템파일은 system failure 후에접근상태로남게된다. 그러나유저데이터는 system failure 나배드섹터와같은이유로데이터가손실될수있다.

Cluster Remapping bad sector error 발생 cluster remapping 배트섹터를포함한클러스터를리매핑하고, 데이터에새로운클러스터를할당 읽는도중에에러가발생시 NTFS 는에러를발생시킨프로그램을리턴 해당데이터손실 쓰는도중에에러가발생시 NTFS 는새로운클러스터에데이터를작성 해당데이터는손실되지않음.

Cluster Remapping NTFS 는배드섹터를포함한클러스터의주소를이용하여, 해당배드섹터를재사용할수없도록조치 Cluster remapping 은백업을수행하지않는다. 해당에러타입은 Event Log 를통해확인

NTFS 는 FAT File System 보다훨씬효율적인인덱싱능력을가지고있다. 이번장에서는 NTFS 의 Index 방식에대해알아보자.

Index? 파일시스템의빠른검색을위해인덱스구조로관리 ex) Directory Binary Tree 의변형인 B-Tree(Block-Tree) 사용 인덱스이름인덱싱하는데이터존재하는위치 $I30 $FILE_NAME attr 각디렉터리의 MFT Entry $SDH Security Descriptors $Secure Meta Data File $SII Security IDs $Secure Meta Data File $O Object IDs $ObjId Meta Data File $O Owner IDs $Quota Meta Data File $Q Quotas $Quota Meta Data File

B-Tree 노드하나에여러개의 Index Entry 항상 End Of Node 를가짐 n 개의 Index Entry 를가진 Index Node 는 n+1 의자식노드를가짐 각각의 Index Entry 는 MFT Entry 위치를가짐. 해당위치를이용하여자식노드로이동 B-Tree 는 MFT Record 보다디렉터리의정보가큰경우에도사용

Index Node Index Node Header + Index Entries Index Entry는가변적 마지막 Entry는 End Of Node를알림 최소크기 : Index Node Header + End Of Node Index Node는독립적으로존재하지않음. $INDEX_ROOT $INDEX_ALLOCATION attr에속함 Index Node Header앞에 attr Header를붙임 일반적으로 Root Index Node가 $INDEX_ROOT를가짐

NTFS B-Tree $INDEX_ ROOT Header [test.txt] MFT 40 [sample.txt] MFT 29 $INDEX_ROOT Attr [code.txt] MFT 43 End of Node [aaa.txt] MFT 58 [bbb] DIR MFT 34 End of Node [vvv.txt] MFT 77 [zzz.txt] MFT 55 End Of Node Index Record Header [fff.txt] MFT 55 [ooo.txt] MFT 77 [ggg] DIR MFT 29 [rrr] DIR MFT 92 [iii.txt] MFT 28 End Of Node End of Node $INDEX_ALLOCATION Attr

Reference IT Expert, 임베디드개발자를위한파일시스템의원리와실습 한빛미디어 Windows Internals (fourth edition) www.ntfs.com NTFS Document (http://info.21.lv/fat%20information/ntfsdoc/index.html) How NTFS Works : Local File Systems Microsoft (http://technet.microsoft.com/en-us/library/cc781134.aspx) Computer Forensics Presentation File - Santa Clara Univ. (http://www.cse.scu.edu/~tschwarz/coen152_05/pptpre/ntfsfs.ppt) 기타수많은웹사이트의정보