Khai thác kỹ thuật chích điện ép xung, hacker có thể phá vỡ lớp bảo mật SGX vững chắc của chip Intel

Nguyễn Hải , Theo Trí Thức Trẻ

Bằng cách thao túng điện thế trên bộ xử lý Intel, hacker có thể tạo ra các lỗi tính toán trong con chip, buộc phân vùng bảo mật SGX trong chip Intel phải rò rỉ các dữ liệu mã hóa trong đó.

Để bảo vệ các thông tin nhạy cảm lưu trữ trong con chip của mình, từ khi ra mắt dòng chip Skylake, Intel đã mang đến tính năng Software Guard Extension (SGX), một phân vùng bộ nhớ bảo mật hoàn toàn biệt lập. Với thiết kế bảo mật, dữ liệu ứng dụng lưu trữ trong phân vùng này sẽ được bảo vệ khỏi các tiến trình chạy ở cấp đặc quyền cao như hệ điều hành, BIOS,…

Thế nhưng, giống như cách những kẻ trộm cắt điện để vô hiệu hóa các hệ thống bảo vệ đắt tiền quanh ngôi nhà, hai nhóm nghiên cứu bảo mật – một nhóm của Đại học Birmingham của Anh, Đại học TU Graz ở Viên, KU Leuven của Bỉ và một nhóm khác của Đại học Kỹ thuật TU Darmstadt của Đức và Đại học California – đã tìm ra một kỹ thuật mới cho phép hacker "ngắt nguồn điện" của con chip, buộc nó phải rò rỉ thông tin lưu trong đó.

Khai thác kỹ thuật chích điện ép xung, hacker có thể phá vỡ lớp bảo mật SGX vững chắc của chip Intel - Ảnh 1.

Được một trong hai nhóm nghiên cứu đặt tên là Plundervolt, kỹ thuật này sẽ cài đặt malware vào máy tính nạn nhân để tạm thời làm giảm điện thế đi qua con chip Intel. Kỹ thuật này được gọi là "undervolt", vốn thường được người dùng sử dụng như một biện pháp để tiết kiệm năng lượng khi không cần hiệu năng tối đa. (Cũng cách làm này nhưng theo chiều ngược lại, người dùng có thể tăng điện thế để ép xung bộ xử lý.)

Nhưng chính trong khoảnh khắc điện thế của bộ xử lý sụt giảm 25-30%, nếu kẻ tấn công căn chính xác thời điểm thay đổi điện thế, họ có thể làm con chip tạo ra các lỗi trong quá trình tính toán sử dụng dữ liệu bí mật bên trong. Những lỗi đó có thể tiết lộ các thông tin nhạy cảm như khóa mã hóa hoặc dữ liệu sinh trắc học lưu trữ trong phân vùng SGX.

Trước đây, các nhà nghiên cứu phát hiện ra rằng họ có thể sử dụng các thay đổi về điện thế để gây ra các lỗi tính toán – được gọi là các lỗi "bit flip" để chuyển từ 1 thành 0 hoặc ngược lại trong phân vùng SGX – họ nhận thấy rằng mình có thể khai thác chúng cho các cuộc tấn công.

clip chứng minh thay đổi điện thế trong bộ xử lý có thể gây lỗi ứng dụng.

"Ví dụ, khi bạn có thể đổi qua lại giá trị bit, bạn đang tạo ra các tính toán mã hóa – và điều thú vị là ở chỗ - bạn có thể phục hồi lại khóa mã hóa bí mật của con chip." Nhà nghiên cứu Flavio Garcia tại Đại học Birmingham cho biết.

Trong nhiều trường hợp, chỉ thay đổi một bit duy nhất của khóa mã hóa cũng có thể làm nó yếu đi đáng kể, lúc này kẻ tấn công có thể giải mã dữ liệu mã hóa bên trong và lấy được chính khóa mã hóa đó. Các nhà nghiên cứu thậm chí còn có thể sử dụng cách thức để này để bộ xử lý viết vào phần bộ nhớ không được bảo vệ, thay vì phân vùng SGX được mã hóa.

Mặc dù vậy, các nhà nghiên cứu cũng thừa nhận cuộc tấn công của họ không dễ thực hiện. Để làm được điều này, kẻ tấn công phải tìm được cách cài đặt malware với quyền ưu tiên ở mức cao nhất lên máy tính nạn nhân.

Thậm chí hacker còn có thể gây lỗi mã hóa AES trong phân vùng SGX của chip Intel.

Không phải chỉ mình chip Intel có thể trở thành nạn nhân của kiểu tấn công này.

Trên thực tế, phát hiện của các nhà nghiên cứu tại Đại học Birmingham, TU Graz và KU Leuven dựa trên công trình của các nhà nghiên cứu tại Đại học Thanh Hoa và Đại học Maryland, những người từng sử dụng kỹ thuật tương tự để thay đổi điện thế nhằm làm suy yếu lớp bảo mật của bộ xử lý, nhưng tập trung vào các bộ xử lý ARM chứ không phải của Intel. Kỹ thuật này được các nhà nghiên cứu đặt tên là VoltJockey.

Intel, sau khi yêu cầu các nhà nghiên cứu giữ kín công trình của mình trong vòng 6 tháng, đã xác nhận phát hiện của họ và vài ngày trước, Intel đã kịp đưa ra bản cập nhật cho firmware chip của mình nhằm ngăn chặn các cuộc tấn công theo hình thức này. "Intel đã làm việc với các nhà sản xuất máy tính để phát triển một bản cập nhật microcode nhằm giảm nhẹ vấn đề khi khóa điện thế ở mức thiết lập mặc định." Intel cho biết trên blog của mình.

Tham khảo Wired