BagusNews.com –
Hacker atau peretas memiliki beberapa teknik favorit untuk melakukan membobol password, mulai dari Brute Force hingga Password Hashing.
Beberapa insiden siber besar terjadi dalam setidaknya dua tahun terakhir. Kasusnya dominan pencurian data pribadi.
Contohnya, dugaan kebocoran data MyPertamina hingga BPJS Ketenagakerjaan oleh Bjorka, hingga yang pembobolan 1,5 TB data nasabah dan internal Bank Syariah Indonesia (BSI).
Salah satu yang diincar mula-mula oleh para hacker untuk pembobolan selanjutnya adalah password alias kata kunci.
Password merupakan salah satu bagian sistem keamanan agar orang lain selain pemilik password tidak dapat mengakses sebuah sistem. Password bisa terdiri dari huruf, angka, hingga yang digabungkan dengan simbol.
Sayangnya, komunitas hacker sudah lazim dengan beberapa teknik untuk membobolnya.
Untuk memahami pembobolan password, kita perlu terlebih dulu memahami bagaimana password disimpan. Ada dua cara utama untuk menyimpan password, yakni enkripsi dan hashing.
Enkripsi mengubah plaintext (kata sederhana, script, hingga Java code) menjadi ciphertext (teks yang terenkripsi) yang dapat dibalik, yang memungkinkan pengelola kata sandi untuk menyimpan dan menampilkan kata sandi plaintext asli.
Di sisi lain, hashing adalah metode umum yang digunakan untuk menyimpan password untuk layanan online.
Dikarenakan operator layanan tidak perlu membalikkan password hanya untuk memverifikasi bahwa password itu benar, maka kata sandi di-hash. Algoritma hash mengubah nilai plaintext menjadi ciphertext dalam proses satu arah.
Sebelum mencoba membobol password, peretas harus mengambil nilai ciphertext, sering kali melalui serangan man-in-the-middle, meretas basis data kredensial, atau upaya phishing.
Pada akhirnya, penyerang dapat memulai pekerjaan mereka setelah nilai ciphertext diperoleh, biasanya dalam bentuk nilai hash.
Dikutip dari TechTarget, hashing adalah proses mengubah kunci tertentu atau serangkaian karakter menjadi nilai lain. Hal ini biasanya diwakili oleh nilai atau kunci yang lebih pendek dan memudahkan untuk menemukan atau menggunakan string asli.
Setelah peretas mendapatkan nilai hash, mereka bisa menggunakan beberapa teknik untuk membobol password. Dikutip dari BleepingComputer, berikut 5 teknik yang biasa digunakan peretas untuk membobol password:
Brute Force
Terkadang, satu-satunya cara untuk menemukan password adalah dengan mencoba semua kombinasi huruf, angka, dan simbol yang mungkin. Jika password tersebut benar-benar acak, maka teknik lain mungkin tidak berhasil.
Teknik Brute Force ini paling tidak efisien, tetapi mungkin satu-satunya pilihan saat semuanya gagal.
Seorang penyerang mungkin menggunakan sebuah komputer atau sekelompok komputer untuk mencoba semua variasi yang ada. Semakin panjang kata sandi, semakin sulit dan memakan waktu proses pemecahannya.
Sebagai contoh, peretas membutuhkan waktu 22 menit untuk membobol password 8 karakter dengan kombinasi lower dan uppercase. Namun, peretas akan membutuhkan waktu 8 jam untuk membobol password 8 karakter yang lebih kompleks.
Selain itu, pembobolan membutuhkan 19 jam untuk membobol password 9 karakter dengan kombinasi lower dan uppercase, tetapi membutuhkan 3 pekan untuk membobol password yang lebih kompleks.
Rainbow table
Dikarenakan algoritma hashing diketahui oleh publik, sangat mungkin untuk membuat daftar besar hash kata sandi yang sudah dikomputasi sebelumnya untuk dibandingkan dengan hash yang dicuri.
Ketimbang membuat hash baru untuk setiap variasi, carilah hash yang dicuri pada sebuah tabel untuk melihat apakah hash tersebut cocok.
Ada banyak metode hash yang berbeda dan variasi kata sandi yang hampir tak terbatas, yang dapat membuat pengelolaan dan penyimpanan tabel seperti ini menjadi sangat sulit.
Ada teknik lain yang dikenal sebagai “password salting” yang juga dapat menyulitkan teknik ini. Jika server menambahkan nilai acak pada bagian depan dan akhir hash (nilai yang hanya diketahui oleh server), maka hash yang dihasilkan tidak akan cocok.
Dictionary attack
Untuk mempermudah brute force pada password, peretas bisa menggunakan kamus kata dan frasa umum serta nama perusahaan, tim olahraga, dan lain sebagainya. Hal ini mempersempit daftar pilihan kata sandi yang potensial.
Di masa lalu, pengguna disarankan untuk sering mengganti kata sandi mereka, misalnya, setiap 90 hari, dan menggunakan kata sandi yang rumit.
Namun, hal ini membuat pengguna memilih kata sandi seperti !yoda2023#, yang membuat pekerjaan peretas menjadi lebih mudah.
Pasalnya, setelah kata dasarnya, yoda, ditebak melalui dictionary attack, maka mencoba beberapa simbol dan angka yang berbeda dapat dengan cepat membobol password pengguna.
Credential stuffing
Pengguna biasanya menggunakan password yang sama di beberapa layanan. Jika satu kata password pada sebuah layanan bocor, maka penyerang dapat dengan cepat mencoba password yang sama atau variasi pada layanan lain yang mungkin dimiliki oleh pengguna.
Dikenal sebagai credential stuffing, penyerang akan mencoba password yang telah dibobol pada beberapa layanan lain. Hal ini dapat mengakibatkan semua layanan yang dimiliki pengguna menjadi terganggu.
Password hashing lemah
Tidak semua skema hashing password diciptakan sama dan dengan tingkat keamanan tinggi. Seiring dengan perkembangan teknologi, apa yang dulunya dianggap aman mungkin tidak lagi aman.
Hal ini berlaku untuk algoritma hash seperti MD5 atau SHA-1 yang bisa dibobol dengan cepat.
Sebuah sistem yang menyimpan hash password pengguna dengan salah satu dari algoritme ini dapat membuat seluruh basis datanya dibobol dengan cepat.
Sistem modern merekomendasikan algoritme yang lebih aman, seperti bcrypt, yang menggunakan hash password yang menggunakan metode ‘salting.’