3 điểm bởi brainer 2024-03-23 | 1 bình luận | Chia sẻ qua WhatsApp

• Một bài báo nghiên cứu học thuật mới cho thấy một lỗ hổng nghiêm trọng trên chip dòng M của Apple có tên là "GoFetch", cho phép kẻ tấn công trích xuất các khóa mã hóa bí mật từ máy Mac trong một số điều kiện nhất định.

• Lỗ hổng nằm ở Data Memory-Dependent Prefetcher (DMP), một tính năng của bộ xử lý Apple nhằm cải thiện tốc độ xử lý bằng cách dự đoán trước và tìm nạp dữ liệu.

• Bài báo nhấn mạnh rằng DMP tạo ra mối đe dọa đáng kể đối với tính bảo mật của mô hình lập trình constant-time, vốn được thiết kế để bảo vệ trước các cuộc tấn công kênh kề bằng cách đảm bảo tác vụ luôn mất cùng một khoảng thời gian bất kể dữ liệu được xử lý là gì.

• Nhóm nghiên cứu đã chứng minh rằng DMP trên Apple Silicon có thể làm rò rỉ thông tin ngay cả khi chương trình được thiết kế để không làm lộ các mẫu truy cập bộ nhớ, cho phép kẻ tấn công khai thác lỗ hổng này để trích xuất khóa mã hóa từ phần mềm bảo mật.

• Cuộc tấn công này ảnh hưởng đến các thuật toán mã hóa phổ biến, bao gồm các phương pháp truyền thống như trao đổi khóa Diffie-Hellman của OpenSSL và giải mã RSA của Go, cũng như các phương pháp mật mã hậu lượng tử như CRYSTALS-Kyber và CRYSTALS-Dilithium.

1 bình luận

 
joonpark 2024-03-25

Trong trường hợp phần cứng chuyên dụng cho mã hóa, ngoài các lỗ hổng mang tính mật mã học (toán học), từ lâu nó còn dễ bị các kiểu tấn công gián tiếp như suy ra độ dài khóa bằng cách phân tích lượng điện năng tiêu thụ trong một khoảng thời gian nhất định hoặc thời gian cần cho việc mã hóa/giải mã (tức tấn công kênh kề, side-channel attack, như bài viết đề cập). Khi đó, có thể tìm ra khóa với lượng công sức ít hơn đáng kể so với thời gian tính toán vốn được kỳ vọng. Kiểu tấn công này đã được biết đến từ lâu và vì vậy đã được áp dụng biện pháp phòng vệ trong hầu hết các mô-đun liên quan đến mã hóa (hw/sw), nhưng có vẻ như chip M1 và M2 được thiết kế bỏ qua điều này nên mới dễ bị tổn thương.

Dù trên thực tế vẫn sẽ mất rất nhiều thời gian để trích xuất được khóa mã hóa, nhưng việc không thể đáp ứng mức thời gian tính toán như kỳ vọng có thể được xem là một lỗi thiết kế — có vẻ đó là luận điểm chính của bài viết.