3 Teknik Peretasan Kata Sandi & Cara Efektif Mencegahnya


Ilustrasi Password Security

Ilustrasi Password Security

Kata sandi atau password sering kali dianggap sebagai aspek keamanan yang sepele hingga terjadi pelanggaran data. Barulah saat menghadapi konsekuensi dari kata sandi yang lemah, kita menyadari betapa pentingnya perlindungan terhadap akses akun. Sayangnya, banyak pengguna yang tidak menyadari bahwa kata sandi mereka sangat rentan terhadap berbagai teknik peretasan.

Dalam dunia keamanan siber, peretas memiliki berbagai metode untuk membobol akun seseorang. Salah satu target utama adalah kata sandi, karena dengan akses ke akun seseorang, mereka bisa mencuri data pribadi, mengakses layanan keuangan, atau bahkan menyebarkan malware.

Artikel ini akan membahas tiga teknik umum yang digunakan dalam peretasan kata sandi serta langkah-langkah yang dapat diambil untuk melindungi diri dari serangan tersebut.

1. Serangan Brute Force

Serangan brute force adalah teknik peretasan yang menggunakan metode coba-coba (trial and error) untuk menebak kata sandi atau kredensial login. Peretas menggunakan perangkat lunak otomatis yang dapat mencoba berbagai kombinasi karakter hingga menemukan kombinasi yang benar. Semakin sederhana atau semakin pendek kata sandi yang digunakan, semakin cepat serangan ini berhasil.

Dengan perkembangan teknologi, daya komputasi yang semakin kuat dan murah membuat serangan brute force menjadi lebih cepat dan efisien. Sebagai contoh, komputer yang dilengkapi dengan kartu grafis canggih mampu mencoba jutaan hingga miliaran kombinasi kata sandi dalam hitungan menit.

Brute force tidak hanya digunakan untuk membobol akun media sosial atau email, tetapi juga untuk mengakses data perusahaan, server, hingga sistem keuangan yang tidak memiliki sistem keamanan yang memadai. Oleh karena itu, memahami cara kerja serangan ini sangat penting agar dapat menghindari risiko peretasan.

Bagaimana Cara Kerja Serangan Brute Force?
Serangan brute force dilakukan dengan berbagai metode, tergantung pada tingkat keamanannya. Berikut beberapa pendekatan yang biasa digunakan:

  • Brute Force Standar
    • Metode paling dasar, yaitu mencoba setiap kemungkinan kombinasi kata sandi dari yang paling sederhana hingga kompleks.
    • Contohnya, jika kata sandi hanya terdiri dari empat huruf, program akan mencoba semua kemungkinan seperti "aaaa", "aaab", "aaac", dan seterusnya hingga menemukan yang cocok.

  • Hybrid Brute Force
    • Kombinasi serangan brute force dengan dictionary attack.
    • Peretas menggunakan daftar kata yang umum digunakan dalam kata sandi, seperti "password123" atau "admin2024", lalu menambahkan variasi angka atau simbol.

  • Reverse Brute Force
    • Alih-alih menebak kata sandi untuk akun tertentu, metode ini bekerja sebaliknya: peretas menggunakan daftar kata sandi yang umum dan mencocokkannya dengan berbagai akun pengguna.

    • Cara ini sering digunakan dalam serangan skala besar di mana data kredensial yang bocor dari kebocoran sebelumnya dimanfaatkan untuk menargetkan akun di layanan lain.


Alat yang Digunakan dalam Serangan Brute Force
Peretas tidak melakukan serangan ini secara manual. Mereka menggunakan berbagai alat yang dirancang khusus untuk melakukan brute force secara otomatis, di antaranya:

  • John the Ripper: Perangkat lunak peretasan multi-platform yang mendukung berbagai sistem operasi dan algoritma enkripsi.
  • L0phtCrack: Alat yang menggunakan tabel rainbow serta daftar kata sandi umum untuk membobol akun Windows.
  • Hashcat: Salah satu alat pemulihan kata sandi tercepat yang mendukung lebih dari 300 jenis algoritma hashing, memungkinkan peretas memecahkan hash kata sandi dengan efisien.

