Mengapa SMS dan Push Codes Tidak Aman
Posted on 10.03.2021 at 17:22
CTO Airome Pavel Melnichenko | Foto: airome.tech
KITA sering mengatakan bahwa kode sandi sekali pakai (OTP) melalui SMS dan push notification untuk mengonfirmasi transaksi keuangan, bukanlah ide baik– mengapa metode konfirmasi transaksi “klasik” ini tidak aman?
Penggunaan notifikasi SMS sebagai verifikasi dua langkah (2FA) umum dipakai. Banyak layanan digital menggunakan metode otentikasi ini untuk transaksi, seperti mengembalikan akses masuk, menyetujui beberapa tindakan, mengonfirmasi tautan perangkat, dan sebagainya.
Jika Anda menautkan nomor ponsel Anda ke semua layanan digital penting sehari-hari seperti email, akun Google, akun ID Apple, Facebook, Twitter, dan sebagainya, kartu SIM Anda menjadi “kunci kehidupan Anda”. Sebenarnya, boleh saja jika kartu SIM Anda hanya digunakan untuk mengakses foto dan tweet. Tidak akan menarik bagi para penjahat untuk mencuri akun Facebook Anda (kecuali jika Anda seorang selebritas).
Untuk membuatnya lebih jelas, peretas modern bukanlah orang yang sendirian jika dilihat dalam kacamata besar. Peretasan adalah bisnis kriminal berteknologi tinggi yang terstruktur dengan adanya manajer hacker, brain-center, pemain, informan, dan sebagainya. Tujuan utama bisnis ini (seperti semua bisnis lainnya) adalah untuk mendapatkan uang dan berkembang.
Manajer hacker memahami bahwa “uang sungguhan” disimpan di bank. Memang, pelanggan bank memiliki akses jarak jauh untuk mengelola dan mentransfer uang dari satu akun ke yang lain. Jadi, peretas hanya memerlukan instrumen untuk mendapatkan akses atas nama pelanggan yang sah. Di sinilah, mereka berhadapan dengan kontrol keamanan.
Mari kita bayangkan bahwa sekelompok peretas telah memperoleh (dari suatu tempat) detail yang diperlukan untuk mengakses akun pelanggan. Itu bisa berupa detail kartu pembayaran, login, kata sandi untuk perbankan jarak jauh, atau akun dari layanan fintech – tidak masalah. Untuk mentransfer uang, mereka harus melewati faktor otentikasi kedua. Jika bank atau layanan fintech menyediakan layanan menggunakan SMS atau push codes, maka mereka perlu mendapatkannya.
Tiga skenario utama intersepsi
Mari kita lihat bagaimana kode keamanan yang dikirim oleh melalui SMS dapat dicegat dan dikirimkan kepada peretas.
Mekanisme teknis
Ini adalah peretasan klasik: kelompok peretas membuat virus dan malware untuk menjebak pesan. Malware semacam itu akan dikirimkan ke perangkat pelanggan melalui spam, situs yang terinfeksi, aplikasi palsu, keygens, aktivator, perangkat lunak berbayar bajakan dan sebagainya. Setelah diinstal pada smartphone pelanggan, malware ini dapat memiliki akses ke konten SMS korban.
Anda mungkin terkejut; itu bukan pengetahuan canggih untuk mengakses konten SMS pada smartphone Android. Android memiliki mekanisme standar bagi setiap aplikasi untuk membaca pesan SMS yang masuk. Pertanyaannya adalah apa hubungannya aplikasi dengan konten ini? Hal itu dapat digunakan untuk menyederhanakan kehidupan pengguna (misalnya, untuk menganalisis aktivitas pengguna) atau untuk mencuri kode konfirmasi yang dikirim oleh bank.
Mekanisme teknologi
Ketika kita berbicara tentang SMS, kita berbicara tentang teknologi yang ditemukan pada tahun 1970-an. Dunia kini berbeda, risiko keamanan pun berbeda. Lucunya, Anda baru menyadari bahwa ancaman keamanan SMS yang menguntungkan itu sejak 2017 ketika SMS menjadi standar 2FA. Hari ini, Anda dapat menggunakan peralatan yang harganya sekitar US$ 1.500 untuk menyadap SMS apa pun di dunia. Hal itu menjadi mungkin setelah peneliti independen menemukan kerentanan dalam protokol SS7. Protokol ini digunakan untuk mentransfer pesan SMS. Ngomong-ngomong, salah satu bank besar di Jerman pernah jadi korban dari serangan jenis ini, loh!
Mekanisme sosial
Ada dua teknik utama: pertukaran SIM (SIM swap) dan rekayasa sosial.
Pertukaran SIM merupakan cara yang sangat sederhana. Penjahat, biasanya dengan bantuan dari operator jaringan seluler, mengganti kartu seluler target dengan kartu lain, tapi nomor telepon masih yang sama. Cukup begitu saja. Setelah manipulasi ini, “kunci kehidupan Anda” ada di tangan penjahat.
Ya, korban akan mengetahui bahwa kartu seluler mereka telah diubah. Namun, 10 menit sudah cukup untuk mengatur ulang akses ke semua layanan digital Anda dan untuk mentransfer semua uang dari rekening bank Anda. Tentu saja, operator jaringan seluler dapat memberi tahu bank ketika kartu seluler diganti. Layanan ini disebut “cek IMSI”. Hal ini membutuhkan uang. Tidak banyak bank yang mau membayar risiko pelanggan.
Rekayasa sosial adalah tentang berbicara dengan pelanggan. Ketika penjahat memanggil pelanggan dan mengatakan sesuatu seperti “Halo, ini adalah layanan keamanan bank Anda. Apakah Anda membuat transaksi mencurigakan ini untuk mentransfer semua uang Anda? Tidak? Ok, untuk menolak ini, tolong beri tahu saya kata sandi dalam pesan SMS yang baru Anda terima”.
Anda bisa membayangkan apa yang akan terjadi segera setelah pelanggan memberikan kode. Ada banyak teknik rekayasa sosial. Kami menemukan kasus saat pelanggan mentransfer semua uang mereka melalui ATM dengan tangan, tanpa kode apa pun. Namun, intinya, ketika seorang pelanggan memiliki sesuatu untuk didiktekan – itu akan ditentukan oleh penjahat.
Itulah secara singkat menggambarkan bagaimana kode konfirmasi dapat dicegat oleh “peretas”. Kita juga perlu memahami bahwa sebagian dari dolar yang dicuri (atau rupiah, baht, yen, won, ringgit) akan dihabiskan untuk mengembangkan mekanisme ini, menciptakan malware yang lebih canggih, mengirim lebih banyak spam, menerapkan intersepsi SS7 dalam berbagai pintu masuk, dan mempekerjakan psikolog untuk skrip rekayasa sosial dan sebagainya. Pesan SMS tidak aman secara ‘by design’.
Sisi yuridis dari SMS OTP
Beberapa hal lagi yang ingin saya sebutkan adalah tentang sudut pandang yuridis.
Dalam sebagian besar kasus yang telah kita lihat, OTP tak ditautkan dengan detail transaksi. Ini berarti Anda dapat menggunakan kata sandi suatu transaksi untuk mengonfirmasi transaksi lainnya.
Anda, sebagai pelanggan, tidak dapat membuktikan bahwa Anda mengonfirmasi aktivitas transfer “10 dolar ke Alice”, tetapi bukan “1000 dolar ke Eva”. Hal tersebut bisa menjadi masalah besar.
Pada saat yang sama, Anda, sebagai pelanggan, dapat pergi ke bank untuk meminta mereka “mengembalikan uang Anda atas penipuan transaksi khusus ini”. Jika mereka bertanya mengapa, Anda dapat memberi tahu mereka:
“Saya belum mengkonfirmasi operasi ini, Anda yang melakukan ini, karena Anda tahu kode konfirmasi sebelum saya, Anda yang membuatnya. Dan operator jaringan seluler tahu. Dan, agregator pesan SMS tahu. Saya menerima kode ini, tetapi tidak memasukkannya di mana pun. Buktikan bahwa aku salah”.
Ini berarti bahwa kode pesan SMS juga tidak aman dari sudut pandang yuridis.
Bagaimana dengan push codes?
Push codes dikirim melalui internet, bukan jaringan seluler. Orang dapat berpikir bahwa, secara teoritis, mereka lebih aman di ponsel. Sebenarnya tidak juga.
Teknis. Mencuri push notification dari smartphone sama mudahnya dengan pesan SMS.
Teknologi. Push notification dikirim melalui platform ponsel – biasanya Google atau Apple. Jika Anda membaca perjanjian pengembang dari Google dan Apple dengan cermat, Anda dapat menemukan bahwa mereka sangat membatasi pengiriman informasi rahasia “termasuk kata sandi bank” melalui push notification. Ini berarti bahwa konten push, layaknya pesan SMS, akan diketahui oleh pihak ketiga.
Sosial. Push codes dapat didiktekan semudah pesan SMS. Tidak ada perbedaan antarkeduanya. Namun, push memiliki satu keuntungan–pertukaran SIM tidak dapat dilakukan.
Dari sudut pandang yuridis, tidak ada perbedaan antara pesan SMS dan push codes. Dengan demikian, tingkat keamanan kedua teknologi ini sama.
Saya ingin mengingatkan semua pembaca agar tidak menggunakan SMS atau push notification untuk mengonfirmasi transaksi keuangan apa pun. Dari sudut pandang keamanan, cara itu bukan ide yang baik.[]
*Penulis adalah Chief Technology Officer Airome.
Reference: https://cyberthreat.id/read/9984/Mengapa-SMS-dan-Push-Codes-Tidak-Aman