전체 글 289

파일시스템(File System) 이란 무엇인가

# 파일시스템의 개념 파일시스템 이란, 파일의 이름을 정하고 저장, 검색을 위해서 논리적으로 어디에 위치 시켜야 하는지에 대한 방법을 구성한 시스템이다. 저장 매체의 공간이 증가 할수록 보관하는 파일의 수 또한 점점 증가하게 되어 별도의 관리 시스템이 필요하게 되었다. 그래서 개발된 것이 파일시스템 널부려져 있는 문서들을 캐비넷에 저장하고 해당 문서의 제목 첫글자를 테그로 사용해 검색이 가능하도록 하는 것과 같은 맥락이다. 파일시스템 종류에는 FAT16, FAT32, NTFS, ext2, ext3, ext4, HFS+ 등등 굉장히 다양하다. 파일시스템에 대해서 왜 알아야 하는 걸까? 디지털 포렌식에서 디스크 분석은 반드시 필요한 부분이다. 일측에서는 디스크 포렌식 = 디지털 포렌식 이라고 인식하는 경우도..

VBR (Volume Boot Record)

VBR(Volume Boot Record), BR (Boot Record) 다양한 이름으로 쓰이는 VBR에 대해서 알아봅시다. VBR, BR, 파티션 부트 레코드, 부트 섹터 등의 이름으로 불리는데... 이들 중, Boot Sector(부트 섹터)는 구별을 좀 해야한다. 볼륨의 가장 첫번째 1개의 섹터는 반드시 부트 섹터가 오게 되어 있는데, VBR의 크기가 1섹터이면 부트섹터=VBR이라고 할 수 있다. 하지만 VBR의 크기가 1섹터보다 큰 경우, 부트섹터는 VBR에 종속된다고 보아야 한다. 1섹터는 부트 섹터이고, 그 뒷부분은 VBR 이지만 부트섹터는 아니니깐, 결론은 (부트섹터 ⊂ VBR) MBR 영역의 부트코드에서.. 마지막 루틴이 "부팅 가능한 파티션의 첫번째 섹터를 메모리 0x0000:7C00에..

GPT(GUID Partition Table) 디스크 _내용보강 예정

MBR 디스크에 이어 GPT 디스크에 대해 알아보자. GPT 디스크는 MBR 처럼 BIOS 와는 동작하지 않는다. EFI(현재는 UEFI, 통합 EFI) 인터페이스와 함께 동작함. 인텔에서 BIOS 에 이은 차세대 펌웨어로 EFI(Extensible Firmware Interface)를 내놓으면서 MBR -> GPT 로 변화하는 추세이다. 기본 골격은 BIOS - MBR / UEFI - GPT 인데.. 여기선 되고 저기선 안되고 또 이럴 땐 되고 저럴땐 안되고... 케이스가 너무 많아 모두 정리할 필욘 없을 것 같다. 대신 어떤 디스크를 분석할 때, 이것이 GPT 파티션으로 돼있는가, MBR 파티션으로 돼있는가 그리고 BIOS 기반이냐 UEFI 기반이냐, 인지하면 될듯 하다. 참고로 Windows 운영체..

슬랙 공간 (Slack Space Area)

'슬랙 공간' 이라는 단어는 많이 들어봐서 익숙하긴 하지만 정확하게 의미를 모르는 경우가 많다. 한마리도 정의하자면, 논리 데이터와 물리적인 저장공간의 간극 이라고 볼 수 있다. 슬랙 공간은 총 4가지로 나뉘는데, 램 슬랙(RAM Slack), 드라이브 슬랙(Drive Slack), 볼륨 슬랙(Volume Slack), 파일시스템 슬랙(File System Slack) 으로 종류가 나뉜다. - 램 슬랙 (RAM Slack) 메모리(RAM)에 저장된 데이터가 저장매체(디스크)에 기록될 때 발생되는 낭비 공간이다. 메모리에 있는 데이터가 저장될 때 512 byte 즉, 1섹터 단위로 저장되기 때문에.. 남는 공간은 0x00 으로 채워진다. Windows 95 이전 운영체제에서는 남는 공간에 랜덤데이터를 채워..

EBR(Extended Boot Record)

MBR 디스크가 최대 4개의 파티션 테이블밖에 못가지는 한계점이 있다는 걸 알아보았다. 그럼 파티션을 5개 이상 쪼개고 싶을 땐 어떻게 해야되나.. 그래서 나온 개념이 EBR(Extended Boot Record)이다. 간단하게 말해, 하나의 파티션 테이블을 확장 파티션 테이블로 사용하여 추가적으로 파티션을 추가할 수 있다는 말. 기존에 MBR에 속한 파티션은 주 파티션(Primary Partition)이고 이 중 하나가 EBR 영역의 주소를 담고 있다. 원래 VBR로 점프해야될 녀석이 EBR로 점프한다. (VBR은 다음에 설명) "테이블 엔트리 (Table Entry)" 라는 놈은 해당 영역의 주소를 담고 있으며, 부팅 과정 진행 시에 주소를 참조하여 거길 가르킨다. 여기서 "테이블 엔트리"를 한번 더..

반응형