3.4.2. Dùng chế độ bảo mật của NTFS
Trên các phân hoạch NTFS, chúng ta có thể đặt permission NTFS trên các thƣ mục và tệp. Permission NTFS bảo mật các tài nguyên trên máy cục bộ và khi ngƣời sử dụng nối tới các tài nguyên đó trên mạng.
3.4.2.1. Một số khái niệm
Permission NTFS là các cấp độ truy cập chỉ khả dụng trên một Volume đã đƣợc định dạng qua hệ thống tệp của hệ điều hành nhƣ Windows NT/2000, Windows XP, Windows 7... Permission cung cấp bảo mật ở mức độ cao hơn vì chúng có thể gán tới các thƣ mục và tới các tệp cụ thể. Permission NTFS cho thƣ mục và tệp đƣợc áp dụng cả với ngƣời sử dụng làm việc tại máy nơi có thƣ mục hoặc tệp lƣu trữ và cả những ngƣời truy cập thƣ mục hoặc tệp đó từ mạng thông qua việc nối tới một thƣ mục đƣợc chia sẻ.
Kiểm soát (Audit): Ghi vào nhật ký những vấn đề liên quan đến bảo mật có
thể xảy ra và sau này dùng chức năng Event Viewer (xem sự kiện) để xem lại.
Lập nhật ký các sự kiện (Event log): Khi một tệp hay một thƣ mục đƣợc sửa
đổi, dịch vụ Tệp nhật ký (Log File Service) theo dõi mọi thông tin về các thao tác redo hay undo cho việc sửa đổi. Những thông tin redo cho phép NTFS tạo lại các sửa đổi trong trƣờng hợp hệ thống có sự cố. Thông tin về undo cho phép NTFS bỏ những sửa đổi nếu nhƣ nó không thể thực hiện đƣợc hoàn toàn chính xác. NTFS luôn cố gắng redo một giao dịch và chỉ undo khi không thể redo.
Quyền sở hữu (Ownership): Ngƣời tạo ra tệp hay thƣ mục hay nhà quản trị
có toàn quyền sử dụng hay cho phép ngƣời khác sử dụng tài nguyên này. Chỉ có họ mới có thể thay đổi cấp độ truy cập áp dụng cho một đối tƣợng. Họ không thể chuyển giao quyền sở hữu cho ngƣời sử dụng khác mà chỉ có thể cấp quyền “giành quyền sở hữu”. Ngƣời sử dụng phải dành quyền sở hữu thƣ mục/tệp sau khi đã đƣợc cấp quyền làm thế.
3.4.2.2. Sử dụng permission NTFS
Nhận thấy có thể sử dụng permission NTFS để bảo vệ các nguồn tài nguyên, tránh những ngƣời sử dụng có thể truy cập máy theo những con đƣờng sau:
Một cách cục bộ, ngồi làm việc tại máy nơi lƣu trữ các tài nguyên
Từ xa, bằng cách nối tới một thƣ mục đƣợc chia sẻ
Chúng ta có thể đặt permission tệp tới các mức chi tiết. Ví dụ, chúng ta có thể đặt permission khác nhau cho mỗi tệp trong một thƣ mục. Có thể cho phép một ngƣời sử dụng đọc nội dung của một tệp và thay đổi nó, cho phép ngƣời khác chỉ đƣợc đọc tệp và ngăn cản mọi ngƣời khác truy cập vào tệp. Trên một phân hoạch NTFS, ngƣời tạo ra một thƣ mục hoặc tệp là chủ nhân của thƣ mục hoặc tệp đó. Nếu ngƣời đó là thành viên quản trị thì nhóm quản trị trở thành chủ nhân của thƣ mục hoặc tệp đó.
Chủ nhân luôn có thể gán và thay đổi permission trên các thƣ mục hoặc tệp của họ. Permission NTFS đƣợc gán cho các tài khoản ngƣời sử dụng và các tài khoản nhóm theo cùng một cách mà permission chia sẻ đã gán. Một ngƣời sử dụng có thể đƣợc gán permission NTFS một cách trực tiếp hoặc nhƣ là thành viên của một hay nhiều nhóm Permission thƣ mục NTFS đƣợc áp dụng nhƣ sau:
Giống nhƣ các phép chia sẻ, permission NTFS cung cấp permission hiệu quả
cho ngƣời sử dụng bao gồm các tổ hợp permission nhóm và permission ngƣời sử dụng, trừ trƣờng hợp ngoại lệ No Access. Giấy phép No Access đứng trên tất cả permission khác.
Không giống nhƣ permission chia sẻ, permission NTFS bảo vệ các tài nguyên cục bộ và có thể đƣợc gán cho các thƣ mục và các tệp khác trong cùng cây phân cấp.
Permission tệp NTFS có quyền cao hơn permission đƣợc gán cho thƣ mục mà tệp đó thuộc vào. Ví dụ, nếu một ngƣời sử dụng có giấy phép Read tới một thƣ mục và giấy phép Write tới một tệp trong thƣ mục đó, thì ngƣời đó sẽ có thể ghi vào tệp nhƣng không thể tạo ra một tệp mới trong thƣ mục đó.
3.4.3. Quyền truy cập NTFS cá thể (Individual NTFS Permission)
Windows NT trở lên cung cấp 6 cấp độ truy cập NTFS cá thể. Mỗi cấp độ định rõ khả năng truy cập thƣ mục hoặc tệp tin mà ngƣời dùng hoặc group có thể có.
Dƣới đây, em sẽ chỉ rõ từng cấp độ và chi tiết quyền truy của cấp độ đó với một thƣ mục (Folder) hay một tệp (File). Em sẽ liệt kê theo thứ tự từ 1 đến 6.
Cấp độ truy cập NTFS cá thể: 1) Read (R) 2) Execute (X) 3) Write (W) 4) Delete (D) 5) Change Permission (P)
6) Take Ownership (O)
3.4.3.1. Các mức giấy phép truy cập tệp NTFS
Permission truy cập thể hiện sự điều khiển đối với ngƣời sử dụng tài nguyên tệp cũng nhƣ mức độ sử dụng. Đối với tệp, các mức độ giấy phép truy cập tƣơng ứng với các quyền sau:
Bảng 3.3 Các mức giấy phép truy cập tệp NTFS Giấy phép R X W D P O Giấy phép R X W D P O No Access (Không đƣợc truy nhập) Read (Đọc) Change (Thay đổi) Full control (Toàn quyền)
Special File Access (Truy cập tệp đặc biệt)
Có thể chọn tổ hợp các chế độ trên
Trong đó:
R: Xem đƣợc dữ liệu, thuộc tính, ngƣời sở hữu và các mức giấy phép X: Chạy đƣợc tệp (thí dụ đối với các tệp.exe)
W: Ghi vào tệp hay thay đổi các thuộc tính của nó D: Xoá tệp
P: Thay đổi permission đối với tệp O: Lấy quyền sở hữu
3.4.3.2. Các mức giấy phép truy cập thƣ mục NTFS
Permission truy cập thƣ mục thể hiện sự điều khiển đối với ngƣời sử dụng tài nguyên thƣ mục cũng nhƣ mức độ sử dụng thƣ mục đó. Đối với thƣ mục, các mức độ giấy phép truy cập tƣơng ứng với các quyền sau:
Bảng 3.4 Các mức giấy phép truy cập thƣ mục NTFS Giấy phép R X W D P O Giấy phép R X W D P O No Access (Không đƣợc truy nhập) List (Liệt kê) Read (Đọc) Add (Thêm)
Add & Read (Thêm & Đọc)
Change (Thay đổi)
Full control (Toàn quyền)
Special File Access (Truy cập tệp đặc biệt)
Trong đó:
R: Hiện dữ liệu của thƣ mục, thuộc tính, ngƣời sở hữu và các mức giấy phép X: Chạy đƣợc tệp trong thƣ mục (Ví dụ đối với các tệp.exe)
W: Tạo các tệp mới trong thƣ mục, sửa đổi các tệp hay thay đổi các thuộc tính của thƣ mục.
D: Xoá các tệp trong thƣ mục
P: Thay đổi các mức giấy phép đối với thƣ mục O: Lấy quyền sở hữu
3.4.4. Sao chép bóng ổ đĩa - VSS
Dịch vụ sao chép bóng ổ đĩa (Volume Shadow Copy Service - VSS) giữ lại các phiên bản cũ của các tập tin và thƣ mục trong các ổ đĩa NTFS bằng cách sao chép dữ liệu ghi đè mới, cũ (copy-on-write). Dữ liệu tập tin cũ che dữ liệu mới khi ngƣời dùng yêu cầu hoàn nguyên một phiên bản trƣớc đó. Điều này cho phép các chƣơng trình sao lƣu dữ liệu lƣu trữ các tập tin hiện thời đang đƣợc sử dụng bởi hệ thống tập tin. Trên các hệ thống xử lý nhiều, Microsoft khuyến cáo thiếp lập một ổ sao lƣu bóng trên một ổ đĩa riêng. Để đảm bảo phục hồi trong trƣờng hợp hệ thống hƣ hỏng, VSS cũng sử dụng bản ghi số thứ tự cập nhật để đánh dấu các giao tác cục bộ và đảm bảo các thay đổi hệ thống tập tin sẽ đƣợc phục hồi hiệu quả sau khi hệ thống khởi động lại khi ổ đĩa NTFS sẽ đƣợc cài đặt lại, hoặc giảm xuống an toàn đến một phiên bản cũ nếu phiên bản mới không đƣợc ghi đầy đủ trƣớc khi xác nhận thực sự trƣớc lúc đóng tập tin sửa đổi. Tuy nhiên, các bóng VSS này không đƣợc phối hợp tổng thể trên nhiều tập tin hay ổ đĩa, trừ khi sử dụng một ngƣời phối hợp giao tác. Họ chỉ có thể đƣợc sử dụng để đảm bảo rằng các phiên bản cũ sẽ vẫn có thể truy cập trong các hoạt động sao lƣu, để nhận đƣợc hình ảnh hệ thống phù hợp.
3.4.5. Giao tác NTFS
Nhƣ với Windows Vista, các ứng dụng có thể sử dụng giao tác NTFS để thay đổi nhóm các tập tin với nhau trong một giao tác. Giao tác sẽ đảm bảo tất cả thay đổi đƣợc diễn ra hoặc không một ứng dụng nào trong tất cả đƣợc chạy và nó sẽ đảm bảo các ứng dụng bên ngoài giao tác sẽ không nhìn thấy nhƣng thay đổi cho đến khi chúng đƣợc thỏa hiệp thực hiện chính xác tức thì. Nó sử dụng các kỹ thuật tƣơng tự nhƣ đƣợc sử dụng cho sao chép bóng ổ đĩa (ví dụ nhƣ copy-on-write). Kỹ thuật copy-on-write tuy nhiên đƣợc sửa đổi để cho phép hủy giao tác đang có hiệu lực và tránh việc tạo ra các phân đoạn trong hệ thống tập tin đƣợc sử dụng bởi nhiều ngƣời tham gia: các dữ liệu cũ có thể không đƣợc ghi đè ngay lập tức nhƣng vẫn đƣợc giữ lại (đặc biệt khi nó hiện bị khóa bởi ngƣời khác cho phù hợp lần đọc trong các giao tác của nó); trong
trƣờng hợp đó, chỉ có những dữ liệu mới là không bị giữ lại trong một bóng tạm thời (chứ không phải là dữ liệu cũ copy-on-write), mà cuối cùng đƣợc áp dụng bằng cách sử dụng copy-on-write VSS bình thƣờng khi giao tác sẽ đƣợc thỏa hiệp bởi việc ghi vào. Ngoài ra, các bóng tạm thời cho các dữ liệu mới, chỉ nhìn thấy bởi các quá trình tham gia có dữ liệu chƣa đƣợc thỏa hiệp của riêng chúng, không nhất thiết phải ngay lập tức ghi vào đĩa nhƣng chỉ có thể đƣợc duy trì trong bộ nhớ hoặc đổi chỗ các thỏa hiệp sau. Giao tác NTFS không hạn chế các giao tác để chỉ ổ đĩa NTFS cục bộ, nhƣng cũng bao gồm các dữ liệu khác hoặc các hoạt động ở các điểm khác nhƣ lƣu trữ dữ liệu trong các ổ đĩa riêng biệt, thanh ghi cục bộ, hay các cơ sở dữ liệu SQL, hoặc các trạng thái hiện tại của các dịch vụ hệ thống hay các dịch vụ từ xa.
Các giao tác là mạng rộng đƣợc điều phối với tất cả ngƣời tham gia bằng cách sử dụng một dịch vụ cụ thể, Distributed Transactions Coordinator (DTC) đảm bảo rằng tất cả ngƣời tham gia sẽ nhận đƣợc cùng trạng thái thỏa hiệp và để vận chuyển các thay đổi đã đƣợc xác nhận bởi bất kỳ ngƣời tham gia nào (ngƣời khác có thể làm mất hiệu lực các vùng nhớ đệm cục bộ cho dữ liệu cũ hay hủy giao tác các thay đổi chƣa đƣợc thỏa hiệp). Giao tác NTFS cho phép tạo ra mạng rộng phù hợp các hệ thống tập tin đƣợc phân phối bao gồm với cả tập tin cục bộ hay trong các bộ nhớ đệm ngoại tuyến.
3.4.6. So sánh permission cục bộ và trên mạng
Một thƣ mục hay một tệp có thể chịu hai chế độ giấy phép: một trong chế độ chia sẻ, một trong chế độ bảo mật cục bộ của phân hoạch NTFS. Bảo mật cục bộ ở hệ thống tệp NTFS và có các mức giấy phép truy cập khác nhau. Tổ hợp sẽ lấy mức giấy phép yếu hơn.
3.4.7. Kết hợp permission chia sẻ và permission NTFS
Permission chia sẻ trên phân hoạch NTFS làm việc theo các tổ hợp giấy phép tệp và thƣ mục. Để cung cấp cho ngƣời sử dụng các quyền truy cập đƣợc vào các tài nguyên trên đĩa, các thƣ mục chứa các tài nguyên đó phải đƣợc chia sẻ. Một khi các thƣ mục đã đƣợc chia sẻ, chúng ta có thể bảo vệ nó bằng cách gán permission chia sẻ tới ngƣời sử dụng và các nhóm công tác. Tuy nhiên, permission chia sẻ bị hạn chế trong việc bảo mật vì những lí do sau đây:
Cho ngƣời sử dụng cùng một mức truy cập tới tất cả các thƣ mục bên trong
thƣ mục đƣợc chia sẻ.
Không có tác dụng khi một ngƣời sử dụng nào đó đã truy cập đƣợc vào một tài nguyên một cách cục bộ bằng cách ngồi tại máy có đặt nguồn tài nguyên đó.
Nếu một thƣ mục đƣợc chia sẻ nằm trên một phân hoạch NTFS thì ta có thể dùng permission NTFS để khoá một cách có hiệu quả hoặc thay đổi một truy cập nào đó của một ngƣời sử dụng nào đó tới các thƣ mục đƣợc chia sẻ. Ta có đƣợc tính bảo mật ở mức cao nhất bằng cách kết hợp permission NTFS với permission chia sẻ.
3.4.8. Hệ thống tập tin mã hóa (EFS - Encrypting File System)
EFS cung cấp khả năng mã hóa mạnh và rõ ràng đối với ngƣời dùng cho bất kỳ tập tin hay thƣ mục nào trên một ổ đĩa NTFS. EFS làm việc chung với dịch vụ EFS, CryptoAPI của Microsoft và Thƣ viện thực thi hệ thống tập tin EFS (FSRTL). EFS hoạt động bằng cách mã hóa một tập tin với một khóa đối xứng khối (còn đƣợc gọi là Khóa mã hóa tập tin hay FEK – File Encryption Key), khóa này đƣợc sử dụng vì nó cần một khoảng thời gian nhỏ tƣơng đối để mã hóa và giải mã số lƣợng lớn của dữ liệu, hơn là nếu một mã khóa không đối xứng đƣợc sử dụng. Khóa đối xứng đƣợc sử dụng để mã hóa tập tin sau đó sẽ đƣợc mã hóa với một khóa dùng chung, tiếp theo kết hợp với ngƣời dùng đã mã hóa tập tin và dữ liệu đƣợc mã hóa này đƣợc lƣu trữ trong một dòng dữ liệu luân phiên của tập tin đƣợc mã hóa. Để giải mã tập tin, hệ thống tập tin sử dụng khóa riêng của ngƣời sử dụng để giải mã khóa đối xứng mà đƣợc lƣu trữ trong phần đầu của tập tin. Sau đó sử dụng khóa đối xứng để giải mã tập tin. Vì điều này đƣợc thực hiện ở mức độ hệ thống tập tin, nó đƣợc minh bạch đối với ngƣời sử dụng. Ngoài ra, trong trƣờng hợp một ngƣời dùng bị mất quyền truy cập vào chính khóa của mình, các khóa giải mã thêm vào nhằm hỗ trợ cũng đƣợc tạo ra trong hệ thống EFS, để một tác nhân khôi phục vẫn có thể truy cập các tập tin nếu cần. Việc nén và mã hóa do NTFS cung cấp loại trừ lẫn nhau - NTFS có thể đƣợc sử dụng cho một và công cụ của bên thứ ba dành cho hãng khác. Sự hỗ trợ của EFS không có sẵn trong các phiên bản Basic, Home và MediaCenter của Windows, và nó phải đƣợc kích hoạt sau khi cài đặt các phiên bản Professional, Ultimate và Server của Windows hay bằng cách sử dụng các công cụ đặc biệt.
3.5. Một số phƣơng pháp tấn công mật khẩu trong Windows
Phƣơng pháp thƣờng đƣợc áp dụng nhất trong việc tìm mật khẩu là ''Đoán mật khẩu". Phƣơng pháp tấn công này có thể tóm tắt nhƣ sau: Dựa trên các thông tin ngƣời dùng lấy đƣợc từ hệ thống chủ nhƣ: tên ngƣời dùng, mã mật khẩu của ngƣời dùng,... tạo ra các mật khẩu có thể có. Dùng các thuật toán đã biết băm các mật khẩu tạo đƣợc này rồi đem so sánh với các giá trị băm trong CSDL mật khẩu ngƣời dùng đã lấy đƣợc, nếu thấy giống nhau, tức là chúng ta đã đoán đƣợc một mật khẩu đúng.
Hiện nay ngƣời ta thƣờng dùng hai phƣơng pháp đoán mật khẩu đó là kiểu vét cạn và kiểu từ điển để tìm mật khẩu. Với hai phƣơng pháp này chúng ta có thể đồng thời tìm ra nhiều mật khẩu ngƣời dùng trên một hệ thống.
Sở dĩ các phƣơng pháp đoán từ điển thƣờng đƣợc sử dụng là do tính vững chắc của các thuật toán mã hoá mật khẩu đƣợc áp dụng trong các hệ thống. Với các mã mạnh nhƣ DES, RSA, MD4, MD5 thì dù biết đƣợc bản mã, ta hầu nhƣ không thể giải mã để tìm bản rõ. Do đó thay vì làm công việc khó khăn đó ngƣời ta chọn một cách rất đơn giản kiểu "thử và sai" - đƣa ra các giả thiết và thử cho tới khi đi đến đƣợc kết luận đúng hoặc sai. Tuy vậy, để đạt đƣợc sự đơn giản trong thuật giải thám mã, ta phải trả giá bằng việc tốn không gian bộ nhớ và thời gian thực hiện chƣơng trình.
Ngày nay, với các hệ thống mạng máy tính có tốc độ tính toán ngày càng nhanh, việc tấn công vét cạn một hệ mã hiện đại không còn là một việc không tƣởng.