He thong quan ly tap tin NTFS - 8 - Attribute $STANDARD_INFORMATION

(Tiếp theo của He thong quan ly tap tin NTFS - 7 - Attribute)


Attribute $STANDARD_INFORMATION


Attribute $STANDARD_INFORMATION có trong tất cả các tập tin và thư mục, attribute này chứa một số thông tin quan trọng như: thời gian, ngày tháng, quyền sở hữu (ownership), phân quyền sử dụng (security), hạn ngạch đĩa (quota). Những thông tin này không cần thiết đối với việc lưu trữ tập tin, tuy nhiên, Windows rất cần đến nó trong các ứng dụng.

Mã loại (type ID) mặc định của attribute này là 16. Trong Windows 2000 và XP, attribute này có kích thước 72 byte, trong Windows NT là 48 byte, trong Windows 7 là 96 byte.

Hệ thống Windows luôn sắp xếp các attribute trong một MFT entry theo thứ tự tăng dần của mã loại. Do mã loại của attribute $STANDARD_INFORMATION có giá trị nhỏ nhất nên nó luôn nằm ở vị trí đầu tiên, ngay sau header của MFT entry.

Attribute này có bốn thông tin về thời gian, gồm:

-         Thời gian tạo tập tin (created).

-         Thời gian thay đổi mới nhất nội dung hai attribute $DATA hoặc $INDEX (Modified Time).

-         Thời gian thay đổi mới nhất thông tin mô tả tập tin (metadata). Thời gian này không được hiển thị cho người dùng (MFT Modified Time).

-         Thời gian truy cập nội dung tập tin mới nhất (Accessed Time).

Attribute này cũng chứa “cờ báo” (flag) cho biết thông tin về kiểu của tập tin: chỉ đọc (read only), tập tin hệ thống (system), thông tin liên quan đến việc lưu dự phòng (archive).

Với các MFT entry không phải là của tập tin hoặc thư mục, attribute $STANDARD_INFORMATION còn cung cấp thông tin về: nén, tập tin “thưa” (sparse) hoặc mã hóa (encrypted). Nếu là MFT entry của tập tin hoặc thư mục, các thông tin này sẽ được lưu trong header của MFT entry.

Trong các hệ thống NTFS phiên bản 3.0 về sau (Windows 2000, XP…v.v), attribute này có chứa thêm bốn thông tin gồm:

-         Thông tin về sở hữu (owner identity), được sử dụng trong việc tính hạn ngạch đĩa của mỗi người dùng.

-         Thông tin cho biết dung lượng của tập tin được tính vào hạn ngạch đĩa của người dùng.

-         Định danh bảo mật (Security ID), định danh này được sử dụng trong tập tin $Secure để xác định quyền truy cập tập tin.

-         Giá trị USN (update sequence number), hỗ trợ trong việc tìm kiếm hàng loạt các tập tin đã có thay đổi trong một khoảng thời gian nhất định.

Hình 27 là attribute $STANDARD_INFORMATION trong MFT entry của tập tin Test.txt.



Quan sát Hình 27, trong phần header của MFT entry, offset 0x14 -> 0x15 cho biết vị trí bắt đầu của các attribute, có giá trị là 0x0038 = 56.

Trong một MFT entry, các attribute được sắp xếp theo thứ tự tăng dần của mã loại (type ID). Attribute này có mã loại nhỏ nhất nên luôn luôn nằm ở vị trí đầu tiên.

Cấu trúc của attribute $STANDARD_INFORMATION được thể hiện ở bảng sau.

Byte thứ
Mô tả
0 – 15
Header của attribute $STANDARD_INFORMATION.
16 – 19
Kích thước phần nội dung của attribute $STANDARD_INFORMATION. 0x00000048 =  72 (byte).
20 – 21
Nơi bắt đầu (offset) của phần nội dung attribute $STANDARD_INFORMATION. 0x0018 = 24 (byte thứ 24 tính từ đầu attribute).

Bảng sau là nội dung header của attribute $STANDARD_INFORMATION.

