Tại sao các phiên bản Windows 64-bit lại an toàn hơn?

08:37, 05/08/2013

Các hệ điều hành 64-bit không miễn nhiễm với malware nhưng chúng có nhiều tính năng bảo mật hơn. Một số tính năng này cũng áp dụng cho các phiên bản 64-bit của những hệ điều hành khác như Linux. Người dùng Linux sẽ có được các tính năng bảo mật tiên tiến khi chuyển sang phiên bản 64-bit.

1. Address Space Layout Randomization (ASLR)

Là tính năng bảo mật khiến vị trí dữ liệu của chương trình được sắp xếp một cách ngẫu nhiên trong bộ nhớ. Trước ASLR, vị trí dữ liệu của chương trình trong bộ nhớ có thể dự đoán được, làm các cuộc tấn công trên chương trình dễ hơn nhiều. Với ASLR, kẻ tấn công phải đoán đúng vị trí trong bộ nhớ khi cố gắng khai thác lỗ hổng trong chương trình. Dự đoán không chính xác có thể dẫn đến việc chương trình bị treo, do đó kẻ tấn công sẽ không thể thử lại.

Tính năng bảo mật này cũng được sử dụng trên các phiên bản 32-bit của Windows và nhiều hệ điều hành khác, nhưng trên các phiên bản Windows 64-bit nó mạnh hơn rất nhiều. Hệ thống 64-bit có không gian địa chỉ lớn hơn nhiều so với hệ thống 32-bit, làm cho ASLR hiệu quả hơn nhiều.

2. Bắt buộc trình điều khiển ký tên (Mandatory Driver Signing- MDS)

Windows 64-bit bắt phải thực hiện MDS. Tất cả mã trình điều khiển trên hệ thống phải có chữ ký số. Điều này bao gồm cả trình điều khiển thiết bị chế độ nhân (kernel-mode) và chế độ người dùng (user-mode), chẳng hạn như trình điều khiển máy in.

MDS ngăn không cho các trình điều khiển chưa ký tên (được malware cung cấp) chạy trên hệ thống. Tác giả malware sẽ phải tìm cách nào đó vượt qua được quá trình ký tên (chẳng hạn, thông qua rootkit thời gian khởi động - boot-time rootkit), làm cho các trình điều khiển bị nhiễm khó chạy trên hệ thống hơn. MDS cũng được sử dụng trên các phiên bản 32-bit của Windows nhưng có khả năng không tiếp tục tương thích với các trình điều khiển 32-bit cũ.

Để vô hiệu hóa MDS trong thời gian phát triển trên các phiên bản Windows 64-bit, bạn sẽ phải gắn với trình gỡ lỗi nhân (kernel debugger) hoặc sử dụng tùy chọn khởi động đặc biệt.


3. Kernel Patch Protection (KPP)

Còn được gọi là PatchGuard, là tính năng bảo mật chỉ thấy trên phiên các bản 64-bit của Windows. PatchGuard ngăn không cho phần mềm, các trình điều khiển chạy trong chế độ nhân, sửa đổi nhân Windows. Về mặt kỹ thuật, điều này là có thể trên các phiên bản Windows 32-bit nhưng không được hỗ trợ. Một số chương trình chống virus 32-bit đã thực hiện các biện pháp bảo vệ chống virus sử dụng việc vá nhân.

Ví dụ, PatchGuard ngăn không cho rootkit thay đổi nhân Windows để nhúng mình trong hệ điều hành. Nếu phát hiện ra nỗ lực sửa đổi nhân, ngay lập tức Windows sẽ tắt (shut down) với màn hình màu xanh hoặc khởi động lại.

4. Data Execution Protection (DEP)

Cho phép hệ điều hành thiết lập “bit NX”, đánh dấu những khu vực nhất định của bộ nhớ là "không thể thực thi" (chẳng hạn như các khu vực bộ nhớ mà chỉ giữ dữ liệu).

Ví dụ, trên hệ thống không DEP, kẻ tấn công có thể sử dụng một số loại lỗi tràn bộ đệm để viết mã vào vùng bộ nhớ của ứng dụng > sau đó có thể được thực hiện. Với DEP, kẻ tấn công có thể viết mã vào vùng bộ nhớ của ứng dụng - nhưng khu vực này sẽ được đánh dấu là không thể thực thi > không thể được thực hiện > giúp ngăn chặn cuộc tấn công.

Các hệ điều hành 64-bit có DEP dựa trên phần cứng (nếu bạn có CPU hiện đại, các phiên bản Windows 32-bit cũng hỗ trợ DEP dựa trên phần cứng). Tuy nhiên, DEP luôn được kích hoạt đối với các chương trình 64-bit, trong khi theo mặc định, nó bị vô hiệu hóa đối với các chương trình 32-bit vì lý do tương thích.

Hộp thoại cấu hình DEP trong Windows chỉ áp dụng cho cho các ứng dụng, tiến trình 32-bit vì tài liệu của Microsoft cho biết, DEP luôn được sử dụng cho tất cả các tiến trình 64-bit.


5. WOW64

Các phiên bản Windows 64-bit chạy phần mềm Windows 32-bit thông qua lớp tương thích WOW64 (Windows 32-bit on Windows 64-bit). Lớp tương thích này thực thi một số hạn chế đối với các chương trình 32-bit, có thể ngăn malware 32-bit hoạt động. Malware 32-bit cũng sẽ không thể chạy trong chế độ nhân - chỉ các chương trình 64-bit mới có thể làm điều đó trên hệ điều hành 64-bit - nên malware 32-bit sẽ bị cô lập tối đa. Ví dụ, nếu chiếc đĩa CD nhạc cũ của bạn “dính” rootkit Sony thì rootkit sẽ không có khả năng cài đặt chính mình lên một phiên bản 64-bit của Windows.

Windows 64-bit cũng ngừng hỗ trợ cho các chương trình 16-bit cũ. Ngoài việc phòng tránh các virus 16-bit cổ xưa, điều này cũng sẽ buộc nhiều công ty phải nâng cấp các chương trình 16-bit “cổ lỗ” có thể “dính” lỗ hổng, chưa được vá của họ.

Bạch Nam Anh