Đẹp mặt AMD: lỗ hổng bảo mật tồn tại hơn 2 thập kỷ, "dính" phần mềm độc hại là coi như vứt máy, ảnh hưởng hàng trăm triệu PC

A-Train The Seven

...'cause for once, I didn't hate myself.
Các lỗ hổng bảo mật trong firmware - phần mềm được nhúng sâu bên trong máy tính, khởi động đầu tiên khi bạn bật máy và kiểm soát toàn bộ quy trình khởi động hệ điều hành - từ lâu đã trở thành mục tiêu hấp dẫn của tin tặc. Tuy nhiên, hiếm khi nào chúng ta bắt gặp một lỗ hổng không xuất hiện trong firmware của một nhà sản xuất cụ thể nào, mà lại tồn tại trong chip xử lý được sử dụng trên hàng trăm triệu máy tính cá nhân và máy chủ. Mới đây, các nhà nghiên cứu bảo mật đã phát hiện ra một lỗ hổng như vậy trên bộ vi xử lý AMD, tồn tại trong suốt hai thập kỷ qua. Lỗ hổng này cho phép phần mềm độc hại xâm nhập sâu vào bộ nhớ máy tính, đến mức trong nhiều trường hợp, việc loại bỏ thiết bị có thể dễ dàng hơn là cố gắng g ỡ bỏ phần mềm độc hại.

Tại hội nghị hacker Defcon, Enrique Nissim và Krzysztof Okupski, hai nhà nghiên cứu từ công ty bảo mật IOActive, sẽ công bố một lỗ hổng bảo mật trên chip AMD mà họ gọi là Sinkclose. Lỗ hổng này cho phép tin tặc chạy mã độc hại ở chế độ đặc quyền cao nhất của bộ xử lý AMD, được gọi là Chế độ Quản lý Hệ thống (SMM), vốn được thiết kế dành riêng cho một phần được bảo vệ đặc biệt của firmware. Các nhà nghiên cứu của IOActive cảnh báo rằng lỗ hổng này ảnh hưởng đến hầu hết các chip AMD được sản xuất từ năm 2006, hoặc thậm chí sớm hơn.

Nissim và Okupski cho biết để khai thác lỗ hổng này, tin tặc cần phải có quyền truy cập tương đối sâu vào máy tính cá nhân hoặc máy chủ sử dụng chip AMD. Tuy nhiên, Sinkclose sẽ cho phép chúng cài đặt mã độc hại ở cấp độ sâu hơn nữa. Đối với bất kỳ máy tính nào sử dụng chip AMD dễ bị tấn công, các nhà nghiên cứu của IOActive cảnh báo rằng tin tặc có thể lây nhiễm phần mềm độc hại bootkit - loại mã độc có khả năng tránh né các phần mềm diệt virus, ẩn mình khỏi hệ điều hành, đồng thời cho phép tin tặc toàn quyền kiểm soát và theo dõi hoạt động của thiết bị. Đối với các hệ thống được nhà sản xuất thiết lập tính năng Khởi động An toàn Nền tảng (Platform Secure Boot) của AMD không đúng cách (IOActive cho biết đây là phần lớn hệ thống mà họ đã thử nghiệm), việc gỡ bỏ phần mềm độc hại được cài đặt thông qua Sinkclose sẽ càng khó khăn hơn, ngay cả khi cài đặt lại hệ điều hành.

AMD Ryzen 3000.jpg


"Hãy tưởng tượng những hacker do nhà nước bảo trợ hoặc bất kỳ ai muốn chiếm quyền kiểm soát hệ thống của bạn. Ngay cả khi bạn đã xóa sạch ổ cứng, phần mềm độc hại vẫn sẽ tồn tại", Okupski cho biết. "Nó gần như không thể bị phát hiện và vá lỗi." Cách duy nhất để loại bỏ phần mềm độc hại là mở vỏ máy tính, kết nối trực tiếp với một phần cụ thể của chip nhớ bằng công cụ lập trình phần cứng SPI Flash, và sau đó quét kỹ lưỡng bộ nhớ, Okupski giải thích.

Tóm lại, trong trường hợp xấu nhất, Nissim cho biết: "Bạn chỉ còn cách vứt bỏ máy tính của mình."

Trong một tuyên bố với WIRED, AMD đã thừa nhận phát hiện của IOActive, cảm ơn các nhà nghiên cứu và cho biết họ đã "phát hành các bản vá lỗi cho các sản phẩm máy chủ AMD EPYC và máy tính cá nhân AMD Ryzen, và sẽ sớm có bản vá cho các sản phẩm nhúng của AMD." (Thuật ngữ "nhúng" trong trường hợp này đề cập đến chip AMD được sử dụng trong các hệ thống như thiết bị công nghiệp và ô tô.) Đối với bộ xử lý EPYC được thiết kế cho máy chủ trung tâm dữ liệu, AMD cho biết họ đã phát hành bản vá lỗi vào đầu năm nay. AMD từ chối trả lời câu hỏi chi tiết về cách thức, thời gian và thiết bị cụ thể sẽ được vá lỗi Sinkclose, nhưng hãng đã cung cấp danh sách đầy đủ các sản phẩm bị ảnh hưởng trên trang web của mình.

