Ariya Adinatha [13519048].pdf
Terbatas  Dessy Rondang Monaomi
» Gedung UPT Perpustakaan
Terbatas  Dessy Rondang Monaomi
» Gedung UPT Perpustakaan
Dalam tahap pengujian perangkat lunak, pengembang dapat menemukan
kesalahan pada code yang dibuat pada tahap pengembangan. Kesalahan dalam
code dapat menyebabkan aplikasi tidak berjalan sebagaimana seharusnya, dampak
yang lebih buruk berupa aplikasi memungkinkan untuk dieksploitasi oleh pihak
yang tidak berwenang.
Untuk membantu pengembang dalam menemukan kesalahan dalam code, dibuat
sebuah kakas static analysis yang dapat memeriksa code tanpa harus menjalankan
code tersebut. Dengan kakas static analysis, pengembang dapat mengidentifikasi
kesalahan dalam code dan masalah potensial pada saat masa pengembangan.
Biaya dan waktu yang dibutuhkan untuk memperbaiki kesalahan pada saat
pengembangan menjadi lebih murah dan cepat dibandingkan pada saat pengujian.
Kakas static analysis yang dikembangkan mampu mencari kerentanan injection.
hardcoded credentials, vulnerable dependency, dan broken auth. Selain itu, kakas
static analysis juga mampu melakukan pemeriksaan terhadap 4 bahasa
pemrograman yang berbeda, yaitu Python, Java, JavaScript, dan PHP.
Implementasi dibuat dengan menggunakan bahasa pemrograman Python dan
menghasilkan sebuah kakas static analysis dalam bentuk CLI.
Implementasi kakas static analysis dilakukan dengan membangkitkan AST dari
code yang dibaca. Berdasarkan Dilakukan pencarian terhadap node yang telah
dibangkitkan. Pencarian secret dilakukan dengan regex detection dan wordlist
detection. Sedangkan pada vulnerable dependency dilakukan pencarian
dependency pada open source vulnerability database.
Setelah proses implementasi dan pengujian dilakukan, kakas static analysis
memiliki efektifitas untuk mendeteksi kerentanan vulnerable dependency sebesar
63.1% dan hardcoded credentials sebesar 2.14%. Melalui analisis, ditemukan
alasan pada temuan false positives pada kakas static analysis dan saran yang dapat
diterapkan untuk mengurangi false positives.