- Beberapa aplikasi streaming ilegal iOS dirancang agar lolos peninjauan sebagai aplikasi normal, lalu mengaktifkan fungsi tersembunyi setelahnya, dan analisis kode mengonfirmasi adanya pemblokiran berbasis lokasi serta metode pembaruan jarak jauh
- Aplikasi yang didistribusikan dengan akun pengembang berbeda ternyata berbagi basis kode yang sama, dan dengan React Native serta Microsoft CodePush SDK, sebagian aplikasi dapat diubah tanpa peninjauan ulang App Store
- Aplikasi tertentu memeriksa data negara, wilayah, kota, perkiraan bujur, dan lintang dengan memanfaatkan repositori GitHub serta API lokasi berbasis IP, dan tidak menampilkan antarmuka tersembunyi di lingkungan peninjauan Apple
- Dengan menunggu beberapa detik setelah peluncuran pertama sebelum memanggil API lokasi, aplikasi ini menghindari proses peninjauan otomatis, dan bahkan saat proxy disetel ke lokasi San Jose, California, layar tersembunyi tetap tidak muncul
- Apple dapat memperkuat pengujian perilaku berdasarkan lokasi dan penghapusan aplikasi penipuan, tetapi untuk saat ini hanya mengungkap bahwa aplikasi tersebut telah dihapus tanpa mempublikasikan langkah konkret untuk mencegah persetujuan aplikasi serupa
Struktur yang bertindak seperti aplikasi berbeda setelah lolos peninjauan
- 9to5Mac membahas beberapa kasus aplikasi streaming ilegal iOS yang mendapat persetujuan dengan menipu peninjauan App Store, dan kemudian analisis kode mengungkap detail cara kerja penghindaran tersebut
- “Collect Cards” sempat naik ke peringkat atas unduhan aplikasi gratis App Store di beberapa negara, lalu dihapus oleh Apple setelah dipublikasikan
- Ketika beberapa versi aplikasi yang sama kembali muncul di App Store setelahnya, metode untuk menipu tim peninjau menjadi subjek analisis
Basis kode bersama dan pembaruan jarak jauh
- Aplikasi yang dianalisis didistribusikan melalui akun pengembang yang berbeda, tetapi berbagi basis kode yang sama
- Aplikasi tersebut dibuat dengan React Native, framework lintas platform berbasis JavaScript
- Dengan CodePush SDK dari Microsoft, sebagian aplikasi dapat diperbarui tanpa mengirimkan build baru ke App Store
- Penggunaan React Native dan CodePush sendiri bukan pelanggaran aturan App Store, dan banyak aplikasi populer juga memakai metode ini
- Pengembang berbahaya memanfaatkan teknologi pembaruan yang sah ini untuk menghindari peninjauan App Store
Mendeteksi lingkungan peninjauan Apple lewat lokasi
- Salah satu aplikasi yang dianalisis menunjuk ke repositori GitHub yang tampaknya menyediakan file untuk beberapa aplikasi streaming ilegal
- Aplikasi tersebut menggunakan API tertentu untuk memeriksa lokasi perangkat berdasarkan alamat IP
- API itu mengembalikan data seperti negara, wilayah, kota, serta perkiraan bujur dan lintang
- Saat pertama kali dibuka, aplikasi menunggu beberapa detik sebelum memanggil API lokasi
- Karena jeda ini, perilaku mencurigakan dalam kode aplikasi tidak terlihat dalam proses peninjauan otomatis App Store
- 9to5Mac menggunakan proxy untuk memalsukan lokasi menjadi San Jose, California, lalu memeriksa perilaku aplikasi
- Di lokasi ini, aplikasi sama sekali tidak menampilkan antarmuka tersembunyi
Menampilkan antarmuka sebenarnya setelah disetujui
- Setelah Apple menyetujui aplikasi yang hanya menampilkan fungsi dasar, pengembang memperbarui aplikasi dengan konten yang diinginkan melalui CodePush
- Aplikasi hanya menampilkan antarmuka sebenarnya di lokasi yang “aman”
- Dalam struktur ini, perilaku aplikasi dapat berbeda antara lingkungan Apple saat peninjauan dan lingkungan pengguna umum
Tugas respons yang masih tersisa bagi Apple
- Apple dapat meningkatkan proses peninjauan dengan pengujian tambahan untuk memeriksa bagaimana aplikasi berperilaku di lokasi yang berbeda
- Tindakan yang lebih aktif untuk menemukan dan menghapus aplikasi penipuan dari App Store juga diperlukan
- Pada 2017, Uber pernah dituduh menggunakan “geofence” terhadap kantor pusat Apple di Cupertino
- Isinya adalah bahwa ketika aplikasi dijalankan di lokasi tersebut, kode yang digunakan untuk pengumpulan sidik jari pengguna dan pelacakan di seluruh web otomatis dinonaktifkan
- Menurut dokumen tahun 2021, tim App Store Review memiliki lebih dari 500 pakar manusia yang meninjau lebih dari 100.000 aplikasi setiap minggu
- Meski begitu, sebagian besar aplikasi tetap melewati proses peninjauan otomatis yang memeriksa pelanggaran pedoman App Store sebelum tinjauan manual
- Seorang juru bicara Apple menyatakan setelah publikasi terkait bahwa aplikasi-aplikasi tersebut telah dihapus dari App Store, tetapi tidak memberikan rincian tentang langkah perusahaan untuk mencegah persetujuan aplikasi serupa
1 komentar
Opini Hacker News
Sekalipun Apple mencegah bypass pembatasan wilayah, menyembunyikan perilaku itu sangat mudah
Tidak perlu kode dinamis atau kode interpreter sama sekali, dan variasinya cukup banyak sehingga pada akhirnya tampaknya akan tereduksi menjadi halting problem dan tidak bisa diputuskan
Harus ada cara merespons di luar langkah teknis. Misalnya, orang-orang yang benar-benar tersebar menguji aplikasi secara crowdsourcing untuk menemukan perilaku berbahaya
Secara lebih umum, fitur untuk memeriksa update, yaitu memeriksa apakah ada versi baru, juga bisa sekaligus dipakai untuk memeriksa “apakah versi ini masih dalam review aplikasi?”
Kemungkinan dikeluarkan dari ekosistem Apple App Store atau terkena pembalasan hukum adalah salah satu cara menekan perilaku yang tidak diinginkan yang secara teknis tidak bisa dicegah
Pada akhirnya, tekanan di tingkat ekosistem dan pemerintah harus lebih dimanfaatkan agar syarat dan ketentuan menjadi masuk akal dan adil. Sebab peretasan untuk mengakali syarat dan ketentuan akan menjadi hampir mustahil. Saya memang menganggap hack semacam ini cerdik, tetapi rasanya tidak akan bertahan lama
Kalau penasaran dengan redaksi Apple tentang update dinamis seperti CodePush, ada di sini: https://github.com/microsoft/react-native-code-push#store-gu...
“Kode yang dapat dieksekusi
Kecuali sebagaimana disebutkan dalam paragraf berikut, aplikasi tidak boleh mengunduh atau memasang kode yang dapat dieksekusi. Kode interpreter boleh diunduh ke aplikasi, tetapi kode tersebut tidak boleh (a) mengubah tujuan utama aplikasi dengan menyediakan fitur atau fungsionalitas yang tidak konsisten dengan tujuan aplikasi sebagaimana dimaksudkan dan diiklankan saat diajukan ke App Store, (b) membuat toko atau etalase untuk kode atau aplikasi lain, atau (c) melewati penandatanganan, sandbox, atau fitur keamanan lain dari sistem operasi.”
Tampaknya ada kesepakatan antara developer game dan Google/Apple: sebagai ganti bypass review, pendapatan loot box bernilai miliaran dolar tetap mengalir
Salah satu kelompok fitur yang mencolok adalah cara banyak aplikasi menarik biaya langganan di luar sistem pembayaran dalam pagar Apple. Itu karena pekerjaan sebenarnya dari aplikasi tidak hanya berlangsung di dalam perangkat, tetapi di cloud. Ada keuntungan dalam membagi aplikasi menjadi aplikasi lokal dasar dan pekerjaan tambahan di cloud, tetapi seiring meningkatnya performa perangkat, melihat apa yang bisa dilakukan secara lokal menjadi semakin menarik
Jika struktur tingkat atas aplikasi cukup jelas, detail yang mengisinya bisa ditambahkan belakangan
Saya sudah lama menyukai hal-hal seperti SDUI yang memungkinkan pembuatan antarmuka yang lebih dinamis berdasarkan preferensi pengguna, pola penggunaan, dan sebagainya
Pendekatan membuat software untuk alur kerja tetap semakin ketinggalan zaman. Entah itu kebutuhan yang berubah di tiap tahap lockdown pandemi, atau personalisasi sejati pengalaman pengguna, software dengan pola pikir tetap sedang digantikan oleh software yang membutuhkan fleksibilitas
Saat harus meloloskan perilaku yang tidak disukai Apple, saya memakai trik berbasis waktu
20 hari setelah aplikasi diajukan, perilaku sebuah tombol berubah sehingga dialog “buka file” langsung menuju direktori root pengguna
Saya memasang timer 2 minggu, dan setelah itu aplikasi mulai menjalankan perilaku sebenarnya termasuk panggilan API
Review aplikasi Apple benar-benar lelucon
Sepertinya mungkin juga bisa menemukan cara untuk mengidentifikasi sistem reviewer seperti sidik jari dan menyembunyikan fitur langsung hanya dari mereka
Sebagai catatan sampingan, mayoritas besar aplikasi penipuan tampaknya mengambil uang orang lewat langganan berulang mingguan
Tiket akses 1 minggu yang tidak berulang bisa saja berguna. Misalnya aplikasi VPN untuk 1 minggu saat bepergian. Namun pembayaran berulang mingguan seharusnya memerlukan persetujuan manual. Tidak semua aplikasi boleh menerima pembayaran berulang mingguan
Menyebut aplikasi bajakan sebagai berbahaya rasanya terlalu berlebihan. Apakah saya melewatkan sesuatu, atau artikel ini ditulis oleh pemegang hak cipta?
Namun aplikasi berpendapatan teratas sudah merupakan aplikasi penipuan, dan sejauh yang saya ingat memang selalu begitu, jadi ini juga bukan hal baru
“Menurut dokumen yang dipublikasikan pada 2021, tim App Store Review memiliki lebih dari 500 pakar manusia yang meninjau lebih dari 100.000 aplikasi setiap minggu.”
Jika mengabaikan ungkapan ambigu dalam kalimat ini, dan mengasumsikan para reviewer memakai 100% jam kerja mereka untuk review serta mengikuti minggu kerja standar, hasilnya sekitar 12 menit per aplikasi
Sayangnya Apple yang miskin tampaknya tidak mampu mempekerjakan lebih banyak reviewer agar setiap aplikasi mendapat proses review yang berarti, dan agar pekerja yang bekerja dalam lingkungan kerja layak mendapat bayaran cukup. Mungkin mereka dikejar kuota aplikasi yang harus ditinjau setiap minggu
Jadi kenapa Apple berhak mengambil 30% lagi?
Jika aplikasi terbaru berhasil lolos peninjauan App Store dan tetap aktif, ada kanal/grup Telegram tempat ribuan orang yang ingin memakainya berkumpul sampai Apple mengambil tindakan.
Ada juga pasar untuk sertifikat penandatanganan dan slot mesin pengembang Apple, sehingga orang yang lebih paham teknis bisa menandatangani IPA sendiri lalu memasangnya.
Di AS sangat dibutuhkan undang-undang seperti DMA. Satu perusahaan tidak boleh bisa menahan lebih dari 60% pengguna AS dalam urusan memasang aplikasi yang ingin mereka pakai.
Demikian pula, Apple dan Google tidak semestinya bisa mengambil 15–30% dari seluruh pendapatan yang terjadi di pasar aplikasi mobile.
Pertama, 60% itu memilih iOS. Mereka bukan “sandera”; mereka bisa pergi. Dan ini juga bukan perilaku baru, melainkan sudah ada sejak iPhone diluncurkan. Konsumen memilih ini [1].
Kedua, Google tidak mengontrol apa yang dipasang pengguna, jadi menurut definisi mereka tidak mengambil bagian dari “seluruh pendapatan”. Sebagian besar nilai yang berasal dari aplikasi mobile juga terjadi di tempat lain [2], jadi bahkan angka untuk Apple pun tidak akurat.
Sebagai developer, wajar jika ingin punya akses sesuka hati ke perangkat pengguna dan menjalankan kode yang diinginkan. Sayangnya, sebagian developer menginginkan akses seperti itu untuk alasan yang merugikan konsumen. Karena itu developer mencoba mengakali sistem seperti permainan, dan aplikasi yang jujur malah ditolak.
Namun perlu dipahami bahwa pengguna menginginkan akses yang dikurasi seperti ini, dan mereka memilih mendukungnya, bukan menentangnya.
[1] Untuk messenger bisa diperdebatkan, tetapi itu masalah messenger, bukan aplikasi.
[2] Hampir semua aplikasi yang saya pasang gratis. Perusahaan pembuat aplikasi itu memperoleh pendapatan dari bagian lain sistem. Kami juga punya “aplikasi gratis” yang terhubung dengan produk, dan orang membayar untuk produk itu.
Di satu sisi, masing-masing mengambil peran sebagai penjaga gerbang di store mereka, dan keduanya mengklaim menjaga keamanan pengguna akhir.
Di sisi lain, jika aplikasi bermasalah itu sangat menguntungkan atau terkait dengan banyak lini produk mereka yang lain, mereka memberi diri sendiri fleksibilitas untuk menerapkan aturan secara selektif.
Siapa yang mengawasi para pengawas?
Apa rencananya untuk itu?
“Aplikasi streaming ilegal”?
Saya kira ini artikel tentang cara membuat aplikasi senter diizinkan menawarkan langganan 50 dolar per bulan.
Banyak sekali aplikasi hanyalah WebView yang menampilkan halaman web jarak jauh.
Setiap kali server memperbarui halaman, aplikasinya ikut terbarui, tanpa perlu peninjauan.