Panjang atau Rumit?
Kebijakan kata sandi yang paling umum diterapkan oleh administrator, baik dalam hal aplikasi web maupun sistem lain, adalah panjang dan rumit. Misalnya, kata sandi yang rumit mungkin harus berisi setidaknya 8 karakter, huruf besar dan kecil, angka, dan karakter khusus. Namun, kebijakan ini sebenarnya cukup lemah dan tidak direkomendasikan. Sebaiknya atur panjang minimum setidaknya 16 karakter, beri spasi, dan perkenalkan tanpa batas panjang.
Ada beberapa situs web, di mana Anda dapat memeriksa berapa lama waktu yang dibutuhkan untuk memecahkan kata sandi Anda menggunakan serangan brute force. Jika Anda memasukkan kata sandi 8 karakter dengan angka, huruf besar/kecil, dan jika anda mencoba di How Secure Is My Password, hasilanya adalah komputer dapat merusak kata sandi Anda dalam 9 jam. Di sisi lain, jika Anda memasukkan kata sandi 16 karakter yang hanya menggunakan huruf kecil, hasilnya adalah 224 juta tahun.
Apakah karakter panjang cukup aman ?
Jika peretasan kata sandi hanya didasarkan pada metode brute-force (mencoba setiap kombinasi yang mungkin), panjang kata sandi akan menjadi cara terbaik untuk secara praktis membuat serangan menjadi tidak mungkin. Namun, ada juga teknik serangan cyber yang disebut serangan kamus, yang pada dasarnya berarti menebak kata sandi berdasarkan kata-kata yang umum digunakan. Misalnya, kata sandi rubah coklat cepat melompati anjing malas akan dipecahkan oleh serangan kamus hampir seketika. Di sisi lain, frasa sandi dengan huruf yang sama persis: vromjon tobki huhet qecar dzowyf xup selg, hampir mustahil untuk dipecahkan.
Untungnya, serangan kamus juga sangat mudah dihindari jika Anda menggunakan kata-kata palsu yang mudah dihafal karena cara pengucapannya. Misalnya, Anda dapat menggunakan frasa sandi seperti bargle zaws gubble meh brudda dulgly. Mereka yang mengetahui bahasa yang tidak jelas menjadi lebih mudah karena sebagian besar serangan kamus didasarkan pada kosakata bahasa Inggris dan beberapa bahasa dunia populer lainnya. Misalnya, kapaċi niekol ieġ għax ma tweġġanix dapat dianggap sebagai sandi yang sangat kuat.
Rasa aman yang salah
Mekanisme lain yang sangat umum digunakan oleh aplikasi web dan sistem lain untuk meningkatkan keamanan kata sandi adalah memaksa pengguna untuk mengubah kata sandi mereka secara teratur. Mekanisme seperti itu biasanya menyimpan hash untuk kata sandi lama, oleh karena itu pengguna tidak disarankan untuk menggunakan kembali kata sandi mereka sebelumnya.
Teknik ini tidak meningkatkan entropi kata sandi dan sama sekali tidak mencegah dari serangan peretas. Oleh karena itu, semakin banyak pemain besar termasuk Microsoft menjauh dari merekomendasikan perubahan kata sandi biasa. Bahkan institusi besar seperti FTC sekarang merekomendasikan hal ini, jadi jangan terapkan mekanisme ini di aplikasi web Anda.
Bahaya penggunaan kata sandi berulang
Ketika Anda menemukan kata sandi yang aman, akan menjadi tidak aman jika Anda gunakan di setiap situs web dan aplikasi. Dengan jumlah pelanggaran data secara global ada kemungkinan besar kata sandi Anda untuk beberapa situs telah disusupi.
Untungnya, sebagian besar situs sebenarnya tidak menyimpan kata sandi yang tidak terenkripsi (walaupun pemain terbesar di pasar telah bersalah karenanya). Artinya, dalam kasus pelanggaran data, hanya hash kata sandi yang dikompromikan. Namun, dalam banyak kasus, hash tidak aman. Banyak aplikasi web menggunakan algoritma hash lama dan mudah dikompromikan seperti MD5. Dalam kasus seperti itu, penyerang membutuhkan lebih sedikit waktu untuk menemukan kata sandi berdasarkan hash. Tentu saja, semakin sederhana kata sandi Anda, semakin cepat itu akan disusupi.
Sayangnya, tidak ada cara untuk memeriksa penggunaan kembali kata sandi di aplikasi web Anda. Oleh karena itu, Anda perlu menghimbau pengguna Anda dan percaya bahwa mereka mengikuti saran Anda.
Semua kata sandi penting
Sebagai pengembang aplikasi web, anda mungkin berfikir bagaimana cara membuat kata sandi yang aman dan tidak membahayakan aplikasi web anda. Sayangnya, hal ini tidak selalu terjadi. Misalnya, jika penjahat dunia maya menggunakan injeksi SQL untuk mendapatkan daftar hash kata sandi dan kemudian memecahkan bahkan satu kata sandi pengguna, mereka dapat menggunakan akun pengguna ini untuk mengakses sistem dan menggunakan eskalasi hak istimewa untuk mendapatkan akses ke akun istimewa. Sayangnya, penyerang mungkin juga mendapatkan kata sandi pengguna melalui rekayasa sosial, phishing, atau malware dan ini adalah sesuatu yang Anda, sebagai pengembang aplikasi web, tidak dapat hindari.
Oleh karena itu, Anda harus memastikan bahwa pengguna Anda selalu menggunakan kata sandi yang aman. Ini bermuara pada dua aktivitas: menggunakan mekanisme keamanan kata sandi di aplikasi web Anda dan menguji kata sandi yang lemah. Dalam kasus pertama, Anda dapat mengembangkan mekanisme Anda sendiri atau menggunakan solusi sumber terbuka (seperti nowsecure atau zxcvbn) dan dalam kasus kedua: gunakan pemindai kerentanan web yang dapat menguji kata sandi default dan kata sandi yang lemah.
0 Comment