1. Pengenalan
Pengesahan berasaskan kata laluan kekal sebagai kaedah utama untuk pengesahan web walaupun cabaran keselamatannya telah didokumenkan dengan baik. Pengguna menghadapi beban kognitif dalam mencipta dan mengingati kata laluan yang kuat dan unik, membawa kepada penggunaan semula kata laluan dan penciptaan kelayakan yang lemah. Pengurus kata laluan berjanji untuk meringankan beban ini dengan menjana, menyimpan, dan mengisi automatik kata laluan. Walau bagaimanapun, keselamatan mereka telah dipersoalkan dalam penyelidikan terdahulu. Kertas kerja ini membentangkan penilaian keselamatan komprehensif yang terkini bagi tiga belas pengurus kata laluan berasaskan pelayar yang popular, lima tahun selepas kelemahan ketara terakhir dilaporkan. Kajian ini meliputi keseluruhan kitaran hayat pengurus kata laluan: penjanaan, penyimpanan, dan pengisian automatik.
2. Metodologi & Skop
Penilaian ini merangkumi tiga belas pengurus kata laluan, termasuk lima sambungan pelayar (contohnya, LastPass, 1Password), enam pengurus pelayar terbina dalam (contohnya, Chrome, Firefox), dan dua klien desktop untuk perbandingan. Metodologi yang digunakan melibatkan:
- Menjana dan menganalisis korpus 147 juta kata laluan untuk keacakan dan kekuatan.
- Mereplikasi dan melanjutkan penilaian terdahulu mengenai keselamatan penyimpanan kata laluan.
- Menguji mekanisme pengisian automatik untuk kelemahan seperti clickjacking dan XSS.
- Menilai tetapan keselamatan lalai dan amalan penyulitan.
3. Analisis Penjanaan Kata Laluan
Ini adalah analisis komprehensif pertama bagi algoritma penjanaan kata laluan dalam pengurus kata laluan.
3.1. Taburan Aksara & Keacakan
Analisis korpus 147 juta kata laluan mendedahkan beberapa kes taburan aksara tidak rawak dalam kata laluan yang dijana. Sesetengah pengurus menunjukkan bias dalam pemilihan aksara, menyimpang daripada taburan rawak seragam. Bagi penjana yang benar-benar rawak, kebarangkalian untuk memilih mana-mana aksara daripada set saiz $N$ sepatutnya $P(aksara) = \frac{1}{N}$. Penyimpangan daripada ini menunjukkan kelemahan algoritma.
3.2. Kerentanan terhadap Serangan Tebakan
Penemuan paling kritikalialah sebahagian kata laluan yang dijana rentan terhadap serangan brute-force:
- Tebakan Dalam Talian: Kata laluan yang lebih pendek daripada 10 aksara didapati lemah terhadap serangan dalam talian yang mempunyai had kadar.
- Tebakan Luar Talian: Kata laluan yang lebih pendek daripada 18 aksara rentan terhadap percubaan retakan luar talian selepas pelanggaran pangkalan data, di mana penyerang boleh membuat tekaan tanpa had.
Ini bercanggah dengan janji teras pengurus kata laluan untuk mencipta kata laluan yang kuat.
4. Keselamatan Penyimpanan Kata Laluan
Walaupun peningkatan diperhatikan berbanding penilaian lima tahun sebelumnya, isu penting masih berterusan.
4.1. Penyulitan & Pengendalian Metadata
Beberapa pengurus kata laluan didapati menyimpan metadata dalam bentuk tidak disulitkan. Ini termasuk URL laman web, nama pengguna, dan cap masa. Walaupun kata laluan itu sendiri mungkin disulitkan, metadata ini menyediakan peta yang berharga untuk penyerang, mendedahkan akaun dan tabiat dalam talian pengguna, yang boleh digunakan untuk serangan phishing atau kejuruteraan sosial yang disasarkan.
4.2. Tetapan Lalai yang Tidak Selamat
Sesetengah pengurus mempunyai tetapan lalai yang tidak selamat, seperti membolehkan pengisian automatik pada semua laman secara lalai atau menggunakan protokol penyulitan yang lebih lemah. Ini meletakkan beban keselamatan pada pengguna untuk mencari dan menukar tetapan ini, yang kebanyakan tidak lakukan.
5. Kelemahan Mekanisme Pengisian Automatik
Ciri pengisian automatik, yang direka untuk kemudahan, memperkenalkan permukaan serangan yang signifikan.
5.1. Clickjacking & UI Redressing
Pelbagai pengurus kata laluan rentan terhadap serangan clickjacking. Penyerang boleh mencipta halaman web berniat jahat dengan lapisan tidak kelihatan yang memperdaya pengguna untuk mengklik dialog pengisian automatik pengurus kata laluan, seterusnya mendedahkan kelayakan kepada laman penyerang dan bukannya laman sah yang dimaksudkan.
5.2. Risiko Cross-Site Scripting (XSS)
Mekanisme pengisian automatik yang menyuntik kelayakan ke dalam borang halaman web tanpa pemeriksaan asal yang ketat boleh dieksploitasi melalui kelemahan XSS pada laman yang dipercayai. Jika laman yang baik mempunyai kelemahan XSS, skrip yang disuntik boleh mencetuskan pengurus kata laluan untuk mengisi kelayakan ke dalam medan borang tersembunyi yang dikawal oleh penyerang.
6. Keputusan & Analisis Perbandingan
Saiz Korpus
147J
Kata Laluan Dianalisis
Pengurus Diuji
13
Pelayar & Desktop
Kelemahan Kritikal
<18 aksara
Rentan terhadap Retakan Luar Talian
Penemuan Utama: Landskap telah bertambah baik sejak kajian terdahulu (contohnya, Li et al., 2014; Silver et al., 2013), tetapi kelemahan keselamatan asas masih wujud di kalangan pelbagai vendor. Tiada satu pun pengurus kata laluan yang sempurna merentasi ketiga-tiga peringkat yang dinilai (penjanaan, penyimpanan, pengisian automatik). Pengurus pelayar terbina dalam dan sambungan khusus kedua-duanya menunjukkan corak kelemahan yang berbeza.
7. Cadangan & Hala Tuju Masa Depan
Kertas kerja ini merumuskan dengan cadangan yang boleh dilaksanakan:
- Untuk Pengguna: Elakkan pengurus kata laluan dengan kelemahan penjanaan yang diketahui atau tetapan lalai pengisian automatik yang tidak selamat. Utamakan pengurus yang membenarkan kawalan terperinci terhadap tingkah laku pengisian automatik.
- Untuk Pembangun: Melaksanakan penjana nombor rawak kriptografi yang selamat (CSPRNG) untuk penjanaan kata laluan. Sulitkan semua metadata. Melaksanakan pemeriksaan asal yang teguh dan mekanisme persetujuan pengguna untuk pengisian automatik (contohnya, memerlukan klik pada elemen yang tidak boleh di-UI-redress).
- Untuk Penyelidik: Terokai integrasi kaedah formal untuk mengesahkan logik pengisian automatik dan aplikasi pembelajaran mesin untuk mengesan permintaan pengisian automatik yang tidak normal yang menunjukkan serangan.
8. Analisis Asal & Ulasan Pakar
Pandangan Teras: Kajian Oesch dan Ruoti memberikan pemeriksaan realiti yang menyedarkan: alat keselamatan yang kita percayai untuk menyatukan kunci digital kita sendiri telah dibina dengan asas yang sangat goyah. Lima tahun selepas kelemahan besar didedahkan, kemajuan industri adalah tambahan pada tahap terbaik, gagal menangani isu sistemik dalam ketiga-tiga tiang teras—penjanaan, penyimpanan, dan pengisian automatik. Ini bukan sekadar laporan pepijat; ia adalah dakwaan terhadap sikap selesa dalam vertikal keselamatan kritikal.
Aliran Logik: Kekuatan kertas kerja ini terletak pada pendekatan kitaran hayat holistiknya. Ia betul mengenal pasti bahawa rantai hanya sekuat mata rantai terlemahnya. Mencari ketidakrawakan dalam penjanaan ($P(aksara) \neq \frac{1}{N}$) pada asasnya melemahkan seluruh premis sebelum penyimpanan atau pengisian automatik dipertimbangkan. Replikasi ujian penyimpanan/pengisian automatik lepas kemudian menunjukkan corak: walaupun kelemahan permukaan mungkin ditampal, kelemahan seni bina (seperti metadata tidak disulitkan atau pengisian automatik yang terlalu mudah) berterusan. Perkembangan logik ini daripada penciptaan yang cacat kepada pengendalian tidak selamat kepada penyebaran berisiko melukis gambaran yang lengkap dan mengutuk.
Kekuatan & Kelemahan: Kekuatan utama kajian ini ialah pendekatan berasaskan data yang besar terhadap penjanaan kata laluan—pertama dalam literatur. Korpus 147 juta kata laluan menyediakan bukti statistik yang tidak boleh disangkal tentang kelemahan algoritma, melangkaui kebimbangan teori. Walau bagaimanapun, analisis ini mempunyai titik buta: ia sebahagian besarnya memperlakukan pengurus kata laluan sebagai klien terpencil. Realiti moden ialah penyegerakan awan dan aplikasi mudah alih. Seperti yang dinyatakan dalam prosiding IEEE Symposium on Security and Privacy mengenai model keselamatan awan, permukaan ancaman meluas ke protokol segerak, API sebelah pelayan, dan integrasi OS mudah alih, yang tidak dinilai oleh kajian ini. Tambahan pula, walaupun ia menyebut "tetapan lalai tidak selamat," ia tidak mengukur kadar penerimaan pengguna terhadap tetapan selamat—faktor kritikal dalam risiko dunia sebenar, seperti yang ditunjukkan secara konsisten oleh kajian kebolehgunaan dari persidangan USENIX SOUPS bahawa kebanyakan pengguna tidak pernah menukar tetapan lalai.
Pandangan Boleh Tindak: Untuk pasukan keselamatan perusahaan, penyelidikan ini mewajibkan peralihan daripada cadangan umum "gunakan pengurus kata laluan" kepada panduan khusus vendor dan konfigurasi. Pengurus dengan penjana lemah mesti disenaraihitamkan. Senarai semak perolehan kini mesti termasuk pengesahan penggunaan CSPRNG dan penyulitan metadata. Untuk pembangun, jalan ke hadapan adalah jelas: menerima pakai prinsip "sifar kepercayaan" untuk pengisian automatik, memerlukan persetujuan pengguna yang eksplisit dan sedar konteks untuk setiap tindakan pengisian, serupa dengan model kebenaran yang diperjuangkan oleh World Wide Web Consortium (W3C) untuk API web yang berkuasa. Masa depan terletak bukan pada cuba mengamankan pengisian automatik yang terlalu permisif dengan sempurna, tetapi dalam mereka bentuk pengisian automatik yang minima permisif dan dikawal pengguna. Kegagalan industri untuk membetulkan diri selama lima tahun mencadangkan campur tangan pengawal selia atau badan piawaian (contohnya, oleh NIST atau FIDO Alliance) mungkin diperlukan untuk menguatkuasakan keperluan keselamatan asas untuk penjaga identiti digital kita ini.
9. Butiran Teknikal & Keputusan Eksperimen
Analisis Penjanaan Kata Laluan: Entropi $H$ bagi kata laluan yang dijana dengan panjang $L$ daripada set aksara $C$ secara idealnya ialah $H = L \cdot \log_2(|C|)$ bit. Kajian mendapati kes di mana entropi berkesan adalah lebih rendah disebabkan oleh pemilihan aksara yang berat sebelah. Sebagai contoh, jika penjana bertujuan menggunakan set 94 aksara tetapi aksara tertentu muncul dengan kebarangkalian $p \ll \frac{1}{94}$, entropi sebenar dikurangkan: $H_{sebenar} = -\sum_{i=1}^{94} p_i \log_2(p_i)$ per aksara, di mana $\sum p_i = 1$.
Penerangan Carta Eksperimen: Satu carta utama dalam kajian akan memplot pecahan kumulatif kata laluan yang dipecahkan terhadap bilangan percubaan tekaan (skala log) untuk kata laluan yang dijana dengan panjang berbeza (contohnya, 8, 12, 16 aksara). Lengkung untuk kata laluan kurang daripada 10 aksara akan menunjukkan kenaikan curam, menunjukkan kompromi pantas di bawah simulasi serangan dalam talian (contohnya, 1000 tekaan). Lengkung untuk kata laluan kurang daripada 18 aksara akan menunjukkan pecahan ketara dipecahkan selepas $10^{10}$ hingga $10^{12}$ tekaan luar talian, meletakkannya dalam keupayaan penyerang yang bertekad dengan perkakasan moden, seperti yang dibandingkan oleh alat seperti Hashcat dan jadual pelangi.
10. Kerangka Analisis & Kajian Kes
Kerangka untuk Menilai Keselamatan Pengurus Kata Laluan:
- Integriti Penjanaan: Uji output secara statistik untuk keacakan (contohnya, ujian NIST STS, Dieharder) dan kira entropi berkesan. Sahkan panjang minimum lalai selaras dengan garis panduan NIST semasa (>= 12 aksara).
- Keselamatan Penyimpanan: Periksa penyimpanan tempatan (contohnya, IndexedDB pelayar, fail SQLite) dan trafik rangkaian untuk data disulit vs. teks biasa. Audit perpustakaan penyulitan dan fungsi terbitan kunci (contohnya, adakah ia menggunakan PBKDF2 dengan lelaran mencukupi, atau Argon2?).
- Postur Keselamatan Pengisian Automatik: Petakan mekanisme pencetus pengisian automatik. Uji untuk UI redressing dengan mencipta iframe bertindih. Uji logik padanan asal dengan menyebarkan laman dengan nama domain serupa (contohnya, `example.com` vs. `example.com.evil.net`). Periksa sama ada pengisian automatik memerlukan isyarat pengguna pada elemen halaman yang tidak boleh diramal.
Kajian Kes - Kelemahan Clickjacking: Pertimbangkan Pengurus X, yang menunjukkan butang pengisian automatik di atas borang log masuk. Penyerang mencipta halaman berniat jahat dengan iframe tidak kelihatan memuatkan `bank.com`. Iframe diletakkan supaya butang pengisian automatik Pengurus X muncul di atas butang "hantar-kepada-penyerang" tersembunyi pada halaman berniat jahat. Pengguna mengklik untuk mengisi automatik, tetapi sebaliknya mengklik butang penyerang, menghantar kelayakan `bank.com` ke pelayan penyerang. Ini menunjukkan kegagalan dalam pengikatan acara klik dan pengesahan asal pengurus.
11. Aplikasi Masa Depan & Prospek Penyelidikan
Penemuan ini membuka beberapa laluan untuk kerja masa depan:
- Penjanaan & Penyimpanan Disokong Perkakasan: Integrasi dengan Trusted Platform Modules (TPM) atau Secure Enclaves (contohnya, Secure Element Apple) untuk menjana benih rawak dan menyimpan kunci penyulitan, mengalihkan rahsia keluar dari alam semata-mata perisian.
- Pengisian Automatik Sedar Konteks, Berasaskan Risiko: Memanfaatkan pembelajaran mesin untuk menganalisis konteks halaman (struktur DOM, butiran sijil, reputasi laman) untuk menilai risiko pengisian automatik. Konteks berisiko tinggi boleh memerlukan pengesahan tambahan (biometrik) atau menyekat pengisian automatik sepenuhnya.
- API Keselamatan Piawai: Pembangunan API piawai pelayar, berkeizinan untuk pengurus kata laluan (contohnya, pengganti kepada API `chrome.loginState`) yang menyediakan akses selamat, tersandbox kepada kelayakan dengan permintaan persetujuan pengguna yang jelas, mengurangkan permukaan serangan daripada suntikan DOM sewenang-wenangnya.
- Kesiapsiagaan Kriptografi Pasca-Kuantum: Penyelidikan ke arah migrasi penyulitan pengurus kata laluan kepada algoritma tahan terhadap serangan komputer kuantum, kerana peti besi disulit adalah aset jangka panjang yang sangat menarik untuk penyerang kutip-sekarang-pecahkan-nanti.
- Model Terpencar & Penjagaan Kendiri: Meneroka penggunaan protokol identiti terpencar (contohnya, berdasarkan W3C Verifiable Credentials) untuk mengurangkan pergantungan pada peti besi pusat, mengagihkan risiko dan memberi pengguna kawalan yang lebih besar.
12. Rujukan
- Oesch, S., & Ruoti, S. (2020). That Was Then, This Is Now: A Security Evaluation of Password Generation, Storage, and Autofill in Browser-Based Password Managers. USENIX Security Symposium.
- Li, Z., He, W., Akhawe, D., & Song, D. (2014). The Emperor's New Password Manager: Security Analysis of Web-based Password Managers. IEEE Symposium on Security and Privacy (SP).
- Silver, D., Jana, S., Boneh, D., Chen, E., & Jackson, C. (2013). Password Managers: Attacks and Defenses. USENIX Security Symposium.
- National Institute of Standards and Technology (NIST). (2017). Digital Identity Guidelines (SP 800-63B).
- Stock, B., & Johns, M. (2013). Protecting the Intranet Against "JavaScript Malware" and Related Attacks. International Conference on Detection of Intrusions and Malware, and Vulnerability Assessment (DIMVA).
- Herley, C. (2009). So Long, And No Thanks for the Externalities: The Rational Rejection of Security Advice by Users. Proceedings of the New Security Paradigms Workshop (NSPW).
- World Wide Web Consortium (W3C). (2021). Permissions Policy. https://www.w3.org/TR/permissions-policy-1/
- FIDO Alliance. (2022). FIDO2: WebAuthn & CTAP. https://fidoalliance.org/fido2/