Các nhà nghiên cứu của MIT phát hiện ra những lỗi mới trong CPU Apple M1 không thể vá

CPU Apple M1

Một cuộc tấn công phần cứng mới được lồng tiếng PACMAN đã được chứng minh chống lại bộ xử lý M1 của Apple, có khả năng trang bị cho một tác nhân độc hại với khả năng thực thi mã tùy ý trên hệ thống macOS.

Các nhà nghiên cứu của MIT Joseph Ravichandran, Weon Taek Na, Jay Lang và Mengjia Yan cho biết nó tận dụng “các cuộc tấn công thực thi đầu cơ để vượt qua một cơ chế bảo vệ bộ nhớ quan trọng, Xác thực con trỏ ARM, một tính năng bảo mật được sử dụng để thực thi tính toàn vẹn của con trỏ” .

Các nhà nghiên cứu cho biết thêm, “trong khi các cơ chế phần cứng được PACMAN sử dụng không thể được vá bằng các tính năng phần mềm, thì các lỗi hỏng bộ nhớ vẫn có thể xảy ra”.

Lỗ hổng bảo mật bắt nguồn từ mã xác thực con trỏ (PAC), một tuyến phòng thủ được giới thiệu trong kiến ​​trúc arm64e nhằm phát hiện và bảo mật trước những thay đổi không mong muốn đối với con trỏ – đối tượng lưu trữ địa chỉ bộ nhớ – trong bộ nhớ.

PAC nhằm mục đích giải quyết một vấn đề phổ biến trong bảo mật phần mềm, chẳng hạn như lỗ hổng bảo mật bộ nhớ, thường bị khai thác bằng cách ghi đè dữ liệu điều khiển trong bộ nhớ (tức là con trỏ) để chuyển hướng thực thi mã đến một vị trí tùy ý do kẻ tấn công kiểm soát.

Xem tiếp:   Tin tặc Gold Ulrick vẫn hoạt động bất chấp việc rò rỉ phần mềm độc hại hàng loạt

Mặc dù các chiến lược như ngẫu nhiên hóa bố cục không gian địa chỉ (ASLR) đã được nghĩ ra để tăng độ khó khi thực hiện các cuộc tấn công tràn bộ đệm, mục tiêu của PAC là xác định “tính hợp lệ của con trỏ với kích thước và tác động hiệu suất tối thiểu”, ngăn chặn hiệu quả đối thủ tạo ra con trỏ để sử dụng trong một khai thác.

Điều này đạt được bằng cách bảo vệ một con trỏ bằng một băm – được gọi là Mã xác thực con trỏ (PAC) – để đảm bảo tính toàn vẹn của nó. Apple giải thích PAC như sau:

Xác thực con trỏ hoạt động bằng cách cung cấp một lệnh CPU đặc biệt để thêm chữ ký mật mã – hoặc PAC – vào các bit bậc cao không sử dụng của con trỏ trước khi lưu trữ con trỏ. Một lệnh khác xóa và xác thực chữ ký sau khi đọc lại con trỏ từ bộ nhớ. Bất kỳ thay đổi nào đối với giá trị được lưu trữ giữa ghi và đọc sẽ làm mất hiệu lực của chữ ký. CPU diễn giải lỗi xác thực là hỏng bộ nhớ và đặt một bit bậc cao trong con trỏ, làm cho con trỏ không hợp lệ và gây ra lỗi ứng dụng.

CPU Apple M1

Nhưng PACMAN “loại bỏ rào cản chính để tiến hành các cuộc tấn công chiếm quyền điều khiển luồng điều khiển trên một nền tảng được bảo vệ bằng cách sử dụng xác thực con trỏ.” Nó kết hợp tham nhũng bộ nhớ và thực thi đầu cơ để phá vỡ tính năng bảo mật, làm rò rỉ “kết quả xác minh PAC qua các kênh bên vi kiến ​​trúc mà không gây ra bất kỳ sự cố nào.”

Xem tiếp:   Các Cơ quan Chính phủ Cảnh báo Gia tăng Tấn công Mạng Nhắm mục tiêu vào các MSP

Tóm lại, phương pháp tấn công giúp nó có thể phân biệt giữa PAC chính xác và băm không chính xác, cho phép kẻ xấu “brute-ép giá trị PAC chính xác trong khi ngăn chặn sự cố và xây dựng một cuộc tấn công chiếm quyền điều khiển luồng điều khiển trên một PA được kích hoạt chương trình nạn nhân hoặc hệ điều hành. “

Về phần mình, việc ngăn chặn sự cố thành công vì mỗi giá trị PAC được đoán một cách phỏng đoán bằng cách khai thác kênh phụ dựa trên thời gian thông qua bộ đệm nhìn sang bên dịch (TLB) bằng cách sử dụng tấn công Prime + Probe.

Các lỗ hổng thực thi đầu cơ, như được quan sát trong trường hợp Spectre và Meltdown, vũ khí hóa việc thực thi không theo thứ tự, một kỹ thuật được sử dụng để cải thiện hiệu suất trong các bộ vi xử lý hiện đại bằng cách dự đoán đường dẫn có khả năng xảy ra nhất của luồng thực thi chương trình.

Tuy nhiên, điều đáng chú ý là mô hình mối đe dọa giả định rằng đã tồn tại một lỗ hổng tham nhũng bộ nhớ có thể khai thác được trong chương trình nạn nhân (nhân), do đó, cho phép kẻ tấn công không có đặc quyền (một ứng dụng độc hại) đưa mã giả mạo vào một số vị trí bộ nhớ nhất định trong quá trình nạn nhân.

Các nhà nghiên cứu kết luận: “Cuộc tấn công này có ý nghĩa quan trọng đối với các nhà thiết kế đang tìm cách triển khai các bộ xử lý tương lai có tính năng xác thực con trỏ và có ý nghĩa rộng rãi đối với bảo mật của các nguyên thủy toàn vẹn luồng điều khiển trong tương lai”.

Xem tiếp:   Hội thảo trên web Cynet Log4Shell: Một cách cặn kẽ - Và rõ ràng - Giải thích

.

Check Also

JumpCloud đổ lỗi cho diễn viên ‘Nhà nước quốc gia tinh vi’ vì vi phạm an ninh

Ngày 18 tháng 7 năm 2023THNBảo mật dữ liệu / Tấn công mạng Hơn một …