Dictionary attack adalah sebuah teknik untuk melawan cipher atau
melawan mekanisme otentikasi dengan cara menentukan kunci dekripsi dengan
mencari kemungkinan kombinasi kata yang terdapat di dalam sebuah kamus.
Pada dasarnya dictionary attack adalah pengembangan
dari brute force attack, yaitu
mencoba memecahkan kode dengan mencoba satu per satu kemungkinan secara
berulang (exhaustive search).
Akan tetapi dictionary attack bukan
mencoba kombinasi satu per satu karakter yang tersedia seperti brute force, melainkan mencoba
kombinasi kata yang paling mungkin berhasil dengan input sebuah “list of word” yang
dapat didefinisikan (Dictionary),
yang biasanya berasal dari daftar kombinasi kata-kata umum yang terdapat dalam
kamus, misalnya kamus bahasa Inggris.
Dictionary attack merupakan
serangan yang sangat efektif untuk memecahkan kode dan sering digunakan hacker untuk membobol sistem keamanan
yang berupa password, seperti
akun email, akun jejaring sosial, halaman administrator situs web, dan
lain-lain. Dictionary attack dianggap
efektif karena memanfaatkan psikologi manusia, yaitu kebiasaan bahwa pengguna
akun akan menggunakan kata-kata yang lumrah dan mudah diingat sebagai password suatu akun tertentu, misalnya tanggal lahir, makanan kesukaan,
nama orang tua, dan lain-lain. Kata-kata ini merupakan kata yang terdapat dalam
kamus (karena merupakan kata yang digunakan sehari-hari) dan mudah diingat.
Psikologi manusia dalam membuat password
juga telah dikaji dan dibuktikan dengan penelitian. Saat
ini dictionary attack telah dikembangkan
variasinya dan semakin tinggi efektivitasnya, sehingga teknik ini masih sering
digunakan untuk membobol password pengguna
sebuah akun.
Cara Kerja Dictionary Attack
Sistem operasi
seperti Windows menyimpan password ke dalam bentuk terenkripsi yang
disebut hashes. Password tidak dapat diambil (retrieved)
secara langsung dari hashes. Untuk melakukan recover password diperlukan
komputasi terhadap hashes dengan possible password (kata-kata
yang diduga sebagai password) dan memasukkannya ke dalam list of
hashes.
Hacker
mengumpulkan
kata-kata yang sering digunakan sebagai password ini ke dalam sebuah
file yang dinamakan sebagai dictionary (kamus) dan file ini bisa
didapatkan dengan mudah di Internet seperti di situs http://lastbit.com/dict.asp, atau kita juga bisa
membuatnya sendiri atau menambahkannya dari file dictionary yang sudah
ada
.
Gambar di bawah ini merupakan alur proses
dari dictionary attack:
Program cracking
akan mengubah satu persatu kata-kata yang ada di dalam kamus berdasarkan
fungsi hash yang digunakan ke dalam bentuk tabel hash. Hasil
perubahan ini kemudian dicocokkan dengan hash pada file password yang
didapatkan. Apabila hasil hash ini cocok, artinya password sudah berhasil
diketahui. Dengan teknik ini, hacker tidak perlu mencoba semua kombinasi
karakter yang ada (seperti brute force attack) sehingga bisa menghemat
banyak waktu dan tenaga.
Kentungan dari
metode dictionary attack adalah waktu yang dibutuhkan relatif singkat.
Sedangkan kelemahan dari metode ini adalah hanya dapat menebak password yang
terdiri dari kombinasi kata-kata yang terdapat pada kamus (contoh: jika password
pengguna menggunakan kombinasi huruf angka yang tidak terdapat dalam kamus,
maka password tidak akan tertebak).