I. PENDAHULUAN
Aksi peretasan web pada saat ini sudah menjadi topik
hangat. Pada waktu lalu, ketika konflik terjadi di Palestina,
para simpatisan dari berbagai negara termasuk Indonesia
melakukan aksi penyerangan terhadap situs web yang
berdomain .il yang merupakan domain yang merujuk terhadap
negara Israel. Kasus lainnya yang juga terjadi beberapa waktu
yang lalu terjadi di Indonesia. Situs web presiden Republik
JURNAL TEKNIK POMITS Vol. 2, No. 1, (2013) ISSN: 2337-3539 (2301-9271 Print)
diarahkan ke Ironbee untuk kemudian dilakukan inspeksi data.
Untuk memudahkan dalam melakukan inspeksi terhadap data
request HTTP, Ironbee sudah memproses data request HTTP
menjadi bagian-bagian yang lebih kecil. Contoh, alamat IP
yang melakukan request menjadi REMOTE_ADDR, request
header menjadi REQUEST_HEADERS.
Untuk penambahan fungsionalitas dari sistem yang akan
dibangun, dapat dilakukan dengan penambahan modul.
Ironbee sudah menyediakan API untuk menambahkan modulmodul tambahan untuk meningkatkan fungsionalitas. Untuk
versi Ironbee pada saat penelitian ini dilakuukan, Ironbee
secara defalut hanya mendukung bahasa pemrograman C/C++
dan Lua.
Jika dibanding dengan web application firewall lainnya
seperti ModSecurity, Ironbee dan ModSecurity memiliki
kesamaan dan perbedaan. Kesamaan diantara dua teknologi ini
adalah pada segi konsep dan bentuknya. Akan tetapi, dua
teknologi ini berbeda dari segi desain, implementasi dan
konfigurasi.
Segi desain, ModSecurity dirancang untuk modul Apache
Webserver. Walaupun ModSecurity bisa untuk dilakukan
porting ke webserver lain, tidak akan semua fitur untuk dapat
dilakukan porting. Berbeda dengan Ironbee yang lebih bersifat
portable. Ketika Ironbee dimuat oleh webserver, fitur-fitur
yang tersedia akan sama antar webserver yang memuat
Ironbee sebagai modul. Begitu juga pada sisi implementasi,
rule pada ModSecurity diimplementasikan dalam bahasa rule
yang sudah disediakan oleh ModSecurity. Sedangkan Ironbee
tidak mengharuskan bahwa rule harus diimplementasikan
dengan bahasa rule Ironbee. Akan tetapi, juga bisa
diimplementasikan dalam bahasa C, C++, atau Lua. Proses
implementasi dengan bahasa C, C++, atau Lua bisa dilakukan
dengan rule external(logika menggunakan bahasa C, C++,
atau Lua, sedangkan action menggunakan bahasa rule
Ironbee) atau bisa juga dengan menambahkan modul
tambahan yang berisi logika pencocokan rule dan action yang
secara keseluruhan ditulis dengan bahasa pemrograman
tersebut. Pada penelitian ini, rule untuk web application
firewall yang akan dibangun, dibuat dengan menggunakan
metode penambahan modul.
B. Regular Expression
Regular Expression atau disingkat dengan regex
merupakan suatu teknik yang digunakan untuk menyelesaikan
suatu permasalahan terkait dengan pemrosesan dan/atau
manipulasi teks. Regular expression digunakan dengan
menggunakan bahasa regular expression, sebuah bahasa
khusus yang didesain untuk manipulasi teks. Seperti halnya
bahasa pemrograman pada umumnya, Regular expression
memiliki sebuah sintaks dan instruksi khusus. Akan tetapi,
regular expression bukanlah sebuah bahasa pemrograman.
Biasanya regular expression menjadi sebuah perkakas yang
digunakan oleh bahasa pemrograman lainnya untuk
memanipulasi teks.
Dalam penelitian ini, regular expression digunakan
dalam pencocokan data request HTTP dengan pola-pola
serangan. Pola-pola serangan ini didapatkan dari ModSecurity
Core Ruleset.
JURNAL TEKNIK POMITS Vol. 2, No. 1, (2013) ISSN: 2337-3539 (2301-9271 Print)
No
1
2
3
4
Level
Risk
Request
dideteksi
1
1
1
2
1
2
3
1
267
186
180
317
157
84
94
162
Gagal
dideteksi
2
3
3
2
(%)
99,25
98,38
98,33
99,36
JURNAL TEKNIK POMITS Vol. 2, No. 1, (2013) ISSN: 2337-3539 (2301-9271 Print)
5
6
7
8
9
10
11
12
13
14
15
2
2
3
3
3
4
4
4
5
5
5
2
3
1
2
3
1
2
3
1
2
3
317
345
876
876
835
5689
1143
1131
1500
1532
1521
160
178
467
484
449
3139
605
605
812
768
821
1
2
2
2
1
3
3
8
2
2
2
99,68
99.42
99,77
99,77
99,88
99,94
99,73
99,29
99,86
99,86
99,86
Uji coba ke
Serangan
II
III
Rata-rata
SQL Injection
OS Commanding
Cross-Site Scripting
Path Traversal
Remote File
Inclusion
288
234
290
157
203
238
228
297
187
187
264
240
203
172
203
263,33
234
263,33
172
197,67
No
1
Serangan
SQL Injection
Ironbee
30
ModSecurity
30
JURNAL TEKNIK POMITS Vol. 2, No. 1, (2013) ISSN: 2337-3539 (2301-9271 Print)
Path Traversal
OS Commanding
Remote File Inclusion
Cross-Site Scripting
Jumlah
2
3
4
5
23
13
8
26
100
23
13
8
26
100
No
1
2
3
4
5
Serangan
SQL Injection
Path Traversal
OS Commanding
Remote File Inclusion
Cross-Site Scripting
Ironbee
10
8
10
7
7
ModSecurity
8
5
7
6
7
V. KESIMPULAN/RINGKASAN
Pengamatan telah dilakukan dari hasil uji coba sistem, dapat
ditarik kesimpulan sebagai berikut:
1. Sistem dapat mendeteksi serangan SQL Injection, XSS,
Path Traversal Attack, Remote File Inclusion dan OS
Commanding Attack dengan cara mencocokkan rule atau
pola serangan dengan request HTTP menggunakan
regular expression.
2. Sistem berhasil mencatat dan mendata serangan SQL
Injection, XSS, Path Traversal Attack, Remote File
Inclusion dan OS Commanding Attack yang telah terjadi
ke dalam database log, untuk kemudian dari data yang
diperoleh dari database log ini akan ditampilkan pada
halaman web monitoring.
UCAPAN TERIMA KASIH
Penulis F.R. mengucapkan terima kasih sebesar-besarnya
kepada Allah SWT, kedua orang tua, dosen pembimbing,
bapak/ibu dosen dan staf karyawan Teknik Informatika,
teman-teman, serta berbagai pihak yang telah membantu
penulis dalam menyelesaikan Tugas Akhir ini.
DAFTAR PUSTAKA
[1] Ryan C. Barnett, Web Application Defender's Cookbook. Indianapolis:
Wiley Publishing, Inc., 2013.
[2] Shelley Powers, Learning Node. Sebastopol: O'Reilly Media, 2012.
[3] Jan Goyvaerts. (2013, September) Regular-Expression.info - Regex
tutorial, Examples and Reference - Regex Patterns. [Online].
http://www.regular-expressions.info/
[4] Christopher Alfeld et al. (2010, July) Ironbee Open Source WAF.
[Online]. https://www.ironbee.com/docs/manual/ironbee-reference-
manual.html
[5] Ryan Barnett and Felipe Zimmerle Costa. (2006) OWASP ModSecurity
Core Rule Set (CRS). [Online]. http://spiderlabs.github.io/owaspmodsecurity-crs/
[6] Russell J.T. Dyer, MYSQL IN NUTSHELL, 2nd ed., Andy Oram, Ed.
Sebastopol, USA: O'Reilly Media, 2008.
[7] R Ierusalimschy, L.H. de Figueiredo, and W. Celes. (2006, August) Lua
5.1 Reference Manual. [Online]. http://www.lua.org/manual/5.1/
[8] The Apache Software Foundation. (2014) Apache HTTP Server Project.
[Online]. http://httpd.apache.org/
[9] Pedro Teixeira, Professional Node.js. Indianapolis, United States of
America: John Wiley & Sons, Inc, 2013.