Brute force adalah sebuah pendekatan yang lempang (straightforward) untuk memecahkan suatu masalah, biasanya didasarkan pada pernyataan masalah (probem statement) dan definisi konsep yang dilibatkan. Algoritma brute force memecahkan masalah dengan sangat sederhana, langsung dan dengan cara yang jelas (obvious way).Untuk masalah yang ukurannya kecil, kesederhanaan brute force biasanya lebih diperhitungkan daripada ketidakmangkusannya. Algoritma brute force sering digunakan sebagai basis bila membandingkan beberapa alternatif algoritma yang mangkus.
Serangan brute
force adalah sebuah teknik serangan terhadap
sebuah sistem keamanan komputer
yang menggunakan percobaan terhadap semua
kunci yang mungkin. Pendekatan ini pada
awalnya merujuk pada sebuah program komputer
yang mengandalkan kekuatan pemrosesan komputer
dibandingkan kecerdasan manusia. Sebagai contoh, untuk menyelesaikan sebuah persamaan kuadrat
seperti x²+7x-44=0, di m ana x adalah sebuah integer, dengan menggunakan teknik serangan brute force, penggunanya
hanya dituntut untuk membuat program yang mencoba semua nilai integer yang mungkin untuk persamaan
tersebut hingga nilai x sebagai jawabannya muncul. Istilah brute
force sendiri dipopulerkan oleh Kenneth Thompson,
dengan mottonya: "When in doubt, use brute-force" (jika ragu,
gunakan brute-force).
1.
Membuat sebuah himpunan karakter dari karakter-karakter yang biasanya
dipakai dalam menuliskan sebuah password.
2.
Agar dapat menangani huruf kecil dan huruf besar maka dalam himpunan
karakter yang dibuat dimasukan semua anggota himpunan abjad huruf kecil dan
huruf besar.
3.
Mulai dari password dengan panjang satu, coba semua karakter dalam
semua karakter.
4.
Jika gagal naikan panjang password
sebanyak satu karakter kemudian coba
semua kemungkinan kombinasi dalam himpunan karakter untuk dicocokan dengan password sebenarnya.
5.
Ulangi langkah ke 4 sampai ditemukannya password
sebenarnya.
Proses Brute Force
Proses pencarian untuk membuka password yaitu dengan mencoba semua kombinasi huruf (26 huruf
kecil, 26 huruf besar) dan 10 angka, kombinasi yang dimasukan mulai dari
kombinasi 1 digit karakter kemudian berlanjut ke 2 digit kombinasi karakter
jika dalam satu kombinasi tidak ditemukan, demikian seterusnya sampai ditemukan
password yang sebenarnya. Panjang password satu karakter membutuhkan 62
kombinasi (26 huruf kecil, 26 huruf besar dan 10 angka), jika kombinasi dua
karakter maka kombinasi yang dibutuhkan adalah 62x62 = 3844 kombinasi. Berarti
untuk panjang password tiga karakter
kombinasi yang dibutuhkan 62 x 62 x 62 = 238328 kombinasi.
Suatu
string terenkripsi dengan kata “key”,
berikut adalah proses pemeriksaan brute
force terhadap kata tersebut:
1. Proses Brute Force dengan mencoba hasil suatu hash untuk kemungkinan
karakter huruf (a) = jika hasil hash telah cocok dengan contoh diatas
maka poses Brute Force akan berhenti , jika tidak maka akan mencoba
kemungkinan karakter huruf selanjutnya.
2. Proses Brute Force dengan mencoba
hasil hash untuk kemungkinan karakter huruf (b) = jika hasil hash
telah cocok dengan contoh diatas maka poses Brute
Force akan berhenti , jika tidak
maka akan mencoba kemungkinan karakter huruf selanjutnya.
3.
Proses Brute Force dengan mencoba hasil hash untuk kemungkinan
karakter huruf (a) = jika hasil hash telah cocok dengan contoh diatas
maka poses Brute Force akan berhenti
, jika tidak maka akan mencoba kemungkinan karakter huruf selanjutnya.
4.
Proses Brute Force dengan mencoba hasil hash untuk kemungkinan
karakter huruf (z) = jika hasil hash telah cocok dengan contoh diatas
maka poses Brute Force akan berhenti
, jika tidak maka akan mencoba kemungkinan karakter huruf selanjutnya.
5.
Proses Brute Force dengan mencoba hasil hash untuk kemungkinan
karakter huruf (aa) = jika hasil hash telah cocok dengan contoh diatas
maka poses Brute Force akan berhenti
, jika tidak maka akan mencoba kemungkinan karakter huruf selanjutnya.
6.
Proses Brute Force dengan mencoba
hasil hash untuk kemungkinan karakter huruf (ab) = jika hasil hash
telah cocok dengan contoh diatas maka poses Brute
Force akan berhenti , jika tidak maka akan mencoba kemungkinan karakter
huruf selanjutnya.
7.
Proses Brute Force dengan mencoba
hasil hash untuk kemungkinan karakter huruf (az) = jika hasil hash
telah cocok dengan contoh diatas maka poses Brute
Force akan berhenti , jika tidak maka akan mencoba kemungkinan karakter
huruf selanjutnya.
8.
Proses Brute Force dengan mencoba
hasil hash untuk kemungkinan karakter huruf (bb) = jika hasil hash
telah cocok dengan contoh diatas maka poses Brute
Force akan berhenti , jika tidak maka
akan mencoba kemungkinan karakter huruf selanjutnya.
9.
Proses Brute Force dengan mencoba
hasil hash untuk kemungkinan karakter huruf (aaa) = jika hasil hash
telah cocok dengan contoh diatas maka poses Brute
Force akan berhenti , jika tidak maka akan mencoba kemungkinan karakter
huruf selanjutnya.
10. Proses
Brute Force dengan mencoba hasil hash untuk
kemungkinan karakter huruf (key). Maka proses Brute Force akan berhenti di karakter
huruf (key) setelah mendapatkan kecocokan nilai hash dari
kemungkinan contoh hash diatas dan
password kembali seperti semula.
11. Nilai hash dari contoh
kasus di atas = e5be120b5be650ab8b37b491b018a15f
12. Proses Brute Force dengan mencoba hasil hash untuk kemungkinan
karakter huruf (a) = jika hasil
hash telah cocok dengan contoh diatas maka poses Brute Force akan berhenti ,
jika tidak maka akan mencoba kemungkinan karakter huruf selanjutnya.
13. Proses Brute Force dengan mencoba hasil hash untuk kemungkinan
karakter huruf (b) = jika hasil
hash telah cocok dengan contoh diatas maka poses Brute Force akan berhenti ,
jika tidak maka akan mencoba kemungkinan karakter huruf selanjutnya.
14. Proses Brute Force dengan mencoba hasil hash untuk kemungkinan karakter huruf (a) = jika hasil hash telah cocok dengan contoh
diatas maka poses Brute Force akan berhenti , jika tidak maka akan
mencoba kemungkinan karakter huruf selanjutnya.
15. Proses Brute Force dengan mencoba hasil hash untuk kemungkinan
karakter huruf (z) = jika hasil
hash telah cocok dengan contoh diatas maka poses Brute Force akan berhenti ,
jika tidak maka akan mencoba kemungkinan karakter huruf selanjutnya.
16. Proses Brute Force dengan mencoba hasil hash untuk kemungkinan
karakter huruf (aa) = jika hasil
hash telah cocok dengan contoh diatas maka poses Brute Force akan berhenti , jika tidak maka akan mencoba
kemungkinan karakter huruf selanjutnya.
17. Proses Brute Force dengan mencoba hasil hash untuk kemungkinan karakter huruf (ab) = jika hasil hash telah cocok dengan contoh
diatas maka poses Brute Force akan
berhenti , jika tidak maka akan mencoba kemungkinan karakter huruf selanjutnya.
18. Proses Brute Force dengan mencoba hasil hash untuk kemungkinan
karakter huruf (az) = jika hasil
hash telah cocok dengan contoh diatas maka poses Brute Force akan berhenti ,
jika tidak maka akan mencoba kemungkinan karakter huruf selanjutnya.
19. Proses Brute Force dengan mencoba hasil hash untuk kemungkinan
karakter huruf (bb) = jika hasil
hash telah cocok dengan contoh diatas maka poses Brute Force akan berhenti , jika tidak maka akan mencoba
kemungkinan karakter huruf selanjutnya.
20. Proses Brute Force dengan mencoba hasil hash untuk kemungkinan
karakter huruf (aaa) = jika hasil
hash MD5 telah cocok dengan contoh diatas maka poses Brute Force akan berhenti , jika tidak maka akan mencoba
kemungkinan karakter huruf selanjutnya.
21. Proses Brute Force dengan
mencoba hasil hash untuk
kemungkinan karakter huruf terakhir.
Proses operasi di atas menunjukan bagaimana
menemukan semua karakter dari password. Operasi XOR dilakukan dengan byte ( I + H42) dan Array
(I), Array yang digunakan untuk operasi xor dengan taks sandi adalah access Array 95/97 (&H86, &HFB, &HEC,
&H37, &H5D, &H44, &H9C, &HFA, &HC6, &H5E, &H28,
&HE6, &H13, &HB6, &H8A, &H60, &H54, &H94),
access array 2000 Array (&H6ABA, &H37EC,
&HD561, &HFA9C, &HCFFA, &HE628, &H272F, &H608A,
&H568, &H367B, &HE3C9, &HB1DF, &H654B, &H4313,
&H3EF3, &H33B1, &HF008,
&H5B79, &H24AE, &H2A7C). Setelah xor dilakukan
maka sandi akan disimpan dalam file dalam format teks biasa.
0 komentar:
Post a Comment