Tín hiệu không tin tưởng bất cứ điều gì

Android cung cấp nhiều tín hiệu thiết bị mà quản trị viên có thể dùng để xác định tình trạng bảo mật của thiết bị. Trong mô hình bảo mật không tin tưởng bất cứ điều gì, các tín hiệu này được dùng để đánh giá xem thiết bị có được phép truy cập vào thông tin của công ty hay không.

Tính năng Nội dung mô tả Thiết bị được quản lý hoàn toàn Hồ sơ công việc trên thiết bị thuộc quyền sở hữu của công ty Hồ sơ công việc trên thiết bị thuộc sở hữu cá nhân (BYOD) Thiết bị không được quản lý
API Tính toàn vẹn của Play Người môi giới tin cậy có thể truy xuất các tín hiệu sau:
  • Tính toàn vẹn của thiết bị
  • Tính toàn vẹn của ứng dụng
  • Chi tiết về giấy phép Play
  • Thông tin chi tiết về môi trường bao gồm cả kết quả mới của Play Protect
  • Chứng thực khoá / Chứng thực hiện tại phần cứng một cách an toàn Trình môi giới tin cậy có thể xác minh rằng thông tin xác thực PKI của họ đã được tạo và lưu trữ trong phần cứng bảo mật
    Chứng thực thuộc tính thiết bị Trong quá trình chứng thực khoá, các thuộc tính thiết bị có thể được đưa vào bản ghi chứng thực
    Cấp bản vá bảo mật của thiết bị Trình môi giới tin cậy có thể xác thực Cấp bản vá bảo mật của hệ điều hành
    Thiết bị có OTA đang chờ xử lý không Người môi giới tin cậy có thể kiểm tra xem có bản cập nhật hệ điều hành thiết bị nào đang chờ xử lý hay không Không áp dụng
    Cấp bản vá bảo mật của Mainline Trình môi giới tin cậy có thể đọc cấp bản vá bảo mật cho chuyến tàu tuyến chính đã cài đặt
    Mã đăng ký cụ thể Trình môi giới tin cậy có thể truy cập vào một mã thiết bị duy nhất dành riêng cho doanh nghiệp đó. Mã này vẫn tồn tại sau quá trình tạo lại hồ sơ công việc và đặt lại thiết bị về trạng thái ban đầu Không áp dụng
    Trạng thái quản lý (và quản lý ứng dụng) Người môi giới tin cậy có thể dùng thông tin này để xác định xem một thiết bị có được quản lý hay không Không áp dụng
    Mã hoá ổ đĩa Người môi giới tin cậy có thể kiểm tra xem thiết bị có được mã hoá hay không (nếu cần hỗ trợ Android 8)
    Phiên bản hệ điều hành Trình môi giới tin cậy có thể kiểm tra phiên bản hệ điều hành của thiết bị và xác nhận rằng phiên bản đó vượt quá một phiên bản nhất định
    Truy cập vào Trạng thái mạng (Trạng thái mạng và trạng thái Wi-Fi) Trình môi giới tin cậy có thể lấy thông tin về trạng thái mạng đang hoạt động (di động và Wi-Fi)
    Truy cập vào Trạng thái Wi-Fi (Android 11 trở xuống, Android 12 trở lên hỗ trợ cả phương thức gọi lại hoặc theo yêu cầu) Người môi giới tin cậy có thể nhận thông tin về mạng Wi-Fi đang hoạt động
    Cài đặt proxy Người môi giới tin cậy có thể nhận thông tin về các chế độ cài đặt proxy HTTP mặc định hiện tại.
    Kiểm tra chất lượng khoá màn hình Trình môi giới tin cậy có thể đảm bảo thiết bị có một phương thức khoá màn hình chất lượng nhất định được định cấu hình trước khi cấp quyền truy cập
    Đã bật Tuỳ chọn cho nhà phát triển Khi bạn bật các tuỳ chọn cho nhà phát triển, Trình môi giới tin cậy có thể xác định một thiết bị có bề mặt tấn công rộng hơn
    DNS qua TLS có được bật không Nhà môi giới tin cậy có thể tận dụng điều này để đảm bảo rằng chế độ DNS riêng được bật
    Duyệt web an toàn SafetyNet Nhà môi giới tin cậy có thể xác định xem một URL cụ thể có bị Google phân loại là mối đe doạ đã biết hay không.
    Gắn phương tiện bên ngoài Bạn có thể nhận được thông báo khi một bộ nhớ ngoài được kết nối với Trình môi giới tin cậy
    UsageStatsManager Nhà môi giới tin cậy có thể nghiên cứu quy luật sử dụng của từng ứng dụng 1
    Ghi nhật ký bảo mật Nhà môi giới tin cậy có thể tận dụng dữ liệu này như một phần của công cụ theo bối cảnh để đảm bảo tuân thủ và tạo vân tay số dựa trên hành vi 2 2 Không áp dụng
    Ghi nhật ký mạng Nhà môi giới tin cậy có thể tận dụng dữ liệu này như một phần của công cụ theo bối cảnh để đảm bảo tuân thủ và tạo vân tay số dựa trên hành vi 2 2 Không áp dụng
    NetworkStatsManager Trình môi giới tin cậy có thể truy vấn mức sử dụng mạng của ứng dụng trong một khoảng thời gian nhất định 2 1
    Chế độ hiển thị gói (Liệt kê tất cả ứng dụng trên thiết bị) Trình môi giới tin cậy có thể truy vấn những ứng dụng được cài đặt trên thiết bị 3 3
    Đọc trạng thái điện thoại Trình môi giới tin cậy có thể nhận thông tin về mạng di động, trạng thái của mọi cuộc gọi đang diễn ra và danh sách PhoneAccount đã đăng ký trên thiết bị
    Lần gần đây nhất thiết bị khởi động lại Trình môi giới tin cậy có thể biết thời gian hoạt động của hệ thống
    Tải tài khoản Nhà môi giới tin cậy có thể tận dụng tính năng này để truy cập vào danh sách tài khoản trong Dịch vụ tài khoản 3 3 1
    Theo dõi những thay đổi đáng kể về mức pin Nhà môi giới tin cậy có thể theo dõi những thay đổi đáng kể về mức pin
    Vị trí (Tốt, thô, v.v.) Người môi giới tin cậy có thể truy cập vào thông tin vị trí thực của thiết bị 1 1

    1 Có sự đồng ý của người dùng

    2 Chỉ hồ sơ công việc

    3 Quyền truy cập bị giới hạn ở thông tin hồ sơ công việc

    Trình môi giới tin cậy có thể truy cập vào PackageInfo (Gói thông tin) của mô-đun com.google.android.modulemetadata và truy xuất versionName:

    private fun mainlineVersion(context: Context): String? {
        val moduleProvider = "com.google.android.modulemetadata"
    
        return try {
                val pm = context.packageManager
                val packageInfo = pm.getPackageInfo(moduleProvider, 0)
                packageInfo.versionName
            } catch (e: PackageManager.NameNotFoundException) {
                null
            }
    }
    

    Bạn có thể phân tích cú pháp chuỗi được trả về thành đối tượng Date bằng cách sử dụng lớp SimpleDateFormat:

    private val VERSION_NAME_DATE_PATTERNS = Arrays.asList(
          "yyyy-MM-dd",
          "yyyy-MM"
    )
    
    private fun parseDateFromVersionName(text: String): Date? {
        for (pattern in VERSION_NAME_DATE_PATTERNS) {
            try {
                val simpleDateFormat = SimpleDateFormat(
                    pattern,
                    Locale.getDefault()
                )
                simpleDateFormat.timeZone = TimeZone.getDefault()
                return simpleDateFormat.parse(text)
            } catch (e: ParseException) {
                // ignore and try next pattern
            }
        }
        return null
    }
    

    Hãy nhớ rằng đối với Android 11 trở lên, bạn phải thêm nội dung khai báo truy vấn vào tệp AndroidManifest.xml để đáp ứng chế độ hiển thị gói của Android:

    <manifest package="com.example.game">
        <queries>
            <package android:name="com.google.android.modulemetadata" />
        </queries>
        ...
    </manifest>
    

    Trình môi giới tin cậy có thể sử dụng các phương thức này để xác minh xem một thiết bị có đang ở chế độ quản lý hay không và chế độ quản lý nào đang hoạt động.

    Kiểm tra chế độ quản lý thiết bị

    Sử dụng getActiveAdmins() để kiểm tra xem thiết bị có đang được quản lý hay không. Nếu phương thức này trả về null, thì thiết bị không được quản lý.

    Kiểm tra xem thiết bị có được quản lý toàn bộ hay không

    Hãy dùng isDeviceOwnerApp() để kiểm tra xem thiết bị có được quản lý hoàn toàn hay không.

    Kiểm tra hồ sơ công việc trên thiết bị thuộc quyền sở hữu của công ty

    Sử dụng isOrganizationOwnedDeviceWithManagedProfile() để kiểm tra xem thiết bị có đang sử dụng chế độ quản lý hồ sơ công việc cho thiết bị do công ty sở hữu hay không

    Kiểm tra hồ sơ công việc trên thiết bị thuộc sở hữu của cá nhân

    Sử dụng isProfileOwnerApp() để kiểm tra xem thiết bị có hồ sơ công việc hay không và xác minh rằng isOrganizationOwnedDeviceWithManagedProfile() trả về false.