Serangan brute force cukup sederhana untuk dipahami, tetapi sulit untuk dilindungi. Enkripsi adalah matematika , dan saat komputer menjadi lebih cepat dalam matematika, mereka menjadi lebih cepat dalam mencoba semua solusi dan melihat mana yang cocok.
Serangan ini dapat digunakan untuk melawan semua jenis enkripsi, dengan tingkat keberhasilan yang berbeda-beda. Serangan brute-force menjadi lebih cepat dan lebih efektif setiap hari seiring dengan rilis perangkat keras komputer yang lebih baru dan lebih cepat.
Dasar-dasar Brute-Force
Serangan brute force mudah dimengerti. Seorang penyerang memiliki file terenkripsi - misalnya, file LastPass atau KeePass database kata sandi. Mereka tahu bahwa file ini berisi data yang ingin mereka lihat, dan mereka tahu bahwa ada kunci enkripsi yang membukanya. Untuk mendekripsinya, mereka dapat mulai mencoba setiap kata sandi yang memungkinkan dan melihat apakah itu menghasilkan file yang didekripsi.
Mereka melakukan ini secara otomatis dengan program komputer, sehingga kecepatan seseorang dapat meningkatkan enkripsi secara brute-force 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 beralih ke kata sandi dua digit dan seterusnya, mencoba semua kombinasi yang mungkin sampai salah satu berfungsi.
Sebuah "serangan kamus" serupa dan mencoba kata-kata dalam kamus - atau daftar kata sandi umum - alih-alih semua kemungkinan kata sandi. Ini bisa sangat efektif, karena banyak orang menggunakan kata sandi yang lemah dan umum seperti itu.
Mengapa Penyerang Tidak Dapat Memaksakan 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 sandi yang memungkinkan - tetapi Google akan segera menghentikannya. Layanan yang menyediakan akses ke akun tersebut akan membatasi upaya akses dan melarang alamat IP yang mencoba masuk berkali-kali. Dengan demikian, serangan terhadap layanan online tidak akan bekerja terlalu baik karena sangat sedikit upaya yang dapat dilakukan sebelum serangan dihentikan.
Misalnya, setelah beberapa upaya login yang gagal, Gmail akan menampilkan gambar CATPCHA untuk memverifikasi bahwa Anda bukan komputer yang secara otomatis mencoba sandi. Mereka kemungkinan besar akan menghentikan upaya masuk Anda sepenuhnya jika Anda berhasil melanjutkan cukup lama.
Di sisi lain, katakanlah penyerang mengambil file terenkripsi dari komputer Anda atau berhasil menyusup ke layanan online dan mengunduh file terenkripsi tersebut. Penyerang sekarang memiliki data terenkripsi di perangkat keras mereka sendiri dan dapat mencoba kata sandi sebanyak yang mereka inginkan di waktu luang. Jika mereka memiliki akses ke data yang dienkripsi, tidak ada cara untuk mencegah mereka mencoba sejumlah besar sandi dalam waktu singkat. Meskipun Anda menggunakan enkripsi yang kuat, ada manfaatnya untuk menjaga data Anda tetap aman dan memastikan orang lain tidak dapat mengaksesnya.
Hashing
Algoritme hashing yang kuat dapat memperlambat serangan brute force. Pada dasarnya, algoritme hashing melakukan pekerjaan matematika tambahan pada kata sandi sebelum menyimpan nilai yang diturunkan dari kata sandi pada disk. Jika algoritme hashing yang lebih lambat digunakan, ini 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 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. Badan intelijen dapat membangun perangkat keras khusus hanya untuk serangan brute-force, sama seperti penambang Bitcoin membangun perangkat keras khusus mereka sendiri yang dioptimalkan untuk penambangan Bitcoin. Dalam hal perangkat keras konsumen, jenis perangkat keras yang paling efektif untuk serangan brute-force adalah kartu grafis (GPU). Karena mudah untuk mencoba banyak kunci enkripsi yang berbeda sekaligus, banyak kartu grafis yang berjalan secara paralel adalah yang ideal.
Di akhir tahun 2012, Ars Technica melaporkan bahwa cluster 25-GPU dapat memecahkan setiap kata sandi Windows di bawah 8 karakter dalam waktu kurang dari enam jam. Algoritme NTLM yang digunakan Microsoft tidak cukup tangguh. Namun, ketika NTLM dibuat, akan membutuhkan waktu lebih lama untuk mencoba semua sandi ini. Ini tidak dianggap cukup sebagai ancaman bagi Microsoft untuk membuat enkripsi lebih kuat.
Kecepatan meningkat, dan dalam beberapa dekade kami mungkin menemukan bahwa algoritme kriptografi dan kunci enkripsi terkuat yang kami gunakan saat ini dapat dengan cepat diretas oleh komputer kuantum atau perangkat keras lain apa pun yang kami gunakan di masa mendatang.
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 didapat dan apakah salah satu algoritme enkripsi yang kita gunakan saat ini memiliki kelemahan yang akan ditemukan dan dieksploitasi di masa mendatang. Namun, berikut dasar-dasarnya:
- Amankan data terenkripsi Anda di tempat yang tidak dapat diakses oleh penyerang. Setelah data Anda disalin ke perangkat keras mereka, mereka dapat mencoba serangan brute force terhadapnya di waktu luang mereka.
- Jika Anda menjalankan layanan apa pun yang menerima login melalui Internet, pastikan bahwa layanan tersebut membatasi upaya login dan memblokir orang yang mencoba login dengan banyak sandi berbeda dalam waktu singkat. Perangkat lunak server umumnya disetel untuk melakukan ini di luar kotak, karena ini adalah praktik keamanan yang baik.
- Gunakan algoritma enkripsi yang kuat, seperti SHA-512. Pastikan Anda tidak menggunakan algoritme enkripsi lama dengan kelemahan umum yang mudah diretas.
- Gunakan kata sandi yang panjang dan aman. Semua teknologi enkripsi di dunia tidak akan membantu jika Anda menggunakan "sandi" atau "pemburu2" yang selalu populer.
Serangan brute-force adalah sesuatu yang harus diperhatikan saat melindungi data Anda, memilih algoritma enkripsi, dan memilih kata sandi. Mereka juga merupakan alasan untuk terus mengembangkan algoritme kriptografi yang lebih kuat - enkripsi harus mengikuti seberapa cepat hal itu dirender tidak efektif oleh perangkat keras baru.
Kredit Gambar: Johan Larsson on Flickr , Jeremy Gosney