Bảo vệ Microsoft Windows trước các tấn công

185

Khai thác lỗ hổng phần mềm là kỹ thuật tấn công được sử dụng bởi Hacker để âm thầm cài đặt những mã độc (malware) – như Trojan, Backdoor – vào máy người dùng mà không cần phải sữ dụng Social Engineering để lừa nạn nhân tự chạy một chương trình độc hại. Cách cái đặt mã độc thông qua lỗ hổng phần mềm gần như vô hình đối với người dùng và mang đến rất nhiều lợi thế cho hacker. Các khai thác cố gắng sử dụng các lỗ hổng trong hệ điều hành hoặc của thành phần ứng dụng với mục đích cho phép mã độc được chạy.

Bài viết cung cấp thông tin chi tiết về phần lớn các khai thác ứng dụng trên nền tảng Microsoft Windows và đưa ra các bước người dùng thực hiện để tăng khả năng bảo vệ.

Mục tiêu khai thác:

Những ứng dụng sau là những mục tiêu số 1 của attacker khi khai thác:

–          Trình duyệt Web: Microsoft IE, Google Chrome, Apple Safari, Mozila Firefox,…

–          Plug – ins cho trình duyệt: Adobe Flash Player, Oracle Java, Microsoft Siverlight

–          Bản thân hệ điều hành Windos, đặc biệt driver subsystem Win32 – win32k.sys

–          Adove Reader và Adobe Flash

 

Tấn công cài đặt mã từ xa:

Một trong những kịch bản nguy hiểm nhất cho người dùng hàng ngày là việc các hacker sử dụng các khai thác để cài đặt mã độc từ xa (remote excution) vào hệ điều hành. Ví dụ thường thấy là người dùng truy cập website đã bị hacker kiểm soát và chèn các mã khai thác, lúc đó hệ điều hành của người dùng sẽ vô tình bị ảnh hưởng bởi mã độc (loại tấn công thường được biết là “drive – by download”). Nếu máy tính của bản đang chạy phiên bản phần mềm như trình duyệt web hoặc plug – in trình duyệt (adobe flash player, java) có lỗ hổng để khai thác, nguy cơ bị nhiễm mã độc rất cao do thiếu khả năng phòng chống từ hãng phần mềm.

Tấn công chủ đích

Trong trường hợp tấn công chủ đích hay như một tấn công watering hole, khi hacker chèn mã khai thác lên website mà nạn nhân vào, kẻ tấn công có thể dùng lỗ hổng zero – day trong phần mềm hoặc hệ điều hành. Lỗ hổng 0 – Day là là những lỗ hổng mà chưa được vá bởi các hãng tại thời điểm chúng bị hacker khai thác.

Một kỹ thuật thường dùng trong tấn công chủ đích là gửi cho victim một tài liệu PDF, DOC được “trang bị” một mã khai thác. Social Engineering cũng được dùng, ví dụ chọn tên file và nội dung phù hợp khiến nạn nhân muốn mở chúng. Khi những tài liệu này được mở bằng một chương trình đọc PDF có lỗ hổng, những mã khai thác kích hoạt đoạn mã độc (như cài đặt một backdoor) và một tài liệu lừa đảo thường được mở.

Bảng dưới đây đưa ra số lượng các bản vá trên các thành phần Windows trong năm 2013 (tới tháng 11)

 win_exploit1

Mục “Other” bao gồm các lỗ hổng mà được fix cho các thành phần hệ điều hành (CSRSS, SCM, GDI, Print Spooler, XML Core Services, OLE, NFS, Silverlight, Remote Desktop Client, Active Directory, RPC, Exchange Server)

Bảng xếp hạng cho thấy IE vá số lượng lỗ hổng lớn nhất, hơn 100 lỗ hổng được vá trong 14 lần update. 7 trong số các lỗ hổng có trạng thái là “đã bị khai thác vào thời gian được sửa”, nghĩa là chúng đã bị các hacker khai thác từ trước. Thành phần được vá nhiều thứ 2 của hệ điều hành là Windows subsystems driver tai tiếng trong win32k.sys. Lỗ hổng trong driver này được dùng bởi hacker để leo thang đặc quyền trong hệ thống, ví dụ, để vượt qua sự hạn chế do User Account Control (UAC) đặt lên

