1 poin oleh GN⁺ 2023-06-27 | 2 komentar | Bagikan ke WhatsApp
  • Dari pop-up Manage my account di Android, terbuka layar yang bisa berpindah ke situs web biasa, dan juga dapat diakses dari Settings serta rangkaian aplikasi Google
  • Jalur masuknya melewati tab Security di pengelolaan akun Google, Password Manager, bantuan enkripsi di perangkat, kebijakan privasi, lalu menu Search secara berurutan
  • Layar ini bahkan bisa memutar YouTube, tetapi tidak memiliki riwayat kunjungan maupun bilah alamat, dan tombol kembali membawa pengguna ke layar pengaturan, bukan ke riwayat web
  • Di konsol JavaScript terlihat objek mm serta fungsi closeView(), requestSecurityKeyHandshake(), dan updateSecurityKey(); kegunaan sebenarnya dari sebagian fungsi belum terkonfirmasi
  • Google awalnya menjawab bahwa ini bukan kerentanan keamanan dan bypass parental control juga merupakan perilaku yang disengaja, tetapi 3 hari setelah publikasi dan pemberitaan media, Google memberi tahu bahwa laporan tersebut akan ditinjau ulang

Browser tersembunyi yang terbuka di dalam Pengaturan Android

  • Beberapa aplikasi di Android memiliki pop-up Manage my account, dan ini juga dapat diakses dari aplikasi utama seperti Settings dan rangkaian aplikasi Google
  • Setelah beberapa langkah, bagian dalam pop-up berperilaku seperti browser yang bisa berpindah ke situs web biasa
    • Settings → pilih “Manage my account” dari Google atau aplikasi yang memungkinkan pemilihan akun
    • Di tab “Security”, pilih “Password Manager”
    • Pilih ikon Settings di kanan atas
    • Pilih “Set up on-device encryption” → “Learn more about on-device encryption”
    • Dari menu hamburger, masuk ke “Privacy Policy”
    • Tekan menu sembilan titik di bagian atas, tunggu sekitar 5 detik, lalu pilih “Search”, atau masuk ke item Google
    • Jika logout dari akun Google, layar ini dapat digunakan seperti browser yang bisa menuju ke mana saja
  • Dalam kondisi ini, pemutaran video YouTube juga bisa dilakukan, dan layarnya terbuka di dalam aplikasi Settings atau aplikasi tempat pertama kali masuk
  • Perbedaannya dengan browser biasa

    • Tidak meninggalkan riwayat kunjungan
    • Saat sesi berakhir, akun Google yang sedang login otomatis logout
    • Tidak ada bilah alamat
    • Jika menekan tombol kembali, pengguna kembali ke pengaturan Password Manager, bukan ke halaman web sebelumnya

Objek JavaScript mm dan respons Google

  • Di konsol JavaScript mobile seperti eruda, dapat ditemukan objek JavaScript bernama mm
  • Objek mm memiliki tiga fungsi
    • closeView(): menutup browser, dan berperilaku mirip ketika tombol kembali ditekan
    • requestSecurityKeyHandshake(): fungsinya belum terkonfirmasi, tetapi dari namanya terlihat sensitif
    • updateSecurityKey(): fungsinya belum terkonfirmasi, tetapi dari namanya terlihat sensitif
  • Karena browser ini terbuka dari jalur fitur on-device encryption, kemungkinan bahwa dua fungsi yang belum terkonfirmasi itu berkaitan dengan pengaturan kunci enkripsi lokal masih sebatas dugaan
  • Google menjawab laporan pertama bahwa ini bukan kerentanan keamanan, dan bypass parental control adalah “Intended Behavior”
  • Setelah tulisan dipublikasikan, berbagai media berbahasa Inggris dan Rusia membahasnya, dan 3 hari setelah publikasi Google memberi tahu bahwa laporan tersebut akan ditinjau kembali
  • Ada diskusi terkait di Hacker News discussion

2 komentar

 
wedding 2023-06-28

