2 puan yazan GN⁺ 27 일 전 | 1 yorum | WhatsApp'ta paylaş
  • Beyaz Saray iOS uygulamasının gerçek HTTPS trafiği bir MITM proxy ile yakalanarak hangi sunucular ve verilerle iletişim kurduğu analiz edildi
  • Uygulama, whitehouse.gov dışında da Elfsight, OneSignal, YouTube, Google DoubleClick, Facebook, Twitter dahil 31 üçüncü taraf ana makineyle iletişim kuruyor
  • OneSignal'a dil, saat dilimi, IP, cihaz modeli, oturum sayısı gibi kullanıcı profilleme bilgileri sürekli gönderiliyor
  • Elfsight widget yükleyicisi üzerinden harici script'ler çalıştırılıyor ve Google DoubleClick reklam izleme kodu da uygulama içinde çalışıyor
  • Uygulamanın gizlilik manifestosunda “veri toplanmıyor” olarak belirtilse de, gerçekte çok sayıda üçüncü taraf izleme ve veri aktarımı gerçekleşiyor

Ağ trafiği analizine genel bakış

  • Beyaz Saray resmî iOS uygulamasının ağ trafiği MITM (man-in-the-middle) proxy ile yakalanıp analiz edildi
    • macOS ortamında mitmproxy kuruldu ve iPhone'un tüm HTTPS trafiği proxy üzerinden kaydedildi
    • Uygulama sürümü v47.0.4 (build 81) ve Home, News, Live, Social, Explore sekmelerinin tamamı gezildi
    • Trafik üzerinde değişiklik yapılmadan şifresi çözüldü ve kaydedildi; işlem sıradan bir kullanıcının kullanım biçimiyle aynı şekilde gerçekleştirildi

Uygulamanın bağlandığı sunucular

  • Tek bir oturumda uygulama 31 benzersiz host'a istek gönderdi (iOS sistem trafiği hariç)
    • Toplam 206 isteğin yalnızca 48'i (%23) whitehouse.gov'a gönderildi
    • Kalan 158 istek (%77) ise Elfsight, OneSignal, YouTube, Google DoubleClick, Facebook, Twitter gibi üçüncü taraf hizmetlere gönderildi
  • Başlıca istek hedefleri
    • whitehouse.gov: WordPress API (haberler, ana sayfa, galeri vb.)
    • YouTube: video gömme ve küçük görseller
    • Elfsight: widget yükleme, statik varlıklar, dosya depolama, boot API vb.
    • OneSignal: analiz ve kullanıcı profilleme
    • Facebook/Twitter CDN: görsel yükleme
    • Google API'leri ve DoubleClick: reklam ve izleme

OneSignal'a gönderilen veriler

  • Uygulama açıldığında api.onesignal.com adresine HTTPS istek gövdesi gönderiliyor
    • İçerdiği bilgiler: dil, saat dilimi, ülke, IP adresi, ilk çalıştırma ve son etkinlik zamanı, cihaz modeli, OS sürümü, ağ türü (WiFi/hücresel), operatör, jailbreak durumu, oturum sayısı, oturum süresi, benzersiz tanımlayıcılar
  • Uygulama her açıldığında profili güncellemek için birden fazla PATCH isteği gönderiliyor
    • İlk çalıştırmada 18 PATCH isteği, tüm oturum boyunca ise 9 OneSignal isteği doğrulandı
    • Sıra şu şekilde: mevcut profil GET ile alınıyor → oturum bilgisi PATCH ile güncelleniyor
  • OneSignal, oturum bazında IP, etkinlik zamanı, oturum sayısı ve oturum süresini sürekli kaydediyor
    • IP adresi değiştiğinde profil güncelleniyor
    • first_active zaman damgası kurulumdan sonra değişmiyor
  • Sonuç olarak OneSignal, kullanıcı bazında kalıcı bir profil tutuyor ve uygulama kullanım kalıplarıyla ağ ortamını izliyor
  • Trafiğin User-Agent değeri WhiteHouse/81 CFNetwork/3860.400.51 Darwin/25.3.0

Elfsight ile ilgili trafik

  • Statik analizde tespit edilen 6 widget ve 2 aşamalı JavaScript yükleyici, gerçek trafikte de doğrulandı
  • Social sekmesi açıldığında uygulama 13 Elfsight alan adına bağlanıyor
    • elfsightcdn.com, core.service.elfsight.com, static.elfsight.com, storage.elfsight.com, widget-data.service.elfsight.com, video-proxy.wu.elfsightcompute.com vb.
  • /p/boot/ isteği üzerinden her widget ID'si gönderildiğinde sunucu çalıştırılacak script listesini (assets dizisi) döndürüyor
    • Örnek: TikTok → tiktokFeed.js, Instagram → instashow.js, Facebook → facebookFeed.js, YouTube → yottie.js
  • Uygulamanın loadAssets fonksiyonu her URL'yi <script> olarak ekleyip çalıştırıyor
    • Hangi kodun çalışacağına sunucunun karar verdiği bir yapı söz konusu
  • Elfsight sunucuları oturum sırasında 10'dan fazla çerez ayarlıyor
    • Bunlara elfsight_viewed_recently, Cloudflare izleme çerezleri (_cfuvid, __cf_bm) ve oturum tanımlayıcıları dahil

