파일 시스템


디지털 포렌식에 관심이 있는 사람이라면, 파일 시스템에 관한 이야기를 들어본 적이 있을 것이다.

주로 파일 시스템을 토대로 포렌식 분석 등에 쓰이는 것으로 알고 있지만,

사실 컴퓨터를 공부하는 사람이라면 기본적으로 메모리와 함께 공부해야 할 부분이라고 볼 수 있다.

본 글에서는 파일 시스템이 정확히 무엇을 의미하는 것인지 그 정의와 목적을 알아본 후

운영체제 별 파일 시스템에는 어떠한 것이 있는지 알아보도록 한다.


 

 파일 시스템 ( File System ) 

  • 컴퓨터에서 저장되는 모든 데이터를 하나의 객체(파일)로 취급하면서 사용자가 쉽게 사용할 수 있도록 관리하는 방식
  • 사용자에게 하드디스크 동작을 추상화 시켜주는 도구
  • 즉, 파일의 이름을 정하고 저장 및 검색을 위해 논리적으로 어디에 위치 시켜야 하는지에 대한 방법을 구성한 시스템

 

 파일 시스템의 필요성 

 

대용량 저장 매체의 보편화로 인해 운영체제 차원에서의 대용량 파일을 관리할 필요가 생기게 됨

 

 

 파일 시스템의 목적 

 

파일을 빠르게 읽기, 쓰기, 삭제 등의 기본적 기능을 원활히 수행

디스크 등의 자원을 효율적으로 관리하기 위함

 


하나의 예로, 디지털 포렌식의 경우 디스크 분석을 위해서는 기본적으로 그 구조를 알고 있어야 한다.

디스크(또는 파일) 구조를 알아야 특정 Reference(이름, 생성날짜 등)를 이용해 필요한 증거들을

검색 및 수집한 후 이를 바탕으로 분석을 할 것이다. 

파일 구조에 입각하여 정확하고 신속히 분석을 수행하기 위해서는 파일 시스템의 이해가 필수불가결하다.


 

 

 파일시스템 구성 

  • Boot Sector ( 부트 섹터 )
    • Drive 시작 부분
    • Drive를 어떤 방식으로 읽어야 할지를 결정하는 영역

 

  • Index ( =Meta Data )
    • Drive 내 존재하는 파일 또는 폴더 정보를 제공하는 영역
    • 주로 File name / Type / Size / Status / Mac Time / User 등의 정보가 기록됨

 

  • Data
    • 각 파일에 대한 실제 Data가 들어있는 영역

FAT 파일 시스템 구조

 

※ 포맷 : 파일시스템을 할당된 볼륨에 구축하는 작업 ※

(파일시스템을 새로 구축할 때 안에 내용을 지우고 설치하므로 우리가 알고 있는 포맷이라고도 할 수 있다.)

 

 

 

 파일시스템 종류 

시스템 설명 종류
디스크
파일 시스템
  • 자료 기억 장치, 특히 컴퓨터에 연결된 디스크 드라이브에 파일을 저장하도록 설계된 시스템
  • FAT / NTFS 
  • HFS / APFS / NNFS 
  • ext2,3,4 / 유닉스 파일 시스템
데이터베이스
파일 시스템
  • 파일을 여러 특성(형식, 주제, 만든이, 내용)에 따라 시스템에서 자동으로 분류하여 관리하는 것
  • 쿼리언어나 자연어 등으로 파일을 신속히 검색 가능
  • BFS / WinFS
트랜잭션 기반
파일 시스템
  • 파일에 일어난 이벤트/트랜잭션을 기록하는 시스템
  • 논리적으로 동시에 수행되어야 하는 작업들을 하나의 "트랜잭션"으로 묶어두고 수행하며 오류 방지
  • 처리속도는 느리지만 안전성은 뛰어남
  • 은행 업무 시 송금 업무 실행 도중 오류가 발생하면 양 쪽 시스템에서 트랜잭션을 다시 수행하여 오류 정정
특수 용도
파일 시스템
  • 파일 중심의 운영체제에서 쓰이는 특수 용도 시스템
  • 실시간 운영 체제를 위한 파일 시스템을 탑재하여 프로세스나 운영 체제 여러 기능에 접근 가능
  • 플래시 메모리를 사용
 
  • 심우주 탐사선 : 디지털 테이프 기반 파일 시스템 탑재

 

 

 

 

참고 : 

https://securitymax.tistory.com/80?category=306267

https://ko.wikipedia.org/wiki/%ED%8C%8C%EC%9D%BC_%EC%8B%9C%EC%8A%A4%ED%85%9C

http://forensic.korea.ac.kr/DFWIKI/index.php/%ED%8C%8C%EC%9D%BC%EC%8B%9C%EC%8A%A4%ED%85%9C

https://kkamagui.tistory.com/category

[사진] https://torystory.tistory.com/28

 

'Knowledge' 카테고리의 다른 글

네이밍 컨벤션 ( Naming Convention )  (0) 2019.09.23
도커 ( Docker )  (0) 2019.09.11
Garbage Collection ( 쓰레기 수집 )  (0) 2019.09.06
JSON (JavaScript Object Notation)  (0) 2019.09.02
XML (eXtensible Markup Language)  (0) 2019.09.01