PROPOSAL
TUGAS AKHIR
I. Latar Belakang
Intrusion Detection System adalah setiap perangkat keras, perangkat lunak
ataupun kombinasi dari keduanya yang memiliki fungsi untuk memonitor suatu
sistem atau jaringan dari aktivitas-aktivitas yang sifatnya malicious. Dalam
melakukan monitoring suatu IDS biasanya menerapakan general method seperti
Signature Analysis, Artifiicial Intelligent ataupun Computational Method [1], [2].
Sistem yang dibangun dan diletakkan pada area atau infrasturktur jaringan
yang digunakan untuk memantau trafik yang terdapat pada jaringan dikenal
sebagai Network Intrusion Detection System. [2],[3]. NIDS bekerja dalam
promiscious mode agar dapat melakukan eavesdroping pada setiap segmen pada
jaringan dan dapat memberikan suatu alert apabila terjadi penyusupan yang
mengarah pada sistem. Alert tersebut dibangun dari sistem deteksi yang
menerapkan Signature dan Regular Expression dalam mengenal dan mendeteksi
pola serangan.
Signature Based atau Misuse detection menerapkan mekanisme deteksi
dimana prinsip yang digunakan sama halnya seperti pada perangkat lunak
antivirus, yang bergantung pada pengetahuan perangkat tersebut dalam
mengakumulasi serangan sebelumnya dan celah untuk mendeteksi adanya upaya
intrusi ke sistem. HTTP Attack seperti SQL Injection, XSS, Injection Flow
merupakan jenis serangan pada top-level layer dimana jenis-jenis serangan ini
memiliki rentang false positif yang tinggi untuk dideteksi dengan keragaman dan
fleksibilitas pada serangan tipe ini kemampuan suatu NIDS sangat terbatas.
Mekanisme deteksi NIDS menjadi tidak efisien dan tidak berguna ketika terjadi
serangan terkait Smart Web Attack yang disebabkan penggunaan multi-level atau
multi-type encoding. Pada penelitian sebelumnya, [4] dijelaskan tentang Web
Intrusion Detection System dengan menggunakan metode Feature Based Data
1
2
Clustering pada web layer log. Sedangkan [5], menggunakan Ontology untuk
mendeteksi HTTP Attack Spesification yang memfokuskan serangan pada
protokol HTTP untuk meningkatkan deteksi dan low false positive. Kemudian
penelitian selanjutnya yang dilakukan Vera Albert J [6], yang menggunakan Web
Application Firewall sebagai solusi pengamanan pada layanan Web.
Di sisi lain Web Application Firewall yang menggunakan rule based
analyisis engine yang lebih fleksibel dibandingkan dengan mekanisme deteksi
yang terdapat pada suatu NIDS yang menggunakan Pattern Matching Signature
[7]. Untuk itu dibutuhkan suatu metode yang dapat meningkatkan detection rate
pada suatu NIDS agar dapat mendeteksi pola serangan terutama yang
menggunakan protokol HTTP. Salah satu metode yang dapat digunakan yakni
membuat sistem deteksi HTTP, dengan melakukan modifikasi pada salah satu
preprocessor yang dimiliki Snort. Pada penelitian sebelumnya, [X].[X].[X]
HTTP Inspect Preprocessor bertujuan melakukan buffer decoding, mencari field
HTTP, dan melakukan normalisasi [8]. Dengan mengkombinasikan Attack
Detection Rule seperti Core Rule Set yang dimiliki oleh Web Application Firewall
modsecurity yang menggunakan rule based analysis engine dapat dengan baik
mendeteksi common attack yang dilakukan pada protokol HTTP.
II. Tujuan
Adapun tujuan yang hendak dicapai dalam penelitian ini adalah sebagai
berikut :
1. Untuk mengimplementasikan sistem deteksi HTTP dengan menggunakan
HTTP inspect preprocessor dan core rule set.
2. Untuk mengetahui seberapa besar tingkat akurasi serangan terutama pada
protokol HTTP dengan menggunakan sistem deteksi HTTP.
3
III. Manfaat
Adapun manfaat yang dapat diambil dari penelitian ini adalah :
1. Dapat digunakan sebagai mekanisme tambahan untuk pengamanan pada
Web Server terutama pada protokol HTTP.
2. Dapat digunakan sebagai General Network Intrusion Detection dan Sistem
deteksi serangan HTTP.
IV. Rumusan Masalah
Snort merupakan perangkat lunak yang bekerja pada low-middle layer dan
dapat dimodifikasi, untuk itu sangat diperlukan suatu mekanisme tambahan yang
dapat meningkatkan hasil deteksi pada application layer terkhusus pada protokol
HTTP :
1. Bagaimana mengkombinasikan HTTP Inspect Preprocessor dan rule
based Core Rule Set menjadi suatu sistem deteksi HTTP.
2. Bagaimana mencegah HTTP Attack seperti Cross Site Scripting, Injection
Flaw, Insecure Direct Object Reference, Cross Site Request Forgery, SQL
Injection.
V. Batasan Masalah
Selain perumusan masalah diatas, juga terdapat batasan masalah pada
tugas akhir ini, antara lain :
1. Preprosesor yang digunakan adalah HTTP Inspect Preprocessor.
2. Rule Based yang digunakan adalah Core Rule Set.
3. Parameter serangan yang dilakukan adalah Cross Site Scripting dan SQL
Injection.
4. Teknik Pengujian dilakukan secara realtime.
4
VI. Metodologi Penelitian
Metodologi yang digunakan dalam penelitian akan melewati beberapa
tahapan, yaitu :
Mulai
Studi Pustaka
Perancangan Sistem
Perancangan
Pengujian
Sistem
Analisa
Kesimpulan dan
Gambar 1. Metodologi Penelitian
1. Tahap Pertama (Studi Pustaka)
Tahap ini dilakukan dengan cara mengkaji dan mempelajari literature dan
referensi berupa naskah ilmiah, buku dan mailing list sehingga dapat menunjang
metodologi dan pendekatan yang akan diterapkan pada penelitian.
2. Tahap Kedua (Perancangan Sistem)
Tahap ini merupakan tahap dimana menentukan perangkat keras maupun
perangkat lunak yang suitable untuk merancang dan membuat sistem deteksi
serangan HTTP dan kemudian menentukan topologi yang sesuai. Setelah itu
langkah selanjutnya melakukan pengembangan Sistem Deteksi serangan HTTP
yang telah dirumuskan sebelumnya.
3. Tahap Ketiga (Pengujian)
Setelah semua sistem selesai dibuat kemudian melakukan pengujian sesuai
dengan batasan masalah dengan parameter-parameter serangan yang telah
5
ditentukan.
4. Tahap Keempat (Analisa)
Hasil dari pengujian pada tahap sebelumnya, selanjutnya akan dianalisa,
dengan tujuan mengetahui kekurangan pada hasil perancangan dan faktor
penyebabnya sehingga dapat dilakukan pengembangan pada penelitian
selanjutnya.
5. Tahap Kelima ( Kesimpulan dan Saran)
Pada tahap ini akan dilakukan penarikan kesimpulan berdasarkan studi
pustaka, hasil perancangan sistem dan hasil analisa sistem, dan kemudian
dihadirkan pula beberapa poin saran dari penulis untuk penelitian selanjutnya.
VII. Tinjauan Pustaka
Sistem Deteksi HTTP
IDS WAF
NID HID DID
S S S
Misuse
Anomaly
Snort Modsecurity
Hybrid
Http Inspect Preprocessor Core Rule Set
Gambar 2. Hirarki Sistem Deteksi HTTP
6
7.1 Intrusion Detection System
Intrusion Detection System adalah semua perangkat keras, perangkat lunak
ataupun kombinasi dari keduanya yang berfungsi memonitor suatu sistem atau
jaringan dari aktivitas yang sifatnya malicious, dan juga upaya atau ancaman
yang berpotensi untuk mendapatkan, memanipulasi bahkan membuat sistem
menjadi terganggu.
7.1.1 Jenis Intrusion Detection System
IDS diklasifikasikan kedalam 2 kategori, terkait dimana sistem deteksi
tersebut diimplementasikan [1],[7].
[Link] Host Based Intrusion Detection System
Host Based IDS (HIDS) melakukan monitoring terhadap serangan yang
dilakukan pada sisi Sistem Operasi, Aplikasi, atau kernel. HIDS memiliki akses
pada audit logs, error messages dan segala resource yang tersedia pada host.
Sebagai tambahan HIDS dapat mengenal tingkah laku dari aplikasi, HIDS dapat
tahu seperti apa aplikasi normal berjalan dan sebaliknya.
[Link] Network Intrusion Detection System
Network Base IDS (NIDS) diletakkan pada area inti dari infrastruktur
jaringan yang dibuat dan memonitor trafik pada jaringan menuju host. Tugasnya
yakni melakukan monitoring dan menganalisis trafik pada segmen jaringan untuk
mendeteksi upaya penyusupan/serangan. IDS seperti ini dapat dibuat menjadi
beberapa sensor, dimana setiap sensornya bertanggung jawab untuk memantau
trafffic yang melalui segemen tersebut.
[Link] Network Node Intrusion Detection System
Network Node IDS atau juga biasa disebut sebagai Distributed Network
Intrusion Detection System merupakan jenis IDS yang mekanisme deteksinya
sama dengan NIDS. Perbedaanya ialah DIDS dipakai dan tersebar pada titik-titik
7
tertentu yang terdistribusi dimana terdapat banyak node yang digunakan sebagai
sensor. IDS jenis ini sangat suitable pada jaringan yang berskala besar.
7.1.2 Mekanisme deteksi IDS
Terkait metode atau mekanisme deteksi IDS dalam mendeteksi serangan
seperti Misuse Detection, Anomaly Detection dan Hybrid
[Link] Misuse Detection
Misuse Detection atau lebih dikenal sebagai Signature-based atau
Knowledge-based merupakan mekanisme deteksi yang mengikuti prinsip
kebanyakan software anti-virus dan bergantung kepada pengetahuan akumulasi
terhadap serangan sebelumnya dan celah terhadap deteksi intrusi. Misuse
Detection membandingkan aktivitas dari host atau jaringan dengan signature dari
serangan yang diketahui. Jika aktivitas serangan yang dilakukan cocok dengan
signature maka akan memicu alarm. Keuntungan dari mekanisme ini yakni dapat
mendeteksi known attack, low false alarm dan efisien dalam penggunaan
resource.
[Link] Anomaly Detection
Anomaly Detection atau lebih dikenal sebagai behavior based system
merupakan sistem deteksi yang bergantung pada fakta bahwa serangan atau
penyusupuan yang mengarah ke sistem dapat dideteksi dengan mengobservasi
kelainan atau penyimpangan dari tingkah laku yang diharapkan dari sistem yang
dimonitor. Perilaku “normal” ini juga mengacu ke beberapa hasil observasi yang
pernah ada sebelumnya. Semua yang tidak sesuai dengan pola “normal” akan
ditandai sebagai suatu keganjilan (anomalous). Bagaimanapun pada mekanisme
ini proses inti dari deteksi anomali adalah tidak untuk mempelajari anomalous
akan tetapi untuk mempelajari keaadaan normal yang diharapkan.
8
[Link] Hybrid Intrusion Detection
Intrusion Detection jenis ini menggunakan kombinasi kedua mekanisme
seperti Misuse Detection dan Anomaly Detection.
7.1.3 Arsitektur Snort
Snort merupakan lightweight Network Intrusion Detection System
merupakan perangkat lunak berbasis open source yang banyak digunakan pada
Open Platform dan juga basis perangkat lunak yang terus-menerus dikembangkan
membuat NIDS ini menjadi pilihan. Snort dibangun didadasarkan pada
mekanisme deteksi yang menggunakan Signature Based Detection, yang artinya
Snort tersusun atas rules yang disimpan pada signature database, berikut
merupakan data flow dan arsitektur dari Snort [7] [9].
Gambar 3. Arsitektur Snort [7]
1. Packet Decoder
Snort menggunakan PCAP library untuk menangkap paket yang melalui
Segmen jaringan (LAN), packet decoder tersusun atas capture time, packet length
dan link type.
2. Preprocessor
Seteleh paket ditangkap, kemudian Snort akan mentransferkan paket
9
tersebut ke Preprocessor agar paket di repacking dan dinormalisasi sesuai dengan
format dari tiap protokol. Preprocessor juga bertugas untuk menganalisis statistik
dari lalu lintas data pada network.
3. Detection Engine
Detection Engine merupakan bagian inti pada suatua IDS. Detection
Engine yang berbasiskan Signature based biasanya menggunakan basis data yang
terdiri atas signature yang memiliki pattern . Jika paket yang masuk memilki
kesamaan pola, maka Detection Engine akan memberikan alert dan tugas
selanjutnya akan diteruskan kepada audit logs.
4. Audit Logs dan Output Plugins
Pada saat sistem diserang maka log tersebut akan di bypass pada audit
logs, peringatan tersebut akan berada pada log yang akan di informasikan kepada
end-point dalam hal ini adalah administrator. Audit logs ini secara default telah
ditentukan oleh Snort dimana path yang digunakan, namun pengguna dapat
menjadikan keluaran tersebut sebagai output modules seperti menggunakan
SNMP Trap, XML Login, ACID-Base, SMB Alerting dan berbagai macam output
modul yang didukung oleh Snort.
7.2 Web Application Firewall
WAF didefinisikan sebagai solusi keamanan pada level web application,
yang dari sudut pandang teknis tidak bergantung pada aplikasi itu sendiri. Web
Application Firewall digunakan sebagai perangkat keras (hardware) atau pun
software-plugins yang ditujukan untuk Web Server sebagai add-ons untuk
komponen infrastruktur yang ada, seperti digunakan sebagai load balancer atau
pun sebagai firewall [10].
7.2.1 Modsecurity
Modsecurity merupakan perangkat lunak yang dapat digunakan untuk
10
mengamankan web application.
Modsecurity merupakan perangkat lunak open source yang dikhususkan
sebagai Web Application Firewall, modsecurity mengadopsi teknologi rule-based
detection yang dapat memantau trafik pada protokol HTTP. Modsecurity juga
dikenal sebagai HTTP intrusion detection tool, perangkat ini bergantung pada web
server, karena digunakan sebagai plugin dari web server. Terdapat 3 prinsip dasar
yang ada pada modsecurity yakni [11] :
1. Flexibility
Modsecurity bersifat fleksibel karena memiliki arsitektur yang dirancang
dengan baik, rule language yang powerful, yang memungkinkan pengguna untuk
melakukan apa yang dibutuhkan, dan menerapkan rule tersebut dimana
diperlukan.
2. Passiveness
Modsecurity akan berhati-hati untuk tidak pernah berinteraksi pada
tingkat layanan yang sifatnya restricted, karena sifatnya yang pasif pengguna
dapat menentukan keputusan apa yang harus diambil.
3. Predictability
Karena tidak adanya perangkat yang sifatnya sempurna, namun yang
memiliki sifat predictable merupakan salah satu hal terbaik yang dimiliki
modsecurity.
Selain hal tersebut modsecurity juga memilki beberapa fitur seperti
Separate Rule dan Audit Engines yang memungkinkan adanya kapabiitas penuh
terhadap request/response HTTP logging. Selain itu terdapat Event Based Rules
Language yang berfungsi sebagai normalisasi. Sedangkan untuk kapabilitas
tingkat lanjut modsecurity juga dapat melakukan Transactional and Persistent
Collections, Content Injection dan memiliki LUA API (Application Program
11
Interfaces).
7.3 HTTP Inspect Preprocessor dan Core Rule Set
7.3.1 HTTP Inspect Preprocessor
HTTP Inspect Preprocessor merupakan generic HTTP decoder. HTTP
Inspect akan men-decode buffer, menemukan field HTTP, dan melakukan
normalisasi pada field yang datang dari packet decoder. HTTP Inspect bekerja
baik di sisi client request dan juga server response.
Preprocessor ini kaya akan user configuration. Pengguna dapat
mengkonfigurasi server HTTP secara individual dengan berbagai pilihan, yang
seharusnya memungkinkan pengguna untuk melakukan emulasi pada setiap tipe
web server. Preprocessor ini memiliki 2 area konfigurasi yaitu, Global dan
Server.
7.3.2 Core Rule Set
Core Rule Set atau CRS merupakan suatu set generic rules dari Web
Application Firewall pada level layer aplikasi. Yang memiliki beberapa mode
operation seperti standard mode dan anomaly scoring mode. Selain mode operasi
yang beragam kategori deteksi juga dimiliki oleh CRS seperti Protocol
Validation, Malicious Client Identification, Generic Attack Signature, Known
Vulnerabilities Signature, Trojan/Backdoor Access, Outbound Data Leakage.
Pada layer aplikasi mekanisme deteksi yang dimiliki CRS antara lain SQL
Injection, XSS, OS Command Injection, RFI (Remote File Inclusion).
7.4 HTTP Attack Detection Engine berbasis HTTP Inspect Preprocessor dan
Core Rule Set.
Signature database yang berasal dari Snort terdiri atas protokol dan
keyword. Dan menggunakan PCRE library untuk digunakan sebagai regular
expression untuk pencocokan pola. Diagram berikut menunjukkan pola
pengembangan dalam membangun sistem deteksi berbasis http yang melibatkan
HTTP Inspect Preprocessor dan Core Rule Set.
12
Gambar 4. Diagram Implementasi [7]
1. Normalization
Log pada web server digunakan sebagai data masukan, kemudian
digunakan untuk dianalisa, karena proses ini tidak dapat dianalisa langsung oleh
Snort maka digunakan offline mode untuk menganalisa koleksi log yang terdapat
pada web server.
2. URL Decode
Sebelum browser mengirimkan HTTP request, dilakukan encode terlebih
dahulu atau penyandian terhadap beberapa kata atau simbol. Yang selanjutnya
dilakukan decode sebelum data tersebut dianalisis. Sementara itu, intruders atau
hacker biasanya menggunakan metode multi-type encoding untuk melakukan
encoding pada malicious code agar dapat melewati atau menghindari IDS.
3. Examining White List
Setiap web server memiliki pola HTTP request yang unik dan khusus dan
perbedaan search engine yang digunakan seperti Google, Bing, Yahoo ataupun
13
Baidu dapat ditambahkan sebagai white list.
4. Examining Black List
Mengumpulkan daftar website yang tergolong malicious kedalam black
list. Pada website yang termasuk black list setiap file yang terdapat pada web
tersebut dapat mengandung shell code dengan esktensi tertentu karena tidak dapat
dengan mudah dianalisis hanya melalui HTTP request. Dibutuhkan analisis lebih
jauh. Jika HTTP request mengandung website yang tergolong dalam black list
maka akan digolongkan sebagai http atau web attack.
5. Examining HTTP Request
Fungsi utama dari penelitian ini yakni mengimplementasikan kemampuan
untuk mengenali serangan dari HTTP Request terhadap beberapa parameter
serangan seperti SQL Injection, Cross Site Scripting (XSS).
14
VIII. Jadwal Penelitian
November Desember Januari Februari
Uraian 2014 2014 2015 2015
No
Tugas 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4
Proposal
Studi Literatur/
Analisis
Permasalahan
Alternatif-
alternatif
permasalahan
yang ditemui
Analisa
pemecahan
permasalahan
Metodelogi
pemecahan
permasalahan
Penelitian
Analisa &
Perancangan
pemecahan
masalah
Bab I
Bab II
Bab III
Bab IV
Tabel 1. Jadwal Penelitian
15
. Daftar Pustaka
[1] K. Dist, “Intrusion Detection System Methodologies Based on Data Analysis,”
vol. 5, no. 2, pp. 10–20, 2010.
[2] J. Koziol, Intrusion Detection with Snort. IndianaPolis, 2003.
[3] R. Bejtlich, A. Reviewer, S. Northcutt, and C. Hill, About the First Edition of
Snort Intrusion Detection. Rockland.
[4] D. Das, U. Sharma, and D. K. Bhattacharyya, “A Web Intrusion Detection
Mechanism based on Feature based Data Clustering,” no. March, pp. 6–7,
2009.
[5] R. F. Munir, N. Ahmed, A. Razzaq, A. Hur, and F. Ahmad, “Detect HTTP
Specification Attacks Using Ontology,” 2011 Front. Inf. Technol., pp. 75–
78, Dec. 2011.
[6] A. J. De Vera, “Building Secure Websites With Web Application Firewalls.”
[7] C. Yang and C. Shen, “Implement web attack detection engine with snort by
using modsecurity core rules,” p. 6, 2009.
[8] M. Roesch and C. Green, “Users Manual 2.9.6,” 2014.
[9] M. Roesch and S. Telecommunications, “Snort Lightweight Intrusion
Detection for Networks,” 1999.
[10] M. Dermann, M. Dziadzka, B. Hemkemeier, A. Hoffmann, A. Meisel, M.
Rohr, and T. Schreiber, “Best Practices: Use of Web Application
Firewalls,” 2008.
[11] R. Ivan, “Modsecurity Handbook - The Complete Guide to Securing Your
Web Application,” 2010.
16