Tại sao AVF?

Các thiết bị điện toán di động đang xử lý lượng dữ liệu nhạy cảm cá nhân ngày càng lớn hơn. Sự hiện diện của những dữ liệu nhạy cảm như vậy, được hỗ trợ bởi sự kết nối liên tục với thế giới bên ngoài, đã dẫn đến sự gia tăng đầu tư từ những kẻ độc hại quan tâm đến việc khai thác các lỗ hổng để đạt được mục tiêu của chúng.

Các hệ điều hành, với sự trợ giúp của các đơn vị quản lý bộ nhớ phần cứng (MMU), cung cấp các bản tóm tắt cho phép tách biệt các tiến trình không liên quan với nhau. Chỉ các thành phần là một phần của TCB mới được phép lập trình trực tiếp các MMU này.

Mô hình này là nền tảng cho cách thức triển khai quyền riêng tư và bảo mật kể từ khi các hệ điều hành giống Unix ra đời. Tuy nhiên, yêu cầu này đã trở thành vấn đề vì TCB ngày nay quá lớn: nó bao gồm hầu hết các trình điều khiển thiết bị và bus, bộ lập lịch phức tạp, hệ thống tệp, ngăn xếp và giao thức mạng, bộ đệm, trình phân tích cú pháp và trình tải thực thi cũng như ổ cắm. Việc đảm bảo mọi ngóc ngách của hệ thống phức tạp này đều an toàn trở nên rất khó khăn.

Nhân Linux có hơn 20 triệu dòng mã và tốc độ thay đổi và viết lại thật đáng kinh ngạc. Sự tăng trưởng này là một trợ giúp to lớn cho Android và hệ sinh thái của chúng tôi. Tuy nhiên, TCB lớn của nó gây khó khăn cho việc đảm bảo không có lỗ hổng có thể khai thác được.

Các nhà cung cấp phần cứng đã phát triển các giải pháp, chẳng hạn như TrustZone của Arm, cho phép bộ xử lý chạy ở chế độ Bảo mật và gắn thẻ các giao dịch bộ nhớ là "an toàn" hoặc "không an toàn". Trong các hệ thống như vậy, dữ liệu nhạy cảm được lưu trữ và chỉ được cung cấp trực tiếp cho thế giới an toàn, nơi cung cấp dịch vụ cho thế giới không an toàn theo yêu cầu.

Hạn chế chính của các loại giải pháp này là các miền quá thô: chỉ an toàn và không an toàn. Khi có nhiều trường hợp sử dụng yêu cầu cách ly khỏi hệ điều hành, bề mặt tấn công sẽ tăng lên và các lỗ hổng có thể dẫn đến sự xâm phạm toàn bộ thiết bị.

Một hạn chế khác của các giải pháp ngày nay là chúng được thiết kế cho một thế giới tương đối tĩnh, trong đó tất cả các tài nguyên ca sử dụng đều được tính toán và phân bổ trước thời hạn. Những giải pháp này không đủ tốt cho các trường hợp sử dụng linh hoạt trong đó tài nguyên được phân bổ theo yêu cầu.

Ngoài ra, các API được sử dụng bên ngoài hệ điều hành Android bị phân mảnh và hạn chế khả năng triển khai các trường hợp sử dụng ở quy mô Android của chúng tôi, bao gồm các nguyên tắc cơ bản như Keymint và Gatekeeper.

Để giải quyết những hạn chế này và cho phép Android cung cấp nền tảng vững chắc cho các trường hợp sử dụng thế hệ tiếp theo, Android 13 giới thiệu tính năng ảo hóa an toàn dưới dạng Khung ảo hóa Android (AVF).

Mục tiêu chính của AVF là cung cấp môi trường thực thi an toàn và riêng tư cho các trường hợp sử dụng thế hệ tiếp theo.