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

Dalam pengembangan perangkat lunak terdapat banyak tahapan yang harus dilalui mulai dari identifikasi masalah, desain, implementasi, pengujian, dan pemeliharaan. Pada tahap implementasi akan dilakukan penulisan kode sumber yang sesuai dengan kebutuhan yang didapatkan pada saat identifikasi masalah. Pada saat implementasi bisa saja terdapat sebuah kesalahan dalam menuliskan kode sumber yang dapat menyebabkan terbentuknya kesalahan yang dapat merugikan pengguna maupun pengembang. Oleh karena itu dibuatlah kakas analisis kode statis yang bertujuan untuk dapat mendeteksi celah keamanan pada saat pengembangan perangkat lunak. Pada tugas akhir ini bertujuan untuk membangun kakas analisis kode statis untuk mendeteksi celah keamanan Broken Authentication. Kakas akan melakukan transformasi dari kode sumber menjadi Control-Flow Graph (CFG) dengan bantuan Data Flow sehingga dapat memudahkan dalam melakukan pencarian celah keamanan. Simpul yang terbentuk dari CFG akan ditentukan tipenya oleh kakas untuk menentukan apakah suatu celah keamanan dapat terjadi ataupun tidak. Hasil tugas akhir ini adalah sebuah kakas pendeteksi celah keamanan pada aplikasi Flask. Kakas yang telah dibangun telah diujikan pada 14 proyek open source Flask dan 1 proyek dummy yang sebelumnya dilakukan analisis manual terlebih dahulu untuk menentukan apakah ada penyebab celah keamanan dan kakas dapat menemukan dengan baik celah keamanan yang telah dianalisis sebelumnya. Terdapat 1 False Positive yang ditemukan pada kakas terjadi dikarenakan kakas belum dapat menangani beberapa kasus yang tidak umum atau diluar cakupan dari kakas. Perlu dilakukan studi lebih lanjut untuk dapat membuat kakas tidak bergantung kepada framework dalam melakukan pencarian celah keamanan. Kakas juga dapat dikembangkan untuk tipe celah keamanan yang lain.