2 poin oleh GN⁺ 2024-07-12 | 1 komentar | Bagikan ke WhatsApp
  • CCC menemukan bahwa melalui paparan IdentifyMobile, SMS kata sandi sekali pakai dapat dilihat secara real time, dalam kasus kebocoran lebih dari 198 juta SMS dari lebih dari 200 perusahaan
  • 2FA-SMS adalah lapisan tambahan untuk mencegah penyalahgunaan ketika hanya kata sandi yang dicuri, tetapi keamanan nyatanya juga sangat bergantung pada tingkat pengelolaan penyedia pengiriman SMS
  • IdentifyMobile mengekspos kode verifikasi, nomor telepon penerima, nama pengirim, dan sebagian informasi akun ke internet, dan dapat diakses hanya dengan menebak subdomain bernama idmdatastore
  • Google, Amazon, Facebook, Microsoft, Telegram, Airbnb, FedEx, dan DHL termasuk yang terdampak, dan hanya dengan feed real time saja sudah dimungkinkan pembajakan nomor WhatsApp atau percobaan login layanan dan transaksi keuangan
  • Autentikasi dua faktor via SMS memang lebih baik daripada hanya memakai kata sandi, tetapi metode seperti kata sandi sekali pakai berbasis aplikasi atau token hardware yang lebih sedikit bergantung pada jaringan seluler dan operator SMS lebih aman

Kelemahan 2FA-SMS yang terungkap dari paparan IdentifyMobile

  • 2FA-SMS mengharuskan pengguna memasukkan kata sandi yang mereka ketahui dan kode SMS yang membuktikan akses ke nomor telepon
    • Digunakan sebagai lapisan tambahan untuk mencegah pengambilalihan akun ketika hanya kata sandi yang bocor
    • SMS dapat berisi kode yang hanya berlaku singkat, seperti kode verifikasi WhatsApp atau TAN untuk transfer bank
  • Autentikasi berbasis SMS sudah lama terekspos ke berbagai jalur serangan
  • Dalam kasus ini, penyerang bahkan tidak perlu menargetkan jaringan telekomunikasi atau pengguna secara langsung, karena penyedia pengiriman SMS bisa menjadi titik lemah dalam rantai autentikasi
    • IdentifyMobile adalah penyedia yang mengirim SMS massal untuk berbagai perusahaan dan layanan
    • Penyedia ini dapat mengakses isi SMS, dan isi tersebut memuat kode verifikasi
    • CCC dapat mengakses data real time hanya dengan menebak subdomain idmdatastore

Cakupan paparan dan risiko nyata

  • Data yang terekspos bukan hanya isi SMS, tetapi juga nomor telepon penerima, nama pengirim, dan dalam beberapa kasus informasi akun lainnya
  • Lebih dari 200 perusahaan terdampak, termasuk yang menyerahkan keamanan autentikasi kepada IdentifyMobile secara langsung maupun melalui penyedia layanan lain
    • Google, Amazon, Facebook, Microsoft
    • Telegram, Airbnb, FedEx, DHL
    • Total lebih dari 198 juta SMS bocor
  • Hanya dengan feed real time saja, berbagai skenario penyalahgunaan sudah dimungkinkan
    • Pembajakan nomor WhatsApp
    • Jika kata sandi diketahui, transaksi keuangan dapat dilakukan tanpa mengakses ponsel
    • Jika kata sandi diketahui, login ke berbagai layanan dapat dilakukan
  • Untuk penyalahgunaan nyata, umumnya kata sandi tetap diperlukan, tetapi data tersebut juga mencakup tautan 1-click login
    • Pada sebagian perusahaan besar yang menjadi korban, cakupan yang ditangani IdentifyMobile terbatas pada layanan tertentu
    • Kelalaian IdentifyMobile menempatkan perusahaan dan pelanggan pada risiko yang signifikan
    • CCC tidak menyimpan data itu, tetapi kemungkinan pihak lain sempat mengaksesnya tidak bisa dikesampingkan

