Sıfır güven sinyalleri

Android, yöneticilerin bir cihazın güvenlik durumunu belirlemek için kullanabileceği çeşitli cihaz sinyalleri sağlar. Sıfır güven ilkeli güvenlik modelinde bu sinyaller, bir cihazın şirket bilgilerine erişmesine izin verilip verilmeyeceğini değerlendirmek için kullanılır.

Öne Çıkarın Açıklama Tümüyle Yönetilen cihazlar Şirkete ait cihazlarda iş profili Şahıslara ait cihazlarda iş profili (KCG) Yönetilmeyen cihazlar
Play Integrity API Güven aracısı aşağıdaki sinyalleri alabilir:
  • Cihaz bütünlüğü
  • Uygulama bütünlüğü
  • Play lisans ayrıntıları
  • Yeni Play Protect kararı da dahil olmak üzere ortam ayrıntıları
  • Evet Evet Evet Evet
    Güvenli Donanım Mevcut Olma / Anahtar Onayı Güven aracısı, PKI kimlik bilgilerinin güvenli donanımlarda oluşturulduğunu ve depolandığını doğrulayabilir Evet Evet Evet Evet
    Cihaz Özellikleri Onayı Anahtar onayı kapsamında, cihaz özellikleri onay kaydının parçası olarak eklenebilir. Evet Evet Evet Evet
    Cihaz Güvenlik Yaması Düzeyi Bir Güven aracısı, OS Güvenlik Yaması Düzeyi'ni doğrulayabilir Evet Evet Evet Evet
    Cihazda beklemede olan OTA var mı Güven aracısı, beklemede olan bir cihaz işletim sistemi güncellemesi olup olmadığını kontrol edebilir Evet Evet Evet Yok
    Satır İçi Güvenlik Yaması Düzeyi Bir Güven aracısı, yüklenen satır içi eğitimin güvenlik yaması düzeyini okuyabilir Evet Evet Evet Evet
    Kayda Özel Kimlik Güven aracısı, söz konusu kuruluşa özgü benzersiz bir cihaz kimliğine erişebilir. Bu kimlik, iş profilinin yeniden oluşturulmasından ve cihazın fabrika ayarlarına sıfırlanmasından sonra da geçerliliğini korur Evet Evet Evet Yok
    Yönetim Durumu (ve uygulama yönetimi) Güven aracısı, bir cihazın yönetilip yönetilmediğini belirlemek için bunu kullanabilir Evet Evet Evet Yok
    Disk şifreleme Güven aracısı, cihazın şifrelenmiş olup olmadığını kontrol edebilir (Android 8 desteği gerekiyorsa) Evet Evet Evet Evet
    İşletim Sistemi Sürümü Güven aracısı, cihazın işletim sistemi sürümünü kontrol edip belirli bir sürümü aştığını onaylayabilir Evet Evet Evet Evet
    Erişim Ağ Durumu (Ağ durumu ve Kablosuz durumu) Güven aracısı, etkin ağ durumu (hücresel ve kablosuz) hakkında bilgi alabilir. Evet Evet Evet Evet
    Kablosuz Durumuna erişme (Android 11 ve önceki sürümler, Android 12 ve sonraki sürümler hem geri arama hem de isteğe bağlı yaklaşımı destekler) Güven aracısı, etkin kablosuz ağ hakkında bilgi alabilir Evet Evet Evet Evet
    Proxy Ayarları Güven aracısı, mevcut varsayılan HTTP proxy ayarları hakkında bilgi alabilir. Evet Evet Evet Evet
    Ekran kilidi kalite kontrolü Güven aracısı, bir cihazda erişim izni vermeden önce belirli bir kalitede ekran kilidinin yapılandırılmış olduğundan emin olabilir Evet Evet Evet Evet
    Geliştirici seçenekleri etkin Güven aracısı, geliştirici seçenekleri etkinleştirildiğinde bir cihazın daha geniş bir saldırı yüzeyine sahip olduğunu tanımlayabilir Evet Evet Evet Evet
    TLS üzerinden DNS etkin Güven aracısı, Gizli DNS modunun etkinleştirildiğinden emin olmak için bundan yararlanabilir Evet Evet Evet Evet
    SafetyNet Güvenli Tarama Güven aracısı, belirli bir URL'nin Google tarafından bilinen bir tehdit olarak sınıflandırılıp sınıflandırılmadığını belirleyebilir. Evet Evet Evet Evet
    Harici Medya Takılı Harici depolama birimi eklendiğinde Güven aracısı bilgilendirilebilir Evet Evet Evet Evet
    UsageStatsManager Güven aracısı, tek tek uygulamaların kullanım kalıplarını inceleyebilir Evet Evet Evet Evet1
    Güvenlik günlüğü Güven aracısı, uygunluk sağlamak ve davranışa dayalı parmak izi oluşturmak için bağlamsal motorunun bir parçası olarak bu verilerden yararlanabilir Evet Evet2 Evet2 Yok
    Ağ günlük kaydı Güven aracısı, uygunluk sağlamak ve davranışa dayalı parmak izi oluşturmak için bağlamsal motorunun bir parçası olarak bu verilerden yararlanabilir Evet Evet2 Evet2 Yok
    NetworkStatsManager Güven aracısı, uygulamanın belirli bir zaman aralığı içindeki ağ kullanımını sorgulayabilir Evet Evet Evet2 Evet1
    Paket Görünürlüğü (Cihazdaki tüm uygulamaları listeleyin) Güven aracısı, cihazda hangi uygulamaların yüklü olduğunu sorgulayabilir Evet Evet3 Evet3 Evet
    Telefon Durumunu Okuma Güven aracısı mobil ağ bilgilerini, devam eden çağrıların durumunu ve cihazda kayıtlı PhoneAccount listesini alabilir Evet Evet Evet Evet
    Cihazın en son yeniden başlatılma zamanı Güven aracısı, sistemin çalışma süresini alabilir Evet Evet Evet Evet
    Hesapları Al Güven aracısı, Hesap Hizmeti'ndeki hesap listesine erişmek için bu araçtan yararlanabilir. Evet Evet3 Evet3 Evet1
    Pil seviyesindeki önemli değişiklikleri izleme Güven aracısı, pil düzeyindeki önemli değişiklikleri izleyebilir Evet Evet Evet Evet
    Konum (Hassas, Genel vb.) Güven aracısı, cihazın fiziksel konumuna erişebilir Evet Evet Evet1 Evet1

    1 Kullanıcı izni ile

    2 Yalnızca iş profili

    3 Erişim iş profili bilgileriyle sınırlıdır

    Güven aracısı, com.google.android.modulemetadata modülüne ait PackageInfo öğesine erişebilir ve şu bilgileri buradan alabilir: 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
            }
    }
    

    Döndürülen dizeyi, SimpleDateFormat sınıfını kullanarak bir Date nesnesi olarak ayrıştırabilirsiniz:

    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
    }
    

    Android 11 ve sonraki sürümlerde Android'in paket görünürlüğünü karşılamak için AndroidManifest.xml dosyanıza bir sorgu bildirimi eklemeniz gerektiğini unutmayın:

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

    Güven aracısı, bir cihazın yönetim modunda olup olmadığını ve hangi yönetim modunun etkin olduğunu doğrulamak için bu yöntemleri kullanabilir.

    Cihaz yönetimini kontrol edin

    Bir cihazın yönetim altında olup olmadığını kontrol etmek için getActiveAdmins() yöntemini kullanın. Bu yöntem null değerini döndürürse cihaz yönetilmiyordur.

    Tümüyle yönetilen cihaz olup olmadığını kontrol edin

    Cihazın tümüyle yönetilip yönetilmediğini kontrol etmek için isDeviceOwnerApp() adresini kullanın.

    Şirkete ait bir cihazda iş profilini kontrol etme

    Bir cihazın, şirkete ait cihazlar için iş profili yönetimi modu kullanıp kullanmadığını kontrol etmek üzere isOrganizationOwnedDeviceWithManagedProfile() aracını kullanın

    Şahıslara ait cihazlarda iş profili olup olmadığını kontrol etme

    Bir cihazın iş profili olup olmadığını kontrol etmek ve isOrganizationOwnedDeviceWithManagedProfile() işlevinin false değerini döndürdüğünü doğrulamak için isProfileOwnerApp() yöntemini kullanın.