2016. 1. 25. 11:22ㆍ디지털포렌식 솔루션/EnCase V7
3. 하드 드라이브 레이아웃 |
(1) 마스터 부트 레코드 : Master Boot Record
물리적 디스크의 첫 번째 섹터(절대 섹터 0 번)를 마스터 부트 레코드(Master Boot Record : MBR) 이라고 한다. 이 영여겡는 파티션 테이블과 운영 체제를 찾아주는 기계어 코드가 저장된다. 컴퓨터를 켤 때 컴퓨터가 처음 수행하는 작업이 이 기계어 코드를 찾아서 메모리로 로딩하고 실행하는 것이다. 이 "부트 코드" 에는 매우 간단한 작업이 포함되어 있다. 0 번 섹터의 끝에서 파티션 테이블을 읽어서, 디스크 레이아웃을 결정하고 어느 파티션에 부팅 가능한 운영 체제가 설치되어 있는 지도 결정한다.
(2) 파티션 테이블
파티션 테이블에는 처음 4개의 파티션에 대한 정보가 저장되며, 디스크 상에서 각 파티션의 위치와 어느 파티션이 부팅 가능한 파티션인지가 저장된다. 이 정보는 파티션 테이블에 1 바이트로 저장된다. 사실, 디스크의 전체 논리적 레이아웃 정보는 64바이트로 저장된다. 그래서 파티션 테이블에서 1 바이트만 수정해도 볼륨을 숨기거나 볼륨 정보를 바꿀 수 있기 때문에, DOS 에서 볼륨을 숨기거나 정보를 바꾸기가 매우 용이하며, 심지어 전체 볼륨을 모두 숨기거나 정보를 바꿀 수 있다.
(3) 확장 도스 파티션 : Extended DOS Partitions
보통 파일 시스템이 마운트 할 볼륨에 대한 정보를 알려주는 파티션 테이블 항목이 존재한다. 만일, 드라이브 하나에 파티션의 개수가 4개 보다 많은 경우에, "확장 파티션" 이라고 하는 특별한 파티션 타입이 만들어 진다. 확장 파티션 구성에서, 확장 파티션의 첫 번째 섹터는 그 자체가 부트 섹터이며 다른 파티션 테이블이 저장된다. 이 파티션 테이블에는 확장 파티션 속의 다른 볼륨의 위치 정보가 저장되며, 이 정보는 확장 파티션의 시작 부분에서 각 볼륨의 시작 위치에 대한 OFFSET 으로 저장된다.
(4) 볼륨 부트 섹터 : Volume Boot Sector
파티션은 다양한 종류의 파일 시스템으로 포맷할 수 있기 때문에, 각 파티션에는 "볼륨 부트 섹터" 라는 섹터가 존재하며, 이 영역에 실제 파티션이 어떤 파일 시스템으로 포맷되었는지에 대한 정보가 저장되며, 파일 시스템을 마운트 할 때 필요한 부트 코드가 저장된다.
이 코드는 마스터 부트 레코드 코드와는 다르다. 볼륨 부트 코드의 역할은 루트 폴더에서 파일(도스의 경우 io.sys)을 찾아서, 로딩한 다음 실행하여, 보다 상위 레벨에서 부트 과정을 계속 진행시키는 것이다. 리눅스 시스템에서는 LILO(last-in last-out) 부트 로더가 동일한 기능을 수행한다.
LILO 는 슈퍼 블록에 저장된다. 슈퍼 블록은 그 이후의 파일 시스템에 대한 정보가 저장되는 영역이다.
(5) 파티션 사이의 미사용 공간 : Inter-Partition Space
파티션의 시작 부분과 파티션 부트 레코드 사이 트랙에 포함된 섹터들은 어떤 파일 시스템도 사용하지 않는다. 그래서 결과적으로 섹터 몇 십개, 어떤 경우에는 몇 백개가 낭비된다. (대용량 드라이브에서는 상대적으로 엄라 되지 않는 용량이다.) 어쨋든 저수즌 뷰어를 제외하면, 이 영역을 액세스할 수 없기 때문에, 이론 적으로 이 영역에 정보를 숨기는 것이 가능하다. 인케이스는 이런 영역에
"Unused Partition Area" 라는 라벨을 붙여 줄 것이며, 이 영역을 검색하고 조사할 수 있다.
일반적인 키워드 검색을 수행할 때, 일반적인 데이터 영역과 마찬가지로 이 영역에 대해서도 키워드 검색이 수행된다.
'디지털포렌식 솔루션 > EnCase V7' 카테고리의 다른 글
EnCase v7 새로운 기능 (0) | 2016.01.29 |
---|---|
1. 컴퓨터 하드웨어 : 컴퓨터 하드웨어 구성 부품 Part.1 (0) | 2016.01.25 |
[포렌식 용어] 2. 하드 드라이브 구조 (0) | 2016.01.25 |
[포렌식 용어] 1. PC 하드웨어 (0) | 2016.01.25 |
EnCase 7 의 하드웨어 요구 사항과 환경설정 (0) | 2016.01.25 |