Tải bản đầy đủ (.pdf) (5 trang)

Tài liệu Bảo vệ file hệ thống bằng UAC Virtualization - Phần 1 ppt

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (282.23 KB, 5 trang )

Bảo vệ file hệ thống bằng UAC Virtualization - Phần 1

Khi một người dùng chuẩn đăng nhập vào máy tính chạy hệ điều
hành Windows, đó cũng là lúc có một số hành động cần phải
được bảo vệ. Sự bảo vệ này không phải lúc nào cũng thành công
vì một số phiên bản Windows không bảo vệ hệ thống tốt như mọi
người hằng mong đợi
Các hành động cần được bảo vệ là sự thay đổi hoặc việc ghi vào
các thư m
ục hệ thống và các location trong Registry. Điều này
hoàn toàn cần thiết để bảo vệ sự ổn định cũng như độ bảo mật
của toàn hệ điều hành. Về vấn đề này Windows Vista đã cung
cấp một giải pháp tuyệt vời để giúp chúng ta có thể bảo vệ các
vùng hệ thống này. Vista sử dụng User Account Control và Virtualization để thực hiện.
Trong bài này, chúng tôi sẽ giới thiệu cho các bạn cách UAC sử dụ
ng Virtualization để
bảo vệ hệ thống.
Lược lại lịch sử của hành vi ứng dụng doanh nghiệp
Thư mục Program Files (được đăt tại C:\Program Files, hay vẫn được viết là
%ProgramFiles%) là nơi hầu hết các ứng dụng LOB (dòng doanh nghiệp) lưu các file
thực thi cho các ứng dụng. Trong hầu hết các trường hợp, các thiết lập cho ứng dụng
LOB được lưu trong HKEY_LOCAL_MACHINE\Software trong Registry. Cả hai
location này đều được bảo vệ b
ởi hệ điều hành bằng cách chỉ cho phép hệ thống và các
quản trị viên mới có quyền truy cập và ghi, còn người dùng có thể đọc và truy cập ở mức
thực thi.
Các ứng dụng dòng doanh nghiệp cần được thiết kế để có thể ghi vào các thư mục dữ liệu
ứng dụng cụ thể của người dùng, các thư mục này sẽ được đặt trong user profile. Thường
vẫn là C:\Users\<username>\AppData hay %AppData%. Nếu có thiết lậ
p nào cần thiết
phải được lưu, thì các thiết lập này cần được đặt trong Registry tại


HKEY_CURRENT_USER\Software. Cả hai location này đều được tạo trên một người
dùng và được bảo vệ bằng cách chỉ cho phép người dùng có quyền truy cập đến dữ liệu
mới có thể ghi và thay đổi.
Mặc dù vậy nhiều ứng dụng doanh nghiệp lại không được thiết kế để làm việc theo cách
đó mà thay vì đó chúng lại được thiế
t kế để lưu dữ liệu của người dùng trong
%ProgramFiles% và HKEY_LOCAL_MACHINE\Software. Tuy nhiên, những nguời
dùng chuẩn không có quyền truy cập ở mức ghi vào các location này, location có thể làm
cho nhiều công ty có thể bổ sung thêm người dùng chuẩn vào nhóm quản trị nội bộ để
chạy các ứng dụng này. Rõ ràng, điều đó thực sự không hề an toàn chút nào, vì người
dùng có thể thay đổi bất cứ thứ gì trên máy tính của họ.
UAC Virtualization
Do các ứng dụng dòng doanh nghiệp không thể bị thay đổi một cách dễ dàng và người
dùng vẫn phải chạy các ứng dụng này, chính vì lẽ đó Vista đã sử dụng một phương pháp
khác để khắc phục vấn đề này. Bên trong Vista, UAC có bổ sung thêm tính năng ảo hóa
hệ thống file và không gian tên của Registry. UAC sẽ ảo hóa các ứng dụng mang tính kế
thừa và cho phép các người dùng chuẩn giữ một “standard user”, nhưng vẫn có thể chạy
ứng d
ụng. Định nghĩa tính kế thừa trong trường hợp này gồm có các xử lý 32-bit, không
chạy với các đặc quyền quản trị viên, không gồm các file manifest của Windows Vista.
Nếu một xử lý nào đó hoặt một hành đông nào đó không hội tụ đủ các điều kiện cần thiết
sẽ không được xử lý ảo. Thêm vào đó là các xử lý và các hoạt động dưới đây cũng
không:
• Các ứng dụng Vista mặc định
• Các file thực thi với các đuôi mở rộng như .EXE, .BAT, .VBS và .SCR. Có thể bổ
sung thêm các ngoại lệ về đuôi mở rộng trong
HKLM\System\CurrentControlSet\Services\Luafv\Parameters\ExcludedExtension
sAdd.
• Các ứng dụng và các quá trình 64-bit
• Các ứng dụng với chỉ thị Execution Level trong manifest thực thi của họ, giống

