Lỗ hổng Meltdown trong CPU là vấn đề vô cùng nhức nhối. Bản vá lỗ hổng Meltdown mới nhất của Microsoft đã làm cho vấn đề này trở nên tồi tệ hơn trên hệ điều hành Windows 7. Meltdown trên Windows 7 cho phép bất kỳ ai không đặc quyền có thể đọc nội dung và cả ghi dữ liệu vào bộ nhớ hạt nhân (memory kernel) của hệ điều hành.

Spectre và Meltdown là những lỗ hổng bảo mật trong bộ vi xử lý của Intel, ARM và AMD được tiết lộ bởi các nhà nghiên cứu hồi đầu năm nay, khiến kẻ tấn công có thể dễ dàng đánh cắp dữ liệu trên hầu hết các máy tính, máy chủ và điện thoại di động.

Bản vá lỗ hổng Meltdown của Microsoft khiến Windows 7 mất an toàn
Bản vá lỗ hổng Meltdown của Microsoft

Ngay sau khi các nhà nghiên cứu tiết lộ các khai thác của Spectre và Meltdown, thì những nhà cung cấp phần mềm, bao gồm Microsoft, bắt đầu phát hành bản vá lỗ hổng Meltdown các cho hệ thống đang chạy bộ vi xử lý yếu.

Tuy nhiên, một nhà nghiên cứu an ninh độc lập người Thụy Điển – Ulf Frisk đã phát hiện ra rằng các bản vá lỗ hổng Meltdown của Microsoft cho các máy tính chạy Windows 7 đã khiến cho vấn đề trở nên tồi tệ hơn. Nếu như trước đây kẻ tấn công có thể đọc bộ nhớ hạt nhân với tốc độ 120 KBps, thì bây giờ có thể đọc bộ nhớ hạt nhân tương tự tại tốc độ Gbps.

Phát hiện này là vấn đề mới nhất xung quanh các bản vá lỗi cho Meltdown và Spectre. Đôi khi những bản vá này bị phát hiện còn chưa đầy đủ, trọn vẹn hay còn nhiều lỗi, đã gây ra các vấn đề như tự nhiên reboot lại và các hành vi hệ thống ‘không thể đoán trước’ trên các máy tính bị ảnh hưởng.

Theo Frisk, các vấn đề xoay quanh bản vá lỗ hổng Meltdown đầu tiên của MS xảy ra là do (điều khiển quyền truy cập vào bộ nhớ hạt nhân) vô tình bị chuyển đổi từ chỉ người giám sát (supervisor-only) tới bất kỳ người dùng nào (any user) trong một sự chuyển đổi từ virtual-to-physical memory được gọi là PLM4, cho phép bất kỳ ứng dụng chế độ người dùng nào truy cập các bảng trang kernel (kernel page table).

PML4 là cơ sở của 4 cấp độ trong hệ thống bảng trang bộ nhớ mà đơn vị quản lý bộ nhớ (Memory Management Unit) CPU của Intel sử dụng để dịch các địa chỉ bộ nhớ ảo (virtual memory addresses) của một quá trình sang các địa chỉ bộ nhớ vật lý trong RAM.

Bit thiết lập chính xác thường đảm bảo kernel có quyền truy cập độc quyền vào các bảng này.

Frisk giải thích trong bài đăng blog của mình: “Bit cho phép của Người dùng/Người giám sát đã được đặt thành Người dùng trong PML4 self-referencing entry. Điều này cho phép người dùng luôn có thể sử dụng bảng trang thông qua mã chế độ người dùng (user mode code) trong mọi quá trình. Trong khi, những bảng trang bình thường chỉ có thể truy cập được bởi chính kernel “.

Để chứng minh phát ngôn của mình, Frisk cũng cung cấp các phân tích chi tiết và khai thác PoC. Vấn đề này chỉ ảnh hưởng đến các phiên bản 64-bit của Windows 7 và Windows Server 2008 R2, chứ không phải Windows 10 hoặc Windows 8.1 PC, bởi vì những hệ điều hành này yêu cầu kẻ tấn công phải có quyền truy cập vật lý vào hệ thống mục tiêu.

Buggy Patch cho phép đọc Gigabyte dữ liệu trong một giây

Bởi vì bảng trang PML4 được đặt tại một địa chỉ bộ nhớ cố định (fixed memory address) trong Windows 7, nên sẽ rất dễ dàng để khai thác lỗ hổng Meltdown.

Frisk nói: “Windows 7 đã làm rất tốt trong việc lập bản đồ trong bộ nhớ yêu cầu cho từng quá trình chạy. “Khai thác chỉ là vấn đề đọc và ghi vào bộ nhớ ảo đã được lập bản đồ sẵn. Không yêu cầu các API hoặc syscalls – chỉ cần đọc và viết chuẩn!”

Khi các bảng trang có quyền truy cập đọc/ghi, hacker sẽ dễ dàng truy cập vào toàn bộ bộ nhớ vật lý. Frisk cho biết “trừ khi nó được bảo vệ bổ sung bởi bảng trang mở rộng (Extended Page Tables) dùng cho ảo hóa (Virtualization)”.

Tất cả những gì những kẻ tấn công phải làm là viết Page Table Entries của họ vào các bảng trang để truy cập bộ nhớ vật lý tùy ý.

Frisk cho biết ông đã không thể liên kết lỗ hổng mới với bất cứ điều gì trong danh sách chung về các lỗ hổng phổ biến và sự phơi bày (Common Vulnerabilities and Exposures). Ông cũng mời các nhà nghiên cứu thử nghiệm lỗ hổng bằng cách sử dụng một bộ công cụ khai thác mà ông đã phát hành trên GitHub.

Cập nhật: Microsoft phát hành bản vá khẩn cấp

Theo phát hiện của nhà nghiên cứu, Microsoft đã phát hành một bản vá lỗi khẩn cấp vào ngày thứ Năm cho lỗ hổng (CVE-2018-1038). Bản vá lỗ hổng Meltdown này được giới thiệu như một bản vá do công ty phát hành hồi đầu năm nay.

Bản cập nhật bảo mật out-of-band cho Microsoft Windows 7 và Windows Server 2008 R2 “nhằm giải quyết lỗ hổng nâng cao đặc quyền trong Windows kernel của phiên bản 64-Bit (x64)”.

Theo lời khuyên của Microsoft, việc nâng cấp đặc quyền thông qua các lỗ hổng xảy ra khi Windows kernel không xử lý đúng đối tượng trong bộ nhớ. Khai thác thành công lỗ hổng này có thể cho phép kẻ tấn công chạy mã tùy ý trong kernel mode.

Các chuyên gia cho biết: “Người tấn công có thể cài đặt các chương trình, xem, thay đổi, xóa dữ liệu, hoặc tạo các tài khoản mới với quyền người dùng đầy đủ”.

Không có phiên bản Windows OS nào bị ảnh hưởng, ngoại trừ Windows 7 Service Pack 1 (x64) và Windows Server 2008 R2 Service Pack 1 (x64).

Vì vậy, tất cả các quản trị viên và người dùng của Windows 7 và Windows 2008R2 được khuyến khích cập nhật hệ thống của họ càng sớm càng tốt.

Bình luận