관리 메뉴

Jsecurity

파일시스템 개요 본문

포렌식/디지털 포렌식

파일시스템 개요

Great king 2019. 6. 17. 16:13

# 파일시스템의 정의

- 컴퓨터에서 파일이나 자료를 쉽게 발견 및 접근할 수 있도록 보관 또는 조직하는 체제

- 파일시스템은 저장장치 내에서 데이터를 읽고 쓰기 위해 미리 지정 된 약속

 

# 파일시스템의 분류

 

- Disk 파일시스템

   ∙ 일반적으로 HDD에 파일을 저장하기 위해 고안된 구조

   ∙ 예) FAT, NTFS, HFS, HFS+, HPFS, UFS, ext2/3/4, btrfs, ISO 9660, ODS-5, 

   ∙ Veritas File System, ZFS, ReiserFS, Linux SWAP,UDF

 

- 플래시 파일시스템

   ∙ 플래시 메모리에 저장하기 위해 고안된 구조

   ∙ 플래시 메모리 특성: Erasing Block, Random Access, Wear Leveling, YAFFS, JFFS 등

 


# 일반적인 파일시스템 구성

 

- Boot Sector

   ∙ Drive의 시작 부분으로 Drive를 어떻게 읽어야 할지를 결정하는 영역

 

- Index 또는 Metadata

   ∙ Drive 에 존재하는 파일이나 폴더들의 정보를 제공

   ∙ 일반적으로 파일의 Name, Type, Size, Status, MAC Time, user 등 정보 저장

 

- Data

   ∙ 각 파일에 대한 실제 Data 저장

 

개념도


# 파일 데이터의 구성

 

- Cluster Chain

   ∙ 파일의 크기가 커서 연속되거나 분산된 여러 개의 클러스터에 저장하고 이를 연결한 구조 및 형태

- Fragmentation

   ∙ 하나의 파일이 연속된 클러스터에 저장되어 있지 않고 분산되어 저장되 어 있는 형태


# Logical Data 저장 위치와 특성

 

- Regular files

   사용자 관점에서 Data가 정상적으로 저장되어 있는 파일

   ∙ Filesystem의 metadata, 파일 내의 metadata를 이용하여 추가 정보 획득 가능

 

- Temporary files

   ∙ 임시 파일로서 경우에 따라 삭제되는 경우 발생

   ∙ 암호화된 관련 파일의 평문 저장 가능

 

Deleted files

   ∙ 사용자에 의해 삭제된 파일로서 overwritten되지 않으며 간단히 복구 가능

 

Retained Data Block

   ∙ 파일이 삭제되어 논리적으로 존재하지 않지만 일부 또는 전체 Data가 잔존하는 Block

   ∙ Slack space 또는 할당되지 않은 Disk 영역에 잔존하며 overwritten 될 수 있음

 

Hidden blocks

   ∙ Vender에 의해 별도로 할당된 블록(복구용)으로서 HPA(Host Protected Area) 등이 있음

   ∙ OneNAND와 같은 Flashmemory에서 OTP(One Time Programmable)와 같은 영역

 

Bad blocks

   ∙ 저장장치의 이상으로 일부 blocks이 bad로 설정된 block

    실제 정상적인 block이나 임의로 bad로 설정된 경우도 존재

 

- Backup data

    동일한 저장장치 또는 별도의 분리된 장치에 저장된 data

 

- Unused space

    저장된 정상 데이터의 size가 변경되지 않아 일정한 Slack space를 보장 받을 수 있는 공간

    임의로 File 또는 Filesystem Spec.의 유연성을 이용하여 space를 확보 하고 Data 저장


# Data Recovery 분류

 

Partition Recovery

   ∙ MBR의 Partition Table에 잔존하는 정보를 이용한 Partition 복구

    Partition Table 없이 File System Signature를 이용한 복구

 

- Undeletion

    삭제된 파일은 실제 파일 Data가 삭제되지 않고 파일 Index의 일부 정 보만 삭제

    이러한 남겨진 Index 정보를 이용하여 복구

 

- Signature Search

   ∙ Application이 자신과 관련된 File을 Load할 때 정합성을 검사하기 위해 서 일정한 값(표식)을 File의 처음 또는 끝 부분에 표시하고 있음

   ∙ 이러한 표식 값을 검사하여 파일을 복구

 

- Data Carving

   ∙ File System 정보 없이 순수 Low Image에서 파일을 검색하고 복구하는 기법

 

- Finding hidden data

    Disk에서 사용하지 않는 영역, 의도적으로 사용되지 않는 영역으로의 조작 등으로 발생한 영역에 File 또는 Data를 은닉했을 때 이를 복구

 

- Password recovery, Decryption

   ∙ 파일이 존재하지만 암호화되어 있어 일반적으로 복구할 수 없는 경우

   ∙ 암호화에 사용된 Key를 찾기 위해서 BFA, Dictionary Attack 등을 수행 하거나 암호화 알고리즘 또는 암호 프로그램의 취약성을 이용하여 복구

 

- Steganalysis

   ∙ Steganography와 같이 파일의 사용되지 않는 영역(not used, reserved), 사용되지 않는 bit 영역, 임의로 사용되지 않는 영역을 삽입 하는 방법으로 숨겨진 Data를 복구하는 기법

   ∙ 정상적인 File이나 약속된 값이 저장된 File 분석

 


# 섹터와 클러스터

   - 섹터(Sector): Disk상의 데이터 저장 최소 단위

   - 클러스터(Cluster): 파일의 Disk 할당 최소 단위

 

 

# MBR (Master Boot Record)

- 일반적으로 X86 환경에서 사용되며 파티션에 대한 위치를 포함한 정보, OS 부팅을 위한 부트 코드(Boot Code) 등을 포함

 

- 부트 코드는 컴퓨터의 읽기 전용 기억장치(ROM)에 있는 부트로더 (Boot Loader 또는 부트스트랩로더)에 의해서 실행(메모리에 Load)

- 4개의 파티션 정보(Primary Partition Entry)를 포함하는 파티션 테이블(Partition Table)을 가지고 있으며 확장 파티션에 의해서 4개 이상 의 Partition을 생성할 수 있음

 

 

'포렌식 > 디지털 포렌식' 카테고리의 다른 글

침해사고 포렌식 개요  (0) 2019.08.12
시스템 로그 정보 (Linux, windows)  (0) 2019.06.21
NTFS MFT(Attributes)속성  (0) 2019.06.17
NTFS MFT Entry  (0) 2019.06.16
NTFS의 MFT(Master File Table)란?  (0) 2019.06.15
Comments