2 puan yazan GN⁺ 2024-02-03 | 1 yorum | WhatsApp'ta paylaş
  • Google Play Services içindeki gizli tarayıcı, Contacts uygulamasındaki web sitesi bağlantısıyla açılabiliyor ve Google ebeveyn denetimlerinin genel kısıtlamaları ile lock-down mode’u aşabiliyor
  • Bunu mümkün kılan neden, lock-down mode’da bile Google Play Services ve telefon için Contacts uygulamasının kalması; Contacts’ın açtığı deeplink’lerin ebeveyn denetimi engeline takılmayan bir yapıda olması
  • Android “what’s new” ekranına götürüyor; Google Yardım ve Google sayfaları üzerinden tarayıcı gibi kullanılabiliyor
  • Android 11+’daki screen pinning de Contacts uygulamasından Google Podcast açılıp bir açılır pencere gösterildikten sonra varsayılan tarayıcıya geçilerek aşılabiliyor
  • Google, ebeveyn denetimi aşımı ve screen pinning aşımı bildirimlerini ayrı vakalar olarak aldı; ancak screen pinning aşımı için intended behavior yanıtını verdi ve yinelenen kayıt işlemesini de ayrı bir ödül programı meselesi olarak değerlendirdi

Contacts bağlantısıyla açılan Google Play Services tarayıcısı

  • Google Play Services içinde bağlantı üzerinden erişilebilen gizli bir tarayıcı bulunuyor ve Contacts uygulamasındaki kişi web sitesi alanından açılabiliyor
  • Çalıştırma akışı, Contacts uygulamasında bir kişiyi düzenleyip veya yeni bir kişi oluşturup “Website” alanına https://gds.google.com/gmsdrops yazıp kaydettikten sonra bağlantıyı açma şeklinde
  • Bu bağlantı, Android’in “what’s new” ekranına giden bir deeplink
    • “Show me” ve “Learn more” adımlarından geçilince tarayıcı ekranına girilebiliyor
    • Ardından hamburger menüden “Google Help”e basıp, tekrar menüden “Google” seçilerek Google sayfasına gidilebiliyor
  • Bu tarayıcı Google hesabında oturum açmış olabilir de olmayabilir de
    • Buradan Google oturumu kapatılsa bile Chrome tarayıcısı etkilenmiyor
  • lock-down mode’da Google, Android başlatıcı ve sistemin bazı bölümleri de dahil olmak üzere uygulamaları kilitliyor; ancak açılır pencere gösterimi ve kısıtlama uygulamak için kullanılan Google Play Services ile telefon için Contacts uygulamasını bırakıyor
  • Ebeveyn denetimleri deeplink açılmasına izin vermiyor; ancak kişinin web sitesi alanına tıklandığında bağlantıyı Contacts uygulaması açtığı için engellenmiyor

Android screen pinning aşımı ve Google’ın yanıtı

  • Android screen pinning, Android 11+’da ekranı belirli bir uygulamaya sabitleyerek izin olmadan başka bir uygulamaya geçilmesini engelleyen bir özellik
  • Aynı gmsdrops bağlantısı, screen pinning durumunda yeni bir uygulama açtığı için kullanılamıyor
  • Bunun yerine Google Podcast deeplink’i, tam bir uygulama olarak değil açılır pencere olarak açılıyor
    • Contacts uygulamasının web sitesi alanına https://podcasts.google.com yazıp, uygulama sabitlenmiş durumdayken bağlantı açıldığında Google Podcast açılır penceresi beliriyor
    • Google hesabı simgesinden “Content policies”e basılınca varsayılan tarayıcıya geçilebiliyor
    • Ardından Google Help ve Google menüsü üzerinden Google sayfasına gidilebiliyor
  • Google’a iki konu ayrı ayrı bildirildi
    • Ebeveyn denetimi aşımı vakası
    • Android screen pinning aşımı vakası
  • Google, ebeveyn denetimi aşımı konusunu screen pinning aşımı konusuyla birleştirdi; sonrasında yinelenen vaka işlemesi karışık bir hâle geldi
  • Google’ın screen pinning aşımıyla ilgili yanıtı “Android screen pinning bypassing is the intended behavior” oldu
  • Yinelenen kayıt işlemesiyle ilgili olarak ise “potentially another issue”nun yineleneni olarak kapatıldı ve ayrı bir ödül programı olduğu için kendi sorunları olmadığı anlamına gelen bir yanıt verildi

