17Aug

Mengapa Anda Harus Khawatir Setiap Kali Database Password Service Bocor

click fraud protection

masukkan-kata sandi anda

"Database password kami telah dicuri kemarin. Tapi jangan khawatir: kata sandi Anda dienkripsi. "Kami secara teratur melihat pernyataan seperti ini secara online, termasuk kemarin, dari Yahoo. Tapi haruskah kita benar-benar mengambil jaminan ini dengan nilai nominal?

Kenyataannya adalah bahwa database password kompromi adalah keprihatinan , tidak peduli bagaimana sebuah perusahaan mungkin mencoba untuk memutarnya. Tapi ada beberapa hal yang dapat Anda lakukan untuk melindungi diri Anda, betapapun buruknya praktik keamanan perusahaan.

Bagaimana Password Harus Disimpan

Berikut adalah cara perusahaan menyimpan kata kunci di dunia ideal: Anda membuat akun dan memberikan kata sandi. Alih-alih menyimpan kata sandi itu sendiri, layanan tersebut menghasilkan "hash" dari kata sandinya. Ini adalah sidik jari yang unik yang tidak bisa dibalik. Misalnya, kata sandi "kata sandi" bisa berubah menjadi sesuatu yang terlihat seperti "4jfh75to4sud7gh93247g. ..".Saat memasukkan kata sandi Anda untuk login, layanan tersebut menghasilkan hash darinya dan memeriksa apakah nilai hash sesuai dengan nilai yang tersimpan dalam database. Pada titik tidak, layanan ini pernah menyimpan kata sandi Anda sendiri ke disk.

instagram viewer

fungsi hash kriptografi

Untuk menentukan kata sandi Anda yang sebenarnya, penyerang dengan akses ke database harus melakukan pra-perhitungan hash untuk mendapatkan kata sandi umum dan kemudian memeriksa apakah file tersebut ada dalam database. Penyerang melakukan ini dengan tabel pencarian-daftar hash besar yang sesuai dengan kata kunci. Bunyi kemudian bisa dibandingkan dengan database. Sebagai contoh, penyerang akan mengetahui hash untuk "password1" dan kemudian melihat apakah ada akun dalam database yang menggunakan hash tersebut. Jika mereka, penyerang tahu password mereka adalah "password1".

Untuk mencegah hal ini, layanan harus "memberi garam" hash mereka. Alih-alih membuat hash dari kata kunci itu sendiri, mereka menambahkan string acak ke depan atau akhir kata kunci sebelum melakukan itu. Dengan kata lain, pengguna akan memasukkan kata sandi "kata sandi" dan layanan akan menambahkan garam dan hash kata sandi yang terlihat seperti "password35s2dg." Setiap akun pengguna harus memiliki garam unik mereka sendiri, dan ini akan memastikan bahwa setiap akun penggunaakan memiliki nilai hash yang berbeda untuk kata sandinya dalam database. Bahkan jika beberapa akun menggunakan kata sandi "password1", mereka memiliki hash yang berbeda karena nilai garam yang berbeda. Ini akan mengalahkan penyerang yang mencoba pra-menghitung hash untuk kata kunci. Alih-alih bisa menghasilkan hash yang diterapkan pada setiap akun pengguna di seluruh basis data sekaligus, mereka harus menghasilkan hash unik untuk setiap akun pengguna dan garamnya yang unik. Ini akan membutuhkan lebih banyak waktu komputasi dan memori.

Inilah sebabnya mengapa layanan sering mengatakan tidak perlu khawatir. Sebuah layanan yang menggunakan prosedur keamanan yang tepat harus mengatakan bahwa mereka menggunakan hash password asin. Jika mereka hanya mengatakan password "hashed," itu lebih mengkhawatirkan. LinkedIn mengumpulkan kata kunci mereka, misalnya, tapi mereka tidak mengolesnya - jadi ini adalah masalah besar saat LinkedIn kehilangan 6,5 juta password hash pada tahun 2012.

Praktik Buruk Sandi

plaintext-password-database

