[+] Forensic 썸네일형 리스트형 File System - UFS (1) 이번 글부터는 UFS(Unix File System)에 대하여 알아 볼 것이다. 이번 글에서는 간단히 UFS가 무엇인지 알아보도록 하자. UFS는 다양한 FreeBSD, HP-UX, NetBSD, OpenBSD, 애플 OS X, Sun Solaris에서 사용 할 수 있는 유닉스 파일시스템이다. 물론 각 OS에서 사용되는 UFS가 모두 동일한 것은 아니다. 각 OS에 맞게 OS 개발사들이 조금씩 수정하여 사용하긴 하지만, 그 내부구조와 기본개념들은 대부분 동일하다. UFS에는 UFS1, UFS2 버전이 있는데 UFS2 버전이 UFS1 버전보다 조금 더 큰 디스크 용량과 타임스탬프를 제공한다. 앞서 알아 보았던 Ext 파일시스템은 UFS 파일시스템을 기반으로 발전 된 파일시스템이어서 Ext 파일시스템에서 설.. 더보기 File System - Ext (13) 계속해서 Ext 파일시스템의 데이터 구조체들을 알아보자. [해시 트리] Ext 파일시스템에서 디렉토리의 엔트리들을 정렬하기 위해 사용하는 알고리즘으로, 각 노드는 디렉토리의 각 블록이다. 노드에는 노드 기술자라는 데이터 구조체가 있는데 노드 기술자는 다음 계층의 블록을 알려주는 역할을 한다. 노드 기술자는 헤더와 엔트리로 나누어 지는데 헤더는 디렉토리 엔트리 다음에 위치한다. [그림 1 - 노드 기술자 헤더 오프셋] 노드 기술자 엔트리는 노드의 최소 해시 값과 노드의 디렉토리 블록을 저장하고 있다. [그림 2 - 노드 기술자 엔트리 오프셋] 첫 번째 노드 기술자 엔트리의 경우 최소 해시 값이 0이어야만 해서 해시 값이 설정되지 않는다. 이러한 이유로 첫 번째 노드 기술자 엔트리의 구조는 [그림 2]와 조.. 더보기 File System - Ext (12) 이번에는 디렉토리 엔트리에 대해서 알아 볼 것이다. [디렉토리 엔트리] 디렉토리 엔트리는 파일이나 디렉토리의 이름을 저장하고, 파일이나 디렉토리에 할당 된 inode의 주소를 저장한다. 또 디렉토리 엔트리는 자신과 맵핑 관계인 디렉토리에 할당 된 블록에 위치한다. 디렉토리 엔트리 데이터 구조에는 두 가지 유형이 존재한다. 하지만 이 두 유형의 크기는 같다. 다른 점이라면, 파일 타입이 있고 없고 이다. 디렉토리 엔트리에 어떤 유형이 사용되는지는 슈퍼블록에서 정의된다. 현재로서는 파일 타입 필드가 포함된 디렉토리 엔트리 유형을 사용하고 있다. 일단 파일 타입이 없는 데이터 구조를 확인하여 보자. [그림 1 - 예전에 사용되었던 디렉토리 엔트리 구조] - inode 값 : inode 번호이다. 따로 모두 설.. 더보기 File System - Ext (11) 이번 글에서는 Ext 파일시스템의 파일이나 디렉토리의 확장 속성 데이터 구조체에 대해서 알아 볼 것이다. 확장 속성에는 3가지 구역이 존재한다. - 헤더 영역 - 이름 엔트리 영역 - 값 영역 헤더 영역 다음에 이름 엔트리 영역이 오는데 일반적으로 영역들은 붙어 있기 마련이지만, 값 영역은 나머지 두 영역과 다르게 블록 마지막에 존재 해 두 영역과 붙어 있지 않다. 더군다나 값 영역은 블록 마지막에서 블록 처음을 향하여 값이 점차 쌓인다. 값 영역에 있는 값들은 속성에 이름 엔트리와 대응되는 값들이지만, 이름 엔트리 순서와 값 순서에 따라 대응되는 것은 아니다. 일단 헤더 영역부터 알아보자. * 참고 : 현재 필자가 가지고 있는 샘플 이미지에는 확장 속성을 가진 디렉토리나 파일이 존재 하지 않아 오프셋 .. 더보기 File System - Ext (10) 계속해서 Ext 파일시스템의 데이터 구조체를 알아보자. [그룹 기술자 테이블] 그룹 기술자 테이블은 파일시스템 블록에 위치하는 그룹 기술자 그룹의 목록을 뜻하며, 슈퍼 블록 다음 블록에 위치 한다. 그룹 기술자 테이블의 엔트리는 각 블록 그룹의 정보를 가지고 있으며, 테이블의 크기는 32byte이다. [그림 1 - 그룹 기술자 테이블 오프셋] * 참고 : 파일시스템 블록의 크기가 4096byte 일때는 슈퍼 블록이 0에 위치하고, 그룹 기술자 테이블은 블록 1에 위치한다. 또 파일시스템 블록의 크기가 1024byte 일때는 슈퍼 블록이 1에 위치하고, 그룹 기술자 테이블은 블록 2에 위치한다. - 블록 비트맵의 시작 블록 주소 : 해당 오프셋의 값은 오프셋이 아니라 단순히 블록 번호에 불과하다. 위 이미.. 더보기 이전 1 ··· 14 15 16 17 18 19 20 ··· 36 다음