COVER Bayu Mahendra
PUBLIC rikrik BAB 1 Bayu Mahendra
PUBLIC rikrik BAB 2 Bayu Mahendra
PUBLIC rikrik BAB 3 Bayu Mahendra
PUBLIC rikrik BAB 4 Bayu Mahendra
PUBLIC rikrik BAB 5 Bayu Mahendra
PUBLIC rikrik PUSTAKA Bayu Mahendra
PUBLIC rikrik
Keamanan perangkat lunak merupakan aspek penting dalam menentukan kualitas
perangkat lunak sehingga aspek keamanan harus dipertimbangkan dalam proses
pengembangan perangkat lunak. Pengujian perangkat lunak dengan cara manual
sangat menyita waktu. Terkadang proses pengujian perangkat lunak lebih lama
dibandingkan proses pengembangan perangkat lunak. Oleh karena itu, pengujian
secara otomatis perlu dilakukan untuk mempersingkat waktu pengujian.
Fuzz testing (fuzzing) adalah teknik pengujian keamanan perangkat lunak secara
otomatis dengan cara mengirimkan seed atau data masukan abnormal ke program
yang diuji. American Fuzzy Lop (AFL) adalah salah satu fuzzer yang populer saat
ini. AFL adalah grey-box fuzzer yang menggunakan teknik mutasi untuk
menghasilkan data masukan abnormal. Data masukan abnormal tersebut dihasilkan
oleh AFL menggunakan teknik mutasi deterministik dan non deterministik (acak).
AFL sudah mendukung mode tunggal dan mode paralel. Pada mode paralel,
terdapat perbedaan antara master node dan slave node terkait pembuatan data
masukan. Master node menggunakan mutasi deterministik dan mutasi acak
sedangkan slave node hanya menggunakan mutasi acak. Penggunaan mutasi
deterministik pada kedua node mengakibatkan duplikasi data masukan sehingga
kurang efisien dalam penggunaan sumber daya komputasi.
Pada penelitian ini, diajukan rancangan sistem untuk fuzzing paralel. Teknologi
virtualisasi dimanfaatkan untuk melakukan fuzzing secara paralel. Terdapat sebuah
master node dan 1 atau lebih container sebagai slave node. Master node terdiri dari
aplikasi berbasis python, database dan AFL. Beberapa AFL di container digunakan
untuk melakukan proses fuzzing yang dikelola oleh master node. Sebuah aplikasi
yang bertindak sebagai agen digunakan untuk mengelola sinkronisasi informasi
antar AFL. Rancangan yang diajukan mengimplementasikan kedua teknik mutasi
di setiap node. Selain itu, sinkronisasi informasi seperti seed dan path coverage
diperlukan untuk mencegah duplikasi tugas sehingga proses fuzzing bisa lebih
efisien dan lebih cepat untuk menemukan kecacatan atau kerentanan pada program
yang diuji.