목록분류 전체보기 (63)
Piki's Play

12.4 파일이름 범주 - 파일이름 범주는 파일이름과 내용을 연결하는데 사용되는 데이터를 포함한다. 이제까지 NFTS의 저장밥법과 어떤 메타데이터가 저장되는지 알아보았다. 이 절에서는 파일 이름이 어떻게 연결되어 있는지 자세히 알아보자. NTFS는 인덱스를 사용해 디렉토리를 구성한다. 트리는 한개 이상의 노드를 포함하고 노드는 $INDEX_ROOT와 $INDEX_ALLOCATION 속성에 저장이 된다. $INDEX_ROOT 속성은 항상 트리의 루트이고 $INDEX_ALLOCATION은 다른 노드들을 저장하는데 사요오디는 인덱스 레코드들을 포함한다. $BITMAP 속성은 레코드들의 할당상태를 표현한다. 트리의 각 노드들은 인덱스 엔트리들의 목록을 포함한다. ▶ 디렉토리 인덱스 - NTFS 디렉토리는 헤더,..

12.3 메타데이터 범주 - 메타데이터 범주는 파일이나 디렉토리를 설명하는 데이터를 포함한다. 모든 메타데이터는 속성들 중 하나에 저장이 된다. 따라서 파일 속성의 세부 내용을 확인한다. 보통 파일은 $STANDARD_INFORMATION, $FILE_NAME, $DATA 속성을 갖는다. 디렉토리에서 사용하는 속성과 인덱스들은 '파일 이름 범주'에서 기술하도록 하겠다. ※ 다음 그림은 전형적인 표준 속성을 갖는 파일을 보여준다. ▶ $STANDARD_INFOMATION 속성 - $STANDARD_INFOMATION 속성은 모든 파일, 디렉토리에 존재하고 핵심적인 메타데이터를 포함한다. 이 속성에는 시간, 날짜스탬프 세트와 소유권, 보안, 할당정책이 있다. 이 속성은 필수는 아니지만 마이크로소프트가 제공하..

▶ 클러스터 - NTFS 파일은 속성의 집합이다. 속성 중 일부는 거주로 MFT엔트리에 저장하고 일부는 비거주이다. 둘다 클러스터에 내용을 저장한다. 한 클러스터는 연속된 섹터의 그룹이며 클러스터 당 섹터 수는 2의 거듭제곱(1,2,4,8,16...) 이다. - 각 클러스터는 0으로 시작하는 한개의 주소를 갖는다. 클러스터 0은 파일시스템의 첫 번째 섹터이고, 이것은 FAT로 계산하는 방법보다 훨씬 덜 복잡하다. NTFS에서 클러스터를 섹터주소로 변환하기 위해서는 한 클러스터에 섹터수로 클러스터 주소를 나눈다. SECTOR = CLUSTER * sector_per_cluster - NTFS에서 클러스터들은 어떠한 파일이나 속성에 할당 될 수 있다. 그러나 $Boot는 항상 첫 클러스터에만 할당이 된다. ..

-> 이 장에서는 5가지 분류모델을 이용한 NTFS 분석기술과 고려사항을 논의하도록 하겠다. 13장에서는 "NTFS 데이터 구조체"를 다룬다. NTFS는 모든것이 한개의 파일이기 때문에 무척 어렵다. 그래서 메타데이터 범주의 속성을 알아야 파일시스템 범주의 파일시스템 메타데이터를 볼 수 있다. 12.1 파일시스템 범주 - 파일시스템 범주는 파일시스템의 전반적인 설명데이터를 포함한다. 이 데이터는 특정 사용자의 파일이 아니다. NTFS에서는 이러한 데이터를 파일시스템 메타 데이터 파일에서 저장하고, 루트 디렉토리에 이 파일 이름들이 있다. 이러한 데이터들은 파일 시스템 어디든 위치할 수 있다. 다만 부트코드는 예외이다. - 이런 파일들의 흥미로운 한 가지 특징은 일반 파일들과 비슷하게 날짜와 시간 스탬프들..

