Google'ın 14 Ağustos 2026'da Pixel 6a ile Pixel 10 serisi cihazlar için yayınladığı Android 17 QPR2 Beta 3, mobil cihazların en yaygın dolandırıcılık türlerinden birine işletim sistemi seviyesinde engel koyuyor. Arkaplanda sessizce çalışan kötü niyetli uygulamalar artık çağrı yönlendirme kodlarını kullanarak kullanıcı farkında olmadan aramalarını başka numaralara yönlendiremeyecek.
Teknike bakıldığında sendUssdRequest() API'si artık CALL_PHONE izniyle çağrı yönlendirme kodlarına erişemiyor. Arkaplanda çalışan uygulamalar USSD_ERROR_NOT_ALLOWED geri çağrısı alıyor, manuel çağrı yönlendirmelerinde ise OS seviyesinde bir onay diyaloğu gerekir.
Çağrı yönlendirme dolandırıcılığı nasıl çalışıyor?
USSD (Unstructured Supplementary Service Data), operatörlerin müşterilere kısa kodlar üzerinden hizmet sunduğu bir GSM protokolü. Mobil ödeme, hesap bakiyesi kontrolü, tarifesi paket sorgulamaları gibi meşru işlemler için yaygın kullanılıyor. Ancak aynı protokol çağrı yönlendirme için de kullanılıyor: 21123456789# gibi bir kod, gelen tüm aramaları belirtilen numaraya yönlendiriyor.
Sorun şurada: Android uygulamaları bu kodları programmatik olarak arka planda çalıştırabiliyordu. Kullanıcı farkında olmadan bir uygulama arkaplanda 21 kodu göndererek tüm gelen aramaları dolandırıcının kontrol ettiği bir numaraya yönlendirebiliyordu. İki faktörlü kimlik doğrulama için gelen sesli aramalar, banka doğrulama çağrıları, acil iletişim denemeleri bu şekilde dolandırıcının eline geçiyordu.
Teknike bakıldığında, Android'in TelephonyManager.sendUssdRequest() metodu çağrı yönlendirme kodlarını gönderebiliyordu ve bu işlem için sadece CALL_PHONE izni yeterliydi. Kullanıcı bir kez arama yapma iznini verdikten sonra uygulama arka planda dilediği gibi yönlendirme kodları gönderebiliyordu. Ekranda görünür bir onay diyaloğu, bildirim veya kullanıcı müdahalesi yoktu.
Android 17 QPR2 Beta 3'ün eklediği kısıtlamalar
sendUssdRequest() API'si artık çağrı yönlendirme kodlarına CALL_PHONE izniyle erişemiyor. Bir uygulama 21, 67, 72 gibi yönlendirme kodlarını arkaplanda göndermeye çalışırsa, işlem reddediliyor ve uygulama USSD_ERROR_NOT_ALLOWED hata geri çağrısı alıyor.
Kullanıcı manuel olarak çevirici uygulamasında yönlendirme kodu yazdığında ise, Android artık bir işletim sistemi seviyesinde onay diyaloğu gösteriyor. Kod çalıştırılmadan önce kullanıcı açıkça onay vermek zorunda.
Bu kısıtlama sadece çağrı yönlendirme kodlarına özgü. Mobil para transferleri (123 gibi kodlarla), hesap bakiyesi kontrolleri veya operatör paket sorgulamaları gibi yönlendirme içermeyen USSD istekleri bu değişiklikten etkilenmiyor. sendUssdRequest() API'si bu tür işlemler için normal şekilde çalışmaya devam ediyor.
USSD nedir ve hangi durumlarda kullanılıyor?
USSD, gerçek zamanlı oturum tabanlı bir GSM protokolü. SMS'ten farkı şu: SMS mesajı gönderip beklersiniz, USSD ise anlık bir bağlantı kurar ve cevabı hemen alırsınız. Bu özellik sayesinde interaktif menüler ve hızlı işlemler mümkün oluyor.
Yaygın USSD kullanım senaryoları:
- Mobil ödeme ve para transferi sistemleri (özellikle Afrika ve Güneydoğu Asya'da) - Telefon bakiyesi sorgulama ve yükleme - İnternet paketi satın alma ve kalan kota kontrolü - Çağrı yönlendirme, bekletme, engelleme ayarları - Operatör değiştirme (numara taşıma) talepleri - Acil IMEI sorgulama ve cihaz kilitleme
Mobil bankacılık uygulamaları bazen para transferi için USSD kodlarını kullanıyor, çünkü internet bağlantısı gerektirmiyor ve düşük bantgenişliği yeterli. Ancak bu uygulamalar genellikle kullanıcının açık eylemiyle kod gönderiyor, arkaplanda sessizce çalışmıyor.
Android 17'nin getirdiği değişiklik sadece çağrı yönlendirme kodlarını hedef alıyor. Yani 21, 67, 72 gibi aramayı yönlendiren, engelleyen veya bekletmeye alan kodlar etkileniyor. Diğer tüm USSD işlemleri normal şekilde çalışmaya devam ediyor.
Geliştiriciler ve kullanıcılar için somut etkiler
Mobil uygulama geliştiricileri açısından bu değişiklik önemli. Eğer uygulamanız meşru bir amaçla çağrı yönlendirme yönetimi sunuyorsa (örneğin bir VoIP uygulaması veya çağrı merkezi yazılımı), artık sendUssdRequest() API'sini kullanamayacaksınız. Kullanıcıyı manuel olarak çevirici uygulamasına yönlendirmek ve işlemi oradan tamamlamasını sağlamak gerekecek.
Arkaplanda çağrı yönlendirme gerektiren iş akışları kesintiye uğrayacak. Örneğin, şirket telefonlarını merkezi olarak yöneten MDM (Mobile Device Management) uygulamaları, otomatik yönlendirme yapılandırmalarını kullanıcı müdahalesi olmadan gerçekleştiremeyecek.
Kullanıcı açısından değişiklik çoğunlukla görünmez. Meşru USSD işlemleriniz (bakiye kontrolü, paket satın alma gibi) etkilenmiyor. Tek fark manuel olarak bir yönlendirme kodu çevirdiğinizde OS seviyesinde onay diyaloğu görecek olmanız.
Sistemin teknik sınırları ve geliştiricilerin yapabileceği uyarlamalar
Bu güvenlik yaması doğrudan TelephonyManager sınıfının sendUssdRequest() metodunu değiştiriyor. Kod seviyesinde, Android Framework katmanında çağrı yönlendirme pattern'lerini tespit eden bir filtre var. 21, 67, 72, ##002# gibi kodlar işaretlenmiş durumda. Uygulama bu pattern'lerden birini göndermeye çalıştığında, önce izin kontrolü yapılıyor. CALL_PHONE izni varsa bile, arkaplanda çalışan bir uygulama için işlem reddediliyor.
Geliştirici perspektifinden bakıldığında, sendUssdRequest() çağrısı TelephonyManager.UssdResponseCallback üzerinden bir hata dönüyor: USSD_ERROR_NOT_ALLOWED. Ancak çözüm yok: Kullanıcıyı manuel işleme yönlendirmek tek seçenek.
Alternatif olarak, geliştiriciler Intent.ACTION_CALL ile çevirici uygulamasını açabilir ve USSD kodunu önceden doldurabilirler. Kullanıcı çağrı tuşuna bastığında OS diyaloğu gösterilecek ve kullanıcı onaylayana kadar kod çalıştırılmayacak.
Operatör uygulamaları ve sistem uygulamaları bu kısıtlamalardan muaf olabilir. MODIFY_PHONE_STATE gibi sistem seviyesi izinlere sahip uygulamalar hala arkaplanda USSD gönderebilir, ancak bu izni Play Store'dan indirilen normal uygulamalar alamaz.
Güncellemenin içerdiği diğer düzeltmeler ve sınırlamalar
Android 17 QPR2 Beta 3, çağrı yönlendirme kısıtlamasının yanında birkaç hata düzeltmesi daha içeriyor. Bildirim gölgesi ve Hızlı Ayarlar menülerini açarken görülen görsel bozulma giderilmiş.
İkinci düzeltme, Device Health and Support aracında yanlış pil kapasite azalma uyarıları gösteren hata ile ilgili. Pil sağlık verilerinin doğru okunması ve gösterilmesi için kalibrasyon mantığı iyileştirilmiş.
Ancak bu beta sürümü Pixel 11 serisi cihazları içermiyor. Pixel 6a ile Pixel 10 serisi arası cihazlar güncellemeyi alabiliyor, ancak ön siparişe açılan Pixel 11 cihazlar hariç tutuluyor. Google, yeni donanım için beta güncellemelerini genellikle stabil sürüme yakın zamana kadar tutuyor.
Türkiye'deki mobil kullanıcılar için anlamı
Türkiye'de USSD kodları yaygın olarak operatör paket kontrolleri ve bakiye sorgulamaları için kullanılıyor. Turkcell, Vodafone ve Türk Telekom aboneleri 123#, 133# gibi kodlarla hızlı işlemler yapıyor. Bu işlemler yönlendirme içermediği için Android 17'nin getirdiği değişiklikten etkilenmiyor.
Çağrı yönlendirme hizmetleri (örneğin meşgulken başka numaraya yönlendirme, müsait değilken sesli mesaj kutusuna yönlendirme) operatör tarafından sunuluyor ve kullanıcılar genellikle manuel olarak veya operatör uygulaması üzerinden yapılandırıyor. Eğer üçüncü parti bir uygulama bu işlemleri otomatikleştirmeye çalışıyorsa, Android 17 sonrasında artık kullanıcı onayı gerekecek.
Türkiye'de mobil bankacılık uygulamaları genellikle internet üzerinden çalışıyor, USSD tabanlı para transferi yaygın değil. Dolayısıyla finans uygulamalarında kullanıcı deneyimi açısından önemli bir değişiklik beklenmemeli.
Android 17'nin çağrı yönlendirme kısıtlaması zararlı uygulamaların telefonun gelen aramaları ele geçirme yeteneğini ortadan kaldırıyor. Bununla birlikte, gereksiz izin vermek hala risk taşıyor: Üçüncü parti bir uygulama arama izni talep ediyorsa ve günlük kullanımında gerçekten arama yapmıyorsa, bu izni reddetmek uygun.