Lỗ hổng "GoFetch" mới trong chip Apple M-Series làm rò rỉ khóa mã hóa bí mật

Lỗ hổng "GoFetch" mới trong chip Apple M-Series làm rò rỉ khóa mã hóa bí mật

Một lỗ hổng bảo mật mới được phát hiện trong chip Apple M-series có thể bị khai thác để trích xuất các khóa bí mật được sử dụng trong các hoạt động mã hóa.

Lỗ hổng "GoFetch" mới trong chip Apple M-Series làm rò rỉ khóa mã hóa bí mật

Được đặt tên là GoFetch, lỗ hổng này liên quan đến một cuộc tấn công kênh bên vi kiến trúc, lợi dụng một tính năng được gọi là trình tìm nạp trước phụ thuộc vào bộ nhớ dữ liệu (DMP) để nhắm mục tiêu triển khai mật mã theo thời gian liên tục và thu thập dữ liệu nhạy cảm từ bộ nhớ đệm của CPU. Apple đã được biết về những phát hiện này vào tháng 12 năm 2023.

Trình tìm nạp trước là một kỹ thuật tối ưu hóa phần cứng nhằm dự đoán địa chỉ bộ nhớ mà chương trình hiện đang chạy sẽ truy cập trong tương lai gần và truy xuất dữ liệu vào bộ nhớ đệm tương ứng từ bộ nhớ chính. Mục tiêu của phương pháp này là giảm độ trễ truy cập bộ nhớ của chương trình.

DMP là một loại trình tìm nạp trước có tính đến nội dung của bộ nhớ dựa trên các mẫu truy cập được quan sát trước đó khi xác định nội dung cần tìm nạp trước. Hành vi này tạo điều kiện thuận lợi cho các cuộc tấn công dựa trên bộ đệm nhằm đánh lừa trình tìm nạp trước tiết lộ nội dung liên quan đến quy trình của nạn nhân mà lẽ ra không thể truy cập được.

GoFetch cũng xây dựng trên nền tảng của một cuộc tấn công vi kiến trúc khác có tên là Augury, sử dụng DMP để rò rỉ dữ liệu theo cách suy đoán.

"DMP kích hoạt (và cố gắng hủy bỏ tham chiếu) dữ liệu được tải từ bộ nhớ 'trông giống' một con trỏ", một nhóm gồm bảy học giả từ Đại học Illinois Urbana-Champaign, Đại học Texas, Viện Công nghệ Georgia, Đại học California, Berkeley , Đại học Washington và Đại học Carnegie Mellon cho biết.

"Điều này rõ ràng vi phạm yêu cầu của mô hình lập trình thời gian liên tục, vốn cấm trộn lẫn các mẫu truy cập dữ liệu và bộ nhớ."

Giống như các cuộc tấn công khác thuộc loại này, quá trình thiết lập yêu cầu nạn nhân và kẻ tấn công phải có hai quy trình khác nhau cùng nằm trên cùng một máy và trên cùng một cụm CPU. Cụ thể, kẻ đe dọa có thể dụ mục tiêu tải xuống ứng dụng độc hại khai thác GoFetch.

Hơn nữa, trong khi kẻ tấn công và nạn nhân không chia sẻ bộ nhớ, kẻ tấn công có thể giám sát bất kỳ kênh bên vi kiến trúc nào có sẵn cho nó, ví dụ: độ trễ của bộ đệm.

Tóm lại, GoFetch chứng minh rằng “ngay cả khi nạn nhân phân tách chính xác dữ liệu khỏi địa chỉ bằng cách tuân theo mô hình thời gian không đổi, DMP sẽ thay mặt nạn nhân tạo ra quyền truy cập bộ nhớ phụ thuộc bí mật”, khiến nó dễ bị tấn công trích xuất khóa.

Nói cách khác, kẻ tấn công có thể vũ khí hóa trình tìm nạp trước để tác động đến dữ liệu được tìm nạp trước, từ đó mở ra cơ hội truy cập dữ liệu nhạy cảm. Lỗ hổng này có ý nghĩa nghiêm trọng ở chỗ nó vô hiệu hóa hoàn toàn các biện pháp bảo vệ được cung cấp bởi chương trình lập trình liên tục chống lại các cuộc tấn công kênh bên theo thời gian.