Contoh Kasus Nyata Brute Force Attack
Salah satu contoh terbesar dari dampak serangan brute force terjadi pada Agustus 2021, ketika operator seluler T-Mobile mengalami kebocoran data besar-besaran.

  • Peretas berhasil menggunakan teknik brute force untuk membobol sistem T-Mobile, yang mengakibatkan lebih dari 37 juta data pelanggan bocor.
  • Informasi yang dicuri termasuk nomor jaminan sosial, informasi kartu SIM, alamat email, dan data pribadi lainnya.
  • Kebocoran ini membuktikan bahwa meskipun perusahaan besar memiliki sistem keamanan yang canggih, serangan brute force tetap dapat berhasil jika tidak ada sistem mitigasi yang kuat.

Bagaimana Cara Melindungi Diri dari Serangan Brute Force?
Serangan brute force dapat dicegah dengan menerapkan langkah-langkah keamanan yang tepat. Berikut beberapa cara efektif untuk melindungi akun dan sistem dari serangan ini:

  1. Gunakan Kata Sandi yang Kuat dan Kompleks
    • Kombinasikan huruf besar, huruf kecil, angka, dan simbol dalam kata sandi.
    • Hindari kata sandi yang mudah ditebak seperti "123456", "password", atau kombinasi nama dan tanggal lahir.
    • Gunakan kata sandi yang panjang, idealnya lebih dari 12 karakter.
  2. Aktifkan Multi-Factor Authentication (MFA)
    • MFA menambahkan lapisan keamanan tambahan dengan meminta verifikasi selain kata sandi, seperti kode OTP (One-Time Password) yang dikirim ke ponsel atau email.
    • Dengan MFA, meskipun kata sandi berhasil diretas, peretas tetap tidak dapat mengakses akun tanpa faktor autentikasi tambahan.
  3. Batasi Jumlah Percobaan Login
    • Administrator sistem dapat menerapkan kebijakan penguncian akun setelah beberapa kali percobaan login yang gagal.
    • Misalnya, jika seseorang mencoba memasukkan kata sandi yang salah lebih dari 5 kali, sistem akan otomatis mengunci akun sementara untuk mencegah serangan brute force.
  4. Gunakan Alat Audit Kata Sandi
    • Alat seperti Specops Password Auditor dapat membantu mendeteksi kata sandi yang lemah atau sudah pernah bocor dalam lingkungan TI.
    • Audit kata sandi secara berkala memastikan bahwa semua pengguna menggunakan kata sandi yang aman dan tidak berisiko diretas.
  5. Gunakan Password Manager
    • Password manager membantu menyimpan dan mengelola kata sandi yang panjang dan kompleks tanpa harus menghafalnya.
    • Alat ini juga dapat menghasilkan kata sandi acak yang lebih sulit ditebak oleh peretas.

2. Serangan Dictionary Attack

Dictionary attack adalah teknik peretasan yang mirip dengan brute force attack, tetapi dengan pendekatan yang lebih efisien. Alih-alih mencoba setiap kemungkinan kombinasi karakter seperti dalam brute force, serangan ini menggunakan daftar kata sandi yang umum digunakan oleh banyak orang.
Sebagai contoh, banyak pengguna masih menggunakan kata sandi yang mudah ditebak, seperti:

  1. password123
  2. admin123
  3. qwerty
  4. iloveyou
  5. 12345678

Dictionary attack memanfaatkan fakta bahwa banyak orang memilih kata sandi yang sederhana atau berdasarkan pola yang mudah diingat. Oleh karena itu, serangan ini sering kali lebih cepat dibandingkan brute force karena tidak perlu mencoba semua kombinasi karakter, melainkan hanya mencocokkan kata sandi yang sering digunakan.

