Saya melihat diskusi di Grup Google Blink-dev dan melihatnya pesannya:

Mungkin merupakan hal yang baik bagi pilihan pengguna untuk memiliki browser yang sepenuhnya terbuka untuk penggunaan apa pun dan memungkinkan tindakan pengguna anonim.

Hasil dari keterbukaan tersebut adalah seluruh rangkaian layanan yang perlu memercayai klien (digunakan dalam arti sebenarnya) tidak tersedia untuk aplikasi web. (…)

Saya baru-baru ini mengerjakan fork Chromium yang dirancang untuk memiliki fungsi ini dan pada aplikasi Native Wallet untuk mendapatkannya. Kurangnya fungsi ini di Chrome akan membuat pengembang menjauh dari Chrome dan memecah pengalaman pengguna. Kami sudah mengalami masalah dalam mengarahkan pengguna keluar dari Chrome ke dompet aman dan tidak dapat mengembalikan sesi pengguna asli ke Chrome. Tentu saja Google dan Apple dapat menyelesaikan masalah ini dengan dompet mereka sendiri, tetapi hal tersebut tidak akan terjadi di Eropa dan sekarang Departemen Keamanan Dalam Negeri AS juga meminta solusi yang lebih terbuka.

Pemahaman saya tentang keamanan memicu teriakan internal.

Temui aplikasi McDonald’s

Tunggu, aku sama sekali tidak bercanda. Pengembang aplikasi McDonald’s berupaya keras untuk mengawasi klien yang diizinkan untuk bermimpi menjalankan aplikasi tersebut. Aplikasi sedang memeriksa:

  • apakah Anda memiliki direktori yang dipanggil TWRP di penyimpanan internal Anda. TWRP adalah pemulihan khusus, dan secara default, menyimpan cadangan perangkat yang Anda hasilkan dari pemulihan di sana. Anda memiliki cadangan perangkat? Maka tidak ada kesepakatan untukmu, kutu buku.
  • apakah Anda memilikinya com.topjohnwu.magisk aplikasi terpasang. Anda suka memodifikasi perangkat Anda, bukan? Bayar harga penuh, kutu buku.
  • apakah Anda telah menginstal aplikasi tersebut com.android.vendinglebih dikenal sebagai Google Play. Apa, kamu tidak memilikinya? Harganya €14,50, aneh.
  • periksa perangkat Anda dengan RootBeer, perpustakaan yang mencoba memeriksa apakah Anda memiliki akses root. Tidak lewat? Kartu atau uang tunai, kutu buku?
  • dan terakhir, menggunakan SafetyNet API (sekarang diubah namanya menjadi Play Integrity, khususnya bagian Integritas Perangkat dan Integritas Aplikasi, dengan beberapa perubahan kecil). Tidak lulus? Membayar. Orang aneh.

Ini lebih menyebalkan daripada aplikasi keuangan apa pun yang pernah saya miliki, dan saya punya 5 aplikasi di ponsel saya. mBank.pl menggunakan Play Integrity API, tetapi itu menggunakan pembayaran nirsentuh melalui BLIK, dan aplikasi lainnya berfungsi. IKO, aplikasi PKO BP, melihat saya memiliki akses root, menonaktifkan login dengan biometri, mengharuskan saya login dengan kode PIN. bunq memberitahuku bahwa mungkin perangkatku tidak boleh di-root. Yang terburuk sepertinya adalah Revolut, yang memblokir akses saya, dengan jelas menyatakan alasannya untuk menjadi akses root.

Aplikasi McDonald’s hanya menampilkan pesan kesalahan umum, dan kode kesalahan yang tidak memberi tahu Anda apa pun.

Dan apa yang begitu dijaga?

Apa itu Penawaran di dalam aplikasi? Saat ini saya bisa mendapatkan burger gratis seharga 650 poin, yaitu jika saya menghabiskan 65 Euro di McDonald’s terlebih dahulu. Kesepakatan yang luar biasa. Tapi bukan itu yang membawaku ke sini.

