본문 바로가기

파일시스템 포렌식

File System - HFS+ (2) 이번 글에서는 HFS+ 레이아웃에서 첫 번째에 위치하는 예약 영역과 그 다음에 위치하는 Volume Header에 대해서 알아 볼 것이다. [예약 영역] 해당 영역은 기존에 Boot Block이 위치하고 있던 자리로 OS가 발달하면서 부트 블록이 필요 없게 되어 사용하지 않게 되었다. 크기는 1024byte이며 만약 Mac OS Finder가 시스템 폴더를 변경하게 되면 변경 내용을 해당 영역에 기록하고 저장한다. [Volume Header] Volume Header는 HFS+ 의 시그니처, 볼륨 타임스탬프 등의 파일시스템 전반적인 정보들을 저장하고 있다. 크기는 512byte이며 세 번째 섹터에 저장된다. 해당 영역에 오프셋 구조는 다음과 같다. [그림 1 - Volume Header 오프셋 구조] -.. 더보기
File System - HFS+ (1) 이번 글 부터는 Mac OS X에서 사용하는 파일시스템 HFS+에 대해서 이야기 해 볼 것이다. 일단 이번 글에서는 HFS+가 무엇인지, 기본적인 레이아웃은 어떻게 구성되어있는지 알아 볼 것이다. [HFS+ ?] HFS+는 애플이 개발한 파일시스템으로 Mac OS X에서 기본으로 사용하는 파일시스템이다. HFS+ 이전에는 HFS라는 계층적 파일시스템이 있었는데 이 파일시스템을 조금 더 개선한 파일시스템이 HFS+ 이다. HFS+ 는 저널링을 지원하는 HFSJ 볼륨과 파일의 이름에서 대소문자를 구분하도록 만들어진 HFX 볼륨등으로 나누어진다. * 참고 : HFS+ 는 아이팟 플레이어에도 사용 된다. HFS와 HFS+의 제일 큰 차이점은 Allocation Mapping Table의 크기가 HFS+ 에서 커.. 더보기
File System - Ext4 (4) 이번 글에서는 파일이나 디렉토리의 메타데이터를 저장하고 있는 inode 데이터 구조체에 대해 알아 볼 것이다. Ext4 파일시스템 이전 버전들은 inode의 표준 크기가 128byte 이었는데 Ext4 파일시스템에서는 256byte로 늘어났다. 알고 있듯이 inode는 inode 테이블에 있고 inode 테이블 위치는 그룹 기술자에 정의되어 있다. 또 그룹 별 inode 수는 슈퍼 블록에 정의되어 있다. 아래는 Ext4 파일시스템 inode 오프셋 구조이다. [그림 1 - inode 오프셋] - 모드 타입 : inode가 할당 된 파일이나 디렉토리의 타입과 권한을 나타내는 필드이며, Ext4 파일시스템 이전 버전들과 동일하다. - 플래그 : inode의 플래그를 나타내는 필드로 아래와 같은 플래그들이 설.. 더보기
File System - Ext4 (3) 계속해서 Ext4 파일시스템에 데이터 구조체들을 알아보자. 이번에는 그룹 기술자에 대해서 알아볼텐데, 그룹 기술자는 Ext4와 별반 다르지 않다. 하지만 64bit 기능이 활성화되면 크기가 64byte로 늘어나고 비 활성화라면 그 크기는 Ext4 파일시스템 이전 버전들과 동일하게 32byte이다. 그룹 기술자 오프셋 구조는 아래와 같으며 32byte를 포함하는 64byte 크기의 그룹 기술자만 알아보도록 하겠다. [그림 1 - 그룹 기술자 오프셋] - 그룹 플래그 : 그룹 기술자에 대한 플래그 필드로 아래와 같은 플래그 목록들이 설정 될 수 있다. [그림 2 - 그룹 플래그 목록] 필드는 많지만 결국 Ext4 파일시스템 이전 버전들의 그룹 기술자 오프셋 필드들이 나누어져 있고 내용은 특별히 변한게 없었다.. 더보기
File System - Ext4 (2) 이번 글에서는 Ext4의 전체적인 레이아웃과 슈퍼블록에 대해서 알아 볼 것이다. Ext4도 결국 파일시스템 전체 레이아웃은 Ext4 파일시스템 이전버전들과 동일하다. 하지만 블록 그룹의 레이아웃이 약간 다르다. [그림 1 - Ext4 블록 그룹 레이아웃] - Group 0 padding : 32(x86)bit 시스템 부트 섹터 등을 위한 영역이며, 크기는 1024byte이다. - Reserved GDT block : 파일시스템의 확장을 위해 예약되어 있는 영역이다. * 참고 : 보통 슈퍼블록, 데이터 블록 비트맵, inode 비트맵은 블록 1개 크기이다. 이제 슈퍼블록을 알아보자. [슈퍼블록] Ext4에서도 슈퍼블록의 역할을 대부분 비슷하다. 슈퍼블록에는 sprase_super라는 플래그 기능이 있는데 .. 더보기