2 poin oleh GN⁺ 2024-02-03 | 1 komentar | Bagikan ke WhatsApp
  • Browser tersembunyi di dalam Google Play Services dapat dibuka melalui tautan situs web di aplikasi Contacts, dan dapat melewati pembatasan umum kontrol orang tua Google serta lock-down mode
  • Alasan bypass ini memungkinkan adalah karena dalam lock-down mode pun Google Play Services dan aplikasi Contacts untuk ponsel tetap tersedia, sementara deeplink yang dibuka oleh Contacts tidak terkena pemblokiran kontrol orang tua
  • Mengarah ke layar what’s new Android, lalu dapat digunakan seperti browser dengan melewati Google Help dan halaman Google
  • Screen pinning di Android 11+ juga dapat dilewati dengan membuka https://podcasts.google.com dari aplikasi Contacts untuk memunculkan popup Google Podcast, lalu berpindah ke browser default
  • Google menerima laporan bypass kontrol orang tua dan bypass screen pinning sebagai kasus terpisah, tetapi menjawab bahwa bypass screen pinning adalah intended behavior, dan soal penanganan duplikat juga dialihkan sebagai masalah program reward terpisah

Browser Google Play Services yang Dibuka lewat Tautan Contacts

  • Di dalam Google Play Services terdapat browser rahasia yang dapat diakses melalui tautan, dan bisa dibuka dari kolom situs web kontak di aplikasi Contacts
  • Alur eksekusinya adalah mengedit atau membuat kontak baru di aplikasi Contacts, memasukkan https://gds.google.com/gmsdrops ke kolom “Website”, menyimpannya, lalu membuka tautan tersebut
  • Tautan ini adalah deeplink yang mengarah ke layar “what’s new” Android
    • Dengan melewati “Show me” dan “Learn more”, pengguna dapat masuk ke layar browser
    • Setelah itu, dari menu hamburger tekan “Google Help”, lalu dari menu lagi pilih “Google” untuk berpindah ke halaman Google
  • Browser ini bisa saja sudah login ke akun Google, atau belum
    • Logout dari Google di sini tidak berdampak pada browser Chrome
  • Dalam lock-down mode, Google mengunci berbagai aplikasi termasuk launcher Android dan sebagian sistem, tetapi tetap menyisakan Google Play Services yang dipakai untuk menampilkan popup dan menerapkan pembatasan, serta aplikasi Contacts untuk ponsel
  • Kontrol orang tua tidak mengizinkan pembukaan deeplink, tetapi saat kolom situs web pada kontak diklik, tautan dibuka oleh aplikasi Contacts sehingga tidak diblokir

Bypass Android Screen Pinning dan Respons Google

  • Android screen pinning adalah fitur di Android 11+ yang mengunci layar pada aplikasi tertentu agar pengguna tidak bisa berpindah ke aplikasi lain tanpa izin
  • Tautan gmsdrops yang sama tidak dapat digunakan saat screen pinning aktif karena caranya membuka aplikasi baru
  • Sebagai gantinya, deeplink Google Podcast terbuka sebagai jendela popup, bukan aplikasi penuh
    • Masukkan https://podcasts.google.com ke kolom situs web aplikasi Contacts, lalu saat aplikasi sedang dipin, buka tautan tersebut; jendela popup Google Podcast akan muncul
    • Dari ikon akun Google, tekan “Content policies” untuk berpindah ke browser default
    • Setelah itu pengguna dapat melewati Google Help dan menu Google untuk berpindah ke halaman Google
  • Dua laporan diajukan ke Google secara terpisah
    • Kasus bypass kontrol orang tua
    • Kasus bypass Android screen pinning
  • Google menggabungkan kasus bypass kontrol orang tua ke kasus bypass screen pinning, lalu penanganan kasus duplikat menjadi membingungkan
  • Jawaban Google untuk bypass screen pinning adalah “Android screen pinning bypassing is the intended behavior”
  • Mengenai penanganan duplikat, kasus tersebut ditutup sebagai duplikat dari “potentially another issue”, dan ada respons bernada bahwa karena itu merupakan program reward terpisah, maka bukan masalah mereka

