Wednesday, March 27, 2013

Pengertian Brute force

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).
Penggunaan algoritma brute force  dalam recovery password file dokumen secara umum adalah sebagai berikut:
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

No comments:

Post a Comment