File System Forensics 48

[File System] NTFS (02) - MFT 엔트리, 파일시스템메타데이터

안녕하세요. 도깬리 포렌식스 입니다. 오늘은 MFT 엔트리의 내용과 파일시스템 메타데이터파일에 대해 알아 보겠습니다. 모두 화이팅하세요!!! MFT 엔트리의 내용 엔트리의 크기(1KB)는 부트섹터에 기록됩니다. 파일의 크기가 1KB 이상이라면 여러 개의 엔트리를 사용할 수 있습니다. 1개의 파일이 여러 개의 엔트리를 사용하는 경우 - 첫 엔트리를 ‘기준 엔트리’라고 부릅니다. - 나머지 엔트리는 ‘기준 엔트리’주소를 포함합니다. MFT 엔트리는 일종의 ‘소지품이 담겨 있는 큰 박스’ 박스의 외부는 이름과 주소 등 기본적인 정보가 붙어 있습니다. 기본 정보는 고정된 필드로 저장됩니다. 시그너처 - ‘FILE’ : 정상적인 엔트리 - ‘BAAD’ : 오류가 난 엔트리 플래그 - 사용중인지 여부 - 파일인지 ..

[File System] NTFS (01) - MFT

안녕하세요. 도깬리 포렌식스 입니다. 오늘은 NTFS를 소개해 드리겠습니다. 모두 화이팅 하세요!!! NTFS 소개 윈도우 NT, 2000, XP, 2003 이후 버전에서 사용하는 기본 파일시스템 입니다. - FAT : 모바일, 이동식 저장장치에서 주로 사용하는 파일시스템 입니다. - NTFS : 노트북, 데스크탑에서 주로 사용하는 파일시스템 입니다. FAT보다 복잡합니다. 신뢰성, 보안, 대용량 장치를 지원하기 위해 설계된 것 입니다. 마이크로소프트에서는 NTFS의 구체적인 명세를 공개하지 않고 있습니다. 개념적인 설명만 있을 뿐, 세부적인 설계사항을 공개하지 않고 있습니다. 몇몇 해커그룹에서 NTFS의 구조를 역공학적인 방법으로 분석하여 공개하고 있긴 하나, 일부 정확도가 떨어지는 측면이 있습니다. ..

[File System] FAT 파일시스템 (10) - SFN, LFN Entry 등

안녕하세요. 도깬리 포렌식스 입니다. 오늘은 FAT 파일시스템에서 Volume Label Entry, Directory Entry, Long File Name Directory Entry에 대해 알아보겠습니다. 모두 화이팅하세요!!! 볼륨레이블 엔트리 짧은 파일명 디렉토리 엔트리 (SFN, Short File Name Directory Entry) 긴 파일명 디렉토리 엔트리 (LFN, Long File Name Directory Entry) 원래 디렉토리 엔트리는 8글자의 파일명과 3글자의 확장자명으로 구성되어 있었습니다. 긴 파일명, 특별한 문자가 포함된 파일명을 위해 LFN(Long File Name)이 필요합니다. 긴 이름의 파일은 여러 개의 LFN과 1개의 SFN으로 구성되고, LFN이 SFN보다..

[File System] FAT 파일시스템 (9) - Directory Entry

안녕하세요. 도깬리 포렌식스입니다. 오늘은 FAT 파일시스템에서 디렉토리 엔트리 구조체를 알아보겠습니다. 모두 화이팅 하세요!!! 디렉토리 엔트리 파일/디렉토리의 이름과 메타데이터가 저장됩니다. 기본 FAT 디렉토리 엔트리의 데이터 구조체 바이트 범위 설명 0 ~ 0 파일이름의 첫 문자와 할당상태를 나타냄 (비할당 : 0xE5, 0x00로 표시) 1 ~ 10 파일이름의 두 번째 ~ 11번째 문자를 나타냄 (ASCii) 11 ~ 11 파일의 속성 12 ~ 12 예약됨 13 ~ 13 생성시간 (0.1초 단위) 14 ~ 15 생성시간 (시간, 분, 초) 16 ~ 17 생성날짜 18 ~ 19 접근날짜 20 ~ 21 첫 번째 클러스터 주소의 상위 2바이트 부분 (FAT12/16의 경우에는 ‘0’값임) 22 ~ 2..

[File System] FAT 파일시스템 (8) - File Allocation Table

안녕하세요. 도깬리 포렌식스입니다. 오늘은 FAT 파일시스템에서 File Allocation Table (FAT)에 대해 알아 보겠습니다. 모두 화이팅하세요!!! FAT 구조체 클러스터의 할당 상태를 기록한 영역입니다. 다음에 할당할 클러스터를 찾을 때 참조합니다. 대부분 2개의 FAT이 존재하고, FAT의 개수는 부트섹터에 기록됩니다. 첫 번째 FAT 예약된 섹터 다음부터 시작됩니다. 전체섹터 개수는 부트섹터에 기록되어 있습니다. 두 번째 FAT 첫 번째 FAT의 다음 섹터에서 시작됩니다. 테이블은 같은 크기의 엔트리로 구성됩니다 각 엔트리의 크기는 파일시스템의 버전에 따라 다릅니다. - FAT12 : 12비트 크기의 엔트리 - FAT16 : 16비트 크기의 엔트리 - FAT32 : 32비트 크기의 엔..

