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

Dokumen Asli
Terbatas  Dessy Rondang Monaomi
» Gedung UPT Perpustakaan

Seiring berkembangnya teknologi informasi, semakin beragam kerentanan keamanan yang ada. Salah satu kerentanan yang masih umum terjadi adalah broken access control. Kerentanan ini menempati peringkat pertama dalam OWASP Top 10 tahun 2021. Kerentanan ini dapat menyebabkan pengaksesan informasi secara tidak sah, modifikasi data, penghapusan data, serta memungkinkan pengguna melakukan proses bisnis di luar batasan pengguna. Salah satu metode untuk mendeteksi broken access control adalah melakukan static code analysis menggunakan representasi graf. Terdapat beberapa kakas pendeteksi kerentanan yang menggunakan metode static code analysis, contohnya VGDetector dan IVDetect. Kakas-kakas tersebut memiliki kinerja cukup baik dengan nilai recall sebesar 72,00% untuk VGDetector dan 84,60% untuk IVDetect. Teknik yang digunakan oleh kakas beraneka ragam, dari mulai analisis graf untuk mencari pola kerentanan, menghitung kemiripan graf, graph embedding, hingga deep learning menggunakan Graph Convolutional Network. Salah satu graf yang digunakan dalam static code analysis adalah control flow graph karena graf tersebut lebih merepresentasikan mekanisme kontrol akses pada kode. Meski begitu, masih terdapat masalah pada kakas yang sudah ada seperti cakupan kakas yang hanya terbatas pada suatu bahasa atau framework serta basis pengetahuan kakas yang tergantung kepada pengembang kakas. Pada tugas akhir ini, telah dikembangkan sebuah kakas static code analysis menggunakan representasi graf. Kakas menggunakan teknik analisis dan penjelajahan graf untuk mendeteksi broken access control. Kakas ini memiliki kelebihan yakni pengguna dapat memasukkan basis pengetahuan sendiri sehingga dapat menyesuaikan mengikuti kebutuhan proyek. Selain itu, karena basis pengetahuan dapat diisi oleh pengguna, kakas ini juga dapat melakukan deteksi kerentanan tanpa dibatasi oleh framework. Secara teori kakas ini juga mampu untuk mendeteksi kerentanan lintas bahasa. Namun karena terbatasnya durasi waktu tugas akhir, kakas hanya dapat mendeteksi kerentanan pada kode bahasa Python saja. Dari hasil pengujian yang dilakukan pada 16 proyek, kakas memiliki nilai recall sebanyak 100% serta nilai presisi sebesar 63,24%. Nilai recall yang mencapai 100% serta angka false positive yang signifikan terjadi karena kakas secara default menganggap semua kode yang dideteksi memiliki kerentanan broken access control sampai terdapat pengecekan kontrol akses.