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. 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 việc tăng cường đầu tư từ các tác nhân độc hại quan tâm đến việc khai thác các lỗ hổng để tiếp tục mục tiêu của họ.

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 yếu tố trừu tượng để các quá trình không liên quan được tách biệt 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 của cách thức thực hiện quyền riêng tư và bảo mật kể từ khi 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 mạng và giao thức, bộ nhớ đệm, bộ phân tích cú pháp thực thi và bộ tải, và các ổ cắm. Rất khó để đảm bảo mọi ngóc ngách của hệ thống phức tạp này được an toàn.

Nhân Linux có hơn 20 triệu dòng mã và tốc độ thay đổi và viết lại là đáng kinh ngạc. Sự tăng trưởng này là một sự 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ó các lỗ hổng có thể khai thá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ư Arm's TrustZone, cho phép các 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ữ trong và chỉ có sẵn trực tiếp cho thế giới an toàn, nơi cung cấp các 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 nhiều trường hợp sử dụng yêu cầu cách ly khỏi hệ điều hành được đưa vào, bề mặt tấn công sẽ tăng lên và các lỗ hổng có khả năng dẫn đến sự xâm phạm của 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. Các giải pháp này không đủ tốt cho các trường hợp sử dụng động 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 của chúng tôi trong việc triển khai các trường hợp sử dụng ở quy mô Android, 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 ảo hóa an toàn với tên gọi Android Virtualization Framework (AVF).

Mục tiêu chính của AVF là cung cấp một 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.