Apakah Anda ingin tahu berapa lama waktu yang diperlukan untuk mencoba sebuah kata sandi? Berikut adalah penjelasan mengenai prinsip ketiga metode tersebut: “Brute-force attack”, “Dictionary attack”, dan “Masking attack”. Selain itu, saya akan menjelaskan mengapa tingkat kesulitan untuk memecahkan kata sandi berbeda-beda tergantung pada format file yang digunakan, serta perbedaan kemampuan komputasi antara kartu grafis dan CPU.
| Item perbandingan | Unduh sendiri perangkat lunak retak | serahkan pada kami |
|---|---|---|
| daya komputasi | Komputer rumah, dalam kebanyakan kasus, hanya memiliki kartu grafis terintegrasi | Beberapa dekriptor GPU menjalankan tugas yang sama secara bersamaan |
| Kamus Kata Sandi | Saya menemukan ratusan ribu item secara acak di Internet, dan banyak yang berulang dan tidak valid | Kamus yang telah terakumulasi dan dibersihkan selama bertahun-tahun dikelompokkan menurut kebiasaan penggunaan |
| Strategi retak | Saya hanya akan mencobanya satu per satu dari awal hingga akhir | Kamus terlebih dahulu, lalu masker, lalu lengkap, strategi multi-level dipromosikan lapis demi lapis |
| Bisakah kamu terus berlari | Komputer harus selalu menyala, jika Anda mematikan atau memulai ulang, semua upaya Anda akan sia-sia | 7×24 berjalan di server, Anda tidak akan terpengaruh jika Anda mematikan komputer |
| kemungkinan untuk membuka | Itu semua tergantung keberuntungan, kata sandi yang sedikit lebih panjang pada dasarnya tidak ada gunanya | Cakup kombinasi dengan kemungkinan tertinggi terlebih dahulu, kata sandi pendek seringkali menghasilkan hasil dalam puluhan menit |
| Biaya memulai | Instal driver, konfigurasi baris perintah, dan pelaporan kesalahan tidak ada yang peduli | Unggah saja filenya dan Anda akan diberitahu tentang hasilnya |
Sifat dasar proses pengambilan kata sandi adalah dengan terus mencoba berbagai kombinasi yang mungkin, sampai menemukan kombinasi yang tepat. Semakin cepat kita mencoba dan semakin sedikit kombinasinya, maka peluang keberhasilannya akan semakin tinggi. Sebaliknya, semakin banyak kombinasinya dan semakin tinggi biaya setiap percobaan yang dilakukan, maka harapan untuk mendapatkan kata sandi tersebut menjadi semakin kecil. Kalkulator ini bertugas untuk mengukur berapa banyak kali perlu dicoba dan berapa lama waktu yang diperlukan untuk setiap percobaan, sehingga Anda dapat memiliki penilaian yang lebih jelas mengenai keamanan dokumen-dokumen Anda. Kalkulator ini juga menjelaskan mengapa beberapa dokumen dapat dibuka dalam beberapa menit, sementara dokumen lainnya tidak dapat dibuka meskipun komputer dijalankan secara ekstensif.
Kripto analisis kekerasan (Brute Force) tidak memerlukan pengetahuan awal apa pun, dan langsung mencoba semua kombinasi yang mungkin dengan menggunakan set karakter serta panjang kode. Sebagai contoh, ada sekitar 100 juta kombinasi untuk kode 8 bit yang hanya terdiri dari angka, sedangkan kode 8 bit yang terdiri dari huruf besar/kecil, angka, dan simbol memiliki lebih dari 6×10¹⁴ kemungkinan kombinasi. Metode ini mencoba semua kombinasi mulai dari “aaaaaaa” hingga kombinasi terakhir. Keunggulannya adalah metode ini “paling sederhana namun paling efektif”—jika waktu yang tersedia cukup, maka secara teoritis semua kombinasi dapat dicoba. Namun, biayanya adalah karena jumlah kombinasi yang harus dicoba meningkat secara eksponensial seiring dengan bertambahnya panjang kode dan jumlah karakter. Kode yang sedikit lebih panjang akan membutuhkan waktu yang sangat lama agar bisa dicoba.
Sebagian besar orang tidak menggunakan kode acak sebagai kata sandi, melainkan menggunakan tanggal lahir, nama, urutan kekunci papan ketik (qwerty), atau kata-kata yang umum digunakan. Serangan berdasarkan kamus akan mengelompokkan kata-kata sandi yang sering digunakan tersebut menjadi daftar kata-kata yang mungkin digunakan sebagai kata sandi. Dengan cara ini, serangan dapat dilakukan secara langsung, dan biasanya hanya membutuhkan beberapa menit untuk menemukan kata sandi yang lemah. Efektivitas metode ini jauh lebih tinggi dibandingkan metode brute force, tetapi hal ini bergantung pada fakta bahwa kata sandi tersebut benar-benar terdapat dalam daftar kata-kata yang tersedia. Namun, metode ini tidak akan efektif jika digunakan terhadap kata sandi yang sangat acak. Kami telah mengumpulkan dan menyaring daftar kata sandi selama bertahun-tahun, demi meningkatkan tingkat keberhasilan serangan ini.
Serangan jenis Mask merupakan versi “cerdas” dari serangan brute force: jika Anda ingat bahwa “kata sandi harus berupa angka 8 digit, dimulai dengan huruf besar, dan di akhirnya terdapat angka 2024”, maka Anda dapat memberikan kondisi-kondisi tersebut kepada program yang melakukan cracking, sehingga program tersebut hanya akan menghasilkan kombinasi yang memenuhi syarat. Dulu, koleksi kombinasi yang ada sebanyak 6×10¹⁴, namun bisa langsung berkurang menjadi beberapa ratus juta kombinasi. Waktu yang diperlukan untuk menyelesaikan proses cracking pun berkurang drastis, dari “umur alam semesta” menjadi “beberapa jam saja”. Inilah mengapa, saat mengajukan permintaan untuk melakukan cracking, semakin banyak informasi yang Anda sampaikan, maka tingkat keberhasilan akan meningkat secara signifikan.
File tersebut tidak membandingkan kata sandi secara langsung, melainkan menggunakan “nilai hasil hash” yang dihasilkan dari kata sandi tersebut untuk melakukan pembandingan. Setiap kali kata sandi dicoba, program harus melakukan operasi hash terlebih dahulu. Semakin banyak iterasi yang dilakukan, semakin lambat prosesnya. Format lama hampir tidak memiliki perlindungan apa-apa: Office 97 menggunakan MD5/RC4, sehingga grafis dapat mencoba jutaan kali per detik; sedangkan Office 2013 mulai menggunakan metode PBKDF2 dengan sekitar 100.000 iterasi per detik, jadi hanya bisa mencoba sekitar seribu kali per detik, yang merupakan penurunan sebesar 10.000 kali. RC4 dalam format PDF sangat lemah, sedangkan AES sedikit lebih kuat; RAR5 memiliki sekitar 30.000 iterasi per file, sehingga jauh lebih lambat dibandingkan RAR3; 7Z memiliki lebih dari 500.000 iterasi per file, sehingga merupakan salah satu format yang paling sulit untuk dibaca. Kata sandi yang sama, pada mesin orang lain mungkin bisa dipecahkan dalam beberapa puluh menit, tetapi pada diri Anda sendiri mungkin membutuhkan beberapa hari tanpa ada tanda-tanda keberhasilan. Inilah penyebabnya.
Operasi hash merupakan jenis perhitungan yang khas, yaitu perhitungan yang dilakukan secara berulang-ulang dan terpisah satu sama lain. Hal ini sangat cocok untuk arsitektur paralel grafika: sebuah kartu grafika game kelas atas memiliki ribuan inti prosesor, sehingga dapat melakukan perhitungan hash sebanyak jutaan kali sekaligus. Kecepatannya jauh lebih tinggi dibandingkan CPU, antara beberapa puluh hingga ratusan kali lipat. Komputer biasa hanya memiliki grafika terintegrasi saja, atau harus menggunakan CPU untuk melakukan perhitungan tersebut, sehingga kecepatannya sangat lambat. Solusi yang kami gunakan adalah menggunakan beberapa server GPU yang bekerja secara paralel untuk menyelesaikan tugas yang sama. Ditambah lagi dengan strategi pengurangan cakupan data menggunakan kamus dan masker, inilah perbedaan antara “melakukan perhitungan sendiri selama berbulan-bulan” dan “menyerahkan tugas tersebut kepada kami untuk mendapatkan hasil dalam beberapa menit saja”.
Jadi, setiap peningkatan panjang kata sandi sebesar satu karakter, atau setiap perluasan kumpulan karakter yang digunakan, akan membuat proses pencarian menjadi jauh lebih sulit. Sebaliknya, dengan menggunakan format file yang lebih cepat atau mengingat lebih banyak petunjuk mengenai kata sandi, waktu yang diperlukan untuk mencari kata sandi dapat dikurangi secara signifikan. Kalkulator di atas telah mengquantifikasikan semua faktor tersebut—masukkan jenis file dan rentang kata sandi Anda, lalu Anda akan tahu berapa lama waktu yang dibutuhkan oleh komputer Anda dan sistem kita untuk mencari kata sandi tersebut. Jika hasilnya membuat Anda putus asa, silakan serahkan file tersebut kepada kami untuk dicoba.
Tergantung pada panjang kata sandi, kumpulan karakter yang digunakan, dan metode enkripsi file. Kata sandi berupa angka tunggal dengan panjang 8 bit memiliki sekitar 100 juta kemungkinan kombinasi. Komputer biasa membutuhkan waktu beberapa jam hingga beberapa hari untuk mencoba semua kemungkinan tersebut. Sedangkan kata sandi berupa gabungan huruf besar dan kecil, angka, serta simbol dengan panjang 12 bit memiliki lebih dari 10 pangkat 24 kemungkinan kombinasi, sehingga mungkin memerlukan waktu ribuan tahun untuk menemukan solusi yang tepat. Anda dapat menggunakan kalkulator di halaman ini untuk menghitung estimasi waktu yang diperlukan.
Pencurian kerentanan menggunakan metode brute force tidak memerlukan pengetahuan awal, karena mencoba semua kombinasi yang mungkin. Serangan berbasis kamus lebih efektif, karena mencoba kata sandi yang umum digunakan. Serangan masker, di sisi lain, menggunakan informasi yang sudah diketahui (seperti panjang kata sandi 8 karakter, awalan huruf besar), sehingga hanya menghasilkan kombinasi yang memenuhi syarat, sehingga rentang pencarian menjadi lebih sempit.
Karena jumlah iterasi hash yang digunakan dalam berbagai format sangat berbeda. Office 97 menggunakan metode MD5/RC4 yang kurang efektif, sehingga kartu grafis dapat mencoba sekitar sepuluh juta kali per detik; sedangkan Office 2013 mengharuskan sekitar seratus ribu iterasi per detik, atau hanya sekitar seribu kali per detik, jadi prosesnya jauh lebih lambat, sekitar sepuluh ribu kali lebih lambat; format 7Z memerlukan lebih dari lima ratus ribu iterasi, sehingga merupakan salah satu format yang paling sulit untuk dikerjakan.
Lebih masuk akal untuk memberikan dokumen kepada kami dan menjalankan kumpulan kombinasi yang paling mungkin terlebih dahulu daripada berlari sendiri di rumah selama beberapa hari.