Trường hợp sử dụng

Tài liệu này chứa các trường hợp sử dụng phổ biến cho AVF.

Biên dịch tách biệt

Là một mạng lưới bảo mật phần mềm, máy ảo được bảo vệ sẽ cung cấp một môi trường an toàn để biên dịch mã nhạy cảm về bảo mật. Môi trường này cho phép di chuyển quá trình biên dịch của bootclasspath và các tệp JAR của máy chủ hệ thống (được kích hoạt bởi bản cập nhật APEX) từ khởi động sớm trước khi khởi động lại, đồng thời giảm đáng kể APEX sau cập nhật thời gian khởi động.

Việc triển khai đang trong giai đoạn com.android.compos PHỤ LỤC. Thành phần này là không bắt buộc và có thể được đưa vào sử dụng makefile.

Biên dịch tách biệt

Hình 1. Biên dịch tệp JAR trên nội dung cập nhật Mainline

Mục tiêu bảo mật là tổng hợp dữ liệu đầu vào đã xác minh một cách trung thực và tạo dữ liệu đầu ra tách biệt; Với tư cách là một ứng dụng không đáng tin cậy, Android không thể thay đổi cấu hình biên dịch đầu ra theo bất kỳ cách nào khác ngoài việc gây ra lỗi (khi Android quay lại khởi động) biên dịch thời gian).

Dịch vụ biên dịch trên máy ảo chỉ tạo chữ ký khi không có lỗi trong toàn bộ quá trình biên dịch. Android có thể truy xuất khoá công khai từ máy ảo để xác minh chữ ký.

Khoá của máy ảo được tạo từ cấu hình DICE của máy ảo, do các APEX xác định và APK được gắn vào máy ảo, ngoài các thông số máy ảo khác, chẳng hạn như khả năng gỡ lỗi.

Để xác định xem khoá công khai có phải không phải từ một máy ảo không mong muốn hay không, Android sẽ khởi động máy ảo để xác định xem khoá có chính xác hay không. Máy ảo được khởi động ở thời điểm khởi động sớm sau mỗi lần cập nhật APEX.

Với tính năng Xác minh quy trình khởi động của Protected VM, dịch vụ biên dịch chỉ chạy được xác minh . Do đó, mã này có thể xác định chỉ chấp nhận dữ liệu đầu vào đáp ứng một số điều kiện nhất định, ví dụ: chỉ chấp nhận tệp nhập, trong đó tên và chuỗi đại diện fs-verity được xác định trong danh sách cho phép.

Mọi API bị lộ từ máy ảo đều là các nền tảng dễ bị tấn công. Tất cả tệp đầu vào và các tham số được giả định là đến từ một khách hàng không đáng tin cậy, đồng thời phải được xác minh và xem xét kỹ lưỡng trước khi xử lý.

Tính toàn vẹn của tệp đầu vào/đầu ra được máy ảo xác minh, với các tệp được lưu trữ trên Android đóng vai trò là một máy chủ tệp không đáng tin cậy, như sau:

  • Nội dung của tệp nhập phải được xác minh trước khi sử dụng bằng cách sử dụng Thuật toán fs-verity. Để tệp đầu vào xuất hiện trong máy ảo, Bạn phải cung cấp hàm băm gốc trong một vùng chứa (APK) góp phần vào Hồ sơ DICE của máy ảo. Với hàm băm gốc đáng tin cậy, kẻ tấn công không thể can thiệp với đầu vào mà không bị phát hiện.
  • Tính toàn vẹn của tệp đầu ra phải được duy trì trong máy ảo. Ngay cả khi tệp đầu ra được lưu trữ trên Android, trong quá trình tạo, tính toàn vẹn được duy trì bằng cùng một định dạng cây fs-verity nhưng có thể linh động đã cập nhật. Bạn có thể xác định tệp đầu ra cuối cùng bằng hàm băm gốc, dữ liệu này được tách biệt trong máy ảo. Dịch vụ trong máy ảo bảo vệ dữ liệu đầu ra bằng chữ ký.