như hầu hết các thực thi của Vista.
• Các quá trình hoặc các ứng dụng đang chạy với quyền quản trị viên.
• Các ứng dụng chạy trong chế độ Kernel
• Các hoạt động không bắt nguồn từ một session đăng nhập mang tính tương tác,
giống như việc chia sẻ file.
• Các ứng dụng thay đổi registry key đã được đánh dấu cờ “Don't_Virtualize
registry”
Virtualization của hệ thống file và Registry không được thực hiện một cách rộng rãi. Nó
bị hạn chế ở một số location, điều đó là cần thiết cho hệ điều hành chạy và giữ cho chúng
được an toàn. Đây là danh sách gần như hoàn tất của các location được ảo hóa:
• \Program Files and subfolders
• \Program Files (x86) on 64-bit systems
• \Windows and all subfolders, including System32
• \Users\%AllUsersProfile%\ProgramData
• \Documents and Settings (symbolic link)
• HKLM\Software
Thẩm định UAC Virtualization
Khi một hành động nào đó được ảo hóa, nội dung của nó sẽ được lưu vào trong profile
người dùng như chúng ta đã đề cập ở trên. Mặc dù vậy, bạn có biết cách các thông tin
được ảo hóa như thế nào? Phụ thuộc vào những nội dung gì được ảo hóa, sẽ có các chỉ thị
bên trong các giao diện khác nhau để giúp bạn thấy được điều này.
Chỉ thị đầu tiên mà chúng tôi giới thiệu cho các b
ạn là bên trong Windows Explorer. Phụ
thuộc vào thư mục và các file nào được ảo hóa, bạn sẽ thấy các tùy chọn menu bổ sung
vào bên trong Windows Explorer. Hình 1 thể hiện những gì về Windows Explorer và khi
nào bạn có các file ảo hóa trong thư mục C:\Windows.

Hình 1: Hộp đỏ được đánh dấu chỉ thị rằng đó là các file đã được xử lý ảo
Tùy chọn các file tương thích “Compatibility Files” trong Windows Explorer chỉ xuất
hiện khi có các file được xử lý ảo hóa và tùy chọn menu mới này sẽ xuất hiện ch

ỉ cho các
thư mục có các file ảo và các thư mục ảo đó.
Khi tùy chọn Compatibility Files được chọn, nó sẽ hướng cửa sổ Windows Explorer vào
các file được ảo hóa và thư mục chứa nó. Hình 2 sẽ thể hiện những gì bên trong vấn đề ảo
hóa các file này cũng như các thư mục trong đó.

Hình 2: Tùy chọn menu các file tương thích được lưu trong thư mục VirtuaStore
Như những gì các bạn đã thấy, tùy chọn menu các file tương thích mở ở thư mục
VirtualStore, đây là thư mục được đặt trong profile của người dùng. Như bạn thấy trong
hình 2, tên của nó là <username>\AppData\VirtualStore.
Kết luận
Có lẽ trong số chúng ta đều biết rằng, các ứng dụng được xây dựng để chạy trên các máy
tính Windows cũng rất khó khăn. Lý do chính cho điề
u đó là các ứng dụng đó ghi vào các
file hệ thống được bảo vệ, các thư mục và các location của Registry. Tuy nhiên đối với
Windows thì điều đó yêu cầu người dùng phải có được đặc quyền quản trị viên nội bộ
hoặc phải được đặt một cách thích hợp. Việc đặt các tài khoản người dùng vào nhóm
quản trị viên nội bộ để cho phép người dùng chạy thành công các ứng dụng của họ là m
ột
giải pháp không hề tốt chút nào. Phụ thuộc vào cách ứng dụng đó được thiết kế, UAC
virtualization của các file và Registry là một giải pháp tuyệt vời. Các file và các entry của
Registry sẽ được ảo hóa, bằng cách đặt vào chính profile cá nhân của người dùng. Cách
thức này giúp Windows có thể bảo vệ được hệ thống, mạng mà vẫn cho phép người dùng
chạy ứng dụng của họ.

×