- UI reset kata sandi menampilkan sebagian nomor telepon untuk verifikasi akun, sehingga hanya dengan alamat email potongan nomor dapat dikumpulkan dari banyak layanan
- Karena setiap layanan punya standar masking PII yang berbeda, menggabungkan digit yang terekspos dari eBay, Paypal, Yahoo, LastPass, Google, Facebook, Twitter, Hotmail, dan Steam dapat mengungkap sebagian besar nomor telepon 10 digit di AS
- Dengan memakai data alokasi nomor publik dari NANPA dan National Pooling Administration, kandidat bisa dipangkas besar-besaran berdasarkan kode area, kode sentral, dan blok nomor pelanggan
- Layanan seperti Amazon dan Twitter yang memulai reset kata sandi dengan nomor telepon lalu menampilkan sebagian email dapat dipakai untuk mencocokkan kandidat nomor yang tersisa dengan petunjuk email yang dimask
- Kebocoran nomor telepon bisa berujung pada SIM swapping, serangan SS7, pembobolan voicemail, pelacakan lokasi, dan spoofing caller ID, sehingga lebih aman jika petunjuk pemulihan menampilkan label yang ditentukan pengguna alih-alih potongan PII
Kebocoran informasi yang dibuat oleh UI reset kata sandi
- Prosedur reset kata sandi di banyak situs web menampilkan opsi pemulihan seperti tautan email, kode SMS, atau kode panggilan telepon setelah email dimasukkan
- Saat menampilkan opsi SMS atau panggilan telepon, banyak UI mengekspos sebagian nomor telepon agar pengguna dapat mengenalinya
- Jika mengetahui alamat email, seseorang bisa memulai alur reset kata sandi di beberapa akun untuk mendapatkan sebagian digit nomor telepon
- Masalahnya adalah tidak ada cara standar untuk melakukan masking terhadap informasi identitas pribadi (PII) seperti nomor telepon, dan implementasinya diserahkan pada kebijakan pengembang layanan
- Pada kasus Paypal, reset kata sandi menampilkan digit pertama dan empat digit terakhir, tetapi tantangan 2FA setelah login hanya menampilkan tiga digit terakhir
- Bagi penyerang yang hanya tahu email, 5 dari 10 digit terekspos
- Bagi penyerang yang tahu email dan kata sandi, hanya 3 digit yang terlihat
Perbedaan masking antar layanan dan efek penggabungannya
- Prosedur reset kata sandi di berbagai situs populer dibandingkan untuk melihat apakah bisa dimulai hanya dengan email, apakah mendukung reset berbasis seluler, dan berapa digit yang terekspos
- Pola eksposur berbeda-beda di tiap layanan
- eBay: 3 digit depan dan 2 digit belakang
- Paypal: digit pertama dan 4 digit belakang
- Yahoo: digit pertama dan 2 digit belakang
- LastPass: 4 digit belakang
- Google, Facebook, Twitter, Hotmail, Steam: 2 digit belakang
- Jika seseorang punya akun eBay dan LastPass, maka 7 digit dari nomor telepon 10 digit dapat diketahui hanya dari alamat email
- Kombinasi ini saja sudah menurunkan ruang tebakan dari 1 miliar nomor menjadi 1.000
Memangkas kandidat dengan sistem nomor telepon AS
- Nomor telepon AS, di luar kode negara, terdiri dari 3 bidang
- kode area (area code atau NPA)
- kode sentral (exchange atau Central Office Code)
- nomor pelanggan (subscriber number)
- Informasi yang diperoleh dari kombinasi eBay dan LastPass adalah kode area dan nomor pelanggan, sementara 3 digit yang hilang bukan angka acak, melainkan kode sentral
- NANPA mengelola rencana penomoran jaringan telepon umum untuk Kanada, Amerika Serikat dan wilayahnya, serta beberapa negara Karibia
- NANPA menyediakan daftar kode area dan kode sentral terkait sebagai data publik, yang bisa ditelusuri atau diunduh sebagai file untuk diparsing
- Jika hanya menyisakan kode sentral yang benar-benar dialokasikan per kode area, jumlah kandidat akan berkurang
- Untuk kode area 415 San Francisco, kemungkinan kode sentral bukan 1.000 melainkan 784, sehingga 216 dapat dieliminasi
- Untuk kode area 907 Alaska, ada 625 kode sentral yang dialokasikan
- Untuk kode area 253 Tacoma, ada 458 kode sentral yang dialokasikan, sehingga lebih dari setengah bisa dieliminasi
Memanfaatkan hingga blok nomor pelanggan
- Kandidat dapat dipangkas lebih jauh bukan hanya berdasarkan kode area dan kode sentral, tetapi juga sebagian nomor pelanggan
- National Pooling Administration mengelola pooling nomor dan menyediakan catatan publik tentang blok yang dialokasikan
- Pooling nomor adalah metode pemberian nomor dalam blok 1.000 nomor, bukan 10.000, di wilayah yang bertumbuh
- Misalnya, jika pada 415-272-XXXX hanya blok 415-272-9XXX yang dialokasikan, maka 415-272-[0-8]XXX dapat dieliminasi dan hanya 9XXX yang tersisa sebagai kandidat
- Dengan cara ini, jumlah nomor valid yang mungkin turun dari 10.000 menjadi 1.000
Kandidat yang tersisa dan reset kata sandi terbalik
- Jika target di wilayah Tacoma memiliki akun eBay dan LastPass, mula-mula 7 digit dapat dikumpulkan, lalu 542 kandidat dieliminasi lewat NANPA sehingga tersisa 458 kandidat
- Dengan memeriksa alokasi blok melalui data National Pooling Administration, pada contoh ini kandidat nomor telepon yang mungkin turun menjadi 445
- Untuk memangkas kandidat lebih jauh, dapat digunakan sumber data eksternal seperti mesin pencari, pipl, BeenVerified, Spokeo, atau layanan reverse lookup nomor telepon
- Add-on Twilio milik WhitePages dapat memberikan informasi pribadi hanya dari nomor telepon dengan biaya 10 sen
- Karena metode seperti ini tidak sepenuhnya dapat diandalkan, alur reset kata sandi yang sama digunakan kembali secara terbalik
Layanan yang memberi petunjuk email dari nomor telepon
- Amazon dan Twitter memungkinkan reset kata sandi dimulai dengan memasukkan nomor telepon, lalu menampilkan sebagian alamat email tujuan pengiriman tautan reset
- Amazon menampilkan huruf pertama dan terakhir nama pengguna serta seluruh domain, dan jumlah tanda bintang juga mengungkap panjang nama pengguna
- Twitter menampilkan dua huruf pertama nama pengguna dan huruf pertama domain, dan jumlah tanda bintang menunjukkan panjangnya
- Alur serangannya adalah sebagai berikut
- Memulai reset kata sandi di beberapa situs dengan email target untuk mengumpulkan sebagian nomor telepon
- Mengeliminasi kode area, kode sentral, dan blok nomor pelanggan yang tidak ada menggunakan data publik NANPA dan National Pooling Administration
- Mencoba reset kata sandi dengan kandidat nomor telepon yang tersisa lalu mencocokkan karakter email yang dimask dengan email target
- Dengan mengikuti prosedur ini, nomor telepon 10 digit yang terhubung ke alamat email dapat diperoleh tanpa pernah melakukan panggilan telepon
email2phonenumber dan phonerator
- email2phonenumber adalah alat yang, setelah diberi sebagian nomor telepon, menghapus kode area dan kode sentral yang tidak ada untuk menghasilkan daftar nomor telepon valid yang mungkin
- Alat ini memanfaatkan fitur reset kata sandi Amazon dan Twitter untuk memasukkan nomor telepon dan mencocokkan email termask yang ditampilkan dengan email yang dimasukkan
- Parameter permintaan diacak, perilaku pengguna ditiru, dan penggunaan server proxy juga didukung
- Selain Amazon dan Twitter, ada banyak layanan lain yang mendukung reset kata sandi berbasis nomor telepon, dan alat ini berencana menerima pull request untuk dukungan layanan tambahan
- phonerator direncanakan sebagai layanan online yang mengumpulkan data sistem nomor telepon per negara untuk menghasilkan daftar nomor yang mungkin, dan kemudian dipublikasikan
- Arah pengembangannya mencakup dukungan multinegara, detail yang lebih banyak, riwayat, dan filter lanjutan
- Jika diketahui operator, wilayah, atau lama kepemilikan nomor, informasi itu bisa dipakai untuk memangkas kandidat lebih jauh
Masalah yang lebih besar di negara dengan nomor telepon pendek
- Pembahasan berfokus pada nomor AS, tetapi pada sistem nomor telepon negara lain, masking yang sama bisa membocorkan lebih banyak informasi
- Nomor ponsel Spanyol dimulai dengan 6, dan belakangan juga menggunakan 7, dengan panjang total 9 digit
- Jika layanan seperti eBay atau LastPass tidak mengurangi jumlah digit yang ditampilkan untuk nomor yang lebih pendek, maka pada target di Spanyol, LastPass saja sudah dapat mengungkap 5 dari 9 digit
- Di negara yang memakai nomor telepon 7 digit seperti Iceland, Estonia, dan San Salvador, 5 dari 7 digit pelanggan eBay dapat terekspos kepada orang yang hanya mengetahui email
- Jika akun eBay dan LastPass digabungkan, di negara-negara ini seluruh nomor telepon dapat diperoleh hanya dari alamat email
Serangan yang dimungkinkan setelah nomor telepon didapat
- Mengetahui nomor telepon dapat menjadi titik awal bagi berbagai serangan keamanan dan privasi
- Vektor serangan yang mungkin antara lain
- SIM swapping: memindahkan nomor ke SIM milik penyerang melalui rekayasa sosial, pemerasan, atau orang dalam di operator, lalu memakainya untuk reset kata sandi atau melewati 2FA
- Serangan SS7: protokol lama yang digunakan untuk interaksi antaroperator dapat disalahgunakan untuk pelacakan lokasi atau penyadapan komunikasi, sebagaimana telah didemonstrasikan di berbagai konferensi keamanan
- Serangan voicemail: pembobolan voicemail dapat memengaruhi keamanan akun
- Pelacakan lokasi: masalah pelacakan lokasi berbasis nomor telepon telah dibahas secara terpisah
- Spoofing caller ID: nomor penelepon dapat dipalsukan lewat layanan online untuk rekayasa sosial
Mitigasi yang diusulkan dan respons pengungkapan
- Masking yang hanya menampilkan sebagian PII tidaklah cukup
- Di negara dengan nomor telepon lebih pendek, jumlah digit masking yang sama membocorkan proporsi informasi yang lebih besar
- Pada email pun, menyamarkan hanya nama pengguna tidak cukup, karena domain dapat mengungkap tempat kerja dan TLD dapat mengungkap status pelajar atau negara
- Alternatifnya adalah membiarkan pengguna menetapkan label untuk email atau nomor telepon
- Contoh: “personal email”, “work phone”
- Petunjuk reset kata sandi menampilkan label, bukan potongan PII
- Pengguna sebaiknya tidak memberikan nomor telepon jika tidak benar-benar perlu, dan bila perlu dapat mempertimbangkan nomor virtual seperti Google Voice atau SIM terpisah
- Dalam proses responsible disclosure, layanan yang menampilkan lebih dari 2 digit atau mengekspos kode area maupun kode sentral dihubungi
- LastPass memperbarui mask agar hanya menampilkan 2 digit terakhir
- eBay diubah menjadi menampilkan digit pertama dan 2 digit terakhir, tetapi masih belum sepenuhnya aman
- Yahoo saat itu sedang meninjau risiko dan mitigasinya
- Paypal menganggap perilaku yang menampilkan 5 digit kepada orang yang hanya tahu email sebagai desain yang disengaja dan memutuskan untuk tidak mengambil tindakan
1 komentar
Pendapat Hacker News
Saya pernah membeli suku cadang mobil dari seseorang yang bisa dibilang agak mirip penipu; uangnya sudah ia terima selama berminggu-minggu, tetapi barang yang dipesan tidak semuanya dikirim
Karena kami berbicara di beberapa platform, tiap platform sedikit demi sedikit mengungkap potongan identitasnya, dan setelah dicocokkan sana-sini, semuanya tersambung
Saya menelepon tempat kerjanya, yang bergerak di industri yang sama dengan suku cadang yang ia jual, meminta agar suku cadangnya dikirim, dan sambil lalu bertanya apakah pemberi kerjanya juga terlibat dalam penjualan ini; sikapnya langsung berubah, dan keesokan harinya ia mengirim semua barang yang saya beli plus beberapa bonus
Saya hanya butuh titik tekanan
Satu bagian yang terlewat dalam tulisan itu, khusus untuk AS, adalah basis data CNAM
CNAM adalah basis data yang dipakai operator telekomunikasi untuk menampilkan caller ID berbentuk teks seperti "SMITH JOHN" alih-alih "+1 (555) 123-4567"
Pencariannya tidak gratis, tetapi untuk beberapa ratus nomor seharusnya ada cara yang relatif murah, dan karena nama serta email sering kali mirip, kita juga bisa membuat algoritme untuk memilih kandidat yang paling masuk akal
Datanya sering salah dengan cara yang menarik, tetapi tetap cukup berguna
curl/usr/local/bin/curl -s -X GET "https://lookups.twilio.com/v1/PhoneNumbers/…; -u $accountsid:$authtoken | /usr/local/bin/jq '.'Saya tidak ingat persis biayanya, tetapi mungkin sekitar 1 sen per lookup, dan juga menampilkan operator serta apakah nomornya ponsel atau telepon rumah
Saya sudah mengubah CNAM lalu memeriksanya dengan lookup nomor Twilio; secara prinsip harus memakai nama orang sungguhan, tetapi pada praktiknya ini sistem berbasis kejujuran
[1] https://www.t-mobile.com/support/tutorials/device/app/ios/to...
[2] https://www.twilio.com/code-exchange/lookup
Saya memakai nama asli di alamat email, dan nomor telepon saya juga tersedia secara publik di beberapa direktori telepon
Di Swedia, praktik standarnya adalah alamat dan nomor telepon dipublikasikan agar bisa dicari kecuali Anda secara terpisah menolaknya; informasi yang dulu ada di buku telepon tahun 80-an pada dasarnya berpindah online pada tahun 90-an
Informasi pribadi publik seperti ini bisa berguna, tetapi juga bisa disalahgunakan
Namun karena ada banyak PII publik seperti SSN, alamat, nomor telepon, dan tanggal lahir, orang justru tidak perlu memperlakukan informasi ini seperti rahasia, dan dibutuhkan kartu identitas serta eID yang benar agar mengetahui beberapa angka saja tidak membuat orang mudah menyamar sebagai orang lain
Jika seseorang menginginkan nomor telepon saya, dengan email yang berisi nama depan dan nama belakang, ia bisa mencari 100 orang bernama sama di situs pencarian, lalu jika tahu kota dan perkiraan umur, kandidatnya bisa dipersempit menjadi beberapa orang saja
Catatan publik bahkan menampilkan tanggal lahir, mobil, penghasilan, hingga orang yang terdaftar di alamat yang sama, jadi mengumpulkan informasi sumber terbuka di Swedia tidaklah sulit
Mengejutkan bahwa PayPal menampilkan angka 5 digit termasuk kode area kepada orang yang hanya tahu alamat email, sementara jika penyerang mengetahui kata sandi target, justru hanya 3 digit yang ditampilkan
Aneh juga kalau ini dianggap “berfungsi sesuai rancangan” dan tidak ditangani
Saya penasaran bagaimana para penipu mendapatkan nomor dari LinkedIn, atau bagaimana mereka mengaitkannya dengan nomor dari sumber lain; di salah satu perusahaan, para karyawan terus-menerus tertipu SMS CEO palsu
Repotnya memakai alamat email dan nomor Google Voice yang berbeda untuk tiap layanan ternyata sepadan
+Gmail untuk membuat alamat campuranBagi layanan eksternal, alamat itu terlihat seperti
gary+FqZWMK@gmail.com, sementara di kotak masuk sayaFqZWMKdiubah menjadi nama layanan seperti Netflix dan folder yang tertata dibuat secara otomatisKarena pemetaannya sepenuhnya saya kendalikan sendiri, saya juga bisa mengirim beberapa alamat acak ke kotak masuk “sekali pakai” yang otomatis diperlakukan sebagai spam setelah jangka waktu tertentu
Untuk memakai SIM kedua, di AS masih diperlukan perangkat dual SIM yang relatif niche
Nomor VoIP dicek dan diblokir oleh banyak situs, sementara di Android belum ada cara yang bagus untuk benar-benar mengirim dan menerima SMS operator dari desktop
Antarmuka web Google Messages terlalu sering melupakan perangkat sehingga sulit dipakai serius, dan jika pemblokiran VoIP nanti ditambahkan, bisa muncul masalah ayam-dan-telur: autentikasi dua faktor lewat SMS ikut terblokir sehingga akun tidak bisa dipakai lagi
Ada juga layanan seperti apotek Harris Teeter yang tidak memastikan apakah nomor tersebut benar-benar bisa dihubungi; nomor VoIP memang diterima, tetapi sistem tidak bisa menelepon atau mengirim SMS sehingga notifikasi resep tidak diterima
Ini mengubah cara ponsel dan laptop saling berinteraksi, dan mungkin merupakan proyek open source favorit saya secara pribadi
Anda bisa memakai laptop seperti keyboard, membalas pesan dari aplikasi apa pun yang mengirim notifikasi, atau mengirim file lebih cepat dan lebih baik daripada cara lain mana pun
Ukurannya seperti perangkat 2FA berupa kartu kode lama, dan awalnya dipicu oleh istri saya yang terus mengambil ponsel asli saya untuk menerima kode keamanan akun bersama
Keamanan operasionalnya juga sedikit lebih baik daripada memakai nomor telepon asli
Dalam pengalaman saya, situs yang memblokirnya kira-kira hanya Discord
Secara pribadi saya lebih suka memakai email khusus yang tidak terlalu mudah ditebak untuk setiap akun, seperti
ebpnw@mydomain.com, sehingga penyerang juga harus menebak emailnyaiPhone dual SIM tersedia mulai iPhone XS, iPhone XS Max, dan iPhone XR
Sumber: https://support.apple.com/en-us/HT209044
Sudah ada 6 generasi iPhone dual SIM dengan setidaknya satu eSIM
Kebocoran informasi yang tidak terkoordinasi seperti ini adalah masalah yang lebih mendalam
Banyak tempat membagikan empat digit terakhir SSN, padahal lima digit pertama dulu sering kali mudah ditebak dari tanggal lahir dan negara bagian kelahiran, dan angka di bagian awal menunjukkan negara bagian tempat nomor tersebut diterbitkan
Sebagian besar orang dewasa saat ini memang termasuk, tetapi tetap perlu dibedakan
Sistem ini sama sekali tidak mencegah pelacakan dan pengumpulan data oleh pemerintah maupun organisasi besar, tetapi setiap kali melakukan hal penting kita terus harus berurusan dengan sistem identitas nasional sementara secara de facto, tanpa satu pun manfaat dari sistem identitas nasional yang benar
Ini menimbulkan penderitaan dan pemborosan waktu yang luar biasa tanpa alasan apa pun
Saya selalu bertanya-tanya bagaimana peneliti keamanan membenarkan publikasi alat otomatis pembuat nomor telepon dari email seperti tulisan blog ini
Alat seperti ini kemungkinan besar punya jauh lebih banyak penggunaan buruk atau menyeramkan daripada penggunaan baik
Saya bertanya-tanya apakah ini dianggap boleh karena “riset” dan toh berada di wilayah abu-abu, atau apakah mereka sudah berbicara dengan perusahaan yang membocorkan kerentanan dan merasa ini sudah dinetralkan sehingga tidak apa-apa
Contoh bagusnya adalah Firesheep: cukup menjalankan plugin Firefox di Wi-Fi publik, Anda bisa langsung mengambil sesi pengguna di jaringan yang sama yang login lewat HTTP
Saat itu Facebook secara default memakai HTTP, dan ketika plugin ini menjadi berita, tekanan membuat mereka mewajibkan HTTPS hampir dalam semalam, lalu banyak perusahaan ikut menyusul
Tidak berlebihan untuk mengatakan bahwa publikasi ini sangat mempercepat adopsi HTTPS
Saya tidak tahu apakah publikasi kali ini akan punya dampak sebesar itu, tetapi menurut saya lebih baik teknik seperti ini tidak hanya diketahui black hat
Kita bisa menimbang, “apakah manfaat dari mempublikasikan informasi ini lebih besar daripada kerugiannya?”
Berkat informasi yang dipublikasikan Martin Vigo pada 2019, saya bisa memberi tahu pemberi kerja dan klien saya sekarang tentang model ancaman tambahan yang perlu dipertimbangkan saat menentukan metode reset password
Sebagai pembelaan, proof of concept yang awalnya dipublikasikan cukup terbatas bentuknya, membutuhkan akun Twilio sehingga ada hambatan masuk, dan jika dipakai untuk kejahatan juga meninggalkan petunjuk bagi analis
Rasanya sudah menjadi rahasia umum bahwa cukup banyak orang yang masuk ke dunia keamanan siber sebenarnya karena suka membobol keamanan dengan cara cerdik, bukan karena ingin membantu orang lain menjadi aman
Namun riset keamanan itu legal, sedangkan meretas target acak itu ilegal
Saat terjadi tindakan hukum, perusahaan juga jadi lebih sulit membela diri dengan mengatakan bahwa mereka tidak tahu