Các nhà nghiên cứu lưu ý: “GoFetch cho thấy DMP mạnh hơn đáng kể so với suy nghĩ trước đây và do đó gây ra rủi ro bảo mật lớn hơn nhiều”.

Bản chất cơ bản của lỗ hổng có nghĩa là nó không thể sửa được trong các CPU Apple hiện có, yêu cầu các nhà phát triển thư viện mật mã phải thực hiện các bước để ngăn chặn các điều kiện cho phép GoFetch thành công, điều gì đó cũng có thể gây ra ảnh hưởng đến hiệu suất. Mặt khác, người dùng được khuyến khích cập nhật hệ thống của họ.

Tuy nhiên, trên chip Apple M3, việc kích hoạt thời gian độc lập với dữ liệu (DIT) đã được phát hiện là có thể vô hiệu hóa DMP. Điều này không thể thực hiện được trên bộ xử lý M1 và M2.

“Apple silicon cung cấp thời gian độc lập với dữ liệu (DIT), trong đó bộ xử lý hoàn thành các hướng dẫn nhất định trong một khoảng thời gian không đổi”, Apple ghi chú trong tài liệu của mình. "Khi bật DIT, bộ xử lý sẽ sử dụng lượng thời gian dài hơn, trong trường hợp xấu nhất để hoàn thành lệnh, bất kể dữ liệu đầu vào."

Nhà sản xuất iPhone cũng nhấn mạnh rằng mặc dù việc bật DIT sẽ ngăn chặn rò rỉ dựa trên thời gian, nhưng các nhà phát triển nên tuân thủ "tránh các nhánh có điều kiện và vị trí truy cập bộ nhớ dựa trên giá trị của dữ liệu bí mật" để ngăn chặn một cách hiệu quả đối thủ suy ra bí mật bằng cách theo dõi trạng thái vi kiến trúc của bộ xử lý.

Sự phát triển này diễn ra khi một nhóm nhà nghiên cứu khác từ Đại học Công nghệ Graz ở Áo và Đại học Rennes ở Pháp đã trình diễn một cuộc tấn công đơn vị xử lý đồ họa (GPU) mới ảnh hưởng đến các trình duyệt và card đồ họa phổ biến tận dụng mã JavaScript được chế tạo đặc biệt trong một trang web để suy ra thông tin nhạy cảm như mật khẩu.

Kỹ thuật này không yêu cầu sự tương tác của người dùng, được mô tả là cuộc tấn công kênh bên bộ đệm GPU đầu tiên từ bên trong trình duyệt.

Các nhà nghiên cứu cho biết: “Vì tính toán GPU cũng có thể mang lại lợi thế cho việc tính toán trong các trang web, nên các nhà cung cấp trình duyệt đã quyết định đưa GPU vào JavaScript thông qua các API như WebGL và tiêu chuẩn WebGPU sắp tới”.

"Bất chấp những hạn chế cố hữu của môi trường JavaScript và WebGPU, chúng tôi xây dựng các nguyên tắc tấn công mới cho phép tấn công kênh bên bộ đệm với hiệu quả tương đương với các cuộc tấn công dựa trên CPU truyền thống.

Hương

Tin liên quan:

Standard Post with Image

Thông báo thời gian nghỉ lễ Giỗ Tổ Hùng Vương 2024

NTS Group xin thông báo đến Quý khách hàng thời gian nghỉ lễ Giỗ Tổ Hùng Vương ngày Thứ Năm 18/04/2024 theo hướng dẫn của Chính Phủ ban hành. Chúng...

Chi tiết
Standard Post with Image

Năm công nghệ của Kaspersky để bảo vệ tài chính cá nhân của bạn

Tài chính kỹ thuật số của chúng ta dễ bị tấn công bởi tội phạm kỹ thuật số. Hãy cùng xem xét cách các công nghệ và sản phẩm của Kaspersky bảo vệ tiền...

Chi tiết
Standard Post with Image

Giải pháp bảo mật của Kaspersky giành được số lượng giải thưởng kỷ lục trong các cuộc thử nghiệm độc lập

Vào năm 2023, các sản phẩm và giải pháp của Kaspersky đã tham gia chính xác 100 nghiên cứu độc lập — giành chiến thắng 93 lần: năm thành công nhất từ...

Chi tiết