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

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

Biên dịch biệt lập

Là một vùng biệt lập bảo mật phần mềm, máy ảo (VM) được bảo vệ 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 bootclasspath và các JAR máy chủ hệ thống (do bản cập nhật APEX kích hoạt) từ quá trình khởi động sớm sang trước khi khởi động lại, đồng thời giảm đáng kể thời gian khởi động sau khi cập nhật APEX.

Quá trình triển khai nằm trong APEX com.android.compos. Thành phần này không bắt buộc và có thể được đưa vào bằng cách sử dụng makefile.

Biên dịch biệt lập

Hình 1. Biên dịch tệp JAR trên các bản cập nhật Mainline. Biên dịch tệp JAR trên các bản cập nhật Mainline

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

Dịch vụ biên dịch trong VM chỉ tạo chữ ký nếu 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ừ VM để xác minh chữ ký.

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

Để xác định xem khoá công khai có phải là từ một VM không mong muốn hay không, Android sẽ khởi động VM để xác định xem khoá có chính xác hay không. VM sẽ khởi động ở giai đoạn 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 VM được bảo vệ, dịch vụ biên dịch chỉ chạy mã đã xác minh. Do đó, mã có thể xác định chỉ chấp nhận những dữ liệu đầu vào đáp ứng một số điều kiện nhất định, chẳng hạn như chỉ chấp nhận tệp đầu vào khi tên và giá trị fs-verity của tệp đó được xác định trong danh sách cho phép.

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

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

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

Môi trường phát triển Linux

Theo truyền thống, Android là hệ điều hành chính duy nhất không cho phép người dùng phát triển ứng dụng trên chính nền tảng này. Với việc ra mắt môi trường phát triển Linux, chúng tôi hướng đến việc cung cấp môi trường phát triển dựa trên Linux cho những người dùng Android là nhà phát triển. Trong tương lai, chúng tôi dự định mở rộng nỗ lực này để các đối tác có thể triển khai các trường hợp sử dụng VM (máy ảo) sáng tạo, chẳng hạn như chạy các ứng dụng giao diện người dùng đồ hoạ và thậm chí cả trò chơi.

Môi trường phát triển Linux có trên một số thiết bị và chạy trong một máy ảo không được bảo vệ.

Trường hợp sử dụng môi trường phát triển Linux

Hình 2. Trường hợp sử dụng môi trường phát triển Linux.

Sau đây là quy trình cấp cao:

  1. Để sử dụng môi trường phát triển Linux, hãy bật các tuỳ chọn cho nhà phát triển.
  2. Sau khi bạn bật tuỳ chọn cho nhà phát triển, ứng dụng Terminal sẽ xuất hiện trên trình chạy chính.
  3. Khởi chạy ứng dụng Terminal từ trình chạy chính.
  4. Nếu cần, ứng dụng Terminal sẽ tải hình ảnh hệ điều hành xuống từ Play.
  5. Ứng dụng Terminal sử dụng Khung ảo hoá cho Android (AVF) để tạo một máy ảo (VM).
  6. Sau đó, AVF sẽ chạy máy ảo bằng hình ảnh hệ điều hành.
  7. Máy ảo khởi động hệ điều hành từ hình ảnh.
  8. Sau khi VM khởi động, WebView trong ứng dụng Terminal sẽ kết nối với một dịch vụ web trong máy ảo. Dịch vụ này cung cấp quyền truy cập vào thiết bị đầu cuối qua HTTP.
  9. Bạn tương tác với thiết bị đầu cuối bằng cách nhập các lệnh và xem kết quả đầu ra trong ứng dụng.

Sau đây là các thành phần cấp cao của máy ảo Linux:

  • Ứng dụng Terminal: Một ứng dụng Android cung cấp giao diện thiết bị đầu cuối. Ứng dụng này sử dụng WebView để kết nối với một dịch vụ web đang chạy trong VM để tương tác. Theo mặc định, ứng dụng này bị vô hiệu hoá. Kích hoạt tính năng này trong phần Cài đặt của nhà phát triển.
  • Khung ảo hoá cho Android (AVF): Hệ thống con hiện có của Android để tạo và quản lý máy ảo. Bạn chỉ cần sửa đổi một chút để hỗ trợ hình ảnh hệ điều hành tuỳ chỉnh cho tính năng này.
  • máy ảo: Một VM do AVF tạo. Nó lưu trữ dịch vụ thiết bị đầu cuối và AVF tạo dịch vụ này dành riêng cho chức năng của ứng dụng Terminal.
  • Hình ảnh hệ điều hành: Hình ảnh hệ điều hành dựa trên Debian được sửa đổi một chút từ Debian nguồn. Ứng dụng Terminal sẽ tải hình ảnh này xuống từ một máy chủ bên ngoài của Google. Đây là nền tảng cho hoạt động của VM.
  • Guest Agent: Phần mềm mới trong máy ảo. Nó báo cáo trạng thái của hệ điều hành cho AVF và cung cấp quyền kiểm soát máy ảo.
  • ttyd: Phần mềm nguồn mở chạy trong VM, triển khai tính năng mô phỏng thiết bị đầu cuối qua HTTP. WebView của ứng dụng Terminal kết nối với ứng dụng này.
  • Trình quản lý chia sẻ Internet: Một hệ thống con hiện có của Android. Nó cung cấp quyền truy cập mạng cho máy ảo bằng cách chia sẻ Internet từ máy ảo với thiết bị chạy Android.

