목록포렌식/파일시스템 (파일시스템 포렌식분석) (43)
Piki's Play

9.3 내용 범주 - 내용범주는 파일이나 디렉토리 내용을 구성하는 데이터를 포함한다. '클러스터'는 FAT에서 사용하는 데이터유닛이고 연속적인 섹터의 그룹이다. 그리고 섹터의 개수는 2^n꼴이다. 마이크로소프트 명세를 보면 클러스터의 최대크기는 32KB이다. 각 클러스터는 주소를 가지고 있고 첫 클러스터의 주소는 2이다. -> 클러스터는 0과 1을 가지는 주소는 없다. - 앞에서 배운 3개의 영역중에 클러스터는 모두 마지막 영역인 '데이터 영역'에 할당한다. ▷ 첫 번째 클러스터 찾기 - 첫 클러스터의 위치가 2이기 때문에 찾기가 어렵다. 클러스터는 데이터영역에만 존재하고 예약된 영역과 FAT영역은 클러스터 주소를 사용하지 않는다. -> 논리적 볼륨 주소 사용 - FAT12/16과 FAT32는 클러스터2..

-> FAT(File Allocation Table) 파일시스템은 일반 운영체제에서 볼 수 있는 가장 간단한 파일시스템 중 하나이다. FAT는 모든 윈도우와 대부분 유닉스 운영체제에서 지원한다. 여기서는 앞에서의 5가지 범주를 이룡해서 FAT 전체 개념과 분석기술을 알아보자. 9.1 소개 -> FAT는 데이터 구조체 타입수가 적기 때문에 간단한 파일시스템이다. FAT에는 다양한 기능을 제공하는 두 개의 중요한 데이터 구조체가 있는데 (FAT와 디렉토리 엔트리), 이 두가지 분류모델에서 여러 범주에 속한다. 이러한 데이터 구조체를 한 절에서 설명하고 나머지는 다른 절에서 설명한다. - 분류모델을 이용해 FAT 파일시스템을 설명하는 것은 더 개선된 파일시스템, 그리고 분류모델로 확실히 구분되는 파일 시스템들..

8.5 파일이름 범주 -> 파일명을 포함하여 사용자가 메타데이터 주소 대신 이름으로 파일을 검색할 수 있도록 한다. 전체 경로에서 파일하나를 찾아야할 필요가 있기 때문에 파일명 분석에서 중요한 것은 루트 디렉토리의 위치를 파악하는 것이다. 예를들어 윈도우 'C:\'는 C: 드라이브에서 루트 디렉토리이다. -> 루트디렉토리 위치정의는 파일시스템마다 다르다. ▶ 전반적인 정보 -> 여기서는 파일 이름 범주의 전반적인 개념에 대해 알아보자 또한 이름에 기초한 파일 복구 방법을 설명한다. ▷ 파일이름 기반 파일복구 - 파일명 기반 복구는 메타데이터 기반 복구로 파일명을 복구하기 위해서, 삭제된 파일명과 메타데이터 주소를 사용한다. (분석하기 어려운 대상은 메타데이터 계층에서 실행) -> 두개의 파일명이 있고 3..

8.4 메타데이터 범주 - 메타데이터 범주는 '데이터의 데이터' 즉, 데이터를 부가설명해주는 데이터가 존재하는 곳이다. 일반 도구들은 메타데이터와 파일명 분석을 구분하지 않고 두 범주를 통합해서 분석한다. (여기서는 데이터의 출처와 데이터 복구가 왜 불가능한지 설명을 하기 위해서 두 범주를 나누었다.) - 많은 메타데이터 구조체는 고정테이블이나 동적 테이블에 저장되고 각 엔트리는 주소를 갖는다. 파일이 지워지면 그 메타데이터 엔트리는 '비할당'상태로 바뀌고 일부 운영체제는 엔트리 값을 영구 삭제한다. - 특정 파일의 세부사항을 확인하거나, 특정 요구사항에 부합하는 파일을 찾기위해 메타데이터 범주에서 분석을 수행한다. 그래서 이 범주는 다른 범주에 비해 부가 데이터를 갖는 경향이 있다. ▶ 전반적인 정보 ..

