Android'de localhost kullanan gizli web-uygulama takip tekniği ortaya çıktı
(localmess.github.io)- Meta (Facebook) ve Yandex gibi büyük uygulamaların Android'de yerel portları (127.0.0.1) kullanarak web tarayıcısı ile yerel uygulama arasında tanımlayıcıları ve çerezleri gizlice paylaştığı ortaya çıktı
- Web sitelerine gömülü Facebook Pixel ve Yandex Metrica betikleri, Android tarayıcısından yerel uygulamalara (Facebook, Instagram, Yandex ekosistemindeki uygulamalar) gezinme oturumlarını ve tanımlayıcıları doğrudan ileterek kullanıcı tanımlama ve anonimliğin kaldırılmasını mümkün hale getirdi
- Bu yöntem, çerez silme, gizli mod, izin ayarları, reklam kimliği sıfırlama gibi mevcut tüm gizlilik korumalarını atlatıyor; ayrıca kötü amaçlı bir uygulama yalnızca ilgili portları dinleyerek tarayıcı ziyaret geçmişini de toplayabiliyor
- 3 Haziran 2025'te kamuya açıklanmasının ardından Facebook tarafı ilgili kodun büyük bölümünü kaldırdı, ancak söz konusu tekniğin yıllar boyunca dünya genelinde yüz milyonlarca Android cihazda kullanıldığı belirtiliyor. Yandex ise 2017'den beri benzer bir yöntemi kullanmayı sürdürüyor
- Chrome, Firefox, Brave gibi büyük tarayıcılar acil engelleme önlemleri devreye aldı; ancak platformun yapısal sınırlamaları nedeniyle tam ve köklü bir çözüm hâlâ yetersiz, Android IPC ve yerel ağ güvenliğinin güçlendirilmesi gerektiği vurgulanıyor
Açıklama: Localhost üzerinden gizli web-uygulama takip tekniği
- Araştırmacılar, Meta ve Yandex'in milyarlarca Android kullanıcısını kapsayacak şekilde, yerel uygulamaların belirli yerel portları (ör. 12580~12585, 29009~30103) arka planda açık tutup web'de çalışan JavaScript ile haberleştiğini keşfetti
- Bu sayede web tarayıcısının çerezleri, meta verileri ve kullanım geçmişi yerel uygulamaya aktarılıyor; uygulama hesap bilgileri ve Android Advertising ID gibi verilerle birleştirilerek kullanıcı kimliği web ziyaretleriyle ilişkilendiriliyor
Bu nasıl çalışıyor?
Android'de yerel portların kötüye kullanılması
- Android OS'te INTERNET iznine sahip her uygulama 127.0.0.1 (loopback) üzerinde soket açabiliyor
- Tarayıcılar da bu arayüze kullanıcıdan ayrıca onay almadan erişebiliyor
- Web sitelerine gömülü JavaScript, tarayıcı ile yerel uygulama arasında standart Web API'leriyle veri alışverişi yapabiliyor
Meta/Facebook Pixel'in web-uygulama bağlantı yöntemi
- Meta Pixel JavaScript'i Android tarayıcısında yüklendiğinde, _fbp çerezi değerini WebRTC'nin STUN paketleriyle (UDP 12580–12585 portları) yerel uygulamaya gönderiyor
- Cihazdaki Facebook ve Instagram uygulamaları (sürüme göre 515.0.0.23.90 / 382.0.0.43.84 vb.) bu portlarda dinlemede kalıyor, tarayıcıdan gelen _fbp değerini alıp kendi sunucularına GraphQL üzerinden iletiyor
- _fbp, en popüler ilk bir milyon sitenin yaklaşık %25'ine gömülü yaygın bir çerez. Normalde site bazında ayrı olduğu için çapraz takip zordu; ancak bu yöntemle kullanıcının birden çok _fbp değeri tek bir hesapla eşleştirilebiliyor
- 2025 Mayıs'ından sonra WebRTC TURN yöntemi de eklendi ve betik, SDP Munging tekniğinden kaçınacak şekilde değiştirildi
- _fbp çerezi 90 gün boyunca saklanıyor ve en popüler web sitelerinin %25'inde kullanılacak kadar yaygın
- Chrome ve diğer büyük tarayıcıların müdahalesinden sonra kod 3 Haziran'da kaldırıldı
Yandex Metrica'nın web-uygulama bağlantı yöntemi
- Yandex Metrica betiği 2017'den beri HTTP(S) ile yerel portlara (29009, 29010, 30102, 30103 vb.) istek gönderiyor
- Yandex uygulamaları (Yandex Maps, Navigator, Browser, Search vb.) bu portları açık tutuyor ve gelen isteklere Base64 ile kodlanmış Android Advertising ID (AAID) ile diğer cihaz tanımlayıcıları, UUID'ler ve benzeri verileri içeren yanıtlar veriyor
- Tarayıcı betiği bu bilgileri toplayıp yeniden Yandex sunucularına gönderiyor; böylece tarayıcı-uygulama-sunucu arasında tanımlayıcı eşleştirmesi tamamlanıyor
- yandexmetrica.com alan adı 127.0.0.1'e çözümlenerek tespit edilmesi zorlaştırılıyor ve veri toplama akışı gizleniyor
- Localhost üzerinde HTTP kullanılması nedeniyle, başka bir uygulama aynı portları dinliyorsa kullanıcının web sitesi ziyaret geçmişinin açığa çıkma riski de bulunuyor
Pratik risk: tarayıcı ziyaret geçmişinin sızması
- HTTP tabanlı yerel iletişim kullanıldığında, herhangi bir Android uygulaması da yalnızca ilgili portları dinleyerek tarayıcının ziyaret URL'leri gibi geçmiş bilgilerini elde edebiliyor
- Gerçek bir Proof-of-Concept uygulaması geliştirilip Chrome, Firefox ve Edge üzerinde yapılan deneylerle özel gezinti ve gizli modun da tamamen savunmasız olduğu gösterildi
- Yalnızca Brave, DuckDuckGo gibi bazı tarayıcılar kendi blok listeleri ve kullanıcı onayı isteme mekanizmalarıyla korunabildi
Etkilenen Siteler
- Meta Pixel: 5,8 milyon web sitesinde kullanılıyor; gerçek tarama sonuçlarına göre ilk 100 bin site içinde AB'de 15 bin, ABD'de 17 bin sitede yerel kimlik paylaşımı gözlemlendi
- Yandex Metrica: 3 milyon web sitesinde kullanılıyor; aynı yöntemle AB'de 1.260, ABD'de 1.312 sitede yerel port iletişimi doğrulandı
- Bu sitelerin önemli bir kısmında çerez onayı süreci olmadan da otomatik takip çalıştırılıyor
Geçmiş
- Yandex: 2017'den beri HTTP/HTTPS portlarını kullanmaya başladı
- Meta: Eylül 2024'te HTTP, Kasım 2024'te WebSocket, 2025'te WebRTC STUN ve Mayıs'ta TURN kullanımına kademeli geçiş yaptı
Kötüye kullanım vektörleri
- Temel nedenler arasında Android'de localhost soket erişimine kısıt getirilmemesi ve yetersiz sandbox politikaları bulunuyor
- Mevcut izin ayarları, tarayıcı gizli modu, reklam kimliği sıfırlama gibi tüm koruma önlemleri aşılıyor
- Web geliştirme amaçlı meşru kullanımlardan ayırt edilmesi zor olsa da, bu durum büyük ölçekli bir takip vakası olarak kayda geçti
- Chrome, Firefox, DuckDuckGo, Brave gibi tarayıcılar acil yama ve önlemler üzerinde çalışsa da, temelde platform düzeyinde izinler ve uyarılar, sandbox ve IPC politikalarının güçlendirilmesi gerekiyor
Açıklama süreci
- Chrome, Firefox, DuckDuckGo ve Brave gibi tarayıcı sağlayıcılarından sorumlu açıklama ve iş birliği talep edildi
- Chrome (sürüm 137), Firefox (sürüm 138), Brave vb. tarayıcılarda riskli portların engellenmesi ve SDP Munging'in bloklanması gibi kısa vadeli önlemler uygulandı
- Uzun vadede ise yerel ağ erişim kontrolü, sandbox güçlendirmesi ve kullanıcı bilgilendirmesi gibi yapısal iyileştirmelere ihtiyaç olduğu vurgulandı
| Tarayıcı | Sürüm | Yandex | Müdahale/engelleme durumu | |
|---|---|---|---|---|
| Chrome | 136.0+ | Etkileniyor | Etkileniyor | 137'den itibaren port ve SDP munging engellemesi, kademeli dağıtım sürüyor |
| Edge | 136.0+ | Etkileniyor | Etkileniyor | Belirsiz (Chromium tabanlı) |
| Firefox | 138.0.2 | Etkileniyor | Etkilenmiyor(1) | SDP munging engeli var, UDP için engel daha sonra gelecek |
| DuckDuckGo | 5.233.0 | Kısmen etkileniyor(2,3) | Etkilenmiyor(2,3) | Blok listesi tabanlı engelleme |
| Brave | 1.78.102 | Etkilenmiyor(3,4) | Etkilenmiyor(3,4) | 2022'den beri localhost isteklerinde kullanıcı onayı gerekiyor, blok listesi uygulanıyor |
- 1: SDP Munging engelleniyor, TURN portları ise henüz engellenmedi (gelecekte uygulanacak)
- 2,3,4: Blok listeleri, port engelleme, kullanıcı onayı gibi çeşitli savunmalar
Kullanıcı ve işletmecilerin farkındalık durumu
Site işletmecileri
- Meta ve Yandex'in resmi belgelerinde bu yöntem daha önce açıklanmış değil
- Eylül 2024'ten beri Facebook geliştirici forumlarında "Pixel betiği neden localhost'a erişiyor" soruları art arda sorulsa da, resmi bir yanıt verilmedi
- Site işletmecileri ve son kullanıcıların büyük bölümü durumun farkında değil. Kullanıcı oturum açmamış olsa da, gizli mod kullansa da, çerezleri silse de takip edilebiliyor
Genel kullanıcılar
- Takip, oturum açılmış olmasından bağımsız olarak çalışıyor
- Gizli mod, çerez silme gibi korumalar etkisiz kalıyor
- Çerez onayı olmayan sitelerde bile çalıştığı birçok örnekte görüldü
SSS özeti
- S: Meta neden bu yöntemi kamuya açıklandıktan hemen sonra durdurdu?
C: Resmi bir açıklama yok; ancak açıklamadan sonra Android kullanıcılarına yönelik paket gönderiminin durduğu doğrulandı - S: Araştırma peer review'dan geçti mi?
C: Bazı kurumlarca doğrulandı ancak makale hakem değerlendirmesine girmeden, kötüye kullanımın ölçeği nedeniyle hızlı açıklama kararı alındı - S: Meta/Yandex'in resmi belgelerinde bu yöntem yer alıyor mu?
C: Resmi teknik dokümantasyon yok; yalnızca geliştirici forumlarındaki sorular mevcut - S: iOS veya diğer platformlar da etkileniyor mu?
C: Şu ana kadar yalnızca Android'de doğrulandı; ancak teknik olarak iOS, masaüstü ve akıllı TV gibi platformlarda da potansiyel risk bulunuyor
11 yorum
Pil çok tükettiği için Meta tarafındaki uygulamaların hepsini garip bir şekilde silmiştim; meğer böyle bir şey varmış... adb ile Galaxy’de yerleşik kalan diğer sistem uygulamalarını da silmem gerekecek.
Ben de Meta uygulamalarına güvenemediğim için kullanmıyorum; onun yerine yalnızca Güvenli Klasör içindeki Chrome üzerinden kullanıyorum.
Hibrit web uygulaması dediğimiz framework türlerinin çoğu (amaçları farklı olsa da) localhost üzerinde bir web sunucusu ayağa kaldırır. Dahili tarayıcı kütüphanesinin (
WebKitgibi) ayarlarıyla ya da özelleştirmeyle de çözülemeyen şeyleri (web tarafını), localhost’ta çalışan web sunucusu (native taraf) üzerinden çözerler. Bunun böyle de kullanılabiliyor olması mümkünmüş… yazık olmuşBence hibrit uygulamalarda web/uygulama arasındaki genel iletişim yöntemi, köprü olarak da adlandırılan, OS ve tarayıcı tarafında sunulan API’ler üzerinden sağlanan yöntemdir. Yerel bir web sunucusunun zorunlu olduğunu düşünmüyorum.
Orada yerel web sunucusu kullanıldığı için sorun olmasının nedeni, örneğin gizli moddaki Chrome’dan localhost portuna erişerek kullanıcının anonimliğini bozabilecek açıkların mümkün hale gelmesi diye düşünüyorum. Böyle bir teknoloji hibrit uygulamalarda zorunluysa.. hibrit uygulamaların ortadan kalkması gerekir.
Alan adının zorunlu olduğu özellikler,
localStoragevb. şeyleri ele almak için uygulama içinde bir web sunucusu açıp kullanmak genel olarak yaygındır.Bir hizmet için para ödemiyorsam, ürün benim demektir. Veriler üzerinden bireyleri izlemeye yönelik girişimler giderek artacak ve bu gidişatı tersine çevirmek de pek mümkün görünmüyor. Daha iyi alternatiflere ihtiyaç var ama kapitalizm altında bunun ne olabileceğini düşünmekte zorlanıyorum.
Galaxy Güvenli Klasör içi ile dışı arasında localhost erişiminin yalıtılıp yalıtılmadığını merak ediyorum.
Yalıtım yok gibi görünüyor. Güvenli Klasör'ün dışında Termux ile Python
http.serverçalıştırıp içeride Chrome ile bağlandığımda bağlantı kuruluyorBu bir güvenlik açığı değil mi -_-??
Görünüşe göre doğru cevap, sosyal medya kullanmamak..
Hacker News görüşü
Meta’nın kullandığı genel takip sürecini anladığım kadarıyla özetleyeyim; Localmess blogu içeriğini referans alıyorum
something-embarassing.comgibi) ziyaret ettiğinde, bu sitede çoğu zaman Meta Pixel yer alıyor (yazıya göre 5,8 milyondan fazla sitede kurulu)Gizli modda olsa bile takip hâlâ mümkün
_fbpçerezini (gezinti bilgileriyle birlikte) WebRTC (STUN) SDP Munging tekniğini kullanarak Instagram veya Facebook uygulamasına iletiyorBu süreç tarayıcı geliştirici araçlarında da görünmüyor
Uygulama
_fbpbilgisiyle kullanıcı kimliğini Meta sunucularına iletiyorAyrıca dikkat çeken noktalar:
Bu webden uygulamaya kimlik paylaşım yöntemi, çerez silme, gizli mod ve Android izin kontrolleri gibi olağan gizlilik önlemlerini aşıyor
Hatta kötü amaçlı uygulamaların kullanıcının web etkinliğini gözetlemesinin de önü açılmış oluyor
Meta Pixel betiği mayıs ortasından beri
_fbpçerezini WebRTC TURN yöntemiyle de göndermeye başladı; bu yöntem Chrome ekibi SDP Munging’i engelledikten sonra devreye alınmış2 Haziran 2025 itibarıyla Facebook/Instagram uygulamalarının bu yeni port üzerinden gerçekten veri aldığına dair bir davranış gözlenmemiş
WebRTC’nin başlıca kullanım alanlarından biri kullanıcının yerel IP’si gibi bilgileri alıp anonimliği bozmaksa, bunun neden ayrıca izin istemeden çalıştığını anlamıyorum
Bazı ülkelerde
something-embarassing.comgibi bir siteyi ziyaret etmek utanç verici olmanın çok ötesinde, çok daha ciddi sonuçlara yol açabilirTam emin değilim ama zorunlu GDPR çerez onay bildirimlerinin insanları gizlice takip etmek için kötüye kullanılması da bunun bir parçası mı diye merak ediyorum
İnternet reklamcılığını ve takibi tamamen yasaklamak isterdim
Bunlar yüzünden anlamsız şeyler aşırı çoğalıyor
Bence bütün mesele CEO’ların bir yat daha almasıyla ilgili
Reddit de epey yoğun biçimde cihaz parmak izi topluyor
Bu verileri yapay zeka modeli eğitimi için de satıyorlar
Yakında yalnızca premium uygulamalarda kullanılabilen özel verileri bile agresif biçimde satacakları günün geleceğini düşünüyorum
Bunu nasıl yasaklayabileceğimiz ve kimin bu yasayı ihlal ettiğini nasıl kanıtlayabileceğimiz sorunu ortada duruyor
Tarayıcılarda 3rd-party çerezleri kaldırma hareketi pratikte en gerçekçi ilk adımdı
Ama Google, Chrome üzerindeki hâkimiyetini kullanarak geçen yıl bunu raydan çıkardı
Hukuken sorunlu olmayabilir ama tüketici öfkesi doğurması gereken etik dışı bir piyasa manipülasyonuydu
Google yöneticileri başta çerezler olmadan da gelirlerini koruyabileceklerine inanmış gibi görünüyor; gerçekteyse ya çerezlerin önemini hiç anlamadılar ya da en baştan beri onları kaldırma niyetleri yoktu
Bu tür davranışlar düpedüz açgözlülük
Yüzyıllar boyunca başarılı olmuş geleneksel yöneticiler bu kadar aşırı kişisel çıkar takıntısından uzak durdu
Ortalama liderler bile bu kadar düşük davranışlara sapmadan şirketleri daha iyi yönetebilir
Ama yalnızca açgözlülüğün kaldığı bir dünyada buna ancak gülüp geçebiliyorsun
Keşke daha dürüst ve daha iyi CEO’lar olsa
“CEO’nun yatı” şakasına ek olarak, aslında çoğu tüketici para ödemek zorunda olmadığı hizmetleri/ürünleri sevdiği için reklam modelini seçiyor
Gerçekte ücretli ve reklamlı sürüm varsa, reklam destekli olan 10:1 oranında daha popüler oluyor
Reklam engelleme durumu daha da kötüleştiriyor — gerçek direnç hizmeti boykot etmek ya da alternatiflere doğrudan ödeme yapmak olmalı
BAT (Brave Attention Token) gibi, sitelere doğrudan mikro ödeme dağıtan bir yapının daha mantıklı olduğunu düşünüyorum
Teori şu: kullandığım kadar öderim ve reklam veren değil, gerçekten müşteri olurum
Asıl sorun raporu: Localmess blogu
Google kötüye kullanım örneklerini araştırdığını söylüyor ama ironik biçimde Google’ın kendisi de Wi-Fi AP isimleri gibi çeşitli yan kanalları kullanarak herkesi takip ediyor
Büyük uygulama şirketleri, işletim sistemi kısıtlarını aşmak için benzer yöntemlerle veri toplamayı sürdürüyor
Bir neden daha: büyük teknoloji şirketlerinin uygulamalarını mümkün olduğunca kurmuyorum, mecbur kalırsam yalnızca web sitesini kullanıyorum
Web siteleri yavaş ve kullanışsız olabiliyor ama sandbox yapısı sayesinde çok daha güvenli
Örneğin Samsung telefonlarda birden fazla Meta uygulaması ön yüklü geliyor ve yalnızca Facebook uygulamasını silseniz bile
com.facebook.servicesgibi gizli servisler kalabiliyorBu servisler yalnızca geliştirici araçlarıyla (ADB/UAD) kaldırılabiliyor
Ya da iPhone veya Pixel önerilir
Meta Pixel betiğiyle ilgili teknik bilgiler:
Meta Pixel Ekim 2024’e kadar HTTP üzerinden gönderim yapıyordu ve Facebook/Instagram uygulamaları ilgili portta hâlâ dinlemede
Yeni açılan 12388 portunda da dinlemedeler ama bu porta gönderim yapan bir betik henüz bulunmuş değil
Bu konuda, başka bir uygulama bu porta sahte mesajlar gönderse ne olur diye bilimsel(?) bir merak da var
Biri hiçbir şey göndermemek, diğeri ise tonla sahte veri göndermek
Reklamcı takip çerezlerini P2P üzerinden paylaşan bir cihaz da hoş olurdu
Bu takibin profiller arasında sıçrayıp sıçrayamayacağını merak ediyorum
Eğer öyleyse şirketler açısından çok büyük bir güvenlik sorunu olur
Userland bir uygulamada 8080 portunda sunucu açıp test ettiğimde iki profilin de erişebildiğini gördüm
Bu da bir profilde bulaşmış bir uygulamanın diğer profilde ziyaret edilen sitelerle veri alışverişi yapabileceği anlamına geliyor
Bireyler bu yöntemle başkasının bilgisayarından bilgi toplarsa CFAA (Computer Fraud and Abuse Act) kapsamında cezalandırılabilir mi diye merak ediyorum
Bu yöntemde hem bir tarafın (ziyaret edilen site) hem de diğer tarafın (telefonda çalışan uygulama) kod üzerinde kontrol sahibi olması gerekiyor
Rastgele bir tarayıcı geçmişini sihirli şekilde ele geçiren bir hack yöntemi değil
Bu yüzden açıkça hack sayılması zor ve Google/Meta gibi şirketler rıza dışı takip yapsa bile muhtemelen CFAA kapsamına girmez
Aslında CFAA kapsamında tarayıcıda sadece “sayfa kaynağını görüntüle” yaptığı için bile yargılanan insanlar oldu
Görünüşe göre mesele fiilin kendisinden çok kimi rahatsız ettiğiniz ve ağ ilişkileriyle ilgili
Cezalandırılma ihtimali var
Bu kimlik sistemi kötüye kullanıma fazlasıyla açıktı ve Google’ın da bunun farkında olup mutlaka suistimali önleyici kurallar koyması gerektiğini bildiğini tahmin ediyorum
Bu, ceza olarak Play Store’dan kalıcı men, hukuki işlem, hatta cezai kovuşturmaya kadar gidebilecek bir mesele
Ama pratikte Meta gibi aşırı büyük şirketlere karşı gerçek yaptırım uygulamak neredeyse imkânsız durumda
(Ve Meta olmasa bile, bu tür şüpheli faaliyetler istihbarat ya da kolluk kuvvetleri tarafından zımnen onaylanıyor da olabilir — bunu durdurmak çok zor, konuşmak bile kolay değil)
Kendi başlarına takip etmek için 50’den fazla yöntemleri var
Diğer şirketler de büyük firmalarla kullanıcı verisi paylaşım maddelerini yeniden müzakere ederek ciddi para kazanıyor
Anlaşmalar zaten yapılmış, izinler alınmış; olan sadece bazı kullanıcıların buna itiraz etmesi
Firefox’ta
about:configiçindemedia.peerconnection.enabledseçeneğinifalseyaparak WebRTC engellenebilirNetguard ve Nebulo’yu non-VPN modunda birlikte kullanmak da Meta sunucularına gereksiz bağlantıları engelleyebilir
Avrupa Birliği’nin bu tür sorunlar için rekor düzeyde para cezaları kesmesi gerektiğini düşünüyorum
Tekrarlanan ihlallerde %1–X arasında kademeli artan bir vergi de getirilebilir
Her şirketin ihlallerini tek bakışta gösteren bir web sitesine de ihtiyaç var gibi
Meta her yıl ceza ödemesine rağmen yaklaşık 70 milyar dolar net kâr açıklıyor
Yalnızca para cezaları değil, bazı durumlarda insanlar çok daha hafif ihlaller yüzünden hapse girdiği için daha sert önlemler de gerekli olabilir