Serangan Brute-Force Dijelaskan Bagaimana Semua Enkripsi Rentan
Serangan brute force cukup sederhana untuk dipahami, tetapi sulit dilindunginya. Enkripsi adalah matematika, dan ketika komputer menjadi lebih cepat dalam matematika, mereka menjadi lebih cepat dalam mencoba semua solusi dan melihat mana yang cocok.
Serangan-serangan ini dapat digunakan terhadap segala jenis enkripsi, dengan berbagai tingkat keberhasilan. Serangan brute-force menjadi lebih cepat dan lebih efektif setiap hari seiring perangkat keras komputer yang lebih baru dan lebih cepat dilepaskan.
Dasar-Dasar Brute-Force
Serangan brute-force mudah dipahami. Penyerang memiliki file terenkripsi - katakanlah, basis data kata sandi LastPass atau KeePass Anda. Mereka tahu bahwa file ini berisi data yang ingin mereka lihat, dan mereka tahu bahwa ada kunci enkripsi yang membukanya. Untuk mendekripsi, mereka dapat mulai mencoba setiap kata sandi yang mungkin dan melihat apakah itu menghasilkan file yang didekripsi.
Mereka melakukan ini secara otomatis dengan program komputer, sehingga kecepatan di mana seseorang dapat memaksa enkripsi meningkat karena perangkat keras komputer yang tersedia menjadi lebih cepat dan lebih cepat, mampu melakukan lebih banyak perhitungan per detik. Serangan brute-force kemungkinan akan dimulai dengan kata sandi satu digit sebelum pindah ke kata sandi dua digit dan seterusnya, mencoba semua kombinasi yang mungkin sampai satu berfungsi.
“Serangan kamus” serupa dan mencoba kata-kata dalam kamus - atau daftar kata sandi umum - alih-alih semua kata sandi yang mungkin. Ini bisa sangat efektif, karena banyak orang menggunakan kata sandi yang lemah dan umum.
Mengapa Penyerang Tidak Dapat Memaksa Layanan Web
Ada perbedaan antara serangan brute-force online dan offline. Misalnya, jika penyerang ingin memaksa masuk ke akun Gmail Anda, mereka dapat mulai mencoba setiap kata sandi yang mungkin - tetapi Google akan segera memotongnya. Layanan yang menyediakan akses ke akun tersebut akan membatasi upaya akses dan melarang alamat IP yang berupaya masuk berkali-kali. Dengan demikian, serangan terhadap layanan online tidak akan berfungsi dengan baik karena sangat sedikit upaya yang dapat dilakukan sebelum serangan itu dihentikan.
Misalnya, setelah beberapa upaya login gagal, Gmail akan menampilkan gambar CATPCHA untuk memverifikasi bahwa Anda bukan komputer yang secara otomatis mencoba kata sandi. Mereka kemungkinan akan menghentikan upaya login Anda sepenuhnya jika Anda berhasil melanjutkan cukup lama.
Di sisi lain, katakanlah penyerang mengambil file terenkripsi dari komputer Anda atau berhasil membahayakan layanan online dan mengunduh file terenkripsi tersebut. Penyerang sekarang memiliki data terenkripsi pada perangkat keras mereka sendiri dan dapat mencoba sebanyak mungkin kata sandi yang mereka inginkan. Jika mereka memiliki akses ke data terenkripsi, tidak ada cara untuk mencegah mereka mencoba sejumlah besar kata sandi dalam waktu singkat. Sekalipun Anda menggunakan enkripsi yang kuat, itu bermanfaat bagi Anda untuk menjaga keamanan data Anda dan memastikan orang lain tidak dapat mengaksesnya.
Hashing
Algoritma hashing yang kuat dapat memperlambat serangan brute-force. Pada dasarnya, algoritma hashing melakukan pekerjaan matematika tambahan pada kata sandi sebelum menyimpan nilai yang berasal dari kata sandi pada disk. Jika algoritma hashing yang lebih lambat digunakan, itu akan membutuhkan ribuan kali lebih banyak pekerjaan matematika untuk mencoba setiap kata sandi dan secara dramatis memperlambat serangan brute-force. Namun, semakin banyak pekerjaan yang diperlukan, semakin banyak pekerjaan yang harus dilakukan server atau komputer lain setiap kali saat pengguna masuk dengan kata sandi mereka. Perangkat lunak harus menyeimbangkan ketahanan terhadap serangan brute-force dengan penggunaan sumber daya.
Kecepatan Brute-Force
Kecepatan semua tergantung pada perangkat keras. Agen intelijen dapat membangun perangkat keras khusus hanya untuk serangan brutal, seperti halnya penambang Bitcoin membangun perangkat keras khusus mereka sendiri yang dioptimalkan untuk penambangan Bitcoin. Ketika datang ke perangkat keras konsumen, jenis perangkat keras yang paling efektif untuk serangan brute-force adalah kartu grafis (GPU). Karena mudah untuk mencoba berbagai kunci enkripsi sekaligus, banyak kartu grafis yang berjalan secara paralel sangat ideal.
Pada akhir 2012, Ars Technica melaporkan bahwa kluster 25-GPU dapat memecahkan setiap kata sandi Windows di bawah 8 karakter dalam waktu kurang dari enam jam. Algoritma NTLM yang digunakan Microsoft tidak cukup tangguh. Namun, ketika NTLM dibuat, perlu waktu lebih lama untuk mencoba semua kata sandi ini. Ini tidak dianggap cukup sebagai ancaman bagi Microsoft untuk membuat enkripsi lebih kuat.
Kecepatan meningkat, dan dalam beberapa dekade kita mungkin menemukan bahwa bahkan algoritma kriptografi dan kunci enkripsi terkuat yang kita gunakan saat ini dapat dengan cepat diretas oleh komputer kuantum atau perangkat keras apa pun yang kita gunakan di masa depan..
Melindungi Data Anda Dari Serangan Brute-Force
Tidak ada cara untuk melindungi diri Anda sepenuhnya. Tidak mungkin untuk mengatakan seberapa cepat perangkat keras komputer akan mendapatkan dan apakah ada algoritma enkripsi yang kita gunakan saat ini memiliki kelemahan yang akan ditemukan dan dieksploitasi di masa depan. Namun, inilah dasar-dasarnya:
- Amankan data terenkripsi Anda di tempat penyerang tidak dapat mengaksesnya. Begitu data Anda disalin ke perangkat keras, mereka dapat mencoba serangan brutal terhadapnya di waktu luang.
- Jika Anda menjalankan layanan apa pun yang menerima login melalui Internet, pastikan bahwa itu membatasi upaya login dan memblokir orang-orang yang mencoba masuk dengan banyak kata sandi yang berbeda dalam waktu singkat. Perangkat lunak server umumnya diatur untuk melakukan ini di luar kotak, karena ini merupakan praktik keamanan yang baik.
- Gunakan algoritma enkripsi yang kuat, seperti SHA-512. Pastikan Anda tidak menggunakan algoritma enkripsi lama dengan kelemahan yang diketahui yang mudah diretas.
- Gunakan kata sandi yang panjang dan aman. Semua teknologi enkripsi di dunia tidak akan membantu jika Anda menggunakan "kata sandi" atau "hunter2" yang populer.
Serangan brute-force adalah sesuatu yang harus diperhatikan ketika melindungi data Anda, memilih algoritma enkripsi, dan memilih kata sandi. Mereka juga merupakan alasan untuk terus mengembangkan algoritma kriptografi yang lebih kuat - enkripsi harus mengikuti seberapa cepat itu dibuat tidak efektif oleh perangkat keras baru.
Kredit Gambar: Johan Larsson di Flickr, Jeremy Gosney