Bản vá lỗ hổng Meltdown của Microsoft khiến Windows 7 trở nên kém an toàn hơn
Một thời gian ngắn sau khi các nhà nghiên cứu tiết lộ về lỗ hổng Spectre và Meltdown, các nhà cung cấp phần mềm, trong đó có Microsoft, bắt đầu đưa ra các bản vá cho những hệ thống chạy trên các bộ xử lý có lỗ hổng. Tuy nhiên, một nhà nghiên cứu độc lập người Thuỵ Điển tên là Ulf Frisk đã phát hiện ra rằng, bản vá lỗ hổng Meltdown của Microsoft cho Windows 7 có thể cho phép đọc bộ nhớ của nhân hệ điều hành với tốc độ hàng Gb mỗi giây (thay vì 120KB mỗi giây), ảnh hưởng đến cả máy tính chạy Windows 7 và Windows Server 2008 R2.
Frisk chính là nhà nghiên cứu đã phát hiện cách đánh cắp mật khẩu từ hầu như tất cả máy tính xách tay Mac nào chỉ trong 30 giây, bằng cách lợi dụng các lỗ hổng của hệ thống mã hoá đĩa FileVault.
Phát hiện mới này là vấn đề mới nhất liên quan đến các bản vá Meltdown và Spectre. Theo Frisk, vấn đề với bản vá của Microsoft là một bit duy nhất dùng để kiểm soát quyền truy cập bộ nhớ nhân hệ điều hành vô tình bị chuyển từ “chỉ có người quản trị” thành “bất kỳ ai” trong bộ dịch địa chỉ bộ nhớ ảo sang bộ nhớ vật lý có tên gọi PLM4. PML4 là cơ sở của cấu trúc bảng trang bộ nhớ mà CPU Memory Management Unit của Intel dùng để dịch địa chỉ bộ nhớ ảo của một tiến trình thành địa chỉ bộ nhớ vật lý trong RAM.
Nếu được thiết lập đúng, bit đó sẽ đảm bảo chỉ có nhân hệ điều hành có thể truy cập những bảng đó. Bit phân quyền User/Supervisor được đặt thành User trong mục tự tham chiếu của PML4. Điều đó khiến bảng trang có thể được truy cập bởi mọi tiến trình ở chế độ người dùng. Trong khi các bảng đó thường chỉ được nhân hệ điều hành truy cập.
Để chứng minh, Frisk cung cấp thông tin chi tiết và một bản lợi dụng lỗ hổng. Lỗi này chỉ ảnh hưởng đến các phiên bản 64-bit của Windows 7 và Windows Server 2008 R2. Với Windows 10 hay Windows 8.1, kẻ xấu vẫn cần truy cập trực tiếp máy tính để lợi dụng.
Và do bảng trang PML4 được đặt tại vị trí bộ nhớ cố định trong Windows 7, sẽ không cần kỹ thuật tinh vi nào để lợi dụng lỗ hổng Meltdown.
"Windows 7 đã làm công việc khó khăn là ánh xạ bộ nhớ cần thiết vào mọi tiến trình đang chạy. Việc lợi dụng chỉ đơn giản là đọc và ghi vào vùng nhớ ảo đã được ánh xạ trong tiến trình. Không cần tới các API hay lệnh gọi hệ thống tinh vi nào, chỉ cần dùng những lệnh đọc ghi tiêu chuẩn. Khi đã có quyền đọc/ghi vào các bảng trang, việc truy cập toàn bộ bộ nhớ vật lý là cực kỳ dễ dàng, trừ khi nó được bảo vệ bổ sung bằng các bảng trang mở rộng (Extended Page Tables) - kỹ thuật mà công nghệ ảo hoá sử dụng", Frisk nói.
Tất cả những gì kẻ xấu cần làm là ghi vào các mục bảng trang (Page Table Entries) của riêng họ vào các bảng trang để có thể truy cập tuỳ ý vào bộ nhớ vật lý.
Frisk nói ông chưa thể liên kết lỗ hổng mới này với bất kỳ thứ gì trong danh sách lỗ hổng của Common Vulnerabilities and Exposures. Ông cũng mời các nhà nghiên cứu kiểm tra lỗ hổng bằng công cụ lợi dụng mà ông công bố trên GitHub.
Sau khi biết được thông tin, Microsoft đã công bố một bản vá khẩn cấp cho lỗ hổng (CVE-2018-1038) mà bản vá Meltdown công bố hồi đầu năm gây ra.
Nguyễn Anh Tuấn
Theo The Hacker News