Google DoubleClick reklam takibi

  • YouTube gömüsü yüklenirken Google reklam izleme altyapısı da birlikte yükleniyor
    • googleads.g.doubleclick.net, static.doubleclick.net istekleri doğrulandı
  • DoubleClick, Google'ın reklam sunma ve izleme platformu ve Beyaz Saray'ın resmî uygulaması içinde reklam izleme kodu çalışıyor
    • Uygulamanın gizlilik manifestosunda buna dair bir ifade yer almıyor

Gizlilik manifestosu ile gerçek davranış arasındaki uyumsuzluk

  • Uygulamanın beyan edilen gizlilik ayarları:
    NSPrivacyCollectedDataTypes: []
    NSPrivacyTracking: false
    
  • Gerçek oturumda doğrulanan veri aktarımları:
    • OneSignal'a cihaz modeli, OS, IP, saat dilimi, dil, oturum sayısı, oturum süresi, benzersiz tanımlayıcılar gönderiliyor
    • 13 Elfsight alan adına bağlanılıyor ve 10'dan fazla izleme çerezi alınıyor
    • Google DoubleClick reklam izleme kodu çalıştırılıyor
    • Facebook, Twitter/X, YouTube, Google API istekleri oluşuyor
  • Sonuç olarak uygulama “veri toplanmıyor” olarak gösterilse de, gerçekte çok sayıda üçüncü taraf izleme ve veri aktarımı gerçekleşiyor

Analiz metodolojisi

  • Proxy aracı: mitmproxy (mitmdump)
  • Ortam: macOS, iPhone(iOS), aynı WiFi ağı
  • Sertifika: mitmproxy CA, iOS güven ayarlarına eklendi
  • Yakalama kapsamı: uygulamanın 5 sekmesinin tamamı gezinilirken oluşan HTTPS trafiği
  • Manipülasyon durumu: yok, trafikte yalnızca gözlem yapıldı
  • Kişisel veri işleme: IP, cihaz tanımlayıcıları, OneSignal ID vb. gönderide tamamen maskelendi
  • Sunucuya izinsiz giriş veya manipülasyon yapılmadı, yalnızca uygulamanın gönüllü iletişimi kaydedildi

İlgili araştırmalar

  • Beyaz Saray iOS uygulamasının statik analiz raporu
  • Android sürümüne ilişkin Thereallo analiz sonuçları

Atomic Computer hakkında

  • Atomic Computer, siber güvenlik, altyapı ve geliştirme hizmetleri sunan bir şirket
  • Mobil uygulama güvenlik değerlendirme ve analiz hizmetleri yürütüyor

