Play Integrity API, etkileşimlerin ve sunucu isteklerinin orijinal Android cihazda çalışan orijinal uygulama ikili programınızdan gelip gelmediğini kontrol etmenizi sağlar. Uygulamanızın arka uç sunucusu, izinsiz kullanılan uygulama sürümleri ve güvenilmeyen ortamlar gibi riskli ve sahtekarlık amaçlı olabilecek etkileşimleri tespit ederek saldırıları önlemek ve kötüye kullanımı azaltmak için uygun işlemlere yanıt verebilir.
Uygulamanız veya oyununuz Google Play Store'un yüklü olduğu bir Android cihazda kullanıldığında ve Google Play hizmetleri tarafından desteklendiğinde Play Integrity API, aşağıdakilerle etkileşimde bulunup bulunmadığınızı belirlemenize yardımcı olan bir yanıt sağlar:
- Orijinal uygulama ikili programı: Google Play'in tanıdığı değiştirilmemiş ikili programınızla etkileşim kurup kurmadığınızı belirleyin.
- Orijinal Play yüklemesi: Mevcut kullanıcı hesabının lisanslı olup olmadığını belirleyin. Bu, kullanıcının uygulamanızı veya oyununuzu Google Play'den yüklediği ya da bunun için ödeme yaptığı anlamına gelir.
- Orijinal Android cihaz: Uygulamanızın çalıştığı cihazın, Google Play Hizmetleri (veya PC Üzerinde Google Play Games'in orijinal bir örneği) tarafından desteklenen orijinal bir Android cihazda olup olmadığını belirleyin.
- Bilinen kötü amaçlı yazılımlardan arındırılmış:Google Play Protect'in açık olup olmadığını ve cihazda yüklü riskli veya tehlikeli uygulamalar bulup bulmadığını belirleyin.
Genel bakış
Kullanıcı uygulamanızda bir işlem gerçekleştirdiğinde, işlemin Google Play tarafından yüklenen ve orijinal bir Android cihazda çalışan orijinal uygulama ikili programınızda gerçekleşip gerçekleşmediğini kontrol etmek için Play Integrity API'yi çağırabilirsiniz. Ayrıca Google Play Protect'in etkin olup olmadığı ve cihazda yüklü bilinen kötü amaçlı yazılım tespit edip etmediği gibi ortamla ilgili sinyalleri de etkinleştirebilirsiniz. Kararlarda herhangi bir sorun varsa uygulamanızın arka uç sunucusu; kötüye kullanım, sahtekarlık, hatalı kullanım, hile, yetkisiz erişim ve saldırılar gibi sorunlara karşı savunma yapmak için ne yapılması gerektiğine karar verebilir.
Güvenlikle ilgili olarak göz önünde bulundurulması gerekenler
Play Integrity API, aşağıdaki önerilen uygulamaları uyguladığınızda uygulamanız için en yüksek değeri sağlar:
Kötüye kullanıma karşı strateji geliştirme
Play Integrity API, tek kötüye kullanım karşıtı mekanizmanız olarak değil, genel kötüye kullanım karşıtı stratejinizin bir parçası olarak diğer sinyallerle birlikte kullanıldığında en iyi performansı gösterir. Bu API'yi, uygulamanız için diğer uygun güvenlikle ilgili en iyi uygulamalarla birlikte kullanın. Varsayılan olarak,uygulamanız tüm yüklemeler genelinde günde toplam 10.000'e kadar istek gönderebilir. Günlük maksimum değerinizi artırma isteyebilirsiniz.
Entegrasyon kararlarını nasıl isteyeceğinize karar verme
Play Integrity API, bütünlük kararları talep etmek ve almak için iki seçenek sunar. İster standart istekler ister klasik istekler veya her iki istek türünün bir kombinasyonunu yapın, entegrasyon kararı yanıtı aynı biçimde döndürülür.
Standart API istekleri tüm uygulama veya oyunlar için uygundur ve herhangi bir kullanıcı işleminin veya sunucu isteğinin orijinal olup olmadığını kontrol etmek için isteğe bağlı olarak talep edilebilir. Standart istekler en düşük gecikmeye (ortalama birkaç yüz milisaniye) ve kullanılabilir bir karar alma konusunda yüksek güvenilirliğe sahiptir. Standart istekler cihaz üzerinde akıllı önbelleğe alma özelliğini kullanır ve belirli saldırı türlerine karşı Google Play'e koruma yetkisi verir.
Entegrasyon kararı talep etmenin asıl yolu olan Klasik API istekleri de kullanılmaya devam etmektedir. Klasik isteklerin gecikme süresi daha yüksektir (ortalama birkaç saniye) ve belirli saldırı türlerinin riskini azaltmak sizin sorumluluğunuzdadır. Klasik istekler, yeni bir değerlendirme başlattığından standart isteklerden daha fazla kullanıcı verisi ve pil kullanır. Bu nedenle, son derece hassas veya değerli bir işlemin gerçek olup olmadığını kontrol etmek için nadiren tek seferlik olarak yapılması gerekir. Klasik bir istekte bulunmayı ve daha sonra kullanmak üzere önbelleğe almayı düşünüyorsanız saldırı riskini azaltmak için bunun yerine standart bir istekte bulunmanız gerekir.
Aşağıdaki tabloda, iki istek türü arasındaki bazı temel farklılıklar vurgulanmaktadır:
Standart API isteği | Klasik API isteği | |
---|---|---|
Minimum Android SDK sürümü gerekli | Android 5.0 (API düzeyi 21) veya sonraki sürümler | Android 4.4 (API düzeyi 19) veya sonraki sürümler |
API ısınması gerekiyor | ✔️ (birkaç saniye) | ❌ |
Normal istek gecikmesi | Birkaç yüz milisaniye | Birkaç saniye |
Olası istek sıklığı | Sık (herhangi bir işlem veya istek için isteğe bağlı kontrol) | Seyrek (en yüksek değere sahip işlemler veya en hassas istekler için tek seferlik kontrol) |
Tekrar oynatma ve benzer saldırılara karşı önlem alın | Google Play tarafından otomatik risk azaltma | nonce alanını sunucu tarafı mantığıyla kullan |
Klasik isteklerle ilgili dikkat edilmesi gereken noktalar bölümünde daha fazla fark içeren bir tablo görebilirsiniz.
API isteklerinizin çoğaltılmasını zorlaştırma
Standart API isteklerinde, izinsiz değişikliklere ve benzer saldırılara karşı koruma sağlamak için kullanılan requestHash
adlı bir alan bulunur. Bu alana, uygulamanızın isteğiyle ilgili tüm değerlerin bir özetini eklemeniz gerekir. Uygulamanızın standart isteklerini korumak için içerik bağlamayı kullanma ile ilgili yönergeleri uygulayın.
Klasik API isteklerinde nonce
(bir kez kısaltılır) adlı bir alan bulunur. Bu alan, tekrar oynatma ve kurcalama saldırıları gibi belirli saldırı türlerine karşı koruma için kullanılır. Uygulamanızın klasik isteklerini korumak için tek seferlik rastgele sayı oluşturma ile ilgili yönergeleri uygulayın.
Entegrasyon kararlarını önbelleğe almayı önleme
Bütünlük kararlarının önbelleğe alınması, proxy kullanma riskini artırır. Bu da kötü niyetli bir kullanıcının iyi bir cihazdaki kararı kötüye kullanım amacıyla başka bir ortamda yeniden kullandığı bir saldırıdır. Yanıtları önbelleğe almak yerine, isteğe bağlı bir karar almak için standart bir API isteğinde bulunabilirsiniz.
Kademeli bir yaptırım stratejisine sahip olma
Play Integrity API'nin entegrasyon kararı, çeşitli yaptırım katmanlarıyla kötüye kullanım karşıtı strateji oluşturmayı mümkün kılan çeşitli olası yanıtlara sahiptir. Bunu yapmak için uygulamanızın arka uç sunucusunu olası her yanıta veya yanıt grubuna göre farklı şekilde davranacak şekilde yapılandırabilirsiniz.
Play Console'dan gelen API yanıtınızda ek cihaz etiketleri almayı etkinleştirerek yaptırım stratejinizi cihaz güvenilirliğine göre katmanlandırabilirsiniz. Her cihaz, kriterlerini karşıladığı
tüm etiketleri döndürür. Örneğin, tüm cihaz etiketlerini almayı etkinleştirdikten sonra, yalnızca MEETS_BASIC_INTEGRITY
döndüren bir cihaza kıyasla MEETS_STRONG_INTEGRITY
, MEETS_DEVICE_INTEGRITY
ve MEETS_BASIC_INTEGRITY
daha fazlasını döndüren bir cihaza güvenmeyi seçebilirsiniz. Her senaryoda sunucudan farklı bir şekilde yanıt verebilirsiniz.
Sunucunuzdan uygulamanıza bir yanıt aralığı gönderin
Bir dizi karar sonucuna sahip olmak, her yanıt için sunucudan uygulamaya bir ikili program "İzin ver/Reddet" yanıtı göndermekten daha zordur. Örneğin "İzin ver", Sınırlarla izin ver, CAPTCHA tamamlandıktan sonra "sınırlarla izin ver" ve "Reddet" gibi bir dizi ilgili yanıt kullanabilirsiniz.
İşlem yapılabilir hata mesajlarını gösterin
Mümkün olduğunda, kullanıcıya yararlı hata mesajları sağlayın ve sorunu düzeltmek için tekrar deneme, internet bağlantısını etkinleştirme veya Play Store uygulamasının güncel olup olmadığını kontrol etme gibi neler yapabileceğini bildirin.
Beklenmedik sorunlar veya kesintiler için bir planınız olsun
Play durum kontrol paneli, Play Integrity API'nin hizmet durumu hakkındaki bilgilerin yanı sıra kesintiler ve kesintilerle ilgili bilgileri gösterir. Büyük ölçekli Play Integrity API kesintisi durumunda arka uç sunucunuzun nasıl çalışmasını istediğinizi önceden yapılandırabilirsiniz.
Uçtan uca kurumsal sahtekarlık çözümlerini göz önünde bulundurun
Eksiksiz bir sahtekarlık ve bot yönetimi çözümü arayan kurumsal müşteriler, mobil cihazlar için reCAPTCHA Enterprise'ı satın alabilir. Bu pakette geliştiricilere sahtekarlık riski puanları sunan Android için SDK'lar bulunur. reCAPTCHA Enterprise, Play Integrity API sinyallerini otomatik olarak dahil eder ve müşteriler için reCAPTCHA ağı ve uygulama sinyalleriyle birleştirerek sorunsuz ve görünmez bir sahtekarlık yönetimi çözümü sunar. Ayrıca Play Integrity API'nin kullanılamadığı Android uygulamaları için koruma sağlayabilir.
Hizmet Şartları ve Veri Güvenliği
Play Integrity API'ye erişerek veya Play Integrity API'yi kullanarak Play Integrity API Hizmet Şartları'nı kabul etmiş olursunuz. API'ye erişmeden önce lütfen geçerli tüm şartları ve politikaları okuyup anlayın.
Google Play'de, geliştiricilerin, kullanıcılarınızı bilgilendirmek amacıyla uygulamalarının veri toplama, paylaşma ve güvenlik yöntemlerini açıklayan bir Veri Güvenliği bölümü bulunur. Veri formunuzu doldurmanıza yardımcı olması için Play Integrity API'nin verileri nasıl işlediği hakkındaki bu bilgilere göz atın.