File System
- 파일시스템은 보조 기억 장치에 데이터의 저장과 검색 방법을 제어하는데 사용
→ 체계적인 저장 방식과 검색 방식을 사용하여 데이터 저장, 검색 등을 최적화
NTFS(New Technology File System)
- 마이크로소프트에 의해 개발
- 1993년 Windows NT 3.1과 함께 발표
- Bitmap, MFT(Master File Table)
MFT(Master File Table)
- 파일에 대한 meta data를 저장하는 곳
*meta data: 데이터 관리상 필요한 작성자, 목적, 저장 장소 등 속성에 관한 데이터
NTFS에서 모든 파일과 디렉터리, 메타 파일은 meta data로 MFT에 저장
MTF Entry 구조
- MTF를 구성하는 각 요소
- Entry Header와 Attrubute로 구성
- 하나의 Entry에 하나의 파일 또는 디렉터리 정보를 가짐
MFT Entry Header |
Attr1 | Attr2 | Attr3 | ... | 0xFFFF FFFF | Unused |
- 0xFFFF FFFF가 있으면 마지막을 나타냄
MFT header
- MFT Entry의 맨 앞 56Bytes
- Entry의 상태를 담고 있음
- 특별한 내용은 없음
Attribute
: 파일 속성 저장 방식
- MFT Entry는 MFT Entry Header와 Attribute로 구성
- Attribute는 Header와 Content로 구성
- End Marker (0xFFFF FFFF)
Attr1
- Attribute Header(이름, 다음 Attribute 위치), Attribute Content
주요 Attribute Type
Type Number | Attribute Name | Description |
16(0x10) | $STANDARD_INFORMATION | 최근 접근 시간, 수유자, 보안 아이디와 같은 일반 정보 |
48(0x30) | $FILE_NAME | 파일 이름(유니코드 형식) |
64(0x40) | $OBJECT_ID | 파일이나 디렉터리의 고유 값, 16 Bytes로 구성(Windows 2000 이상) |
128(0x80) | $DATA | 파일의 내용 |
176(0xB0) | $BITMAP | 할당 정보를 관리하는 속성 |
Attribute Header 구성
Offset | Name | Description | Value |
0~34 Bytes | Attribute Type Identifier | 해당 Attribute가 어떤 것인지를 지정. 각 Attribute들은 고유의 Type ID를 가짐. 더 이상 속성이 없을 경우, 0xFFFFFFFF라는 End Maker 표시 |
가변 |
4~74 Bytes | Length of Attribute | Attribute Header와 내용을 포함한 길이 | 가변 |
81 Byte | Non-Resident Flag | 1이면 Non-Resident Flag를 의미 | 0 or 1 |
91 Byte | Length of Name | 각각의 Attribute는 고유의 이름을 가질 수 있음. 이 이름의 길이를 표시 |
가변 |
10~112 Bytes | Offset to Name | 속성 이름의 시작 위치를 나타냄 | 가변 |
12~132 Bytes | Flags | Attribute의 여러 상태를 가짐 Flag 내용 0x0001: Attribute가 압축 0x4000: Attribute가 암호화 0x8000: Sparse 속성 |
가변 |
14~152 Bytes | Attribute Identifier | 속성의 고유한 식별자로 MFT 엔트리에 같은 속성이 여러 개일 경우 서로 다른 값을 가짐 | 가변 |
'Degital Forensic > 악성코드 분석을 위한 메모리 포렌식' 카테고리의 다른 글
[volatility] DC3 Challange 메모리 분석 실습 (0) | 2021.12.02 |
---|---|
[운영체제] 커널 개요와 Windbg (0) | 2021.12.02 |