1 yorum

 
GN⁺ 2024-02-03
Hacker News görüşleri
  • Güvenlik açığı bildirimlerini alan bir ekipseniz, “bu başka bir iç ekibin işi, gidin onlara sorun” dememelisiniz
    Aslında kurum içindeki neredeyse herkes, makul görünen bir güvenlik açığı bildirimi aldığında bunun doğru kişilere iletilmesini sağlamalı; bu öylece geçiştirilecek bir şey değil

    • “Başka bir iç ekip” yanıtı, güvenlik açığının kendisinden çok bug bounty tarafına ilişkin bir yorum olmuş olabilir
      Yine de tersinden bakınca, ister dış müşteri ister iç paydaş olsun, destek işi adeta sıcak patates gibidir; başkasına devredemeyen ilk kişi yanar
      Herkesin, gerçekte yetki ya da sorumluluk kimde olursa olsun, müşteri şikayetlerini çözmeyi üstlenmesi güzel olurdu ama pratikte birçok kişi Kopenhag usulü etik yorumuyla hareket ediyor
      Sırf sorumlu kişiye iletmek bile riskli ve bunun ötesinde dahil olmak, gerçek ilgisi olsun olmasın, sizi sorunun içine çekip sorumluluk yükleyebiliyor
      Buna asıl-vekil problemi de diyebilirsiniz, “isteğini yerine getirecek birini avlayan insanlarla dolu bir dünyada hayatta kalmak” da diyebilirsiniz
      Eskiden işle az da olsa ilgili her iç talebi halletmeye çalışırdım ama doğrudan yöneticim, 1 dakikadan uzun sürecek yardımlar için proje ID’si ya da masraf kodu istememi söyledi. Yoksa aslında ücretlendirilmesi gereken işleri yapamaz hale geldiğimi düşünüyordu
    • Google, “benim departmanım değil” tavrının kralı
      “Google içindeki başka departmanların iletişim bilgilerini bilmiyorum”, “Google’daki başka ekiplerden kimsenin e-postasını bilmiyorum” demeleri, insanı gerçekten şaşırtıyor
    • Bu, sistemin ele geçirilmesine yol açacak anlamda bir güvenlik açığı gibi görünmüyor
      İşletim sistemine eklenmiş bir özelliğin tasarım kusuru olduğu doğru ama büyük çaplı bir incelemeyi zorunlu kılan bir konu olup olmadığı ayrı mesele
    • Söyledikleri “gidip onlara sorun” ifadesi, neden konuyu kapatmaya karar verdiklerine ilişkindi ve bunu zaten birinin incelemiş olduğu anlamına da geliyor
      “Buna bakmayı bile düşünmüyoruz” gibi bir tavırları varmış gibi görünmüyor
    • En başta doğru sorumluyu nasıl bulacağımı bile bilmiyorum
      Bizim şirkette de böyle bir durumda ne yapılacağını kestiremiyorum
  • Çocukken banka gibi kurumların lobilerinde, yalnızca şirketin web sitesini açan özel tarayıcıların kurulu olduğu bilgisayar terminalleri olurdu; o dönem Best Viewed In rozetleri de yaygındı
    Annem babamla bir işi için gittiğimde böyle bir bilgisayar bulur, Help gibi bir sayfaya tıklayıp o rozeti arardım; bulunca da tek siteyle sınırlı tarayıcı kısıtını aşıp netscape.com gibi yerlere çıkabilirdim
    Oradan bir arama motoru bağlantısı bulup istediğim yerleri dolaşabiliyordum

    • Sears, CompUSA gibi mağazalarda sergilenen PC’lerin yalnızca demo yazılımını gösterip, oysa PC alırken yapmak isteyeceğiniz asıl şeyi yani gerçekten kullanmayı engellediği günleri hatırlatıyor
      Bu yüzden CTRL+ALT+DEL ile görev yöneticisini açıp demo yazılımını kapatırdım
      Daha inatçı demolarsa hemen yeniden çalıştığı için msconfig’i açıp başlangıçtan çıkarır, sonra yeniden başlatırdım
      Yanımda izleyen insanlar bunu hayranlıkla karşılayıp kendi PC’lerinde de aynısını yapmamı isterdi; sonra onlar da Mayın Tarlası ya da Pinball deneyebilirdi
      Bugün amatörce gelebilir ama 90’ların ortasında CTRL+ALT+DEL, ancak işten anlayanların bildiği bir tür güç aracıydı
    • Lisede okul bilgisayarlarındaki web filtresini aşma anım aklımda
      MS Word’de URL aç seçeneğini kullanıp arama motorunu ya da istediğiniz siteyi girince tarayıcı açılır ve web filtresi atlatılabilirdi
    • Eskiden kütüphaneden çeşitli edu host’larına telnet ile bağlanırdım
      Bu sunucular genelde motd’yi more ile gösterip sonra lynx gibi yazılımlara geçirirdi ama restricted mode kullanmadıkları için !sh yazarak bir kabuk açabiliyordunuz
      Güzel zamanlardı
    • Üniversitedeyken spor salonundaki bilgisayarlarda da benzer kısıtlar vardı
      Web üzerinden e-postaya erişilebildiği için, kendime arama motoru bağlantılarını e-postayla gönderir ve e-postadaki bağlantıya sağ tıklayıp aynı çerçevede açardım
      Ondan sonra arama sonuçlarından bulunabilen her yere gidebiliyordum
    • “Best Viewed In” rozetinin tam olarak ne olduğunu bilmiyorum ve bununla kısıtın nasıl aşıldığını merak ediyorum
      2000’lerde lisede kısıtları atlatma deneyimim var, o yüzden yoldan geçen biri detaylı anlatırsa sevinirim
  • Google’ın ebeveyn denetimi özellikleri fazla hayal kırıklığı yaratıyor
    Play Store uygulamasını devre dışı bırakma talebi uzun zaman önce vardı ama hâlâ adb olmadan mümkün değil ve adb de başka sorunlar doğurduğu için iyi bir çözüm değil
    Gerçek çocukların ebeveyn denetimi özelliklerini test etmediği hissi veriyor
    Bir süre boyunca YouTube’a süre sınırı koysanız bile Play Store’u açıp, ekran görüntüsü listesinde video bulunan bir uygulamaya gidip oradan YouTube’a geçerek çok kolay şekilde aşılabiliyordu
    Bunu bizzat oğlum bulup bana göstermişti

    • Google ebeveyn denetimi aslında neredeyse terk edilmiş bir yazılım gibi; hantallıkla çalışıyor ve Google Home ya da Google TV gibi diğer ürün ve hizmetlerle de iyi entegre olmuyor
      Bu sorunları toparlayan 5 sayfalık bir belge yazdım ama gönderecek kimse yok
      En büyük şikâyet, artık küçük çocuk olmayan iki çocukla birlikte telefonlar, tabletler, Google TV’ler ve Google hesabıyla oturum açılmış PC’ler gibi birden fazla Google cihazı aynı ortamda olduğunda ortaya çıkıyor
      Google sanki ebeveyn denetimini “Billy’nin telefonunu ebeveyn fiziksel olarak veriyor ve iş bitince geri alıyor” türü gözetimli bir durum için tasarlamış gibi duruyor
      Temelde hesap düzeyinde değil, cihaz düzeyinde olduğu için hem zahmetli hem de aşması kolay
      Örneğin Jill evdeki 3 Google TV’ye kendi hesabıyla erişebiliyorsa, Family Link her TV için günde kaç saat izin verileceğini ayrı ayrı ayarlatıyor
      Ama Jill için TV sadece TV, yani evde yalnızsa ilk TV’nin kotasını bitirip sonra öbürüne geçiyor
      Kanıtım yok ama farklı ürün ekipleri ya gerçekte yakın çalışmıyor ya da hatta birlikte çalışmamaları yönünde teşvik ediliyor gibiler; bu ekipler Google içinde çıkmaz sokak ekipleri de olabilir
      Family Link ekibine gelen ürün ve mühendislik sorumlularının ya gerçekten çocuğu yok ya da çocukları çok küçük; varsa da en fazla bir küçük çocukları var gibi görünüyor
    • “Gerçek çocukların ebeveyn denetimi özelliklerini test etmediği hissi” sözünün erişilebilirlik servisleri için de birebir geçerli olduğunu düşünüyorum
      Erişilebilirlik izni alındığı anda kullanıcının cihazı tamamen kontrol edilebiliyor
      İzinler bölünüp daha ince ayarlı kontrol API’leri sunulabilirdi ama sanki tasarım, tamamen görme engelli bir kullanıcının erişilebilirlik uygulamasını tüm etkileşimlerin arayüzü olarak kullanmak zorunda olduğu çok uç bir senaryo etrafında yapılmış
      Sonuçta o API’nin yalnızca tek bir özelliğini kullanmak isteseniz bile uygulamaya tamamen güvenmeniz ve cihazda her şeyi yapabilen açık çek vermeniz gerekiyor
      Sonunda da “bizim amaçladığımız kullanım senaryosu sadece bu, başka kullanım için taviz vermeyiz” denildiği için platform güvenliğinde devasa bir delik açılıyor
    • Ebeveyn denetimi tuhaf bir şey
      Akran grubundan tamamen izole etmek için bodruma kapatmıyorsanız, biraz meraklı bir çocuğa teknik olarak karşı koymak neredeyse imkânsız
      Bu özellik en iyi yumuşak bir sınır olarak çalışıyor. Aşılması durumunda bunun açık ve yoruma kapalı bir itaatsizlik sayılmasını sağlıyor, o kadar
      Sonuçta bu ebeveyn denetimi; NSA’yı durduracak bir güvenlik sistemi değil ve bunu teknik olarak kusursuz hâle getirmek herkes için daha kötü bile olabilir
    • Android ya da iOS’ta ebeveyn denetimini gerçekten yoğun kullanan pek insan olmadığını düşünüyorum
      Tüketicinin kendini daha güvende hissetmesi için eklenmiş bir özellik ama gerçekten kullanmaya çalışınca insanlar çabucak vazgeçiyor
      Küçük bir örnek olarak, iOS Screen Time içinde web sitelerini izin verilenler listesiyle sınırlayabiliyorsunuz; kulağa kullanışlı geliyor ama bunu yapınca birçok uygulamanın giriş ekranı gibi şeyler topluca bozuluyor
      Bir şeyi düzeltmek için hangi URL’yi izinli yapmanız gerektiğine dair de hiçbir ipucu vermiyor
      Modern teknolojiyi kullanırken bazen “bu fazla karmaşık ve fazla bozuk, bunu gerçekten çok kişi kullanıyor olamaz” diye düşündüğünüz şeyler olur; ebeveyn denetimi tam olarak öyle hissettiriyor
    • Eskiden ebeveyn denetimi kullanıyordum ama artık bıraktım
      Sonuçta sadece ebeveynin yerine geçen bir şey
      Ya çocuğunuzla ilgilenip ne yaptığını bilirsiniz ya da bilmezsiniz
      Çocuğunuzun internette bir şeye karşı savunmasız olduğunu düşünüyorsanız, muhtemelen en doğrusu en baştan ona telefon vermemektir
      Çocuk anlayacak kadar büyükse ihtiyacı olan şey yazılımsal ebeveyn denetimi değil, ebeveyndir; iyi bir ebeveynseniz de çocuğun uygulamalarında ebeveyn denetimine ihtiyaç olmaz
      Ebeveyn denetimi ayrıca uygulamaların başka kaynaklardan kurulmasını da engelliyor ama ben Play Store uygulamalarındansa F-Droid uygulamalarını tercih ediyorum
      Son olarak bu özellik, bir yazılım şirketi tarafından kontrol edildiğimiz ve “tehlikelerden korunduğumuz” yanılsamasını öğretiyor, eğitiyor ve pekiştiriyor
  • Bu, Windows 98 giriş ekranını atlatma türü bir hack numarası
    https://i.imgur.com/BULPmCI.gif
    Dürüst olmak gerekirse Google’ın sistem tasarımında Microsoft Windows 98 seviyesinde kötüleşeceğini beklemiyordum

    • Bunun harika bir exploit olmasının nedeni, buffer overflow gibi karmaşık bilgiler gerektirmemesi
      Sıradan kullanıcılar bile adımları izleyerek bunu yapabilir
      Güvenliğin önemli bir kısmı, düşünmeniz gereken şeyleri azaltmak için saldırı yüzeyini küçültmek gibi görünüyor
      Giriş iletişim kutusunda araç ipuçlarını yazdırabilmenin ne gerekçesi olabilir diye insan düşünüyor
      Yazdırma işin içine girdiği anda güvenli olmayan türlü üçüncü taraf bileşen de işin içine giriyor
      Araç ipuçlarının ya da yardımın yazdırılmasına izin verilecekse bile, böyle özelliklerin kapatıldığı bir güvenlik bağlamı olması gerekirdi
      PDF de benzer; 3D modeller ya da script yazımı gibi rastgele özelliklerin %99’u güvenlik exploit’lerinde kullanıldı
      Varsayılanı basit tutup böyle özelliklerden kaçınmak daha iyi
    • Bu, kilit ekranını aşmak değil
  • Bu klasik görsel aklıma geldi: https://imgur.com/BULPmCI?r

    • Benim de aklıma gelen tam olarak buydu
      Craigslist’ten ikinci el aldığım bir Pixel 2’de FRP atlatma için orijinal gönderidekine benzer bir teknik kullanmıştım
      Küçükken can sıkıntısından bu ekrana saatlerce bakıp sonunda içeri sızarak ilk “o hissi” yaşadığım anın, hayatımın genel yönünü belirlediğini düşündüğüm bile oldu
  • İlk “hack” deneyimim ve bilgisayar sistemlerinin içini kurcaladığım günler aklıma geliyor; bu da IT ve mühendislik kariyerine uzandı
    Halo PC’yi korsan kopyalarken bir truva atıyla aile bilgisayarını bozmuştum ve babam eve gelmeden önce bunu nasıl düzelteceğimi bulmam gerekiyordu
    Ailem kişisel bilgisayarımıza aniden NetNanny benzeri ebeveyn denetimleri kurduğunda da bunları aşmam gerekmişti. O noktada interneti zaten birkaç yıldır kullanıyordum ve muhtemelen yukarıdaki özensiz korsan kopya yüzünden Comcast’ten bir mektup da gelmiş olabilir
    Değişiklik izi bırakmadan netbook’u yeniden kullanılabilir hale getirme sürecinde Linux Live CD ve Linux ile tanıştım
    Yarının hackerlarının hâlâ böyle bir eğitimden geçiyor olması sevindirici

    • Benzer şekilde, National Capital Feenet's](https://www.ncf.ca/en/)'s) Gopher sayfalarını epey uzun süre kurcaladığımı hatırlıyorum
      Rastgele telnet bağlantıları kurabilen bir bağlantının bağlantısının bağlantısını bularak, ücretsiz dial-up hizmetini sadece kendi servisleri için kullandırmaya çalışan kısıtlamaları aşmaya uğraşıyordum
      Örneğin tamu.edu’nun herkese açık sunucusunda Nethack oynamaya çalışıyordum ama tam alan adını artık hatırlamıyorum
    • NetNanny’yi aşmak bilgisayar becerilerimi kesinlikle geliştirdi
      Klasikti
  • Bununla ilgili önceki bir yazı da var
    Google has a secret browser hidden inside the settings - https://news.ycombinator.com/item?id=36478206 - Haziran 2023, 312 yorum

  • Google Play Services’ın kendisine yeni izinler verebildiğini okudum[1]
    Bu nasıl mümkün oluyor? root yetkisi mi var?
    [1]https://developers.google.com/android/guides/permissions

    • root değil ama ayrıcalıklı bir sistem uygulaması, bu yüzden yüklü bir uygulamanın root olmadan yapamayacağı şeylerin neredeyse bir fabrika dolusunu yapabiliyor
    • Sistem uygulamaları ya da üretici uygulamaları da izinleri manifest içinde önceden tanımlamak zorunda, yani her sistem uygulaması her şeyi yapamaz
      Ancak bu uygulamaların erişebildiği izin listesi o kadar geniş ki, geliştirici yeterince çok şey tanımlarsa pratikte root gibi kullanılabilir
    • Evet
      Fiilen root kullanıcısı değil ama körü körüne güveniliyor ve kullanıcı onayı olmadan uygulama kurmak gibi şeyler yapabiliyor
      GMS hakkında başka bir blog yazısında ele alındığı gibi, JS bridge ayrıcalıklı bağlamda çalışabiliyor
      Android’i kurarken Google gizlilik politikasını kabul ettiğinizde buna da onay vermiş oluyorsunuz
    • Neyse ki bunu ayrıcalıklı bir uygulama olarak değil, sandbox içinde kurmak mümkün
      Örneğin GrapheneOS’ta yapılabiliyor
    • Buna arka kapı demek doğru olur
      Zaten kullanıcı izni olmadan uygulama kurup kaldırabiliyor
      Geçmişte bu yüzden bazı sorunlar da oldu ama yeterince büyük olaylar yaşanmadı
  • Sandbox içine alınmış Play Services kullanan GrapheneOS etkilenmiyor gibi görünüyor
    Phone uygulaması kişilerin içindeki web URL’lerini göremiyor ya da açamıyor gibi; Contacts uygulaması da sabitlenmiş modda yazıda geçen iki URL’yi açmayı başaramıyor

  • 2023’teki önceki tartışmayı merak edenler için burada, 312 yorum
    https://news.ycombinator.com/item?id=36478206