- Sebuah kumpulan data masif berisi 1.957.476.021 alamat email unik dan 1,3 miliar kata sandi telah terungkap dan baru ditambahkan ke Have I Been Pwned (HIBP)
- Di antaranya, 625 juta kata sandi belum pernah ditemukan sebelumnya, menjadikannya salah satu data terbesar yang pernah diproses HIBP
- Data tersebut dikumpulkan dari platform threat intelligence milik Synthient dan berisi materi credential stuffing, termasuk kombinasi email dan kata sandi yang bocor dari berbagai insiden pelanggaran
- Untuk memverifikasi keaslian data, HIBP meminta konfirmasi langsung dari para pelanggannya, dan sebagian di antaranya ternyata masih berisi kata sandi yang benar-benar masih digunakan
- Pengindeksan kali ini bukan kebocoran Gmail, melainkan hasil pengumpulan kredensial dari korban infeksi malware, dan pengguna dapat memeriksa apakah mereka terdampak melalui HIBP atau Pwned Passwords
Gambaran data
- Kumpulan data ini mencakup 1.957.476.021 alamat email unik dan 1,3 miliar kata sandi
- Di antaranya, 625 juta kata sandi adalah entri yang pertama kali ditemukan di HIBP
- Ini merupakan skala terbesar dari seluruh data yang pernah diproses HIBP, sekitar 3 kali lebih besar dari kebocoran terbesar sebelumnya
- Data tersebut merupakan bagian dari materi threat intelligence yang dikumpulkan oleh Synthient, dan mencakup daftar credential stuffing
- Data credential stuffing terbentuk dari penggunaan ulang kombinasi email dan kata sandi yang bocor dari berbagai insiden pelanggaran
- Karena praktik memakai kata sandi yang sama di banyak situs, satu kebocoran dapat berujung pada kompromi akun di layanan lain
Proses verifikasi data
- Verifikasi dimulai dari alamat email pribadi milik penulis, dan beberapa kata sandi lama ternyata memang cocok
- Kata sandi lain terasa tidak familiar, dan sebagian berisi nilai yang tidak normal seperti format alamat IP
- HIBP juga meminta verifikasi dari para pelanggan untuk mengumpulkan berbagai kasus
- Seorang pengguna mendapati kata sandi lama dan kata sandi terbaru sama-sama tercantum, lalu segera melakukan penggantian
- Pengguna lain menemukan kata sandi yang pernah dipakai 10 hingga 20 tahun lalu tercantum di sana
- Sebagian responden juga mendapati kata sandi yang masih digunakan pada akun aktif ikut terekspos
- Hasil verifikasi menunjukkan bahwa data ini berisi campuran informasi lama dan kata sandi yang benar-benar masih digunakan
- Sebagian entri juga berupa kata sandi yang dibuat otomatis atau sudah terlalu lama sehingga tidak lagi diingat
Fitur pencarian Pwned Passwords
- Layanan Pwned Passwords dari HIBP menyimpan alamat email dan kata sandi secara terpisah
- Ini adalah langkah untuk keamanan dan privasi, agar mengurangi risiko tereksposnya pasangan email-kata sandi
- Pengguna dapat memeriksa apakah kata sandi mereka pernah terekspos dengan cara berikut
- Menggunakan halaman pencarian Pwned Passwords
- Pencarian berbasis kode melalui API k-anonymity
- Pemeriksaan otomatis lewat fitur 1Password Watchtower
- Semua kombinasi PIN 4 digit sudah pernah bocor, dan juga ada materi visualisasi pola penggunaan PIN berbasis data HIBP
Bukan kebocoran Gmail
- Insiden ini tidak terkait dengan celah keamanan Gmail, melainkan data kredensial korban yang dikumpulkan melalui infeksi malware
- Seluruh data mencakup 32 juta domain email, dan gmail.com berjumlah 394 juta di antaranya
- Alamat Gmail hanya sekitar 20% dari total keseluruhan, sedangkan 80% sisanya berasal dari domain lain
- Tidak ada kaitan dengan kelemahan keamanan milik Google
Proses penanganan teknis
- Data kali ini berukuran sekitar 3 kali lebih besar dari kebocoran terbesar sebelumnya, sehingga proses penanganannya sangat kompleks
- HIBP memproses data selama sekitar 2 minggu di lingkungan Azure SQL Hyperscale (80 core)
- Saat pembuatan hash SHA1 untuk alamat email, pembaruan dalam skala besar gagal sehingga proses dialihkan ke batch per 1 juta entri
- Dari 5,9 juta pelanggan, 2,9 juta orang termasuk dalam data kali ini
- Untuk menghindari penyaringan spam dan batasan server saat mengirim email massal, dipakai strategi pengiriman bertahap
- Volume pengiriman diatur naik 1,015 kali per jam, atau sekitar 45% per hari
- Keandalan dijaga dengan pengaturan DKIM, DMARC, SPF, serta penggunaan IP khusus
- Ukuran respons API Pwned Passwords naik dari rata-rata 26KB menjadi 40KB
- Hal ini karena ukuran rentang hash membesar sekitar 50%, dan efisiensi tetap dijaga lewat kompresi brotli
Kesimpulan dan langkah yang disarankan
- Data ini dapat dicari di HIBP dengan nama “Synthient Credential Stuffing Threat Data”
- Ini adalah kumpulan data yang terpisah dari data Synthient sebelumnya, meski ada sebagian tumpang tindih
- HIBP menegaskan bahwa integritas data telah diverifikasi, dan menyediakan fitur pencarian yang berfokus pada privasi
- Langkah keamanan yang direkomendasikan untuk pengguna
- Menggunakan pengelola kata sandi
- Membuat kata sandi yang kuat dan unik
- Menggunakan passkey dan mengaktifkan autentikasi multi-faktor (MFA)
- HIBP juga menyebut pekerjaan ini sebagai proyek yang sangat memakan waktu dan biaya, dan meminta pengguna untuk berfokus pada perbaikan kebiasaan keamanan, alih-alih mengajukan permintaan akses ke data
1 komentar
Komentar Hacker News
Sudah terlalu banyak kebocoran data sampai sekarang. Rasanya alamat, SSN, nomor telepon, email, dan semua informasiku sudah terekspos berkali-kali
Aku pernah menerima pemberitahuan kebocoran dari kampus, situs lowongan kerja, media sosial, dan selain itu dataku mungkin juga sudah beredar lewat analisis big data yang legal
Sekarang aku menyimpan dan mengelola kata sandi yang kuat di Bitwarden, tapi akun-akun lama yang dulu kupakai sepertinya masih berisiko
Jujur aku sudah tidak tahu lagi apa yang bisa dilakukan sekarang. Menyedihkan rasanya bahwa informasiku sudah telanjur tersebar di luar
Di waktu senggang aku sedang merapikan akun-akun lama. Jadi aku bisa langsung tahu sumber spam atau kebocoran dari alamat emailnya
Dengan filtering Sieve, pengelompokan bisa jauh lebih presisi. Jika memakai
envelope todanheader tobersama-sama, email BCC maupun alias juga bisa difilter dengan akuratDokumen terkait: RFC5228 Sieve Filtering
Dulu aku bahkan pernah memulihkan akun yang sudah kulupakan berkat email spam yang menyertakan kata sandi lamaku
Istriku bilang perlindungan informasi online itu sudah menjadi pertempuran yang kalah. Mungkin ada benarnya juga
Nomor telepon juga dulu semuanya ada di buku telepon. Rasanya itu masih seperti informasi publik
Dulu pernah ada orang memasang TV kabel atas namaku, dan aku kerepotan menghapusnya dari riwayat kredit
Sepertinya Troy sekarang bisa menghemat banyak ruang DB
Tinggal
Rasanya semua email sudah kebobolan sampai-sampai cukup begini saja
Sebaliknya, email-email untuk keperluan acak justru punya riwayat bocor sampai 9 kali
Sepertinya data kali ini mencakup informasi kebocoran Spotify yang belum dipublikasikan
Pada awal 2020, akun Spotify-ku yang memakai kata sandi lemah pernah login dari IP AS
Beberapa jam kemudian Spotify otomatis mengirim reset kata sandi, tapi tidak pernah ada pemberitahuan kebocoran resmi
Baru sekarang email itu muncul di HIBP
Aku menghormati pekerjaan Troy, tapi saat mencari emailku di Have I Been Pwned, tidak ada langkah tindakan yang benar-benar praktis
Situs itu cuma menampilkan pesan seperti “ini berisiko, jadi kelola kata sandimu dengan baik”
Mengganti lebih dari 500 kata sandi itu secara realistis mustahil. Pada akhirnya kita bergantung pada password manager seperti Bitwarden, 1Password, Chrome, dan lainnya
Aku juga dulu pernah memakai ulang kata sandi yang sama lalu semua akunku dibobol
Sekarang aku cuma menghafal master password password manager, Gmail, dan kata sandi enkripsi disk, sementara sisanya semua dibuatkan oleh manajer
Di tempat yang memungkinkan, aku juga mengaktifkan 2FA(U2F/WebAuthn)
1Password juga bekerja dengan cara yang sama, dan tidak menyimpan nama akun sehingga tidak menimbulkan risiko kebocoran baru
Tapi kebanyakan ternyata kata sandi dari kebocoran lama, jadi aku berusaha menghindari tindakan yang tidak perlu
Karena memakai banyak alamat email kustom, untuk memeriksa semuanya di HIBP aku perlu berlangganan berbayar
Aku mengelola ratusan email jadi ini merepotkan. Meski begitu, memakai alamat unik untuk tiap situs tetap sangat layak
Dulu email lamaku bocor dalam kebocoran Facebook, lalu domain itu didaftarkan ulang oleh orang lain yang mencoba membajak akun
Untungnya bisa dicegah berkat 2FA dan peringatan keamanan dari Facebook
Alamat email yang sudah tidak dipakai wajib dihapus dari akun
Sejak iCloud dan Gmail makin mudah menghubungkan domain kustom, risiko seperti ini jadi lebih besar
Bagian bahwa Azure SQL Hyperscale dijalankan di 80 core selama 2 minggu itu menarik
Untuk sekadar mengelola email dan kata sandi, SQL terlihat seperti pilihan yang berlebihan.
Bahkan kalau 15 miliar entri pun, 600GB sepertinya masih bisa ditangani server biasa
Update in-place terlalu lambat, jadi mereka membuat tabel terpisah, dan saat mengirim notifikasi email mereka juga terkena batasan penyedia email
Gelar “Microsoft Regional Director and MVP” itu agak membingungkan
Buat file 20GB berisi hash SHA1 yang sudah diurutkan, lalu gunakan binary search atau indeks berbasis distribusi hash agar pencarian cukup 1 kali I/O
Jika dibagi dan diurutkan ke dalam 65.536 chunk, masalah memori juga selesai
Struktur seperti ini bisa dijalankan di Blob Storage dengan biaya sekitar 50 kali lebih murah daripada Azure SQL
Sepertinya data HIBP punya masa kedaluwarsa. Dulu emailku termasuk dalam kebocoran Dropbox, tapi sekarang catatannya sudah hilang
Halaman kebocoran Dropbox
Aku penasaran mana yang lebih baik antara Bitwarden / 1Password / Proton Pass
Proton Pass rasanya masih terlalu dini untuk dipercaya, dan aku juga teringat nasihat “jangan taruh semua telur dalam satu keranjang”
Aku memilih Bitwarden yang open source, dengan harapan basis pengguna gratisnya yang besar akan membuat masalah cepat terlihat dan cepat diperbaiki
Kalau memakai akun bisnis, akun keluarga juga diberikan gratis, itu juga nilai plus
Meski begitu, filosofi open source Bitwarden tetap sangat layak dipertimbangkan
Judul tulisan ini rasanya akan lebih akurat jika menjadi “1,3 miliar kata sandi bocor”
Angkanya memang sedikit lebih kecil, tapi maknanya jauh lebih besar