Fakhri Nail Wibowo [13519035].pdf
Terbatas  Dessy Rondang Monaomi
» Gedung UPT Perpustakaan
Terbatas  Dessy Rondang Monaomi
» Gedung UPT Perpustakaan
Dalam proses pengembangan perangkat lunak, kerentanan paling banyak muncul
saat fase implementasi. Namun, kerentanan sering baru diketahui saat sudah masuk
ke dalam fase pengujian. Semakin lama kerentanan dapat diketahui, dampaknya
akan semakin besar baik dari sisi bisnis maupun teknologi. Oleh karena itu, biasa
dilakukan code review sebagai salah satu cara static analysis untuk dapat
menangkap kerentanan dan kesalahan dengan lebih cepat.
Tetapi, terkadang code review saja tidak cukup dan perlu dibantu oleh metode static
analysis yang otomatis menggunakan kakas static analysis. Dengan kakas,
pengembang dapat melakukan static analysis dengan lebih cepat dan lebih
menyeluruh sehingga peluang kerentanan tertangkap dengan lebih cepat akan
semakin besar.
Tugas akhir ini bertujuan untuk mengembangkan kakas static analysis yang
berfokus pada deteksi kerentanan bertipe injection dan dapat melakukan analisis
pada empat bahasa sekaligus, yaitu Python, PHP, Java dan Javascript. Metode yang
dipilih adalah menggunakan abstract syntax tree (AST) dan data flow graph (DFG)
yang dibangkitkan dari kode sumber sebagai representasi antara dan melakukan
taint analysis untuk mencari kerentanan pada representasi antara.
Setelah dilakukan evaluasi terhadap kinerja kakas, diketahui kakas didasari
representasi antara AST dan DFG dapat digunakan untuk mencari kerentanan
injection. Berdasarkan evaluasi, diketahui alasan munculnya false positive dan false
negative beserta saran yang dapat diterapkan untuk mengurangi kedua hal tersebut.