Metode autentikasi yang bisa dipilih sebagai pengganti SMS

  • Jika tersedia, lebih aman menggunakan kata sandi sekali pakai yang dihasilkan aplikasi atau token hardware daripada SMS
    • Metode ini tidak bergantung pada jaringan seluler
    • Juga tidak bergantung pada penyedia pengiriman SMS seperti IdentifyMobile
    • Meski begitu, autentikasi dua faktor tetap lebih baik daripada hanya menggunakan satu kata sandi

1 komentar

 
GN⁺ 2024-07-12
Pendapat Hacker News
  • Baru-baru ini seorang kenalan terkena phishing Google Ads. Penyerang membeli iklan untuk kata kunci seperti “BANKNAME login”, meniru halaman login bank dengan sangat rapi, dan di belakang layar sedang menjalankan serangan retransmisi
    Saat ia memasukkan kode autentikasi dua langkah dari aplikasi ponsel, layar menolaknya dan meminta kode baru, tetapi sebenarnya kode kedua adalah kode persetujuan untuk menambahkan penerima “pay anyone” baru, lalu uang pun keluar lewat itu
    Saya memang menganggap autentikasi dua langkah via SMS lemah secara protokol, tetapi dalam kasus ini, metode SMS bank yang mengirim pesan berbeda saat menambahkan penerima baru dibanding saat login mungkin justru lebih baik
    Idealnya, jangan hanya memakai aplikasi pembuat token sederhana, melainkan membuat token per jenis transaksi, seperti token untuk login dan token untuk menambahkan penerima, serta memastikan keduanya tidak bisa saling menggantikan. Saya penasaran apakah ada bank yang menyediakan autentikasi dua langkah pada level seperti ini
    Mungkin passkey, karena membangun koneksi fisik dengan perangkat keras lokal, bisa membuat masalah seperti ini menjadi tidak relevan. Sebagai catatan, korban akhirnya mendapatkan uangnya kembali

    • Iklan bukan sekadar teror psikologis yang menyebalkan karena memakan bandwidth dan sumber daya komputasi; di web, iklan juga merupakan jalur nomor satu untuk menyebarkan penipuan dan malware
      Jika ingin meningkatkan postur keamanan, memasang pemblokir iklan adalah salah satu cara terbaik. Untuk teman atau keluarga yang tidak terlalu paham teknologi, saya sangat menyarankan memasangkan uBlock Origin untuk mereka
    • HSBC memang punya fitur seperti ini. Di aplikasi masing-masing negara, pengguna bisa membuat kode keamanan yang berbeda untuk login ke situs web, konfirmasi transaksi (misalnya transfer ke penerima), dan autentikasi ulang (misalnya mengubah informasi pribadi seperti nomor telepon)
      Tampilan aplikasi Australia bisa dilihat di sini, dan aplikasi AS serta Inggris juga mirip: https://www.hsbc.com.au/content/dam/hsbc/au/images/ways-to-b...
      HSBC sudah menyediakan ini selama bertahun-tahun, jadi saya tidak begitu paham mengapa ini belum menjadi standar atau belum diadopsi bank-bank AS lainnya
    • Karena penasaran, saya pernah membeli iklan Google sekali, hanya karena mereka memberi kredit gratis untuk dicoba, tetapi bahkan sebelum iklan disetujui saya harus melewati begitu banyak syarat dan pedoman yang tidak masuk akal
      Jadi saya tidak mengerti mengapa mereka begitu ketat untuk iklan biasa, tetapi menjual iklan untuk halaman phishing yang menyamar sebagai bank dan menargetkan orang yang mencari bank tersebut
    • Perlu juga diberi tahu kepada keluarga dan kenalan bahwa FBI pun menyarankan penggunaan ekstensi pemblokir iklan di mesin pencari untuk menghindari penipuan seperti ini [0]
      “Saat melakukan pencarian di internet, gunakan ekstensi pemblokir iklan. Sebagian besar peramban internet mengizinkan penambahan ekstensi, termasuk ekstensi pemblokir iklan. Pemblokir iklan seperti ini bisa dinyalakan dan dimatikan di dalam peramban, sehingga iklan di situs web tertentu dapat diizinkan sementara iklan di tempat lain diblokir.”
      [0] https://www.ic3.gov/Media/Y2022/PSA221221
    • Pelajaran lain dari sini adalah menandai atau menghafal URL bank, dan jangan percaya bahwa mesin pencari akan membawa Anda ke bank yang benar
  • Sejak lama saya curiga perusahaan yang mewajibkan autentikasi dua langkah via SMS sebenarnya tidak sungguh-sungguh soal keamanan; mereka hanya menginginkan nomor telepon dan memakai autentikasi dua langkah sebagai teater keamanan untuk mendapatkannya

    • Bagian itu jelas ada juga. Nomor telepon sudah menjadi pengidentifikasi unik seperti nomor identitas baru: hampir tidak berubah dan digunakan untuk mengaitkan pengguna di berbagai layanan
      Selain itu, ini juga pengidentifikasi yang kita berikan langsung kepada setiap orang yang kita temui, jadi bisa dibilang ini terlihat seperti sistem yang buruk
    • Untuk layanan yang punya akun gratis, meminta nomor telepon membantu pencegahan penipuan atau penyalahgunaan banyak akun
      Ini menghambat pembuatan akun baru untuk menghindari pemblokiran, dan memudahkan mengaitkan perilaku buruk yang muncul di beberapa akun
    • Sebagian besar perusahaan sebenarnya menginginkan nomor telepon untuk pencegahan spam
      Saya rasa kontribusi spammer terhadap kemunduran internet masih diremehkan
    • Alasan mewajibkan autentikasi dua langkah via SMS adalah karena jauh lebih rendah friksi untuk berasumsi pengguna punya nomor telepon, dibanding berasumsi mereka telah memasang aplikasi autentikasi dua langkah dan tahu cara mengelola alat itu
      Dukungan teknisnya juga lebih mudah
    • Atau bisa saja awalnya mereka memakai email untuk autentikasi dua langkah, lalu auditor berkata “itu bukan autentikasi dua langkah”, dan mereka menyadari middleware notifikasi mereka mendukung SMS selain email
  • NIST sudah cukup lama secara eksplisit menyarankan untuk tidak memakai autentikasi dua langkah via SMS
    NIST SP 800-63B §5.1.3.3
    https://pages.nist.gov/800-63-3/sp800-63b.html#pstnOOB

    • Sudut pandang dan kepentingan NIST belum tentu sejalan dengan hal yang harus diperhatikan penyedia layanan dalam pengalaman pelanggan/pengguna
      Pelanggan: “Maksudnya aplikasi autentikasi dua langkah itu apa? Bukannya kodenya datang ke ponsel saya?”
      Dukungan: “Benar, tetapi sekarang autentikasi dua langkah via SMS tidak lagi didukung.”
      Pelanggan: “Tapi saat kodenya datang ke ponsel, tidak ada masalah.”
      Dukungan: “Ya, tetapi NIST merekomendasikan untuk tidak menggunakan autentikasi dua langkah via SMS.”
      Pelanggan: “NIST itu apa? Ini sangat menyebalkan. Saya perlu masuk ke akun saya.”
  • Sayangnya hampir semua bank memaksa kita memakai SMS. Sebab aplikasi bank menolak berjalan di ponsel yang di-root. Sungguh pencapaian keamanan yang hebat

    • Tetap saja, itu berarti masih ada alternatif
      Di negara saya, hampir semua bank mewajibkan autentikasi dua langkah berbasis aplikasi tanpa alternatif SMS
      Jika tidak ingin membeli dan membawa ponsel terpisah, Anda hanya bisa memakai satu bank yang tidak mensyaratkan hal itu
    • Itu memang keuntungan dari sisi keamanan
      Pada ponsel yang di-root, aplikasi lain berpotensi mengintip dan mencuri informasi perbankan
      Rasanya cukup masuk akal jika aplikasi bank tidak berjalan di ponsel yang keamanannya sudah terganggu
    • Ini kontroversial, tetapi ponsel yang di-root pada dasarnya kurang aman
      Namun GrapheneOS tidak termasuk di sini, karena build resmi GrapheneOS tidak memiliki akses root
  • Tulisan ini mencampuradukkan dua masalah yang maknanya berbeda dari sisi keamanan
    Tautan 1-click login memang patut dikhawatirkan, dan layanan seperti WhatsApp bisa diambil alih hanya dengan akses ke SMS
    Namun kode autentikasi dua langkah relatif tidak terlalu mengkhawatirkan. Karena itu adalah faktor kedua, penyerang juga membutuhkan kata sandi
    Dalam kasus seperti ini, saya melihat penggunaan SMS dan risiko penyadapannya dengan jauh lebih sedikit kecemasan

    • Setiap kali satu basis data pesan SMS bocor, kira-kira ada 1.000 basis data kredensial akun yang bocor
  • Di Inggris, tampaknya hampir semua transaksi perbankan online sekarang diverifikasi lewat SMS. Kelihatannya seperti diwajibkan oleh hukum, dan telah menggantikan sistem verifikasi sebelumnya yang memakai kartu bank + card reader + PIN
    Cara lama bukan hanya lebih aman, tetapi juga tidak bergantung pada ponsel yang berfungsi normal dan mendapat sinyal
    Saya berharap suatu hari nanti ini diakui sebagai kesalahan besar dan diperbaiki, tetapi saya tidak terlalu berharap

    • Saya penasaran bank yang mana. Saya memakai Lloyds, dan transaksi diverifikasi lewat aplikasi, bukan SMS
    • Kalimat pertama sama sekali tidak benar. SMS memang salah satu opsi, tetapi banyak bank mendukung autentikasi dua langkah berbasis aplikasi
      Saya setuju bahwa card reader berguna saat offline. Namun saya hampir tidak pernah ingat membawanya, jadi sering terhambat saat bepergian
  • Swedia sudah lama menyelesaikan masalah ini dengan BankID
    https://en.wikipedia.org/wiki/BankID
    Menakjubkan melihat apa yang bisa dicapai ketika lembaga publik dan swasta bekerja sama meski sedikit saja. Ini adalah satu-satunya cara untuk login dan autentikasi dua langkah pada layanan pemerintah dan sebagian besar bank, dan bekerja dengan baik
    Sulit dipercaya bahwa tidak semua negara memiliki sistem seperti ini, apalagi seluruh UE belum memilikinya

    • UE sedang memperkenalkan Digital Wallet untuk hal ini. Semoga lebih enak dipakai daripada BankID versi Finlandia, dan akan lebih baik lagi jika tidak terlalu bergantung pada bank atau lembaga swasta pencari rente lainnya
      Meski begitu, saya tidak akan menaruh ekspektasi terlalu tinggi
      https://ec.europa.eu/digital-building-blocks/sites/display/E...
    • Jika penjelasan di wiki benar, saya penasaran apakah benar-benar tidak mendukung Linux. Mungkin bisa memakai bentuk kartu sebagai pengganti
  • Pesan di bucket S3 tampaknya diperbarui setiap 5 menit: https://www.zeit.de/digital/datenschutz/2024-07/it-sicherhei...
    Namun CCC keliru mendefinisikan ini sebagai masalah khusus 2FA-SMS. Yang terdampak bukan hanya Twilio Verify (API autentikasi dua langkah), tetapi semua SMS yang dikirim melalui penyedia ini

    • Saya penasaran dari mana dasar terkait Twilio Verify itu berasal. Tidak disebutkan di mana pun
  • Ini lebih merupakan masalah keamanan vendor yang tidak melindungi penyimpanan data sensitif dengan benar, bukan masalah SMS itu sendiri

    • Ini juga masalah SMS, karena OTP dan token perangkat keras tidak perlu menulis secret yang berotasi ke penyimpanan data yang berpotensi bisa dibaca publik
      Jalur serangan khusus seperti ini sama sekali tidak ada pada teknologi-teknologi tersebut
  • Beberapa lembaga keuangan tempat saya bekerja mewajibkan autentikasi dua langkah via SMS dan tidak menyediakan opsi HOTP/TOTP. Bikin gila