METODOLOGI PENELITIAN
33
34
Studi Kepustakaan
Pengumpulan Data
Analisis Data
Perancangan Sistem
Implementasi Algoritma
Pengujian Sistem
ilmu hacking. Testing yang digunakan adalah black box testing. Pada tahap ini
pentester akan melakukan testing keamanan aplikasi web khususnya kerentanan
SQL injection pada server yang sudah disediakan. Serangan yang menuju ke server
akan dikumpulkan untuk mendapatkan data serangannya yang tersimpan pada log
database. Adapun spesifikasi server yang digunakan dalam laboraturium simulasi
ditunjukan pada Tabel 3.1.
Tabel 3.1. Tabel spesifikasi server
Prosesor 1 Core
RAM 512 MB
Penyimpanan 10 GB SSD storage
Bandwidth 100 GB transfer
Sistem Operasi Linux Centos 7 64 bit
Web Server Apache/2.4.6
Database 5.5.56-MariaDB
Firewall Iptables v1.6.1
No Masukan
… …
147 /genres.php?id_genre=3%'))) AND 2015=8028 AND ((('%'='
Sedangkan data normal yang didapatkan dari pengumpulan data dapat dilihat pada
Tabel 3.3. Untuk tabel data normal yang lengkap dapat dilihat pada Lampiran 2.
Tabel 3.3. Tabel data normal
No Masukan
1 /wordpress/wp-login.php
2 log=faisal&pwd=faisal123?&wp-
submit=Log+In&redirect_to=http://103.250.83.29/wordpress
/wp-admin/&testcookie=1
3 /wordpress/wp-admin/
4 /wordpress/wp-admin/load-styles.php?c=1&dir=ltr&load[]=
dashicons,admin-bar,common,forms,admin-menu,dashboard,list-
tables,edit,revisions,media,themes,about,nav-menus,wp-pointer,
widgets&load[]=,site-icon,l10n,buttons,wp-auth-check&ver=4.9.1
5 /wordpress/wp-admin/load-scripts.php?c=1&load[]=jquery-
core,jquery-migrate,utils&ver=4.9.1
… …
103 /search.php?search=order
150
100
50
0
Data
Serangan Normal
Data yang sudah didapatkan akan di olah dengan cara menghitung disetiap
data tersebut terdapat untuk mengetahui jumlah comment SQL, operator SQL,
logical SQL, keyword SQL yang terdapat pada data normal dan data serangan.
Selain itu perlu adanya identifikasi user-agent yang digunakan ketika mengakses
yang teridentifikasi serangan dan normal. Setiap parameter mempunyai daftar yang
berbeda-beda. Berikut ini merupakan daftar kata kunci yang di anggap sebagai
pemicu terjadinya SQL injection ditunjukan pada Tabel 3.4.
Tabel 3.4. Tabel Daftar kata kunci
Comment --, #, -+, ++, --, -", /*, */, /**/
Operator <, >, ==, != <=, >=, <<, >>, ||, &&
Logical OR, AND, NOR, XOR
Operator
Keyword UNION, SELECT, ORDER, CONCAT, GROUP,
INFORMATION_SCHEMA.TABLES,
TABLE_NAME,TABLE_SCHEMA, GROUP_CONCAT,
COLUMN_NAME,
INFORMATION_SCHEMA.COLUMNS, LIMIT, COUNT,
CHAR, BY, SLEEP, BENCHMARK, LIKE, WAITFOR,
LOAD_FILE, DECLARE, INSERT, UPDATE, FROM,
DATABASE, WHERE, EXEC, HEX, DELAY, DESC,
FALSE, COUNT, EXPORT_SET, ORD
38
Token Normal
5
4
3
2
1
0
61
1
6
11
16
21
26
31
36
41
46
51
56
66
71
76
81
86
91
96
101
Token Serangan
16
14
12
10
8
6
4
2
0
120
1
8
15
22
29
36
43
50
57
64
71
78
85
92
99
106
113
127
134
141
Comment Operator Logical
Keyword User-Agent
Dalam tahap ini juga dilakukan penjumlah comment, operator, logical dan
keyword yang muncul pada serangan dan normal. Pada setiap parameter
menghasilkan jumlah yang berbeda. Pada serangan menghasilkan nilai yang lebih
besar dibandingkan normal. Hal ini dibuktikan pada perbandingan token serangan
dan normal yang dapat dilihat pada Tabel 3.6 dan Gambar 3.5.
Tabel 3.6. Tabel perbandingan token
User-
Comment Operator Logical Keyword Agent
Serangan 156 7 109 249 0
Normal 1 1 67 68 0
Serangan Normal
b) Activity Diagram
1. Activity Diagram Login Web Dashboard
b) Design Moke Up
1. Mockup Login
Pada halaman login terdapat username dan password serta tombol sign in
untuk login ke dashboard.
akan dialihkan ke halaman peringatan. Apabila bukan sebagai serangan maka akan
diteruskan ke naïve bayes. Dalam naïve bayes akan dilakukan klasifikasi untuk
menentukan serangan atau normal berdasarkan data training. Apabila terdeteksi
sebagai serangan maka akan dialihkan ke halaman peringatan. Apabila bukan
sebagai serangan maka akan diteruskan ke server.
Untuk Gambar topologi dan implementasi sistem yang dirancang ditunjukan pada Gambar
3.33. Pada Gambar 3.3 sistem pencegah serangan terletak didepan dari web server dan
database server. Sehingga apabila terdapat request dapat di intercept dan dilakukan
pengecekan. Serangan yang dapat dicegah akan di catat ke dalam database. Serangan yang
dicatat ditampilkan pada web dashboard monitoring.
55
Pada Gambar 3.4 menjelaskan secara rinci dari sistem yang dirancang. Serangan
akan dicek oleh algoritma SQL injection free secure dan dicek oleh metode naïve
bayes. Apabila serangan tersebut terdeteksi akan diarahkan ke halaman blokir dan
dicatat pada database. Apabila bukan serangan akan diteruskan ke web server dan
dikembalikan ke pengguna.
terpasang beberapa aplikasi yang rentan terhadap serangan SQL injection dan CMS
(Content Management System) seperti wordpress dan joomla.
Pada pengujian akurasi terdapat dua sekenario pengujian yaitu pengujian
pertama menggunakan nilai konstanta lima pada metode SQL injection free secure
serta menggunakan seratus dua puluh lima dataset pada metode naïve bayes.
Kemudian sekenario yang kedua menggunakan konstanta tiga pada metode SQL
injection free secure serta menggunakan dua ratus lima puluh dataset pada metode
naïve bayes. Setiap sekenario akan menguji metode SQL injection free secure saja,
naïve bayes saja serta metode kombinasi. Setiap sekenario pengujian terdapat
seratus kali percobaan serangan yang dilakukan oleh attacker pada masing-masing
metode. Berikut ini merupakan tabel yang digunakan untuk melakukan pengujian
akurasi yang ditunjukan pada Tabel 3.7, Tabel 3.8 dan Tabel 3.9.
Tabel 3.7. Tabel sekenario pengujian akurasi
Percobaan Metode SQL-IF Metode Naïve Metode
Serangan ke - K=? Bayes Kombinasi
? Dataset
1 ? ? ?
2 ? ? ?
3 ? ? ?
4 ? ? ?
5 ? ? ?
… … … …
100 ? ? ?
1 ? ? ? ?
2 ? ? ? ?
3 ? ? ? ?
4 ? ? ? ?
5 ? ? ? ?
… … … … …
20 ? ? ? ?
58