Tính năng An toàn về nội dung trên thiết bị

Content Safety On-device là một giải pháp bảo đảm an toàn cho nội dung và bảo đảm quyền riêng tư do Nhóm Content Safety On-device tạo ra. Công cụ này thực hiện việc phân loại mức độ an toàn của nội dung cho nhiều sản phẩm của Google trên các thiết bị 1P/3P và bảo vệ hơn 1 tỷ người dùng khỏi nội dung phản cảm mà không yêu cầu gửi dữ liệu người dùng trở lại máy chủ của Google. Nền tảng này được thiết kế để tuân thủ các nguyên tắc của Lõi điện toán riêng tư (PCC) nhằm xác minh hoạt động giao tiếp minh bạch và bảo đảm quyền riêng tư giữa máy khách, máy ảo (VM) và ngăn chặn mọi hành vi trích xuất dữ liệu người dùng. Bạn có thể dùng API này cho những việc như bật tính năng phát hiện hành vi sai trái trên thiết bị, chẳng hạn như tính năng phát hiện mối đe doạ trực tiếp của Play Protect.

Trong trường hợp sử dụng này, hệ thống sẽ sử dụng các máy ảo được bảo vệ để chạy hoạt động phân loại mô hình cho tính năng phát hiện mối đe doạ trực tiếp của Play Protect. Nhờ đó, hệ thống có thể nâng cao đáng kể tính bảo mật của các mô hình và biện pháp bảo vệ. Điều này ngăn chặn kẻ tấn công đảo ngược và thao túng, ngay cả trên các thiết bị đã root, bằng cách chỉ xác minh các lần chạy mã đã được phê duyệt và các hoạt động của mã đó bị ẩn khỏi các quy trình bên ngoài.

Sau đây là các luồng cấp cao:

  1. Tính năng phát hiện mối đe doạ trực tiếp sẽ ping Dịch vụ điện toán riêng tư để khởi động VM. Dịch vụ điện toán riêng tư là một trung gian tập trung vào quyền riêng tư giữa PCC và máy chủ đám mây
  2. Dịch vụ điện toán riêng tư khởi động máy ảo và lấy khoá công khai của máy ảo
  3. Dịch vụ điện toán riêng tư chuyển quyền sở hữu máy ảo cho tính năng phát hiện mối đe doạ trực tiếp của Play Protect
  4. Dịch vụ điện toán riêng tư gửi chứng thực và khoá công khai đến máy chủ
  5. Máy chủ xác minh chứng thực và mã hoá các biện pháp bảo vệ bằng khoá công khai của VM
  6. Sau đó, máy chủ sẽ gửi các biện pháp bảo vệ đã mã hoá trở lại thiết bị
  7. Sau đó, tính năng phát hiện mối đe doạ trực tiếp trên thiết bị có thể sử dụng biện pháp bảo vệ được mã hoá trong VM. VM là thực thể duy nhất có khoá riêng tư có thể giải mã các biện pháp bảo vệ

Sau đây là các thành phần cấp cao:

  • Máy chủ: Mã hoá và cung cấp các biện pháp bảo vệ đã mã hoá cho máy ảo
  • Private Compute Services: Được dùng để khởi động máy ảo và điều phối hoạt động giao tiếp với máy ảo, đồng thời cho thấy tính minh bạch rằng không có dữ liệu người dùng nào đi qua Astrea đến máy chủ
  • Tính năng phát hiện mối đe doạ trực tiếp của Play Protect:
    • Chứa và sử dụng các trình phân loại mô hình do Content Safety cung cấp trên thiết bị
    • Chấp nhận quyền sở hữu máy ảo và giữ quyền này để sử dụng cho mục đích phân loại
    • Khởi động và dừng máy ảo khi cần.

OEM (Nhà sản xuất thiết bị gốc)

OEM có thể sử dụng AVF cho các trường hợp sử dụng tuỳ chỉnh. Ví dụ: OPPO sử dụng AVF để bật không gian điện toán riêng tư bằng AI. Ứng dụng đầu tiên của không gian này cung cấp một giải pháp kiểm soát rủi ro trên thiết bị cho các ứng dụng khách, chạy trong một máy ảo. Hệ thống này chống lại các mối đe doạ từ hoạt động bất hợp pháp, đồng thời bảo vệ bạn khỏi nhiều mối nguy hiểm.