본문 바로가기

파일시스템

File System (3) 이번 글에서는 파일시스템 참조 모델 중 하나인 내용 참조 모델에 대해서 알아 볼 것이다. 내용 참조 모델은 데이터를 저장 할 수 있는 파일과 디렉토리를 할당하는 저장 공간이 있다. 보통 해당 참조 모델의 데이터 할당 공간은 같은 크기의 그룹들로 구성되며, 각 파일시스템들은 이러한 그룹들을 클러스터 또는 블록이라고 지칭한다. 해당 참조 모델의 분석은 지워진 데이터를 복구하고, 로우 레벨(low level)의 검색을 수행하는 것으로 이루어진다. 이제부터 분석을 위한 클러스터 처리 방법을 하나씩 알아보도록 하겠다. [논리적 파일시스템 주소] 파일시스템들은 논리적 볼륨 주소를 사용한다. 또 클러스터를 구성하기 위해 연속적인 섹터들을 그룹화 해야 하기 때문에 논리적 파일시스템 주소를 할당한다. 대부분의 파일시스템.. 더보기
File System (2) 이번 글에서는 파일시스템 참조 모델 중 하나인 파일시스템 참조 모델에 대하여 알아보도록 하겠다. 파일시스템 참조 모델은 해당 파일시스템이 고유한지, 다른 중요한 데이터(다른 참조 모델 데이터)들이 어디에 위치하였는지 구분하는 전반적인 데이터를 포함하고 있다. 대부분 다른 참조모델 데이터의 위치를 구분하는 데이터들은 첫 번째 섹터 표준 데이터 구조체에 저장된다. 이 참조 모델의 데이터가 손상된다면 다른 참조 모델의 데이터 구조체 위치를 파악하기 어렵게 된다. 해당 참조 모델을 분석 할 때에는 기본적으로 전반적인 레이아웃 정보들과 파일시스템 버전, 파일시스템 생성 시간과 응용 프로그램, 파일시스템 레이블을 중심으로 분석한다. 해당 참조 모델의 데이터들은 다른 참조 모델 데이터들에 비해 보통 독립적이어서 수사.. 더보기
File System (1) 파일시스템은 사용자에게 파일과 디렉토리에 데이터를 저장 할 수 있도록 장치를 제공한다. 대부분의 경우 파일시스템은 특정 컴퓨터로부터 독립적이며 데이터를 찾기 위한 정보를 제공하는 구조적 데이터와 사용자 데이터로 구성 된다. 파일시스템은 여러 참조 모델들이 있다. 참조 모델은 찾고자 하는 데이터의 위치를 쉽게 결정 할 수 있도록 하는 지표가 되기도 하고 서로 다른 파일시스템의 차이점을 쉽게 비교 할 수 있도록 해주기도 한다. 이런 참조 모델에는 다음과 같은 것들이 있다. - 파일시스템 : 전체 파일시스템 정보를 포함 - 내용 : 파일의 실제 내용을 구성하는 데이터를 포함 - 메타데이터 : 파일을 설명하는 데이터를 포함(대표적으로 FAT 디렉토리 엔트리, NTFS MFT, UFS(Ext3)의 inode 구조.. 더보기
File System - Partition (3) 이번 글에서는 BSD(FreeBSD, OpenBSD, NetBSD) 파티션에 대해서 알아 볼 것이다. 컴퓨터 포렌식 조사 대상에는 BSD 시스템들이 많이 속한다.(물론 리눅스 또한) BSD 시스템들은 IA32 기반 하드웨어(x86/i386)을 사용하며 자체 분할 시스템을 사용한다. IA32 기반 하드웨어를 사용하기 때문에 MS 제품들과 같은 디스크에 공존 할 수 있도록 설계되어 있다. BSD 파티션 시스템은 도스 파티션보다 간단하기 때문에 이해하는데 큰 어려움은 없으며 애플 파티션 맵 보다는 약간의 한계를 가지고 있다. BSD 파티션은 도스 파티션과 공존 할 수 있기 때문에 도스파티션에서 생성한 볼륨에 위치 할 수 있다. 즉, BSD 파티션은 "주 도스 파티션"이 될 수 있는 것이다. 아래는 도스파티션 .. 더보기
File System - Partition (2) 이전 글에서 MBR과 확장 파티션 개념을 알아보았는데 이번 글에서는 MBR 내부 구조와 애플 파티션을 알아 볼 것이다. MBR은 512byte 크기의 구조체를 사용하며, 첫 446byte는 어셈블리 부트 코드를 위해 예약이 되어 있다. MBR은 아래와 같은 내용들을 포함하고 있다. [그림 1 - MBR 레이아웃] MBR은 이전글에서 언급했듯이 기본적으로 4개의 파티션을 파티션 테이블 엔트리(16byte)로 표현할 수 있어 파티션 테이블 엔트리가 4개이다. 각 파티션의 레이아웃을 구성하는 파티션 테이블 엔트리의 구조는 아래와 같다. [그림 2 - 파티션 테이블 엔트리 구조] 부팅 플래그는 반드시 필요한 것은 아니다. 하나의 운영체제가 설치되어 있는 시스템(부팅 플래그 default : 0x80)이라면 부팅.. 더보기