- Android 11’den sonra Google, uygulamalar arası sorgulamayı kısıtladı; ancak birçok uygulama yalnızca
AndroidManifest.xml bildirimleriyle yüklü uygulama listesini görebiliyordu
- Package visibility politikası, yalnızca temel işlev için gerekli uygulamaların görülmesini şart koşuyor; ancak tek tek paket bildirimleri ve
ACTION_MAIN filtresi dolambaçlı bir yol gibi kullanıldı
- Swiggy 154, Zepto 165, KreditBee 860, Moneyview 944 uygulamayı bildirerek kullanıcının cihazında belirli uygulamaların olup olmadığını sorgulayabiliyordu
- Rastgele incelenen 47 Hint uygulamasından 31’i
ACTION_MAIN intent filter kullandı; bu da QUERY_ALL_PACKAGES olmadan bile ekrana sahip yüklü uygulamaların çoğunu görmeyi mümkün kılıyor
- Yüklü uygulama verisi ve
READ_SMS izni profil çıkarma, fiyat farklılaştırma, kredi ve uygunluk değerlendirmelerine yol açabilir; ancak kullanıcılar uygulamanın neyi ne zaman okuduğunu bilmekte zorlanır
Android uygulama görünürlüğü politikasındaki açık
- Eskiden Android’de uygulamalar, ayrı bir izin olmadan kullanıcının telefonunda yüklü diğer uygulamaları görebiliyordu
- Google, Android 11’den itibaren bu erişimi kısıtlamak için package visibility politikasını devreye aldı
- Uygulamalar, yalnızca temel işlevleri için zorunluysa diğer yüklü uygulamaları görebilmelidir
- Geliştiriciler, kontrol etmek istedikleri uygulamaları tüm Android uygulamaları için zorunlu yapılandırma dosyası olan
AndroidManifest.xml içinde açıkça belirtmelidir
- Dosya yöneticileri, tarayıcılar ve antivirüs uygulamaları gibi belirli kullanım senaryolarında
QUERY_ALL_PACKAGES iznine istisnai olarak izin verilir
- UPI ödeme uygulamalarını gösterme, uygulama klonlama/çoklu hesap uygulamalarını tespit etme gibi durumlar meşru uygulama sorgulama gerekçeleri olabilir
- İncelenen manifest’lerin çoğunda ödeme, güvenlik ve dolandırıcılık tespiti amaçlı uygulama sorgulamaları da yer alıyordu
Swiggy ve Zepto’nun kapsamlı uygulama sorgulamaları
- Swiggy, manifest’inde 154 paket adı listeleyerek bu uygulamaların telefonda olup olmadığını kontrol edebiliyordu
- Listede Xbox, PlayStation, Naukri, Upstox gibi uygulamalar vardı
- Kategoriler çok geniş olduğu için kullanıcı profilleme ve davranış profili oluşturma amacıyla veri toplama olasılığı yüksek
- Google, yüklü uygulama listesini kişisel ve hassas kullanıcı verisi olarak görüyor
- Zepto, cihazda kontrol edilmek üzere manifest’ine 165 uygulama kaydetti
- Netflix, Bumble, Binance gibi farklı kategorilerden popüler uygulamalar yer alıyordu
- Zepto’nun iOS ve Android kullanıcılarına farklı fiyatlar gösterdiğine dair haber çıkmıştı; bazı müşteriler de Android telefonlar arasında fiyat farkları olduğunu bildirdi
- Kullanıcılar Play Store’dan bir uygulama yüklerken, o uygulamanın manifest’inde hangi uygulama sorgulama listesinin bulunduğunu göremez
Teslimat kuryesi uygulamaları ve kişisel kredi uygulamalarının sorgulama kapsamı
- Swiggy ve Zepto’nun teslimat kuryelerine yönelik uygulamalarında, tüketici uygulamalarından farklı uygulama sorgulama listeleri vardı
- Her iki uygulama da kuryenin başka hangi şirketlerde çalıştığını kontrol edebilecek öğeler içeriyordu
- Swiggy kişisel kredi uygulamalarını, kişisel finans uygulamalarını ve Ludo King, Carrom Pool gibi oyun uygulamalarını da kontrol ediyordu
- Hindistan’daki kişisel kredi uygulamalarının yırtıcı uygulamaları belgelenmiş durumda; birkaç yıl önceki büyük bir denetim dalgasında binlerce uygulama Play Store’dan kaldırılmıştı
- KreditBee, Play Store’daki kişisel kredi kategorisinin önde gelen uygulamalarından biri; 50 milyondan fazla indirmesi var ve manifest’inde 860 uygulamayı kontrol ediyordu
- Tamil Calendar, Odia Calendar, Qibla Direction Finder, tapınak uygulamaları ve astroloji uygulamaları gibi öğeler de listede vardı
- Liseden mezun olmayan kişilere yönelik evlilik uygulaması
Jodii for Diploma, +2,10 below ve sığır/manda alım satım uygulaması 소와 버팔로 사고팔기 Animall de örnekler arasında yer alıyor; ikisinin de 10 milyondan fazla indirmesi var
- Moneyview de 50 milyondan fazla indirmesi olan bir kişisel kredi uygulaması ve manifest’inde 944 uygulama içeriyor
- Play Store politikası, kişisel kredi uygulamalarının
QUERY_ALL_PACKAGES kullanımını açıkça kısıtlıyor; ancak KreditBee ve Moneyview, istedikleri uygulamaları manifest’te tek tek listeleyerek bu kısıtlamayı aşıyor
QUERY_ALL_PACKAGES olmadan uygulama listesini görme yöntemi
- İncelenen uygulamalar arasında yüksek riskli ve hassas izin olan
QUERY_ALL_PACKAGES iznini manifest’ine ekleyen tek örnek Cred’di
- Play Store, finansal düzenlemeye tabi ürünlerle ilgili finansal işlemleri kolaylaştırmaya yönelik doğrulanabilir bir temel amacı olan uygulamalara bu izin için “geçici istisna” tanıyor
- Aynı alandaki PhonePe veya PayTM manifest’lerinde bu izin yoktu
- Cred ayrıca kişisel kredi de sunuyor ve Play Store’un kişisel kredi politikası açısından bu istisna kapsamına girmiyor gibi görünüyor
- Bazı uygulama manifest’lerinde aşağıdaki gibi bir
ACTION_MAIN intent filter vardı
<queries>
[...]
<intent>
<action android:name="android.intent.action.MAIN" />
</intent>
[...]
</queries>
ACTION_MAIN filtresi, ekrana sahip yüklü uygulamaların çoğu için görünürlük sağlıyor; QUERY_ALL_PACKAGES izni olmadan bile telefondaki uygulama listesini görmeyi mümkün kılıyordu
- Aynı ayarı içeren basit bir Android uygulamasıyla yüklü uygulamalar sorgulandığında, telefondaki tüm uygulamaların listesi döndü
- Rastgele analiz edilen 47 Hint uygulamasından 31’i bu filtreyi kullanıyordu; bu da yaklaşık her 3 uygulamadan 2’si demek
- Kullanan uygulamalar: Astrotalk, Axis Mobile, Bajaj Finserv, BookMyShow, Cars24, Cure.fit, Fibe, Groww, Housing, Instamart, Ixigo, JioHotstar, KreditBee, KukuTV, LazyPay, Ludo King, Meesho, MoneyTap, Moneyview, Navi, NoBroker, Nykaa, Ola, PhonePe, PhysicsWallah, Slice, Spinny, Swiggy, Swiggy Delivery, Tata Neu, Zomato
- Kullanmayan uygulamalar: Airtel Thanks, Blinkit, Byju’s, MyGate, Dream11, Flipkart, HDFC Mobile, Healthify, INDmoney, MyJio, Paytm, PaisaBazaar, ShareChat, Unacademy, Vedantu, Zepto
- Swiggy’de
ACTION_MAIN filtresi de vardı; ancak uygulama sorgulama listesini ayrıca açıkça listelemesi, veri toplama pratiklerinin bir kısmını ortaya koyuyor
- Okunan manifest dosyaları android-manifest-files üzerinde yayımlanmış olup çoğu 18 veya 19 Mart’ta indirilmişti
- Bu ayar yalnızca Hint şirketlerinin uygulamalarıyla sınırlı değildi
- Facebook, Instagram, Snapchat, Subway Surfers, Truecaller aynı ayara sahipti
- Amazon, Spotify, X, Discord, WhatsApp’ta yoktu
Yüklü uygulama verisi ve SMS izninin hassasiyeti
- Yüklü uygulama verisi hassas kişisel veridir
- 2022’de Vice, Roe v. Wade’in bozulabileceği haberinin hemen ardından Narrative adlı bir veri pazar yerinin regl takip uygulaması indiren kullanıcıların verilerini sattığını haberleştirdi
- Uygulamaların manifest’leri, yüklü uygulama sorgulamasının yanı sıra gerekli kapsamın ötesinde görünen izinleri de geniş biçimde içerebilir
- Zepto
READ_SMS izni istiyor
- Kullanıcı bunu reddedebilir; ancak Zepto Postpaid’e kaydolurken zorunludur
- İzin verilirse bankaların çok sayıda TRAI sender ID’si ile Blinkit, Swiggy, Bigbasket, Flipkart SMS’leri de kontrol kapsamına girer
- Postpaid planına uygunluğu kontrol etmek için banka SMS’lerini okuyor gibi görünüyor; ancak kullanıcı bu özelliği seçmese bile okuyabilir
- Kullanıcılar,
READ_SMS gibi bir izni uygulamaya verdikten sonra uygulamanın neye ne zaman eriştiğini göremez
- Android uygulama yükleme bilgileri, uygulama geliştiricileri ve veri broker’ları tarafından profilleme, reklam ağı verileriyle çapraz referanslama ve fiyatlandırma gibi amaçlarla kullanılabilir
1 yorum
Hacker News yorumları
ACTION_MAIN açığı daha önce zaten ele alınmıştı: https://commonsware.com/blog/2020/04/05/android-r-package-vi...
Google bunu yamamaya çalışmıyor. Android VDP'ye bir izin atlatma olarak gönderilirse ne olacağını merak ediyorum
Yazarın atlatma yöntemi hakkında SO'da sorduğu bir soru da var: https://stackoverflow.com/q/79527331
O noktada Android'in az önce indirilen rastgele bir oyunu varsayılan launcher yapmak isteyip istemediğini sorması, şüpheli bir uygulama açısından epey riskli bir etkileşime dönüşür. Kullanıcının vazgeçip şikâyet etmesi ya da konuyu pek bilmeyen bir kullanıcının bunu varsayılan launcher seçip ana ekranını bozması ve Play Store'a şikâyet etmesi olası. Gerçekten launcher düzeyinde bir uygulama olarak dağıtmak için otomatik testler ve ek gereksinimler de geleceğinden geliştiriciye yük bindirebilir
Google mühendislerinin yaygın kullanılan bu açığı bilmediğine inanmak zor, ama Google'ın düzeltmeyi reddettiğine dair bir kaynak var mı merak ediyorum
Yerel “uygulamalara” neden ihtiyaç olduğunu hâlâ hiç anlayamıyorum. Şimdiye kadar bir web sitesi ya da web uygulamasıyla yeterli olmayacak bir “uygulama” görmedim; çoğu muhtemelen web uygulaması olsa daha iyi olurdu
“Uygulamaların” tek avantajı, geliştiricinin aslında ihtiyaç duymadığı kişisel bilgilere erişebilmesi gibi görünüyor
“App Store”da yer alabilme avantajı da var, ama App Store Apple/Google'ın satışlardan büyük bir pay alabilmesi için yaratılmış gereksiz bir kavram
Web tarayıcıları düzgün bir sandboxing sağlıyor, “gönderim” ücreti yok ve her telefondaki herkes erişebiliyor
Gerçekçi olursak mobil web uygulamalarının çoğu berbat. Kullanıcı deneyimi yerel uygulamalara hiç yaklaşamıyor. Metnin seçilebilmesinden hoşlanmıyorum, her sayfada aşağı çekince yenileme olmasından hoşlanmıyorum, sola kaydırmanın önceki sayfaya götürmesinden hoşlanmıyorum
Bu sorunların etrafından dolaşmanın yolları bulunabilir, ama yeni Silk kütüphanesi (https://silkhq.co/) yerel deneyime çok yaklaşan ilk örnek gibi görünüyor. Ücretli bir kütüphane olması bile bu sorunun ne kadar önemsiz olmadığını gösteriyor
Yerel uygulamaların yapabildiği, ama tarayıcıyla iyi yapılamayan ya da hiç yapılamayan çok şey var. Örneğin ağır video/ses düzenleme, çok miktarda RAM'e erişim, GPU hesaplamalarından yararlanma, donanıma yakın işler için tarayıcı tek başına hâlâ yetersiz
Apple ve Google'ın bunu fiilen uygulama biçiminin iyi olduğu anlamına gelmiyor, ama yalnızca web uygulamaları kullanan bir geleceğin geleceğini sanmıyorum. Aynı nedenle yakın zamanda gerçek bilgisayarımı Chromebook ile değiştirmeyeceğim
Ancak cihazda çevrimdışı çalışan ve verileri benim kontrol etmediğim servislere saçmayan uygulamalar hâlâ iyi. Nerede olursam olayım internet bağlantısına bağımlı olmak da istemiyorum
Ormanda ya da dağdayken yol gösteren çevrimdışı OsmAnd/Organic Maps uygulamalarını seviyorum; üçüncü taraf sunucular yerine verileri paylaşmak için doğrudan yerel cihazıma bağlanan uygulamalar da iyi
Mümkünse tüm uygulamalar çevrimdışı öncelikli geliştirilmeli ve yalnızca gerektiğinde internet istemeli. İnternet olmadan çalışamayan bir uygulama web uygulaması olsa yeter; cihazımda bulunmasına gerek yok
En son ne zaman mobil web'de uçak bileti rezervasyonu yaptığınızı merak ediyorum. Tarayıcının kapladığı ekran alanıyla nasıl baş edildiğini de bilmiyorum. Uygulamalar kimlik doğrulamayı önbelleğe alıp FaceID ile halledebiliyor; her seferinde giriş yapmak zorunda kalmak da bir sorun
Hacker News’u bu yüzden seviyorum
Dün bu yazıyı bulup Reddit’in Android panosuna koydum: https://old.reddit.com/r/Android/comments/1jmwg4w/everyone_k...
0 oy aldı; yorumlar da depresif insanlar mı botlar mı belli olmayan tepkilerle doluydu
Burada ise 2. sıralarda ve çoğu yorum ilginç
Ölü subreddit çok ama r/android bunların en kötülerinden biri sayılır
Üstelik konu bazlı subreddit’ler genelde o konuda çıkarı olan kişilerce moderasyon yapılıyormuş gibi görünüyor ve bu topluluğa zarar veriyor. Meta’nın Llama’sının hangi özel lisans altında olduğunu ve bu lisansın tam olarak ne anlama geldiğini ayrıntılı anlatan bir yazı koymuştum; r/LocalLlama moderatörleri hiçbir gerekçe göstermeden elle sildi ve kuralları daha iyi anlamak için sorduğumda neden sildiklerini açıklamadılar
Son “Reddit purge” sırasında çok sayıda topluluk moderatörünü Reddit çalışanlarıyla değiştirdiklerinde, platformun önemli bir kısmı sanki şirketlerin kendi alanlarını doğrudan modere etmesi için satılmış gibi geliyor
Başlığın altındaki “past” bağlantısına tıklarsanız 2 gün önceki bir tartışma var; tamamen ölü
Hacker News yapıcı eleştiri kavramını anlıyor
“Genel kategorilerin ötesinde Tamil Calendar, Odia Calendar, Qibla Direction Finder, mandir uygulamaları, astroloji uygulamaları gibi şeyleri bile kontrol ediyor. Ne yaptığını biliyor” kısmı kilit nokta
Bu kredi uygulaması insanları etnik/bölgesel kimlik (Tamil, Odia) ve din (Qibla Direction Finder Müslümanları, mandir uygulamaları Hinduları işaret eder) üzerinden profilliyor
HSBC UK Android uygulaması yüklü uygulamalara bakıyor ve belirli izinlere sahip bir uygulama varsa çalışmayı reddediyor. Örneğin alternatif launcher olmamalı; artık Google uygulama mağazası dışından yüklenmiş tek bir uygulama bile varsa çalışmayı reddediyor
Daha önce burada da şikâyet etmiştim ama sonunda donanımsal güvenlik cihazı isteyip onun yerine web sitesini kullanmaya başladım
Acaba bu verinin şirkete gönderilmediğini söylemeye zahmet ediyorlar mı merak ediyorum
“Telefonumda Xbox ya da Playstation uygulamasının yüklü olup olmadığını bilmek Swiggy’nin temel işlevi için neden gerekli? Naukri ya da Upstox uygulamam olduğunu bilmek market alışverişini evime teslim etmeye nasıl yardımcı olur?” sorusunun cevabı parmak izi çıkarma amacı
Banka uygulamaları için de aynı şey geçerli; dolandırıcıysanız hedefin hangi bankayı kullandığını önceden bilmek gerçekten işe yarar
Özellikle telefon numarasıyla ilişkilendirilebiliyorsa, bu bilgiyi isteyecek epey grup vardır
“Dosya yöneticileri, tarayıcılar, antivirüs uygulamaları gibi çok belirli kullanım senaryoları için Google, QUERY_ALL_PACKAGES izni istisnası vererek yüklü tüm uygulamaları görebilmelerini sağlıyor” kısmında, tarayıcının neden yüklü uygulamaları listelemesi gerektiğini anlamıyorum
Neden?!
Yani Google ürün yönetimini suçlayabilirsiniz
Örneğin Obsidian tüm dosya sistemi izni istiyor ama aslında kullanıcının görmesine izin verdiği dosyaya erişmesi yeterli
Çok kullanışlı bir özellik; kaldırılırsa hoşuma gitmez
“Herkes telefonundaki tüm uygulamaları biliyor” ifadesi Android telefonlar için geçerli. iPhone’da böyle bir gizlilik koruması kusuru yok
https://blog.verichains.io/p/technical-analysis-improper-use...
Android’de bugünlerde standart yöntem olan iş profili kullanılırsa yalnızca iş profilindeki uygulamalar görülebilir
Uygulama yapmanın en büyük teşviklerinden biri, kullanıcılardan her türlü veriyi kazımaktır. Kişilere erişim izni isteyen uygulamaların ne kadar çok olduğuna ve gerçekten işlevsel olarak kişilere ihtiyaç duyan uygulamaların kaç tane olduğuna bakmak yeterli. Bu yüzden böyle bulgulara hâlâ bu kadar çok kişinin şaşırması bana biraz şaşırtıcı geliyor
Eskiden özel URI şemalarıyla uygulamayla iletişim kurmayı deneyebilir, başarılı olursa o uygulamanın yüklü olduğunu anlayabilirdiniz. Twitter bunu parmak izi alma için kullanıyordu
Artık uygulamaların özel bir intent alması ve bu amaçla kullanılacak uygulama listesini açıkça belirtmesi gerekiyor
Yakın zamanda LLM özellikleri büyük ölçüde güncellendi, ben de kontrol etmek için uygulamayı kurdum. Uygulama yüklüyken mobil web sitesine her baktığımda uygulamaya gitmemi söyleyen büyük bir banner çıktı; reklam engelleyiciyle ya da dikkat dağıtıcı öğe engelleyiciyle de kaldırılamadı. Uygulamayı tekrar silince kayboldu
Bu neden oluyor? Mobil web sitesinin uygulamanın yüklü olup olmadığını nasıl bildiğini merak ediyorum. Uygulama yüklü değilken içerik/dikkat dağıtıcı öğe engelleyiciyle uygulamayı kullanma önerilerinin hepsini engelleyebiliyorum; yüklüyken neden engelleyemediğimi de bilmiyorum
Root gerekiyor ama LSPosed[1] modülü olan XPrivacyLua[2] gibi şeylerle bunu engellemek ya da yanıltmak mümkün. Kapalı kaynaklı AppOps[3] da var diye duydum ama denemedim
[1]: https://lsposed.org
[2]: https://github.com/M66B/XPrivacyLua / https://github.com/0bbedCode/XPL-EX
[3]: https://appops.rikka.app
İlginç şekilde XPrivacyLua artık desteklenmiyor ve pro eşlikçi uygulaması, QUERY_ALL_PACKAGES iznini kullandığı gerekçesiyle Google tarafından Play Store’dan kaldırılacak
[0]: https://github.com/M66B/NetGuard
[1]: https://xdaforums.com/t/closed-app-xposed-6-0-xprivacylua-an...
Windows uygulamalarının, özellikle MS Store’dan yüklenmemiş olanların, açık olan tüm pencerelerin başlıklarını listeleyip listeleyemediğini merak ediyorum. Bir uygulamanın yalnızca başlıklardan tüm web trafiğini izlemesi ne kadar zor olurdu?
Gerçekten soruyorum. ChatGPT her şeye onay verdiği için pek işe yaramıyor; gerçek dünyada bunun neden uygulanabilir olmadığını söyleyecek birine ihtiyacım var
Bu amaç için EnumWindows() ve EnumChildWindows() işlevleri var
Bu özelliğin örneği olarak “Windows Modifier v2.00” yardımcı aracına ve Microsoft’un Spy++’ına (SPYXX.EXE) bakabilirsiniz. Eskiden ilk indirdiğimde bununla ilgili çok sayfa vardı; şimdi tam adıyla arasanız bile neredeyse hiçbir şey çıkmaması, internetin unutmada ne kadar iyi hale geldiğinin bir işareti gibi geliyor
Güvenmediğiniz uygulamalar için çözüm, onları hiç kullanmamak ya da VM içinde kullanmaktır
En azından Windows ve geleneksel *nix sistemlerinin çoğu, özellikle de X11 için bu doğru
Android’in bu konuda iyi yaptığı bir şey var. Varsayılan olarak tüm uygulamaları farklı kullanıcılar olarak çalıştırıyor. Yani ana klasörleri farklı ve diğer uygulamaları göremiyorlar
Yine de ManicTime veya ActivityWatch gibi araçlar, tarayıcı eklentisi kurmazsanız tarayıcı geçmişini pencere başlıkları üzerinden izler
https://www.manictime.com/
https://activitywatch.net/
Özellikle “UAC [hâlâ] bir güvenlik bariyeri değildir” ifadesi doğru. Bir süreci yükseltmek için onay verir ya da parola girerseniz, fiilen tüm masaüstünü ve çalışan her şeyi birlikte yükseltmiş olursunuz