11.5 다른 속성 개념들 - 이전 절에서 모든 NTFS 속성들에 적용할 수 있는 기본적인 개념들을 확인해 보았다. 모든 속성이 기본적이지는 않기 때문에 이번 절에서는 깊이있는 개념들을 살펴보자. 특별한 파일이 아주 많은 속성을 가질 때 어떤 일이 일어나는지 알아보고 그 다음에는 속성들의 내용을 압축하고 암호화하는 방법들을 알아보자. ▶ 기준 MFT엔트리 - 한 파일의 속성은 65,536개(16비트 식별자)가 있을 수 있고 속성 헤더를 모두 저장하기 위해 한 개 이상의 MFT엔트리가 필요할 수 있다. 추가적인 MFT엔트리들이 한 파일에 할당될 때, 그 원본은 기준 MFT엔트리가 된다. 비기준 엔트리는 그것들의 필드에 기준 주소를 가질것이다. - 기준 MFT엔드리에는 $ATTRIBUTE_LIST타입 속성이..

- NTFS(New Technologies File System)은 마이크로소프트에 의해서 설계되고 사용되던 기본 파일 시스템이다. - NTFS는 많은 특징들을 제공하고 확장성이 매우 뛰어나기 때문에 FAT보다 더 복잡한 파일 시스템이다. 따라서 앞서 배운 FAT보다 더 많은 시간을 투자해서 설명하겠다. 11.1 소개 - NTFS는 신뢰성, 보안, 대용량 장치를 지원하기 위해 설계되었다. 특정 내용으로 데이터 구조체를 감싸는 포괄적인 데이터 구조체를 사용해서 확장성을 제공한다. 또한 포괄적인 래퍼(Wrapper)는 지속되었는데, 이 한 예는 NTFS파일시스템 데이터의 모든 바이트가 한 파일에 할당되는 것이다. 이 장에서는 NTFS파일 개념에 대해 설명하겠다. - NTFS는 복잡한 파일시스템이고 마이크로소..

-> 이번장에서는 FAT를 구성하는 데이터 구조체를 분석해보자. 여기서는 다섯가지 분류모델을 무시하고 개별구조체에 집중해보자. 10.1 부트섹터 - 파일시스템의 첫 섹터에 존재하고, 여러 파일 시스템 범주데이터가 여기에있다. 또한 볼륨레이블은 'Noname'이다. - FAT12/16과 FAT32는 부트섹터의 구조가 다르다. 그러나 첫 36비트는 동일하다. -> 첫 번째 값 0~2바이트는 부트코드가 어디에 있는지 알려준다. 이는 해당시스템이 부팅과 관련이 없다면 무의미하다. (Dos와 윈도우의 경우, 부팅과 관련없는 파일시스템도 이 값을 가져야한다. 하지만 리눅스와 같은 다른 운영체제들은 그러지 않다.) - 매체유형(미디어유형)은 이동식인지 고정매체인지 구분하기 위함이지만, 윈도우는 이를 사용하지 않는다...

9.5 파일 이름 범주 - 일반적으로 파일이름 범주 분석은 메타구조체를 이용해서 파일명을 확인시켜준다. FAT는 파일명주소와 메타데이터 주소를 구분하지 않는다. 이미 파일명이 메타주소로 사용되기 때문에 이미 메타데이터 범주에서 파일과 디렉토리 이름의 기본 내용을 설명하였다. 디렉토리 엔트리 구조체는 파일명으로 8문자, 확장자로 3문자를 이용해 8.3규칙을 통해 파일명을 저장한다. 이 절에서는 어떻게 FAT가 긴 파일명을 처리하는지 집중해서 다룬다. - 파일명이 8문자보다 길거나 이름에 특별한 값이 있다면 디렉토리에 LFN(Long File name) 타입이 추가된다. LFN이 있는 파일들 또한 SFN(Short File name) 디렉토리를 갖는다. LFN엔트리들이 시간, 크기, 시작 클러스터 정보를 포..