본문 바로가기

파일시스템 포렌식

File System - NTFS (8) 이번 글에서는 NTFS에서 내용 참조 모델에 해당하는 것에 대해 알아 볼 것이다. [클러스터] NTFS에서 파일은 속성의 집합이라고 말 할 수 있는데, 일부 속성은 거주 속성으로 MFT 엔트리에 존재하게 되고, 나머지 속성들은 비거주 속성으로 MFT 엔트리가 아닌 클러스터에 그 내용이 존재하게 된다. NTFS에서 클러스터는 다른 파일시스템과 마찬가지로 연속적인 섹터의 그룹을 의미한다. 클러스터 수는 2의 제곱이어야 한다. FAT 파일시스템과는 다르게 NTFS에서는 클러스터 주소가 0으로 시작하며, 클러스터 0은 파일시스템의 첫 번째 섹터를 포함한다. 클러스터 주소를 섹터 주소로 변환하기 위해서는 아래와 같은 공식을 적용한다. - 섹터 = 클러스터 * 클러스터 별 섹터 수 NTFS에서는 클러스터가 어떠한 .. 더보기
File System - NTFS (7) 이번 글 에서는 NTFS를 파일시스템 참조 모델 중 파일시스템 참조 모델에 맞춰 분석 해 볼 것이다. 파일시스템 참조 모델은 파일시스템을 전반적으로 설명하는 데이터를 포함하고 있는 참조 모델이다. NTFS에서 이러한 데이터를 포함하는 것은 메타데이터 파일이며, NTFS에서는 모든 것이 파일로 할당 되기 때문에 메타데이터 파일은 파일시스템 전체를 데이터 영역으로 보고 어디든지 위치 할 수 있다. * 참고 : 부트 코드는 예외로 정해진 곳에만 위치 할 수 있다. 메타데이터 파일들의 흥미로운 점은 일반 파일들과 비슷한 구조의 타임 스탬프를 가지고 있다는 것이다. 메타데이터 파일이 가지고 있는 타임스탬프는 파일시스템이 생성 될 때 설정되기 때문에 분석 시 유용하게 사용 할 수 있다. 그럼 이제부터 파일시스템 참.. 더보기
File System - NTFS (6) 이번 글에서는 NTFS 인덱스의 속성에 대해서 알아 볼 것이다. NTFS에서 b-tree를 사용한다고 앞 글에서 언급 했었는데 해당 트리에서는 노드에서 값을 저장하기 위해서 "인덱스 엔트리(Index Entry)" 라는 데이터 구조체를 사용한다. 인덱스 엔트리는 많은 타입들을 가질 수 있고, 모두 표준 헤더 필드를 사용한다. 인덱스 엔트리는 노드의 구성원이며, 비어 있는 인덱스 엔트리는 노드의 마지막을 뜻한다. 인덱스 엔트리의 구조는 단순하다. 헤더와 속성으로 이루어져 있는데 정확한 것은 아래 이미지에서 확인 할 수 있다. [그림 1 - 인덱스 엔트리 구조] 인덱스 엔트리를 구성원으로 가지고 있는 노드들은 MFT 엔트리 속성 두 개에 따라 저장방식이 달라진다. 만약 속성이 $INDEX_ROOT 속성이라면.. 더보기
File System - NTFS (5) NTFS에서는 앞 글에서도 언급 했듯이 b-tree 를 사용한다고 했었다. NTFS는 많은 상황에서 인덱스 구조체를 사용한다. NTFS 인덱스는 정렬된 순서로 저장된 속성들의 모음을 일컫는다. 인덱스가 제일 흔하게 사용되는 것이 디렉토리인데, $FILE_NAME 속성을 포함하기 때문이다. NTFS에서 인덱스는 이진트리, b-tree로 정렬된다. 이진트리는 자료구조론에서 자주 언급되는 개념 중 하나이기 때문에 여기서 언급은 생략하고 b-tree에 대해서만 설명 하겠다. b-tree는 이진트리와 유사한 형태이지만, 노드 별로 자식 노드가 2개 이상이다. b-tree에는 여러 종류와 규칙이 있지만 여기서는 b-tree에 대해서만 설명 할 것이며 노드 삽입, 삭제에 대해서 이야기 해보도록 하겠다. b-tree는.. 더보기
File System - NTFS (4) 이번 글에서는 이전 글에서 알아 봤던 MFT 엔트리 표준 속성을 제외한 나머지 다른 개념의 속성들을 알아 볼 것이다. 다른 속성들을 알아보기 전에 참고로 알아두어야 할 것이다. 바로 기준 MFT 엔트리와 비기준 MFT 엔트리 라는 개념이다. 기준 MFT 엔트리란, MFT 엔트리에는 속성이 65536개가 올 수 있는데 이 모든 속성의 헤더를 저장하려면 하나 이상의 MFT 엔트리가 필요하게 된다. 이런 경우 추가적인 MFT 엔트리가 필요한데 추가적으로 MFT 엔트리가 파일이나 디렉토리에 할당 될 시 기존에 할당되어 있던 MFT 엔트리가 기준 MFT 엔트리가 된다. 자연스레 원본 MFT 엔트리가 아닌 추가적으로 할당 된 MFT 엔트리가 비기준 MFT 엔트리가 되는 것을 짐작 했을 것이다. 기준 MFT 엔트리에.. 더보기