Bu bilgi, SQL Yerleştirme Güvenlik Açığını içeren uygulamaların geliştiricileri için hazırlanmıştır.
Neler oluyor?
Uygulamalarınızdan biri veya birkaçı düzeltilmesi gereken SQL Yerleştirme güvenlik açığı içeriyor. Lütfen Play Console'unuzdaki bildirime bakın. Play Console'unuzda gösterilen son tarihten sonra düzeltilmemiş güvenlik açıkları içeren tüm uygulamalar Google Play'den kaldırılabilir.
Yapılması gerekenler
- Play Console hesabınızda oturum açıp Uyarılar bölümüne gidin. Burada hangi uygulamaların etkilendiğini ve bu sorunları çözmeniz gereken son tarihleri görebilirsiniz.
- Etkilenen uygulamalarınızı güncelleyin ve güvenlik açığını düzeltin.
- Etkilenen uygulamalarınızın güncellenmiş sürümlerini gönderin.
Uygulamanız, yeniden göndermenizin ardından tekrar incelenir. Bu işlem birkaç saat sürebilir. Uygulama incelemeden başarıyla geçerek yayınlanırsa başka bir işleme gerek yoktur. Uygulama incelemede başarısız olursa yeni uygulama sürümü yayınlanmaz ve e-posta bildirimi alırsınız.
Ek ayrıntılar
Dışa aktarılan ContentProviders
'daki query
, update
ve delete
uygulamaları, SQL ifadelerine düzeltilmemiş girişler iletirse SQL Injection güvenlik açığına maruz kalabilir. Kötü amaçlı bir uygulama gizli verilere erişmek veya veritabanı içeriklerini bozmak için hazırlanmış bir giriş sağlayabilir. Bu sorunu aşağıdaki yöntemlerle düzeltebilirsiniz:
Diğer uygulamaların etkilenen bir ContentProvider
'a erişmesi gerekmiyorsa:
- Etkilenen
ContentProvider
'ın<provider>
etiketini Manifest'inizdeandroid:exported="false"
olarak değiştirebilirsiniz. Bu ayar, diğer uygulamaların etkilenenContentProvider
'a Amaç göndermelerini engelleyecektir. -
Ayrıca
android:permission
özelliğiniandroid:protectionLevel="signature"
koruma düzeyine sahippermission
olacak şekilde ayarlayabilirsiniz. Bu sayede, diğer geliştiriciler tarafından yazılmış uygulamaların etkilenenContentProvider
'a Intent göndermesini engellemiş olursunuz.
Diğer uygulamaların etkilenen bir ContentProvider
'a erişmesi gerekiyorsa:
- Projection map ile katı mod kullanarak
SQLiteDatabase.query
içine SQL Injection'ı engelleyebilirsiniz. Katı mod, kötü amaçlı seçme ifadelerine, projeksiyon haritası ise kötü amaçlı projeksiyon ifadelerine karşı koruma sağlar. Sorgularınızın güvenli olduğundan emin olmak için bu özelliklerin her ikisini de kullanmanız gerekir. - Değiştirilebilir parametre ve ayrı seçme argümanları dizisi olarak
"?"
kullanan seçme ifadesi kullanarak,SQLiteDatabase.update
veSQLiteDatabase.delete
içine SQL Injection'ı engelleyebilirsiniz. Seçme ifadenizin güvenilir olmayan girişlerden oluşturulmamış olması gerekir.
Yardıma hazırız
Güvenlik açığı hakkında teknik sorularınız varsa sorularınızı Stack Overflow'da yayınlayabilir ve “android-security” etiketini kullanabilirsiniz. Bu sorunu çözmek için uygulamanız gereken adımlarla ilgili bilgi almak isterseniz geliştirici destek ekibimize ulaşabilirsiniz.