Bagaimana Cara Kerja Dictionary Attack?
Serangan ini biasanya dilakukan secara otomatis menggunakan perangkat lunak khusus. Berikut langkah-langkah umum dalam dictionary attack:

  1. Mengumpulkan Daftar Kata Sandi
    • Peretas menggunakan daftar kata sandi yang dikumpulkan dari berbagai sumber, seperti database kebocoran data sebelumnya atau daftar kata sandi publik.
    • Daftar ini berisi kata sandi yang telah digunakan oleh banyak orang di seluruh dunia.
  2. Mencoba Kata Sandi Secara Sistematis
    • Perangkat lunak otomatis mencoba semua kata sandi dalam daftar satu per satu pada akun target.
    • Jika kata sandi yang digunakan korban ada dalam daftar tersebut, peretas dapat langsung mengakses akun tanpa perlu mencoba kombinasi karakter yang kompleks.
  3. Menargetkan Berbagai Akun
    • Dictionary attack sering digunakan untuk mencoba masuk ke berbagai akun pengguna dengan menggunakan kombinasi kata sandi umum.
    • Misalnya, jika seseorang menggunakan kata sandi yang sama di berbagai platform, peretas hanya perlu mencocokkannya dengan akun lainnya.

Alat yang Digunakan dalam Dictionary Attack
Seperti brute force attack, serangan dictionary attack tidak dilakukan secara manual. Peretas menggunakan perangkat lunak khusus untuk mempercepat proses ini, di antaranya:

  • John the Ripper: Alat populer untuk menguji kekuatan kata sandi dengan teknik brute force dan dictionary attack.
  • Hydra: Alat peretasan berbasis jaringan yang dapat melakukan dictionary attack terhadap berbagai layanan seperti SSH, FTP, dan email.
  • Hashcat: Alat yang digunakan untuk menebak hash kata sandi dengan metode dictionary attack.

Contoh Kasus Nyata Dictionary Attack

Pada tahun 2013, Adobe mengalami salah satu kebocoran data terbesar dalam sejarah, yang mengungkap lebih dari 153 juta akun pengguna. Data yang bocor mencakup ID pengguna, kata sandi terenkripsi, dan petunjuk pemulihan kata sandi. Meskipun Adobe mengenkripsi kata sandi, mereka tidak menggunakan metode hashing yang aman, sehingga membuka celah bagi serangan dictionary attack.

Para peretas menggunakan dictionary attack, yaitu metode yang mencoba berbagai kata sandi umum dari database yang sudah ada (seperti "123456", "password", atau "qwerty"), untuk menebak kata sandi yang terenkripsi. Karena banyak pengguna menggunakan kata sandi yang lemah dan mudah ditebak, peretas dengan cepat berhasil memecahkan banyak akun.

Hasilnya, kata sandi seperti "123456", "adobe123", dan "password" ditemukan digunakan oleh jutaan akun. Serangan ini berdampak luas, karena banyak pengguna memakai kembali kata sandi yang sama untuk akun lain, sehingga meningkatkan risiko pencurian identitas dan peretasan akun di berbagai layanan lain.

Bagaimana Cara Melindungi Diri dari Dictionary Attack?

Serangan dictionary attack dapat dicegah dengan menerapkan kebiasaan keamanan yang baik saat membuat kata sandi. Berikut beberapa langkah yang dapat dilakukan untuk melindungi diri dari serangan ini:

  1. Gunakan Kata Sandi yang Unik dan Kuat
    • Hindari menggunakan kata sandi yang umum atau mudah ditebak.
    • Buat kata sandi dengan kombinasi huruf besar, huruf kecil, angka, dan simbol.
    • Panjang kata sandi minimal 12-16 karakter untuk meningkatkan keamanannya.
  2. Jangan Gunakan Informasi Pribadi dalam Kata Sandi
    • Hindari menggunakan nama, tanggal lahir, atau informasi lain yang dapat dengan mudah ditebak oleh peretas.
    • Gunakan kata sandi yang benar-benar acak atau dibuat oleh password manager.
  3. Gunakan Multi-Factor Authentication (MFA)
    • MFA menambahkan lapisan keamanan ekstra di luar kata sandi, seperti kode OTP yang dikirim ke ponsel atau autentikasi biometrik.
    • Dengan MFA, meskipun kata sandi berhasil ditebak, peretas tetap tidak bisa masuk tanpa faktor autentikasi tambahan.
  4. Gunakan Password Manager
    • Password manager membantu menyimpan dan mengelola kata sandi kompleks dengan aman.
    • Alat ini juga dapat menghasilkan kata sandi acak yang sulit ditebak.
  5. Administrator Sistem Harus Menerapkan Kebijakan Kata Sandi yang Ketat
    • Menerapkan persyaratan kata sandi yang kompleks di sistem perusahaan agar pengguna tidak menggunakan kata sandi yang lemah.
    • Secara berkala mengaudit kata sandi untuk memastikan tidak ada pengguna yang masih memakai kata sandi yang mudah ditebak.

 