Saat masuk ke pengelola kata sandi, rasanya memang ada sedikit jeda.. jadi ini bukan cuma perasaanku ya.

 
GN⁺ 2023-06-27
Pendapat Hacker News
  • Saya sempat menyelidiki sedikit, dan ketika menekan "Manage my account", ternyata tidak tetap berada di dalam aplikasi Settings, melainkan berpindah ke Activity yang di-embed di dalam Google Play Services
    Pada akhirnya browser-nya adalah com.google.android.gms/.auth.folsom.ui.GenericActivity, dan tampaknya tidak menggunakan Chrome yang merupakan implementasi default system WebView di ponsel saya
    Android bisa membuat antarmuka antara kode Android dan kode JavaScript dengan addJavascriptInterface, dan sepertinya GMS cukup banyak memakainya, jadi ini terlihat seperti permukaan serangan yang layak dilihat nanti
    Antarmuka mm yang mencurigakan ada di dalam MagicArchChallengeView, dan terhubung ke kelas bwuz yang diobfuscate. bwuz sendiri nyaris kosong, tetapi kembali terhubung ke beberapa kelas terobfuscate lainnya
    Jika mencari string, terlihat bahwa dua kelas, qvc dan pdn, mengekspos fungsi terkait, dan pdn tampak sebagai inti utamanya, sementara qvc punya log error berguna yang menunjukkan masing-masing parameter itu apa
    setVaultSharedKeys mengharapkan array objek JSON dengan dua nilai, gaiaId dan epoch, serta key, lalu mengubahnya menjadi list dan meneruskannya ke kelas abstrak yang tampaknya sangat terkait dengan keamanan akun
    addEncryptionRecoveryMethod mengharapkan gaiaId, daftar security domain, dan kunci publik anggota, dan ini juga diteruskan ke kelas abstrak yang sama
    Saya berhenti di sini karena harus berangkat kerja, tetapi bukan hanya antarmuka ini, antarmuka lain yang diekspos GMS ke WebView juga tampak layak digali lebih lanjut
    https://developer.android.com/reference/android/webkit/WebVi...

    • Saya penasaran kenapa tidak memakai system default WebView. Kalau begitu berarti ini WebKit, bukan Blink?
      Sekalipun Blink, kemungkinan besar tidak semutakhir yang disediakan Chrome. Dari tautan dokumentasinya, sepertinya memang WebKit
    • Alex Russell pernah mengatakan di State of the Browser 2021 bahwa WebView di Android bukanlah Chrome
      https://2021.stateofthebrowser.com/speakers/alex-russell/
    • gaiaId itu ternyata singkatan dari Google Accounts and ID Administration ID; orang yang memberi nama itu untuk ID unik global Google pasti cukup bangga, dan memang pantas juga
  • Saya tidak paham apa bedanya ini dengan WebView embed lain. Bukannya hampir semua aplikasi menaruh embedded WebView untuk hal seperti "lihat kebijakan privasi"?
    Sering kali jauh lebih mudah menampilkan HTML daripada menyerahkan seluruh kebijakan privasi ke pengembang aplikasi

    • Ya, memang itu. Itu adalah Android System WebView, browser terembed yang dipakai saat aplikasinya sendiri bukan browser
    • Apakah dengan WebView seperti itu kita bisa mengunjungi situs web sembarang? Saya belum pernah berhasil
      Sepengetahuan saya, mengatur WebView yang mengizinkan banyak domain atau URL juga cukup sulit. Saya bukan developer Android, dan terakhir menyentuhnya pun sudah beberapa tahun lalu
    • Tampaknya WebView ini punya fungsi JavaScript berizin untuk pengelolaan dan pemulihan kunci milik password manager
    • Kalau dari aplikasi apa pun yang punya embedded WebView bisa melewati parental control, ini bug Android yang lebih besar
      Soal pengelolaan kunci itu masih lebih berupa dugaan, dan penulisnya juga belum menguji apa yang sebenarnya dilakukan, jadi levelnya masih sebatas “ada dua metode yang kelihatannya menakutkan, tapi saya tidak tahu sebenarnya apa”
    • Dulu di iTunes juga ada hal serupa yang bisa dilakukan untuk lucu-lucuan. Saya tidak terlalu yakin ini masalah sebesar itu
  • Ini agak mirip dengan dulu saat orang mengakses internet lewat file bantuan CHM ketika browser diblokir
    Sial, umur saya jadi ketahuan

    • Jadi sekarang orang membocorkan umur lewat eksploit? Bagaimana kalau yang seperti ini: “di terminal perpustakaan kampus saya membuka situs lewat gopher, lalu memulai sesi telnet, dan dari sana mengecek email kampus luar negara bagian selama liburan musim panas”?
    • Saya juga memakainya untuk memasang ulang game yang sudah dihapus admin
    • Di SMA kami, kami keluar dari shell bookshelf aneh dengan membuka Windows Explorer lewat dialog buka file di Notepad. Seingat saya itu produk IBM
  • Ini persis seperti cara saya dulu melewati aplikasi parental control di Windows waktu kecil
    Waktu penggunaan komputer saya cuma 1 jam, dan setelah waktunya habis, semua aplikasi akan ditutup kecuali aplikasi Microsoft Office dengan alasan produktivitas
    Setelah coba-coba menekan berbagai hal, saya entah bagaimana bisa membuka browser dari dalam Outlook dan main game Flash di Miniclip

    • Ini mengingatkan saya pada cara saya dulu melewati Mac yang terkunci saat SMA. Hanya aplikasi tertentu yang bisa dijalankan dan System Preferences juga tidak bisa dibuka, tetapi di Safari kita masih bisa mengubah browser web default
      Saya mengganti browser web default menjadi Terminal, lalu membuka Word, membuat tautan, dan mengkliknya. Biasanya Terminal yang dibuka secara normal dibatasi sehingga gagal menjalankan aplikasi lain, tetapi instance Terminal yang terbuka dengan cara ini punya izin lebih besar, jadi dengan open /path/to/your/app kita bisa menjalankan hal seperti game dari disk yang disisipkan
      Ketika guru pengawas belajar mandiri datang dan bertanya apakah kami boleh main Starcraft, saya menjawab, “Seperti yang Bapak/Ibu tahu, komputer-komputer ini sangat terkunci, jadi kalau kami bisa memainkan game ini, berarti sekolah mengizinkannya.” Saya masih tidak percaya itu berhasil
  • Kalau seorang anak bisa menemukan hack ini dan mengakses situs yang diblokir, menurut saya dia pantas menikmatinya

    • Bisa saja dia tidak menemukannya sendiri, melainkan membacanya di internet atau mendengarnya dari anak-anak lain
  • Ada trik bypass serupa di halaman lisensi about
    Ikuti tautan ke lisensi dan browser akan muncul. Berguna untuk memunculkan browser di head unit mobil atau sepeda Peloton

    • Saya barusan membuka halaman "Third-party licenses" di Pixel 6 dan yang muncul adalah daftar tautan yang seolah tak ada habisnya
      Kelihatannya seperti daftar semua file di dalam filesystem
  • Pengalaman orang yang melaporkan bug ke Google ini mengingatkanku pada pengalamanku sendiri
    Saya: Ada bug di Google Sheets yang membuat konten yang sudah dihapus terekspos ke pihak ketiga
    Google: Bukan bug. Bekerja sesuai yang dimaksud. Isu ditutup
    Saya: Serius? Saya benar-benar dirugikan saat memakai aplikasi ini
    Google: Sebenarnya ini memang bug, tapi karena sudah lama diketahui maka tidak termasuk bug bounty. Isu ditutup

    • Waktu saya melaporkan kerentanan ke Google, pengalamannya juga hampir persis sama
      Saya: Ada bug di Gmail yang memungkinkan email palsu menyembunyikan kegagalan DKIM dan terlihat seolah-olah normal
      Google: "Won't fix (Intended Behavior)"
      Saya: Jadi Google memang sengaja membuat email palsu terlihat normal di antarmuka?
      Google: Sebenarnya ini isu yang sudah diketahui
    • Saya juga pernah mengalami hal yang sama. Dari Google saya cuma menerima jawaban yang ngawang, lalu beberapa bulan kemudian kepala TAO mengumumkan perbaikan untuk kerentanan yang awalnya saya laporkan
      Lebih parah lagi, artikel-artikel awal mencoba mengaitkan kerentanan itu dengan peretasan China/Rusia. Propaganda seperti itu pantas dikembalikan ke Google sendiri. Google adalah perusahaan AS, dan mereka membiarkan backdoor terbuka lebar sehingga bisa dieksploitasi siapa saja, baik asing maupun domestik. Pada kenyataannya, keduanya memang mengeksploitasinya
      Google punya masalah yang nyata. Saya tidak tahu apa yang terjadi sejak 2019, tapi kondisinya tidak baik
    • Ada tambahan lain untuk cerita ini
      Saya: Ada bug di Google Play Services
      Google: Bukan bug. Bekerja sesuai yang dimaksud. Isu ditutup
      Saya: Saya memposting bug itu di blog, dan media memberitakannya besar-besaran
      Google: Sepertinya kami yang salah! Ini benar-benar bug. Kami akan menghubungi Anda lagi dalam beberapa minggu
  • Baru hari ini saya tahu ada yang namanya konsol JavaScript di ponsel
    https://eruda.liriliri.io/

    • Ada juga versi jarak jauh dari pembuat yang sama: https://github.com/liriliri/chii
      Anda bisa membuka developer tools dari komputer lain, dan semua informasi disinkronkan lewat WebSocket. Saya pernah memakainya saat debugging masalah di perangkat pelanggan
    • Akan bagus kalau ada bookmarklet. Developer tools browser saat ini juga awalnya seperti ini, yaitu berawal dari Firebug
    • Keren sekali. Di Brave pada iOS ini tidak jalan, tapi di Safari bisa, jadi itu sudah cukup
    • Entah cuma saya atau tidak, tapi ini sama sekali tidak berfungsi. Saat saya menempelkan snippet JavaScript ke bilah alamat, tidak terjadi apa-apa, dan di Nightly malah melakukan pencarian Google untuk string tersebut
    • Kadang saya repot-repot memakai data:text/html,, tapi ini ternyata fiturnya sangat lengkap
  • Saya dulu melakukan hal yang sama di lobi saat orang tua saya mengurus urusan bank
    Pada masa itu tag best viewed in Netscape Navigator benar-benar ladang emas. Alurnya juga hampir sama: menekan-nekan sampai tag seperti itu muncul, lalu dari sana pindah ke mesin pencari

    • Saya pernah memakai ini di Tesla sewaan untuk mencapai browser yang bisa menampilkan video hampir layar penuh lewat aplikasi YouTube
      Setelah itu saya masuk ke situs streaming penuh adware mencurigakan, lalu begitu mengganti ke video lain, seluruh komputer Tesla hang dan mobilnya harus di-hard reboot
  • Ini mengingatkan saya pada versi Windows lama. Menekan F1 dulu bisa memicu berbagai perintah eksekusi lewat Windows Help

    • Itu juga hal pertama yang terlintas di kepala saya. Rasanya seperti metode melewati layar login di Windows 95/98: “F1 → buka file bantuan → Other... → klik kanan explorer.exe lalu pilih Run”