Ini bukan hal yang paling sulit diterapkan, namun banyak situs web.masih bisa mengacaukannya dengan berbagai cara:

  • Menyimpan Kata Sandi dengan Teks Biasa : Daripada mengganggu hashing, beberapa pelaku terburuk mungkin membuang kata kunci dalam bentuk teks biasa ke dalam database. Jika database seperti itu disusupi, kata kunci Anda jelas dikompromikan. Tidak masalah seberapa kuat mereka.
  • Mendorong Kata Sandi Tanpa Mengasah Mereka : Beberapa layanan mungkin hash password dan menyerah di sana, memilih untuk tidak menggunakan garam. Database password seperti itu akan sangat rentan terhadap tabel lookup. Penyerang bisa menghasilkan hash untuk banyak kata kunci dan kemudian memeriksa apakah ada di database - mereka dapat melakukan ini untuk setiap akun sekaligus jika tidak ada garam yang digunakan.
  • Menggunakan Kembali Garam : Beberapa layanan mungkin menggunakan garam, namun bisa menggunakan garam yang sama untuk setiap kata sandi akun pengguna. Ini tidak ada gunanya-jika garam yang sama digunakan untuk setiap pengguna, dua pengguna dengan kata kunci yang sama akan memiliki hash yang sama.
  • Menggunakan Garam Pendek : Jika garam hanya beberapa digit digunakan, akan memungkinkan untuk menghasilkan tabel pencarian yang menggabungkan setiap garam yang mungkin. Misalnya, jika satu digit digunakan sebagai garam, penyerang dapat dengan mudah menghasilkan daftar hash yang menggabungkan setiap garam yang mungkin.
Perusahaan

tidak akan selalu menceritakan keseluruhan cerita, jadi biarpun mereka mengatakan bahwa kata kunci itu hash( atau hashed dan asin), mereka mungkin tidak menggunakan praktik terbaik. Selalu salah di sisi hati-hati.

Keprihatinan Lain

Kemungkinan nilai garam juga ada dalam database kata kunci. Ini tidak seburuk itu - jika nilai garam unik digunakan untuk setiap pengguna, penyerang harus mengeluarkan sejumlah besar daya CPU untuk memecahkan semua kata sandinya.

Dalam prakteknya, begitu banyak orang menggunakan kata kunci yang jelas sehingga kemungkinan akan mudah untuk menentukan banyak kata sandi akun pengguna. Misalnya, jika penyerang mengetahui hash Anda dan mereka tahu garam Anda, mereka dapat dengan mudah memeriksa apakah Anda menggunakan beberapa kata kunci yang paling umum.

Jika penyerang memilikinya untuk Anda dan ingin memecahkan kata sandi Anda, mereka dapat melakukannya dengan kekuatan kasar selama mereka mengetahui nilai garam - yang mungkin mereka lakukan. Dengan akses offline lokal ke database kata kunci, penyerang dapat menggunakan semua serangan brutal yang mereka inginkan.

Data pribadi lainnya juga kemungkinan bocor saat database password dicuri: Usernames, alamat email, dan lainnya. Dalam kasus kebocoran Yahoo, pertanyaan dan jawaban keamanan juga bocor-yang, seperti kita ketahui, mempermudah untuk mencuri akses ke akun seseorang. Bantuan

, Apa yang Harus Saya Lakukan?

Apapun layanan yang dikatakan ketika database password dicuri, yang terbaik adalah mengasumsikan bahwa setiap layanan sama sekali tidak kompeten dan bertindak sesuai dengan itu.

Pertama, jangan gunakan kembali kata sandi di beberapa situs web. Gunakan manajer kata sandi yang menghasilkan kata sandi unik untuk setiap situs web. Jika penyerang berhasil menemukan bahwa kata sandi Anda untuk layanan adalah "43" tsd% 7uho2 # 3 "dan Anda hanya menggunakan kata kunci itu di satu situs web tertentu, mereka tidak mengetahui apa-apa yang berguna. Jika Anda menggunakan kata kunci yang sama di mana saja, mereka dapat mengakses akun Anda yang lain. Ini adalah berapa banyak akun orang yang "diretas."

generate-random-password

Jika layanan menjadi terganggu, pastikan untuk mengganti kata sandi yang Anda gunakan di sana. Anda juga harus mengganti kata sandinya di situs lain jika Anda menggunakannya kembali - tapi sebaiknya jangan lakukan itu di tempat pertama.

Anda juga harus mempertimbangkan untuk menggunakan autentikasi dua faktor, yang akan melindungi Anda bahkan jika penyerang mempelajari kata sandi Anda.

ARTIKEL TERKAIT
Mengapa Anda Harus Menggunakan Password Manager, dan Bagaimana Memulai
Apa Itu Otentikasi Dua Faktor, dan Mengapa Saya Membutuhkannya?

Yang paling penting adalah tidak menggunakan kembali kata sandi. Database password yang dikompromikan tidak ada salahnya jika Anda menggunakan kata sandi yang unik di mana saja - kecuali jika mereka menyimpan sesuatu yang penting di database, seperti nomor kartu kredit Anda.

Image Credit: Marc Falardeau di Flickr, Wikimedia Commons