SATA có các đặc điểm sau: Tốc độ hoạt động cao Dễ kết nối với các thiết bị lưu trữ Dễ cấu hình Truyền dữ liệu với tốc độ 1.5 Gbps SATA revision 1.0 và 6 Gbps SATA revision 3 SCSI
TỔNG QUAN VỀ Ổ ĐĨA
Đặc điểm của các loại ổ đĩa
1.1.1 Ổ đĩa cứng (Hard disk drive – HDD)
Ổ đĩa cứng (HDD) là thiết bị lưu trữ dữ liệu phổ biến trong máy tính và các thiết bị điện tử sử dụng đĩa từ quay để đọc và ghi dữ liệu Tốc độ của HDD phụ thuộc vào tốc độ quay của các đĩa (RPM) Tốc độ RPM càng cao, hiệu suất đọc/ghi càng tốt nhưng cũng làm tăng độ dễ hỏng do có các bộ phận cơ học chuyển động.
HDD là loại bộ nhớ bất biến (non-volatile), có nghĩa là dữ liệu không bị mất khi ngừng cung cấp nguồn điện
Cấu trúc của một HDD bao hồm các thành phần chính sau:
Đầu Đọc/Ghi (Read/Write Head)
Động Cơ Quay (Spindle Motor)
Đĩa Từ (Platter) Đĩa từ (Platter) thường cấu tạo bằng nhôm hoặc thủy tinh, trên bề mặt được phủ một lớp vật liệu từ tính là nơi chứa dữ liệu Tuỳ theo hãng sản xuất mà các đĩa này được sử dụng một hoặc cả hai mặt trên và dưới Số lượng đĩa có thể nhiều hơn một, phụ thuộc vào dung lượng và công nghệ của mỗi hãng sản xuất khác nhau
Mỗi đĩa từ có thể sử dụng hai mặt, mỗi HDD có thể có nhiều đĩa từ, chúng gắn song song, quay đồng trục, cùng tốc độ với nhau khi hoạt động
Hình 1 2 Cấu trúc của ổ đĩa
Các mặt của đĩa từ được chia thành các vòng tròn đồng tâm gọi là track Một ổ đĩa cứng hiện đại chứa hàng chục nghìn track trên mỗi mặt đĩa Các đầu đọc/ghi dữ liệu di chuyển từ phần trong cùng đến phần ngoài cùng của đĩa để đọc và ghi dữ liệu Kiểu sắp xếp dữ liệu này cho phép dễ dàng truy cập đến bất kỳ phần nào của đĩa, vì vậy HDD được gọi là “thiết bị lưu trữ truy cập ngẫu nhiên” (random-access storage devices)
Các track được chia thành các phần nhỏ hơn gọi là sector, là đơn vị lưu trữ nhỏ nhất trên bề mặt đĩa của HDD Các sector có kích thước thông thường là 512 byte đối với HDD, 2048 byte đối với CD-ROM và DVD-ROM Tuy nhiên, các HDD mới nhất sử dụng sector có dung lượng 4096 byte (4 KB) nhằm mục đích kiểm soát ổ đĩa, hỗ trợ lưu trữ dữ liệu và phát hiện, sửa lỗi Tất cả các sector nằm giữa hai vòng tròn đồng tâm tạo thành một track, còn các track kết hợp với nhau tạo thành bề mặt đĩa.
Cấu trúc của một sector bao gồm các phần sau:
Phần header (Tiền tố) o Đồng Bộ (Synchronization Byte): Các byte này giúp đầu đọc định vị sector chính xác trên đĩa và đồng bộ hóa với tín hiệu từ o ID Field: Chứa thông tin nhận dạng như số cylinder (trụ), số head (đầu đọc), và số sector Điều này giúp định vị chính xác sector trong cấu trúc đĩa o Trường dữ liệu (Data field): Chứa dữ liệu thực tế mà người dùng lưu trữ, thường là 512 byte trong các sector truyền thống Đây là nơi lưu trữ các khối dữ liệu của hệ thống tập tin hoặc dữ liệu của ứng dụng
Phần footer (Hậu tố) o ECC (Error Correction Code): Dùng để phát hiện và sửa chữa các lỗi xảy ra trong quá trình đọc/ghi dữ liệu ECC là mã kiểm tra đặc biệt, có khả năng phát hiện và sửa chữa các lỗi dữ liệu nhỏ để đảm bảo tính toàn vẹn của dữ liệu o CRC (Cyclic Redundancy Check): Được sử dụng để kiểm tra tính toàn vẹn của dữ liệu CRC là một hàm băm tạo ra giá trị kiểm tra từ dữ liệu Nếu giá trị này không khớp trong quá trình đọc, điều đó có nghĩa là dữ liệu đã bị thay đổi
Cylinder là tập hợp các track có cùng bán kính nằm trên các bề mặt khác nhau của các platter trong một ổ đĩa cứng Nói một cách khác, khi đầu đọc/ghi đầu tiên làm việc tại một track nào thì tập hợp toàn bộ các track trên các bề mặt đĩa còn lại mà các đầu đọc còn lại đang làm việc tại đó gọi là cylinder Trên một ổ đĩa cứng có nhiều cylinder bởi có nhiều track trên mỗi mặt đĩa từ
Quá trình đánh số track của HDD là tổ chức và xác định vị trí dữ liệu trên đĩa Các track được đánh số từ 0 bắt đầu từ rìa ngoài của đĩa và tăng dần về phía tâm, tương ứng với các cylinder Đầu đọc/ghi hoạt động đồng bộ để định vị tại cùng một số track Do đó, vị trí của track thường được xác định bằng số cylinder thay vì số track.
Cylinder, head, and sector (CHS) xác định địa chỉ của các sector trên đĩa Cylinder cho biết địa chỉ của track theo chiều dọc xuyên suốt qua các platter, head là đầu đọc ghi tương ứng với một bề mặt của đĩa và sector cho biết địa chỉ chính xác của nó trên một track Ví dụ, một sector ở Cylinder 100, Head 2, Sector 10 sẽ được định vị bằng cách tìm track 100, sử dụng đầu đọc 2, và đọc sector thứ 10 trên track đó
Hình 1 3 Cấu trúc lưu trữ dữ liệu trong một ổ đĩa
Các ổ cứng mới sử dụng các định dạng sector tiên tiến có dung lượng 4096 byte (4 KB hoặc 4K) Định dạng này sử dụng bề mặt lưu trữ của đĩa một cách hiệu quả bằng cách gộp 8 sector 512 byte thành một sector duy nhất 4096 byte Cấu trúc của một sector 4K giữ nguyên các thành phần của các sector 512 byte, loại bỏ các khu vực tiêu đề dư thừa giữa các sector
Tính toán dung lượng ổ đĩa
Một ổ đĩa có 16,384 cylinder, 80 head, và 63 sector mỗi track Giả sử một sector có 512 byte Dung lượng của ổ đĩa này là bao nhiêu?
Dung lượng tổng của ổ đĩa = Số cylinder * Số đầu đọc * Số sector mỗi track
Dung lượng tổng của ổ đĩa = (16,384 cylinder) * (80 đầu đọc) * (63 sector / track) * (512 byte / sector) = 42,278,584,320 byte
Vậy dung lượng của ổ đĩa là 42,278,584,320 byte
1.1.2 Ổ đĩa SSD (Solid-State Drive) Ổ đĩa SSD là một thiết bị lưu trữ dữ liệu điện tử sử dụng bộ nhớ flash Trong lĩnh vực điện tử, thuật ngữ “trạng thái rắn” (solid-state) đề cập đến một mạch điện tử được xây dựng hoàn toàn bằng chất bán dẫn SSD sử dụng hai loại bộ nhớ sau đây:
NAND: SSD sử dụng chip NAND Flash để lưu trữ dữ liệu Có hai loại chính: NAND Flash MLC (Multi-Level Cell) và NAND Flash SLC (Single- Level Cell) MLC lưu trữ nhiều bit dữ liệu trên mỗi cell, trong khi SLC chỉ lưu một bit, làm cho SLC nhanh hơn và bền hơn nhưng đắt đỏ hơn Bộ nhớ NAND ngày nay được sử dụng rộng rãi trong các thiết bị di động, máy ảnh kỹ thuật số, máy nghe nhạc MP3, Nó chỉ cho phép một số lượng ghi hữu hạn trong suốt vòng đời của thiết bị
Volatile RAM-based SSDs: Sử dụng bộ nhớ RAM (Random Access Memory) làm phương tiện lưu trữ chính Những ổ đĩa này có tốc độ cao và độ trễ cực thấp của RAM để cung cấp hiệu suất vượt trội Tuy nhiên, RAM là bộ nhớ khả biến (volatile), tức là dữ liệu sẽ bị mất khi mất nguồn điện
Do đó, RAM-based SSDs thường đi kèm với các nguồn điện dự phòng như pin hoặc nguồn cấp điện liên tục (UPS) để duy trì dữ liệu trong một khoảng thời gian đủ dài cho đến khi dữ liệu được sao lưu vào bộ nhớ bất biến Ưu điểm chính của SSD so với HDD là :
Truy cập dữ liệu nhanh hơn
Sử dụng năng lượng thấp hơn
Độ tin cậy cao hơn
Các thành phần của SSD :
Quá trình khởi động của hệ điều hành
Booting là quá trình bắt đầu hoặc khởi động lại máy tính Quá trình này bao gồm việc khởi động cả phần cứng và phần mềm
Quá trình khởi động có thể thuộc hai loại sau:
Cold booting: Hay còn được gọi là hard booting, là quá trình xảy ra khi người dùng bật máy tính lần đầu tiên sau khi cắt hoàn toàn nguồn điện cung cấp cho hệ thống
Warm booting: Quá trình này xảy ra khi người dùng khởi động lại máy tính thông qua hệ điều hành
Trong quá trình khởi động, máy tính nạp hệ điều hành vào bộ nhớ hoặc RAM và chuẩn bị cho việc sử dụng Trong quá trình khởi tạo, hệ thống kích hoạt BIOS và nạp BIOS vào RAM BIOS lưu trữ lệnh đầu tiên, đó là lệnh thực hiện tự kiểm tra khi bật nguồn (POST) Trong quá trình POST, hệ thống kiểm tra chip BIOS và RAM CMOS
Sau khi tự kiểm tra và không phát hiện lỗi pin, POST sẽ tiến hành khởi động các thành phần hệ thống khác Quá trình này bao gồm kiểm tra các thiết bị phần cứng và thiết bị lưu trữ thứ cấp Khi hệ điều hành được cài đặt, chương trình thiết lập sẽ tạo các thư mục và tệp cần thiết trên ổ đĩa hệ thống.
1.2.1 Quá Trình Khởi Động Windows: Phương Pháp BIOS-MBR
Windows XP, Vista và 7 khởi động sử dụng phương pháp BIOS-MBR truyền thống Ngược lại, Windows 8 trở lên có thể sử dụng cả BIOS-MBR hoặc UEFI-GPT tùy lựa chọn.
Dưới đây là quy trình xảy ra trong hệ thống khi nó được bật
Khi người dùng bật hệ thống, CPU gửi một tín hiệu Power Good đến bo mạch chủ và kiểm tra firmware BIOS của máy tính
BIOS bắt đầu một kiểm tra tự kiểm tra khi bật nguồn (POST), kiểm tra xem tất cả phần cứng cần thiết cho việc khởi động hệ thống có sẵn và tải tất cả các cài đặt firmware từ bộ nhớ không bay hơi lên bo mạch chủ
Nếu POST thành công, các bộ điều chỉnh thêm thực hiện một kiểm tra tự kiểm tra để tích hợp với hệ thống
Quá trình trước khi khởi động được hoàn tất với POST, phát hiện một ổ đĩa khởi động hệ thống hợp lệ
Sau POST, firmware của máy tính quét ổ đĩa khởi động và tải bản ghi khởi động chính (MBR), bản ghi này tìm kiếm thông tin khởi động cơ bản trong
Dữ liệu Cấu Hình Khởi Động (BCD)
MBR kích hoạt Bootmgr.exe, nơi xác định trình tải Windows (Winload.exe) trên phân vùng khởi động Windows và kích hoạt
Trình tải Windows tải kernel OS ntoskrnl.exe
Khi Kernel bắt đầu chạy, trình tải Windows tải hal.dll, các trình điều khiển thiết bị lớp boot được đánh dấu là BOOT_START và hệ thống hive registry vào bộ nhớ
Kernel chuyển quyền kiểm soát của quá trình khởi động cho Quản lý Phiên (SMSS.exe), nơi tải tất cả các hive registry và trình điều khiển khác cần thiết để cấu hình môi trường chạy Win32 subsystem
Quản lý Phiên kích hoạt Winlogon.exe, nơi hiển thị màn hình đăng nhập người dùng để xác thực người dùng
Quản lý Phiên khởi động Quản lý Kiểm soát Dịch vụ, nơi khởi động tất cả các dịch vụ, phần còn lại của các trình điều khiển thiết bị không cần thiết, hệ thống bảo mật LSASS.EXE và các kịch bản Nhóm Chính sách
Khi người dùng đăng nhập, Windows tạo một phiên cho người dùng Quản lý Kiểm soát Dịch vụ bắt đầu explorer.exe và khởi động quá trình Quản lý Cửa sổ Desktop (DMW), nơi khởi tạo môi trường desktop cho người dùng
1.2.2 Quá trình khởi động của Windows: UEFI-GPT
Trình quản lý khởi động EFI điều khiển quá trình khởi động UEFI Nó bắt đầu với việc khởi tạo firmware; EFI tải các trình điều khiển UEFI và các ứng dụng UEFI (bao gồm cả trình tải khởi động hệ điều hành UEFI) để khởi tạo các chức năng Hệ thống tải trình tải hệ điều hành ở giai đoạn cuối cùng, sau đó hệ điều hành bắt đầu khởi động Khi hệ điều hành nhận được quyền điều khiển, nó tạm dừng dịch vụ khởi động UEFI
Quá trình khởi động UEFI bao gồm năm giai đoạn, mỗi giai đoạn có vai trò riêng của nó
Giai đoạn Bảo mật (SEC) của EFI bao gồm mã khởi tạo mà hệ thống thực thi sau khi bật nguồn cho hệ thống EFI Nó quản lý các sự kiện đặt lại nền tảng và thiết lập hệ thống sao cho nó có thể tìm, xác thực, cài đặt và chạy quá trình khởi động trước EFI (PEI)
Giai đoạn khởi tạo trước EFI
Giai đoạn PEI chuẩn bị khởi động CPU, bộ nhớ cố định và các khối firmware khởi động (BFV) Nó xác định vị trí và thực thi các Mô-đun khởi tạo trước (PEIM) có trong BFV để khởi tạo phần cứng hệ thống Cuối cùng, nó tạo Danh sách khởi tạo (HOBL) chứa danh sách các tài nguyên được phát hiện và mô tả giao diện, sau đó chuyển danh sách này sang giai đoạn tiếp theo, gọi là giai đoạn DXE.
Giai đoạn môi trường thực thi trình điều khiển
Hầu hết quá trình khởi tạo diễn ra trong giai đoạn này Bằng cách sử dụng HOBL, Môi trường Thực thi Trình điều khiển (DXE) khởi tạo toàn bộ bộ nhớ vật lý của hệ thống, I/O và tài nguyên I/O được ánh xạ bộ nhớ (MIMO) và cuối cùng bắt đầu gửi các trình điều khiển DXE có trong các khối firmware hệ thống (được đưa ra trong HOBL) Lõi DXE tạo ra một tập hợp các dịch vụ khởi động EFI và dịch vụ runtime EFI Các dịch vụ khởi động EFI cấp phát bộ nhớ và tải hình ảnh có thể thực thi Các dịch vụ runtime EFI chuyển đổi địa chỉ bộ nhớ từ vật lý sang ảo, chuyển giao chúng cho kernel và đặt lại CPU cho mã chạy trong môi trường EFI hoặc trong kernel OS, sau khi CPU kiểm soát hệ thống
Giai đoạn chọn thiết bị khởi động
Trong giai đoạn này, Lựa chọn Thiết bị Khởi động (BDS) giải thích dữ liệu cấu hình khởi động và lựa chọn chính sách khởi động để thực hiện sau này Giai đoạn này làm việc với DXE để kiểm tra xem các trình điều khiển thiết bị có yêu cầu xác minh chữ ký không
HỆ THỐNG LƯU TRỮ TỆP
Hệ thống tệp trên Windows
File Allocation Table (FAT), được thiết kế vào năm 1976, là một hệ thống file cho rất nhiều hệ điều hành như DOS, Windows, và OpenDOS Được thiết kế cho ổ cứng có dung lượng nhỏ và cấu thúc folder đơn giản, hệ thống file FAT được đặt tên theo cách nó tổ chức thư mục và bảng phân bổ file, chúng lưu tất cả các files và nằm ở ngay đầu ổ đĩa
FAT tạo ra 2 bản copy của bảng phân bố file để bảo vệ ổ đĩa khỏi thiệt hại Bảng phân bố file và thư mục gốc được lưu trữ trong một vị trí vĩnh viễn cố định Ổ đĩa được định dạng sử dụng hệ thống file FAT tạo thành một cluster data, và kích thước của một khối được định dạng trên ổ đĩa sẽ xác định kích thước cluster dữ liệu
Hệ thống này khớp số cluster cho hệ thống tệp FAT theo 16 bit và số cluster nằm trong lũy thừa của 2 Những thiết bị thực hiện FAT bao gồm bộ nhớ flash, camera số và những thành phần khác Hầu hết tất cả các hệ điều hành được cài đặt trên máy tính cá nhân đều dùng hệ thống file FAT
Loại file hệ thống FAT32 bao gồm những thành phần sau:
Khu vực dành riêng (Reserved area) là nơi lưu trữ bản ghi khởi động đĩa khối (Volume Boot Record - VBR), bao gồm khối tham số BIOS (BIOS Parameter Block - BPB) chứa thông tin cơ bản về hệ thống tệp, chẳng hạn như hệ thống tệp và các con trỏ trỏ đến vị trí của các phân vùng khác, cũng như mã khởi động của hệ điều hành.
FAT area: Khu vực này lưu trữ hai bản sao (có thể thay đổi) của bản phân bổ file để giúp hệ thống kiểm tra khoảng trống hoặc không gian free của ổ cứng Ở đây chứa các thông tin chi tiết về cluster và nội dung của chúng bao gồm files và đường dẫn Các bản sao bổ sung trong hệ thống này được đồng bộ hoàn hảo với quá trình ghi, đọc, và chúng thay thế cho bảng cấp phát tệp chính FAT khi nó có vẻ như bị lỗi và hư hỏng
Vùng dữ liệu là vùng lớn nhất trong phân vùng đĩa, lưu trữ các tệp dữ liệu và thư mục thực tế Hệ thống tập tin FAT lấp đầy các khoảng trống hoặc không gian bằng chất độn (filler) được ước tính là 0xF6 dựa trên Bảng thông số đĩa (DPT) của INT 1Eh FAT hỗ trợ các thuộc tính chỉ đọc, phân vùng ẩn, hệ thống và lưu trữ.
FAT patrition Boot Sector (phân vùng FAT boot sector)
Boot Sector là sector đầu tiên (512 bytes) của một hệ thống file FAT Phân vùng FAT boot sector lưu trữ data được sử dụng bởi hệ thống file để truy cập vào phân vùng hoặc ổ đĩa Phân vùng boot sector bao gồm những dữ liệu để truy cập vào ổ đĩa Dựa trên X86, MBR tận dụng những phân vùng boot sector trên những framework để tải các tệp của hệ điều hành Đối với UNIX, sector khởi động phân vùng được gọi là superblock và chứa một vài thông tin tổng quan
Dưới đây là một ví dụ về FAT partition boot sector:
Hệ thống file FAT set đầu vào thư mục 32-bytes cho tất cả các thư mục Thư mục của hệ thống FAT tuân thủ theo quy tắc sau:
Tên (eight-plus-threes characters): Tên file tối đa 8 kí tự và 3 kí tự đối với file mở rộng
Attribute byte (8 bits): thuộc tính
Starting cluster number in the file allocation table (16 bits)
Tất cả hệ điều hành hỗ trợ hệ thống file FAT sử dụng thông tin hiện tại trong thư mục FAT
Directory Entries and Cluster Chains Đường dẫn thư mục là dữ liêu có cấu trúc được phân bổ với mỗi file và đường dẫn Các hệ điều hành sử dụng đường dẫn thư mục để lưu các metadata như files mật khẩu, quyền truy cập, owner Ids, và file dữ liệu bị xóa, cũng như các tham số, kích cỡ, starting cluster, ngày, giờ
Một file hệ thống chia ổ đĩa ra thành các nhóm có kích thước, và kích thước các nhóm đó phụ thuộc vào loại file hệ thống FAT được sử dụng và kích thước của phân vùng Khi người dùng lưu trữ data, một file có thể chiếm nhiều hơn một cluster tùy thuộc vào kích cỡ của nó Do đó, một chuỗi các cluster sẽ biểu diễn một file
Khi một người dùng tạo ra một file với tên dài, một hệ thống dựa trên Windows sẽ phân bổ tên đó theo quy tắc eight-plus-three characters cho tệp và tạo nhiều mục phụ Những thư mục này lư trữ một phần tương ứng với độ dài filename trong Unicode Windows sẽ tập hợp các tham số như volume, read-only, hidden để biểu diễn một phần filename
FAT32 là một phiên bản của FAT thay thế FAT16, và nó xuất hiện trên Windows 95 OSR 2 và Windows 98 So với FAT16, FAT32 sử dụng các cluster nhỏ hơn với nhiều địa chỉ bits để hỗ trợ những ổ cứng có kích cỡ lớn hơn và lưu trữ tốt hơn Nó luôn tạo ra một backup cho bảng phân bổ file thay vì chỉ duy trì bản copy mặc định
Khả năng tận dụng không gian hiệu quả trên FAT32 là khoảng 10%-15%, cao hơn FAT16 Lý do là sử dụng các cluster nhỏ hơn
FAT32 rất mạnh mẽ vì nó có thể đối đích đến của thư mục gốc và tận dụng bản backup của bảng phân bố file
FAT32 bao gồm bản ghi mở rộng boot record để kết hợp bản backup các trông tin cơ bản
Tỷ lệ lỗi của FAT32 thấp hơn so với FAT16
FAT32 có khả năng tương thích tốt hơn FAT16
Thư mục gốc trên FAT32 là một chuỗi cluster thông thường, do đó có thể lưu trữ bất cứ nơi nào trên ổ cứng
FAT32 không áp đặt bất kì hạn chế nào đối với số lượng thư mục gốc
FAT32 cho phép người dùng vô hiệu hóa việc lặp lại bảng phân bổ tệp
2.1.2 New Technology File System (NTFS)
New Technology File System (NTFS) là một trong những hệ thống file mới nhất được hỗ trợ bởi Windows Đó là một hệ thống tệp có hiệu suất cao có khả năng tự sửa chữa; nó hỗ trợ nhiều tính năng tiên tiến như bảo mật cấp tệp, nén, và kiểm toán Nó cũng hỗ trợ các giải pháp lưu trữ có dung lượng lớn và mạnh mẽ như đĩa tự phục hồi
NTFS cung cấp bảo mật data vì nó có khả năng mã hóa và giải mã data, files, hoặc folders Nó sử dụng 16-bits Unicode characters để đặt tên files và folders Thuộc tính này của NTFS cho phép người dùng toàn cầu quản lý files của họ với ngôn ngữ bản địa Hơn nữa, nó còn có khả năng chịu lỗi cho hệ thống file Nếu người dùng tạo bất cứ thay đổi nào đối với files, NTFS sẽ lưu lại tất cả những thay đổi vào một tệp log đặc biệt Nếu hệ thống bị crash, NTFS sử dụng những files log đó để khôi phục lại ổ cưng trong một tình trạng đáng tin cậy và tối thiểu hóa mất mát dữ liệu NTFS cũng tận dụng những khái niệm về siêu dữ liệu và master file tables Metadata chứa những thông tin về data được lưu trữ trên máy tính Master file tale cũng có chứa những thông tin tương tự dạng bảng, nhưng so với metadata, bảng này có khả năng lưu dữ liệu ít hơn
Các đặc điểm của NTFS bao gồm:
NTFS dùng thư mục dạng b-tree để lưu trữ file clusters
NTFS lưu thông tin về file’s clusters và những thông tin khác về cluster
NTFS hỗ trợ files lên đến xấp xỉ 16 tỷ bytes
Một access-control list (ACL) cho phép admin server truy cập vào những file cụ thể
NTFS có tính năng nén tệp tin tích hợp
NTFS cung cấp bảo mật đữ liệu trên cả đĩa di động và cố định
Vào thời điểm định dạng ổ đĩa của file hệ thống, hệ thống tạo ra Master Boot Record Nó chứa các câu lệnh thực thi gọi lệnh master boot và thông tin về bảng phân vùng cho ổ cứng Khi một ổ đĩa với được gắn vào, Master Boot Record chạy những lệnh master boot Trong NTFS, tất cả files được lưu trên clusters và chúng có những thuộc tính riêng biệt Các thành phần như tên, size, hoặc dữ liệu lưu trữ trong một file được xem như là thuộc tính Do đó, cấu trúc bên trong của NTFS đó giống như một cơ sở dữ liệu nơi mà tất cả các files được coi như một phần của hệ điều hành
Các thành phần của kiến trúc NTFS gồm:
Hard disk: nó bao gồm ít nhất một phân vùng
Master Boot Record (MBR) chứa các lệnh thực thi khởi động tổng thể và bảng phân vùng, được BIOS nạp vào bộ nhớ để khởi động hệ thống Bảng phân vùng này xác định phân vùng nào chứa hệ điều hành có thể khởi động được.
Hệ thống tệp trên Linux
Hệ điều hành Linux sử dụng hệ thống tệp khác Người điều tra có thể phải xử lý hiện trường vụ án hoặc hệ thống của nạn nhân chạy hệ điều hành Linux, thế nên họ cần nắm rõ cách lưu trữ dữ liệu của hệ điều hành này Mục tiếp theo sẽ đề cập sâu hơn đến các hệ thống tệp và cơ chế lưu trữ của Linux.
2.2.1 Cấu trúc file hệ thống Linux
Hệ thống file Linux gồm 2 phần:
Không gian người dùng (User space): Nó bảo vệ khu vực dữ liệu nơi người dùng chạy các tiến trình, và khu vực này chứa những bộ nhớ có sẵn
Không gian nhân (Kernel space) lưu trữ hệ thống cung cấp các dịch vụ hạt nhân thông qua các tiến trình hạt nhân Người dùng truy cập vào không gian này thông qua lời gọi hệ thống, chỉ có thể tiếp cận tiến trình hạt nhân bằng cách này Thư viện GNU C (glibc) hoạt động như một cầu nối giữa không gian người dùng và không gian hạt nhân, cung cấp giao diện gọi hệ thống liên kết hạt nhân với các ứng dụng trong không gian người dùng.
Hệ thống tập tin ảo (VFS) là một lớp trừu tượng trên cùng của một hệ thống tập tin đầy đủ Nó cho phép các ứng dụng khách truy cập vào các hệ thống tập tin khác nhau Kiến trúc nội bộ của nó bao gồm một lớp phân phối, cung cấp trừu tượng hóa hệ thống tập tin và nhiều bộ nhớ đệm để tăng cường hiệu suất của các hoạt động hệ thống tập tin
Các đối tượng chính được quản lý động trong VFS là các đối tượng dentry và inode; các đối tượng này được quản lý theo cách đệm để tăng tốc độ truy cập vào hệ thống tập tin Khi một người dùng mở một tập tin, bộ đệm dentry được điền đầy với các mục đại diện cho các cấp độ thư mục, mà lần lượt đại diện cho đường dẫn Hệ thống cũng tạo ra một inode cho đối tượng đại diện cho tập tin Hệ thống phát triển một bộ đệm dentry bằng cách sử dụng một bảng băm và phân bổ các mục bộ đệm dentry từ trình cấp phát slab dentry_cache Hệ thống sử dụng thuật toán ít được sử dụng gần đây (LRU) để cắt giảm các mục khi bộ nhớ khan hiếm
Bộ đệm inode hoạt động như hai danh sách và một bảng băm để tra cứu nhanh chóng Danh sách đầu tiên xác định các inode đã sử dụng, và những inode không sử dụng được đặt trong danh sách thứ hai Bảng băm cũng lưu trữ các inode đã sử dụng
Trình điều khiển thiết bị là các đoạn mã đóng vai trò trung gian giữa hệ điều hành và phần cứng thiết bị, giúp hệ điều hành quản lý các thành phần cứng của thiết bị Nhiệm vụ của trình điều khiển thiết bị gồm thiết lập phần cứng, kết nối và ngắt kết nối thiết bị, thu thập thông tin từ phần cứng và cung cấp cho hạt nhân, truyền dữ liệu từ hạt nhân đến thiết bị và xử lý lỗi thiết bị.
Tiêu chuẩn phân cấp hệ thống tệp tin - Filesystem Hierarchy Standard (FHS)
Linux có một cấu trúc cây phân cấp duy nhất đại diện cho hệ thống tập tin như một thực thể duy nhất Nó hỗ trợ nhiều hệ thống tập tin khác nhau và thực hiện một bộ các khái niệm chung cơ bản, ban đầu được phát triển cho UNIX
Một số loại hệ thống tập tin Linux bao gồm Minix, Filesystem Hierarchy Standard (FHS), ext, ext2, ext3, xia, MS-DOS, UMSDOS, VFAT, /proc, NFS, ISO 9660, HPFS, SysV, SMB và NCPFS Minix là hệ thống tập tin đầu tiên của Linux
Dưới đây là một số file hệ thống phổ biến:
The Filesystem Hierarchy Standard (FHS) xác định cấu trúc thư mục và nội dung của nó trong Linux và các hệ điều hành giống Unix
Ở FHS, tất cả các files và danh mục được biểu diễn dưới mục root
Hệ thống tập tin mở rộng (ext), hoặc hệ thống tập tin mở rộng đầu tiên, được phát hành vào tháng 4 năm 1992, là hệ thống tập tin đầu tiên vượt qua các hạn chế của hệ thống tập tin Minix Ban đầu, nó được phát triển như một phần mở rộng của hệ thống tập tin Minix để vượt qua một số hạn chế của nó như kích thước phân vùng tối đa là 64 MB và tên tập tin ngắn Hệ thống tập tin ext cung cấp kích thước phân vùng tối đa là 2 GB và độ dài tên tập tin tối đa là 255 ký tự Hạn chế chính của hệ thống tập tin này là nó không cung cấp hỗ trợ cho các timestamp riêng biệt cho truy cập, sửa đổi inode và dữ liệu Nó giữ một danh sách chưa được sắp xếp của các khối và inode trống, và nó làm phân mảnh hệ thống tập tin
Hệ thống tập tin ext có cấu trúc dữ liệu siêu dữ liệu được lấy cảm hứng từ
Hệ thống Tập tin UNIX (UFS) Nhược điểm khác của hệ thống tập tin này bao gồm sự hiện diện chỉ một timestamp và các danh sách liên kết cho không gian trống, dẫn đến sự phân mảnh và hiệu suất kém Nó đã được thay thế bởi hệ thống tập tin mở rộng thứ hai (ext2)
Remy Card phát triển hệ thống tập tin mở rộng thứ hai (ext2) như là một hệ thống tập tin mở rộng và mạnh mẽ cho Linux Là hệ thống tập tin thành công nhất cho đến nay trong cộng đồng Linux, Ext2 là cơ sở cho tất cả các bản phân phối Linux hiện đang được sử dụng
Hệ thống tập tin ext2 được phát triển dựa trên nguyên tắc lưu trữ dữ liệu dưới dạng các khối dữ liệu cùng độ dài Mặc dù độ dài có thể thay đổi giữa các hệ thống tập tin ext2 khác nhau, kích thước khối của một hệ thống tập tin ext2 được thiết lập trong quá trình tạo ra nó
Mỗi kích thước tệp đều được hệ thống làm tròn thành bội số của kích thước khối Ví dụ, nếu kích thước khối là 1024 byte, một tệp có kích thước 1025 byte sẽ chiếm hai khối 1024 byte Không phải tất cả các khối trong hệ thống tệp đều chứa dữ liệu; một số khối chứa thông tin mô tả cấu trúc của hệ thống tệp Hệ thống tệp ext2 xác định cấu trúc hệ thống tệp bằng cách sử dụng cấu trúc dữ liệu inode để mô tả từng tệp trong hệ thống.
Một inode mô tả các khối dữ liệu mà một tập tin chiếm, cũng như quyền truy cập của tập tin, thời gian sửa đổi của tập tin và loại tập tin Mỗi inode mô tả một tập tin duy nhất trong hệ thống tập tin ext2, và mỗi inode có một số duy nhất định danh nó
Hệ thống tệp trên MacOS
2.3.1 Hệ thống tệp phân cấp
Apple đã phát triển hệ thống tệp phân cấp HFS vào tháng 9 năm 1985 để hỗ trợ Mac OS trong hệ thống Macintosh độc quyền của họ và như một sự thay thế cho hệ thống tệp Macintosh (MFS) HFS chia một ổ đĩa thành các khối logic có kích thước 512 byte mỗi khối và nhóm các khối logic này thành các khối cấp phát Mỗi khối cấp phát có thể lưu trữ một hoặc nhiều khối logic tùy thuộc vào kích thước tổng của ổ đĩa
Hệ thống tệp sử dụng một giá trị 16-bit để địa chỉ các khối cấp phát, điều này giới hạn số lượng khối cấp phát tối đa là 65.535
Các cấu trúc sau đây tạo nên một ổ đĩa HFS:
Các khối logic 0 và 1 của ổ đĩa là các khối khởi động, bao gồm thông tin khởi động hệ thống như tên các tệp hệ thống và shell, được tải khi khởi động
Khối logic 2 chứa Khối Thư mục Chính (MDB) MDB chứa nhiều dữ liệu về ổ đĩa như ngày và dấu thời gian tạo ổ đĩa; vị trí của các cấu trúc khác của ổ đĩa, chẳng hạn như bản đồ ổ đĩa; và kích thước của các cấu trúc logic, chẳng hạn như các khối cấp phát Một bản sao của MDB được gọi là Alternate Master Directory Block (Alternate MDB) nằm ở đầu ổ đĩa ở khối logic thứ hai kể từ cuối cùng Alternate MDB chủ yếu được dùng bởi các tiện ích đĩa và chỉ được cập nhật khi hoặc Bản ghi Tệp Danh mục hoặc Bản ghi Tràn Extent tăng kích thước
Khối logic 3 là thành phần khởi tạo của cấu trúc thư mục ổ đĩa, lưu theo dõi thông tin về các khối cấp phát hiện tại đang được sử dụng và các khối đang trống Mỗi bit trong bản đồ ổ đĩa tương ứng với một khối cấp phát trên ổ Nếu bit dữ liệu được thiết lập, thì khối đó đang được dùng; nếu không thì khối đó hiện đang trống.
Tệp Tràn Extent là một cây B* bao gồm các phần mở rộng bổ sung lưu trữ thông tin về các tệp và các khối cấp phát được phân bổ cho chúng, sau khi hệ thống sử dụng ba phần mở rộng ban đầu trong Tệp Danh mục Các phiên bản sau cũng thêm khả năng cho Tệp Tràn Extent lưu trữ các phần mở rộng ghi nhận các khối hỏng để ngăn máy cố gắng ghi vào chúng
Tệp Danh mục là một cây B* khác chứa các bản ghi cho tất cả các tệp và thư mục được lưu trữ trong ổ đĩa Nó lưu trữ bốn loại bản ghi Mỗi tệp bao gồm một bản ghi luồng tệp và một bản ghi tệp, trong khi mỗi thư mục chứa một bản ghi luồng thư mục và một bản ghi thư mục Một ID nút danh mục duy nhất giúp tìm kiếm các tệp và thư mục trong Tệp Danh mục
Hệ thống tệp của Apple (APFS) thay thế HFS+ làm hệ thống tệp mặc định cho iOS 10.3 và các phiên bản sau đó
Hệ thống tệp nâng cấp này bao gồm một số tính năng như sao chép (mà không sử dụng không gian đĩa bổ sung), bản snapshot, chia sẻ không gian trống giữa các phân vùng, hỗ trợ cho các tệp thưa thớt, các phép toán lưu trữ an toàn và nhanh chóng cho các thư mục Nó được sử dụng trên tất cả các hệ điều hành của Apple bao gồm watchOS, tvOS, macOS và iOS
Hệ thống tệp thế hệ tiếp theo này được thiết kế để tận dụng các thiết bị lưu trữ flash/SSD và hỗ trợ mã hóa tự nhiên
APFS vượt qua nhược điểm chính của hệ thống tệp cũ, HFS+, bao gồm sự thiếu đi tính năng, mức độ bảo mật thấp, khả năng lưu trữ hạn chế và không tương thích với SSD
Hierarchial File System Plus (HFS+)
HFS+ (hay còn gọi là HFS Plus) là phiên bản kế thừa của HFS, là hệ thống tệp chính được sử dụng trong hệ điều hành Macintosh Nó cũng được gọi là Mac OS Extended (HFS Extended) và là một trong những định dạng được dùng cho Apple iPod HFS+ hỗ trợ lưu trữ các tệp lớn và sử dụng Unicode cho việc đặt tên tệp và thư mục.
HFS+ sử dụng cây B để lưu trữ dữ liệu
Nó hỗ trợ các tệp dài 64 bit
Cho phép đặt tên tệp dài tới 255 ký tự
Nó sử dụng một bảng phân bổ 32-bit cho bảng ánh xạ, khác với bảng phân bổ 16 bit trong HFS HFS+ cho phép:
Sử dụng hiệu quả không gian đĩa cứng
Sử dụng chỉ các tên tệp thân thiện với quốc tế
Khởi động dễ dàng trên các hệ điều hành không phải là Mac OS
Còn được gọi là Mac OS Extended (HFS Extended), HFS+ là hệ thống tệp được sử dụng trong một số chiếc iPod của Apple
Các ổ đĩa HFS+ có các phân chia tiếp theo được gọi là các khối logic (sector) có kích thước 512 byte Các sector này gom thành các khối cấp phát
Các ổ đĩa HFS+ có một nhật ký tùy chọn, giúp gắn một ổ đĩa không gắn trong trường hợp hệ thống bị sập Nhật ký khôi phục các cấu trúc ổ đĩa vào một trạng thái đáng tin cậy mà không cần quét tất cả các cấu trúc Khối thông tin nhật ký (journal info block) (.journal_info_block) được lưu trữ dưới dạng một tệp trong thư mục gốc của ổ đĩa HFS+ Apple đã thêm tính năng nhật ký vào HFS+ từ phiên bản Mac OS X 10.2.2 vào năm 2002 để cải thiện tính đáng tin cậy của dữ liệu Tất cả các ổ đĩa HFS+ trên tất cả các hệ thống Mac đều được đặt mặc định với tính năng nhật ký từ OS X v10.3 trở đi Một ổ đĩa HFS+ có nhật ký được biểu thị là HFSJ
APFS (Hệ thống Tệp Apple) là một hệ thống tệp được phát triển và giới thiệu bởi Apple cho MacOS High Sierra và các phiên bản sau đó cũng như iOS 10.3 và các phiên bản sau đó vào năm 2017
Nó đã thay thế tất cả các hệ thống tệp được sử dụng bởi Apple và phù hợp cho tất cả các hệ điều hành của Apple bao gồm iOS, watchOS, tvOS và macOS
Lớp chứa (Container layer): Nó tổ chức thông tin trên lớp hệ thống tệp và lưu trữ thông tin cấp cao như siêu dữ liệu ổ đĩa, trạng thái mã hóa và bản snapshot của ổ đĩa
Lớp hệ thống tệp (File-system layer): Nó bao gồm các cấu trúc dữ liệu lưu trữ thông tin như siêu dữ liệu tệp, nội dung tệp và cấu trúc thư mục
Hệ thống tệp APFS hỗ trợ các hoạt động TRIM, các thuộc tính tệp mở rộng, các tệp thưa thớt, kích thước thư mục nhanh chóng, bản snapshot, sao chép, độ chính xác cao về dấu thời gian, và tính năng metadata copy-on-write
TRIỂN KHAI THỰC NGHIỆM
Phân tích hệ thống tệp Linux
Sử dụng công cụ Autospy phân tích hệ thống tập tin của một Linux Image Đăng nhập vào máy Windows Server 2016 Mở công cụ Autopsy bằng cách double-click vào icon trên màn hình Đầu tiên, chọn New Case Nhập các thông tin case cần thiết như tên case và chọn một thư mục cơ sở để lưu tất cả dữ liệu case vào một nơi Sau khi thiết lập, click Next
Nhập một số chi tiết đặc biệt như tên người kiểm tra và case number Trong lab này, tên được đặt là Jonathan và case number là 1001-125 Nhấn Finish để hoàn thành
Hình 1 6 Đặt tên người kiểm tra và case number
Chọn loại nguồn dữ liệu đầu vào:
Disk Image or VM File: Bao gồm tệp hình ảnh là bản sao chính xác của ổ cứng, thẻ nhớ hoặc thậm chí là máy ảo
Local Disk: bao gồm các thiết bị như đĩa cứng, pendrive, thẻ nhớ…
Tệp logic: bao gồm các thư mục hoặc tập tin cục bộ
Unllocated Space Image File: bao gồm các tệp không chứa hệ thống tệp và chạy với sự trợ giúp của mô-đun nhập
Autopsy Logical Imager Results: bao gồm nguồn dữ liệu từ việc chạy trình chụp ảnh logic
XRY Text Export: bao gồm nguồn dữ liệu từ việc xuất tệp văn bản từ XRY
Hình 1 7 Chọn nguồn dữ liệu đầu vào
→ Trong lab này, sẽ phân tích disk image, do đó chọn Disk Image or VM File và nhấn Next
Chọn file Linux_Evidence_001.img để tiến hành phân tích
Tiếp theo, định cấu hình đầu vào mô-đun
Recent Activity: Khám phá các hoạt động gần đây được thực hiện trên đĩa, ví dụ: các tệp tin được xem lần cuối
Hash Lookup: Xác định tệp bằng cách sử dụng hàm băm giá trị
File Type Identification: Xác định cơ sở tệp dựa trên chữ ký bên trong của chúng thay vì tệp extensions
Extension Mismatch Detector: Xác định các tệp có phần mở rộng được giả mạo/thay đổi để che giấu bằng chứng
Embedded File Extractor: Nó trích xuất các tệp đính kèm như zip, rar,… và sử dụng tệp dẫn xuất để phân tích
Keyword Search: Tìm kiếm một từ khóa/mẫu cụ thể trong tệp hình ảnh
Email Parser: Sử dụng để trích xuất thông tin từ các tệp email nếu đĩa giữ bất kỳ thông tin cơ sở dữ liệu email nào
Encryption Detection: Phát hiện và xác định các tệp được mã hóa/bảo vệ bằng mật khẩu
- Tính năng này giúp người kiểm tra được thông báo khi có kết quả liên quan đến tập hợp các quy tắc được xác định để xác định loại tệp tin cụ thể.
PhotoRec Carver: Khôi phục các tập tin, ảnh,… từ không gian chưa được phân tích bổ sung
Virtual Machine Extractor: Trích xuất và phân tích mọi máy ảo được tìm thấy trên nguồn dữ liệu
Data Source Integrity: Tính toán các giá trị băm và lưu trữ chúng trong cơ sở dữ liệu
Hình 1 8 Định cấu hình phần module
Phân tích file passwd được lưu trong \etc Tệp passwd chứa thông tin về các tài khoản người dùng trong hệ thống Linux
Tại Hex, mỗi dòng tệp passwd tương ứng với một tài khoản người dùng và có dạng:
Username: Tên người dùng (ví dụ: root, daemon, bin, sys, sync)
Password: mật khẩu mã khoá (thường là “x” để chỉ răng mật khẩu được lưu trong tệp shadow)
UID: Mã định danh người dùng (0 cho root, 1 cho daemon)
GID: Mã định danh nhóm người dùng (0 cho nhóm root, 1 cho nhóm daemon)
Comment: thông tin mô tả hoặc tên đầy đủ người dùng (root, daemon)
Home_directory: thư mục chính của người dùng (ví dụ: /root, /usr/sbin)
Shell: shell mặc định của người dùng khi đăng nhập
Tương tự, nhấn chọn File Metada, Text và Annotations để xem những thông tin khác trong file
Hình 1 9 Xem nội dung của thư mục Ý nghĩa thông tin trong file metadata của tệp passwd được trích xuất:
MIME type: đây là tệp văn bản thuần tuý
Size 2390: kích thước của tệp tính bằng byte
Thời gian tệp được sửa đổi/truy cập lần cuối
Thời gian tệp được tạo ra
Thời gian inode của tệp được sửa đổi lần cuối
MD5 not calculated: Giá trị MD5 của tệp tin không được tính toán
Thông tin thu thập được từ Sleuth Kit
Group: nơi inode được cấp phát là 16
Mode : rrw-r- -r- - chỉ ra rằng:
Chủ sở hữu có quyền đọc, ghi, thực thi file
Group chỉ có quyền đọc file
Các người dùng khác cũng chỉ có quyền đọc
Tính giá trị MD5 hash của file có tên SeatPlan.xls, được lưu trong /home/roger/Documents Để xem giá trị MD5 hash của file này, tìm tới home roger Documents và chọn Documents folder
Hình 1 10 Xem giá trị băm MD5 của tệp
Lab này đã sử dụng công cụ Autospy để phân tích cấu trúc của hệ thống lưu trữ tệp tin trên hệ thống Linux.
Phân tích hệ thống tệp Windows
Máy ảo Windows Server 2016 có kết nối internet
Sử dụng công cụ The Sleuth Kit (TSK) để phân tích hệ thống tập tin của Đầu tiên, tiến hành kiểm tra các loại file img mà The Sleuth Kit hỗ trợ với lệnh: img_stat –i list
Các loại định dạng hỗ trợ:
raw: Định dạng đề cập đến dữ liệu trực tiếp từ thiết bị lưu trữ, thường được sao chép trực tiếp đến phân vùng hoặc ổ đĩa vật lý
ewf (expert witness format): định dạng chứng cứ chuyên gia, thường được sử dụng bởi phần mềm pháp lý, pháp luật như Encase để lưu trữ img phân vùng hoặc toàn bộ ổ đĩa
vmdk (Virtual Machine Disk, Virtual Box): Định dạng này được sử dụng để lưu trữ dữ liệu ổ đĩa ảo được sử dụng bởi các máy ảo trong các nền tảng ảo hóa như VmWare hoặc Virtual Box
vdh (Virtual Hard Drive): Định dạng này được sử dụng để lưu trữ dữ liệu ổ đĩa cứng ảo được sử dụng bởi các máy ảo trên nền tảng Microsoft, như
Xem loại img của file “Windows_Evidence_001.dd” với lệnh: img_stat -t
"C:\\Users\\Quan\\Desktop\\Windows_Evidence_001.dd"
Hình 1 12 TSK img_stat Command
Kết quả img này là loại raw → File Windows_Evidence_001.dd được sao chép trực tiếp từ thiết bị lưu trữ
Kiểm tra loại file hệ thống và hệ điều hành của image: fsstat "C:\\Users\\Quan\\Desktop\\Windows_Evidence_001.dd"
Hình 1 13 Hiển thị chi tiết hệ thống tập tin bằng fsstat
Qua đó, thu được những thông tin:
Loại file hệ thống: NTFS
Hệ điều hành: Windows XP
Xem các file trên hệ thống:
Hình 1 14 Liệt kê tên tệp tin và thư mục
d/d: đây là thư mục, directory
Xem inode số 1228 với tên là $RECYCLE.BIN:
Hình 1 15 Kết quả lệnh istat trên MFT Entry 1228
Kiểm tra inode gốc của img: istat -f ntfs
"C:\\Users\\Quan\\Desktop\\Windows_Evidence_001.dd" 0
Tùy chọn -f ntfs: loại file system là NTFS
Số inode 0: Thường là inode thư mục gốc trong tệp tin
Hình 1 16 Thông tin về tệp MFT
$LogFile Sequence Number: Số thứ tự của lệnh trong bản ghi nhật ký (log file)
Allocated File: Cho biết rằng tệp tin này đã được cấp phát không gian trên đĩa
Links: Số liên kết đến tệp tin hoặc thư mục
Flags: Các thuộc tính của tệp tin Trong trường hợp này, tệp tin được đánh dấu là ẩn và hệ thống
Owner ID: ID của chủ sở hữu
Security ID: ID bảo mật của tệp tin
Created, File Modified, MFT Modified, Accessed: Thời điểm tạo, sửa đổi và truy cập cuối cùng của tệp tin
Hiển thị tổng quan về tệp bootfile của hệ thống:
Hình 1 17 Thông tin về bootfile
Tập tin siêu dữ liệu của hệ thống tập tin Boot đặt tại MFT entry 7 và chứa sector khởi đầu của hệ thống tập tin
Xem thông tin của volume filesystem:
Hình 1 18Thông tin về File Volume
Tệp metadata của hệ thống tệp của ổ đĩa nằm trong mục MFT 3 và chứa nhãn ổ và thông tin khác liên quan đến phiên bản
Thông tin của file Bitmap
Mục MFT của tệp metadata hệ thống tệp Bitmap xác trạng thái của cluster
NTFS theo dõi các cluster bị hỏng bằng cách cấp phát chúng cho một thuộc tính
$DATA của tệp metadata hệ thống tệp BadClus Mục MFT của nó là 8
Thông tin về Secure File
Tệp metadata Secure lưu trữ các mô tả bảo mật xác định chính sách kiểm soát truy cập cho một tệp hoặc thư mục Mục MFT của nó là 9
Xem giá trị hexdump của image icat -f ntfs /home/kali/Desktop/Windows_Evidence_001.dd 0 | hexdump | head
Hình 1 22 Xem giá trị hexdump của image
Kết quả này hiển thị dưới dạng hexdump của dữ liệu được trích xuất từ inode 0 trong tập tin hình ảnh NTFS "Windows_Evidence_001.dd"
Các byte dữ liệu được thể hiện dưới dạng hex (hệ cơ số 16)
Từ giá trị hexdump trên, ta có thể xác định loại file dựa trên magic number Magic number là chuỗi bit ở đầu tệp tin Ví dụ, magic number của các tập tin JPEG là
"FF D8 FF E0", trong khi của các tập tin PNG là "89 50 4E 47"
1 Khôi phục những files này từ image bằng module tsk_recover Trước khi chạy module này, cần tạo một folder tên là test trên màn hình Desktop
2 Sau khi tạo floder xong, quay trở lại màn hình dòng lệnh, nhập lệnh sau: tsk_recover -i raw -e
“C:\Users\Quan\Desktop\Windows_Evidence_001.dd”
3 Công cụ sẽ bắt đầu thu thập những files từ quá trình điều tra image Sau khi hoàn thành, nó trả lại một thông báo hiển thị số files đã khôi phục
4 Mở folder test ngoài màn hình Desktop để kiểm tra
Hình 1 23 Xem các tệp đã khôi phục trong thư mục được chỉ định
Phòng thí nghiệm sử dụng The Sleuth Kit để phân tích hệ thống tệp tin Windows, trích xuất thông tin siêu dữ liệu và nội dung của thông tin trong tệp image.
Khôi phục tập tin đã xoá
Sử dụng công cụ winhex khôi phục lại dữ liệu từ một Linux Image
Lưu ý: Hãy đảm bảo rằng Real Time Protection trên máy ảo được tắt trước khi tiến hành thực nghiệm Đăng nhập vào máy Windows Server 2016 Mở phần mềm Winhex bằng cách double-click vào tệp winhex.exe
Nhấp mở File -> Open Chọn tệp Linux_Evidence_001.img rồi bấm Open
Winhex sẽ hiện ra một bảng thông báo Bấm OK để tắt thông báo này
Hình 1 24 Cửa sổ bật lên đánh giá WinHex
Winhex sẽ xử lý tệp image cho ra kết quả như hình dưới và một Data Interpreter
Hình 1 25 Cửa sổ thông dịch dữ liệu
Bước 3: Trên thanh công cụ, chọn Tools -> Disk Tools -> File Recovery by Type…
Một bảng thông báo hiện lên, bấm OK
Cửa sổ File Header Search xuất hiện hiển thị các loại tập tin mà bạn muốn giải nén Trong lab này chúng ta sẽ chọn kiểu Pictures Bấm vào dấu + để mở rộng thư mục Pictures
Hình 1 27 Tìm kiếm tiêu đề tệp trên cửa sổ TestRawImage.dd
Chọn các định dạng ảnh bạn muốn khôi phục và bấm OK
Cửa sổ Select Target Folder xuất hiện yêu cầu bạn chọn đường dẫn để lưu dữ liệu được khôi phục Hãy tạo một thư mục có tên Retrieved Files và bấm Open
Hình 1 28 Chọn thư mục đích Windows
Bấm OK Để bắt đầu quá trình khôi phục dữ liệu, bấm OK trên cửa sổ File Header Search
Quá trình khôi phục bắt đầu
Hình 1 29 Cửa sổ xử lý khôi phục WinHex
Sau khi hoàn thành, bấm OK để đóng thông báo Để xem dữ liệu được khôi phục, hãy truy cập vào thư mục bạn đã lưu Ở đây là thư mục Retrieved Files
Hình 1 30 Thư mục tệp đã truy xuất
Khi xóa một tập tin khỏi Recycle Bin hoặc tổ hợp phím Shift + Delete, hệ điều hành sẽ xóa thông tin về tập tin khỏi danh mục thư mục, chứa thông tin về các tập tin và đường dẫn của chúng, khiến tập tin không còn xuất hiện trong thư mục hiện tại nữa Trên thực tế, dữ liệu của tập tin vẫn tồn tại trên ổ đĩa Chỉ có các mục nhập liên quan đến tập tin trong hệ thống tập tin bị xóa hoặc đánh dấu là trống Các phần của ổ đĩa chứa dữ liệu cũ của tập tin được đánh dấu là trống, cho phép hệ điều hành ghi đè dữ liệu mới lên khu vực đó trong tương lai Cho đến khi không có dữ liệu mới nào ghi đè lên, dữ liệu gốc của tập tin vẫn còn đó.
Dùng công cụ winhex để xem offset và giá trị hexa của tập tin này trên ổ đĩa
Giá trị hexa của tập tin này bắt đầu từ offset 0F6201000 Bây giờ hãy xóa tập tin này bằng tổ hợp phím Shift+Delete và kiểm tra lại vị trí offset này
Có thể thấy rằng giá trị hexa tại offset này không hề thay đổi
Cách để khôi phục tập tin là tìm file header signature của tập tin Ví dụ đối với định dạng PNG, một file ảnh PNG được chia thành các block byte 8 byte đầu (cố định) là phần signature của file PNG
Mỗi một định dạng của tập tin lại có một signature khác nhau Từ đây có thể xác định được định dạng của tập tin và khôi phục lại chúng
Hãy xem giá trị hexa của một tệp PNG mà chúng ta đã khôi phục được từ tệp Linux_Evidence_001.img
Thử tìm kiếm giá trị này trong tệp Linux_Evidence_001.img
Có thể thấy giá trị của tệp PNG này giống với tệp PNG mà chúng ta khôi phục được
Lab này đã sử dụng công cụ winhex khôi phục thành công dữ liệu dạng ảnh từ một Linux Image bằng cách tìm File Header Signature Ngoài ra còn có thể sử dụng cách này để khôi phục thêm các dữ liệu có định dạng khác (có File Header Signature khác) nhằm phục vụ cho quá trình thu thập chứng cứ
The Sleuth Kit (TSK), một công cụ mã nguồn mở, cung cấp giao diện người dùng đồ họa (GUI) cho bộ công cụ pháp y dòng lệnh TSK hỗ trợ các nhà điều tra pháp y trong việc phân tích ổ đĩa và các thiết bị lưu trữ khác để trích xuất bằng chứng kỹ thuật số.
Bước 1 Tải phần mềm Autopsy
1 Truy cập đường dẫn để tiến hành tải về: https://s.pro.vn/cWO9
2 Sau khi tải về xong, tiến hành giải file nén vào thư mục bất kỳ
1 Mở file cài đặt bằng cách nhấp đúp chuột vào: autopsy-4.14.0-64bit.msi
Nhấp Next để tiếp tục các bước hoàn thành
2 Chọn thư mục cài đặt mà người dùng muốn cài đặt Autopsy và nhấn Next
3 Nhấp Install để bắt đầu quá trình cài đặt
4 Khi quá trình cài đặt hoàn tất, nhấp Finish
Hoặc có thể làm theo hướng dẫn trong video ở đường dẫn sau: https://www.youtube.com/watch?v=d_jl8bnlwEI&pp=ygUmaW5zdGFsbCBhd
XRvcHN5IG9uIHdpbmRvd3Mgc2VydmVyIDIwMTY%3D
Là một công cụ mã nguồn mở, giao diện đồ hoạ (GUI) của bộ công cụ pháp y dòng lệnh The Sleuth Kit (TSK) Nó giúp các nhà điều tra phân tích ổ đĩa và các thiết bị lưu trữ khác để tìm kiếm chứng cứ kỹ thuật số.