Kỹ thuật giảm thiểu tấn công

Chúng ta sẽ đi vào chi tiết các ứng dụng bị khai thác nhiều nhất và đưa ra các bước có thể thực hiện để giảm thiểu tấn công và sau nữa là tăng sức mạnh phòng thủ của bạn

Hệ điều hành Windows

Các phiên bản mới của HĐH Windows, ví dụ Windows 7, 8 và 8.1, đã được tích hợp sẵn cơ chế giúp nó có thể bảo vệ người dùng khỏi những hành động phá hoại từ các khai thác. Những đặc tính đã sẵn có từ Windows Vista và được nâng cấp trong các phiên bản HĐH sau. Những đặc tính bao gồm:

–          DEP (Data Execution Prevention) & ASLR (Address Space Layout Randomization): cơ chế này đưa thêm 1 lớp biên dịch và sự sắp đặt các module chương trình trong bộ nhớ tới các địa chỉ ngẫu nhiên.

–          UAC (User Account Control): đã được nâng cấp từ Windows 7 trở đi và yêu cầu xác nhận từ người dùng trước khi chạy một chương trình mà  có yêu cầu thay đổi thiết lập hệ thống và tạo file trong thư mục hệ thống.

–          SmartScreen Filter: giúp ngăn chặn việc tải các phần mềm độc hại từ Internet dựa trên uy tín của file: Những file đã bị nhận diện là độc hại hoặc không được nhận biết bởi bộ lọc sẽ bị chặn. Bộ lọc này ban đầu là một phần của IE, nhưng với bản phát hành Windows 8, nó đã được tích hợp vào hệ điều hành để làm việc với tất cả trình duyệt.

–          Enhanced Protected Mode cho IE (bắt đẩu từ IE 10): trên Windows 8 chế độ này cho phép các thẻ trình duyệt được chạy như các tiến trình tách biệt, chúng bị ngăn không cho thực hiện những hành đồng đã biết (một kỹ thuật còn được biết là Sanboxing). Với Windows 7 x64 (64 – bit), đặc tính này cho phép IE chạy các thẻ như các tiến trình 64 bit riêng biệt, điều này giúp giảm thiểu tấn công Heap – spray quen thuộc.

 

File văn bản

Các tài liệu PDF, DOC, EXEL,… lấy từ nguồn không tin cậy ẩn chứa nguy cơ cao, tuy nhiên người dùng lại thường ít lo lắng và miễn cưỡng bảo vệ chính mình.

Các phiên bản mới của Adobe Reader có “Protected Mode” (cũng được xem như là Sandboxing) khi xem văn bản. Khi sử dụng chế độ này, mã từ file PDF bị ngăn chặn thực thi những hàm có nguy cơ gây hại.

 win_exploit2

Mặc định thì “Protected Mode” bị tắt. Theo đó, sau khi cài đặt, khuyến nghị người dùng rất nên bật chế độ bảo vệ trong cài đặt này cho “Files From Potentially Unsafe Locations” hoặc, thậm chí tốt hơn là “All files”.

Chú ý là khi bật chế độ xem bảo vệ, Adobe Reader vô hiệu hóa một số đặc tính có thể được dùng trong file PDF. Do đó, khi mở file, bản có thể nhận chú giải báo rằng chế độ bảo vệ đang kích hoạt

 win_exploit3

Tương tự, từ các phiên bản Microsoft Office 2010 trở đi, người dùng có thể xem các văn bản trong chế độ “Protected View” để đọc nội dung trong khi vẫn giảm thiểu được các nguy cơ

 win_exploit4

Khi file văn bản không hợp lệ, có nguy cơ gây hại thì ta sẽ thấy thông báo:

win_exploit5

Thiết lập, thay đổi các lựa chọn chế độ “Protect View” tại File > Options > Trust Center > Trust Center Settings > Protected View. Khuyến nghị nên lựa chọn hết các mục bảo vệ này.

 win_exploit6

Adobe Flash Player