3. Serangan Rainbow Table Attack

Rainbow Table Attack adalah teknik peretasan yang digunakan untuk membobol kata sandi yang disimpan dalam bentuk hash. Serangan ini memanfaatkan rainbow table, yaitu sebuah tabel besar yang berisi daftar hash beserta teks asli kata sandi yang sesuai.

Biasanya, sistem yang aman tidak menyimpan kata sandi dalam bentuk teks biasa (plaintext), melainkan mengubahnya menjadi hash menggunakan algoritma tertentu seperti MD5, SHA-1, atau SHA-256. Namun, dengan rainbow table, peretas dapat mencari kecocokan antara hash yang mereka temukan dan hash yang sudah ada di tabel, sehingga mereka bisa mengetahui kata sandi aslinya tanpa harus menebak satu per satu.

Rainbow Table Attack sangat efektif karena menghemat waktu dan daya komputasi dibandingkan metode brute force atau dictionary attack. Namun, kelemahan utamanya adalah rainbow table berukuran sangat besar, sehingga membutuhkan kapasitas penyimpanan yang signifikan.

Bagaimana Cara Kerja Rainbow Table Attack?
Serangan ini bekerja dengan cara berikut:

  1. Membuat Hash dari Kata Sandi Potensial
    • Sebelum melakukan serangan, peretas membuat daftar kata sandi potensial dan mengonversinya menjadi hash menggunakan algoritma hashing standar.
    • Misalnya, kata sandi "password123" jika dikonversi dengan algoritma MD5 akan menghasilkan hash:
      482c811da5d5b4bc6d497ffa98491e38
  2. Menyusun Rainbow Table
    • Peretas menyusun rainbow table, yaitu daftar hash yang sudah dihasilkan sebelumnya beserta kata sandi aslinya.
    • Jika mereka memiliki jutaan hash yang sudah dihitung sebelumnya, mereka bisa mencocokkan hasil hash dengan lebih cepat tanpa perlu melakukan perhitungan hashing ulang.
  3. Mencocokkan Hash yang Dicuri
    • Ketika peretas berhasil mendapatkan daftar hash dari database target (misalnya setelah peretasan sistem), mereka cukup membandingkan hash tersebut dengan hash yang ada dalam rainbow table.
    • Jika ada kecocokan, maka kata sandi asli berhasil ditemukan.

Contoh Ilustrasi Cara Kerja Rainbow Table Attack

  • Misalkan seorang peretas menemukan hash berikut dalam database yang telah diretas:
    482c811da5d5b4bc6d497ffa98491e38
  • Peretas kemudian memeriksa hash ini di rainbow table mereka dan menemukan bahwa hash tersebut cocok dengan kata sandi "password123". Dengan demikian, akun yang menggunakan kata sandi tersebut bisa dengan mudah diretas.

Contoh Kasus Nyata Serangan Rainbow Table Attack

Salah satu contoh nyata rainbow table attack terjadi dalam peretasan data LinkedIn pada tahun 2012. Saat itu, sekitar 6,5 juta kata sandi pengguna bocor ke dunia maya setelah peretas berhasil mendapatkan akses ke database LinkedIn yang menyimpan kata sandi dalam bentuk hash SHA-1 tanpa salting.

Karena tidak adanya salting, peretas dapat dengan mudah menggunakan rainbow table untuk mencocokkan nilai hash dengan kata sandi asli. Akibatnya, banyak akun yang berhasil diretas, terutama akun yang menggunakan kata sandi lemah atau umum. Setelah kebocoran ini, LinkedIn menghadapi kritik besar terkait praktik keamanannya, dan sebagai tanggapan, perusahaan mulai meningkatkan metode enkripsi dan menerapkan standar keamanan yang lebih ketat.

