Các chip Apple Silicon M Series của Apple vốn nổi tiếng về hiệu năng, đi kèm với hiệu quả năng lượng cao cũng như bảo mật chặt chẽ, nhưng các nhà nghiên cứu đã phát hiện ra một lỗ hổng bảo mật lớn bên trong con chip này, cho phép hacker có thể ăn trộm các khóa bí mật trên dòng máy MacOS khi chúng thực thi các tác vụ mã hóa.
Nhưng điều đáng lo ngại hơn cả là theo các nhà nghiên cứu, lỗ hổng này gần như không thể vá do nó có nguồn gốc từ lỗi thiết kế phần cứng của con chip mà chỉ có thể giảm nhẹ bằng một lớp bảo vệ bằng phần mềm.
Theo báo cáo của ArsTechnica, có tên gọi GoFetch, lỗ hổng này lợi dụng một lỗ hổng bảo mật bị bỏ qua trong con chip của Apple liên quan đến một công nghệ độc đáo được gọi là trình nạp trước dữ liệu trên bộ nhớ (data memory-dependent prefetcher - DMP).
Công nghệ này hiện chỉ được dùng trên các chip Apple Silicon và CPU kiến trúc Raptor Lake của Intel, khi nó cho phép dự đoán và tải trước dữ liệu có khả năng truy cập trong tương lai vào bộ nhớ đệm. Bằng giải pháp này, DMP giúp giảm thời gian chờ đợi của CPU khi truy cập dữ liệu, giúp tăng hiệu suất xử lý.
Lỗ hổng này liên quan đến một hành vi bị bỏ qua trong trình nạp trước dữ liệu, vì đôi khi nó nhầm lẫn nội dung bộ nhớ với giá trị con trỏ (pointer) trên bộ nhớ được sử dụng để tải dữ liệu khác. Điều này có thể làm trình nạp trước này đôi khi tải các dữ liệu không phù hợp vào bộ nhớ đệm CPU.
Vấn đề là lỗ hổng này vô hiệu hóa hoàn toàn khả năng bảo mật bằng lập trình theo thời gian không đổi (constant-time programming) – một giải pháp được thiết kế để ngăn ngừa các cuộc tấn công nhằm đọc trộm dữ liệu trong bộ nhớ đệm của CPU thông qua các trình nạp trước.
Hậu quả là nếu hacker sử dụng một phần mềm chứa GoFetch, nó có thể qua mặt và đánh lừa phần mềm mã hóa để đưa ra dữ liệu nhạy cảm vào bộ nhớ đệm và tấn công ăn trộm dữ liệu. Theo các nhà nghiên cứu, ứng dụng chứa GoFetch có thể kết nối với ứng dụng cần tấn công – ví dụ ứng dụng ngân hàng hoặc ví điện tử – và cung cấp các đầu vào đã được nó giải mã sẵn. Khi làm vậy, nó sẽ trích xuất được khóa bí mật mà ứng dụng mục tiêu sử dụng để thực hiện quá trình mã hóa. Cuộc tấn công này không chỉ đánh bại các thuật toán bảo mật cổ điển mà còn vượt qua cả các thuật toán bảo mật thế hệ mới để chống lại máy tính lượng tử.
Theo các nhà nghiên cứu, ứng dụng chứa GoFetch chỉ cần chưa đến một giờ để trích xuất thông tin cần thiết để tạo thành khóa bảo mật Kyber-512 và mất khoảng 10 giờ để lấy được khóa bảo mật của Dilithium-2.
Thật không may là không có cách nào để vá được lỗ hổng này khi nó là một lỗi trong phần cứng của con chip. Cách duy nhất để giảm nhẹ ảnh hưởng là bổ sung lớp bảo mật bằng phần mềm mã hóa bên thứ ba – một điều sẽ làm sụt giảm đáng kể hiệu năng của các chip Apple Silicon M1, M2 – khi thực hiện quá trình mã hóa.
Ngoại lệ duy nhất là chip M3 của Apple khi được trang bị một "công tắc" đặc biệt cho phép các nhà phát triển có thể vô hiệu hóa trình nạp trước dữ liệu DMP. Tuy nhiên không ai có thể biết chắc điều này sẽ làm sụt giảm hiệu năng xử lý như thế nào khi tính năng này bị tắt đi.
Điều trớ trêu là dù kiến trúc CPU Raptor Lake của Intel (các CPU dòng Intel Gen 13th và 14th) cũng dùng các trình nạp trước dữ liệu DMP tương tự như các chip M Series của Apple, nhưng chúng lại không gặp phải lỗ hổng này. Các nhà nghiên cứu cho biết, cách tấn công khai thác dựa trên DMP đối với các CPU của Intel lại không làm rò rỉ khóa bí mật như đối với chip M-series của Apple.
Điều này cho thấy lỗ hổng này có thể vá lại nhưng nhiều khả năng điều đó sẽ chỉ xuất hiện trên các chip M-series trong tương lai khi các kỹ sư Apple thiết kế lại kiến trúc CPU của mình. Cho đến hiện tại Apple chưa công bố bất kỳ bản cập sửa lỗi nào để ngăn chặn lỗ hổng này, nhưng với mức độ ảnh hưởng như hiện tại, nhiều khả năng quá trình này sẽ mất hàng năm.