Skip to main content

Apa itu pengujian fuzz?

Pengujian fuzz, atau fuzzing, adalah metode checking untuk melihat bagaimana program atau sistem komputer akan merespons berbagai input dan informasi dan informasi.Proses ini melibatkan menghasilkan beberapa jenis data, baik sepenuhnya acak atau acak dalam kendala tertentu, dan kemudian memasukkan data itu ke dalam program untuk menguji bagaimana ia menangani informasi yang tidak terduga.Bentuk paling mendasar dari pengujian fuzz melibatkan pengiriman urutan acak penekan atau karakter ke program dan memeriksa bahwa ia 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.

Ada berbagai bagian program komputer yang dapat diuji dengan generator fuzz.Antarmuka pengguna grafis (GUI) dapat diuji dengan membuat urutan peristiwa mouse dan keyboard acak dan memeriksa bahwa GUI dapat menangani input tanpa menabrak, membeku, atau melakukan tugas yang tidak terduga.Protokol jaringan dapat diuji dengan memungkinkan generator fuzz untuk secara acak mengubah bagian -bagian dari paket data yang valid dan kemudian memastikan bahwa protokol dapat terus berfungsi setelah menerima data malform.Elemen input dasar dari hampir semua program dapat diperiksa untuk kemampuan mereka untuk menahan kesalahan, seperti input yang terlalu lama untuk jenis penyimpanan, input yang memiliki jenis yang berbeda dari yang diharapkan dan input yang entah bagaimana tidak lengkap atau salah.

Industri keamanan komputer dapat menggunakan pengujian fuzz untuk memastikan bahwa tidak ada lubang keamanan yang jelas dalam 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 dalam pustaka yang digunakan program, dan panggilan acak ke fungsi sistem untuk melihat bagaimana program akan bereaksi.

Berbagai jenis pengujian fuzz dapat disesuaikan untuk berada di dalamrentang tertentu, atau bahkan untuk hanya menguji jenis input tertentu.Ini berarti suatu program hanya dapat memiliki perintah yang valid yang dikirimkan kepadanya, tetapi mereka bisa dalam urutan yang tidak masuk akal.Ada program pengujian fuzz yang lebih kompleks yang dapat mengambil elemen dari program target dan memanipulasi mereka untuk menghasilkan situasi yang dapat dieksploitasi secara jahat.Ini dapat mencakup mengubah urutan proses yang bertelur, modifikasi izin, atau modifikasi data inti dan file perpustakaan.situasi yang tidak terduga.Ketika digunakan bersama -sama dengan perangkat lunak profil dan analisis, ia juga dapat mendeteksi kebocoran memori di bidang 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 fuzz, 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.