반응형

파일시스템 10

[파일 시스템]NTFS - 5편(Index)

NTFS Index NTFS에서는 자료들을 빠르게 검색할 수 있도록 인덱스 구조로 관리하고 있다. 대표적인 예로 디렉터리가 있다. 왜냐하면 디렉토리 구조는 $FILE_NAME을 포함하고 있기 때문이다. 공부를 해본 사람이라면 Hex Editor로 봤을 때 $I30이라는 것을 본 적이 있을 것이다. 그것이 하나의 예이다. Windows 2000이하는 오로지 인덱스에 $FILE_NAME만 사용됐었다. 하지만 지금은 여러 속성에 대해서 Index를 사용하고 있다. 다음은 NTFS가 관리하는 데이터표이다. 그러면 인덱스가 어떻게 구현되는지 알아봅시다 B-Trees B-Tree라는 개념을 알아야 합니다. 파일시스템 뿐만 아니라 데이터베이스에서도 많이 사용 트리 자료구조의 일종입니다. 이진 트리를 확장해 하나의 노..

DFIR/DFIR 2021.11.12

[파일 시스템]NTFS - 4편(Resident, Cluster Run)

본 포스팅에서는 Resident, Non-Resident, Cluster Run을 다룰 예정입니다. - Resident, Non-resident - Cluster Run NTFS구조 지난 시간에 이어 NTFS 구조와 MFT 엔트리 구조를 보겠습니다. 이 그림을 보고 간단하게 설명하고 넘어갈 수 있으면 좋겠습니다. 그럼 Resident와 Non-resident를 알아보도록 하겠습니다. Resident & Non-resident 속성 헤더 Resident 속성은 속성의 내용이 속성 헤더 바로 뒤에 위치 합니다. 하지만 Non-resident는 크기가 커서 MFT 엔트리 1,024바이트 내에 있지 못하고 따로 클러스터를 할당 받아 저장하는 방식입니다. 당연히 속성 내용 위치에는 할당 받은 클러스터의 위치 정보..

DFIR/DFIR 2021.11.12

[파일 시스템]NTFS - 2편(MFT, Fixup array)

NTFS 구조 NTFS의 기본 구조는 아래와 같습니다. VBR, MFT. Data Area로 이루어져 있는 것을 다시 한 번 상기시켜보도록 합시다. 1편에서 VBR에 대해서 다뤘으며, VBR은 Boot Sector와 NTLDR로 이루어져 있었습니다. 또한, 최종적으로 NTFS복원까지도 해봤습니다. VBR은 단지 부팅을 위한 영역이다. 오늘 2편에서 다룰 내용은 MFT입니다. VBR다음에 MFT가 바로 붙어있는 사진이 있지만 사실상 물리적으로 떨어져 있습니다. 또한 MFT는 VBR이후 모든 볼륨 영역 아무곳에나 위치할 수 있습니다. MFT란 MFT 엔트리 0번은 $MFT파일을 가리킨다. $MFT파일은 MFT영역 자체의 정보를 가지고 있다. MFT파일의 메타 정보를 유지하고 있는 엔트리이다. $MFT엔트리 ..

DFIR/DFIR 2021.11.12

[파일 시스템]NTFS - 1편(VBR)

이번 글에서 다루는 내용 NTFS 구조 NTFS 부트섹터 MFT 찾아가기 VBR 복원 NTFS 구조 모든 데이터는 파일 형태로 관리되며, VBR의 위치는 고정되어 있다. MFT의 시작은 일반적으로 VBR이후지만, 크기가 커지면서 데이터 영역에 추가로 할당되기도 한다. 참고로, NTFS는 N번 클러스터 * SPC하면 섹터위치로 이동한다. MBR ~ MBR slack : ROM BIOS가 사용한다(섹터 단위). 클러스터는 OS 포맷할 때 쓴 것. VBR(Volume Boot Record) NTFS VBR의 구조는 다음과 같습니다. NTFS는 클러스터 단위를 사용한다고 했었습니다. VBR도 할당될 때 기본 클러스터 크기만큼(512) 할당이 됩니다. 보통 4K이므로 8개 섹터를 할당 받습니다. Boot Sect..

DFIR/DFIR 2021.11.12

[Digital Forensic] GPT란?

