digilib@itb.ac.id +62 812 2508 8800

Fakhri Nail Wibowo [13519035].pdf
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.