본문 바로가기

System

윈도우 파일시스템 NTFS

NTFS(New Technology File System)

NTFS는 기존의 FAT 파일 시스템을 개선하고 윈도우 서버용으로 사용하기 위해 개발된 파일 시스템이다. 현재는 윈도우NT 개열의 운영체제에서 사용중이며 메타 데이터 지원, 고급 데이터 구조의 사용으로 인한 성능 개선, 신뢰성, 추가 확장 기능 등을 더하여 디스크 공간을 효율적으로 활용할 수 있다.

주요특징

USN 저널 Update Sequence Number Journal의 약자이다. 저널링 기능을 제공하는 것으로 파일 시스템이 변경될 때 그 내용을 기록하여 복구할 수 있다. 저널링 기능이란, 일정 부분을 남겨두어 백업, 복구에 사용할 수 있도록 기록하는 것이다. 사용자가 파일에 입력, 수정 할 경우 해당 내역을 로그 기록에 남겨두어 후에 백업, 복구할 수 있도록 한다.
ADS(Alternate Data Dream) MAC OS X 파일 시스템과 호환성을 위해서 만든 공간이다. 다중 데이터 스트림을 지원한다. 데이터 스트림은 연결 지향 통신에서 전송된 정보를 수집하거나 정보를 전송할 때 사용되는 디지털 방식으로 암호화 된 일관된 신호의 흐름을 말한다.
Sparse 파일 파일 데이터가 대부분 0일 경우에 실제 데이터 기록 없이 정보를 기록하는 기능이다. 즉, 데이터를 생성할 때 크기를 100%으로 지정하는 것이 아닌 데이터가 채워지는 공간만큼 유동적으로 크기를 할당하는 것이다.
파일 압축 LZ77의 변형된 데이터 압축 알고리즘을 지원한다. LZ77은 인코딩 알고리즘으로 사전 방식을 채택한 압축 방식이다. 반복적으로 나오는 문자열을 압축하여 표현한다. zip, gzip, pkzip 등에서 사용되는 압축 알고리즘과 동일하다. 또한 다른 알고리즘과 결합하여 사용할 수 있다. 
VSS Volume Shadow Copy Service의 약자이다. 덮어써진 파일과 디렉터리 백업을 유지하여 복구 기능을 지원한다. VSS를 사용하지 않고 백업본을 유지할 때 발생하는 문제점을 해결하기 위함이다. 첫 번째로 데이터가 실행 중 일때 백업이 필요할 경우 파일의 일부가 열려 있는 상태로 인해 일관성이 없는 상태일 수 있다. 두 번째로 데이터가 클 경우 한 번에 모두 백업하기가 어려울 수 있다. 이때 VSS를 사용하면 문제를 해결하고 안전하고 일관성있는 파일 백업을 할 수 있다.
스냅샷과 동일한 기능으로 생각하면 편하다. 자세한 내용은 아래 링크를 통해 확인할 수 있다.
docs.microsoft.com/ko-kr/windows-server/storage/file-server/volume-shadow-copy-service
EFS Encrypting File System의 약자이다. 대칭키 기법으로 파일 데이터를 암호화 한다. 대칭키는 데이터를 암호화 할때의 키와 복호화할 때의 키가 동일한 암호화 방식이다.
Quotas 사용자별 디스크 사용용량을 제한할 수 있는 기능이다.
Unicode 다국어를 지원한다.
동적 Bad 클러스터 할당 Bad Sector가 발생한 클러스터를 자동으로 재할당 한다. 예를 들어 서버가 충돌한 후 NTFS는 자체 로그파일을 재생하여 데이터를 복구할 수 있는 기능이 있다.
대용량 지원 2Tera Byte가 넘는 대용량 볼륨을 지원한다. 최근 윈도우 10 1709 이상에서는 최대 8페타바이트 볼륨을 지원할 수 있다. 이는 클러스터의 크기에 따라 나눠지며 클러스터의 크기를 조절하면 적게는 16TB에서 최대 8PB까지 지원한다.

 

NTFS 파일 시스템 구조

Volume Boot Record Master File Table Data Area
  • VBR : NTFS 파일 시스템의 제일 처음에 있는 것으로 부트 섹터, 부트코드, NTLDR 위치 등의 정보를 가지고 있다. VBR의 Boot Sector는 섹터 0번에 위치한다.
  • MFT : NTFS의 메타정보, 파일 및 디렉터리 등의 정보를 관리하는 파일로 파일 위치, 속성, 시간정보, 파일명, 크기 등의 정보를 가지고 있다.
  • Data Area : 실제 데이터가 저장되는 공간이다.

 

ADS(Alternative Data Stream)

ADS는 MAC OS X와 호환성을 만들어진 NTFS의 공간이다. 이 공간에 데이터를 넣으면 파일 속성을 확인해도 용량이 측정이 안되며 일반적으로 파일을 실행하는 방법으로는 내용을 확인할 수 없다. 공격자들은 해당 영역에 숨겨놓은 데이터를 공격에 활용할 수 있다.

adstest.txt 에 데이터를 삽입했지만 용량은 0으로 나온다.

more < adstest.txt:hidden 명령을 통해 확인이 가능하다.

명령을 통해 확인

 

반응형

'System' 카테고리의 다른 글

윈도우 레지스트리, 하이브 파일  (0) 2021.01.12
윈도우 공유 폴더 취약점  (0) 2021.01.12
윈도우 자동생성 사용자 계정  (0) 2021.01.09
윈도우 PE(Portable Execute)  (0) 2021.01.09
윈도우 인증 시스템  (0) 2021.01.08