Byte thứ
Giá trị (Hệ 16 – Hệ 10)
Mô tả
0 – 3
0x00000010 – 16
Mã loại là 16.
4 – 7
0x00000060 – 96
Kích thước của attribute $STANDARD_INFORMATION là 96 byte.
8 – 8
0x00 – 0
Attribute thuộc kiểu resident.
9 – 9
0x00 – 0
Attribute này không được đặt tên, nên không có giá trị chiều dài của tên.
10 – 11
0x0000 – 0
Attribute này không được đặt tên, nên không có thông tin về vị trí của tên.
12 – 13
0x0000 – 0
Giá trị cờ báo.
14 – 15
0x0000 – 0
Định danh của attribute (attribute ID) $STANDARD_INFORMATION là 0.

Phần nội dung của attribute $STANDARD_INFORMATION bắt đầu tại byte 24 (tính từ đầu attribute $STANDARD_INFORMATION), kích thước của phần nội dung là 72 byte.

Cấu trúc của phần nội dung attribute $STANDARD_INFORMATION được thể hiện ở bảng sau.

Byte thứ
Giá trị hệ 16 – Hệ 10
Mô tả
0 – 7
0x01CF 352F 00BB 73E4 -130381390209053668
Thời gian tạo tập tin: Saturday, March 1, 2014 4:17:01AM UTC.
8 – 15
0x01CF 352E EDCA 04D0 – 130381389891241168
Thời gian thay đổi mới nhất nội dung hai attribute $DATA hoặc $INDEX: Saturday, March 1, 2014 4:16:29AM UTC.
16 – 23
0x01CF 352F 0488 3354 – 130381390272803668
Thời gian thay đổi mới nhất thông tin mô tả tập tin: Saturday, March 1, 2014 4:17:07AM UTC.
24 – 31
0x01CF 352F 00BB 73E4 – 130381390209053668
Thời gian truy cập nội dung tập tin mới nhất: Saturday, March 1, 2014 4:17:01AM UTC.
32 – 35
0x00000020
Giá trị cờ báo, tập tin được đánh dấu là archive. (xem bảng về các giá trị của cờ ở bên dưới).
36 – 39
0x00000000
Maximum number of versions
40 – 43
0x00000000
Version number
44 – 47
0x00000000
Class ID
48 – 51
0x00000000
Định danh sở hữu - Owner ID (từ phiên bản 3.0 về sau).
52 – 55
0x000002D9
Định danh bảo mật - Security ID (từ phiên bản 3.0 về sau). Lưu ý: đây không phải là SID trong Windows.
56 – 63
0x00000000 00000000
Thông tin về hạn ngạch - Quota charged (từ phiên bản 3.0 về sau)
64 – 71
0x0000 0000 00BA EC10
Giá trị của USN (update sequence number) (từ phiên bản 3.0 về sau)

Giá trị về thời gian được biểu diễn bằng một số 64 bit, đây là kết quả của: (số nano giây tính từ thời điểm 1/1/1601 UTC)/100, hay nói cách khác, đây là số 100 nano giây tính từ thời điểm 1/1/1601 UTC. UTC là một thỏa hiệp viết tắt của Coordinated Universal Time, là giờ chuẩn quốc tế, tạm dịch là Giờ phối hợp quốc tế (wikipedia).

Ví dụ, thời gian tạo tập tin là: Saturday, March 1, 2014  4:17:01AM UTC sẽ được biểu diễn là: 0x01CF 352F 00BB 73E4, đổi ra hệ 10 là 130381390209053668 (trăm nano giây). Có thể sử dụng công cụ đổi tại website: www.silisoftware.com/tools/date.php.

Bảng sau là giá trị và ý nghĩa của cờ tại offset 32 –> 35.

Giá trị cờ
Ý nghĩa
0x0001
Chỉ đọc (read only).
0x0002
Ẩn (hidden).
0x0004
Thuộc hệ thống (system).
0x0020
Thông tin phục vụ việc lưu dự phòng. Tập tin được đánh dấu là archive.
0x0040
Thuộc thiết bị (Device).
0x0080
#Normal.
0x0100
Temporary.
0x0200
Tập tin ‘thưa’ - Spares file.
0x0400
Reparse point.
0x0800
Nén (compressed).
0x1000
Offline
0x2000
Nội dung không được tạo chỉ mục để tăng tốc độ tìm kiếm.
0x4000
Mã hóa (encrypted).
 
-----------------------------
Tài liệu đã tham khảo:
Brian Carrie, File System Forensic Analysis, Addison Wesley Professional, 2005
-------------------
Cập nhật 2014/5/29