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

Ariya Adinatha [13519048].pdf
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.