[File System] FAT 파일시스템 (7) - Boot Sector

안녕하세요. 도깬리 포렌식스 입니다. 오늘은 FAT 파일시스템의 Boot Sector에 대해 알아 보겠습니다. 모두 화이팅 하세요!!! 부트 섹터 FAT 파일시스템의 첫 번째 섹터(0번 섹터) 입니다. FAT 부트 섹터의 0번 바이트 ~ 35번 바이트 부분 (FAT12/16/32 공통 데이터) 바이트 범위 설명 0 ~ 2 부트 코드를 점프하는 어셈블리 명령어 (부팅 파일시스템이 아닌 경우, 필수가 아님) 3 ~ 10 OEM 이름 (ASCii) 11 ~ 12 섹터당 바이트 수, 주로 512, 1024, 2048, 4096 바이트가 할당됨 13 ~ 13 클러스터당 섹터수(데이터 유닛), 2의 배수 값이지만, 클러스터 크기는 32KB 이하이어야 14 ~ 15 예약된 영역의 섹터 크기 16 ~ 16 FAT영역의..

[File System] FAT 파일시스템 (6)

안녕하세요. 도깬리 포렌식스 입니다. 오늘은 FAT 파일시스템에서의 파일 복구에 대해 알아 보겠습니다. 모두 화이팅 하세요!!! 파일 복구 파일을 삭제하면 디렉토리 엔트리 : 파일 이름의 첫 문자가 ‘0xE5’로 바뀝니다. FAT 엔트리 : ‘0’으로 바뀝니다. 파일을 복구하기 위해서는 파일의 시작 위치와 크기를 알아야 합니다. 2가지 복구 옵션 할당된 클러스터이든 비할당 클러스터이든 무시하고, 파일 크기에 필요한 데이터량만큼 읽는 옵션 입니다. 비할당 클러스터만을 대상으로 파일 크기에 필요한 데이터량만큼 읽는 옵션 입니다. - 복구 확률이 상대적으로 높습니다. 파일의 단편화와 조각 모음 조각모음은 파일에 할당된 클러스터를 연속적으로 배열하는 작업이기 때문에, 마지막으로 조각모음을 한 다음에 삭제한 파일..

[File System] FAT 파일시스템 (5)

안녕하세요. 도깬리 포렌식스 입니다. 오늘은 FAT 파일시스테에서 파일의 이름에 대해 알아 보겠습니다. 모두 화이팅 하세요!!! 파일 이름 디렉토리 엔트리 구조체에서 파일명은 8.3 이름 규칙에 따라 기록됩니다. 파일명의 문자가 8개 이상인 경우, 해당 디렉토리 엔트리에 LFN(Long File Name) 엔트리가 추가됩니다. 즉, 일반적으로 SFN(Short File Name) 엔트리 + LFN 엔트리 형식으로 구성됩니다. LFN 엔트리 파일명만 기록됩니다. LFN 엔트리도 비할당으로 되는 경우, 첫 바이트가 0xE5로 바뀝니다. UTF-16으로 인코딩된 13개의 문자(문자 1개 = 2바이트)를 저장합니다. 영문자 ASCii 외에 한글 같은 거의 모든 문자를 지원합니다. Code Pages를 사용하여 ..

[File System] FAT 파일시스템 (4)

안녕하세요. 도깬리 포렌식스입니다. 오늘은 FAT 파일시스템 4회차입니다. 삭제된 디렉토리에 대한 탐색과정과 FAT 파일시스템에서의 시간값 분석에 대해 알아보겠습니다. 파일 삭제 디렉토리 엔트리의 첫 바이트가 0xE5로 바뀝니다. 관련된 FAT엔트리의 값이 ‘0’으로 바뀝니다. 삭제된 디렉토리 탐색 비할당영역에서 ‘.’ 디렉토리 엔트리(시그너처 : 0x2e202020, 디렉토리 엔트리의 첫 4바이트)를 탐색하는 방법으로 찾습니다. 시간값 업데이트 3개의 시간 값(마지막 접근, 마지막 수정, 생성)은 부가적인 데이터이기에 잘못된 값을 가지고 있을 수 도 있습니다. 윈도우 동작에 따른 시간 값의 변경 패턴에 대한 참고자료 (Microsoft Knowledge Base Article 299648) 생성시각 새..

[File System] FAT 파일시스템 (3)

안녕하세요. 도깬리 포렌식스 입니다. 오늘은 FAT 파일시스템 3회차 입니다. 모두 화이팅 하세요!!! 디렉토리 엔트리 엔트리 크기는 32바이트 입니다. 파일 속성, 크기, 클러스터 시작 주소, 날짜/시간 정보를 포함합니다. 파일명도 포함합니다. 디렉토리 엔트리는 데이터 영역 어느 곳이든 존재할 수 있습니다. 디렉토리 엔트리는 클러스터처럼 고유 번호로 된 주소를 사용하지 않습니다. 7개의 파일 속성 - 디렉토리 속성 - 긴 파일명 속성(Long File Name) - 볼륨 레이블 - 읽기 전용 속성 - 숨김 속성 - 시스템 속성 - 아카이브 속성 3개의 시간 정보 생성일시, 수정일시, 접근날짜 3개의 시간 정보는 각각 다른 정확도를 갖습니다. - 생성일시 : 0.1초 단위 - 수정일시 : 2초 단위 - ..