Pengertian Fuzzing adalah
Fuzzing merupakan salah satu metode pencarian bugs pada sebuah aplikasi. Dengan metode fuzzing, attacker berusaha mengirimkan "malformed string/data" dengan harapan aplikasi tersebut akan mengalami crash atau kegagalan operasi. Ketika aplikasi tersebut mengalami crash, attacker pun dapat memanfaatkan celah tersebut untuk menguasai komputer korban.
Hingga saat ini belum banyak orang yang memiliki pemahaman yang kuat dan mendalam tentang cara kerja teknik fuzzing. Pengujian fuzzing pertama dilakukan oleh Profesor Miller Barton, yang dianggap sebagai Bapak Fuzzing, yang melakukan pengujian terhadap operasi sistem canggih yang dimilii oleh aplikasi UNIX [2]. Pengujian ini lebih difokuskan pada keandalan kode daripada mencari masalah keamanan. Akar fuzzing berasal dari Analisis Nilai Batas atau Boundary Value Analysis (BVA) namun kemudian fuzzing berkembang lebih jauh lagi. Proses fuzzing berupaya memberikan masukan dari setiap kejadian yang akan menyebabkan perilaku program keluar dari yang semestinya.
Fuzzing sangat cocok untuk berbagai jenis pengujian karena kesederhanaannya. Fuzzing bisa dilakukan oleh siapa saja meskipun dia tidak memiliki pengetahuan mendalam tentang bagaimana sistem dan protokol bekerja. Fuzzing juga menguntungkan karena pendekatan mudah dan otomatis dalam mereproduksi pengujian sementara teknik manual menuntut kemampuan yang kuat dari pelakunya. Disamping itu pengujian secara manual memiliki kelemahan utama yaitu membutuhkan waktu yang sangat lama ketika melakukan proses pengujian.
Tujuan fuzzing terhadap aplikasi web tidak berbeda dari Pengujian Black Box, yaitu untuk menemukan perilaku pogram yang aneh. Teknik ini dilakukan untuk mendapatkan hak akses terhadap direktori web di bagian root seluruh seluruh informasi dari web tersebut dapat diketahui. Direktori web bagian root merupakan direktori di mana semua file yang berkaitan dengan web disimpan. Bentuk kerentananya adalah jika informasi direktori root sebuah web telah didapatkan maka memungkinkan seorang hacker untuk mempelajari informasi lebih lanjut, seperti memahami konfigurasi file atau mengambil file password.
Tujuan lain adalah untuk mengetahi apakah variabel masukan telah ditangani dengan benar. Pendekatan serupa dapat pula dilakukan untuk mengetahui respon sistem jika suatu variabel yang dilewatkan ke bahasa yang rentan dapat mengakibatkan buffer overflow. Situasi lain yang dapat muncul ketika dilakkan pengiriaman perintah yang salah ke server web. Sebuah permintaan yang dilakukan secara terus menerus bisa menyebabkan sistem menjadi tidak responsif sehingga dapat digunakan dalam serangan Denial-of-Service. Akhirnya, teknik fuzzing terhadap aplikasi web memungkinkan seorang hacker atau tester untuk membuat sebuah daftar lengkap berbagai kemungkinan kerentanan secara cepat.
Teknik fuzzing memungkinkan deteksi kerentanan keamanan yang kritis dalam periode waktu yang singkat untuk berbagai aplikasi, seperti yang ditunjukkan dalam dokumen ini. Adalah penting untuk mengatakan bahwa teknik fuzzing, meskipun menjadi efektif, bukanlah solusi akhir untuk mendeteksi semua kerentanan keamanan yang ada di aplikasi. Kerentanan keamanan Beberapa, karena sifat mereka, tidak mungkin untuk mendeteksi dengan teknik fuzzing.
Manfaat utama dari menggunakan metode fuzzing adalah kesederhanaan, efisiensi dan otomatisasi yang mengarah pada kecepatan yang cukup atas seluruh proses deteksi kerentanan keamanan. Metode ini berguna untuk menguji sejumlah besar aplikasi dan produk, hal ini dikonfirmasi oleh peningkatan jumlah alat fuzzer bebas dan komersial yang telah dirilis akhir-akhir ini.
Sumber :
Michael Howard, “Inside the Windows Security Push”, IEEE Security & Privacy, Pgs 57-61, January/February 2003.
Hingga saat ini belum banyak orang yang memiliki pemahaman yang kuat dan mendalam tentang cara kerja teknik fuzzing. Pengujian fuzzing pertama dilakukan oleh Profesor Miller Barton, yang dianggap sebagai Bapak Fuzzing, yang melakukan pengujian terhadap operasi sistem canggih yang dimilii oleh aplikasi UNIX [2]. Pengujian ini lebih difokuskan pada keandalan kode daripada mencari masalah keamanan. Akar fuzzing berasal dari Analisis Nilai Batas atau Boundary Value Analysis (BVA) namun kemudian fuzzing berkembang lebih jauh lagi. Proses fuzzing berupaya memberikan masukan dari setiap kejadian yang akan menyebabkan perilaku program keluar dari yang semestinya.
Fuzzing sangat cocok untuk berbagai jenis pengujian karena kesederhanaannya. Fuzzing bisa dilakukan oleh siapa saja meskipun dia tidak memiliki pengetahuan mendalam tentang bagaimana sistem dan protokol bekerja. Fuzzing juga menguntungkan karena pendekatan mudah dan otomatis dalam mereproduksi pengujian sementara teknik manual menuntut kemampuan yang kuat dari pelakunya. Disamping itu pengujian secara manual memiliki kelemahan utama yaitu membutuhkan waktu yang sangat lama ketika melakukan proses pengujian.
Tujuan fuzzing terhadap aplikasi web tidak berbeda dari Pengujian Black Box, yaitu untuk menemukan perilaku pogram yang aneh. Teknik ini dilakukan untuk mendapatkan hak akses terhadap direktori web di bagian root seluruh seluruh informasi dari web tersebut dapat diketahui. Direktori web bagian root merupakan direktori di mana semua file yang berkaitan dengan web disimpan. Bentuk kerentananya adalah jika informasi direktori root sebuah web telah didapatkan maka memungkinkan seorang hacker untuk mempelajari informasi lebih lanjut, seperti memahami konfigurasi file atau mengambil file password.
Tujuan lain adalah untuk mengetahi apakah variabel masukan telah ditangani dengan benar. Pendekatan serupa dapat pula dilakukan untuk mengetahui respon sistem jika suatu variabel yang dilewatkan ke bahasa yang rentan dapat mengakibatkan buffer overflow. Situasi lain yang dapat muncul ketika dilakkan pengiriaman perintah yang salah ke server web. Sebuah permintaan yang dilakukan secara terus menerus bisa menyebabkan sistem menjadi tidak responsif sehingga dapat digunakan dalam serangan Denial-of-Service. Akhirnya, teknik fuzzing terhadap aplikasi web memungkinkan seorang hacker atau tester untuk membuat sebuah daftar lengkap berbagai kemungkinan kerentanan secara cepat.
Teknik fuzzing memungkinkan deteksi kerentanan keamanan yang kritis dalam periode waktu yang singkat untuk berbagai aplikasi, seperti yang ditunjukkan dalam dokumen ini. Adalah penting untuk mengatakan bahwa teknik fuzzing, meskipun menjadi efektif, bukanlah solusi akhir untuk mendeteksi semua kerentanan keamanan yang ada di aplikasi. Kerentanan keamanan Beberapa, karena sifat mereka, tidak mungkin untuk mendeteksi dengan teknik fuzzing.
Manfaat utama dari menggunakan metode fuzzing adalah kesederhanaan, efisiensi dan otomatisasi yang mengarah pada kecepatan yang cukup atas seluruh proses deteksi kerentanan keamanan. Metode ini berguna untuk menguji sejumlah besar aplikasi dan produk, hal ini dikonfirmasi oleh peningkatan jumlah alat fuzzer bebas dan komersial yang telah dirilis akhir-akhir ini.
Sumber :
Michael Howard, “Inside the Windows Security Push”, IEEE Security & Privacy, Pgs 57-61, January/February 2003.
Komentar
Posting Komentar