Adobe, đi cùng với các nhà sản xuất trình duyệt, đã tạo sẵn những đặc tính đặc biệt và cơ chế bảo vệ để chống lại các khai thác chủ đích vào plugin Flash Player. Các trình duyệt như Microsoft IE (bắt đầu từ bản 10 trên Windows 8.0), Google Chrome và Apple Safari (bản mới nhất) khởi động Flash Player trọng ngữ cảnh của tiến trình được ngăn chặn đặc biệt (vd: sanbox), giới hạn khả năng của tiến trình này truy xuất các tài nguyên hệ thống và đặt trong file hệ thống, và cũng hạn chế cách nó kết nối với mạng.

Thời gian cập nhật của plug – in Flash Player cho trình duyệt rất quan trọng. Google Chrome và Internet Explorer 10+ tự động cập nhật các bản phát hành mới của Flash Player. Để kiểm tra phiên bản của Adobe Flash Player, bạn có thể dùng trang chính thức của Adobe (http://helpx.adobe.com/flash-player.html). Thêm vào đó, phần lớn trình duyệt hỗ trợ khả năng vô hiệu hóa hoàn toàn plug – in Flash Player, để ngăn chặn trình duyệt chạy những nội dung này.

Trình duyệt Internet

Phần đầu của bài, chúng tôi đã đề cập rằng hacker thường phụ thuộc vào việc gửi các mã độc thực thi mã từ xa thông qua trình duyệt (driver – by downloads). Bất kể plug – in trình duyệt nào được cài đặt, bản thân trình duyệt có thể chứa một số lỗ hổng mà hacker đã biết (và có thể nhà phát triển không biết). Nếu lỗ hổng đã được vá bởi nhà phát triển và bản cập nhật sẵn có, người dùng có thể cài dặt nó mà không lo lắng rằng lỗ hổng sẽ bị dùng để gây tổn hại hệ điệu hành. Theo cách khác, nếu attacker sử dụng lỗ hổng chưa biết trước đó, như là một lỗ hổng chưa được vá (0 – Day), trường hợp này phức tạp hơn cho người dùng.

Trình duyệt và hệ điều hành hiện đại gắn vào công nghệ đặc biệt để tách biệt các tiến trình ứng dụng, do đó tạo sự ngăn chặn đặc biệt khi thực hiện một số hành động, thứ mà trình duyệt không nên thực hiện. Tổng quát, kỹ thuật này được gọi là sandbox và cho phép người dùng giới hạn tiến trình có thể làm những việc gì.

Phiên bản mới của trình duyệt IE (IE 10 và 11) có công nghệ sandboxing đặc biêt, được gọi là “Enhanced Proteced Mode” (EPM). Chế độ này cho phép bạn hạn chế hành vị của thẻ tiến trình hoặc plug – in và do đó là cho việc khai thác trở nên khó khăn hơn cho hacker.

 win_exploit7

EPM đẫ được nâng cấp cho Windows 8. Nếu bạn đang sử dụng EPM trên Windows 7 x 64, thì đặc tính này sẽ làm cho các thẻ trình duyệt chạy như các tiến trình 64 bit (trên hệ điều hành 64 bit, IE mặc định chạy các thẻ của nó là các tiến trình 32 bit). Chú ý rằn mặc định EPM bị tắt.

 win_exploit8

Với tùy chọn này được bật, các tiến trình của các thẻ trình duyệt hoạt động như 64 bit, gây khó khăn cho việc cài đặt các mã độc (hoặc ít nhất là khó hơn cho tấn công heap – spraying)

Bắt đầu với Windows 8, chế độ bảo vệ nâng cao được mở rộng với mục đích tác biệt (sandbox) một hành động của tiến trình tại mức hệ điều hành. Công nghệ này được gọi là “AppContainer” và cho phép giúp ích tối đa có thể từ việc dùng tùy chọn EPM. Các tiến trình thẻ IE với tùy chọn EPM kích hoạt làm việc trong chế độ AppContainer. Thêm vào đó, chế độ EPM trong Windows 8 được kích hoạt mặc định (IE 11)

 win_exploit9

Google Chrome, giống như IE, có những đặc tính đặc biệt để giảm thiểu tấn công driver – by download. Nhưng giống như IE, chế độ sandbox cho Chrome luôn luôn kích hoạt và không yêu cầu thêm hành động gì từ người dùng để chạy nó. Đặc tính này của Chrome có nghĩa là các tiến trình thẻ là việc với quyền hạn chế, nó không cho phép các tiến trình thực hiện nhiều hành động vào hệ thống.

 win_exploit10

Chú ý răng gần như tất cả nhóm SID của người dùng trong thẻ truy cập có trạng thái “Deny”, ngăn chặn truy cập vào hệ thống.

Thêm vào chế độ này, Google Chrome có thể khóa các địa chỉ URL hoặc website mà đã ở trong blacklist của Google bởi các hành vi động hại (Google Safe Browsing). Đặc tính này tương tự Smart Screen trong IE.

 win_exploit11

Java

Khi bạn dùng Java trong Windows, các thiết lập an ninh có thể bị thay đổi sử dụng bảng điều khiển. Thêm vào đó, phiên bản mới nhật bao gồm thiết lập an ninh cho phép bạn cấu hình môi trường chính xác hơn, cho phép chỉ những ứng dụng tin cậy được chạy.

 win_exploit12

Để hoàn toàn tắt Java trong tất cả trình duyệt sử dụng trong hệ thống, xóa lựa chọn “Enable content in the browser” trong thiết lập Java.

 win_exploit13

 

EMET

Microsft đã phát hành công cụ miễn phí cho người dùng giúp bảo vệ HĐH khỏi những hành vi độc hại sử dụng trong các khai thác.

 win_exploit14

Bộ công EMET (Enhanced Mitigation Experience Toolkit) dùng phương pháp ngăn chặn để khó nhiều loại khai thác và bảo vệ ứng dụng khỏi các tấn công. Mặc dầu thực tế là Windows 7 và Windows 8 đã tích hợp sẵn tùy chọn cho DEP và ASLR, được bật mặc định và dành để giảm ảnh hưởng của khai thác, EMET đưa ra một số đặc tính mới để khó các hành động khai thác và bật DEP hoặc ASLR cho các tiến trình đặc biệt (tăng cường bảo vệ hệ thống trong các phiên bản HĐH cũ)

Công cụ này phải được cấu hình riêng cho mỗi ứng dụng, có nghĩa là, để bảo vệ một ứng dụng sử dụng công cụ này, bạn cần đưa các ứng dụng riêng vào trong danh sách. Chi tiết cách sử dụng EMET đã có trong bài viết http://security.vtc.vn/?p=276.

Cập nhật hệ điều hành

Giữ hệ điều hành và các phần mềm đã cài đặt luôn nhận thông báo các bản cập nhật và bán vá là một giải pháp tốt trong thực tế, bởi gì các nhà phát triển thường sử dụng các bản vá, cập nhạt để giải quyết các lỗ hổng phát sinh.

Chú ý rằng Windows 7 và 8 có khả năng tự động chuyển các cập tới người dùng theo mặc định. Bạn cũng có thể kiểm tra cập nhật thông qua Windows Control Panel như dưới đây:

win_exploit15 win_exploit16

 

Ngăn chặn khai thác chung

Vừa rồi chung ta xem xét việc chặn khai thác chủ đích vào HĐH hoặc ứng dụng đang sử dụng. Nếu muốn chặn các loại khai thác chung, bạn hay dùng phần mềm bảo mật như Anti Virus

 win_exploit17 win_exploit18

 

Kết luận

Bất kỳ HĐH hoặc chương trình nào được sử dụng rộng rãi sẽ bị các attacker nghiên cứu để tìm các lỗ hổng khai thác cho những mục đích trái phép và thu lợi tài chính. Như chúng ta đã chỉ ra, Adobe, Google, Microsoft đã có các bước để làm cho những loại tấn công này vào hệ điều hành trở nên khó hơn. Dù sao, không kỹ thuật bảo vệ riêng lẻ nào có thế có 100% chống lại những kẻ thù xác định, và người dùng phải giữ cảnh giác về các bản vá cho HĐH và ứng dụng. Các nhà phát triển chỉ cập nhật phầm mềm theo hàng tháng hoặc thậm chí ít hơn. Vì vậy nên sử dụng một chương trình anti virus được cập nhật sẽ ngăn chặn được nhiều khai thác lên Hệ điều hành.