GPT(GUID Partition Table) MBR 파티션 테이블의 용량 제약(2TB) 극복 인텔 BIOS의 대체 수단 ES(Extensible Firmware Interface)표준 제안 개선된 EFI 펌웨어에서 지원하는 파티션 테이블 형식 단순한 파티션 테이블 외에 다양한 디스크 정보 저장 1990년대 후반 GPT파티션 개발 GPT 파티션 최대 크기((0xFFFF FFFF FFFF FFFF 8ZB(20^70)) CRC(Cyclical Redundancy Check)를 이용해 파티션 테이블 보호 x64기반의 플랫폼에서 사용가능 GPT의 중요 데이터 구조는 볼륨의 끝에 복제본 저장(복구 가능) EFI(Extensible Firmware Interface)? 운영체제와 하드웨어 펌웨어 사이의 새로운 인터..

DFIR/DFIR 2021.11.12

[Digital Forensic] MBR이란?

용어정리 MBR(Master Boot Record) MBR이란 운영체제를 주기억장치에 적재될 수 있도록 하기 위한 정보로서 첫 번째 섹터에 위치한다. MBR은 파티션 섹터 또는 마스터 파티션 테이블이라고도 불린다(파티션 위치에 관한 정보를 가지고 있기 때문). 부트 섹터 레코드에는 운영체제의 나머지 부분들을 메모리에 적재시키는 프로그램을 담고 있다. 모든 스토리지 저장장치는 MBR을 가지고 있다. 1980년대 개발 MBR 파티션 최대 크기(( 0xFFFF FFFF = 2TB(2^40)) 최근에는 MBR의 단점을 보완한 GPT(GUID Partition Table)가 사용되고 있다. 일반적인 부팅 과정 - POST(Power On Self-Test)동작 - BIOS에서의 하드웨어 체크 - BIOS에서 부팅..

DFIR/DFIR 2021.11.12

[파일 시스템] FAT12/16/32, NTFS란?

FAT와 NTFS에 대해서 간단하게 알아보도록 합시다. 그 전에 앞서 부팅은 어떻게 되는 것일까? 부팅과정 MBR(Master Boot Record)는 운영체제 부팅 시 POST(Power on Self-Test)과정을 마친 후 저장매체의 첫 번째 섹터를 호출하는 것으로 이 때 해당 부트 코드가 수행되게 한다. 부트 코드의 역할은 파티션 테이블에서 부팅 가능한 파티션을 찾아 해당 파티션의 부트 섹터를 호출해 주는 것인데, 부팅 가능한 파티션이 없을 경우 정의된 메시지를 출력하게 한다. 부팅가능한 파티션을 찾았을 경우 파티션 시작위치의 부트섹터를 로드한다. NTFS.sys 파일 시스템 드라이버가 있어야 해석이 가능하다. 파일 시스템? 파일 시스템이란 컴퓨터에서 파일이나 자료를 쉽게 발견 및 접근할 수 있도..

DFIR/DFIR 2021.11.12

[파일 시스템]FAT32 - 3편(Data Area, restore)

FAT32 - 3편에서 다룰 내용은 아래와 같습니다. - 데이터 영역 찾기(파일 정보 담고 있는 곳) - Data 영역에서의 시간 계산하기 - 파일의 직접 쓰여진 데이터 찾기(파일 내용을 담고 있는 곳) - LFN(긴 파일 이름 엔트리) FAT구조 FAT의 구조는 Reserved Area, FAT Area, Data Area로 나뉜다고 하였습니다. 또한, FAT Area에는 FAT Area#1, FAT Area#2 두 개로 구분되며, FAT Area#2는 FAT Area#1의 백업본이 있기 때문에 FAT Mirror라고 불린다고 했습니다. FAT 데이터 영역 그렇다면 Data Area는 어떻게 구성되어 있을까요? 실제로 우리의 눈에 보이는 영역이라고도 할 수 있을 것 같습니다. 루트 디렉토리와 서브 디렉..

DFIR/DFIR 2021.11.12

[파일 시스템]FAT32 - 2편(FAT Area)

FAT구조 기존에 배웠던 FAT구조는 위의 사진과 같습니다. Reserved Area, FAT Area, Data Area로 이루어져 있으며, Reserved Area에는 FAT32기준 Boot Sector, FSINFO, Boot Strap, More reserved sectors로 총 32개의 섹터를 가지고 있습니다. 그렇다면 FAT Area는 어떻게 되는지 천천히 알아가 봅시다. FAT Area는 총 두 구역으로 나뉘게 됩니다. 아래처럼 말이죠 FAT 파일시스템은 FAT 영역에 의해 관리됩니다. FAT영역은 백업본이 하나더 있어서 두 개로 나뉘게 됩니다. 즉, 같은 값을 가진 영역이 두 개란 것입니다. FAT 백업본은 FAT Mirror라고도 말합니다. 더불어 FAT영역의 목적은 데이터 영역에 저장..

DFIR/DFIR 2021.11.12

[파일 시스템]FAT32 - 1편(Reserved Area)

예약된 영역(FAT12/16 | FAT32) 아래는 FAT12, FAT16과 FAT32 구조이다. FAT12, FAT16은 예약된 영역에서 Boot Sector가 1섹터를 차지한다. 0~31번으로 총 32섹터를 가진다 0, 6번 섹터 : 볼륨 부트섹터(Volume Boot Sector) 1, 7번 섹터 : File System Information(FSINFO) 구조체 2, 8번 섹터 : 부트스트랩 코드(Boot Strap Code) Boot Sector Jump command to boot code & BIOS Parameter Block Jump command에서 58의 위치로 가라는 의미이다. FAT12/16은 'EB 3C 90', FAT32는 'EB 58 90' NTFS는 'EB 52 90'값으로..

DFIR/DFIR 2021.11.12
반응형