Dokumen Asli
Terbatas  Dessy Rondang Monaomi
» Gedung UPT Perpustakaan
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.