1 yorum

 
GN⁺ 27 일 전
Hacker News yorumları
  • Tüm 3rd-party isteklerin %43’ü Google ile ilgili (YouTube, Fonts, Analytics dahil); Facebook ve Twitter da eklenince oran yaklaşık %55 oluyor
    Bir devlet uygulamasına aşırı takip ya da analiz kodu koymak sorunlu, ama Google Fonts veya YouTube gömmeleri bana o kadar ciddi gelmiyor
    Başlıkta Palantir ya da ICE gibi çarpıcı alan adları beklemiştim; Google/Facebook çıkması biraz sönük kalmış
    Başlık, sadece “isteklerin %77’si 3rd-party” demek yerine, isteklerin niteliği ve ciddiyeti etrafında kurulmalı
    Bu arada atomic.computer da Google Fonts ve Analytics kullanıyor. 3rd-party istekleri baştan kötü ilan etmeden önce kendi sitesini de kontrol etmeli

    • ICE ya da Palantir’in Google veya Facebook’tan veri satın alması yasak değil
      Sonuçta uygulama üzerinden hangi verilerin izleneceğine kendileri karar verebilir ve yaygın takip sağlayıcıları üzerinden veriyi aklar gibi toplayabilirler
    • Asıl makale Google ya da YouTube’dan çok OneSignal ve Elfsight isteklerine odaklanıyordu
      Google ile ilgili istekler şeffaflık için eklenmiş gibi görünüyor; amaç White House uygulamasını karalamak değil
    • Şu anda hükümetin ABD’yi otoriter bir yöne itmeye çalıştığına dair işaretler var, ama sistem o kadar büyük ki kolay değişeceğini sanmıyorum
    • “atomic.computer da 3rd-party istek kullanıyor” tarzı itirazlar ‘mesajı değil mesajcıyı hedef alma’ türünden zayıf bir argüman
      atomic.computer, 3rd-party isteklerin özünde kötü olduğunu söylemedi; sadece bunları veri toplama ve takip mekanizması olarak inceledi
      Kullanıcılar veri toplandıktan sonra nasıl kullanılacağını denetleyemiyor; asıl mesele de kontrol eksikliği
  • mitmproxy’yi Mac’e kurup iPhone trafiğini oraya yönlendirerek HTTPS’yi çözdüklerini söylüyorlar
    iPhone’da kullanıcı sertifikasını güvenilir hale getirmek gerçekten bu kadar kolay mı diye merak ettim
    Android’de ağ trafiğini incelemek epey zahmetli
    Bu tür deneyler, cihaz üzerinde kontrolün bizde olması gerektiğini iyi gösteriyor. Verinin nereye ve hangi içerikle gönderildiğini bilmeye hakkımız var
    Eskiden Zoom’un trafiği Çin’e göndermesi ya da Facebook’un uygulama içi gezinme verilerini takip etmesi de aklıma geldi

    • iOS hâlâ varsayılan olarak kullanıcının yüklediği sertifikalara güveniyor
      Ama uygulama kendi OpenSSL’ini kullanıyorsa veya certificate pinning uyguluyorsa durum farklı
      Facebook ya da Twitter gibi büyük uygulamaların çoğu pinning kullanıyor, ama bu kadar basit uygulamalar genelde kullanmıyor
    • iOS’ta mitmproxy kurulumu Android’den çok daha kolay
      Yine de pinning olan uygulamaları aşmak zor ve kendi uygulamanı yükleyebildiğin platformlar bu açıdan daha avantajlı
    • CA kurulum süreci biraz uğraştırıcı, ama pinning olmayan uygulamalarda trafiği araya girip yakalamak zor değil
      Banka uygulamaları gibi pinning’in güçlü olduğu durumlarda root edilmiş cihaz gerekebiliyor
    • İlginç olan, bazı güvenlik topluluklarının MITM proxy’leri eleştirirken aslında şirket merkezli bir bakış açısını içselleştirmiş olması
    • Zoom trafiği Çin’e gönderdiğinde, devlet toplantılarının görüntülerinin de aynen aktarılmış olma ihtimali vardı
      Hatta bunun deepfake eğitimi verisi olarak kullanılmış olabileceğini bile düşündürüyor
  • Bununla ilgili önceki tartışma başlıkları var
    Önceki tartışma 1, Önceki tartışma 2

  • Reklam alan adlarının çoğunu (ör. doubleclick.net) DNS seviyesinde engelliyorum
    Haber siteleri dahil çoğu web sitesinin bu kadar çok 3rd-party bağlantı açması şaşırtıcı
    atomic.computer da Cloudflareinsights ve Google Fonts yüklemeye çalışıyor ama benim ağımda bunlar engelleniyor
    Bu istekler, Google’ın kullanıcıları internet genelinde takip etmesinin başlıca nedenlerinden biri

  • Devlet uygulamalarına, sıradan B2C uygulamalarından çok daha yüksek standartlar uygulanmalı
    Google Fonts çağırmak kabul edilebilir, ama OneSignal ya da Facebook’a telemetri göndermek bambaşka bir konu
    Avustralya’da PSPF ve ISM kuralları gereği, devlet verisi güvenilmeyen dış taraflara gönderilmemeli
    Böyle bir uygulama IRAP değerlendirmesinden anında kalır
    Çözüm basit — fontları kendin barındır, analitiği 1st-party tut, dış istekleri veri sızıntısı vektörü olarak değerlendir

    • Aslında yüksek standartlar var, ama mevcut yönetim bu standartlara uymuyor
    • Devlet uygulamalarının neden daha yüksek standartlara sahip olması gerektiğini sorgulayanlar da var. Sonuçta bunun sadece marka meselesi olduğunu düşünüyorlar
  • B2C uygulamalarının çoğunda da 3rd-party istek oranı %50’nin üzerinde
    White House uygulamasındaki %77 şaşırtıcı değil, ama App Store’daki veri toplama beyanlarının yanlış yazılmış olması sorundu
    Sonradan düzeltildi ve şu anda doğru görünüyor

    • Ben White House uygulamasının 3rd-party telemetrisine de diğer uygulamalarınkine de karşıyım. İkisine birden karşı çıkmak mümkün
    • Asıl sorun, devlet uygulamasının B2C gibi yapılmış olması
    • White House uygulamasının Huawei’ye veri gönderdiği gibi abartılı iddialar da vardı, ama aslında diğer uygulamalardan %20 daha fazla olması bile dikkat çekici
  • Devlet uygulamaları yüksek standartlara tabi olmalı, ama %77 oranı sektör ortalamasından çok da farklı olmayabilir
    Çok sayıda uygulama reklam kodu ve takipçi içerdiği için, bu seviye oldukça sıradan da olabilir

  • Uygulamanın kullandığı SDK listesi AppGoblin üzerinden görülebilir

  • Privacy manifest içinde “veri toplanmıyor” deniyor, ama gerçekte OneSignal’a cihaz modeli, IP, oturum sayısı ve takip kimliği gönderiliyor
    Bu, açık bir yanlış beyan (false attestation) sorunu

  • Bir sonraki adım herhalde reklam eklemek olur