본문 바로가기

파일시스템 포렌식

File System - Ext (3) 이번 글에서는 파일시스템 참조 모델 중 내용 참조 모델에 해당 하는 것들에 대해서 알아 보도록 하겠다. [블록] Ext 파일시스템의 블록은 NTFS와 FAT 파일시스템의 클러스터와 아주 유사한 개념으로, 보통 1024, 2048, 4096 byte의 크기를 가진다. 모든 블록에는 주소가 주어지며, 모든 블록들은 블록 그룹에 속해야만 한다. * 참고 : 예약 영역(부트 섹터와 부트코드가 있는 영역)의 블록들 블록 그룹에 속하지 않는다. 어떤 그룹에 속한 블록인지를 결정 하기 위해서는 아래와 같은 계산을 수행해야 한다. - 그룹 = (해당 블록 - 첫번째 데이터 블록) / 그룹 별 블록 수 * 참고 : 그룹 별 블록 수는 슈퍼블록에 정의되어 있다. [할당 상태] 블록의 할당 상태는 각 블록 그룹에 존재하는 .. 더보기
File System - Ext (2) 이번 글에서는 Ext 파일시스템에 파일시스템 참조 모델에 해당 하는 것들을 알아 볼 것이다. [슈퍼 블록] 슈퍼 블록은 파일시스템의 시작(부트 섹터 제외)으로부터 1024byte에 위치한다. 크기는 1024byte이지만 실제로는 이보다 조금 더 작다. 슈퍼 블록은 설정 값만 포함하고 있고 부트 코드는 포함하고 있지 않다. 슈퍼 블록의 복사본은 보통 블록 그룹의 첫 블록(슈퍼블록)에 저장된다. 슈퍼 블록에 저장되는 정보는 아래와 같다. - 각 블록의 크기 - 전체 블록의 수 - 블록 그룹 별 블록 개수 - 예약 블록 수 - inode 전체 개수 - 블록 그룹 별 inode 개수 - 볼륨 이름 - 마지막 수정 시간 - 마지막 마운트 시간 - 마지막 마운트 경로 - 무결성 식별 실행 여부 값 많은 정보들이 포.. 더보기
File System - Ext (1) 이번 글부터는 리눅스에서 많이 사용되고 기본적으로 사용되는 Ext 파일시스템에 대해서 알아 볼 것이다. 해당 글에서는 Ext 파일시스템이 어떤 것인지, 레이아웃과 구성은 어떻게 되어 있는지 알아 볼 것이다. [Ext File System] 해당 파일시스템은 Minix라는 리눅스 초기 파일시스템의 문제점을 해결하기 위하여 고안된 파일시스템이다. Ext는 UFS(Unix File System)을 기초로 만들어져, 현재 Ext4 까지 업데이트 되어 있다. Ext는 UFS에서 쓸모없는 기능들을 제외하여 구조를 이해하는데 어려움은 크게 줄었다. 또 파일과 관련된 모든 데이터들을 한곳에 모아두어 하드디스크 헤드가 데이터를 읽을 때 불필요한 동작을 하지 않도록 설계하였다. [레이아웃] Ext의 레이아웃은 아래와 같다.. 더보기
File System - NTFS (20) 이번 글에서는 마지막으로 남은 메타데이터 파일들을 알아보도록 하겠다. [$LogFile] 해당 메타데이터는 MFT 엔트리 세 번째에 위치하며, NTFS 저널링에 사용된다. 속성은 표준 속성을 가지고 있고 로그 데이터를 내용으로 가지고 있는데 이 내용은 $DATA 속성에 포함되어 있다. 하지만 오프셋 구조는 아직 정확히 알려진 바가 없어 애매한 내용을 언급하면 혼란만 초래하므로 해당 메타데이터 파일 분석은 조금 더 정확한 분석이 되면 그때 언급 하도록 하겠다. [$UsrJrnl] 해당 메타데이터 파일은 변경 저널링에 사용되며 파일에 변경이 발생하면 해당 메타데이터 파일에 관련 정보가 기록된다. 해당 파일도 $ObjId, $Quota 등의 파일과 마찬가지로 MFT 예약 엔트리에 있지 않고 $Extend 메타.. 더보기
File System - NTFS (19) 이번 글에서는 NTFS의 메타데이터 파일 중 $Volume, $ObjId, $Quota 파일에 대해서 알아 볼 것이다. [$Volume] 해당 메타데이터 파일은 두 개의 속성으로 이루어져 있으며 이 속성을 중점적으로 해당 메타데이터 파일을 분석 할 것이다. 해당 메타데이터 파일은 MFT 엔트리 네 번째에 위치하고 있다. 가지고 있는 속성으로는 $VOLUME_NAME과 $VOLUME_INFORMATION이 있다. [$VOLUME_NAME] 해당 속성은 $VOLUME 파일이 할당 되었을 경우만 사용되는 속성이며, 타입 식별자는 96이고 파일 내용으로는 파일시스템의 볼륨 이름을 저장하고 있다. [그림 1 - $VOLUME_NAME 속성의 내용] [$VOLUME_INFORMATION] 해당 속성은 $VOLUME.. 더보기