본문 바로가기

포렌식

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라는 플래그 기능이 있는데 .. 더보기
File System - Ext4 (1) 이번 글 부터는 Ext4 파일시스템에 대하여 알아 볼 것이다. Ext4 파일시스템은 Ext3 파일시스템의 개선버전으로 현재 대부분 리눅스에서 사용중이며 포렌식 분석 도구들도 해당 파일시스템 분석을 지원하고 있다. 많은 부분이 앞서 설명하였던 Ext 파일시스템과 동일하여 따로 파일시스템의 참조모델별로 분류하여 설명하지 않고 달라진 부분과 특징 등에 대해서 다루어 볼 것이다. 일단 Ext4 파일시스템에 특징 부터 알아보자. [Ext4 특징] - 대용량 파일시스템 : Volume 크기는 1EiB, 파일 용량은 16TB까지 지원한다. - Extents : 이전 Ext 파일시스템은 Block mapping을 지원하였는데 Ext4 파일시스템 부터는 Extents 방식을 지원하여 블록 단편화 현상을 줄여준다. - 호.. 더보기
File System - UFS (9) 이번 글에서는 UFS의 마지막 데이터 구조체인 디렉토리 엔트리에 대해서 알아 보도록 하겠다. [디렉토리 엔트리] 디렉토리 엔트리는 파일과 디렉토리에 이름을 저장하고 해당 블록에 위치하고 있다. 디렉토리 엔트리는 inode 주소도 포함하는데 이러한 디렉토리 엔트리의 오프셋 구조는 아래와 같다. [그림 1 - 디렉토리 엔트리 오프셋 구조] - 파일 타입 : 파일이나 디렉토리의 타입을 결정 짓는 필드로 해당 필드의 들어가는 값들은 아래와 같다. [그림 2 - 파일타입 플래그 목록] 이렇게 해서 UFS의 모든 참조 모델과 데이터 구조체를 알아보았다. UFS와 Ext 파일시스템은 비슷하지만 UFS에서 조금 더 큰 필드들과 많은 비 필수 데이터가 있는 것을 알 수 있었다. 어떻게 보면 필요 없는 정보들이겠지만 이러.. 더보기
File System - UFS (8) 이번 글에서는 inode와 확장 속성에 대해서 알아보도록 하겠다. inode의 데이터 구조체는 UFS1과 UFS2가 다르기 때문에 따로 나누어 알아보도록 하겠다. [UFS1 inode] inode는 앞 글에서도 여러번 언급하였듯이 각 파일과 디렉토리의 메타데이터를 저장한다. 실린더 그룹 별 inode 수는 슈퍼블록에서 정의되며 각 실린더 그룹에는 inode 테이블이 존재한다. inode 테이블의 위치 또한 슈퍼블록에서 정의하여 준다. UFS1 에서의 inode 테이블의 시작 위치는 기준주소에 따라 모두 다른 상대적 오프셋을 가지지만 UFS2의 inode 테이블은 모두 동일한 오프셋을 가진다. 아래는 UFS1 inode 테이블의 오프셋 구조이다. [그림 1 - UFS1 inode 오프셋] * 참고 : 모드.. 더보기