본문 바로가기

[+] Forensic

File System - Ext (9)

이번 글부터는 Ext 파일시스템의 데이터 구조체들을 알아 볼 것이다.

[슈퍼 블록]
슈퍼 블록의 파일시스템에서 1024byte offset에 위치하고, 그 크기 또한 1024byte 이다. 

 * 참고 : 크기가 너무 커 오프셋 별로 분석을 하지 않고 표로 대체 하였다.

아래는 슈퍼 블록의 오프셋 부분이다.

 [그림 1 - 슈퍼 블록 위치]

이제 슈퍼 블록의 오프셋 별 의미를 알아보자.

 [그림 2 - 슈퍼 블록 오프셋]

 - 블록 크기 : 이 값은 직접적인 값이 아닌 간접적인 값으로, 1024를 해당 오프셋의 값만 큼 왼쪽으로 쉬프트 연산하여 블록 크기를 구해야 한다. 

 - 단편 크기 : 이 값 또한 블록 크기와 동일한 방법으로 구한다.

 - 시그니처 : 슈퍼 블록은 "0xEF53" 시그니처를 가지며, 슈퍼 블록의 복사본 또한 동일하다.

 - 파일시스템 상태 : 파일시스템 상태는 여러가지 값으로 표현이 가능한데 그 값들은 아래와 같다.


[그림 3 - 파일시스템 상태 값]

 - 오류처리 방법 : 해당 오프셋은 오류가 발생 했을 때 어떻게 OS가 처리를 해야하는지 구분하여 준다. 또한 여러가지 값으로 방법을 표현 할 수 있는데 그 값들은 아래와 같다.

 [그림 4 - 오류처리 방법 값]

 - 생성 OS : 해당 오프셋의 값은 해당 파일시스템이 어떠한 OS에 의해 생성되었는지를 보여준다.

 [그림 5 - 생성 OS 값]

 - 주 버전 : 해당 오프셋의 값은 파일시스템의 버전을 나타내는 값으로 두 가지 버전이 존재한다.

[그림 6 - 버전 값]

 * 참고 : 주 버전 값이 1(동적 버전)으로 설정되어 있지 않으면 84byte 오프셋 앞에 있는 값들은 정확하지 않을 수 있다.

 - 호환성 기능 플래그 : 해당 오프셋은 Ext 파일시스템 도입부에서 언급 했던 기능 중 호환성 기능의 플래그를 나타내는 오프셋이다. 해당 오프셋에 들어 갈 수 있는 플래그 값은 아래와 같다.

 [그림 7 - 호환성 기능 플래그 목록]

 - 호환하지 않은 기능 플래그 : 해당 오프셋은 Ext 파일시스템 도입부에서 언급 했던 기능 중 비호환성 기능의 플래그를 나타내는 오프셋이다. 해당 오프셋에 들어 갈 수 있는 플래그 값은 아래와 같다.

 

 [그림 8 - 호환하지 않은 기능 플래그 목록]

 - 읽기 전용 속성 플래그 : 해당 오프셋은 Ext 파일시스템 도입부에서 언급 했던 기능 중 읽기전용 속성의 플래그를 나타내는 오프셋이다. 해당 오프셋에 들어 갈 수 있는 플래그 값은 아래와 같다.

[그림 9 - 읽기 전용 속성 플래그 목록]

 

'[+] Forensic' 카테고리의 다른 글

File System - Ext (11)  (0) 2012.02.27
File System - Ext (10)  (0) 2012.02.24
File System - Ext (8)  (0) 2012.02.23
File System - Ext (7)  (0) 2012.02.23