Các nhà nghiên cứu từ Tập đoàn NCC
Chúng ta hãy nhớ lại rằng công nghệ ARM TrustZone cho phép bạn tạo các môi trường được bảo vệ tách biệt với phần cứng, tách biệt hoàn toàn với hệ thống chính và chạy trên một bộ xử lý ảo riêng bằng hệ điều hành chuyên dụng riêng. Mục đích chính của TrustZone là cung cấp khả năng thực thi riêng biệt của bộ xử lý cho các khóa mã hóa, xác thực sinh trắc học, dữ liệu thanh toán và các thông tin bí mật khác. Tương tác với hệ điều hành chính được thực hiện gián tiếp thông qua giao diện điều phối. Khóa mã hóa riêng được lưu trữ bên trong kho khóa cách ly bằng phần cứng. Nếu được triển khai đúng cách, khóa này có thể ngăn chặn sự rò rỉ nếu hệ thống cơ bản bị xâm phạm.
Lỗ hổng này xuất phát từ một lỗ hổng trong việc triển khai thuật toán xử lý đường cong elip, dẫn đến rò rỉ thông tin về tiến trình xử lý dữ liệu. Các nhà nghiên cứu đã phát triển một kỹ thuật tấn công kênh bên cho phép sử dụng các rò rỉ gián tiếp hiện có để khôi phục nội dung của các khóa riêng nằm trong một khu vực bị cô lập bằng phần cứng.
Nguyên nhân chính của sự cố là do việc chia sẻ các thành phần phần cứng và bộ đệm chung để tính toán trong TrustZone và trong hệ thống chính - việc cách ly được thực hiện ở mức độ phân tách logic, nhưng sử dụng các đơn vị tính toán chung và có dấu vết tính toán và thông tin về nhánh địa chỉ được gửi vào bộ nhớ đệm chung của bộ xử lý. Sử dụng phương pháp Prime+Probe, dựa trên việc đánh giá các thay đổi về thời gian truy cập vào thông tin được lưu trong bộ nhớ đệm, bằng cách kiểm tra sự hiện diện của các mẫu nhất định trong bộ nhớ đệm, có thể theo dõi các luồng dữ liệu và các dấu hiệu thực thi mã liên quan đến việc tính toán chữ ký số trong TrustZone với độ chính xác khá cao.
Hầu hết thời gian để tạo chữ ký số bằng khóa ECDSA trong chip Qualcomm được dành để thực hiện các phép nhân trong một vòng lặp bằng cách sử dụng vectơ khởi tạo không thay đổi cho mỗi chữ ký (
Trong trường hợp của Qualcomm, hai vị trí rò rỉ thông tin như vậy đã được xác định trong thuật toán nhân: khi thực hiện các thao tác tra cứu trong bảng và trong mã truy xuất dữ liệu có điều kiện dựa trên giá trị của bit cuối cùng trong vectơ “nonce”. Mặc dù thực tế là mã Qualcomm có chứa các biện pháp chống rò rỉ thông tin qua các kênh của bên thứ ba, phương pháp tấn công được phát triển cho phép bạn bỏ qua các biện pháp này và xác định một số bit của giá trị “nonce”, đủ để khôi phục khóa ECDSA 256 bit.
Nguồn: opennet.ru