Trong một tuyên bố khác với WIRED, AMD nhấn mạnh mức độ khó khăn trong việc khai thác Sinkclose: Để tấn công thành công, tin tặc cần phải có quyền truy cập vào kernel - nhân của hệ điều hành. AMD so sánh kỹ thuật Sinkhole với việc đột nhập vào két sắt của ngân hàng sau khi đã vượt qua hệ thống báo động, bảo vệ và cửa hầm.

Tuy nhiên, Nissim và Okupski phản bác rằng mặc dù việc khai thác Sinkclose yêu cầu quyền truy cập cấp kernel, nhưng các lỗ hổng cho phép truy cập vào kernel lại xuất hiện gần như hàng tháng trên Windows và Linux. Họ lập luận rằng các nhóm tin tặc tinh vi - đối tượng có khả năng khai thác Sinkclose - có thể đã sở hữu kỹ thuật khai thác những lỗ hổng này. "Hiện nay, đã có những kỹ thuật khai thác kernel nhắm vào tất cả các hệ thống này," Nissim nói. "Chúng có tồn tại và có sẵn cho tin tặc. Sinkclose là bước tiếp theo."

Chi tiết kỹ thuật về Sinkclose​

1723436880123.png


Kỹ thuật Sinkclose của Nissim và Okupski hoạt động bằng cách khai thác tính năng ít người biết đến trên chip AMD có tên là TClose. (Tên gọi Sinkclose được ghép từ TClose và Sinkhole - tên của một kỹ thuật khai thác SMM khác được phát hiện trên chip Intel vào năm 2015). Trên máy tính AMD, một biện pháp bảo vệ có tên là TSeg ngăn chặn hệ điều hành ghi dữ liệu vào một phần bộ nhớ được bảo vệ dành riêng cho SMM, được gọi là Bộ nhớ Truy cập Ngẫu nhiên Quản lý Hệ thống (SMRAM). Tuy nhiên, tính năng TClose của AMD được thiết kế để tương thích với các thiết bị cũ sử dụng cùng địa chỉ bộ nhớ với SMRAM, bằng cách ánh xạ lại bộ nhớ khác đến các địa chỉ SMRAM khi được kích hoạt. Nissim và Okupski phát hiện ra rằng, chỉ với quyền truy cập cấp hệ điều hành, họ có thể sử dụng tính năng ánh xạ lại của TClose để lừa mã SMM lấy dữ liệu đã bị giả mạo, từ đó chuyển hướng bộ xử lý và thực thi mã độc hại ở cấp độ đặc quyền cao của SMM.

"Tôi nghĩ đây là lỗi phức tạp nhất mà tôi từng khai thác,"
Okupski chia sẻ.

Nissim và Okupski, cả hai đều là chuyên gia bảo mật mã nguồn cấp thấp như firmware của bộ xử lý, cho biết họ bắt đầu nghiên cứu kiến trúc của AMD từ hai năm trước vì cho rằng nó chưa nhận được sự quan tâm đúng mức so với Intel, bất chấp thị phần ngày càng tăng của hãng. Họ tình cờ phát hiện ra lỗ hổng TClose - mấu chốt của Sinkclose - khi nghiên cứu tài liệu của AMD. "Tôi đã đọc trang tài liệu chứa thông tin về lỗ hổng này đến cả nghìn lần," Nissim nói. "Và chỉ đến lần thứ 1001, tôi mới nhận ra nó." Họ đã báo cáo lỗ hổng cho AMD vào tháng 10 năm ngoái và chờ đợi gần 10 tháng để AMD có thời gian chuẩn bị bản vá lỗi.

Làm thế nào để bảo vệ bản thân?​


Nissim và Okupski cho biết đối với người dùng Windows - phần lớn hệ thống bị ảnh hưởng - họ hy vọng bản vá lỗi Sinkclose sẽ được tích hợp vào bản cập nhật của các nhà sản xuất máy tính với Microsoft, sau đó sẽ được tung ra trong các bản cập nhật hệ điều hành tiếp theo. Bản vá lỗi cho máy chủ, hệ thống nhúng và máy tính Linux có thể phức tạp hơn, yêu cầu người dùng tự thực hiện; đối với máy tính Linux, quy trình vá lỗi sẽ phụ thuộc vào phiên bản Linux mà máy tính đang sử dụng.

Nissim và Okupski cho biết họ đã đồng ý với AMD sẽ không công bố mã khai thác Sinkclose trong vài tháng tới, để dành thời gian cho việc vá lỗi. Tuy nhiên, họ nhấn mạnh rằng bất chấp nỗ lực của AMD và các bên liên quan trong việc giảm thiểu mức độ nghiêm trọng của Sinkclose, người dùng nên cập nhật bản vá lỗi càng sớm càng tốt. Các nhóm tin tặc tinh vi có thể đã phát hiện ra kỹ thuật này - hoặc có thể tìm ra cách khai thác nó sau khi Nissim và Okupski công bố phát hiện của họ tại Defcon.

Ngay cả khi Sinkclose yêu cầu quyền truy cập tương đối sâu, các nhà nghiên cứu của IOActive cảnh báo rằng mức độ kiểm soát mà nó mang lại là vô cùng nguy hiểm, và người dùng không nên chần chừ trong việc vá lỗi. "Nếu nền móng bị phá vỡ," Nissim nói, "thì toàn bộ hệ thống sẽ sụp đổ."
 


Đăng nhập một lần thảo luận tẹt ga
Thành viên mới đăng
Top