-> 파일시스템 분석은 볼륨의 내부 데이터를 조사하고 파일 시스템을 해석하는 것이다. 궁극적인 목적은 디렉토리에 파일목록을 작성하거나 지워진 파일을 복구, 섹터의 내용을 보기 위함이다. 이번 장에서는 특정 도구를 이용한 파일시스템 분석 방법으로 제한하지 않고 이론적인 방법으로 배우고, 일반적인 용어를 사용한다. 8.1 파일 시스템이란? -> 컴퓨터들은 데이터를 장기적으로 저장, 그리고 검색 할 수 있도록 구조적 데이터와 사용자 데이터로 구성이 된다. 대부분의 파일시스템은 특정 컴퓨터와 독립적이다. 즉, 파일시스템만의 특징을 가지고있다. ▶ 데이터 분류 -> 여러개의 다른 파일시스템을 조사하고, 기본적인 참조모델을 이용하여 그 타입들을 더 쉽게 비교할 수 있다. 기본적인 모델은 5가지로 분류된다. 파일시스..

7.2 디스크 스패닝 (Disk Spanning) -> 디스크 스패닝은 여러 디스크를 하나의 큰 디스크로 보여주도록 한다. 많은 소프트웨어 RAID 솔루션들은 디스크 스패닝도 제공하기 때문에 디스크 스패닝을 RAID와 제공했지만 디스크스패닝은 중복성이나 성능향상 같은 이점은 없다. 주로 대용량 시스템을 만드는데 사용하고 일부 버전들의 디스크추가, 용량을 동적으로 늘리기 가능하다. 많은 운영체제에서 디스크 스패닝을 제공하고 있지만 여기서는 윈도우와 리눅스 위주로 살펴보자. ▶ 개요 -> 디스크스패닝의 주요이론은 일반 노트 대신 메모들을 수집하기 위해 여러개의 링바인더를 사용하는 것과 같다. (하나가 다 차면 새로운것을 사는것이 아닌, 추가적으로 메모만 끼워넣는 개념이다.) 디스크스패닝도 마찬가지로 새로운 ..

들어가기전에) 많은 중요 서버에서 성능, 신뢰성, 확장성을 위해 다중 디스크를 사용한다. 이번 장에서는 분석을 힘들게 하는 'RAID'와 '디스크 스패닝'에 대해서 배워보도록 하자. => 오래전 개념이므로 구식이 될수도있다. (이 책이 2011년도꺼라;;) 7.1 RAID(Redundant Array of Inexpensive Disks) ※ 특징 - 고성능 시스템이나 중요 시스템에서 자주 사용된다. - 저비용 디스크로 고비용, 고성능 디스크와 유사한 성능과 저장능력을 가지고 있다. - RAID의 주요이론은 중복디스크를 제공하고 성능향상을 위해 여러 디스크를 사용하는 것이다. - 하드웨어 컨트롤러나 소프트웨어 드라이브는 여러 디스크를 한번에 병합하고 이는 단일 큰 볼륨으로 인식된다. ▶ RAID 레벨 -..

6.3 GPT 파티션 (GUID Partition Table) ※ 특징 - 주로 고성능 서버에서 사용하는 GPT 파티션은 중요한 데이터 구조체 복사본을 관리한다. - IA64 시스템들은 IA32가 가지고있는 BIOS가 없는 대신에 EFI(Extensible Firmware Interface)가 존재한다. 여기서 EFI는 비 인텔 플랫폼에서 사용이가능하고, 128개 파티션 그리고 64비트의 LBA를 사용하는 GPT파티션을 사용한다. ▶ 전체 개념 - GPT 디스크들은 5개의 영역으로 나눌 수 있다. - 첫 번째 보호용 MBR은 섹터 0에 존재하고 한 개의 엔트리가 있는 도스 파티션을 포함한다. 이는 전체 디스크에 있는 0xEE 타입의 파티션을 위한 것이다. - EFI는 실제로 파티션을 사용하지 않는다. -..