1 komentar

 
GN⁺ 2024-02-03
Komentar Hacker News
  • Jika sebuah tim menerima laporan kerentanan keamanan, mereka tidak boleh berkata, “Itu urusan tim internal lain, jadi tanyakan ke mereka.”
    Sebenarnya, hampir siapa pun di dalam organisasi yang menerima laporan kerentanan yang masuk akal seharusnya memastikan laporan itu diteruskan ke orang yang tepat, bukan sekadar melepasnya begitu saja.

    • Jawaban “tim internal lain” itu tampaknya lebih mungkin merujuk pada sisi bug bounty daripada kerentanannya sendiri.
      Meski begitu, jika dilihat dari sisi sebaliknya, pekerjaan dukungan—baik untuk pelanggan eksternal maupun pemangku kepentingan internal—terasa seperti permainan lempar bom: orang pertama yang gagal meneruskannya ke orang lainlah yang kena.
      Akan bagus jika semua orang mau menangani keluhan pelanggan, terlepas dari siapa yang sebenarnya punya wewenang atau tanggung jawab, tetapi dalam kenyataannya banyak orang bertindak seperti interpretasi etika ala Kopenhagen.
      Bahkan meneruskan ke penanggung jawab pun berisiko, dan jika terlibat lebih jauh, Anda akan terseret dalam masalah itu dan dimintai tanggung jawab, terlepas dari seberapa relevan keterlibatan Anda sebenarnya.
      Ini bisa disebut masalah prinsipal-agen, atau bisa juga disebut “bertahan hidup di dunia tempat para peminta berburu orang yang akan memenuhi permintaan mereka.”
      Dulu saya mencoba menangani semua permintaan internal yang sedikit saja terkait dengan pekerjaan saya, tetapi manajer langsung saya meminta saya untuk meminta project ID atau kode penagihan untuk bantuan yang memakan waktu lebih dari 1 menit. Alasannya, kalau tidak begitu saya jadi tidak bisa mengerjakan pekerjaan yang seharusnya benar-benar dibayar.
    • Google adalah rajanya “bukan departemen saya”.
      “Saya tidak tahu kontak departemen lain di Google”, “Saya tidak tahu email siapa pun di tim lain Google”—sebenarnya mereka ini sedang apa?
    • Ini sepertinya bukan kerentanan dalam arti yang mengarah pada kompromi sistem.
      Memang ini adalah cacat desain pada fitur yang ditambahkan ke OS, tetapi apakah ini hal yang benar-benar membutuhkan investigasi besar-besaran adalah perkara lain.
    • “Tanyakan ke mereka” yang mereka maksud adalah soal mengapa isu itu diputuskan untuk ditutup, dan itu juga menyiratkan bahwa seseorang sudah meninjaunya.
      Sepertinya mereka tidak mengatakan, “Kami bahkan tidak berniat melihatnya.”
    • Saya bahkan tidak tahu bagaimana menemukan orang yang tepat sejak awal.
      Di perusahaan saya pun saya tidak punya gambaran harus bagaimana.
  • Waktu kecil, di lobi institusi seperti bank ada terminal komputer dengan browser khusus yang hanya bisa membuka situs web perusahaan, dan pada masa itu badge Best Viewed In juga umum.
    Kalau ikut orang tua mengurus sesuatu, saya akan mencari komputer seperti itu lalu mengklik halaman seperti Help sampai menemukan badge tersebut; dari situ saya bisa melewati pembatasan browser satu situs dan keluar ke tempat seperti netscape.com.
    Di sana saya bisa menemukan tautan mesin pencari dan menjelajahi apa pun yang saya mau.

    • Saya jadi teringat PC yang dipajang di toko seperti Sears dan CompUSA, yang hanya menjalankan software demo dan justru tidak membiarkan orang melakukan hal yang seharusnya dilakukan saat membeli PC, yaitu benar-benar menggunakannya.
      Jadi saya biasanya membuka Task Manager dengan CTRL+ALT+DEL dan mematikan software demo itu.
      Demo yang lebih bandel akan langsung berjalan lagi, jadi saya membuka msconfig, menghapusnya dari program startup, lalu reboot.
      Orang-orang yang menonton di samping saya kagum dan meminta saya melakukan hal yang sama pada PC mereka, sehingga mereka juga bisa mencoba Minesweeper atau Pinball.
      Sekarang kedengarannya amatiran, tetapi pada pertengahan 90-an CTRL+ALT+DEL adalah semacam power tool yang hanya diketahui pengguna mahir.
    • Saya masih ingat melewati filter web di komputer SMA.
      Di MS Word, kalau memilih membuka URL lalu memasukkan mesin pencari atau situs yang diinginkan, browser akan terbuka dan bisa menghindari filter web.
    • Dulu di perpustakaan saya sering terhubung ke berbagai host edu lewat telnet.
      Server-server itu biasanya menampilkan motd dengan more lalu meneruskan ke software seperti lynx, tetapi karena tidak memakai restricted mode, kita bisa mengetik !sh untuk membuka shell.
      Masa-masa yang indah.
    • Saat kuliah, komputer di pusat kebugaran juga punya pembatasan seperti ini.
      Karena saya bisa membuka email lewat web, saya mengirim tautan mesin pencari ke diri sendiri lewat email, lalu dari email mengklik kanan dan membukanya di frame yang sama.
      Setelah itu saya bisa pergi ke mana saja selama tempat itu bisa ditemukan dari hasil pencarian.
    • Saya tidak begitu tahu badge “Best Viewed In” itu seperti apa, dan penasaran bagaimana itu bisa dipakai untuk bypass.
      Saya punya pengalaman melewati pembatasan di SMA pada era 2000-an, jadi akan senang kalau ada orang yang kebetulan lewat bisa menjelaskannya lebih rinci.
  • Fitur kontrol orang tua Google punya terlalu banyak kekurangan
    Permintaan untuk menonaktifkan aplikasi Play Store sudah ada sejak lama, tetapi sampai sekarang masih tidak mungkin tanpa adb, dan adb bukan solusi yang baik karena menimbulkan masalah lain
    Rasanya anak-anak sungguhan tidak ikut menguji fitur kontrol orang tua ini
    Selama beberapa waktu, meski batas waktu YouTube dipasang, batasan itu bisa dilewati dengan sangat mudah: buka Play Store, masuk ke aplikasi yang punya video di daftar screenshot, lalu dari sana pindah ke YouTube
    Anak saya sendiri yang menemukannya dan menunjukkannya

    • Kontrol orang tua Google pada dasarnya hampir seperti software yang ditelantarkan, cara kerjanya pun kikuk, dan tidak terintegrasi dengan baik dengan produk dan layanan lain seperti Google Home atau Google TV
      Saya sudah menulis dokumen 5 halaman yang merangkum masalah ini, tetapi tidak ada orang yang bisa saya kirimi
      Keluhan terbesar muncul ketika ada dua anak yang lebih besar, bukan balita, serta beberapa perangkat Google—ponsel, tablet, Google TV, dan PC yang login dengan akun Google—dalam satu lingkungan
      Google tampaknya membayangkan kontrol orang tua sebagai skenario pengawasan “orang tua menyerahkan ponsel Billy secara fisik, lalu mengambilnya kembali setelah selesai”
      Pada dasarnya ini merepotkan dan mudah diakali karena berada di level perangkat, bukan level akun
      Misalnya, jika Jill bisa mengakses 3 Google TV di rumah dengan akunnya sendiri, Family Link menyuruh kita mengatur secara terpisah berapa jam per hari yang diizinkan di tiap TV
      Tetapi bagi Jill, TV ya cuma TV, jadi kalau ia sendirian di rumah, ia tinggal menghabiskan kuota TV pertama lalu pindah ke TV berikutnya
      Tidak ada bukti, tetapi rasanya tim produk yang berbeda sebenarnya tidak bekerja sama secara erat, atau bahkan diberi insentif untuk tidak bekerja sama, dan tim seperti ini mungkin saja merupakan tim buntu di dalam Google
      Orang-orang produk dan engineering yang masuk ke tim Family Link rasanya tidak punya anak sungguhan, atau anaknya masih terlalu kecil; kalaupun ada, mungkin hanya satu anak kecil
    • Menurut saya, kalimat “rasanya anak-anak sungguhan tidak ikut menguji fitur kontrol orang tua” juga berlaku apa adanya untuk layanan aksesibilitas
      Begitu mendapat izin aksesibilitas, sebuah aplikasi bisa sepenuhnya mengendalikan perangkat pengguna
      Mereka sebenarnya bisa saja memecah izin dan mengekspos API kontrol yang lebih granular, tetapi tampaknya desainnya berpusat pada kasus yang sangat ekstrem: pengguna yang benar-benar tunanetra harus memakai aplikasi aksesibilitas sebagai antarmuka untuk semua interaksi
      Akibatnya, meski hanya ingin memakai satu fungsi dari API itu, kita harus sepenuhnya memercayai aplikasinya dan memberinya cek kosong untuk melakukan apa saja di perangkat
      Pada akhirnya, hanya karena “skenario penggunaan yang kami maksud cuma ini dan kami tidak mau berkompromi untuk penggunaan lain”, terciptalah lubang besar dalam keamanan platform
    • Fitur kontrol orang tua itu benda yang aneh
      Kecuali Anda mengurung anak di ruang bawah tanah agar benar-benar terisolasi dari kelompok sebayanya, secara teknis Anda hampir tidak bisa menang melawan anak yang punya sedikit saja minat
      Fitur ini paling baik bekerja sebagai batas lunak: sekadar membuat pelanggaran menjadi pembangkangan yang jelas dan tidak ambigu jika mereka mengakalinya
      Pada akhirnya ini kontrol orang tua, bukan keamanan untuk menahan NSA, dan membuatnya sempurna secara teknis mungkin justru lebih buruk bagi semua orang
    • Saya rasa tidak banyak orang yang benar-benar sering memakai fitur kontrol orang tua di Android atau iOS
      Fitur ini dimasukkan agar konsumen merasa lebih aman, tetapi begitu benar-benar dicoba, orang cepat menyerah
      Contoh kecilnya, di Screen Time iOS, membatasi situs web ke daftar yang diizinkan terlihat berguna, tetapi jika dilakukan, banyak hal seperti layar login di berbagai aplikasi jadi rusak
      Tidak ada petunjuk juga URL mana yang harus diizinkan untuk memperbaiki sesuatu
      Saat memakai teknologi modern, kadang muncul pikiran “ini terlalu rumit dan rusak, jadi tidak mungkin banyak pengguna sungguhan yang memakainya”; fitur kontrol orang tua terasa persis seperti itu
    • Dulu saya memakai fitur kontrol orang tua, tetapi sekarang sudah berhenti
      Pada akhirnya itu hanya pengganti orang tua
      Pilihannya cuma dua: Anda peduli pada anak dan tahu apa yang mereka lakukan, atau tidak
      Jika menurut Anda anak rentan terhadap sesuatu di web, kemungkinan besar lebih tepat untuk tidak memberinya ponsel sejak awal
      Jika anak sudah cukup umur untuk memahami, yang dibutuhkan bukan kontrol orang tua berbasis software, melainkan orang tua; dan jika orang tuanya baik, aplikasi anak tidak memerlukan fitur kontrol orang tua
      Fitur kontrol orang tua juga mencegah pemasangan aplikasi dari sumber lain, padahal saya lebih menyukai aplikasi F-Droid daripada aplikasi Play Store
      Terakhir, fitur ini mengajarkan, melatih, dan memperkuat ilusi bahwa kita dikendalikan oleh suatu perusahaan software dan “dilindungi dari bahaya”
  • Ini adalah trik hacking seperti bypass layar login Windows 98
    https://i.imgur.com/BULPmCI.gif
    Sejujurnya saya tidak menyangka Google bisa menjadi seburuk Microsoft Windows 98 dalam desain sistem

    • Alasan ini merupakan exploit yang bagus adalah karena tidak perlu tahu hal rumit seperti buffer overflow
      Pengguna biasa pun bisa mengikuti langkah-langkahnya
      Sebagian besar keamanan tampaknya adalah meminimalkan permukaan serangan agar hal yang perlu dipikirkan berkurang
      Kenapa dialog login harus bisa mencetak tooltip, entahlah
      Begitu pencetakan masuk, ikut masuk pula berbagai macam komponen pihak ketiga yang tidak aman
      Kalaupun pencetakan tooltip atau bantuan diizinkan, seharusnya ada konteks keamanan tempat fungsi seperti itu dimatikan
      PDF juga mirip; 99% fitur arbitrer seperti model 3D atau scripting dipakai untuk exploit keamanan
      Sebaiknya default-nya dibuat sederhana dan fitur seperti itu dihindari
    • Ini bukan bypass layar kunci
  • Saya teringat meme klasik ini: https://imgur.com/BULPmCI?r

    • Saya langsung terpikir hal yang sama
      Saya pernah memakai teknik yang mirip dengan artikel aslinya untuk bypass FRP pada Pixel 2 bekas yang saya beli di Craigslist
      Saya juga jadi berpikir bahwa saat kecil, karena bosan, saya menatap layar ini berjam-jam sampai akhirnya berhasil menembusnya dan merasakan “sensasi pertama” itu—mungkin momen itulah yang menentukan arah seluruh hidup saya
  • Saya teringat pada “peretasan” pertama saya dan pengalaman mengutak-atik bagian dalam sistem komputer, yang kemudian berlanjut menjadi karier di bidang IT dan engineering
    Saat membajak Halo PC, saya merusak komputer keluarga dengan trojan horse, dan harus mencari cara memperbaikinya sebelum ayah pulang
    Saya juga harus mengakali ketika orang tua tiba-tiba memasang fitur parental control seperti NetNanny di komputer pribadi kami. Saat itu saya sudah memakai internet selama beberapa tahun, dan mungkin Comcast mengirim surat karena pembajakan ceroboh yang disebut di atas
    Dalam proses memulihkan netbook agar layak dipakai lagi tanpa meninggalkan jejak modifikasi, saya berkenalan dengan Linux Live CD dan Linux
    Senang rasanya mengetahui para hacker masa depan masih mendapatkan pendidikan seperti itu

    • Mirip dengan itu, saya ingat pernah cukup lama menelusuri halaman Gopher National Capital Feenet's](https://www.ncf.ca/en/)'s)
      Saya menemukan tautan di dalam tautan di dalam tautan yang bisa membuat koneksi telnet sembarang, untuk mencoba mengakali pembatasan yang dimaksudkan agar layanan dial-up gratis hanya dipakai untuk layanan mereka sendiri
      Misalnya untuk bermain Nethack di server publik milik tamu.edu, meski saya sekarang tidak ingat lagi nama domain persisnya
    • Mengakali NetNanny jelas meningkatkan kemampuan komputer saya
      Itu klasik
  • Ada juga tulisan lama yang terkait
    Google has a secret browser hidden inside the settings - https://news.ycombinator.com/item?id=36478206 - Juni 2023, 312 komentar

  • Saya membaca bahwa Google Play Services juga bisa memberi izin baru kepada dirinya sendiri[1]
    Bagaimana itu bisa terjadi? Apakah ia punya akses root?
    [1]https://developers.google.com/android/guides/permissions

    • Bukan root, tetapi karena merupakan aplikasi sistem berhak istimewa, ia bisa melakukan nyaris segudang hal yang tidak bisa dilakukan aplikasi terpasang tanpa root
    • Aplikasi sistem atau aplikasi vendor pun harus mendefinisikan izin terlebih dahulu di manifest, jadi bukan berarti semua aplikasi sistem bisa melakukan apa saja
      Namun daftar izin yang dapat diakses aplikasi seperti itu terlalu luas, sehingga jika pengembang mendefinisikan cukup banyak izin, secara praktis bisa dipakai seperti root
    • Betul
      Ia bukan pengguna root yang sebenarnya, tetapi dipercaya secara membabi buta dan bisa melakukan hal seperti memasang aplikasi tanpa konfirmasi pengguna
      Seperti dibahas dalam tulisan blog lain tentang GMS, bridge JS bisa berjalan dalam cakupan berhak istimewa
      Saat memasang Android, dengan menyetujui Kebijakan Privasi Google, pada dasarnya Anda juga menyetujui hal ini
    • Untungnya, ia bisa dipasang di dalam sandbox, bukan sebagai aplikasi berhak istimewa
      Misalnya ini bisa dilakukan di GrapheneOS
    • Ini memang tepat disebut backdoor
      Ia bahkan sudah bisa memasang dan menghapus aplikasi tanpa izin pengguna
      Dulu hal ini pernah menimbulkan masalah, tetapi belum cukup banyak yang terjadi
  • GrapheneOS yang memakai Play Services yang disandbox tampaknya tidak terdampak
    Aplikasi Phone sepertinya tidak bisa melihat atau membuka URL web dari kontak, dan aplikasi Contacts juga gagal membuka dua URL yang disebut di tulisan dalam mode pinned

  • Jika tertarik dengan diskusi sebelumnya dari 2023, ada di sini, 312 komentar
    https://news.ycombinator.com/item?id=36478206