Dahulu kala ada sebuah promosi bekerja sama antara Coca-Cola dan McDonald’s, khusus tersedia di Polandia. Intinya menjadi ini:

  1. Beli 3 botol Coca-Cola.
  2. Masukkan 3 kode (dari setiap botol) ke dalam aplikasi Coca-Cola.
  3. Masukkan kode yang Anda dapatkan dari aplikasi Coca-Cola ke dalam aplikasi McDonald’s.
  4. Sebagai imbalannya, Anda mendapat makanan gratis dengan Big Mac.

Abaikan duplikasi yang tidak perlu ini dengan menyalin kode antara 2 aplikasi. Sebenarnya abaikan bagian Coca-Cola secara keseluruhan. Jadi, apa yang terjadi di aplikasi McDonald’s? Seperti banyak hal di aplikasi itu, kesepakatan ini dioperasikan oleh halaman yang dibuka di WebView. Konfigurasi negara diatur agar mengarah ke halaman kesepakatan dari layar utama. Di halaman tersebut, ada formulir yang cukup sederhana:

Ketidakjelasan bukanlah keamanan

Mulai sekarang, ini pada dasarnya adalah pemeriksaan mayat, hanya saja bukan McDonald’s yang menulisnya.

Halaman yang dibuka di WebView mengirimkan kode yang dimasukkan dalam permintaan ke server McDonald’s. Tapi inilah kekurangannya: permintaan yang memeriksa dan membatalkan kode, melakukan hal itu. Itu baru saja mengembalikan apakah kode tersebut valid. Halaman tersebut meminta pemeriksaan apakah kode tersebut valid, dan klien sedang menugaskan kupon kepada pengguna.

Ternyata server perusahaan tidak memverifikasi hal ini dan menganggap aplikasi tersebut “sesuai kata-katanya”, melaporkan android.com.pl.

Ketika Anda mengatakan Anda perlu memeriksa apakah permintaan tersebut berasal dari “klien yang dapat dipercaya”, kata saya jangan percaya klien, gunakan karet.

Perangkat yang tidak tersentuh juga dapat mengeksploitasi layanan Anda

Oh iya, saya sudah bilang tadi tentang beberapa tindakan? Keseluruhan eksploitasi ini (setidaknya pada saat itu) bisa saja terjadi dijalankan dari perangkat yang tidak dimodifikasi. Buka aplikasi, buka kebijakan privasi (terbuka di WebView), temukan tautan eksternal. Jadilah kreatif. Temukan tautan ke kebijakan privasi Google, dan ketuk logonya untuk membuka Google Penelusuran. Temukan tautan ke YouTube, dan cari video dengan tautan di tempat lain. Apa pun yang membawa Anda ke a halaman yang dapat menjalankan sedikit JavaScript untuk Anda.

COLA.offerActivation.send({
  loyaltyId: 2424,
  rewardId: 95275,
})

Inilah masalahnya.

Tapi jangan khawatir. Jika ini diperbaiki, tidak ada yang hilang. Anda ingat tindakan yang saya bicarakan? Mereka memang memeriksa tanda-tanda yang mungkin menunjukkan Anda tidak dapat dipercaya. Namun sebenarnya, lulus pemeriksaan ini mungkin berarti Anda mengetahui cara kerja pemeriksaan ini. Apa yang bisa dan memang salah?

Anda cukup mematuhi pemeriksaannya.

cadangan TWRP? Ubah nama direktori.

Aplikasi Magisk Manager? Ubah nama paket di pengaturan.

Tidak diinstal dari Google Play? Buka terminal dan jalankan pm set-installer com.mcdonalds.mobileapp com.android.vending. Atau instal dengan pm install -i com.android.vending (file). Atau sama dengan adb.

Pemeriksaan root? Tambahkan McDonald’s ke Zygisk Denylist.

Anda tidak bisa menjalankan pemeriksaan.

Oh, begitulah cara kami dengan patuh memenuhi pemeriksaan ini. Tetapi jika ini berjalan di perangkat Anda, Andalah yang mengendalikannya. Anda dapat memasukkan ke dalam proses dengan alat seperti Zygisk atau LSPosed, dan menghapus pemeriksaan ini. Saya telah menyuntikkan 2137 proses di ponsel saya hari ini. Tidak ada yang mengendalikan ini.

Anda cukup memberi tahu cek tersebut apa yang ingin mereka dengar.

