Apa itu Pengujian Fuzz?

Pengujian fuzz, atau fuzzing, adalah metode pemeriksaan untuk melihat bagaimana program atau sistem komputer akan merespons berbagai, terkadang acak, masukan dan informasi.Prosesnya melibatkan pembuatan beberapa jenis data, baik yang benar-benar acak atau acak dalam batasan tertentu, dan kemudian memasukkan data tersebut ke dalam program untuk menguji bagaimana program menangani informasi yang tidak terduga.Bentuk paling dasar dari pengujian fuzz melibatkan pengiriman urutan acak dari penekanan tombol atau karakter ke program dan memeriksa apakah itu memprosesnya dengan benar.Versi pengujian fuzz yang lebih kompleks menggunakan data terstruktur yang kemudian dimanipulasi secara acak dan dikirim ke program.Data dapat mencapai program sebagai peristiwa sistem, input keyboard, sinyal jaringan tiruan atau bahkan sebagai file yang akan dimuat.

Pengujian Fuzz adalah metode pemeriksaan untuk melihat bagaimana program atau sistem komputer akan merespons berbagai, terkadang acak, masukan dan informasi.

Ada berbagai bagian dari program komputer yang dapat diuji dengan generator fuzz.Antarmuka penggunagrafis(GUI) dapat diuji dengan membuat urutan kejadian mouse dan keyboard acak dan memeriksa apakah GUI mampu menangani input tanpa mogok, membeku, atau melakukan tugas yang tidak terduga.Protokol jaringan dapat diuji dengan mengizinkan generator fuzz untuk secara acak mengubah bagian dari paket data yang valid dan kemudian memastikan bahwa protokol dapat terus berfungsi setelah menerima data yang salah format.Elemen input dasar dari hampir semua program dapat diperiksa kemampuannya untuk menahan kesalahan, seperti input yang terlalu panjang untuk jenis penyimpanan, input yang jenisnya berbeda dari yang diharapkan, dan input yang entah bagaimana tidak lengkap atau salah.

Industrikeamanan komputerdapat menggunakan pengujian fuzz untuk memastikan bahwa tidak ada lubang keamanan yang jelas pada sistem tertentu.Ini dapat dilakukan dengan menggunakan generator fuzz yang dirancang untuk menguji keamanan komputer.Program-program ini akan mencoba menggunakan kata kunci sistem, kata sandi administrator default yang diketahui, fungsi di dalam perpustakaan yang digunakan program, dan panggilan acak ke fungsi sistem untuk melihat bagaimana program akan bereaksi.

Berbagai jenis pengujian fuzz dapat disesuaikan untuk berada dalam rentang tertentu, atau bahkan hanya untuk menguji jenis input tertentu.Ini berarti sebuah program hanya dapat mengirim perintah yang valid ke sana, tetapi perintah itu bisa saja dalam urutan yang tidak masuk akal.Ada program pengujian fuzz yang lebih kompleks yang dapat mengambil unsur dari program target dan memanipulasinya untuk menghasilkan situasi yang dapat dieksploitasi secara jahat.Ini dapat mencakup mengubah urutan proses yang muncul, modifikasi izin, atau modifikasi data inti dan file perpustakaan.

Hasil akhir dari pengujian fuzz adalah untuk melihat apakah suatu program aman dan berperilaku sebagaimana mestinya ketika dihadapkan pada situasi yang tidak terduga.Ketika digunakan bersama dengan perangkat lunak profil dan analisis, itu juga dapat mendeteksi kebocoran memori di area program seperti penanganan kesalahan, atau kemacetan kinerja.Dalam kasus keamanan komputer, masalah berbahaya seperti luapan yang dapat membahayakan sistem dapat ditangkap dengan pengaturan yang benar.Pengujian fuzzy, bagaimanapun, tidak dapat digunakan sebagai satu-satunya metode pengujian perangkat lunak dan perlu menjadi bagian dari proses jaminan kualitas dan inspeksi perangkat lunak yang lebih besar.