Play Integrity API'ye genel bakış

Play Integrity API, etkileşimlerin ve sunucu isteklerinin orijinal Android cihazda çalışan orijinal uygulama ikili programınızdan gelip gelmediğini kontrol etmenize yardımcı olur. Uygulamanızın arka uç sunucusu, değiştirilmiş uygulama sürümlerinden ve güvenilmeyen ortamlardan gelenler gibi riskli ve sahte olabilecek etkileşimleri tespit ederek saldırıları önlemek ve kötüye kullanımı azaltmak için uygun işlemleri gerçekleştirerek yanıt verebilir.

Uygulamanız veya oyununuz Google Play Store'a sahip bir Android cihazda kullanıldığında ve Google Play hizmetleri tarafından desteklendiğinde Play Integrity API, aşağıdakilerle etkileşim kurup kurmadığınızı belirlemenize yardımcı olan bir yanıt verir:

  • Orijinal uygulama ikili programı: Google Play tarafından tanınan 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ığı, yani kullanıcının uygulamanızı veya oyununuzu Google Play'den yükleyerek ya da ödeme yaparak edinip edinmediğini belirleyin.
  • 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 gerçek bir Android cihazda çalışıp çalışmadığını belirleyin.

Play Integrity API yanıtınızda ortam hakkında bilgi almayı da seçebilirsiniz. Örneğin:

  • Uygulama erişiminin riski: Ekranı yakalamak, yer paylaşımlarını görüntülemek veya cihazı kontrol etmek için kullanılabilecek uygulamaların çalışıp çalışmadığını belirleyin.
  • Bilinen kötü amaçlı yazılımlardan kaynaklanan risk: Google Play Protect'in açık olup olmadığını ve cihazda riskli ya da tehlikeli uygulamalar bulup bulmadığını belirleyin.

Genel bakış

Bir kullanıcı uygulamanızda işlem yaptığında, bu işlemin Google Play tarafından yüklenen ve orijinal 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, bir cihazın yakın zamanda yaptığı isteklerin hacmi ve uygulama erişim riski kararı ve Play Protect kararı da dahil olmak üzere çevreyle ilgili sinyaller de dahil olmak üzere yanıta ek bilgi almayı da etkinleştirebilirsiniz. Kararlarda herhangi bir sorun varsa uygulamanızın arka uç sunucusu; kötüye kullanım ve sahtekarlık, hatalı kullanım ve hile, yetkisiz erişim ve saldırılar gibi sorunlara karşı savunmak için ne yapılacağına karar verebilir.

Play Integrity API'ye Genel Bakış
akışı

Güvenlikle ilgili olarak göz önünde bulundurulması gerekenler

Uygulamanız için Play Integrity API'den en yüksek değeri elde etmek için aşağıdaki önerilen uygulamaları dikkate almanız önerilir:

Kötüye kullanımı önleme stratejinizi belirleyin

Play Integrity API, genel olarak kötüye kullanımı önleme stratejiniz kapsamında diğer sinyallerle birlikte kullanıldığında (kötüye kullanımı önleme tek mekanizmanız olarak değil) en iyi performansı gösterir. Bu API'yi uygulamanız için diğer uygun güvenlik en iyi uygulamalarıyla birlikte kullanın. Varsayılan olarak, uygulamanız tüm yüklemeler için günde toplam 10.000'e kadar istek iletebilir. Günlük maksimum tutarınızı artırma talebinde bulunabilirsiniz.

Harekete geçmeden önce telemetri toplayın ve kitlenizi anlayın.

Uygulamanızın, Play Integrity API kararlarına göre çalışma şeklini değiştirmeden önce API'yi yaptırım olmadan uygulayarak mevcut kitlenizle ilgili mevcut durumu anlayabilirsiniz. Mevcut yükleme tabanınızın hangi sonuçları vereceğini öğrendikten sonra, planladığınız herhangi bir yaptırımın etkisini tahmin edebilir ve kötüye kullanımı önleme stratejinizi buna göre ayarlayabilirsiniz.

Entegrasyon kararını nasıl isteyeceğinize karar verin

Play Integrity API, bütünlük kararları istemek ve almak için iki seçenek sunar. Standart istekler veya klasik istekler ya da her iki istek türünün bir birleşimini ilettiğinizde entegrasyon kararı yanıtı aynı biçimde döndürülür.