Dan pemeriksaan terakhir. Integritas SafetyNet/Mainkan. Periksa apakah Anda lulus dengan ORANG AMERIKA LATIN. Jika Anda tidak lulus SafetyNet dasar, instal Konfigurasi Alat Peraga MagiskHideberlari props di konsol, ubah tanda tangan menjadi sesuatu dari daftar yang tersedia. Sekarang, jika Anda tidak lulus CTS SafetyNet, instal Perbaikan Jaring Pengaman Universal. Ya, ponsel saya benar-benar baru saja melewati SafetyNet dan Play Integrity seperti ini (Integritas hingga MEETS_DEVICE_INTEGRITYtanpa MEETS_STRONG_INTEGRITY).

Tanpa label (nilai kosong): Aplikasi berjalan pada perangkat yang memiliki tanda-tanda serangan (seperti kaitan API) atau gangguan sistem (seperti sedang di-root), atau aplikasi tidak berjalan pada perangkat fisik (seperti perangkat emulator yang tidak lulus pemeriksaan integritas Google Play).

Ini adalah bagian dari dokumentasi Integritas Play. Namun masalah dalam memeriksa apakah penggunanya adalah dewa, adalah bahwa pengguna tersebut adalah dewa. Mereka hanya bisa memberi tahu Anda apa yang ingin Anda dengar.

(Sebagai catatan tambahan, jika Anda berbicara bahasa Polandia, saya sarankan membaca “Aplikasi seluler tidak mengetahui apakah ponsel diretas” dari Informatyk Zakładowy)

Namun pengguna pada umumnya tidak akan mempelajari aplikasi Anda jika tidak berfungsi

Eksploitasi massal, pada akhirnya, dihentikan dengan mengakhiri kesepakatan, karena hal itu di luar kendali. Jadi siapa adalah berhenti?

  • Pengguna yang tidak sadar. Setiap kali Anda melakukan cek bodoh, ada pengguna dengan hasil positif palsu. Misalnya, beberapa pemeriksaan RootBeer akan terpicu pada beberapa Xiaomi, Asus, atau Fairphone yang tidak dimodifikasi, atau ponsel murah acak yang kebetulan ada di Tesco terdekat milik seseorang. Ironi terbesarnya adalah beberapa dari pengguna ini akan melakukannya melakukan root pada ponsel mereka untuk melewati pemeriksaan ini.

    Jika aplikasi Anda mulai mencari MEETS_STRONG_INTEGRITY label dari Play Integrity, semakin banyak pengguna yang akan terpengaruh seperti ini.

    Lihatlah ulasan Google Play tentang aplikasi McDonald’s. Aplikasi ini memiliki rating 2,8/5 dan Anda harus terus menggulirnya untuk menemukan yang positif, dari sedikit sekali pengguna yang berhasil menjalankan aplikasi.

  • Pengguna dengan akses root ke ponsel mereka sendiri. Pertama-tama, mengapa? Apa buruknya memiliki akses administrator telepon Anda sendiri?

    Kedua, hal ini tidak efektif jika mereka tahu cara menyiasatinya. Mereka dapat membantu proses Anda dan memberi tahu Anda itu telepon yang bagus, Bu.

  • pengguna Huawei. Atau pengguna Amazon Fire. Atau perangkat Android apa pun yang dibuat untuk pengguna pasar China. Atau pengguna distribusi Linux seluler, mencoba menjalankan aplikasi melalui Waydroid. Perangkat mereka secara default tidak memiliki Layanan Google Play yang dapat diakali seperti ini, dan akan memerlukan lebih banyak pekerjaan daripada yang saya jelaskan untuk lulus pemeriksaan ini.

Namun apakah hal ini setidaknya akan menghentikan penipuan?

Tidak.

Foto dari peternakan bot dengan banyak ponsel yang ditempel di dinding, dengan kabel USB tersambung ke sana.

Sumber

Krystian Wiśniewski
Krystian Wiśniewski is a dedicated Sports Reporter and Editor with a degree in Sports Journalism from He graduated with a degree in Journalism from the University of Warsaw. Bringing over 14 years of international reporting experience, Krystian has covered major sports events across Europe, Asia, and the United States of America. Known for his dynamic storytelling and in-depth analysis, he is passionate about capturing the excitement of sports for global audiences and currently leads sports coverage and editorial projects at Agen BRILink dan BRI.