Kasus ini menunjukkan betapa berbahayanya menyimpan kata sandi tanpa salting, karena dengan adanya rainbow table, proses membalikkan hash menjadi kata sandi asli bisa dilakukan dengan cepat. Itulah sebabnya banyak perusahaan kini menggunakan algoritma hashing yang lebih kuat seperti bcrypt, Argon2, atau PBKDF2 dengan salting untuk meningkatkan keamanan data pengguna.

Bagaimana Cara Mencegah Rainbow Table Attack?
Untuk menghindari serangan ini, langkah-langkah berikut perlu diterapkan:

  1. Gunakan Algoritma Hashing yang Lebih Kuat
    Beberapa algoritma hashing lama seperti MD5 dan SHA-1 sudah tidak aman karena rentan terhadap rainbow table attack. Oleh karena itu, sistem harus menggunakan algoritma hashing yang lebih aman seperti:
    • bcrypt: Menggunakan faktor pengulangan untuk memperlambat proses hashing dan membuatnya lebih sulit untuk diretas.
    • scrypt: Dirancang untuk lebih tahan terhadap serangan berbasis GPU dengan membutuhkan lebih banyak memori untuk perhitungan.
    • Argon2: Algoritma hashing modern yang dioptimalkan untuk melindungi kata sandi dari serangan brute force dan rainbow table.
  2. Terapkan Teknik Salting
    Salting adalah metode menambahkan karakter acak unik ke setiap kata sandi sebelum dilakukan hashing. Ini membuat setiap hash menjadi unik, bahkan jika dua pengguna memiliki kata sandi yang sama.
    Sebagai contoh:
    • Tanpa salt:
      password123 → 482c811da5d5b4bc6d497ffa98491e38
    • Dengan salt (misalnya, menambahkan "XyZ!9" ke kata sandi):
      password123XyZ!9 → 9b74c9897bac770ffc029102a200c5de

    Karena salt unik untuk setiap pengguna, peretas tidak bisa menggunakan rainbow table yang sama untuk semua akun, sehingga serangan menjadi tidak efektif.
  3. Gunakan Multi-Factor Authentication (MFA)
    MFA menambahkan lapisan keamanan tambahan di luar kata sandi, seperti kode OTP yang dikirim ke ponsel atau autentikasi biometrik. Dengan MFA, meskipun kata sandi berhasil ditebak, peretas tetap membutuhkan faktor autentikasi tambahan untuk masuk.
  4. Terapkan Kebijakan Perubahan Kata Sandi Secara Berkala
    Dengan mengganti kata sandi secara berkala, risiko kata sandi lama dicocokkan dengan rainbow table menjadi lebih kecil. Perusahaan juga bisa menerapkan kebijakan "password expiry" untuk memaksa pengguna mengganti kata sandi secara rutin.
  5. Administrator Sistem Harus Mengenkripsi Hash Kata Sandi dengan Keamanan Tinggi
    Selain menggunakan algoritma yang kuat, administrator sistem harus memastikan bahwa kata sandi yang disimpan dalam database:
    • Dienkripsi dengan algoritma hashing modern (bcrypt, scrypt, atau Argon2).
    • Menggunakan salting dan iterasi untuk menambah keamanan.
    • Memastikan database kata sandi tidak dapat diakses oleh pihak yang tidak berwenang.

Kata sandi merupakan bagian penting dalam menjaga keamanan digital. Dengan meningkatnya teknik peretasan seperti brute force, dictionary attack, dan rainbow table attack, pengguna harus lebih berhati-hati dalam memilih dan menyimpan kata sandi mereka.

Mengabaikan keamanan kata sandi bisa berakibat fatal, terutama jika data pribadi jatuh ke tangan peretas. Dengan memahami berbagai teknik serangan dan cara menghindarinya, kita dapat melindungi akun serta informasi pribadi dari ancaman siber.

Bagikan artikel ini

Komentar ()

Berlangganan

Berlangganan newsletter kami dan dapatkan informasi terbaru.

Video Terkait