i
Lembar Pernyataan
Dengan ini saya menyatakan bahwa Tugas Akhir dengan judul “Deteksi Anomali Pada Sistem Deteksi Intrusi Menggunakan Metode Hidden Markov” beserta seluruh isinya adalah benar-benar karya saya sendiri dan saya tidak melakukan penjiplakan atau pengutipan dengan cara-cara yang tidak sesuai dengan etika keilmuan yang berlaku dalam masyarakat keilmuan. Atas pernyataan ini, saya siap menanggung resiko atau sanksi yang dijatuhkan kepada saya apabila kemudian ditemukan adanya pelanggaran terhadap etika keilmuan dalam karya saya ini, atau ada klaim dari pihak lain terhadap keaslian karya saya ini.
Bandung, 29 Mei 2012 Yang membuat pernyataan,
(Aswindha Sekarrini)
ii
Lembar Pengesahan
Deteksi Anomali Pada Sistem Deteksi Intrusi Menggunakan Model Hidden Markov
(Anomaly Detection in Intrusion Detection System Using Hidden Markov Model)
Aswindha Sekarrini 113081123
Tugas Akhir ini telah diterima dan disahkan untuk memenuhi sebagian dari syarat untuk memperoleh gelar Sarjana Teknik Fakultas Informatika
Institut Teknologi Telkom
Bandung, Mei 2012
Menyetujui, Pembimbing I
Dr. Adiwijaya NIP: 00740196-1
Pembimbing II
Jondri, Msi.
NIP: 95700126-1
iii
Abstrak
Intrusion detection system (IDS) merupakan aplikasi perangkat lunak yang dapat mendeteksi serangan atau ganguan dalam sebuah sistem atau jaringan. Salah satu jenis IDS adalah Anomaly Detection dimana suatu data trafik jaringan akan dikatakan intrusi apabila mempunyai karakteristik yang berbeda dari kebanyakan data lainnya.
Pada Anomaly Detection terdapat sebuah pendekatan yaitu Hidden Markov Model (HMM). HMM adalah sebuah model yang dibangun oleh Markov dimana metode tersebut memiliki parameter berupa matriks – matriks λ (A, B, π) yang dari model tersebut dapat dihitung P(O|λ) dari masing – masing kelas sehingga dapat ditentukan kelas dari sebuah data trafik jaringan. Kelas ditentukan berdasarkan nilai P(O|λ) yang terbesar.
Pengujian dilakukan dengan beberapa skenario untuk mengetahui akurasi sistem dilihat dari nilai detection rate dan false positive rate. HMM dapat mendeteksi intrusi dengan tingkat akurasi yang cukup baik dilihat dari nilai detection rate sebesar 74(%). Untuk nilai false positive rate HMM menunjukkan akurasi yang tidak terlalu buruk yaitu sebesar 2,75(%).
Kata kunci: Intrusion Detection System, Anomaly Detection, Intrusi, Hidden Markov Model
iv
Abstract
Intrusion detection system (IDS) is a system that can detect any intrusion or attack on a network or systems. One type of IDS is Anomaly detection, which categorize a network traffic data as an intrusion only if they have a different characteristic from other data.
In anomaly detection, there is an aproach which is called as Hidden Markov Model (HMM). HMM is a model built by markov which has parameters as a matriks λ (A, B, π). P(O|λ) can be calculated from that parameters and each class so that we can specify the class of the network traffic data. Class is determined based on the max value of P(O|λ).
Testing was carried out with several scenarios to determine the accuracy of the system seen from the detection rate and false positive rate. HMM can detect intrusions with fairly good accuracy based on detection rate 74(%). From false alarm value, HMM accuracy is not toobad 2,75(%).
Keywords: Intrusion Detection System, Anomaly Detection, Intrusi, Hidden Markov Model
v
Lembar Persembahan
Pada kesempatan ini, penulis ingin mengucapkan banyak terima kasih kepada orang-orang yang berjasa sehingga penulis mampu menyelesaikan tugas akhir ini yaitu:.
1. Allah SWT, yang telah memberikan kemudahan dan kelancaran dalam pengerjaan Tugas Akhir ini. Alhamdulillah, tak henti-hentinya puji dan syukur hamba panjatkan
2. Bapak dan Ibu, atas doa, kasih sayang, support yang selalu kalian berikan sehingga penulis bisa tetap semangat mengerjakan Tugas Akhir ini.
3. Pak Adiwijaya sebagai Pembimbing 1 dan sekaligus penolong bagi saya.
Terimakasih atas semua nasihatnya. “Yakinlah semua ini sudah diatur olehNya”
4. Pak Jondri sebagai pembimbing 2 yang sangat baik dan sabar menjawab semua kebingungan saya.
5. Adek Askaviolita, walaupun kita jarang ketemu, jangan lupa nyusul skripsi cepet yaa
6. Teman-teman Rumah Cantik, Ka Fella, Ajeng, Aya, Tiara, Nopi, Irut, makasih atas semua kecerian tiap harinya, kita harus keluar dari rumah dan jadi orang sukses
7. Arifin Nur Rahmawanto, atas segala doa, semangat, dukungan, perhatian, pengorbanan, dan segala canda tawa. Semoga kita bakal sukses kedepannya.
8. Bu Dias, dan Bu Wido yang pernah menjadi dosen wali saya selama di kampus ini, terima kasih untuk semua bimbingan, wejangan, dan motivasi yang diberikan.
9. Semua dosen-dosen yang pernah mengajar saya ataupun tidak, semua ilmu dan bimbingan yang kalian berikan adalah investasi terbesar saya selama disini.
10. Semua teman-teman kelas IF-32-05, walaupun pas akhir-akhir sudah jarang ketemu, tapi kalian selalu menjadi motivasi dan penghibur yang besar untuk saya walaupun nanti kita sudah pisah, harus terus keep contact ya.
11. Teman-teman satu kepanitiaan yang pernah diikuti dari pertama masuk sampai sekarang, Liga IF 2009, Olimpiade 2010, Olimpiade 2011, dan IAA 2010.
Terima kasih atas semua pelajaran dan pengalaman berharga. Sukses untuk kalian semua
12. Sahabat-sahabatku tercinta di IT Telkom, Rini, Nia, Putri, dll. Masa-masa sulit, senang, sedih, kecewa kita lalui bersama. Terima kasih untuk semua doa, dukungan, dan semangat yang kalian berikan
13. Dan semua yang selalu membantu dan memberikan doa dukungannya kepada saya yang tidak bisa disebutkan satu persatu, terima kasih banyak. Semoga kebaikan dan bantuan mendapatkan balasan yang terbaik dari Allah SWT.
vi
Kata Pengantar
Bismillahirrohmanirrohim.
Puji dan syukur senantiasa kepada Allah SWT yang telah memberikan nikmat sehingga penulis dapat menyelesaikan tugas akhir ini. Segala hambatan dan kesulitan yang dihadapi selama proses penyusunan, Alhamdulillah dapat teratasi berkat izin dan pertolongan Allah SWT, doa dan dukungan pembimbing, keluarga, dan teman-teman penulis, tak terkecuali perjuangan penulis sendiri.
Tugas akhir ini dibuat sebagai salah satu syarat kelulusan program Sarjana Fakultas Teknik Informatika Institut Teknologi Telkom. Namun penulis berharap bahwa ini bukanlah karya terakhir yang dihasilkan. Ini merupakan langkah awal penulis dalam menghasilkan karya-karya lain yang lebih bermanfaat ke depannya.
Tak bisa dipungkiri bahwa selama penyusunan tugas akhir ini penulis menyadari masih banyak ketidaksempurnaan. Namun penulis selalu berusaha memberikan yang terbaik pada tugas akhir ini, semoga ikhtiar inilah yang dinilai oleh-Nya sebagai ibadah, bukan hasilnya.
Terakhir, penulis berharap bahwa tugas akhir ini bermanfaat untuk siapa saja yang membacanya. Kritik dan saran membangun akan diterima dengan senang hati untuk menuju sebuah perbaikan.
Bandung, 29 Mei 2012 Penulis
vii
DAFTAR ISI
Lembar Pernyataan ... i
Lembar Pengesahan ... ii
Abstrak ... iii
Abstract ... iv
Lembar Persembahan ... v
Kata Pengantar ... vi
DAFTAR GAMBAR ... ix
DAFTAR TABEL ... x
1. PENDAHULUAN ... 1
1.1 Latar Belakang ... 1
1.2 Perumusan Masalah ... 2
1.3 Batasan Masalah ... 2
1.4 Tujuan ... 2
1.5 Metodologi penyelesaian masalah ... 3
2. DASAR TEORI ... 4
2.1 Data Mining ... 4
2.1.1 Knowledge Discovery in Database ... 4
2.1.2 Fungsionalitas Data Mining ... 5
2.2 Intrusion Detection System (IDS) ... 6
2.2.1 Jenis – Jenis pada IDS ... 6
2.2.2 Detection Model ... 7
2.3 Hidden Markov Model ... 8
2.3.1 Sejarah dan Definisi Hidden Markov ... 8
2.3.2 Parameter pada HMM ... 8
2.3.3 Permasalahan pada HMM ... 9
2.4 Intrusion Detection Dengan Data Mining ... 13
2.5 Evaluasi Sistem ... 14
3. ANALISA DAN PERANCANGAN SISTEM ... 15
3.1 Gambaran Sistem Secara Umum ... 15
3.2 Deskripsi Tahapan Proses ... 15
viii
3.3 Analisis Sistem ... 16
3.3.1 Analisis Kebutuhan Fungsionalitas ... 16
3.3.2 Analisis Data ... 16
3.3.3 Analisis Output ... 20
3.4 Perancangan Sistem ... 20
3.4.1 Deskripsi Sistem ... 20
3.4.2 Diagram Aliran Data ... 21
3.4.3 Kamus Data ... 24
3.4.4 Spesifikasi Proses ... 26
4. IMPLEMENTASI DAN PENGUJIAN ... 30
4.1 Implementasi Sistem ... 30
4.2 Pengujian sistem ... 30
4.3 Hasil Pengujian ... 31
a. Skenario 1: Pengaruh Banyaknya Jumlah Baris Normal dan Intrusi Pada Data Pelatihan Terhadap Performansi Sistem ... 31
b. Skenario 2: Pengujian Pengaruh Jumlah Baris Data Pelatihan Terhadap Performansi Sistem ... 32
c. Skenario 3: Pengujian Pengaruh Jumlah Atribut Data Pelatihan Terhadap Performansi Sistem ... 33
d. Skenario 4: pengaruh jumlah simbol data pelatihan terhadap performansi sistem ... 34
4.4 Perbandingan dengan Penelitian Sebelumnya ... 35
5. KESIMPULAN DAN SARAN ... 37
5.1 Kesimpulan ... 37
5.2 Saran ... 37
REFERENSI ... 38
ix
DAFTAR GAMBAR
Gambar 2.1: Tahapan Knowledge Data Discovery... 4
Gambar 2-2: Induksi Prosedur Forward ... 9
Gambar 2-3: Induksi Prosedur Backward ... 10
Gambar 2-4: Ilustrasi Prosedur Forward-Backward ... 11
Gambar 3.1: Diagram Tahapan Proses... 16
Gambar 3-2: Prinsip Proses Kerja Sistem ... 20
Gambar 3-3: Diagram Konteks ... 22
Gambar 4-1: Grafik Hasil Skenario 1 ... 31
Gambar 4-2: Grafik Hasil Skenario 2 ... 33
Gambar 4-3: Grafik Hasil Skenario 3 ... 34
Gambar 4-4: Grafik Hasil Skenario 4 ... 35
x
DAFTAR TABEL
Tabel 2-1: Standar Matrik Evaluasi Hasil Deteksi Sistem ... 14
Tabel 3-1: Data Jenis Intrusi [12]... 15
Tabel 3-2: Atribut pada KDD Cup 99 Dataset ... 17
Tabel 3-3: Atribut yang Digunakan ... 18
Tabel 3-4: Penyimbolan Atribut Simbolik ... 18
Tabel 3-5: Simbol Diagram Aliran Data ... 21
Tabel 3-6: Kamus Data ... 25
Tabel 3-7: Spesifikasi Proses ... 26
Tabel 4-1: Hasil Skenario 1... 31
Tabel 4-2: Hasil Skenario 2... 32
Tabel 4-3: Hasil Skenario 3... 33
Tabel 4-4: Hasil Skenario 4... 34
Tabel 4-5: Perbandingan Hasil Penelitian terhadap Anomaly Detection pada IDS ... 35
1
1. PENDAHULUAN
1.1 Latar Belakang
Seiring perkembangan teknologi perangkat lunak dan perangkat keras dewasa ini, maka teknologi jaringan komputer pun berkembang dengan pesat. Hal ini ditunjukkan dengan bertambah banyaknya penggunaan jaringan komputer diperkantoran dan maraknya penggunaan internet. Namun demikian seiring perkembangan tersebut, semakin banyak pula penyalahgunaan yang dapat mengganggu dan merusak suatu jaringan komputer baik melalui internet, maupun melalui celah keamanan jaringan lainnya.
Usaha untuk mengganggu atau menyerang sebuah sistem komputer dinamakan intrusi. Karena itu diperlukan adanya suatu pendeteksi untuk mencegah dan menangani intrusi tersebut. Intrusion Detection System (IDS) adalah aplikasi perangkat lunak atau perangkat keras yang dapat mendeteksi serangan atau ganguan dalam sebuah sistem atau jaringan tersebut [7]. Data yang digunakan dalam pendeteksian intrusi ini dapat berasal dari berbagai sumber, network-based atau host- based [22]. Dalam Tugas Akhir ini, data yang digunakan adalah data network connection record yang bersifat offline, yaitu data KDD cup 1999.
Setelah mendapat data, langkah selanjutnya yang dilakukan dalam IDS adalah menganalisis data tersebut. Ada beberapa pendekatan dalam menganalisis data untuk mengenali intrusi, diantaranya adalah misuse detection dan anomaly detection. Misuse detection adalah pengenalan suatu intrusi dengan melakukan analisis terhadap aktifitas sistem, mencari event atau set event yang cocok dengan pola perilaku yang telah dikenali sebagai serangan sebelumnya [2]. Sedangkan Anomaly Detection adalah metode pendeteksian intrusi yang dapat mendeteksi serangan berdasarkan statistik probabilitas. Dalam tugas akhir ini, digunakan metode Anomaly Detection. Metode ini memungkinkan untuk generalisasi dan dapat menemukan objek yang berbeda dari kebanyakan objek yang ada sehingga diharapkan dapat membantu dalam pendeteksian instrusi baru [4,5,6].
Dalam Anomaly Detection, banyak sekali metode pendekatan yang dapat digunakan untuk memecahkan masalah. Pendekatan itu antara lain, Distance Based Approach, Density Based Approach, dan Statistics Based Approach. Pendekatan yang digunakan dalam Tugas Akhir ini adalah Statistics Based Approach. Pendekatan ini menggunakan pendekatan statistikal, membangun sebuah model distribusi probabilitas dan mempertimbangkan sedekat apa objek –objek yang ada terhadap model tersebut [12]. Metode yang menggunakan pendekatan ini antara lain:
smartshifter algorithm, probably distribution, dan information-theoritic measures.
2 Dalam Tugas Akhir ini pendekatan yang digunakan adalah Statistics Based Approach dengan Hidden Markov Models. Hidden Markov Models adalah sebuah model statistik dari sebuah sistem yang dimodelkan dalam sebuah matriks peluang, dimana masing- masing matriks berisi probabilitas yang mungkin dalam setiap kelas.
Probabilitas tersebut diambil dari beberapa parameter, parameter yang diketahui dan parameter yang tidak diketahui [7,8,9]. Parameter yang tidak diketahui nantinya dapat dicari dengan memanfaatkan parameter yang sudah diketahui.
1.2 Perumusan Masalah
Dengan mengacu pada latar belakang masalah, maka permasalahan yang akan dibahas dan diteliti adalah :
a. Bagaimana mengimplementasikan Hidden Markov Model untuk Anomaly Detection?
b. Bagaimana mengevaluasi performansi dari Hidden Markov Model untuk mendeteksi terjadinya anomali dengan kasus data intrusi?
1.3 Batasan Masalah
Batasan masalah yang digunakan dalam penelitian ini antara lain:
a. Pendekatan yang digunakan adalah pendekatan analisis deteksi anomali, dengan menggunakan Hidden Markov Model untuk menganalisa.
b. Data yang digunakan adalah network connection record.
c. Menggunakan data offline, yaitu data yang digunakan pada KDD Cup tahun 1999 sebanyak 10%.
d. Menggunakan Microsoft Excel untuk preposesing data.
e. Tidak dapat digunakan untuk mendeteksi intrusi yang dilakukan oleh pihak yang mempunyai akses dalam sistem komputer tersebut, dan intrusi yang dilakukan dengan menyerupai data normal.
f. Data set yang digunakan untuk dianalisis tidak boleh didominasi oleh intrusi.
g. Atribut yang digunakan adalah atribut yang bernilai diskrit dan simbolik.
1.4 Tujuan
Berdasarkan rumusan masalah di atas, maka tujuan dari tugas akhir ini adalah:
a. Menganalisis dan mengimplementasikan Hidden Markov Model untuk mendeteksi anomali yang terjadi dalam suatu jaringan.
b. Menganalisis performansi deteksi anomali dengan Hidden Markov Model berdasarkan pada nilai True Positive Rate dan False Positive Ratenya.
3 1.5 Metodologi penyelesaian masalah
Metodologi yang digunakan dalam pemecahan masalah yang ada pada tugas akhir ini dibagi menjadi 6 tahap:
a. Studi Literatur
a) Pencarian referensi, dan sumber-sumber lain yang berhubungan dengan data mining, hidden markov model, network connection record, intrusion, jaringan komputer dan pengukuran evaluasi pada IDS.
b) Pendalaman materi, mempelajari dan memahami materi yang berhubungan dengan tugas akhir.
b. Analisis Perancangan dan Pemodelan Sistem
Perancangan akan dimulai dengan membangun skema / flowchart tentang alur sistem keseluruhan yang akan dibangun. Dilanjutkan dengan mencari kebutuhan-kebutuhan yang diperlukan oleh perangkat lunak dan sistem.
Kemudian, mempersiapkan data yang akan diolah termasuk data prepocessing didalamnya.
c. Implementasi Sistem.
Melakukan implementasi perangkat lunak mengunakan Matlab R2009a.
d. Pengujian Sistem dan Analisis.
Melakukan analisis performansi dari hasil pengujian perangkat lunak yang telah diciptakan dengan melihat nilai True Positive Rate dan False Positive Rate.
e. Perumusan Kesimpulan dan Penyusunan Tugas Akhir.
4
2. DASAR TEORI
2.1 Data Mining
Data Mining adalah pengolahan informasi – informasi yang penting untuk menemukan pengetahauan yang berguna dari sebuah data yang besar [4]. Informasi – informasi berupa implisit, yaitu informasi yang pada awalnya tidak diketahui bahwa informasi tersebut berguna. Data mining menspesifikkan pola-pola pada data sehingga lebih bermanfaat penggunaannya. Data mining merupakan gabungan dari beberapa disiplin ilmu, terutama statistika, kecerdasan buatan, dan basis data.
2.1.1 Knowledge Discovery in Database
Data mining seringkali disebut sebagai inti dari proses knowledge discovery in database (KDD) yang merupakan keseluruhan proses konversi data mentah menjadi pengetahuan yang bermanfaat yang terdiri dari serangakian tahap transformasi meliputi data preprocesing dan postprocessing [7].
Selection Prepocessing
Transformation
Interpretation / Data Mining Evaluation
Gambar 2.1: Tahapan Knowledge Data Discovery
Berdasarkan gambar diatas proses KDD secara garis besar dapat dijelaskan sebagai berikut [7]:
a. Data Selection
Pada proses data selection ini, hal yang dilakukan adalah menciptakan himpunan data target , pemilihan himpunan data, atau memfokuskan pada subset variable atau sampel data, dimana penemuan (discovery) akan dilakukan.
Pemilihan (seleksi) data dari sekumpulan data operasional perlu dilakukan sebelum tahap penggalian informasi dalam KDD dimulai. Data hasil seleksi yang akan digunakan untuk proses data mining, disimpan dalam suatu berkas, terpisah dari basis data operasional.
Data
Target DataData
Prepocessed Data
Knowledge Patterns Transformed
Data
5 b. Prepocessing
Pada tahap ini dilakukan pembersihan data yang merupakan operasi dasar seperti penghapusan noise atau sering disebut dengan proses cleaning. Proses cleaning mencakup antara lain membuang duplikasi data, memeriksa data yang inkonsisten, dan memperbaiki kesalahan pada data, seperti kesalahan cetak (tipografi).
Pada tahap ini dilakukan juga proses enrichment, yaitu proses “memperkaya”
data yang sudah ada dengan data atau informasi lain yang relevan dan diperlukan untuk KDD, seperti data atau informasi eksternal.
c. Transformation
Merupakan pencarian fitur-fitur yang berguna untuk mempresentasikan data agar sesuai digunakan untuk proses data mining. Proses ini merupakan proses kreatif dan sangat tergantung pada jenis atau pola informasi yang akan dicari dalam basis data.
d. Data Mining
Pada tahap ini dilakukan pemilihan goal dari proses KDD misalnya klasifikasi, regresi, clustering, dll dan pemilihan algoritma data mining untuk pencarian (searching). Teknik, metode, atau algoritma dalam data mining sangat bervariasi. Pemilihan metode atau algoritma yang tepat sangat bergantung pada tujuan dan proses KDD secara keseluruhan.
e. Interpretation / Evaluation
Merupakan penerjemahan pola-pola yang dihasilkan dari data mining. Pola informasi yang dihasilkan dari proses data mining perlu ditampilkan dalam bentuk yang mudah dimengerti oleh pihak yang berkepentingan.
Tahap ini merupakan bagian dari proses KDD yang mencakup pemeriksaan apakah pola atau informasi yang ditemukan bertentangan dengan fakta atau hipotesa yang ada sebelumnya.
2.1.2 Fungsionalitas Data Mining
Fungsionalitas data mining berguna untuk menspesifikasikan jenis pola – pola yang akan ditemukan dalam data mining task [7]. Adapun fungsionalitas yang ada pada data mining adalah sebagai berikut:
a. Deskripsi Konsep / Kelas: Karakterisasi dan Diskriminasi
Karakterisasi data adalah sebuah ringkasan karakteristik umum atau feature dari target kelas data. Sedangkan diskriminasi data merupakan perbandingan feature umum dari target kelas object data dengan objek dari satu atau sekumpulas kelas pembanding.
b. Analisis Asosiasi
Analisis asosiasi adalah penentuan kaidah asosiasi (association rule) yang menunjukkan kondisi nilai atribut yang sering terjadi secara bersamaan dalam sekumpulan data. Analisis asosiasi ini sering digunakan untuk analisis data transaksi dan market basket.
6 c. Klasifikasi dan Prediksi
Klasifikasi adalah proses pencarian sekumpulan model atau fungsi yang menggambarkan dan membedakan kelas data dengan tujuan agar model tersebut dapat digunakan untuk memprediksi kelas dari suatu objek yang belum diketahui kelasnya.
d. Analisis Cluster
Clustering merupakan proses pengelompokan sekumpulan fisik atau abstrak dari suatu objek kedalam kelas – kelas objek yang sama. Cluster merupakan kumpulan objek data yang mirip satu sama lain dalam satu cluster dan tidak mirip dengan objek di cluster lain. Analisis cluster telah digunakan dalam aplikasi analisis data, pattern recognition, image processing, dan market research.
e. Analisis Outlier
Outlier merupakan objek data yang tidak mengikuti perilaku atau model data pada umumnya. Analisis outlier ini biasanya digunakan untuk fraud Detection.
2.2 Intrusion Detection System (IDS)
Intrusi adalah usaha untuk menyerang sebuah sistem komputer dari segi confidentiality, integrity, and assurance [4].
Intrusion Detection System (IDS) adalah aplikasi perangkat lunak atau perangkat keras yang dapat mendeteksi serangan atau ganguan dalam sebuah sistem atau jaringan tersebut [7]. Pada sistem ini diasumsikan bahwa semua kegiatan yang dilakukan dan berhubungan dengan sistem ini (komputer atau jaringan) dapat dimonitor untuk kemudian dimodelkan, data hasil monitoring inilah yang kemudian akan dikenali sebagai intrusi atau bukan.
2.2.1 Jenis – Jenis pada IDS
Berdasarkan konfigurasi networknya, IDS dibagi menjadi beberapa jenis. Setiap tipe memiliki kelebihan dan kekurangan masing – masing dalam kasus deteksi.
Berikut adalah jenis – jenis IDS [22]:
a. Network-based Intrusion Detection System (NIDS)
Semua lalu lintas yang mengalir ke sebuah jaringan akan dianalisis untuk mencari apakah ada percobaan serangan atau penyusupan ke dalam sistem jaringan [22]. NIDS umumnya terletak di dalam segmen jaringan penting di mana server berada atau terdapat pada “pintu masuk” jaringan.
Kelemahan NIDS adalah bahwa NIDS agak rumit diimplementasikan dalam sebuah jaringan yang menggunakan switch Ethernet, meskipun beberapa vendor switch Ethernet sekarang telah menerapkan fungsi IDS di dalam switchbuatannya untuk memonitor port atau koneksi.
b. Host-based Intrusion Detection System (HIDS)
Aktivitas sebuah host jaringan individual akan dipantau apakah terjadi sebuah percobaan serangan atau penyusupan ke dalamnya atau tidak. HIDS seringnya diletakkan pada server-server kritis di jaringan, seperti halnya firewall,web server, atau server yang terkoneksi ke Internet.
7 2.2.2 Detection Model
Berdasarkan sistem penganalisaan terhadap suatu ganguan, Intrusion Detection Sistem memiliki beberapa kategori sebagai berikut:
2.2.2.1 Anomaly detection
Anomaly detection merupakan salah satu tugas dari proses data mining. Anomaly detection dapat mendeteksi serangan dalam host atau network yang menyimpang dari aktivitas normal berdasarkan probabilitas statistika.
Tujuan utama dari anomaly detection adalah menemukan objek yang berbeda dari kebanyakan objek yang ada [19]. Kelebihan metode ini adalah dapat mendeteksi bentuk serangan yang baru dengan asumsi bahwa serangan akan selalu menyimpang dari aktivitas normal.
Metode-metode dari anomaly detection [3]:
a. Statistics Based Approach
Metode ini disebut juga sebagai distribution based approach , metode ini menggunakan pendekatan statistikal. Metode ini membangun sebuah model distribusi probabilitas dan mempertimbangkan sedekat apa objek-objek yang ada terhadap model tersebut. Metode yang menggunakan pendekatan ini antara lain: smartsifter algorithm, probably distribution, information-theoretic measures.
b. Distance Based Approach
Saat didefinisikan sebuah ukuran proximity (kedekatan) antar objek, maka sejumlah anomaly detection dapat dilakukan berdasarkan proximity tersebut. Objek anomali adalah objek data yang terletak jauh dari objek-objek lainnya. Jika proximity yang digunakan berdasarkan distance (jarak) maka disebut sebagai distance-based outlier detection techniques. Metoda yang menggunakan pendekatan ini nearest neighboor, mahalanobis-distance based approach.
c. Density Based Approach
Density-based approach ditemukan untuk mencari outliers pada spatial data, metode ini dibagi menjadi dua kategori yaitu multi- dimensional metric space-based dan graph based.
Multi dimensional metric space bergantung pada euclidean distance sedangkan graph based bergantung pada keterhubungan antar data.
Metode yang menggunakan pendekatan ini yaitu Local Outlier Factor, dan Graph Based. Algoritma ODIN (Outlier Detection using Indegree Number), dan Mean Dist adalah algoritma yang menggunakan metode Graph Based.
8 2.2.2.2 Misuse detection
Misuse detection mendeteksi adanya intrusi berdasarkan knowlegde yang ada dan diasosiasikan dengan serangan yang sudah diketahui atau didefinisikan oleh para ahli. Dengan data mining, data- data serangan yang sudah ada akan dijadikan sebagai predictive model untuk deteksi intrusi.
2.3 Hidden Markov Model
2.3.1 Sejarah dan Definisi Hidden Markov
Model markov dikembangkan oleh seorang ahli yang berasal dari rusia bernama A.A Markov pada tahun 1906. Teknik ini mula-mula digunakan pada ilmu pengetahuan fisik dan meteorologi untuk menganalisis partikel - partikel gas dalam suatu kontainer tertutup sebagai alat untuk meramalkan keadaan cuaca.
Hidden Markov Model merupakan pengembangan dari markov model.
Setelah perkembangannya diakhir tahun 1970, HMM telah terbukti sangat kuat dan fleksible dalam pemodelan statistik yang menggambarkan berbagai jenis data terurut. Sekarang ini HMM telah tersebar dalam berbagai area science dan engineering. Aplikasinya meliputi analisis biologi, klimatologi, komunikasi, ekonometri, image processing, pengenalan karakter tulisan dan speech recognition.
Hidden Markov Model (HMM) adalah suatu model probabilitas yang menggambarkan hubungan statistik antara urutan observasi O dan urutan state S yang tidak diobservasi ”hidden” [12,13].
Ciri-ciri HMM adalah sebagai berikut:
a. Observasi diketahui tetapi urutan keadaan (state) tidak diketahui sehingga disebut hidden
b. Observasi adalah fungsi probabilitas keadaan
c. Perpindahan keadaan adalah dalam bentuk probabilitas 2.3.2 Parameter pada HMM
HMM mempunyai parameter-parameter distribusi sebagai berikut : a. Probabilitas Transisi
(2,1) b. Probabilitas observasi
(2,2) c. Distribusi keadaan awal
(2,3)
Sedangkan parameter tertentu HMM ada dua yaitu N dan M:
a. N, jumlah keadaan model. Dinotasikan himpunan terbatas untuk keadaan yang
mungkin adalah (2,4)
b. M, jumlah dari simbol observasi/keadaan, ukuran huruf diskret. Simbol observasi berhubungan dengan keluaran fisik dari sistem yang dimodelkan.
Dinotasikan himpunan terbatas untuk observasi yang mungkin adalah
(2,5)
9 Parameter-parameter HMM ditaksir berdasarkan kriteria maximum likelihood (ML) dan algoritma Baum-Welch (EM = Expectation Modification).
2.3.3 Permasalahan pada HMM
Ada 3 masalah dasar HMM yang harus dipecahkan untuk model yang diterapkan di dunia nyata, yaitu [10]:
a. Menghitung bila diberikan urutan observasi dan λ = (A, B, π).
Solusi:
Cara umum yang biasa digunakan adalah dengan memeriksa setiap kemungkinan urutan N state sepanjang T (banyaknya observasi). Hal ini tidak mungkin dilakukan karena perhitungannya kurang efisien. Ada prosedur lain yang lebih sederhana dan efisien adalah menggunakan prosedur forward dan backward.
- Prosedur Maju (forward procedure)
Asumsi variabel forward αt(i) pada waktu ke-t dan state ke-i didefinisikan dengan. αt (i) = P (O1,O2,...,OT, qt=i | λ). Fungsi peluang forward dapat diselesaikan untuk N state dan T simbol observasi secara induktif dengan langkah sebagai berikut:
o Inisialisasi, 1≤ i ≤ N (2,6) o Induksi, αt+1 (j) = bj (Oi+1),
1≤ t ≤ T-1; 1 ≤ j ≤N (2,7)
o Terminasi, P(O|λ)= (2,8) Perhitungan peluang forward berdasarkan pola diagram trellis. Terdapat N titik tiap time slot pada pola, semua kemungkinan deretan state digabung sebanyak N titik tanpa memperdulikan panjang deretan observasi. Pada saat t=1, dihitung nilai O1(i), 1≤i≤N. Pada waktu t = 2,3,...,T hanya diperlukan perhitungan nilai t(j) dimana 1 ≤j≤ N.
Tiap perhitungan membutuhkan nilai sebelumnya sebanyak N dari t-1(i) karena tiap N titik hanya dapat dihubungkan dengan N titik pada time slot sebelumnya.
Gambar 2-2: Induksi Prosedur Forward
10 - Prosedur Mundur (backward procedure)
Dengan cara yang sama, variabel backward βt(i) pada waktu ke-t dan state ke-i didefinisikan dengan βt(i) = P(Ot+1, Ot+2, ..., OT, qt = i | λ). Prosedur backward digunakan untuk menghitung P(O|λ) secara mundur dari waktu observasi maksimum, t=T sampai waktu observasi awal t=1. Langkah prosedur backward adalah sebagai berikut:
o Inisialisasi, βT(i)= 1; 1≤i≤N (2,9) o Induksi, βt(i) = ,
t = T-1, T-2, ..., 1 (2,10)
Pada inisialisasi didefinisikan βT(i) =1 untuk semua nilai i. Untuk mendapatkan state ke-i waktu ke-t dan deretan observasi pada waktu t+1, maka diasumsikan semua kemungkinan state j pada waktu t+1, untuk mendapatkan transisi dari i ke j, aij dan deretan observasi ot+1 pada state ke-j, bj(Ot+1). Kemudian dihitung bagian observasi dari state j, βt+1(j).
Gambar 2-3: Induksi Prosedur Backward - Prosedur Maju – Mundur (forward – backward procedure)
Kombinasi dari prosedur forward dan backward dapat digunakan untuk mendapatkan nilai P(O| λ). Peluang berada pada state ke-i waktu ke-t dari N state sebelumnya waktu t-1 dapat dihitung dengan fungsi peluang forward αt(i). Sedangkan peluang transisi dari state i waktu ke-t menuju state j waktu t+1 dan mengambil sebuah simbol observasi pada state j adalah aijbj(Ot+1). Fungsi peluang backward digunakan untuk menghitung peluang munculnya deretan simbol observasi dari waktu t+1 sampai T.
11 Gambar 2-4: Ilustrasi Prosedur Forward-Backward
Secara matematis perhitungan P(O| λ) menggunakan prosedur forward- backward dapat dinyatakan sebagai berikut:
P(O|λ)= = (2,11) b. Memilih urutan keadaan yang paling optimal yang berhubungan dengan Q =
q1,q2 ... qT bila diberikan urutan observasi O = O1,O2, ...,OT dan sebuah model λ = (A, B, π).
Solusi:
Inti dari permasalahan 2 adalah mencari deretan state yang tersembunyi (hidden) untuk suatu deretan observasi yang dihasilkan dari model λ. Deretan state yang dicari harus merupakan deretan yang optimal agar dapat dimodelkan pada deretan obervasi dari model λ. Metode yang biasa digunakan untuk menemukan deretan state optimal adalah algoritma viterbi (dynamic programming). Algoritma viterbi dapat memaksimalkan nilai P(O| λ) sehingga memberikan deretan observasi yang optimal. Berdasarkan aturan Bayes, secara matematis P(Q|O, λ) dapat dinyatakan sebagai berikut:
P(O|λ)=
(2,12)
Pada algoritma viterbi, peluang maksimum berada pada state ke-i waktu ke-t, yang sebelumnya telah menempuh deretan state q={q1, q2, ..., qt-1}, jika diberikan deretan observasi O dan suatu model λ dinotasikan dengan δt(i).
δt (i) = P[q1q2...qt-1,qt = i,O1O2...OT | λ] (2,13) Untuk mendapatkan deretan observasi dibutuhkan urutan dari argumen yang maksimal untuk tiap t dan j. Hal ini dilakukan melalui sebuah fungsi array ψt(j).Prosedur selengkapnya dari algoritma viterbi adalah sebagai berikut:
o Inisialisasi, (i) = ( ), 1 ψ1 (i) = 0 (2,14) o Rekursi, (j) =
ψt (j) = arg (2,15)
12 o Terminasi, P* =
q*t = arg (2,16)
Backtracking, q*t = (2,17) c. Mengatur parameter λ agar maksimal
Solusi:
Permasalahan 3 merupakan masalah yang paling sulit jika dibandingkan dengan masalah-masalah sebelumnya. Intinya adalah menentukan suatu metode yang dapat disesuaikan dengan model parameter A, B, π untuk memenuni kriteria optimasi tertentu. Tidak ada cara untuk menganalisa set model parameter yang memaksimalkan peluang dari deretan observasi secara tertutup.
Akan tetapi, hal ini dapat dilakukan dengan memilih model λ yang mempunyai kemungkinan (likelihood), P(O|λ) yang dimaksimalkan secara local (localy- maximized) dengan prosedur iterasi seperti metode Baum-Welch (expectation- maximization, EM). Prosedure iterasi merupakan proses training yang berlangsung terus-menerus sampai kondisi kritis (local minimal) terpenuhi.
Untuk mendeskripsikan prosedur reestimasi (update iterasi dan perbaikan) dari parameter HMM, pertama kali didefinisikan ξt(i, j), yaitu peluang berada pada state i waktu t dan berpindah menuju state j waktu t+1 yang dimodelkan sebagai berikut:
ξt (i,j)= p(qt =i, qt+1 = j | O, λ) (2,18) Lintasan yang memenuhi kondisi ini adalah menggunakan prosedur forwardbackward. Berdasarkan variabel yang didefinisikan pada prosedur forwardbackward maka ξt(i, j) dapat dinyatakan:
ξt(i,j) =
=
=
(2,19)
Sebelumnya telah didefinisikan nilai γt(i) sebagai peluang berada pada state i waktu ke-t pada tiap deretan observasi dan model λ, maka antara ξt(i, j) dan γt(i) dapat dihubungkan dengan penjumlahan pada domain j, dinyatakan dengan:
γt (i) = (2,20)
Penjumlahan γt(i) dan ξt(i, j) pada waktu ke-t dapat diinterpretasikan berturut- turut sebagai banyaknya transisi yang diharapkan dari state Si dan banyaknya transisi yang diharapkan dari state Si menuju Sj.