Standart API istekleri tüm uygulama veya oyunlara uygundur ve kullanıcı işlemlerinin veya sunucu isteklerinin gerçek olup olmadığını kontrol etmek için talep edilebilir. Standart istekler, en düşük gecikme süresine (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 almayı kullanırken belirli saldırı türlerine karşı Google Play'e koruma yetkisi verir.

Entegrasyon kararı talep etmenin orijinal yolu olan klasik API istekleri de kullanıma sunulmaya 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ığı için standart isteklere göre 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 seferliğine yapılmalıdır. Klasik bir istek yapıp daha sonra kullanmak üzere önbelleğe almayı düşünüyorsanız saldırı riskini azaltmak için bunun yerine standart bir istek göndermeniz gerekir.

Aşağıdaki tabloda, iki istek türü arasındaki bazı temel farklar açıklanmaktadı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ınma gerekli ✔️ (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 talep üzerine kontrol) Nadir (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şı azaltın Google Play'den otomatik çözüm nonce alanını sunucu tarafı mantığıyla kullan

Klasik istekle ilgili dikkat edilmesi gereken noktalar bölümünde daha fazla farklılık içeren bir tablo görebilirsiniz.

Uygun bir zamanda entegrasyon kararı iste

Dolandırıcıların uygulamanız tarafından gerçekleştirilen bütünlük kontrolünde çalışmalarını önlemek için işlem veya sunucu isteği zamanına mümkün olduğunca yakın bir zamanda uygulama erişim riski kararı istemelisiniz.

API isteklerinizin çoğaltılmasını zorlaştırma

Standart API isteklerinde, kurcalama 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 özetini eklemeniz gerekir. Uygulamanızın standart isteklerini korumak için içerik bağlamayı kullanma ile ilgili yönergeleri izleyin.

Klasik API isteklerinde, tekrarlama ve kurcalama saldırıları gibi belirli saldırı türlerine karşı koruma sağlamak için kullanılan nonce (birinci rakamın kısaltması) adlı bir alan bulunur. Uygulamanızın klasik isteklerini korumak için nonce oluşturma ile ilgili yönergeleri izleyin.

Entegrasyon kararlarını önbelleğe almaktan kaçınma

Entegrasyon kararlarını önbelleğe almak, proxy oluşturma riskini artırır. Bu, kötü niyetli kişinin iyi bir cihazdaki kararı başka bir ortamda kötüye kullanım amacıyla tekrar kullandığı bir saldırıdır. Yanıtları önbelleğe almak yerine isteğe bağlı bir karar almak için standart API isteği oluşturabilirsiniz.

Kademeli bir yaptırım stratejisine sahip olma

Play Integrity API'nin entegrasyon kararının bir dizi olası yanıtı vardır. Bu sayede birden fazla yaptırım katmanıyla kötüye kullanımı önleme stratejisi geliştirilebilir. Bunu, uygulamanızın arka uç sunucusunu her olası yanıta veya yanıt grubuna göre farklı davranışlar sergileyecek şekilde yapılandırarak yapabilirsiniz.

Play Console'dan API yanıtınızda ek cihaz etiketleri almayı etkinleştirerek yaptırım stratejinizi cihaz güvenilirliğine göre katmanlara ayırabilirsiniz. Her cihaz, kriterlerini karşılayan tüm etiketleri döndürür. Örneğin, tüm cihaz etiketlerini almayı etkinleştirdikten sonra, yalnızca MEETS_BASIC_INTEGRITY değerini döndüren bir cihaza kıyasla MEETS_STRONG_INTEGRITY, MEETS_DEVICE_INTEGRITY ve MEETS_BASIC_INTEGRITY içeren bir cihaza güvenmeyi tercih edebilirsiniz. Her senaryoda sunucudan farklı bir şekilde yanıt verebilirsiniz.

Sunucunuzdan uygulamanıza çeşitli yanıtlar gönderin

Bir dizi karar sonucunu çoğaltmak, her yanıt için sunucudan uygulamaya bir ikili program İzin Ver/Reddet yanıtını 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 ilgili bir dizi yanıt kullanabilirsiniz.

Son cihaz etkinliğini kullanarak büyük ölçekli kötüye kullanımı tespit etme

Çok sayıda bütünlük jetonu isteyen cihazları bulmak için Play Integrity API'deki son cihaz etkinliği özelliğini kullanın. Yüksek hacimli etkinliği kötüye kullananlar, genellikle gerçek cihazlardan geçerli onay sonuçları oluşturur ve rootlanmış cihazlara ve emülatörlere yönelik saldırıları otomatikleştirmek için botlara sağlar. Son bir saat içinde ilgili cihazda uygulamanızın kaç onay oluşturduğunu kontrol etmek için son cihaz etkinliği düzeyini kullanabilirsiniz.

İşlem yapılabilir hata mesajlarını göster

Mümkün olduğunda kullanıcıya faydalı hata mesajları sağlayın ve sorunu düzeltmek için neler yapabileceklerini (yeniden deneme, internet bağlantısını etkinleştirme veya Play Store uygulamasının güncel olup olmadığını kontrol etme gibi) belirtin.

Beklenmedik sorunlar veya kesintiler için plan yapın

Play durum kontrol paneli, Play Integrity API'nin hizmet durumuyla ilgili bilgilerin yanı sıra aksaklık ve kesintilerle ilgili bilgileri gösterir. Büyük ölçekli bir Play Integrity API kesintisi durumunda arka uç sunucunuzun nasıl çalışacağını önceden planlamanız gerekir.

Uçtan uca kurumsal sahtekarlık çözümlerini tercih edin

Sahtekarlık ve bot yönetimi için eksiksiz bir çözüm arayan kurumsal müşteriler, geliştiricilere sahtekarlık riski puanları gösteren Android için SDK'lar da içeren mobil cihazlar için reCAPTCHA Enterprise'ı satın alabilir. reCAPTCHA Enterprise otomatik olarak Play Integrity API sinyallerini dahil eder, bunları müşterilere reCAPTCHA ağı ve uygulama sinyalleriyle birleştirerek kullanıma hazır, 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 de koruma sağlayabilir.

Yüksek değere sahip veya hassas özelliklere erişirken riskli trafiğe meydan okuyun

Erişimi tamamen reddetmek yerine Play Integrity API ile koruma sağlamak için uygulamanızda veya oyununuzda değerli ya da hassas işlemleri belirleyin. Mümkün olduğunda, yüksek değerli işlemlerin devam etmesine izin vermeden önce riskli trafiği zorlayın. Örneğin, uygulama erişim riski, ekranı yakalayabilecek bir uygulamanın çalıştığını belirtirse kullanıcının korumak istediğiniz işlevlere devam etmesine izin vermeden önce kullanıcıdan ekranı kaydedebilen uygulamaları devre dışı bırakmasını veya kaldırmasını isteyin.

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 için 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.