Android Gelişmiş Koruma Modu (AAPM), Android 16'da kullanıma sunulan ve gazeteciler ile aktivistler gibi risk altındaki kullanıcılar için Android cihazların güvenliğini artırmayı amaçlayan yeni bir özelliktir. Cihaz korumasını güçlendirmek için tasarlanmış bir dizi önceden belirlenmiş yapılandırmayı uygulayan tek bir ayar olarak işlev görür. AAPM, bazı işlevlerin ve kullanılabilirliğin potansiyel olarak azalması yerine güvenliğe öncelik verir. Bu nedenle, saldırı yüzeyini en aza indirmek için bazı özellikler kısıtlanabilir.
Etki
AAPM, güvenliği artırmak için belirli sistem hizmetlerinin davranışını değiştirir. Uygulamanız güvenliğe önem veren kullanıcılara hitap ediyorsa bu kısıtlamalara uyum sağlamanız gerekir.
- Sistem sinyalleri: Kullanıcı AAPM'yi etkinleştirdiğinde sistem, abone olunan uygulamaları bilgilendirir. Böylece bu uygulamalar kısıtlanmış ortama uyum sağlayabilir.
- Gerekli uygulama değişiklikleri: Uygulamanızı, AAPM'nin tetiklediği davranış değişikliklerini işleyecek şekilde güncellemeniz gerekir. Örneğin, uygulamanızda şunlar dikkate alınmalıdır:
- 2G ve WEP ağ bağlantıları devre dışı bırakıldı.
- Engellenen uygulama yan yüklemesi.
- Etkin adli günlük kaydı.
- Bilinmeyen numaralardan gelen aramalar engellenir.
- Mesajlaşma uygulamalarındaki bağlantılar için spam koruma mekanizmaları etkinleştirildi.
- Risk altındaki kullanıcıları korumak için ek özel azaltma önlemleri
AAPM ile entegrasyon
İlgili API'leri kullanmak için aşağıdaki iznin beyan edilmesi gerekir.
İzin alma
<uses-permission android:name="android.permission.QUERY_ADVANCED_PROTECTION_MODE" />
Durumu kontrol et
Kullanıcının cihazda AAPM'yi etkinleştirdiğinden emin olun. Bu işlem, AdvancedProtectionManager sisteme ait hizmet kullanılarak yapılır.
import android.security.advancedprotection.AdvancedProtectionManager
// ... inside your Activity or Service
val aapmManager = getSystemService(AdvancedProtectionManager::class.java)
if (aapmManager?.isAdvancedProtectionEnabled) {
// 🛡️ User is in Advanced Protection Mode.
// Engage shields: Disable risky features, enforce stricter authentication.
// TODO: Add Method which implements extra protections
}
Çalışma zamanı değişikliklerini dinleme
Kullanıcılar, uygulamanız çalışırken AAPM'yi etkinleştirebilir veya devre dışı bırakabilir. Anlık güncellemeler almak için geri arama kaydettirin.
import android.security.advancedprotection.AdvancedProtectionManager
import java.util.concurrent.Executor
// Define the callback
val aapmCallback = AdvancedProtectionManager.Callback { isEnabled ->
if (isEnabled) {
// TODO: User just engaged protections. Lock it down!
} else {
// TODO: User disabled protections. You may relax restrictions.
}
}
// Register the callback (for example, in onStart)
// Ensure you use the correct executor (for example, mainExecutor for UI updates)
aapmManager?.registerAdvancedProtectionCallback(mainExecutor, aapmCallback)