안녕하세요. 도깬리 포렌식스 입니다.
오늘은 FAT 파일시스템 3회차 입니다. 모두 화이팅 하세요!!!
디렉토리 엔트리
엔트리 크기는 32바이트 입니다.
파일 속성, 크기, 클러스터 시작 주소, 날짜/시간 정보를 포함합니다.
파일명도 포함합니다.
디렉토리 엔트리는 데이터 영역 어느 곳이든 존재할 수 있습니다.
디렉토리 엔트리는 클러스터처럼 고유 번호로 된 주소를 사용하지 않습니다.
7개의 파일 속성
- 디렉토리 속성
- 긴 파일명 속성(Long File Name)
- 볼륨 레이블
- 읽기 전용 속성
- 숨김 속성
- 시스템 속성
- 아카이브 속성
3개의 시간 정보
생성일시, 수정일시, 접근날짜
3개의 시간 정보는 각각 다른 정확도를 갖습니다.
- 생성일시 : 0.1초 단위
- 수정일시 : 2초 단위
- 접근날짜 : 날짜 단위
디렉토리 할당 상태 표시
첫 바이트를 사용해서 표시합니다.
- 할당된 엔트리 : 첫 바이트 = 파일명의 첫 문자
- 비할당 엔트리 : 첫 바이트 = 0xE5
클러스터 연결 (Cluster Chain)
디렉토리 엔트리는 파일의 시작 클러스터 값을 갖고 있습니다.
파일에 할당된 클러스터를 찾을 때 FAT 구조체를 참조합니다.
FAT 엔트리의 값이 ‘0’이 아니면 해당 클러스터는 ‘할당’된 것 입니다.
‘0’이 아닌 엔트리는 다음 3개의 값 중 1개를 갖고 있습니다.
- 다음 클러스터 주소
- 파일의 끝(EOF)
- 불량섹터가 있음을 보여주는 값
FAT 파일시스템의 최대 크기는 FAT 엔트리의 크기에 따라 좌우됩니다.
FAT32 : 28비트 사용 --> 268,435,456개의 클러스터를 표현 가능합니다.
디렉토리 엔트리의 할당과 고아 파일
파일을 삭제할 경우 해당 디렉토리 엔트리는 비할당으로 처리됩니다.
비할당된 디렉토리 엔트리는 여전히 존재합니다.
그러나 부모 디렉토리를 찾을 수 없습니다. --> 즉 고아 파일(Orphan file)이 발생하게 됩니다.
‘고아 파일’을 찾기 위한 방법
데이터 영역의 모든 섹터를 찾아 각 섹터의 첫 번째 32바이트가 디렉토리 엔트리 구조체로 되어 있는지 확인합니다.
클러스터의 슬랙공간에 혹시 있을지도 모르는 디렉토리 엔트리도 수색합니다.
데이터 영역의 모든 클러스터를 찾아 각 클러스터의 첫 번째 32바이트가 ‘.’ 또는 ‘..’ 엔트리 구조체로 되어 있는지 확인합니다.
감사합니다. 오늘도 즐거운 하루 되세요.
"좋아요"와 "구독하기"는 힘이 됩니다.
참고문서 : File System Forensic Analysis (Brian Carrier)
'File System Forensics' 카테고리의 다른 글
[File System] FAT 파일시스템 (5) (0) | 2023.06.07 |
---|---|
[File System] FAT 파일시스템 (4) (0) | 2023.06.05 |
[File System] FAT 파일시스템 (2) (0) | 2023.05.30 |
[File System] FAT 파일시스템 (1) (0) | 2023.05.27 |
[File System] 메타데이터 기반 복구 기술, 압축과 암호화 등 (0) | 2023.05.25 |