Posting ini hanya berlaku untuk Firefox dan Chromium / Google Chrome. Saya tidak dapat mengomentari Internet Explorer, Opera atau browser seluler. Juga, matematika saya lebih jauh ke bawah bisa salah, tetapi ide dasarnya sudah benar.
Tentu saja ini mungkin, dalam kasus Firefox dan Chrome / Chromium, tidak mungkin.
Apakah kata sandi saya (yang disimpan di browser) aman?
Jawaban ini adalah salah satu favorit saya: Tergantung. Kata sandi yang disimpan oleh browser harus memenuhi satu yang penting, dan, dari sudut pandang keamanan, mimpi buruk, kondisi: Kata sandi harus plaintext atau dapat dikembalikan ke plaintext.
Plaintext vs. Terenkripsi vs. Hashed
Kenapa itu buruk? Nah, bayangkan seseorang membobol server dan mencuri basis data kata sandi. Ada dua kemungkinan hasil:
- Kata sandi adalah plaintext (atau mudah dibalik), sehingga cracker sekarang memiliki akses penuh ke semua akun.
- Kata sandi di- hash (atau dienkripsi), serangan brute-force terhadap hash akan diperlukan untuk mendapatkan kata sandi dan akses ke akun. Bahkan sekarang setelah nama pengguna dan kata sandi Anda dicuri, akun Anda masih aman.
Karena browser harus mampu untuk mengirim password ke situs web, tidak dapat hash password, itu hanya mengenkripsi mereka (atau bahkan menyimpannya sebagai plaintext). Ini adalah sesuatu yang harus selalu diingat (hal yang sama berlaku untuk klien email, aplikasi obrolan, dan sebagainya).
Hanya karena dienkripsi, bukan berarti itu aman
Firefox, secara default, memungkinkan Anda menyimpan kata sandi. Itu juga mengenkripsi mereka . Hal yang sama berlaku untuk Chromium (lihat lampiran "Yah, itu tergantung ..." ). Masalah dengan ini adalah kunci untuk dekripsi juga disimpan dengan kata sandi. Enkripsi ini membuat ketidaknyamanan kecil bagi seseorang yang menginginkan kata sandi Anda dan tidak menghentikannya dengan cara apa pun.
Maka jangan menyimpan kunci dengan kata sandi!
Itu benar, untuk membuat kata sandi lebih aman , kita perlu mengambil kunci dari kata sandi terenkripsi. Ini dilakukan di Firefox dengan menetapkan Kata Sandi Utama , yang kemudian digunakan untuk mengenkripsi dan mendekripsi semua kata sandi Anda. Dengan menggunakan teknik ini, Anda memisahkan kunci dari data yang dienkripsi, yang selalu merupakan ide yang baik (setelah semua, Anda tidak menyimpan kunci pintu depan Anda pada kait di depan pintu Anda di luar, kan?).
Kata sandi hanya seaman Anda membuatnya
Jadi, mengapa saya katakan sebelumnya bahwa kata sandi Anda sekarang lebih aman dan tidak aman ? Karena sekarang keamanan kata sandi Anda tergantung pada kata sandi yang Anda pilih. Artinya, kata sandi "asdf" tidak boleh dianggap aman dengan cara apa pun; tidak ada "12345". Kata sandi yang baik panjang , karena memaksa mereka membutuhkan banyak waktu. Kata sandi "VioletIsAnotherColor" secara teknis lebih aman daripada "D0! L4riZe" karena panjangnya, meskipun faktanya yang kedua berisi karakter khusus. Mari kita lihat itu.
"VioletIsAnotherColor"
Panjang: 20
Kemungkinan karakter: 52 (26 huruf kecil + 26 huruf besar)
"D0! L4riZe"
Panjang: 9
Kemungkinan Karakter: 77 (26 lebih rendah + 26 atas + 10 digit + 15 spesial)
Spesial :! " @ $% & / () =? * + # -
Jadi, berapa banyak upaya yang perlu dilakukan untuk memecahkan kata sandi tersebut, mengetahui karakter dan panjangnya?
"VioletIsAnotherColor"
52 20 = ~ 20 decillion (~ 2 × 10 34 )
"D0! L4riZe"
77 9 = ~ 95 kuadriliun (~ 9 × 10 16 )
Seperti yang kita lihat, kata sandi terakhir, terlepas dari rangkaian karakter yang lebih luas, lebih mudah untuk diubah daripada yang lama dengan rangkaian terbatas. Ini karena panjangnya. (Sisi positif lainnya adalah yang pertama lebih mudah diingat.) Lihat pertanyaan Keamanan TI ini untuk detail tentang masalah ini.
Jadi, jika mungkin, gunakan kata sandi, bukan kata sandi .
Kembali ke topik, seberapa aman kata sandi saya dari addo spoofing?
Mereka tidak. Ini karena addons memiliki akses ke situs web yang baru saja Anda kunjungi. Mereka dapat mengekstrak informasi darinya, termasuk kata sandi yang dimasukkan. Addons adalah risiko keamanan seperti perangkat lunak lainnya yang diinstal. Instal hanya addons yang Anda percayai.
Bagus! Bagaimana saya tahu itu?
Instal hanya addons dari sumber yang Anda percayai. Untuk Firefox itu adalah halaman AddOns dan untuk Chromium adalah Toko Web Chrome , atau jika Anda mempercayai penulis / distributor. Keduanya menjamin bahwa AddOns sudah diperiksa dan aman.
Baik halaman AddOns Mozilla maupun Toko Web Chrome tidak menjamin bahwa addon itu aman. Mereka menggunakan proses ulasan otomatis yang mungkin atau mungkin menangkap addon berbahaya. Pada akhirnya, masih ada risiko yang tersisa.
Hanya instal addons dari sumber yang Anda percayai.
Tunggu sebentar; apakah Anda baru saja menyebutkan perangkat lunak lain yang diinstal?
Tentu saja! Tidak ada yang menghalangi perangkat lunak yang diinstal lainnya dari mengambil kata sandi Anda dari browser, melakukan serangan man-in-the-middle, atau bahkan melayani proxy yang menipu situs web perbankan Anda. Hal yang sama berlaku untuk Plugin Browser. Aturan praktisnya adalah: Jangan menginstal perangkat lunak yang tidak dapat Anda percayai.
Kesimpulan
Apa yang harus Anda ambil dari ini?
- Jangan pernah menginstal perangkat lunak / plugins / addons yang tidak Anda percayai.
- Jika Anda masih ragu, atur kata sandi utama.
- Jika masih ragu, jangan percayai peramban Anda dengan kata sandi, jangan pernah menyimpannya.
- Jika masih ragu, jangan pernah memasang addons / plugins.
- Jika masih ragu, gunakan sistem live , yang tidak dapat dirusak.
Tambahan: "Yah, itu tergantung ..."
Ketika saya mulai belajar, asumsi saya dalam paragraf ini tidak 100% benar, dan saya ingin memperbaikinya. Informasi berikut ini hanya berlaku untuk penyimpanan kata sandi pada disk.
Google Chrome / Chromium
Ini sebenarnya tidak menyimpan password Anda dengan cara yang aman pada disk, tergantung pada sistem operasi itu berjalan pada:
Microsoft Windows
Microsoft Windows API CryptProtectData
/ CryptUnprotectData
digunakan untuk mengenkripsi / mendekripsi kata sandi. API ini berfungsi dengan kata sandi akun OS Anda, jadi hanya seaman kata sandi itu.
MacOS
Lapisan untuk MacOS menghasilkan kunci acak berdasarkan kata sandi gantungan kunci dari pengguna saat ini dan menambahkan kunci itu ke gantungan kunci. Sekali lagi, ini hanya seaman kata sandi pengguna.
Linux
Baiklah ... jangan membicarakannya.
Oke, jika Anda harus tahu, itu persis seperti yang saya asumsikan: ia menyimpan data dengan kata sandi yang dikodekan. Mengapa demikian? Hanya karena tidak ada infrastruktur umum di tempat untuk menangani data terenkripsi dengan cara ke dua sistem lainnya. Tidak, saya tidak hanya mengatakan bahwa Linux tidak memiliki sistem enkripsi atau keamanan; ada banyak solusi keyring / gantungan kunci dan penyimpanan kata sandi yang tersedia di userspace . Sepertinya, pengembang Chrome memutuskan untuk tidak menggunakan salah satunya. "Mengapa?" bukan pertanyaan yang bisa saya jawab.
Firefox
Selalu menggunakan kunci yang dibuat yang disimpan di samping kata sandi. Pengecualian adalah jika Anda menetapkan kata sandi master, maka ini juga akan digunakan.
VioletIsAnotherColor
vs AndaD0!l4riZe
untuk kekuatan kata sandi. Yang pertama secara teknis adalah kuat ... ketika Anda menggunakan serangan brute force . Namun, jenis serangan lain adalah serangan kamus , di mana penyerang secara metodis melewati, bukan huruf dan angka acak, kata-kata dalam kamus, dan kombinasi kata-kata itu.VioletIsAnotherColor
dapat dipecahkan dalam ~ 1,2 miliar kemungkinan. Hanya untuk teknis dan semuanya, tetapi perlu diperhatikan. (Pokoknya +1, btw) :)