Mới đây, một lỗ hổng nghiêm trọng bên trong CPU của Intel đã được phát hiện. Lỗ hổng này cho phép kẻ tấn công có thể đánh cắp được các dữ liệu nhạy cảm như như mật khẩu và khóa mã hóa, từ các tiến trình khác đang chạy trong cùng một lõi CPU trong đó chế độ chạy đa luồng được kích hoạt .
Lỗ hổng bảo mật này được đặt tên là PortSmash (CVE-2018-5407), là một loại lỗ hổng bảo mật cho phép các tấn công kênh kề tương tự như những lỗ hổng bảo mật khác được phát hiện trong năm qua như Meltdown, Spectre, TLBleed và Foreshadow.
PortSmash được phát hiện bởi một nhóm các nhà nghiên cứu bảo mật từ Đại học Công nghệ Tampere ở Phần Lan và Đại học Kỹ thuật Havana, Cuba. Lỗ hổng mới này nằm trong công nghệ siêu phân luồng hay công nghệ thực thi đa luồng đồng thời (SMT) của Intel. Công nghệ thực thi đa luồng đồng thời (SMT) là một tính năng cải thiện hiệu năng hoạt động của CPU bằng cách tách từng lõi vật lý của bộ xử lý thành các lõi ảo, được gọi là luồng, cho phép mỗi lõi chạy hai dòng lệnh tại cùng một thời điểm.
Hai luồng trong hai tiến trình độc lập có thể được thực thi cùng nhau trong cùng một thời điểm trên cùng một lõi vật lý nhờ công nghệ SMT để tăng hiệu năng. Do đó một tiến trình có thể thấy được thông tin và trạng thái mà tiến trình khác đang thực hiện. Khi đó, kẻ tấn công có thể chạy một tiến trình PortSmash độc hại cùng với tiến trình mục tiêu của nạn nhân trên cùng một lõi CPU và mã PortSmash sẽ tìm kiếm các lệnh được thực hiện bởi tiến trình khác bằng cách đo thời gian chính xác cho mỗi lệnh được thực thi.
Nhóm nghiên cứu cho biết:
Bản chất của sự rò rỉ là do sự chia sẻ cơ chế thực hiện trên các kiến trúc SMT (ví dụ, Hyper-Threading). Cụ thể hơn, chúng tôi phát hiện sự tranh chấp cổng để xây dựng kênh bên cho phép tấn công phân tích thời gian nhằm khai thác thông tin từ các tiến trình chạy song song trên cùng một lõi vật lý.”
Tấn công PortSmash để đánh cắp khóa giải mã SSL
Các nhà nghiên cứu đã phát hành một mã tấn công thử nghiệm trên Github để kiểm tra hiệu quả của tấn công PortSmash đối với thư viện mã hóa OpenSSL (phiên bản <= 1.1.0h). Kết quả cho thấy tấn công này có thể cho phép đánh cắp khóa giải mã riêng bằng cách sử dụng một quá trình độc hại (khai thác) chạy trên cùng một lõi vật lý với một tiến trình thực thi OpenSSL của nạn nhân.
Tại thời điểm hiện tại, các thử nghiệm tấn công PortSmash đã được xác nhận có thể thực hiện trên các nền tảng bộ xử lý Kaby Lake và Skylake của Intel. Tuy nhiên các nhà nghiên cứu cũng “nghi ngờ” rằng tấn công này cũng có thể thực hiện trên các kiến trúc SMT khác, bao gồm cả AMD, với một số sửa đổi trên mã tấn công.
Vào tháng Tám năm nay, sau khi các tấn công TLBleed và ForeShadow được công bố, người sáng lập OpenBSD và lãnh đạo các dự án OpenSSH, Theo de Raadt, khuyên người dùng nên vô hiệu hóa tính năng SMT / Hyperthreading trong tất cả các BIOS của Intel.
Trong phát biểu của mình, Theo khẳng định “SMT về cơ bản bị phá vỡ do sự chia sẻ tài nguyên giữa hai đối tượng CPU và những tài nguyên được chia sẻ này lại thiếu sự khác biệt bảo mật”. Ông cũng nghi ngờ rằng “sẽ có ngày càng nhiều các lỗi phần cứng hơn nữa được tiết lộ. Do cách SMT tương tác với việc thực thi trên CPU Intel, tôi dự đoán rằng các lỗi liên quan đến SMT sẽ ngày càng trầm trọng hơn trong tương lai.”
Làm thế nào để bảo vệ hệ thống của bạn tránh tấn công PortSmash
Các nhà nghiên cứu đã báo cáo lỗ hổng bảo mật kênh kề mới này cho nhóm bảo mật của Intel vào đầu tháng trước, tuy nhiên phải đến đầu tháng 11 này Intel mới cung cấp các bản vá bảo mật cho người dùng.
Nhóm nghiên cứu đã công bố thử nghiệm PoC cho tấn công này và cũng đã hứa sẽ phát hành bài báo chi tiết về tấn công PortSmash, có tiêu đề Port Contention for Fun and Profit, trong những ngày sắp tới.
Cách đơn giản nhất để khắc phục lỗ hổng PortSmash là vô hiệu hóa chức năng SMT/Hyper-Threading trong BIOS của CPU cho đến khi Intel phát hành các bản vá bảo mật. Đối với người dùng OpenSSL, để đảm bảo an toàn, có thể nâng cấp lên phiên bản OpenSSL 1.1.1 (hoặc những phiên bản lớn hơn 1.1.0i trước khi có bản vá lỗi).
Vào tháng 6 năm nay, dự án OpenBSD đã vô hiệu hóa chức năng Hyper-Threading của Intel để bảo vệ người dùng khỏi các cuộc tấn công Spectre-class được tiết lộ trước đó, cũng như các cuộc tấn công phân tích thời gian trong tương lai.
AMD cũng đang điều tra các báo cáo về lỗ hổng kênh bên PortSmash để xác định khả năng tồn tại các mối nguy hiểm tiềm ẩn với các sản phẩm AMD của mình.
Theo HackerNews