- Ditemukan kerentanan keamanan serius pada aplikasi kencan bernama Cerca
- OTP terekspos di respons sehingga siapa pun dapat mengakses akun hanya dengan mengetahui nomor telepon
- Dari sejumlah endpoint API yang terbuka tanpa autentikasi, data pribadi dapat bocor dengan mudah
- Preferensi seksual, isi pesan, dokumen identitas, dan informasi sensitif lainnya milik pengguna terekspos dalam jumlah besar
- Pihak layanan, meski telah menerima laporan yang bertanggung jawab dari peneliti, gagal memberikan respons dan pemberitahuan yang memadai
Pentingnya startup menanggapi keamanan dengan serius
- Belakangan ini, dalam proses startup yang terburu-buru meluncurkan produk ke pasar, keamanan sering terabaikan
- Meski merupakan aplikasi kencan yang menghimpun banyak data pribadi, pengguna terekspos pada risiko akibat kurangnya kematangan dalam pengembangan dan operasional
Proses penemuan dan pelaporan kerentanan
- Pada 23 Februari 2025, peneliti menjelaskan kepada pihak Cerca melalui email mengenai kerentanan keamanan dan masalah terkait
- Pada 24 Februari, melalui rapat video, dibahas detail kerentanan, langkah penanganan, dan prosedur lanjutan
- Tim Cerca menyampaikan bahwa mereka memahami tingkat keparahannya, berjanji bertindak cepat, dan akan memberi tahu pengguna
- Setelah itu beberapa kali dikirim pertanyaan tentang perkembangan, tetapi hingga 21 April tidak ada jawaban maupun pengumuman
- Dari verifikasi independen, kerentanan tersebut telah selesai ditambal
Kerentanan OTP dan proses peretasan yang sederhana
- Dalam proses login aplikasi, one-time password (OTP) terekspos apa adanya di respons jaringan
- Penyerang dapat dengan mudah dan cepat mengakses akun siapa pun hanya dengan mengetahui nomor telepon
Akses ke endpoint API dan kebocoran informasi
- Terkonfirmasi bahwa semua jalur API dapat diakses hanya dengan mengisi header versi aplikasi
- Melalui endpoint
/docs, seluruh dokumentasi OpenAPI terekspos
- Dengan memanfaatkan alat seperti Burp Suite, API dapat dikendalikan melalui injeksi otomatis header dan token aplikasi
- Beberapa endpoint hanya mengubah logika bisnis, tetapi endpoint inti mengembalikan data pribadi yang sangat sensitif
- Melalui
user/{user_id} dan lainnya, data pribadi, nomor telepon, bahkan pembajakan akun pun dimungkinkan
Paparan massal data pribadi dan informasi dokumen identitas
- Melalui endpoint data pribadi, PII seperti jenis kelamin, kota, tanggal lahir, email kampus, dan informasi identitas terekspos dalam jumlah besar
- Khususnya pada field terkait identitas seperti
national_id_verified, file sensitif seperti gambar paspor dan kartu identitas penduduk dapat diakses
- Dengan skrip serangan, terkonfirmasi 6.117 pengguna dapat diidentifikasi, dan 207 di antaranya telah memasukkan informasi dokumen identitas
- Sebagian akun juga tercantum sebagai afiliasi dengan Universitas Yale
- Berdasarkan Instagram resmi Cerca, ini setara dengan 10.000 pengguna pada minggu pertama
Risiko nyata bagi korban dan tingkat keparahan masalah
- Karena preferensi seksual, isi percakapan, dokumen identitas, dan data yang sangat sensitif lainnya bocor, terdapat risiko serius seperti stalking, pencurian identitas, dan pemerasan
- Cerca menyatakan bahwa mereka mematuhi standar industri seperti enkripsi, tetapi hal itu tidak sesuai dengan kondisi operasional yang sebenarnya
- Karena pengguna tidak dapat memverifikasinya sendiri, pengelolaan keamanan yang proaktif dan bertanggung jawab dari penyedia aplikasi adalah hal yang wajib
- Secara realistis, ada kemungkinan bahwa banyak pihak tak dikenal telah lebih dulu mencuri data pribadi dalam skala besar
Kesimpulan dan perlunya budaya keamanan yang bertanggung jawab
- Mengoperasikan aplikasi yang begitu lemah keamanannya hingga siapa pun bisa meretasnya dengan mudah merupakan masalah sosial yang serius
- Jika perlindungan data pengguna tidak dijadikan prioritas utama, kerugian dapat terjadi secara real time
- Kasus Cerca, yang kurang aktif menanggapi laporan peneliti keamanan dan kurang memadai dalam memberi tahu pengguna, menjadi pelajaran penting
- Untuk membangun lingkungan internet yang lebih aman, membangun sistem keamanan harus menjadi prioritas utama bagi semua pengembang
1 komentar
Komentar Hacker News
Bahkan dengan mempertimbangkan bahwa aplikasi ini tampaknya hasil buatan mahasiswa yang masih sangat pemula, saya tetap berpikir mereka harus berusaha semaksimal mungkin dalam keamanan dan komunikasi. Namun melihat bahkan perusahaan dewasa yang didanai VC besar juga menghadapi masalah seperti ini dan bereaksi dengan cara serupa, saya rasa tidak perlu terlalu keras kepada para mahasiswa ini. Saya membagikan tautan artikelnya
Sebagai developer yang bekerja di perusahaan kecil, saya kadang khawatir soal tanggung jawab pribadi saya. Banyak perusahaan beroperasi di area yang tidak wajib tunduk pada regulasi seperti PCI atau HIPAA. Di organisasi kecil, keamanan sering dianggap tugas engineering, bukan tanggung jawab seluruh organisasi. Tim produk hanya fokus pada fitur, PM pada jadwal, QA pada bug, dan jarang ada yang bersuara soal keamanan. Suasananya seperti engineer cukup mengerjakan yang ditugaskan. Kalau engineer sempat memikirkan keamanan itu bagus, tapi kalau tidak, malah bisa kena omelan PM dan lainnya. Dan selalu ada ucapan seperti: "Berapa lama ini akan memakan waktu?", "Seberapa besar kemungkinan itu benar-benar terjadi?", "Kita rilis MVP dulu secepatnya, nanti baru dibenahi". Jadi sebagai karyawan, saya akhirnya hanya mengerjakan apa yang diminta perusahaan. Tapi ketika perusahaan digugat karena peretasan atau kebocoran, saya sering khawatir apakah saya sebagai engineer yang "seharusnya lebih tahu" akan ikut dimintai pertanggungjawaban
corporate veil. Selama tidak tercatat melakukan tindak kriminal, Anda tidak akan bertanggung jawab. Meski begitu, absennya standar keamanan adalah masalah besar di semua skala perusahaan. Merilis fitur baru selalu dianggap lebih penting daripada keamananUntuk mengurangi tanggung jawab hukum peneliti, saya pikir cukup membuat satu akun tambahan, atau membuat profil dengan persetujuan teman untuk mendapatkan hak akses. Tidak perlu benar-benar mengikis data; misalnya kalau id saya 12345 dan id teman saya 12357, itu sudah cukup untuk membuktikan bahwa profil akun lain di id tengah bisa diakses. Seperti yang sudah banyak orang katakan, tidak perlu sampai mengakses data pribadi ribuan orang; cukup membuktikan dan mengungkapkan kerentanannya
Tulisan ini sendiri terasa cukup membingungkan. API yang menerima OTP (kata sandi sekali pakai) terdengar sangat sederhana sampai-sampai OTP terekspos langsung di respons server, sehingga siapa pun yang tahu nomor telepon bisa masuk ke akun. Disebutkan API-nya berbentuk otp/nomor-telepon dan OTP ada di responsnya, jadi tampaknya kalau nomor teleponnya benar, kodenya juga langsung didapat. Lalu mereka mengungkapkan bahwa dengan skrip untuk mengurutkan ID pengguna dan berhenti setelah 1.000 ID kosong berturut-turut, mereka mengonfirmasi total 6.117 pengguna, 207 data identitas, dan 19 mahasiswa Yale. Tetapi mengakses data pribadi orang lain tanpa persetujuan sampai sejauh ini mirip dengan kasus lama weev yang meretas AT&T lalu masuk penjara. Walaupun skalanya kecil, penelitian seperti ini berisiko secara hukum, dan mengkhawatirkan kalau penulis tampaknya tidak memahami lingkungan hukum yang tidak melindungi peneliti keamanan
otp/nomorlangsung mengembalikan OTP final. Artinya, kalau nomor teleponnya benar, OTP langsung diberikan begitu sajaSaya juga punya pengalaman serupa. Saya pernah mencoba melaporkan bug di aplikasi kencan lain, tapi tidak bisa menghubungi siapa pun, jadi saya ubah profil founder menjadi "tolong hubungi saya", lalu mereka memulihkannya dari backup. Beberapa tahun kemudian saya melihat iklan aplikasi itu di Instagram dan mencoba lagi, ternyata kerentanannya masih persis sama. Siapa pun yang tahu endpoint API bisa mendapat hak admin dan akses ke semua pesan/match. Saya sedang berpikir apakah perlu menghubungi mereka lagi
Menurut saya, ketika aplikasi mengumpulkan data sensitif seperti paspor atau alamat, itu harus benar-benar membuat orang berpikir dua kali. Ini bukan sesuatu yang bisa disepelekan dengan alasan "ini cuma aplikasi buatan mahasiswa"
enum(belum terverifikasi/paspor/SIM), itu sudah memadai. Sistem seperti aplikasi maskapai yang memang harus memilih berdasarkan ID tertentu adalah pengecualian, tapi bahkan aplikasi United misalnya hanya menampilkan beberapa digit terakhir, jadi saya berharap API internal juga dibatasi seperti ituMengembalikan OTP apa adanya di respons API itu terlalu absurd. Saya tidak mengerti alasannya
Ada yang membagikan tautan ke artikel terkait lain dari Yale Daily News
Saya berharap ada hukum yang memperlakukan data pribadi seberbahayanya limbah nuklir. Kalau bocor, bukan hanya perusahaannya yang bangkrut, tapi para penanggung jawabnya juga harus menghadapi risiko hukum. Sekarang terlalu mudah mengumpulkan data pengguna, dan kalau bocor, cukup minta maaf lalu selesai
Baru sekarang saya tahu soal alat bernama Charle's Proxy di iOS. Dulu saya melakukan pentest dengan mencari string langsung di biner aplikasi. Untuk analisis aplikasi khusus iOS, ini tampaknya sangat membantu