Upload
doantu
View
254
Download
9
Embed Size (px)
Citation preview
PENGENALPASTIAN AMARAN PALSU POSITIF
MENGGUNAKAN PERLOMBONGAN DATA DAN
PEPOHON KEPUTUSAN
HASIMI BIN SALLEHUDIN
TELAH DISERAHKAN UNTUK
MEMENUHI KEPERLUAN BAGI PENGANUGERAHAN
IJAZAH SARJANA SAINS KOMPUTER
FAKULTI SAINS KOMPUTER DAN TEKNOLOGI MAKLUMAT
UNIVERSITI MALAYA
FEBRUARI 2008
ii
Pengisytiharan
“Saya akui yang karya ini dihantar untuk Ijazah Sarjana Sains Komputer
adalah karya saya sendiri kecuali nukilan dan ringkasan yang tiap-tiap
satunya telah saya jelaskan sumbernya”.
................................................... ..........................................
HASIMI BIN SALLEHUDIN Tarikh
WGA 060006
iii
UNIVERSITI MALAYA PERAKUAN KEASLIAN PENULISAN
Nama: HASIMI BIN SALLEHUDIN No. I/C: 801120-03-5399 No. Metric: WGA 060006 Nama Ijazah: IJAZAH SARJANA SAINS KOMPUTER Tajuk Disertasi (Hasil Kerja ini”): PENGENALPASTIAN AMARAN PALSU POSITIF MENGGUNAKAN PERLOMBONGAN DATA DAN PEPOHON KEPUTUSAN Bidang Penyelidikan: KOMUNIKASI DATA DAN RANGKAIAN KOMPUTER (NETWORK SECURITY) Saya dengan sesungguhnya dan sebenarnya mengaku bahawa:
1) Saya adalah satu-satunya pengarang/penulis Hasil Kerja ini; 2) Hasil kerja ini adalah asli; 3) Apa-apa penggunaan mana-mana hasil kerja yang mengandungi hakcipta
telah dilakukan secara urusan yang wajar dan bagi maksud yang dibenarkan dan apa-apa petikan, ekstrak, rujukan atau pengeluaran semula daripada atau kepada mana-mana hasil kerja yang mengandungi hakcipta telah dinyatakan dengan sejelasnya dan secukupnya dan satu pengiktirafan tajuk hasil kerja tersebut dan pengarang/penulisnya telah dilakukan di dalam Hasil Kerja ini;
4) Saya tidak mempunyai apa-apa pengetahuan sebenar atau patut semunasabahnya tahu bahawa penghasilan Hasil Kerja ini melanggar suatu hakcipta hasil kerja yang lain;
5) Saya dengan ini menyerahkan kesemua dan tiap-tiap hak yang terkandung di dalam hakcipta Hasil Kerja ini kepada Universiti Malaya (UM) yang seterusnya mula dari sekarang adalah tuan punya kepada hakcipta di dalam Hasil Kerja ini dan apa-apa pengeluaran semula atau penggunaan dalam apa jua bentuk atau dengan apa juga cara sekalipun adalah dilarang tanpa terlebih dahulu mendapat kebenaran bertulis dari UM;
6) Saya sedar sepenuhnya sekiranya dalam masa penghasilan Hasil Kerja ini saya telah melanggar suatu hakcipta hasil kerja yang lain sama ada dengan niat atau sebaliknya, saya boleh dikenakan tindakan undang-undang atau apa-apa tindakan lain sebagaimana yang diputuskan oleh UM.
Tandatangan Calon: Tarikh: Diperbuat dan sesungguhnya diakui di hadapan, Tandatangan Saksi: Tarikh: Nama: Jawatan:
iv
UNIVERSITI MALAYA ORIGINAL LITERARY WORK DECLARATION
Name of Candidate: HASIMI BIN SALLEHUDIN I/C No: 801120-03-5399 Metric No: WGA 060006 Name of Degree: MASTER of COMPUTER SCIENCE Title of Thesis: PENGENALPASTIAN AMARAN PALSU POSITIF MENGGUNAKAN PERLOMBONGAN DATA DAN PEPOHON KEPUTUSAN Field of Study/Disertation: DATA COMMUNICATION AND COMPUTER NETWORKS / NETWORK SECURITY Do solemy and sincerely declare that
7) I am the sole author/writer of this work; 8) This work is original; 9) Any use of any work in which copyright exists was done by way of
fair dealing and for permitted purposes and any excerpt or extract from or reference to or reproduction of any copyright work has been disclosed expressly and sufficiently and the title of the work and its authorship have been acknowledged in this Work;
10) I do no have any actual knowledge nor do I ought reasonably to know that the making of this work constitutes an infringement af any copyright work;
11) I hereby assign all and every rights in the copyright to this Work to the University of Malaya (“UM”), who henceforth shall be owner of the copyright in this Work and that any reproduction or use in any form or by any means whatsoever is prohibited without the written consent of UM having been first had an obtained;
12) I am fully aware that is in the course of making this Work I have infringed any copyright whether intentionally or otherwise, I may be subject to legal action or any other as many be determined by UM.
Candidate’s Signature: Date: Subscribed and solemnly declared before Witness Signature: Date: Name: Designation:
v
Abstrak
Kepintaran strategi pencerobohan dan strategi pengesanannya untuk
mengurangkan salah positif dan meningkatkan tahap pengesanan dalam
segmen rangkaian sesebuah infrastruktur rangkaian adalah menjadi
cabaran utama. Strategi terkini ialah memfokuskan kepada sama ada
pengesanan pencerobohan atau tindak balas terhadap pencerobohan.
Namun masih terdapat jurang di antara dua strategi ini. Dalam tesis ini,
pendekatan yang difokuskan ialah kepada pengesanan pencerobohan yang
melibatkan aktiviti analisis statistik secara berkesan terhadap trafik
rangkaian yang mengandungi serangan dan biasa. Strategik dalam
penyelidikan ini pula melibatkan analisis statistik hibrid yang
menggabungkan teknik pengklasifikasian Perlombongan Data dan
Pepohon Keputusan. Analisis Pepohon Keputusan membezakan dan
mengklasifikasikan antara trafik biasa dan serangan terhadap data latihan
bagi KDD Cup ‘99. Keputusan analisis statistik tersebut digunakan untuk
mengurangkan kesalahan mengklasifikasikan salah positif untuk set data
ujian KDD Cup ‘99. Strategik ini adalah untuk menambah nilai kebolehan
Sistem Pengesanan Pencerobohan bagi mengesan dan sekali gus memberi
tindak balas terhadap ancaman pada segmen kritikal rangkaian komputer,
aplikasi dan infrastruktur pangkalan data.
vi
IDENTIFYING FALSE ALARM POSITIVE USING DATA MINING
AND DECISION TREE
Abstract
An intelligent intrusion and detection strategies for reducing false positives
and increasing detection within network critical segments of network
infrastructures are major challenges. Current strategies focus on either
detection or responses, but often lack both detection and response
strategies. To render a network to be more secure, intrusion detection
systems aim to recognize attack within the constrains of two major
performance considerations which is high detection and low false alarm
rates. This thesis approach is focus on detection involving analysis and
effective statistical analysis of attack and normal traffic. The novel
strategy involves a hybrid statistical approach involving Data Mining and
Decision Tree Classification. This comprises discriminate analysis of the
normal and attack traffic after using Decision Tree analysis to evaluate the
training data of KDD Cup 99. The result of the statistical analysis is used
to reduce misclassification of false positives and distinguish between
attacks and false positives for the test dataset of KDD Cup 99. This
intelligent strategy is to evaluate and enhance the capability of the IDS to
detect and as well as to respond to the threats and benign traffic in critical
segments of network, application and database infrastructures.
vii
Penghargaan
Bersyukur saya ke hadrat Ilahi kerana dengan limpah dan
kurnianya saya telah dapat menyiapkan projek disertasi ini dengan penuh
usaha dan kesabaran. Di sini saya ingin mengucapkan setinggi-tinggi
penghargaan kepada penyelia, En. Nor Badrul Anuar Juma'at yang telah
banyak memberi dorongan, galakan nasihat dan pengalaman sepanjang
proses menyiapkan projek ini. Tanpa sokongan dan perhatian yang
berterusan beliau, projek disertasi ini tidak akan sama dengan apa yang
diterbitkan di dalam tesis ini.
Di ucapkan ribuan terima kasih juga kepada Jabatan Perkhidmatan
Awam yang menaja biasiswa pengajian sarjana saya ini. Terima kasih juga
kepada Lembaga Pengurusan INTAN 2005/2006 terutama pengarahnya,
Dato’ Dr. Malek Shah dan timbalannya Dr. Azizah Manan yang memberi
peluang dan menyokong saya untuk meneruskan pembelajaran sarjana ini.
Tidak lupa juga kepada pensyarah dan staf Universiti Malaya yang banyak
memberi tunjuk ajar, panduan dan sokongan.
Selain itu, penghargaan khas kepada isteri tersayang, Nik Norie
Nur Qisren dan anakanda yang dikasihi, Nik Adam Darimi serta keluarga
kedua-dua belah pihak kerana sentiasa memberi dorongan dan memahami
perjuangan saya.
Semoga jasa baik kalian diberkati dan dilimpahi kurnia dari Ilahi.
Sekian, terima kasih.
viii
Isi Kandungan
Abstrak..................................................................................................... v
Abstract.................................................................................................... vi
Penghargaan............................................................................................. vii
Isi Kandungan.......................................................................................... viii
Senarai Rajah........................................................................................... xii
Senarai Jadual.......................................................................................... xiii
Bab 1
Pengenalan..............................................................................................
1
1.1 Pengenalan......................................................................................... 1
1.2 Objektif.............................................................................................. 7
1.3 Skop Projek........................................................................................ 8
1.4 Kepentingan Kajian........................................................................... 9
1.5 Metodologi Penyelidikan.................................................................. 10
1.5.1 Pelaksanaan Makmal.......................................................... 10
1.5.2 Pengujian simulasi.............................................................. 11
1.6 Rangka Kerja Teori............................................................................ 12
1.6 Struktur Tesis..................................................................................... 14
Bab 2
Kajian Latar Belakang Sistem Pengesanan Pencerobohan...............
16
ix
2.1 Pengenalan......................................................................................... 16
2.2 Sistem Pengesanan Pencerobohan..................................................... 16
2.3 Sejarah Ringkas Sistem Pengesanan Pencerobohan.......................... 18
2.4 Komponen Asas Sistem Pengesanan Pencerobohan.......................... 19
2.5 Sistem Pengesanan Pencerobohan Berasaskan Rangkaian dan Hos.. 21
2.6 Kelebihan dan Ciri-ciri Sistem Pengesanan Pencerobohan............... 25
2.7 Pengesanan Misuse dan Pengesanan Keganjilan............................... 28
2.8 Amaran dan Kejadian........................................................................ 31
2.8.1 Amaran (Alert) ................................................................... 32
2.8.2 Kejadian (Incident) ............................................................ 33
2.9 Salah Positif dan Salah Negatif.................................................... 35
2.10 Pilihan Tindak balas Bagi Sistem Pengesanan Pencerobohan... 37
2.11 Kesimpulan.................................................................................. 38
Bab 3
Perlombongan Data dan Pepohon Keputusan....................................
40
3.1 Pengenalan......................................................................................... 40
3.2 Perlombongan Data............................................................................ 41
3.3 Proses Perlombongan Data................................................................ 43
3.3.1 Penyediaan Data.................................................................. 44
3.3.2 Algoritma Perlombongan Data........................................... 45
3.3.3 Analisis Output................................................................... 46
3.4 Pepohon Keputusan........................................................................... 46
3.4.1 Kegunaan dan Kelebihan Pepohon Keputusan................... 50
3.5 Pengesanan Pencerobohan dan Kepintaran Buatan........................... 52
x
3.6 Input Data.......................................................................................... 54
3.7 Program Penilaian DARPA............................................................... 55
3.7.1 Analisis Menggunakan Pengesanan dan Kadar Amaran
Palsu.................................................................................
56
3.7.2 Pencapaian Program DARPA............................................. 57
3.8 Jenis Serangan dalam Set Data DARPA 1998.................................. 58
3.81 Kategori Serangan................................................................ 61
3.8.2 Jenis-jenis Serangan............................................................ 62
3.9 Set Data KDD ‘99.............................................................................. 66
3.9.1 Sifat-sifat Rekod Sambungan KDD Cup ‘99...................... 68
3.9.2 Penggunaan Data KDD Cup ’99 ........................................ 74
3.10 Perisian See5 / C5.0......................................................................... 74
3.10.1 Fungsi dan Ciri-ciri See5.................................................. 77
Bab 4
Keputusan..............................................................................................
81
4.1 Pengenalan......................................................................................... 81
4.2 Klasifikasi Pepohon Keputusan......................................................... 81
4.3 Klasifikasi Rule-based....................................................................... 92
4.4 Klasifikasi Pepohon Keputusan dan Rule-based Menggunakan
Pilihan Fuzzy Threshold...........................................................................
101
4.5 Analisis Klasifikasi Terhadap Set Data Ujian................................... 106
4.6 Perbincangan...................................................................................... 110
Bab 5
xi
Kesimpulan............................................................................................. 115
5.1 Kesimpulan........................................................................................ 115
5.2 Cadangan Kerja Masa Depan............................................................. 117
LAMPIRAN............................................................................................ 121
Lampiran A:
Sampel Rekod Sambungan Dengan Sifat yang Di ekstrak Dari Set data
121
Lampiran B:
Sampel Set Data KDD Cup ’99...............................................................
123
Lampiran C:
Struktur Pepohon Keputusan…………………………………………...
125
Lampiran D:
Senarai Keputusan Klasifikasi “Rule-based”…………………………...
133
Lampiran E:
Struktur Pepohon Keputusan Menggunakan Pilihan “Fuzzy Threshold”
142
Rujukan.................................................................................................. 151
xii
Senarai Rajah
Rajah 1.1: Proses Menganalisis Amaran Yang Dijana oleh Pengesan..... 6
Rajah 1.2: Gambarajah Rangka Kerja Teori Pengenalpastian Amaran
Palsu Positif Menggunakan Perlombongan Data Dan Pepohon
Keputusan..................................................................................................
12
Rajah 2.1: Model Proses bagi Pengesanan Pencerobohan........................ 20
Rajah 2.2: Proses Menganalisis Amaran Yang Dijana oleh Pengesan..... 32
Rajah 3.1: Proses perlombongan data....................................................... 43
Rajah 3.2: Struktur Pepohon Keputusan................................................... 48
Rajah 3.3: Contoh Pepohon Keputusan Mendatar.................................... 50
Rajah 3.4: Antara muka Pengguna Perisian See5.................................... 77
Rajah 3.5: Antara muka Pengguna “Option” Perisian See5..................... 79
Rajah 4.1: Struktur Pepohon Keputusan Klasifikasi See5........................ 82
Rajah 4.2: Parafrasa “IF-THEN rules”………………………………… 83
Rajah 4.3: Cebisan Struktur Pepohon Keputusan Secara Visual.............. 84
Rajah 4.4: Cebisan Ruleset yang Dihasilkan See5.................................... 93
Rajah 4.5: Cebisan Struktur Pepohon Keputusan Klasifikasi See5
Menggunakan Pilihan Fuzzy Threshold...................................................
101
Rajah 4.5: Seni bina Sistem IDS Menggunakan Konsep Gabungan
Klasifikasi...............................................................................................
114
xiii
Senarai Jadual
Jadual 1.1: Jadual Statistik Kejadian Sehingga November 2007.............. 2
Jadual 2.1: Kelebihan dan Kekurangan Sistem Pengesanan
Pencerobohan Berasaskan Rangkaian.......................................................
23
Jadual 2.2: Kelebihan dan Kekurangan Sistem Pengesanan
Pencerobohan Berasaskan Hos.................................................................
24
Jadual 2.3: Jenis-jenis Kesilapan yang wujud bagi penggunaan Sistem
Pengesanan Pencerobohan........................................................................
34
Jadual 3.1: Taburan Serangan DARPA 1998........................................... 60
Jadual 3.2: Jenis-jenis Serangan DoS....................................................... 63
Jadual 3.3: Jenis-jenis Serangan Probe..................................................... 64
Jadual 3.4: Jenis-jenis Serangan R2L....................................................... 65
Jadual 3.5: Jenis-jenis Serangan U2R....................................................... 66
Jadual 3.6: Sifat asas bagi setiap sambungan TCP................................... 70
Jadual 3.7: Sifat kandungan bagi setiap sambungan yang dicadangkan
oleh domain pengetahuan.......................................................................... 71
Jadual 3.8: Sifat trafik bagi 2-saat “time window”.................................... 72
Jadual 3.9: Sifat trafik bagi 100 sambungan “window”............................ 73
Jadual 3.10: Rumusan extension bagi See5.............................................. 80
Jadual 4.1: Peratus Penggunaan Atribut................................................... 86
Jadual 4.2: Bilangan Salah Positif dan Salah Negatif Mengikut Kelas
Menggunakan Klasifikasi Pepohon Keputusan........................................
88
Jadual 4.3: Kadar Salah Positif Klasifikasi Mengikut Kelas
xiv
Menggunakan Klasifikasi Pepohon Keputusan........................................ 88
Jadual 4.4: Bilangan Salah Positif dan Salah Negatif Mengikut Jenis
Normal dan Serangan Menggunakan Klasifikasi Pepohon Keputusan.....
89
Jadual 4.5: Confusion Matrix Klasifikasi Pepohon Keputusan Bagi
Data Latihan..............................................................................................
91
Jadual 4.6: Taburan Bilangan Rule........................................................... 96
Jadual 4.7: Bilangan Salah Positif dan Salah Negatif Mengikut Kelas
Menggunakan Rule-based Classifier........................................................
97
Jadual 4.8: Kadar Salah Positif Klasifikasi Mengikut Kelas
Menggunakan Rule-based Classifier........................................................
98
Jadual 4.9: Bilangan Salah Positif dan Salah Negatif Mengikut Jenis
Normal dan Serangan Menggunakan Rule-based Classifier....................
100
Jadual 4.10: Bilangan Salah Positif dan Salah Negatif Mengikut Kelas
Menggunakan Pilihan Fuzzy Threshold....................................................
104
Jadual 4.11: Kadar Salah Positif Klasifikasi Mengikut Kelas
Menggunakan Pilihan Fuzzy Threshol......................................................
104
Jadual 4.12: Bilangan Salah Positif dan Salah Negatif Mengikut Jenis
Normal dan Serangan Menggunakan Pilihan Klasifikasi Fuzzy
Threshold..................................................................................................
105
Jadual 4.13: Confusion Matrix Klasifikasi Pepohon Keputusan Bagi
Data Ujian.................................................................................................
108
Jadual 4.14: Bilangan Salah Positif dan Salah Negatif Mengikut Jenis
Normal dan Serangan Bagi Set Data Ujian Menggunakan Klasifikasi
Pepohon Keputusan...................................................................................
109
Jadual 4.15: Perbandingan Kadar Salah Positif Klasifikasi Mengikut
xv
Kelas.......................................................................................................... 111
Jadual 4.16: Confusion Matrix Klasifikasi Pepohon Keputusan Set Data
Ujian Mengikut Kelas...............................................................................
113
1
Bab 1 Pengenalan
1.1 Pengenalan
Pada bulan Jun hingga November 2001, masyarakat dunia termasuk
di Malaysia telah terperangkap dengan serangan prasarana terbesar dalam
sejarah Internet. Perangkaan yang telah dikeluarkan oleh Malaysian
Computer Emergency Response Team (MyCERT), menunjukkan Cecacing
Nimda dan Code Red telah menjangkiti sejumlah 9713 komputer pada bulan
September 2001, 7654 komputer pada bulan Oktober 2001 dan 462
komputer pada November 2001. Ini seterusnya memberi kesan yang tinggi
kepada kos untuk membaiki kerosakan. Dianggarkan kos untuk membaiki
dijangka sebanyak RM22 juta dan jumlah ini tidak termasuk kos kehilangan
peluang perniagaan. Laporan bulanan bagi Januari hingga November 2007
mengenai statistik kejadian yang berlaku dan bilangan pencerobohan yang
terlibat amat mengecewakan. Merujuk pada Jadual 1.1, sebanyak 377 kes
pencerobohan komuniti internet Malaysia berlaku sepanjang tempoh Januari
hingga November 2007 (MyCERT, 2007 ).
2
Jadual 1.1: Jadual Statistik Kejadian Sehingga November 2007
Sumber: MyCERT (2007)
Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov
Harassment 4 6 9 13 5 4 7 6 2 4 4
Fraud 33 15 22 20 59 42 31 18 30 23 35
Hack
Threat 0 0 1 2 2 3 3 3 6 1 3
Malicious
Code 4 2 7 7 15 17 20 21 17 32 21
Denial of
Service 0 0 0 0 0 0 2 2 3 0 1
Intrusion 30 23 21 13 52 9 144 30 42 5 8
Jumlah 71 46 60 55 133 75 207 80 100 65 72
Memandangkan serangan ini mengakibatkan perbelanjaan dan
tanggungan kos yang tinggi, tindakan berjaga-jaga perlu diambil bagi
mengelak kejadian tersebut. Disyorkan penggunaan Sistem Pengesanan
Pencerobohan atau lebih dikenali sebagai IDS (Intrusion Detection System)
diadaptasi bagi tujuan ini. Sistem Pengesanan Pencerobohan adalah sistem
inovatif teknologi pertahanan keselamatan yang boleh dianggap efektif bagi
mengesan dan bertindak terhadap serangan (Rebecca dan Peter, 2001).
Sistem Pengesanan Pencerobohan bertindak mengawal sumber-sumber
aktiviti yang menjadi sasaran serangan seperti sistem dan data dengan
3
memantau setiap aktiviti dan sambungan dalam komputer dan rangkaian
komputer.
Objektif utama Sistem Pengesanan Pencerobohan adalah untuk
mengesan semua pencerobohan atau gangguan dengan cekap (Gowadia,
2005). Penggunaan Sistem Pengesanan Pencerobohan untuk mengesan dan
memantau aktiviti pencerobohan atau serangan dapat memberi isyarat atau
amaran awal kepada pentadbir rangkaian sekiranya terdapat aktiviti serangan
seperti serangan virus komputer dan cecacing.
Keberkesanan sesebuah Sistem Pengesanan Pencerobohan dapat
dipertingkatkan dengan kebolehannya membezakan sama ada amaran
kejadian serangan atau amaran normal. Amaran kejadian serangan adalah
amaran yang dijana apabila aktiviti-aktiviti serangan yang berlaku dikesan
oleh sesebuah Sistem Pengesanan Pencerobohan. Ia juga lebih dikenali
sebagai amaran sebenar. Manakala amaran normal adalah amaran yang
dijana oleh sesebuah Sistem Pengesanan Pencerobohan walaupun dalam
situasi dimana tiada aktiviti serangan yang berlaku. Amaran normal dijana
disebabkan oleh kegagalan sesebuah Sistem Pengesanan Pencerobohan untuk
memantau aktiviti-aktiviti sesebuah rangkaian.
Kebolehan membezakan sama ada amaran serangan atau amaran
normal ini adalah penting bagi menentukan pengurangan bilangan amaran
salah positif (false positive) dan amaran salah negatif (false negative)
(Gowadia, 2005). Amaran palsu positif adalah amaran yang dikeluarkan oleh
4
sesebuah Sistem Pengesanan Pencerobohan sekiranya terdapat aktiviti
berniat hasad (malicious) atau serangan dikesan berlaku. Amaran salah
negatif pula adalah memerihal situasi dimana ketidakupayaan sesebuah
Sistem Pengesanan Pencerobohan mengesan dan mencetuskan amaran
apabila terdapat aktiviti serangan berlaku. Ini bermakna dengan pengurangan
bilangan salah positif dan salah negatif, ancaman sebenar tidak akan terlepas
tanpa dikesan.
Untuk melihat bagaimana Sistem Pengesanan Pencerobohan ini
beroperasi, teknik yang digunakan dalam sistem pengesanannya hampir sama
dengan teknik yang digunakan oleh penapisan spam (spam filter). Penapis
spam ialah penapis email-email yang menceroboh masuk kedalam sesebuah
peti email pengguna sebagai email biasa dengan tujuan pengiklanan,
serangan atau melumpuhkan sistem email sesebuah organisasi .
Umumnya, penapis spam akan menapis dan melabel email-email
masuk kepada email spam dan email bukan spam. Email-email spam akan
dilabelkan sebagai spam dan diasingkan ke dalam sampul email spam.
Manakala email-email yang selainnya akan dibiarkan tanpa label dan
dimasukkan kedalam peti email pengguna. Setelah pengguna menerima
email-email yang telah dilabelkan spam ini, pengguna mungkin akan
mengemukakan maklum balas kepada penapis spam sama ada sistem penapis
spam ini telah melabelkan email-email spam tersebut dengan betul atau
bersetuju dengan tindakan sistem penapis spam ini. Maklum balas ini akan
5
digunakan oleh penapis spam untuk mengurangkan bilangan salah positif dan
salah negatif.
Sementara itu, Sistem Pengesanan Pencerobohan juga mengkelaskan
amaran sebagai kejadian serangan atau bukan kejadian serangan. Ideologinya
situasi ini ialah dengan memungkinkan pengguna untuk memberi maklum
balas sama ada bersetuju atau tidak bersetuju dengan label yang diberikan
oleh Sistem Pengesanan Pencerobohan. Input yang diterima oleh Sistem
Pengesanan Pencerobohan adalah datang dari satu atau banyak pengesan
yang dipasang sebagai titik pengawasan dalam rangkaian komputer (Rietta,
2006). Pengesan-pengesan ini biasanya menjana banyak amaran (Varine,
2001) dan tidak kesemua amaran-amaran ini adalah berkaitan. Kesemua
amaran akan dianalisis dan hanya amaran yang berkaitan sahaja dilaporkan
sebagai kejadian serangan. Keseluruhan proses ini digambarkan seperti
Rajah 1.1.
Proses analisis ini menghasilkan input amaran yang dijana oleh
pengesan. Amaran-amaran ini kemudian akan dianalisis menggunakan
teknik-teknik aplikasi seperti kepintaran buatan atau artificial intelligent
(AI). Penggunaan teknik kepintaran buatan digunakan kerana ia boleh
dianggap sangat cekap, tepat dan berkesan dalam situasi di mana tugas-tugas
tersebut tidak mungkin dapat dilakukan dengan kecekapan manusia (human
expert) (Nilson, 1996).
6
Rajah 1.1: Proses Menganalisis Amaran Yang Dijana oleh Pengesan.
Dalam pada itu juga, adalah mustahil dengan kebolehan manusia
untuk mencari hubungan dan korelasi bagi data-data yang berjumlah besar
seperti set data KDD Cup ’99 (International Knowledge Discovery and Data
Mining Tools Competition 1999) (Hettich dan Bay ,1999). Set data KDD
Cup ’99 adalah salah satu set data yang telah diaudit dan digunakan oleh
kebanyakan pengkaji dalam bidang bahasa mesin. Data yang telah diaudit ini
menjadi satu pilihan kepada pengkaji kerana data tersebut proses untuk
mengaudit sesebuah set data yang besar seperti KDD Cup ’99 memakan
masa yang lama dan merumitkan. Dengan adanya set data yang telah diaudit
seperti KDD Cup ’99, maka pengkaji-pengkaji dapat menggunakanya secara
terus untuk proses eksperimen masing-masing tanpa melalui proses
pengauditan data.
Penganalisa / Analyser
pengesan
pengesan
pengesan
amaran
amaran
amaran
Kejadian / incidents
amaran
Sampah / trash
Kejadian / incidents
log
7
1.2 Objektif
Objektif-objektif bagi kajian ini adalah seperti berikut:
1. Untuk mengkaji isu-isu semasa dalam Sistem Pengesanan
Pencerobohan rangkaian.
2. Mengenal pasti ciri dan jenis serangan yang berlaku melalui data
yang dikumpulkan oleh Sistem Pengesanan Pencerobohan.
3. Mengenal pasti klasifikasi serangan-serangan rangkaian dengan
menggunakan teknik kepintaran buatan.
4. Mengklasifikasi amaran kejadian sebenar dan amaran normal
dengan cepat supaya pentadbir keselamatan rangkaian dapat
bertindak balas terhadap kejadian keselamatan.
5. Menghasilkan statistik pengklasifikasian serangan bagi setiap
teknik klasifikasi yang dibandingkan.
Objektif jangka masa panjang:
Memperluaskan konsep perlindungan keselamatan ke atas aset-aset ICT
terutama sistem rangkaian komputer. Ini dapat dilakukan dengan
memperbanyakkan perkakasan dan perisian pintar yang tidak boleh
sewenang-sewenangnya diserang oleh aktiviti-aktiviti penceroboh rangkaian
komputer.
8
1.3 Skop Projek
Skop projek yang dilakukan dalam tesis ini adalah seperti berikut:
i) Menjalankan proses pengklasifikasian terhadap set data
latihan KDD Cup ’99 menggunakan klasifikasi pepohon
keputusan, rule-based dan pilihan fuzzy.
ii) Menjalankan proses pengklasifikasian terhadap set data ujian
KDD Cup ’99 menggunakan klasifikasi pepohon keputusan.
iii) Melakukan perbandingan ketepatan dan kebolehan di antara
teknik pengklasifikasian yang digunakan bagi menentukan
teknik yang terbaik.
iv) Menggunakan set data latihan dan ujian 10% KDD Cup ’99
sebagai input data.
v) Menggunakan perisian See5/C5.0 untuk proses
pengklasifikasian.
9
1.4 Kepentingan Kajian
Pentingnya kajian ini adalah seperti berikut:
1. Mendapatkan gambaran awal tentang penggunaan Sistem
Pengesanan Pencerobohan dalam keselamatan rangkaian.
2. Mendapatkan sebab-sebab berlakunya penghasilan banyak
amaran palsu positif yang dihasilkan oleh Sistem Pengesanan
Pencerobohan.
3. Menyediakan satu penyelesaian kepada Sistem Pengesanan
Pencerobohan bagi mengurangkan penghasilan amaran palsu
positif dengan berkesan, efektif dan selamat.
Memberi satu pendekatan baru kepada Sistem Pengesanan
Pencerobohan tentang penggunaan kepintaran buatan dalam mengenal pasti
amaran-amaran sebenar dan palsu positif sekali gus meningkatkan kapasiti
penggunaan sistem rangkaian komputer.
10
1.5 Metodologi Penyelidikan
Tesis ini adalah bertujuan untuk menerangkan tentang Sistem
Pengesanan Pencerobohan dan teknik pengklasifikasian data-data amaran
yang bersaiz besar dengan menggunakan kaedah perlombongan data dan
pepohon keputusan dengan mendalam. Kajian ini memfokuskan bahagian
yang dikatakan memberi nilai kepada kajian dan perlu berdasarkan kepada
objektif kajian.
1.5.1 Pelaksanaan Makmal
Untuk menilai kebolehan teknik kepintaran buatan yang dipilih dalam
melabel data sama ada amaran kejadian atau amaran normal, kerja-kerja
berikut akan dilaksanakan.
1. Menguji dan melaksana teknik yang dicadangkan dalam
persekitaran simulasi. Pada tahap ini, aktiviti utama kajian
termasuk mengkaji dan mengenal pasti perkara-perkara
berikut:
a. Jenis-jenis serangan utama yang akan
diklasifikasikan dan dikenal pasti mengikut
kategori masing-masing.
11
b. Penggunaan set data KDD Cup ‘99 sebagai data
ujian.
c. Pemilihan teknik kepintaran buatan yang sesuai
untuk mengklasifikasikan data-data amaran yang
bersaiz besar.
d. Penggunaan perisian klasifikasi yang sesuai dan
berkebolehan untuk memproses data-data yang
bersaiz besar.
1.5.2 Pengujian simulasi
Bagi menghasilkan keputusan ujian yang cekap, adalah penting bagi
Sistem Pengesanan Pencerobohan dapat mengklasifikasikan amaran dengan
tepat. Ianya dapat dilakukan dengan mengurangkan bilangan palsu positif
dan palsu negatif (Gowadia, 2005). Pemilihan syarat (rules) dan parameter
untuk menilai ketepatan Sistem Pengesanan Pencerobohan mestilah tepat dan
akan di bincangkan dalam Bab 3.
Bagi menilai dan mengukur keberkesanan simulasi semasa eksperimen
akan dibincangkan dalam Bab 4. Keputusan akan dianalisis dan
dibandingkan kepada keputusan yang dilakukan semasa kajian perpustakaan.
12
KDD Cup ‘99
Data Ujian
Data Latihan
Kelas Klasifikasi
U2R
R2L
Probe
DoS
Normal
Laporan Statistik
Palsu
Negatif
Palsu Positif
1.6 Rangka Kerja Teori
Fokus utama kajian projek ini adalah berdasarkan kepada rangka
kerja teori seperti Rajah 1.2. Terdapat tiga modul utama kerja yang terlibat.
Modul pertama ialah pemilihan data input untuk dijalankan proses
pengklasifikasi. Pemilihan set data input yang digunakan ialah set data
latihan dan set data ujian yang diperoleh dari arkib KDD Cup ’99. Penjelasan
terperinci kandungan dan sifat-sifat set data latihan dan set data ujian
dijelaskan di dalam Bab 3 di bawah seksyen 3.9.
Rajah 1.2: Gambarajah Rangka Kerja Teori Pengenalpastian Amaran Palsu
Positif Menggunakan Perlombongan Data Dan Pepohon Keputusan
Pengklasifikasi
Penggalian Data dan Pepohon Keputusan Rule-based Fuzzy
13
Penggunaan set data latihan yang mempunyai label serangan adalah
untuk membolehkan pengklasifikasi membina struktur pengalaman dan
pembelajaran pengalaman (knowledge learning). Pembelajaran pengalaman
kemudian akan digunakan untuk mengklasifikasi set data ujian yang
mempunyai bilangan atribut sama dengan set data latihan tetapi tidak
mempunyai label serta nilai-nilai atribut yang berlainan dari set data latihan.
Ini bertujuan untuk menentukan ketepatan dan kebolehan pengklasifikasi
tersebut mengklasifikasi data-data baru yang ada pada set data ujian
berdasarkan pengalaman yang dibina semasa proses pengklasifikasi set data
latihan.
Terdapat tiga jenis pengklasifikasi yang digunakan untuk membina
struktur pengalaman dan pembelajaran pengalaman. Ia adalah perlombongan
data dan pepohon keputusan, rule-based dan fuzzy-threshold. Perisian
pengklasifikasi yang digunakan adalah sebuah perisian pepohon keputusan
yang hasilkan oleh Quinlan iaitu See5/C5.0 (RuleQuest, 2007). Penjelasan
mengenai ciri-ciri pengklasifikasi ini akan dijelaskan di dalam Bab 3.
Pengklasifikasi-pengklasifikasi ini akan mengklasifikasi set data latihan dan
set data ujian kepada kelas normal dan empat kelas serangan iaitu DoS,
Probe, R2L dan U2R. Ciri-ciri mengenai kelas serangan ini akan
dibincangkan di dalam Bab 3 di bawah seksyen 3.8.
Pada modul ketiga iaitu modul laporan statistik akan memaparkan
bilangan palsu positif dan palsu negatif kelima-lima kelas normal dan
serangan. Berdasarkan bilangan palsu positif dan bilangan palsu negatif yang
14
dihasilkan, keputusan dan kesimpulan mengenai ketepatan sesebuah
pengklasifikasi akan diperoleh. Pemilihan pengklasifikasi yang mempunyai
ketepatan klasifikasi yang tinggi adalah berdasarkan penghasilan bilangan
palsu positif yang rendah.
1.7 Struktur Tesis
Bab-bab dalam tesis adalah susunan mengikut pelbagai aspek
mengenai putaran kajian seperti berikut:
• Bab 1: Mengemukakan tentang pengenalan tesis.
Menerangkan tentang objektif, skop dan metodologi kajian.
• Bab 2: Bagi mendalami secara meluas tentang Sistem
Pengesanan Pencerobohan, bab ini akan menerangkan
mengenainya tentang objektif, fungsi dan jenis-jenis Sistem
Pengesanan Pencerobohan. Di samping itu, bab ini juga
mendefinisikan amaran, kejadian, dan informasi yang
dikumpulkan oleh sistem pengesanan pencerobohan. Berdasarkan
kepada informasi yang dikumpulkan, klasifikasi akan dibuat di
antara amaran dan kejadian.
15
• Bab 3: Menyenaraikan dan menghuraikan implementasi
perlombongan data dan pepohon keputusan serta beberapa teknik
kepintaran buatan lain yang digunakan untuk mengklasifikasikan
dan mengenal pasti amaran dalam Sistem Pengesanan
Pencerobohan.
• Bab 4: Memfokuskan gambaran keseluruhan tentang
bagaimana eksperimen dijalankan, keputusan eksperimen dan
perbandingan antara eksperimen yang telah dijalankan.
• Bab 5: Kesimpulan umum akan di sarankan berdasarkan
penerangan dari bab-bab sebelumnya dan rujukan kepada kerja-
kerja akan datang.
16
Bab 2 Kajian Latar Belakang Sistem
Pengesanan Pencerobohan
2.1 Pengenalan
Sistem Pengesanan Pencerobohan atau lebih dikenali sebagai IDS
(Intrusion Detection System) adalah merupakan sistem inovatif teknologi
pertahanan keselamatan yang boleh dianggap efektif bagi mengesan dan
bertindak terhadap serangan. Sistem Pengesanan Pencerobohan bertindak
mengawal sumber-sumber aktiviti yang menjadi sasaran serangan seperti
sistem dan data dengan memantau setiap aktiviti dan sambungan dalam
komputer dan rangkaian komputer (Rebecca dan Peter, 2001). Bab ini
membincangkan teknologi Sistem Pengesanan Pencerobohan dengan lebih
terperinci bermula dengan definisi, sejarah ringkas, komponen asas dan
jenis-jenis serta terminologi yang biasa digunakan dalam menerangkan
maksud sesebuah Sistem Pengesanan Pencerobohan.
2.2 Sistem Pengesanan Pencerobohan
Setiap tahun, serangan terhadap komputer dan rangkaian komputer
sentiasa meningkat walaupun perlindungan automatik seperti antivirus dan
17
tembok api atau lebih dikenali sebagai firewall dipertingkatkan dan dijadikan
sebagai keperluan tambahan untuk keselamatan IT (Information
Technology). Pengesanan pencerobohan diperkenalkan sebagai salah satu
cara untuk mengesan dan menghalang pencerobohan. Pada kebiasaannya
Sistem Pengesanan Pencerobohan dipasang dan ditempatkan bersama-sama
dengan tembok api dan sistem tapisan antivirus sebagai sistem perlindungan
bagi mengoptimumkan tahap keselamatan sistem komputer.
Pengesanan pencerobohan (intrusion detection) adalah proses
memantau aktiviti-aktiviti yang berlaku dalam sistem komputer atau
rangkaian dan menganalisis data-data aktiviti tersebut untuk mengesan
tanda-tanda pencerobohan (Rebecca dan Peter, 2001). Pencerobohan pula
didefinisikan sebagai cubaan untuk berkompromi dengan kerahsiaan
(confidentiality), integriti dan kesediaadaan (availability) rangkaian
komputer. Ianya juga merujuk cubaan untuk melepasi mekanisme
keselamatan. Sistem Pengesanan Pencerobohan pula didefinisikan sebagai
perisian dan perkakasan yang digunakan untuk memantau dan menganalisis
proses dan mengenal pasti kejadian secara automatik (Rebecca dan Peter,
2001).
Oleh yang demikian, tujuan utama Sistem Pengesanan Pencerobohan
adalah hanya semata-mata untuk mengesan sebarang aktiviti yang sama ada
telah dikenal pasti ataupun belum dikenalpasti, tetapi yang ada kaitan dengan
ancaman atau serangan. Pengesanan ini juga boleh memberi tindak balas
aktif dan pasif kepada sistem lain untuk tujuan pencegahan.
18
2.3 Sejarah Ringkas Sistem Pengesanan Pencerobohan
Menurut Paul Innella dalam artikelnya bertajuk “The Evolution of
Intrusion Detection Systems” yang disiarkan dalam laman web Security
Focus bertarikh 16 November 2001, pelopor pertama yang mengilhamkan
konsep Sistem Pengesanan Pencerobohan ialah James Anderson
(Securityfocus, 2007). Menurut Anderson dalam artikelnya bertajuk
“Computer Security Threat Monitoring and Surveillance” yang ditulis pada
tahun 1980, beliau menekankan bahawa matlamat utamanya adalah untuk
meningkatkan pengauditan keselamatan komputer dan memantau kebolehan
sistem pengguna komputer.
James Anderson mencadangkan dengan menggunakan jejak audit
(audit trail), mana-mana capaian yang tidak mempunyai kebenaran capaian
ke atas fail boleh dikesan kerana jejak audit terdapat pada kebanyakan mesin.
Oleh itu, jejak audit boleh digunakan untuk memantau aktiviti pengguna.
Rekod-rekod audit kemudian boleh disenaraikan mengikut identiti kerja,
tarikh, masa dan sebagainya (Securityfocus, 2007).
Cadangan James Anderson mengenai jejak audit sebenarnya adalah
konsep yang sama digunakan semula oleh beliau dalam memperkenalkan
Sistem Pengesanan Pencerobohan berasaskan Hos atau yang lebih dikenali
sebagai HIDS (Host-based Intrusion Detection System) sekarang. Dalam
sistem HIDS, setiap hos mempunyai Sistem Pengesanan Pencerobohannya
tersendiri yang bertindak memantau aktiviti pengguna komputer. Oleh yang
19
demikian, apa yang dikatakan oleh Paul Innella mengenai James Anderson
dalam hasil kerjanya adalah benar dan beliau adalah pelopor kepada
permulaan HIDS dan Sistem Pengesanan Pencerobohan secara amnya
(Securityfocus, 2007).
Sistem Pengesanan Pencerobohan berasaskan Rangkaian atau
dikenali sebagai NIDS (Network-based Intrusion Detection System) telah
diperkenalkan oleh Todd Heberlein pada tahun 1990. Sistem Pengesanan
Pencerobohan tersebut dinamakan sebagai “Network Security Monitoring”
(NSM). Konsep NSM adalah mengumpul, menganalisis dan menjana amaran
dalam mengesan dan bertindak balas terhadap mana-mana pencerobohan
(Securityfocus, 2007).
2.4 Komponen Asas Sistem Pengesanan Pencerobohan
Dalam bidang pengesanan pencerobohan, hasil kerja yang
dikemukakan oleh James Anderson pada tahun 1980 boleh dianggap seminal
(berpengaruh besar untuk perkembangan selanjutnya) dan memperkenalkan
asas-asas Sistem Pengesanan Pencerobohan yang masih dikekalkan sehingga
kini. Pengesanan pencerobohan adalah perhubungan sesuatu yang baru tetapi
pengenalan fungsi-fungsi sistem kompleks dan mengintegrasikannya kepada
infrastruktur keselamatan yang sedia ada membawa banyak cabaran. Jurang
yang luas wujud antara jenis-jenis Sistem Pengesanan Pencerobohan sama
ada yang sedia ada dalam pelbagai jenis produk atau dalam kajian sekarang
20
ini. Jenis-jenis utama Sistem Pengesanan Pencerobohan ini dicirikan
berdasarkan perbezaan kegunaannya dalam memantau dan menganalisis
aktiviti-aktiviti rangkaian dalam sesebuah sistem rangkaian komputer.
Untuk memahami dengan lebih mendalam lagi mengenai perbezaan
antara jenis-jenis Sistem Pengesanan Pencerobohan ini, Rajah 2.1 berikut
memberi gambaran tentang komponen asas model proses sesebuah Sistem
Pengesanan Pencerobohan (Rebecca dan Peter, 2001).
Rajah 2.1: Model Proses bagi Pengesanan Pencerobohan
Sumber: Rebecca dan Peter (2001)
Informasi Kejadian – Informasi kejadian yang diperoleh daripada
pelbagai sumber digunakan untuk menentukan sama ada
pencerobohan berlaku atau tidak.
Analisis – Bahagian model Sistem Pengesanan Pencerobohan yang
mengorganisasikan dan membuat keputusan terhadap input yang
Informasi kejadian dari
punca
(hos, rangkaian, aplikasi)
Tindak balas
(tindakan diambil semasa
dikesan)
Analisis
(misuse atau anomaly)
INPUT ACTIVITY OUTPUT
21
diperoleh dari proses sebelumnya. Proses sebelumnya tersebut ialah
sama ada kejadian adalah aktiviti-aktiviti pencerobohan sedang
berlaku atau telah berlaku. Analisis yang biasa ialah pengesanan
salah guna (misuse) dan pengesanan anomali (anomaly).
Tindak balas – Set tindakan yang diambil oleh sistem setelah
pencerobohan dikesan. Ia biasanya dikelaskan kepada aktif atau pasif.
Tindak balas aktif akan melibatkan penilaian automatik dalam
bahagian sistem. Manakala tindak balas pasif pula melibatkan laporan
penemuan Sistem Pengesanan Pencerobohan kepada pentadbir sistem
yang akan membuat penilaiannya terhadap laporan kejadian tersebut.
2.5 Sistem Pengesanan Pencerobohan Berasaskan
Rangkaian dan Hos
Sistem Pengesanan Pencerobohan berasaskan rangkaian beroperasi
dengan memantau trafik rangkaian dengan mengimbas dan menganalisis
kandungan dan aktiviti paket sesebuah rangkaian komputer. Penempatan
pengesan sesebuah Sistem Pengesanan Pencerobohan dalam rangkaian
adalah sangat kritikal untuk mengurangkan risiko dikesan dan diketahui
penceroboh. Pengesan yang ditempatkan di bahagian luar rangkaian, jauh
dari perlindungan perkakasan kawalan capaian seperti tembok api atau
penghala (router), berkebolehan melapor lebih banyak dari laporan dari
pengesan yang ditempatkan di bahagian dalam rangkaian. Pengesan dalaman
22
digunakan untuk mengesan kejadian yang berkemungkinan mengingkari
dengan serius polisi keselamatan yang dijana dari rangkaian dalaman.
Kelebihan dan kekurangan sesebuah Sistem Pengesanan Pencerobohan
berasaskan rangkaian disenaraikan seperti Jadual 2.1 (Rebecca dan Peter,
2001).
Sistem Pengesanan Pencerobohan berasaskan hos pula hanya
memantau trafik rangkaian dan kejadian sistem pada dirinya sendiri sahaja.
Kemungkinan sesebuah Sistem Pengesanan Pencerobohan jenis ini dipasang
atau ditempatkan di setiap hos hanya melibatkan hos-hos yang kritikal dalam
rangkaian. Kelebihan dan kekurangan sesebuah Sistem Pengesanan
Pencerobohan berasaskan hos disenaraikan seperti Jadual 2.2 (Rebecca dan
Peter, 2001).
Sistem Pengesanan Pencerobohan berasaskan aplikasi adalah subset
daripada Sistem Pengesanan Pencerobohan berasaskan hos. Sistem
Pengesanan Pencerobohan berasaskan aplikasi boleh menganalisis lebih jelas
kejadian-kejadian yang berlaku dengan aplikasi perisiannya. Sistem
Pengesanan Pencerobohan boleh juga di integrasi dan digabungkan kedua-
dua Sistem Pengesanan Pencerobohan berasaskan hos dan rangkaian untuk
menghasilkan Sistem Pengesanan Pencerobohan hibrid.
23
24
25
2.6 Kelebihan dan Ciri-ciri Sistem Pengesanan
Pencerobohan
Kelebihan-kelebihan utama sesebuah Sistem Pengesanan
Pencerobohan adalah seperti berikut (Rebecca dan Peter, 2001):
Mengesan serangan komputer dan lain-lain pencerobohan
keselamatan yang mana tidak dihalang atau terlepas pandang oleh
pelindung keselamatan utama yang lain seperti tembok api
(firewall), kawalan capaian (Access Control List), authentication
dan sebagainya.
Menghalang tingkah laku yang bermasalah dengan meningkatkan
langkah berjaga-jaga terhadap risiko sistem komputer yang akan
diserang atau terus menutup sistem tersebut daripada diserang
dengan lebih teruk.
Mengesan probe (proses untuk akses rangkaian tanpa kebenaran)
dan pengimbas port yang cuba untuk melakukan serangan.
Berkebolehan untuk mengetahui asal-usul pencerobohan,
kebenaran meningkatkan diagnosis, mengembalikan dan
mengukur kebenaran selepas serangan.
26
Mendokumentasikan ancaman asal dari dalam dan luar sistem,
membenarkan pengurusan keselamatan untuk merealisasikan
penilaian risiko dan memasukkannya ke dalam strategi
keselamatan untuk proses tindak balas (response).
Bertindak sebagai kawalan kualiti untuk reka bentuk keselamatan
dan pelaksanaan dengan memberi perhatian sesetengah kesalahan
(errors) sebelum kejadian yang lebih serius berlaku.
Kelebihan-kelebihan Sistem Pengesanan Pencerobohan tersebut di
atas telah memangkinkan banyak syarikat pembinaan perisian dan individu-
individu yang berminat dalam bidang keselamatan komputer merealisasikan
penghasilan Sistem Pengesanan Pencerobohan. Ini terbukti dengan lebih 150
produk komersial freeware dan shareware Sistem Pengesanan
Pencerobohan telah diperkenalkan dan boleh didapati untuk kegunaan
masing-masing. Untuk memudahkan penilaian dibuat terhadap produk ini,
projek kajian yang dijalankan di National Institute of Standards and
Technology (NIST), Amerika Syarikat oleh Rebecca Base dan Peter Mell
pada tahun 2001 telah memperkenalkan senarai ciri-ciri yang perlu ada untuk
sesebuah Sistem Pengesanan Pencerobohan yang bagus (Rebecca dan Peter,
2001). Antaranya ialah:
1. Sistem Pengesanan Pencerobohan mesti beroperasi secara berterusan
tanpa pengawasan manusia. Sistem hendaklah cukup berkebolehan
27
untuk membolehkannya dilarikan walaupun dalam latar belakang
sistem yang sedang diperhatikan oleh penyerang.
2. Sistem Pengesanan Pencerobohan mesti boleh bertoleransi dengan
tahan silap (fault tolerent) dan terus berfungsi walaupun sistem
mengalami kegagalan dan tidak menghilangkan ingatan pengetahuan
setelah dihidupkan semula.
3. Sesebuah Sistem Pengesanan Pencerobohan sendiri mesti terhalang
dari cubaan pencerobohan. Dengan ini sistem boleh memantau
dirinya sendiri untuk memastikan ia tidak dicuba untuk dicerobohi.
4. Sistem Pengesanan Pencerobohan mesti menggunakan seminimum
yang mungkin ingatan sistem komputer agar tidak menyebabkan
sistem komputer menjadi perlahan.
5. Tingkah laku mencurigakan mesti boleh dilihat oleh Sistem
Pengesanan Pencerobohan dan dapat dibezakan daripada tingkah laku
normal.
6. Sistem Pengesanan Pencerobohan mesti senang untuk di konfigurasi
dan diadaptasi kepada sistem komputer yang mempunyai ciri-ciri
berlainan dari sistem komputer lain.
28
7. Sistem Pengesanan Pencerobohan mesti berkebolehan untuk
bertoleransi dengan perubahan yang berlaku kepada sistem komputer
apabila terdapat penambahan dan pengurangan program kepadanya.
8. Akhir sekali, sesebuah Sistem Pengesanan Pencerobohan mesti tidak
mudah tertipu oleh mana-mana cubaan untuk menceroboh sistem
rangkaian komputer sama ada melalui trafik rangkaian atau capaian
terus ke atas pengendalian pentadbir Sistem Pengesanan
Pencerobohan.
2.7 Pengesanan Salah Guna dan Pengesanan Anomali
Terdapat dua teknik utama digunakan untuk menganalisis kejadian
dan mengesan serangan iaitu pengesanan salah guna (misuse)dan anomali
(Rebecca dan Peter, 2001).
Pengesanan salah guna bergantung pada rakaman terdahulu atau
pengenalan kepada corak spesifik pencerobohan yang mana membenarkan
mana-mana data yang sepadan dengan aktiviti semasa dilaporkan. Corak
yang bertindak untuk mengenal pasti serangan ini dikenali sebagai signature
yang telah dikenali dan digunakan sebagai “pengesanan berasaskan
signature” untuk analisis jenis ini. Kelemahan ketara sistem ini ialah ia tidak
dapat mengenal pasti pencerobohan dan serangan yang baru muncul
sekiranya ia belum diketahui lagi. Fenomena serangan yang berlaku tetapi
29
aktiviti serangan tidak dapat dikesan adalah dikenali sebagai salah negatif.
Oleh itu, ia perlu sentiasa dikemaskinikan dengan corak-corak serangan baru
untuk menghalang dari di ceroboh (Rebecca dan Peter, 2001).
Pengesanan anomali menganggap semua pencerobohan adalah
aktiviti-aktiviti ganjil. Aktiviti-aktiviti ganjil yang dimaksudkan ialah
aktiviti yang baru atau selain daripada aktiviti-aktiviti harian biasa yang
berlaku dalam sesebuah rangkaian komputer. Sebagai contoh, terdapat
beberapa aktiviti rangkaian yang berlaku dalam sesebuah sistem rangkaian
komputer selama beberapa bulan dengan penggunaan talian trafik yang
hampir normal. Tetapi dalam tempoh berkenan juga terdapat satu aktiviti
yang luar biasa berlaku yang memonopoli hampir kesemua jalur lebar talian
dalam rangkaian. Situasi ini dikatakan ganjil kerana pada masa-masa
kebiasaan aktiviti tersebut adalah normal. Maka dengan itu, aktiviti tersebut
adalah salah satu aktiviti ganjil yang perlu dipantau dan dikenalpasti sama
ada ia adalah aktiviti pencerobohan, serangan atau normal. Ini kerana bukan
kesemua aktiviti ganjil adalah aktiviti pencerobohan atau serangan kerana ia
mungkin adalah aktiviti normal. Contohnya ialah penggunaan perisian muat
turun P2P (peer to peer) atau perisian sembang siber (chatting) yang
menggunakan saiz lebar jalur talian rangkaian yang besar.
Justeru itu, untuk membezakan aktiviti-aktiviti serangan dan normal,
suatu profil aktiviti normal diperlukan sebagai rujukan untuk mengenal pasti
sebarang aktiviti tidak normal iaitu pencerobohan. Walau bagaimanapun,
dalam kehidupan sebenar hanya sebahagian daripada aktiviti-aktiviti ganjil
30
adalah pencerobohan. Oleh itu terdapat dua kebarangkalian untuk sistem
pengesanan anomali (Rebecca dan Peter, 2001):
Aktiviti ganjil yang bukan pencerobohan dianggap sebagai
pencerobohan dan dikenali sebagai kesalahan positif .
Pencerobohan yang bukan aktiviti ganjil akan dibiarkan tanpa
diambil apa-apa tindakan dan ia dikenali sebagai kesalahan
negatif.
Justeru itu, isu utama di dalam pembangunan sistem berdasarkan
analisis anomali ialah untuk memilih tahap ambang (thresholds) untuk
mengatasi dua masalah tersebut.
Sistem pengesanan anomali tidak digunakan secara meluas kerana
kadar kesalahan positif yang tinggi. Dengan kadar kesalahan positif yang
tinggi, sesebuah sistem rangkaian komputer gagal berfungsi kepada
pengguna-penggunanya terutama pengguna baru kerana mereka ini adalah
aktiviti ganjil dan dianggap penceroboh walaupun mereka mempunyai hak
capaian yang sah. Sistem ini juga memerlukan proses pengiraan yang banyak
untuk berfungsi dan mengemas kini sistem profil normal. Secara teori,
pengesanan anomali boleh mengenal pasti sebarang aktivitivpencerobohan
atau serangan yang baru muncul.
31
Sistem anomali yang lebih canggih meniru idea sistem pengesanan
salah guna tetapi dengan menggunakan konsep anomali iaitu dengan
mengenal pasti kelakuan dan sifat normal rangkaian sebagai pencerobohan.
Set kelakuan dan sifat normal rangkaian di simpan di dalam pangkalan data.
Justeru itu, sebarang kelakuan atau aktiviti rangkaian yang tidak terdapat di
dalam pangkalan data dikategorikan sebagai serangan atau pencerobohan
(Tsang, 2005).
2.8 Amaran dan Kejadian
Sesebuah Sistem Pengesanan Pencerobohan menghasilkan amaran
dan kejadian yang merupakan salah satu daripada ciri-cirinya. Namun, kadar
bilangan amaran dan kejadian yang dihasilkan adalah menjadi persoalan
kepada kemampuan sesebuah Sistem Pengesanan Pencerobohan. Bilangan
amaran yang banyak dihasilkan menunjukkan sesebuah Sistem Pengesanan
Pencerobohan itu berada dalam keadaan kesediaadaan (availability), stabil
dan berfungsi dengan baik. Daripada bilangan amaran tersebut, kadar
kejadian yang sebenar dapat di analisis dan diklasifikasikan sebagai kejadian
atau amaran 1 .
1 Dalam tesis ini, kedua-dua ungkapan amaran (alert) dan kejadian (incident) akan sentiasa
digunakan dan memainkan peranan utamanya masing-masing.
32
2.8.1 Amaran (Alert)
Amaran (merujuk kepada penunjuk atau peristiwa) didefinisikan
sebagai tindakan atau perbuatan yang dapat dilihat sama ada untuk
mengesahkan atau menafikan perhatian musuh (Rebecca dan Peter, 2001).
Merujuk kepada Rajah 2.2, amaran yang dimaksudkan di sini adalah input
yang dijana oleh pengesan. Di sepanjang tesis ini, amaran akan dijelaskan
sebagai trafik yang dikumpulkan oleh pengesan pada Sistem Pengesanan
Pencerobohan.
Rajah 2.2: Proses Menganalisis Amaran Yang Dijana oleh Pengesan.
Penganalisa /
Analyser
pengesan
pengesan
pengesan
amaran
amaran
amaran
Kejadian / incidents
amaran
Sampah / trash
Kejadian / incidents
log
33
2.8.2 Kejadian (Incident)
Semua amaran pastinya mempunyai nilai risiko. Tetapi sesetengah
amaran mungkin mempunyai risiko yang lebih tinggi berbanding dengan
yang lain (Rebecca dan Peter, 2001). Amaran yang mempunyai nilai risiko
yang cukup tinggi dan di mana ia dianggap sebagai “telah melanggar polisi
keselamatan” adalah dianggap kejadian (Shirey, 2000). Terdapat beberapa
masalah untuk membezakan kejadian daripada amaran kerana tidak semua
amaran boleh dianggap sebagai kejadian.
Pertama, kejadian adalah keputusan penunjuk terjemahan analisis.
Juruanalisis memeriksa dengan teliti untuk mendapatkan maklumat bagi
amaran yang dijana oleh penjana peristiwa (iaitu pengesan) (Rebecca dan
Peter, 2001). Ini melibatkan pengetahuan manusia untuk menentukan nilai
risiko amaran tersebut. Pengecaman kepada kejadian ini dilakukan secara
manual di mana pakar analisis keselamatan mesti menentukan dan
menganalisis aktiviti-aktiviti luar biasa seperti cubaan capaian ke atas
sesebuah pelayan (server) dari nombor IP (internet protocol) pengguna dan
bukannya nombor IP pentadbir sistem (Berk, 2000). Perisian pengesanan
pencerobohan mencipta corak-corak untuk penggunaan sistem keadaan
normal dan berdasarkan corak tersebut ia akan mencetuskan tanda-tanda
amaran pada bila-bila masa apabila berlaku penggunaan sistem yang luar
biasa (Jackson, 2004).
34
Kedua, oleh sebab bilangan trafik dalam rangkaian semakin
meningkat dan bertambah menjadikan kerja-kerja memantau, menganalisis
dan memisahkan ancaman daripada normal semakin sukar. Situasi tersebut
akan menjadi lebih teruk sekiranya pelajar-pelajar bagi sesebuah universiti
yang memerlukan maklumat dan kebebasan akademik dihalang oleh
pentadbir rangkaian yang melaksanakan kawalan yang ketat terhadap
rangkaian universiti tersebut (Jackson, 2004).
Dengan kesukaran tersebut, sesebuah Sistem Pengesanan
Pencerobohan kemungkinan akan mengembalikan keputusan yang salah
terhadap amaran dan kejadian. Oleh itu, dua jenis keputusan kesilapan yang
mungkin dikembalikan adalah seperti Jadual 2.3 (Pfleeger, 2003).
Jadual 2.3: Jenis-jenis kesilapan yang wujud bagi penggunaan Sistem
Pengesanan Pencerobohan.
Jenis I Salah Positif
(False Positive)
Amaran yang ditimbulkan untuk
sesuatu yang bukan serangan sebenar,
Janis II Salah Negatif
(False Negative)
Tidak menimbulkan amaran bagi
serangan sebenar yang berlaku.
Kadar amaran salah positif dan salah negatif yang dijana menjadi
pengukur kepada sensitiviti kebolehan dan keberkesanan sesebuah Sistem
Pengesanan Pencerobohan sebagai pengesan pencerobohan yang bagus
35
ataupun sebaliknya. Implementasi Sistem Pengesanan Pencerobohan
membolehkan pengguna mengubahsuai sensitiviti sistem terhadap satu sama
lain. Tahap perbezaan kesilapan ini sangat berhubung kait antara satu sama
lain bagi maksud ketepatan (accuracy) dan mengingati semula (recall).
Lebih tinggi tahap salah positif bermakna lebih rendah ketepatan Sistem
Pengesanan Pencerobohan dan sebaliknya. Lebih tinggi tahap salah negatif
bermakna mengingati bagi Sistem Pengesanan Pencerobohan semakin
rendah.
2.9 Salah Positif dan Salah Negatif
Maksud ungkapan bagi salah positif bagi sesebuah Sistem
Pengesanan Pencerobohan adalah memerihalkan situasi di mana Sistem
Pengesanan Pencerobohan tersebut mencetuskan amaran apabila terdapat
aktiviti berniat hasad (malicious) atau serangan dikesan. Ungkapan lain yang
biasa digunakan ialah amaran palsu (false alarm) dan “benign trigger”.
Amaran palsu boleh dikategorikan sebanyak lima kategori seperti berikut
(Securityfocus, 2007):
i. Amaran Limpahan Trafik
Trafik yang disebabkan oleh peristiwa bukan malicious yang
berlaku dalam rangkaian. Contohnya ialah sesebuah Sistem
Pengesanan Pencerobohan mencetuskan amaran apabila
mengesan kehadiran limpahan paket ICMP yang disebabkan oleh
36
terdapatnya destinasi yang tidak dapat dicapai akibat daripada
kegagalan perkakasan tersebut dalam Internet.
ii. Amaran berkaitan perkakasan
Amaran serangan yang tercetus yang disebabkan oleh kandungan
dan aktiviti-aktiviti paket rangkaian ganjil atau paket yang tidak
dapat dikenal pasti yang dihasilkan oleh sebilangan perkakasan
dalam rangkaian.
iii. Pelanggaran Protokol
Amaran yang disebabkan oleh trafik rangkaian yang tidak dapat
dikenal pasti. Trafik jenis ini biasanya dijana apabila perisian
pelanggan yang ditulis adalah mempunyai kesalahan pengkodan.
iv. Amaran Positif Sebenar
Amaran yang dijana oleh Sistem Pengesanan Pencerobohan tanpa
sebarang sebab. Amaran jenis ini biasanya disebabkan oleh
pepijat pada Sistem Pengesanan Pencerobohan.
v. Amaran Bukan Malicious
Amaran yang dijana dari keadaan masa nyata (real-time) yang
bukan hasad (malicious) seperti capaian pautan hiper (hyperlink)
kepada laman-laman web yang menghasilkan tetingkap pop-up
yang berterusan sehingga menyebabkan sistem komputer menjadi
perlahan.
37
Maksud ungkapan salah negatif bagi sesebuah Sistem Pengesanan
Pencerobohan pula adalah memerihalkan situasi di mana ketidakupayaan
Sistem Pengesanan Pencerobohan mengesan dan mencetuskan amaran
apabila terdapat aktiviti hasad atau serangan sebenar berlaku. Tindakan boleh
dilakukan ke atas konfigurasi Sistem Pengesanan Pencerobohan untuk
mengurangkan salah negatif tanpa menyebabkan bilangan salah positif
meningkat Tetapi konfigurasi ini terlalu sukar untuk mencapai tahap
“keseimbangan”. Kesukaran dalam mereka bentuk “keseimbangan” ini
adalah untuk membolehkan pelaksanaan Sistem Pengesanan Pencerobohan
lebih terurus tanpa menimbulkan risiko yang lain. Analisis bagaimana Sistem
Pengesanan Pencerobohan mengesan sesuatu serangan adalah penting agar
pemahaman yang diperoleh itu disatukan dengan tindakan konfigurasi
terhadap sesebuah Sistem Pengesanan Pencerobohan bagi mengurangkan
kedua-dua salah positif dan salah negatif. (Securityfocus, 2007).
2.10 Pilihan Tindak balas Bagi Sistem Pengesanan
Pencerobohan
Setelah sesebuah Sistem Pengesanan Pencerobohan menerima
maklumat kejadian dan dianalisis untuk mencari tanda-tanda serangan, ia
akan menjana tindak balas. Tindak balas pasif menyediakan maklumat dalam
bentuk amaran atau notis kepada pentadbir rangkaian yang akan menentukan
dan membuat keputusan yang akan diambil. Sesetengah serangan atau
38
pencerobohan kemungkinan memerlukan tindak balas aktif seperti
menghasilkan koleksi maklumat atau perubahan persekitaran untuk
menghalang aktiviti-aktiviti penyerang atau penceroboh secara automatik
(Rebecca dan Peter, 2001).
Bagi tindak balas pasif, Sistem Pengesanan Pencerobohan akan
merekodkan ke dalam log atau pangkalan data maklumat mengenai trafik
ancaman atau kejadian setelah trafik tersebut dikesan. Tindak balas pasif
bergantung pada tindakan seseorang untuk bertindak apabila pencerobohan
berlaku. Jenis amaran yang dihasilkan oleh Sistem Pengesanan
Pencerobohan pasif adalah seperti penggera amaran, pemberitahuan
(notification) melalui e-mail dan sebagainya (Rebecca dan Peter, 2001) .
Sistem Pengesanan Pencerobohan aktif pula akan bertindak balas
terhadap pencerobohan melalui tindakan yang telah ditentukan oleh
pengguna. Contoh tindakan automatik tersebut ialah logging pengguna,
menghalang perkhidmatan, konfigurasi semula firewall secara automatik
untuk menghalang alamat IP tertentu dan sebagainya. (Rebecca dan Peter,
2001) .
2.11 Kesimpulan
Keselamatan komputer dan rangkaian telah menjadi sangat penting
seiring dengan sensitiviti maklumat yang disimpan dan dimanipulasikan
39
secara on-line. Sistem Pengesanan Pencerobohan telah bertindak sebagai
teknologi kritikal untuk membantu melindungi sistem-sistem ini dari
disalahgunakan dan diserang. Walau bagaimanapun, pelaksanaan Sistem
Pengesanan Pencerobohan ini sangat kompleks. Ia berbeza digunakan sama
ada hos, rangkaian atau aplikasi sebagai punca input maklumat. Ia
bergantung pada sepadanan corak serangan yang disimpan dan juga
bertindak berdasarkan tingkah laku tidak normal atau anomali untuk
menentukan tingkah laku normal. Tindak balas terhadap pencerobohan
menghasilkan amaran tetapi ia mungkin memerlukan reaksi automatik dari
sistem (Rebecca dan Peter, 2001).
40
Bab 3 Perlombongan Data dan Pepohon
Keputusan
3.1 Pengenalan
Teknik perlombongan data (data mining) adalah proses mengekstrak
pengetahuan yang tidak diketahui dari sesebuah set data yang besar. Kaedah
yang digunakan untuk mengekstrak pengetahuan tersebut dikelaskan kepada
kaedah klasifikasi (classification) dan penggugusan (clustering) (Brugger,
2004). Bagi kaedah klasifikasi, pelbagai teknik atau algoritma digunakan
seperti pepohon keputusan, neural network, bayesian, fuzzy logic, genetic
algorithms (GA), support vector machine (SVM) dan sebagainya. Manakala
bagi kaedah gugusan pula, teknik atau algoritma yang digunakan adalah
seperti K-Nearest Neighbour (KNN), K-mean dan sebagainya (Brugger,
2004).
Proses pengenalpastian dan klasifikasi yang dilakukan dalam projek
ini ialah dengan menggunakan algoritma perlombongan data dan pepohon
keputusan. Kaedah ini bertujuan untuk memastikkan keputusan klasifikasi
yang diperoleh lebih tepat dan ianya boleh dikatakan amat bererti secara
statistik berbanding teknik klasifikasi yang lain. Perbandingan dilakukan
berdasarkan kadar salah positif yang terhasil serta ketepatan kejayaan
ramalan terhadap set data ujian.
41
3.2 Perlombongan Data
Perkembangan teknologi komputer yang pesat telah memacu kadar
pemprosesan menjadi semakin pantas dan memerlukan ruang simpanan data
yang semakin besar. Tambahan pula, data yang disimpan boleh dicapai
secara atas talian (on-line). Oleh itu, kaedah tradisional menganalisis dan
pertanyaan (querying) tidak lagi sesuai dan mampu menampung saiz data
yang besar ini. Usama telah menjelaskan bahawa penyelesaian bagi masalah
ini adalah terbahagi kepada dua penemuan penting iaitu gudang data (data
warehousing) dan perlombongan data (data mining) (Usama, 1996).
Gudang data adalah teknik penyimpan secara sistematik data-data
yang dikumpulkan ke penyimpan data berpusat. Ia kemudian boleh di urus
secara berpusat dan diakses untuk penggunaan yang disahkan. Contoh bagi
gudang data ialah sistem pangkalan data institusi perbankan yang
menyimpan dan mengurus semua akaun, transaksi dan maklumat pelanggan
secara berpusat dan akses yang terhad. Penyelesaian kedua pula adalah
teknik yang dikenali sebagai perlombongan data yang digunakan untuk
penerokaan dan penganalisisan secara automatik corak data menggunakan
syarat-syarat bersekutu (association rules) seperti bahasa SQL.
Perlombongan data adalah proses menggambarkan pengetahuan
dalam pangkalan data yang melibatkan pengekstrakan data, pencarian data,
penjelajahan data, pemprosesan bentuk data, perlombongan data dan
penuaian maklumat (Turban, 2001). Perlombongan data sering disamakan
42
dengan istilah penemuan pengetahuan daripada pangkalan data atau
Knowledge Discovery and Data Mining (KDD). Pada tahun 1996, Usama
menggunakan istilah KDD untuk menunjukkan keseluruhan proses
mengekstrak pengetahuan peringkat tinggi dari data peringkat rendah
(Usama, 1996).
.
Dua sektor utama kelebihan perlombongan data iaitu sokongan
keputusan (decision support) dan pembangunan aplikasi. Sokongan
keputusan ialah proses perlombongan yang menukar data-data kepada
maklumat tersirat dalam bentuk fakta, syarat (rules) dan persembahan grafik.
Data-data yang besar mempunyai hubungan entiti dengan pelbagai elemen di
antara data-data tersebut (Usama, 1996). Contohnya adalah seperti pasar
raya-pasar raya besar yang menggabungkan maklumat dari sumber yang
berlainan antara organisasi mereka mengenai produk, harga, jenama,
pembekal, masa dan tarikh jualan. Maklumat ini kemudian dibuat kajian
terperinci mengenai hubungan diantara entiti-entiti seperti harga, jenama
serta tarikh jualan dan maklumat-maklumat lain. Kajian hubungan entiti ini
merupakan salah satu usaha mereka untuk meningkatkan penjualan dan
rantaian-pembekal bagi produk-produk yang laris dan mendapat sambutan
daripada pelanggannya atau sebaliknya. Hasil daripada gabungan data-data
tersebut, produk-produk yang laris akan dibekalkan ke cawangan pasar raya
mereka dengan kauntiti yang banyak dan produk yang kurang laris akan
dibekalkan dengan kuantiti yang sedikit atau menghentikan terus
pembekalannya untuk tempoh yang tertentu.
43
Bagi penggunaan kitar pembangunan aplikasi, perlombongan data
boleh menyedia dan membina model automatik sama ada model untuk
sistem pemprosesan atau model untuk peramalan (forecasting). Antaranya
ialah model untuk sistem pengesanan pencerobohan, kaji cuaca, dan pasaran
bursa saham (Usama, 1996).
3.3 Proses Perlombongan Data
Pada asasnya, terdapat tiga proses yang terlibat dalam proses
perlombongan data iaitu penyediaan data, penerokaan maklumat
menggunakan algoritma perlombongan data dan analisis penemuan
perlombongan data. Rajah 3.1 menunjukkan proses-proses perlombongan
data tersebut.
Rajah 3.1: Proses perlombongan data
Data Penyediaan Data
Algoritma Penggalian Data
Analisis Data
44
Pada langkah pertama, data akan dipilih, dibersihkan, dan dijalankan
proses awal di bawah pengawalan dan pengetahuan kumpulan pakar untuk
digunakan bagi aplikasi tertentu (Bigus, 1996). Untuk langkah kedua,
algoritma perlombongan data akan digunakan. Dalam langkah ini, data-data
yang terhasil daripada langkah pertama akan diproses, dimampatkan dan
menterjemahkannya kepada format yang boleh dikenal pasti maklumat yang
terkandung. Pada langkah ketiga pula, maklumat yang telah diperoleh
daripada langkah kedua akan dianalisis dan dinilai sama ada pengetahuan
tambahan telah diterokai/ditemui dan menentukan relatif penting fakta yang
dijana oleh algoritma penggali sama ada ia memenuhi piawaian tertentu atau
tidak (Bigus, 1996).
3.3.1 Penyediaan Data
Kualiti keputusan perlombongan data adalah bergantung pada
kuantiti dan kualiti data yang akan diterokai. Data mentah mungkin disimpan
dalam bentuk fail rata (flat file) atau pangkalan data. Dengan menggunakan
hubungan pangkalan data (relational database) akan memudahkan proses
memanipulasi data yang dikumpulkan. Menurut Bigus, input perlombongan
biasanya dipetakan kepada satu atau lebih jenis-jenis data yang boleh
dinyatakan seperti berikut (Bigus, 1996):
continuous numeric values (nilai julat seperti 0.0 hingga 1.0)
numeric discrete values (nilai integer) dan
45
categorical or symbolic values (nama simbolik)
Pemilihan data untuk diproses akan memberi kesan kepada tempoh
operasi perlombongan dan ketepatan yang diperoleh. Oleh itu, setelah data
dikumpulkan, data-data yang tidak lengkap dan mempunyai kesilapan rekod
perlu dibuang atau diasingkan. Proses awal data yang telah dipilih dan
dibersihkan ialah membolehkannya di tambah nilai seperti
menggabungkannya dengan set data yang lain atau memanipulasi lapangan
data untuk mengurangkan pertindihan data (Bigus, 1996).
3.3.2 Algoritma Perlombongan Data
Setelah data dikumpulkan dan menjalani pemprosesan awal, langkah
seterusnya ialah penggunaan algoritma perlombongan data. Banyak kaedah
telah digunakan untuk langkah ini seperti klasifikasi atau pengelasan,
penggugusan (clustering), modelling, ramalan siri masa (time-series
forecasting), persatuan (associations) dan corak jujukan (sequential patterns)
(Usama, 1996). Pemilihan salah satu kaedah ini adalah bergantung pada
kualiti dan kuantiti data.
Bagi kaedah pengelasan data, terdapat beberapa teknik algoritma
kepintaran buatan yang boleh digunakan seperti neural network, fuzzy logic,
genetic algorithm, Immulogical, support vector mechine, hidden markov,
pepohon keputusan (decision tree), Nearest neighbor, Rule induction dan
46
sebagainya (Usama, 1996). Pengelasan menggunakan teknik kepintaran
buatan ini digunakan secara meluas berbanding kaedah perlombongan data
yang lain kerana hasil pengelasan yang diperoleh lebih tepat (Brugger,
2004).
3.3.3 Analisis Output
Langkah terakhir dalam proses perlombongan data ialah menganalisis
output yang disediakan dalam bentuk grafik atau teks. Keputusan mestilah
boleh diterjemahkan dan difahami sepenuhnya untuk digunakan bagi
menambahkan maklumat yang sedia ada atau sebagai pembuat keputusan
(Bigus, 1996).
3.4 Pepohon Keputusan
Pepohon keputusan atau lebih dikenali sebagai decision tree adalah
model logik dipersembahkan sebagai pepohon pendua (binary) yang
menunjukkan bagaimana nilai bagi target variable boleh diramal dengan
menggunakan set nilai-nilai predictor variables (Deniz, 2003). Pada tahun
1993, Quinlan telah menghasilkan pengklasifikasian pepohon keputusan
C4.5 dan menjadi alatan yang sangat popular dan hebat untuk proses
klasifikasi dan ramalan (Quinlan, 1993). Pepohon keputusan sangat popular
47
dan menarik berbanding neural network kerana pepohon keputusan
memperkenalkan peraturan (rules) (RuleQuest, 2007).
Struktur pepohon keputusan dan peraturan tersebut boleh dibaca dan
difahami pengguna walaupun pengguna tersebut tidak mempunyai
pengetahuan dalam bidang kepintaran buatan, matematik, statistik dan
penerokaan data (DTREG, 2007). Peraturan boleh digunakan secara terus
untuk mencapai pangkalan data seperti bahasa query (SQL) dan
mengembalikan keputusan berdasarkan peraturan yang dimasukkan.
Kotak empat segi yang ditunjukkan dalam rajah pepohon pada Rajah
3.2 dipanggil nod. Setiap not mempersembahkan set rekod daripada set data
asal. Nod yang mempunyai anak (nod 1 dan nod 3 dalam Rajah 3.2)
dipanggil nod “interio”. Nod yang tidak mempunyai nod anak (nod 2, nod 4,
dan nod 5 dalam Rajah 3.2) dipanggil nod terminal atau nod daun. Nod yang
paling atas (nod 1 dalam Rajah 3.2) dipanggil nod akar (root). Nod akar
mempersembahkan baris-baris dalam set data (DTREG, 2007).
Pepohon keputusan dibina oleh pemisahan pendua yang membahagi
baris dalam nod kepada dua kumpulan (nod anak). Prosedur yang sama
kemudian digunakan untuk memecahkan kumpulan nod anak. Proses ini
dipanggil “recursive partitioning”. Pemisahan dipilih untuk membina
pepohon yang boleh digunakan untuk meramal nilai bagi target variable
(Deniz, 2003).
48
Rajah 3.2: Struktur Pepohon Keputusan
Sumber: DTREG (2007)
Nama bagi predictor variable digunakan untuk membina nod
ditunjukkan dalam kotak nod seperti Rajah 3.2. Sebagai contoh, nod 2 dan
nod 3 dihasilkan melalui pemisahan nod 1 berasaskan predictor variable
“Petal Length”. Jika pemisahan pemboleh ubah diteruskan, nilai-nilai yang
dihasilkan pada kanan dan kiri nod anak akan menunjukkan nilai yang
kurang atau lebih besar daripada titik pemisah. Dalam contoh di atas, nilai
titik pemisah ialah 2.45. Nod 2 terdiri daripada semua baris dengan nilai
“Petal Length” kurang daripada atau sama dengan 2.45. Manakala nod 3
terdiri daripada baris dengan “Petal Length” lebih besar daripada 2.45
(DTREG, 2007).
49
Pepohon keputusan seperti Rajah 3.2 dibaca dari atas ke bawah
bermula dengan nod akar dan disusuli dengan nod-nod anak dan daun.
Sesetengah nota menerangkan bahawa pepohon keputusan dibaca dari atas
ke kiri ke kanan dengan bermula pada nod akar dan disusuli dengan nod-nod
anak dan daun sehingga ke nod paling kiri seperti Rajah 3.3 (Mindtools,
2007).
Panjang nod akar sehingga nod daun yang terakhir bergantung pada
bilangan atribut yang ada pada set data. Jika set data tersebut mempunyai
bilangan atribut yang banyak, maka kemungkinan pepohon keputusan
menghasilkan nod-nod daun yang banyak dan sebaliknya untuk bilangan
atribut yang sedikit.
50
Rajah 3.3: Contoh Pepohon Keputusan Mendatar
Sumber: DTREG (2007)
3.4.1 Kegunaan dan Kelebihan Pepohon Keputusan
Daripada kebanyakan peralatan pembuat keputusan seperti neural-
network dan mana-mana teknik kepintaran buatan yang lain, pepohon
51
keputusan (dan gambar rajah pepohon) mempunyai beberapa kelebihan
yang antaranya ialah (Mindtools, 2007):
Mudah dan ringkas untuk difahami dan ditafsirkan.
Sesiapapun berkebolehan untuk memahami pepohon
keputusan selepas penerangan yang ringkas.
Ada nilai walaupun dengan data yang susah untuk dilatih.
Kandungan penting boleh dijana berdasarkan kepada pakar
mentafsir situasi (alternatif, kebarangkalian dan kos) dan
kepentingan hasilnya.
Mengguna model “white box” (kejuruteraan perisian). Jika
keputusan adalah diperoleh daripada model, maka dengan
mudah penjelasan untuk keputusan boleh disalin
menggunakan matematik ringkas.
Boleh digabung dengan teknik pembuat keputusan yang lain.
Pepohon keputusan senang dan banyak digabungkan dengan
teknik-teknik lain menghasilkan sebuah model pembuat
keputusan yang lebih pintar.
52
3.5 Pengesanan Pencerobohan dan Kepintaran Buatan
Beberapa kajian eksperimen telah dijalankan menggunakan pelbagai
teknik dan kaedah bagi membuktikan teknik-teknik tersebut sesuai dan
cukup berkebolehan untuk digunakan sebagai Sistem Pengesanan
Pencerobohan. Pembelajaran Mesin (Machine Learning) dan Kepintaran
Buatan (Artificial Intelligent) adalah contoh teknik yang popular dalam
melakukan kajian untuk Sistem Pengesanan Pencerobohan (Yu dan Jeffrey,
2007).
Dalam teknik-teknik tersebut pula, pelbagai kaedah hibrid juga
dilaksanakan bagi memantapkan lagi kebolehan Sistem Pengesanan
Pencerobohan. Antara kaedah hibrid yang telah digunakan ialah seperti
Nuero-Fuzzy iaitu gabungan di antara teknik neuro-network dan teknik logik
fuzzy (Riyad, 2007). Terdapat juga kombinasi antara fuzzy, multilayer
percention (MLP), linear genetic programming (LGP), dan support vector
machines (SVM) (Ajith, 2005).
Gabungan dua atau lebih teknik ini adalah kerana setiap teknik-teknik
tersebut mempunyai kelebihan dan kekurangan masing-masing dalam
mengesan tanda-tanda pencerobohan. Oleh itu, gabungan tersebut mampu
untuk mengatasi kelemahan-kelemahan yang wujud pada setiap teknik yang
digabungkan bersamanya (Ajith, 2005).
53
Penggunaan pembelajaran mesin dan kepintaran buatan dalam
pelaksanaan Sistem Pengesanan Pencerobohan bukan sahaja telah
mewujudkan harapan baru untuk pelindung kepada keselamatan komputer
malah ia juga telah menjadi satu keperluan yang harus diguna pakai sama
ada untuk Sistem Pengesanan Pencerobohan berasaskan hos atau rangkaian
(Riyad, 2007).
Pada tahun 1999, Lee, Solfo dan Mok dalam kajiannya yang betajuk
“A Data Mining Framework for Building Intrusion Detection Models” telah
menggunakan kaedah perlombongan data untuk membina model Sistem
Pengesanan Pencerobohan. Idea kajian Lee, Solfo dan Mok telah melaksana
program perlombongan data bagi mengaudit data dan mengira model
pengesanan berasaskan salah guna dan anomali.
Pada tahun 1999, Lee membina Sistem Pengesanan Pencerobohan
berasaskan perlombongan data seperti MADAM ID (Mining Audit Data for
Automated Models for Intrusion Detection) (Lee, 1999). Model MADAM ID
ini adalah prosedur yang melibatkan perlombongan corak dan perbandingan
untuk mengasingkan antara rekod “normal” atau “serangan”. Hasil daripada
pengasingan corak ini, ciri-ciri rekod kemudian di struktur dan digunakan
sebagai model sebenar yang akan dibina kemudian (Lee, 1999).
Perlombongan data digunakan untuk kedua-dua kaedah sama ada
pengelasan atau penggugusan (clustering). Kaedah yang paling popular ialah
pengelasan kerana ia menghasilkan ketepatan yang lebih tinggi berbanding
54
penggugusan (Brugger, 2004). Teknik pengelasan perlombongan data
dengan menggunakan pepohon keputusan telah di lakukan oleh Srilatha
Chebrolu pada tahun 2004 dengan menggunakan CART (Classification and
Regression Trees) (Srilatha, 2004). CART adalah salah satu perisian
perlombongan data yang berasaskan algoritma C4.5 (Quinlan, 1993).
Kruegel dalam kajiannya pada tahun 2003 telah menggunakan pepohon
keputusan untuk mempertingkatkan model pengesanan pencerobohan
berasaskan tandatangan (signature-based) (Kruegel, 2003).
3.6 Input Data
Data pencerobohan yang telah diaudit bagi pencerobohan rangkaian
atau komputer sedikit dan sukar diperoleh. Ini kerana kerja menstrukturkan
dan pengkatalogan audit data adalah suatu proses yang memerlukan intensif
yang lebih. Untuk mencipta model pengesanan yang berkesan, algoritma
model Sistem Pengesanan Pencerobohan memerlukan jumlah set data
bertanda yang besar.
Bagi proses perlombongan data, halangan utama untuk membina
Sistem Pengesanan Pencerobohan berasaskan perlombongan data juga
memerlukan jumlah data yang besar. Data-data tersebut perlu diaudit dan di
tanda untuk kegunaan algoritma seterusnya. Bagi sistem pengesanan salah
guna, data perlulah di tanda dengan tepat sama ada normal atau serangan.
Manakala untuk sistem pengesanan anomali, data pula mestilah disahkan
55
untuk memastikan ia sememangnya eksklusif normal iaitu bebas dari
serangan (Lee, 2001).
3.7 Program Penilaian DARPA
Penyumbang utama data pengesanan pencerobohan yang telah diaudit
telah diterbitkan dan boleh diperoleh daripada sebuah agensi kerajaan
Amerika Syarikat iaitu DARPA (Defence Advanced Research Project
Agency). Dalam mereka cipta dan mempromosi penemuan teknologi,
organisasi ini telah memperkenalkan banyak penemuan projeknya sejak
sedekad lalu.
Pada tahun 1969, salah satu kajian dan pembangunan projek yang
telah memperkenalkan ciptaannya untuk mencipta eksperimen “packet-
switched network”. Penemuan moden tersebut adalah permulaan kepada
perkembangan dan penemuan internet yang telah kita kecapi pada hari ini.
Program Penilaian Pengesanan Pencerobohan Off-line DARPA 1998 adalah
salah satu lagi projek penemuannya. Kekurangan usaha dan jurang yang
wujud untuk penyediaan audit data telah menyedarkan pihak DARPA untuk
menyediakan satu set data pencerobohan yang telah diaudit dengan tujuan:
Menjana penilaian pengesanan pencerobohan yang boleh
dikongsi oleh ramai pengkaji.
Menilai sebanyak mungkin sistem pengesanan pencerobohan.
56
Memasukkan pelbagai jenis serangan.
Mengukur kedua-dua kadar pengesanan serangan dan kadar
amaran palsu secara realistik untuk trafik normal.
Bagi mengelak berlakunya konflik penerbitan maklumat-maklumat
sulit dan untuk tidak menyebabkan gangguan operasi berlaku pada rangkaian
sebenar, suasana pengujian telah diset siap di Makmal Lincoln, MIT semata-
mata untuk tujuan sintesis tersebut. Suasana pengujian telah
mengimplikasikan operasi biasa kawasan rangkaian setempat (LAN) Tentera
Udara Amerika Syarikat (US Air Force) untuk lebih 2 bulan dengan
membenarkan dan mempertimbangkan sejumlah data untuk dikumpulkan
dan diaudit. Dokumentasi proses tersebut serta set-set data DARPA boleh
diperoleh melalui arkib on-line Makmal Lincoln, MIT melalui alamat
jejaring “http://www.ll.mit.edu/IST/ideval”.
3.7.1 Analisis Menggunakan Pengesanan dan Kadar Amaran
Palsu
Latar belakang trafik yang realistik digunakan untuk mengukur kadar
amaran palsu (kejadian amaran palsu positif) telah menjadi ciri baru bagi
permulaan Program Penilaian DARPA (Richard, 2000). Kebanyakan
penilaian sebelum ini hanya mengukur kadar pengesanan dengan subset
serangan yang kecil sahaja.
57
Kadar amaran palsu yang dijana beratus-ratus sehari menyebabkan
sistem hilang fungsi asalnya (unusable) (Joshua, 2001). Walaupun dengan
ketepatan pengesanan yang tinggi, penganalisis keselamatan perlu
menghabiskan banyak masa setiap hari untuk mengesahkan pengesanan dan
amaran bagi mengurangkan amaran palsu.
Kadar amaran palsu yang rendah dan kadar pengesanan
pencerobohan yang tinggi bermakna output sistem pengesanan pencerobohan
boleh dipercayai dan ini akan mengurangkan tenaga kerja manusia untuk
pengesahan pengesanan. Dalam memberi keutamaan bagi kedua-dua faktor
tersebut dari segi prestasi, penilaian keputusan daripada program DARPA
adalah sentiasa dipersembahkan secara kadar pengesanan dan kadar spesifik
bagi amaran palsu.
3.7.2 Pencapaian Program DARPA
Penilaian Pengesanan Pencerobohan DARPA 1998 telah berjaya
dalam memperkenalkan komprehensif pertama dan penilaian realistik untuk
Sistem Pengesanan Pencerobohan. Keputusannya telah menjadi sangat
penting dalam kajian terperinci dan komprehensif bagi menerangkan
keadaan terkini untuk sistem-sistem sedia ada.
Pencapaiannya juga telah menggerakkan agensi ini untuk
menghasilkan satu lagi set data yang sama iaitu Penilaian Pengesanan
58
Pencerobohan DARPA 1999 (Joshua, 2001). Pembaharuan pada siri ini ialah
dengan penambahan set Windows-NT, lebih banyak variasi dan latar
belakang trafik yang lebih realistik dan memperkenalkan data ujian bebas
serangan untuk kegunaan pengesanan anomali. Selepas meneliti dan menilai
kejayaan dan kelemahan DARPA 1998 dan DARPA 1999, program ini telah
menyediakan satu lagi set data yang dikenali DARPA 2000
(http://www.ll.mit.edu/IST/ideval).
Daripada MIT, Joshua dalam kajiannya pada tahun 2001 telah
melaporkan tiga lanjutan untuk penilaian ini (Joshua, 2001). Pertama,
LARIAT (Lincoln Adaptable Real-Time Information Assurance Testbed)
telah dibina dengan tujuan untuk di edar dan dikongsi kepada pemaju
perisian. LARIAT memperkenalkan sebanyak mungkin keperluan dan
mudah untuk konfigurasi suasana ujian masa-nyata untuk pembinaan dan
mengesahkan pengesanan pencerobohan. Keduanya ialah lebih banyak
multi-komponen serangan boleh dimasukkan. Akhir sekali ialah lebih banyak
model yang melibatkan serangan Sistem Pengesanan Pencerobohan dan
amaran telah dicipta.
3.8 Jenis Serangan dalam Set Data DARPA 1998
Data set DARPA 1998 terbahagi kepada dua bahagian set data iaitu
set data latihan dan set data ujian. Set data latihan adalah set data bagi tujuh
minggu yang dikumpulkan dari suasana ujian pelbagai sistem yang
59
mempersembahkan trafik berdasarkan operasi rangkaian yang asas dengan
diiringi beberapa siri pelancaran serangan secara automatik dan manual. Set
data ujian pula mengambil masa dua minggu untuk dikumpulkan dan
mengandungi pencerobohan tambahan dan baru. Senarai jenis serangan
yang lebih 300 serangan dikategorikan mengikut kelas masing-masing
seperti Jadual 3.1 (Kendall, 1999).
60
Jadual 3.1: Taburan Serangan DARPA 1998
Sumber: Kendall (1999)
Serangan berlaku dengan jelas Serangan berlaku secara sembunyi
Jumlah SeranganNama
Latihan Ujian Jumlah Latihan Ujian Jumlah Jumlah Denial of Service (DoS)
65
34
99
0
0
0
99
Apache2 0 3 3 0 0 0 3 Back 4 2 6 0 0 0 6 Land 7 2 9 0 0 0 9 Mailbomb 0 1 1 0 0 0 1 Neptune 13 7 20 0 0 0 20 Process-table 0 3 3 0 0 0 3 Smurf 19 8 27 0 0 0 27 Syslog 4 2 6 0 0 0 6 Teardrop 18 4 22 0 0 0 22 UDPStrom 0 2 2 0 0 0 2 Probe/Surveillance
50
14
64
0
0
0
64
IPSweep 22 3 25 0 0 0 25 Mscan 0 1 1 0 0 0 1 Nmap 12 6 18 0 0 0 18 Saint 0 2 2 0 0 0 2 Satan 16 2 18 0 0 0 18 Remote-to-Local
19
15
34
0
0
0
34
Dictionary 3 2 5 0 0 0 5 Ftp-write 2 1 3 0 0 0 3 Guest 4 0 4 0 0 0 4 Imap 4 1 5 0 0 0 5 Named 0 3 3 0 0 0 3 Phf 6 1 7 0 0 0 7 Sendmail 0 3 3 0 0 0 3 Xlock 0 2 2 0 0 0 2 Xsnoop 0 2 2 0 0 0 2 User-to-root
67
24
91
18
5
23
114
Eject 29 7 36 8 2 10 46 Fdformat 12 7 19 4 3 7 26 Ffbconfig 11 2 13 6 0 6 19 Perl 15 1 16 0 0 0 16 Ps 0 4 4 0 0 0 4 Xtem 0 3 3 0 0 0 3 Jumlah 201 87 288 18 5 23 311
61
3.8.1 Kategori Serangan
Simulasi serangan boleh diklasifikasikan mengikut tindakan dan
objektif penyerang. Setiap jenis serangan dikelaskan kepada empat jenis
kategori utama serangan iaitu:
Denial-of-service atau lebih dikenali sebagai serangan DoS
adalah serangan yang bertujuan untuk menghadkan atau
menafikan perkhidmatan yang disediakan kepada pengguna,
komputer atau rangkaian. Serangan ini biasanya menyaratkan
(overload) dengan teruk sistem yang menjadi sasaran penyerang.
Salah satu contoh serangan ini ialah SYN flood.
Probing pula adalah serangan berjenis pengawasan yang
dilakukan ke atas sistem dengan tujuan untuk mendapatkan
maklumat seperti konfigurasi sistem komputer dan rangkaian.
Dengan maklumat ini, penyerang berkemungkinan melakukan
serangan yang berikutnya. Pengimbas port (port scans) dengan
memberi jenis alamat IP (internet protocol) adalah salah satu
jenis serangan dalam kategori ini.
Remote-to-Local (R2L) adalah serangan yang bertujuan untuk
mendapatkan capaian setempat (local access) komputer atau
rangkaian yang mana sebelum ini penyerang hanya mempunyai
62
capaian jauh (remote access). Contoh serangan dalam kategori ini
adalah cubaan untuk mendapatkan penguasaan akaun pengguna.
User-to-Root (U2R) adalah serangan bertujuan untuk memperoleh
capaian root atau pentadbir (super-user) pada sistem atau
komputer tertentu yang mana sebelum ini penyerang hanya
mempunyai capaian peringkat user sahaja. Ia adalah cubaan
pengguna biasa yang tidak mempunyai hak istimewa untuk
mendapatkan hak tersebut yang dimiliki oleh pentadbir.
Sejumlah 24 jenis serangan telah dimasukkan sebagai data latihan
dan 14 jenis selebihnya adalah jenis serangan baru yang ditambah dan
dimasukkan sebagai data ujian. Ia bertujuan untuk membuat perbandingan
kebolehan Sistem Pengesanan Pencerobohan ke atas jenis serangan yang
diketahui dan jenis serangan yang belum diketahui (Kendall, 1999).
3.8.2 Jenis-jenis Serangan
Terdapat sifat semula jadi 24 jenis serangan yang dinilai dalam tesis
ini seperti yang diterangkan oleh Kendall pada tahun 1999 dalam tesis ijazah
sarjananya yang bertajuk “A Database of Computer Attacks for the
Evaluation of Intrusion Detection Systems”. Penerangan Kendall tidak secara
menyeluruh tetapi telah memberi sedikit pengetahuan mengenai kaedah dan
ciri-ciri yang berbeza bagi setiap serangan. Seperti yang telah dibincangkan
63
di atas, pengkategorian jenis serangan mengikut kelas masing adalah dinilai
berdasarkan matlamat utamanya (Kendall, 99).
Serangan DoS dicipta untuk mengganggu perkhidmatan sistem
komputer dan rangkaian. Sesetengah serangan DoS seperti smurf membebani
dengan teruk perkhidmatan rangkaian sehingga menyebabkan rangkaian
tersebut tergendala. Teardrop dan Ping of Death pula mewujudkan paket
“malformed” yang mana dikendalikan secara tidak betul oleh mesin mangsa.
Sebahagian daripada jenis serangan DoS yang diperkenalkan dalam kajian
ini adalah seperti Jadual 3.2.
Jadual 3.2: Jenis-jenis Serangan DoS
Jenis
Serangan
Servis Mekanisme Kesan Serangan
back http menyalahgunakan
(abuse)
Melambatkan respons server
land http menyalahgunakan/pepijat Melumpuhkan servis mesin
komputer
neptune TCP Menyalahgunakan Menyangkal servis pada satu
atau lebih port
PoD ICMP Pepijat Melumpuhkan servis mesin
komputer
smurf ICMP Menyalahgunakan Melambatkan servis rangkaian
teardrop - Pepijat Reboot mesin
64
Serangan Probe dilancarkan oleh program yang secara automatik
mengimbas rangkaian komputer untuk mengumpulkan maklumat atau untuk
mengetahui kelemahan yang ada. Serangan ini tidak berbahaya tetapi ia
boleh menjadi serangan lebih berbahaya kerana ia boleh memberi petunjuk
kepada penyerang tentang kelemahan mesin dan perkhidmatan serta tempat-
tempat yang lemah pada sistem dan rangkaian komputer. Serangan seperti
satan membolehkan penyerang amatur yang tidak berpengalaman memeriksa
beratus-ratus mesin komputer dalam rangkaian bagi mengetahui mesin yang
mudah untuk diserang. Sebahagian daripada jenis serangan Probe yang
diperkenalkan dalam kajian ini adalah seperti Jadual 3.3.
Jadual 3.3: Jenis-jenis Serangan Probe
Jenis
Serangan
Servis Mekanisme Kesan Serangan
ipsweep ICMP menyalahgunakan
sifat/ciri (abuse of
feature)
Mengenal pasti mesin
yang aktif dalam
rangkaian
nmap Pelbagai
menyalahgunakan sifat/ciri
Mengenal pasti port yang
aktif pada mesin
portsweep Pelbagai
menyalahgunakan sifat/ciri
Mengenal pasti port yang
aktif dalam rangkaian
satan Pelbagai
menyalahgunakan sifat/ciri
Mengenal pasti
kelemahan yang mudah
diserang
65
Bagi serangan R2L, penyerang yang tidak mempunyai akaun dalam
komputer mangsa menghantar paket kepada komputer tersebut dan
memperoleh capaian setempat (local access). Serangan Imap (kategori R2L)
mengeksploitasi penimbal limpahan (buffer overflow) dalam perisian pelayan
rangkaian dan ftp-write pula mengeksploitasi polisi keselamatan yang lemah
dan salah konfigurasi. Sebahagian daripada jenis serangan R2L yang
diperkenalkan dalam kajian ini adalah seperti Jadual 3.4.
Jadual 3.4: Jenis-jenis Serangan R2L
Jenis
Serangan
Servis Mekanisme Kesan Serangan
ftp_write ftp Misconfig Mencapai capaian pengguna
guess_passwd telnet, rlogin Misconfig Mencapai capaian pengguna
imap Imap Pepijat Mencapai capaian root
phf http
Pepijat Melaksanakan arahan sama
seperti pengguna http
spy http pepijat Mencapai capaian pengguna
warezclient ftp pepijat Mencapai capaian pengguna
warezmaster ftp pepijat Mencapai capaian pengguna
Suasana serangan U2R pula, pengguna setempat pada sesebuah
mesin cuba untuk mendapatkan keistimewaan yang biasanya dikhaskan
kepada UNIX root atau pentadbir mesin (super-user). Sesetengah serangan
U2R hanya diprogramkan dengan ringkas dan dilarikan pada peringkat root
66
dan mempengaruhi penimbal limpahan. Serangan seperti loadmodule pula
mungkin mengeksploitasi kelemahan pada verifikasi nama. Sebahagian
daripada jenis serangan U2R yang diperkenalkan dalam kajian ini adalah
seperti Jadual 3.5.
Jadual 3.5: Jenis-jenis Serangan U2R
Jenis Serangan Servis Mekanisme Kesan
Serangan
buffer_overflow Sesi pengguna Buffer overflow Mencapai root
shell
loadmodule Sesi pengguna Persekitaran sanitasi
lemah
Mencapai root
shell
multihop Sesi pengguna Persekitaran sanitasi
lemah
Mencapai root
shell
perl Sesi pengguna Persekitaran sanitasi
lemah
Mencapai root
shell
rootkit Sesi pengguna Buffer overflow Mencapai root
shell
3.9 Set Data KDD Cup ‘99
Data KDD Cup ’99 adalah set data yang telah diterbitkan untuk
kegunaan pengkaji dalam pelbagai bidang pembelajaran klasifikasi. Set data
ini mengandungi set data latihan dan ujian telah diusahakan dan disediakan
67
oleh Stolfo and Lee pada tahun 1999 yang telah mengekstrak versi pra-
proses set data DARPA 1998 (Lee dan Solfo, 1999) (Hettich dan Bay,1999).
Kumpulan ini telah menjalankan dengan baik proses pertama iaitu
persediaan data untuk peringkat perlombongan data seperti yang
dibincangkan di atas. Mereka telah mengaudit TCP/IP mentah (raw TCP/IP)
atau lebih dikenali sebagai tcpdump daripada data DARPA 1998 dan
mengekstrak karakter dan sifat-sifat pencerobohan (Hettich dan Bay,1999).
Data mentah bagi set data latihan adalah sebesar 4 gigabyte (4GB)
yang telah dimampatkan sebagai format nombor binari tcpdump dan
mengandungi data-data trafik rangkaian di MIT yang dikumpulkan selama
tujuh minggu pertama. Data mentah ini telah menjalani proses menggunakan
MADAM ID (Lee, 1999) untuk menghasilkan kira-kira lima juta rekod
sambungan rangkaian. Sambungan ini ditakrifkan mengikut jujukan paket
TCP bermula dengan alamat IP punca dan destinasi berserta masa mula dan
akhir, protokol, dan jenis perkhidmatan. Setiap sambungan dilabelkan sama
ada normal atau mengikut jenis serangan masing-masing. Maklumat lanjut
mengenai kedua-dua sambungan TCP/IP dan rekod sambungan dalam format
KDD ’99 boleh dirujuk pada Lampiran A dan Lampiran B (Lee dan Solfo,
1999) (Hettich dan Bay,1999).
Sepuluh peratus dari rekod sambungan data KDD ’99 yang
mempunyai lebih kurang setengah juta rekod sambungan juga disediakan dan
dilabelkan. Kebanyakan pengkaji Sistem Pengesanan Pencerobohan
68
menggunakan data sepuluh peratus ini kerana ia lebih senang untuk dipantau
dan disemak akan kredibilitinya (Ajith, 2005) (Hettich dan Bay,1999). Set
data KDD Cup ’99 boleh didapati dari arkib pengkalan data Universiti
California, Irvine (UCI Knowledge Discovery in Databases Archive) secara
online melalui laman jejaring “http://kdd.ics.uci.edu/”.
3.9.1 Sifat-sifat Rekod Sambungan KDD Cup ‘99
Dalam set data KDD Cup ’99, sifat-sifat yang telah di ekstrak sebagai
rekod sambungan mengandungi sifat sambungan TCP seperti tempoh
(duration), jenis protokol, bilangan bait (byte) yang dipindahkan dan bendera
(flag) yang menandakan sama ada status sambungan adalah normal atau
status error. Sifat hakiki ini menyediakan maklumat berguna untuk kegunaan
umum analisis trafik rangkaian (Lee, 1999) (Solfo dan Lee, 1999).
Oleh sebab serangan DoS dan Probe melibatkan penghantaran data
yang banyak pada sambungan kepada hos-hos sama pada masa yang sama, ia
mempunyai jujukan corak yang kerap dan berbeza dengan trafik normal.
Bagi corak ini, sifat “same_host” memeriksa semua sambungan lain untuk
sambungan 2 saat sebelumnya yang mempunyai destinasi yang sama bagi
sambungan terkini. Begitu juga dengan sifat “same service” yang akan
memeriksa semua sambungan lain bagi 2 saat sebelumnya yang mempunyai
perkhidmatan yang sama dengan sambungan terkini.
69
Sesetengah serangan Probe menggunakan lebih 2 saat jarak waktu (1
minit) apabila mengimbas hos atau port. Untuk itu, sifat seperti “host-based
traffic” telah dibina berdasarkan pada “connection window” bagi 100
sambungan.
Serangan R2L dan U2R pula hanya melibatkan satu sambungan.
Untuk mengesan serangan ini, sifat “connection” bagi setiap sambungan
dibina menggunakan domain pengetahuan. Sifat ini mencadangkan sama ada
data mempunyai kelakuan mencurigakan seperti bilangan nombor gagal log-
in (number of failed login), log-in berjaya atau tidak, sama ada log-in sebagai
root atau tidak dan sebagainya.
Sebanyak 42 sifat-sifat (termasuk jenis serangan) bagi setiap rekod
sambungan yang kebanyakannya adalah mempunyai nilai continuous. Setiap
sifat-sifat ini disenaraikan dan diterangkan secara ringkas pada Jadual 3.6,
Jadual 3.7, Jadual 3.8 dan Jadual 3.9 (Lee, 1999).
70
Jadual 3.6: Sifat asas bagi setiap sambungan TCP.
Nama Sifat Deskripsi Jenis
duration length (number of seconds) of the
connection
continuous
protocol_type type of the protocol, e.g. tcp, udp, etc. discrete
service network service on the destination, e.g.,
http, telnet, etc.
discrete
src_bytes number of data bytes from source to
destination
continuous
dst_bytes number of data bytes from destination
to source
continuous
flag normal or error status of the
connection
discrete
land 1 if connection is from/to the same
host/port; 0 otherwise
discrete
wrong_fragment number of ``wrong'' fragments continuous
urgent number of urgent packets continuous
71
Jadual 3.7: Sifat kandungan bagi setiap sambungan yang dicadangkan oleh domain pengetahuan.
Nama Sifat Deskripsi Jenis
hot number of ``hot'' indicators continuous
num_failed_logins number of failed login attempts continuous
logged_in 1 if successfully logged in; 0
otherwise
discrete
num_compromised number of ``compromised''
conditions
continuous
root_shell 1 if root shell is obtained; 0
otherwise
discrete
Su_attempted 1 if ``su root'' command attempted;
0 otherwise
discrete
num_root number of ``root'' accesses continuous
num_file_creations number of file creation operations continuous
num_shells number of shell prompts continuous
num_access_files number of operations on access
control files
continuous
num_outbound_cmds number of outbound commands in
an ftp session
continuous
Is_hot_login 1 if the login belongs to the ``hot''
list; 0 otherwise
discrete
Is_guest_login 1 if the login is a ``guest''login; 0
otherwise
discrete
72
Jadual 3.8: Sifat trafik bagi 2-saat “time window”.
Nama Sifat Deskripsi Jenis
count number of connections to the same
host as the current connection in the
past two seconds
continuous
serror_rate % of connections that have ``SYN''
errors
continuous
rerror_rate % of connections that have ``REJ''
errors
continuous
same_srv_rate % of connections to the same service continuous
diff_srv_rate % of connections to different services continuous
srv_count number of connections to the same
service as the current connection in
the past two seconds
continuous
srv_serror_rate % of connections that have ``SYN''
errors
continuous
srv_rerror_rate % of connections that have ``REJ''
errors
continuous
srv_diff_host_rate % of connections to different hosts continuous
73
Jadual 3.9: Sifat trafik bagi 100 sambungan “window”
Nama Sifat Deskripsi Jenis
dst_host_count no. of connections to same host as
the current connection in the past
two seconds
continuous
dst_host_serror_rate % of connections that have ``SYN''
errors
continuous
dst_host_rerror_rate % of connections that have ``REJ''
errors
continuous
dst_host_same_srv_rate % of connections to the same
service
continuous
dst_host_diff_srv_rate % of connections to different
services
continuous
dst_host_srv_count no. of connections to the same
service as the current connection
in the past two seconds
continuous
dst_host_srv_serror_rate % of connections that have ``SYN''
errors
continuous
dst_host_srv_rerror_rate % of connections that have ``REJ''
errors
continuous
dst_host_srv_diff_host_rate % of connections to different hosts continuous
dst_host_same_src_port_rate % of connections to same service
port
74
3.9.2 Penggunaan Data KDD Cup ’99
Oleh sebab ketidakselarian dalam kualiti dan kuantiti, pelbagai set
data DARPA yang telah diaudit telah menjadi batu tanda (benchmark)
kepada kajian dan pembangunan dalam Sistem Pengesanan Pencerobohan.
Pada tahun 1999, Lee menegaskan bahawa, apabila data yang diaudit tidak
direka khas untuk kegunaan keselamatan maka ia tidak boleh digunakan
untuk membina model pengesanan pencerobohan. Tugas ini memerlukan
lebih banyak domain pengetahuan dan ia mudah disediakan tanpanya (Lee,
1999).
Kebanyakan pengkaji dari seluruh dunia menggunakan data ini dalam
kajian mereka telah membuktikan keunikan set data ini dalam menyediakan
jumlah besar rekod sambungan rangkaian yang bervariasi luas dan dilabelkan
(Hettich dan Bay,1999). Untuk itu, penggunaan set data KDD Cup ’99
dipilih untuk digunakan dalam kajian ini bagi memenuhi objektif kajian.
3.10 Perisian See5 / C5.0
Perisian See5/C5.0 (See5) dicipta oleh Ross Quinlan hasil
pembaharuan dan peningkatan kebolehan algoritma C4.5. Sebelum
penciptaan See5, Ross Quinlan telah mencipta perisian klasifikasi yang
berasaskan pepohon keputusan iaitu C4.5 pada tahun 1993 hasil peningkatan
versi algoritma ID3 (Iterative Dichotomiser 3). Algoritma C4.5 adalah
75
perisian pengklasifikasian pepohon keputusan yang boleh diperoleh secara
percuma melalui laman jejaring Ross Quinlan (RuleQuest, 2007).
Manakala perisian See5 pula, Quinlan memasarkan produk ini secara
komersial dan penggunaannya memerlukan lesen berbayar melalui
syarikatnya RuleQuest Research (RuleQuest, 2007). Walau bagaimanapun,
Rulequest telah mengeluarkan lesen versi penilaian (evaluation version)
See5 selama 10 hari kepada individu atau organisasi yang ingin
menggunakan perisian tersebut secara penilaian. Di samping itu, terdapat
juga versi demo perisian See5 yang mempunyai limit penggunaan yang
terhad (RuleQuest, 2007).
Objektif penciptaan perisian See5/C5.0 adalah untuk menganalisis
pangkalan data yang berkapasiti besar mengandungi beratus-ratus atau
beribu-ribu rekod dan puluhan atau ratusan bilangan nombor, masa, tarikh,
atau lapangan nominal secara perlombongan data. See5 bertindak sebagai
alatan bantuan yang membantu pengguna mengubah data kepada
pengetahuan bagi pengguna membuat keputusan. Keputusan yang dihasilkan
melalui analisis See5 digunakan oleh penganalisis data dan pembuat
keputusan sesebuah organisasi dalam pelbagai lapangan perniagaan seperti
pemasaran, kewangan, pengurusan produk, dan pengurusan hubungan
pelanggan (RuleQuest, 2007).
See5 adalah perisian yang berasaskan seni bina pelanggan dan
menyokong pelbagai variasi sistem pengoperasian seperti Windows
76
2000/Xp/Vista, Linux dan Solaris. Rajah 3.4 menunjukkan antara muka
pengguna perisian See5. Kebolehan See5 untuk mengendalikan data yang
berkuantiti besar telah memangkinkan pengguna yang berkerjaya dalam
teknologi perlombongan data atau pengguna yang tidak mempunyai
pengetahuan khusus dalam matematik, statistik dan pembelajaran mesin
mempersembahkan keputusan secara mudah untuk difahami.
See5 menyediakan antara muka pengaturcaraan yang ringkas seperti
Rajah 3.4. Bagi memaksimumkan kebolehan penterjemahan pengetahuan,
klasifikasi See5 diterbitkan melalui pepohon keputusan dan set prasyarat IF-
THEN yang secara amnya senang dan mudah difahami berbanding dengan
neural network.
Melalui inisiatif antara muka grafik pengguna (GUI) pula, operasi
perlombongan data kemungkinan direka secara visual. See5 berkebolehan
memilih data, menyelidiki, menukar dan menterjemahkan secara visual
keputusan kepada penemuan pengetahuan yang produktif dan cekap. Secara
nyatanya, sumber kod C hasil dari pengklasifikasian yang dibina oleh See5
boleh dilaksanakan dan diintegrasikan dengan sistem sesebuah organisasi
(RuleQuest, 2007).
77
Rajah 3.4: Antara muka Pengguna Perisian See5
3.10.1 Fungsi dan Ciri-ciri See5
Antara fungsi penting yang ada pada See5 ialah persediaan data dan
pembinaan pengklasifikasian. Dalam proses persediaan data, beberapa syarat
perlu difahami dan patuhi. Antaranya ialah filestem dan files extension
seperti yang dihuraikan dalam Jadual 3.10. Penggunaan huruf besar pada
filestem dan files extension pula adalah tidak dibenarkan. Dalam tesis ini,
proses persediaan data untuk analisis menggunakan See5 tidak menjadi
masalah kerana set data yang diperolehi daripada arkib KDD Cup ‘99 adalah
dalam format bahasa mesin.
78
Manakala ciri penting pada See5 yang membezakannya daripada
perisian perlombongan data berasaskan pepohon keputusan yang lain pula
ialah Boosting, Winnowing attributes, Fuzzy thresholds, Prunning dan
Cross-validation. Ciri-ciri yang digunakan dalam tesis ini adalah winnowing
attributes, fuzzy thresholds dan prunning. Pemilihan ciri-ciri tersebut boleh
dilakukan pada GUI seperti Rajah 3.5.
Dalam tesis ini, perisian See5 digunakan sebagai alatan
perlombongan data yang melakukan pengklasifikasian set data KDD Cup ’99
berasaskan pepohon keputusan. Keputusan yang dihasilkan See5 dinilai
dengan menentukan kadar peratus salah positif dan salah negatif. Keputusan
dan penilaian hasil pepohon keputusan See5 akan dibincangkan dalam Bab 4.
79
Rajah 3.5: Antara muka Pengguna “Options” Perisian See5
80
Jadual 3.10: Rumusan extension bagi See5
Extension Menerangkan mengenai atribut data
.names Menerangkan mengenai atribut data [diperlukan]
.data Cases yang digunakan untuk menjana
pengklasifikasian
[diperlukan]
.test Unsees cases yang digunakan untuk menguji
pengklasifikasian
[pilihan]
.cases Cases yang akan di klasifikasi [pilihan]
.cost Perbezaan cost kesilapan klasifikasi [pilihan]
.tree Pepohon keputusan yang dihasilkan [output]
.rules Set prasyarat yang dihasilkan [output]
.out Laporan yang dihasilkan apabila
pengklasifikasian dijana
[output]
.set Persekitaran yang diset pada klasifikasi
sebelumnya.
[output]
81
Bab 4 Keputusan
4.1 Pengenalan
Keputusan model pengklasifikasian pepohon keputusan See5 bagi set
data KDD Cup ’99 dipersembahkan dan dibincangkan dalam bab ini.
Eksperimen menggunakan perisian See5 versi 2.04 yang di “install” pada
komputer peribadi berkelajuan Pentium(R) 4, 1.80 GHz dan kapasiti ingatan
512Mb. Eksperimen dilakukan dalam dua versi iaitu pengklasifikasian
menggunakan pilihan pepohon keputusan dan pengklasifikasian
menggunakan pilihan rule-based classification. Eksperimen seterusnya
menggunakan pengetahuan klasifikasi hasil pembelajaran pepohon
keputusan terhadap data latihan bagi mengklasifikasikan set data ujian.
Keputusan See5 ditunjukkan dalam bentuk peratus salah positif dan salah
negatif, struktur pepohon keputusan dan rule-based.
4.2 Klasifikasi Pepohon Keputusan
Eksperimen pengklasifikasian pertama dijalankan dengan
menggunakan pilihan pepohon keputusan See5. Cebisan struktur pepohon
keputusan yang dihasilkan ditunjukkan dalam Rajah 4.1. Struktur penuh
82
See5 [Release 2.04] Read 494021 cases (41 attributes) from kddcup.data Decision tree: wrong_fragment > 0: :...src_bytes <= 754: teardrop (979) : src_bytes > 754: pod (259) wrong_fragment <= 0: :...land = 1: land (22/1) land = 0: :...same_srv_rate <= 0.32: :...dst_host_diff_srv_rate <= 0.14: : :...src_bytes <= 0: neptune (106235/24)
: : src_bytes > 0: : : :...dst_host_count <= 11: buffer_overflow (3/1) : : dst_host_count > 11: : : :...src_bytes <= 6: satan (16/2) : : src_bytes > 6: normal (178/2) : dst_host_diff_srv_rate > 0.14: : :...src_bytes > 19: normal (256/1) : src_bytes <= 19: : :...dst_host_count <= 96: neptune (17) : dst_host_count > 96: : :...rerror_rate > 0.99: : :...diff_srv_rate <= 0.78: portsweep (59) : : diff_srv_rate > 0.78: satan (21)
. . .
pepohon keputusan boleh dirujuk pada Lampiran C. Proses pengklasifikasian
pepohon keputusan terhadap 494021 rekod data 10% KDD Cup ’99
mengambil masa 98.6 saat. Masa diambil bagi proses klasifikasi bergantung
pada saiz data, pilihan “option” klasifikasi, dan keupayaan komputer yang
digunakan. Pengklasifikasian dalam tesis ini dilakukan dengan pilihan
“default” pada See5. Dengan pilihan ini, ketulenan bilangan nod daun dan
level nod adalah 100%.
Rajah 4.1: Struktur Pepohon Keputusan Klasifikasi See5
83
Struktur pepohon keputusan yang dihasilkan See5 dalam Rajah 4.1
dibaca bermula dari kiri ke kanan. Setiap rekod data dibaca bermula dengan
atribut wrong_fragment dan disusuli dengan src_bytes, land, same_srv_rate
dan seterusnya sehingga nilai atribut setiap rekod memenuhi syarat pada
setiap nod. Sungguhpun struktur pepohon keputusan yang dihasilkan tidak
kelihatan seperti pepohon sebenar, ia boleh diparafrasa (paraphrased)
mengikut “IF-THEN rules” seperti Rajah 4.2 berikut:
Rajah 4.2: Parafrasa “IF-THEN rules”
Setiap nod daun pepohon keputusan menguji setiap nilai atribut atau
sifat pada rekod data. Jika nilai atribut rekod yang diuji memenuhi syarat
ujian, rekod akan di arah terus ke kanan (atas). Jika nilai atribut rekod yang
diuji tidak memenuhi syarat ujian, rekod akan di arah ke bawah (bawah).
Rajah 4.3 menunjukkan secara visual tujuh baris pertama cebisan pepohon
IF wrong_fragment IS GREATER THAN 0 THEN
IF src_bytes IS LESS THAN OR EQUAL TO 754 THEN teardrop
IF src_bytes IS GREATER THAN 754 THEN pod
ELSE
IF wrong_fragment IS LESS THAN OR EQUAL TO 0,
IF land IS EQUAL TO 1 THEN land
IF land IS EQUAL TO 0 THEN
IF same_srv_rate IS LESS OR EQUAL TO 0.32
THEN
IF dst_host_diff_srv_rate IS LESS OR EQUAL TO 0.14
IF src_bytes IS LESS OR EQUAL TO 0
THEN neptune
84
keputusan bagi Rajah 4.1 bagi memahami dengan lebih mendalam struktur
pepohon keputusan (kiri ke kanan) ini.
Rajah 4.3: Cebisan Struktur Pepohon Keputusan Secara Visual
Merujuk kepada cebisan rajah pepohon keputusan pada Rajah 4.1,
nombor yang terdapat dalam tanda kurung “( )” selepas nama setiap serangan
menunjukkan bilangan data yang memenuhi syarat pada nod tersebut.
wrong_fragment >0
src_bytes <= 754
land = 1
same_srv_rate<= 0.32
Y
Y
Y
N
N
N
teardrop
pod
land
Y
N
85
Contohnya, pada nombor dalam tanda kurung selepas teardrop iaitu 979
menunjukkan bahawa terdapat sebanyak 979 rekod serangan yang
mempunyai dan memenuhi syarat nilai wrong_fragment lebih besar daripada
0 dan nilai src_bytes lebih kecil atau sama dengan 754. Jika terdapat dua
nombor yang dipisahkan dengan “slash” dalam tanda kurung bermakna
nombor selepas “slash” menunjukkan bilangan data yang salah di klasifikasi
(misclassification) mengikut syarat nod tersebut. Contohnya, pada nombor
dalam tanda kurung selepas land sama dengan 1 iaitu 22/1 menunjukkan
bahawa terdapat 1 rekod data diklasifikasikan dengan salah sebagai serangan
land.
Sebanyak 120 nod daun yang dihasilkan selepas proses
pengklasifikasian. Nod akar pada struktur pepohon keputusan adalah atribut
wrong_fragment. Proses klasifikasi menggunakan sebanyak 20 daripada 41
atribut. Peratusan penggunaan atribut untuk proses pengklasifikasian
pepohon keputusan ini ditunjukkan dalam Jadual 4.1. Peratusan penggunaan
atribut ini penting kepada pengguna bagi menentukan hanya atribut yang
penting sahaja akan digunakan untuk membuat dan mengubah keputusan.
Pengurangan penggunaan atribut ini mendorong kepada teknik klasifikasi
lain menggunakan hanya atribut yang dipilih dan digunakan oleh pepohon
keputusan untuk membuat keputusan (Ajith, 2005).
86
Jadual 4.1: Peratus Penggunaan Atribut
Atribut Peratus
wrong_fragment 100%
land 100%
same_srv_rate 100%
dst_host_diff_srv_rate 99%
src_bytes 83%
dst_host_serror_rate 78%
num_compromised 78%
num_failed_logins 77%
dst_host_srv_diff_host_rate 77%
hot 77%
root_shell 77%
dst_host_same_src_port_rate 77%
duration 77%
srv_serror_rate 77%
protocol_type 57%
dst_host_srv_count 19%
dst_bytes 19%
count 18%
logged_in 3%
dst_host_srv_rerror_rate 1%
87
Hasil klasifikasi menunjukkan bahawa sebanyak 131 atau 0.03% data
daripada 494021 rekod diklasifikasikan dengan salah (misclassification). Ini
bermakna sebanyak 99.97% data diklasifikasikan dengan betul mengikut
jenis data normal dan serangan masing-masing.
Jadual 4.2 menunjukkan bilangan salah positif dan salah negatif
mengikut kelas masing-masing. Bagi kelas normal, sebanyak 78 data adalah
salah positif. Ini bermakna sebanyak 78 data dari kelas serangan lain disalah
klasifikasi sebagai data normal. Manakala sebanyak 11 data adalah salah
negatif. Ini bermakna sebanyak 11 rekod data normal diklasifikasikan
sebagai kelas serangan yang lain. Kadar salah positif klasifikasi See5 ialah
sebanyak 0.02%. Dengan itu, ketepatan See5 mengklasifikasikan data normal
dengan data serangan adalah sebanyak 99.98%.
Kadar salah positif bagi See5 mengklasifikasikan data mengikut kelas
ditunjukkan dalam Jadual 4.3. Kadar dikira dengan bilangan salah positif
atau salah negatif dibahagi dengan jumlah rekod iaitu 494021 dan didarab
dengan 100%.
Taburan salah positif dan salah negatif mengikut jenis-jenis serangan
ditunjukkan dalam Jadual 4.4. Klasifikasi pepohon keputusan See5 berjaya
mengklasifikasikan jenis serangan teardrop dan phf dengan ketepatan 100%.
88
Jadual 4.2: Bilangan Salah Positif dan Salah Negatif Mengikut Kelas
Menggunakan Klasifikasi Pepohon Keputusan
Kelas Bilangan Rekod Salah Positif
(False Positive)
Salah Negatif
(False Negative)
Normal 97278 78 11
DoS 391458 31 21
Probe 4107 9 55
R2L 1117 7 25
U2R 59 6 19
494021 131 131
Jadual 4.3: Kadar Salah Positif Klasifikasi Mengikut Kelas Menggunakan
Klasifikasi Pepohon Keputusan
Kelas
Kadar Salah Positif
(False Alarm Rate)
(%)
Normal 0.015
DoS 6.275 x 10-3
Probe 1.822 x 10-3
R2L 1.417 x 10-3
U2R 1.215 x 10-3
89
Jadual 4.4: Bilangan Salah Positif dan Salah Negatif Mengikut Jenis Normal
dan Serangan Menggunakan Klasifikasi Pepohon Keputusan
Jenis Bilangan
Rekod
Salah Positif
(False Positive)
Salah Negatif
(False Negative)
back 2203 0 9
buffer_overflow 30 4 2
ftp_write 8 0 5
guess_passwd 53 0 2
Imap 12 4 4
ipsweep 1247 3 3
land 21 1 0
loadmodule 9 0 7
multihop 7 1 1
neptune 107201 24 5
nmap 231 1 10
normal 97278 78 11
perl 3 1 0
phf 4 0 0
pod 264 0 5
portsweep 1040 1 27
rootkit 10 0 9
satan 1589 4 15
smurf 280790 6 2
spy 2 0 2
teardrop 979 0 0
warezclient 1020 3 10
warezmaster 20 2 2
494021 131 131
90
Klasifikasi See5 gagal mengklasifikasikan data serangan jenis spy
yang mempunyai hanya dua rekod dan hanya berjaya mengklasifikasikan
satu sahaja rekod jenis rootkit. See5 berjaya mengklasifikasikan serangan
jenis smurf dan neptune dari kelas DoS yang mendominasi bilangan rekod
dengan hanya salah klasifikasi 2 data bagi smurf dan 5 bagi neptune sebagai
serangan jenis lain. See5 juga salah klasifikasi (salah posotif) 6 data jenis
serangan lain sebagai smurf dan 24 sebagai neptune.
Taburan dalam Jadual 4.4 terlalu umum untuk menerangkan taburan
jenis-jenis serangan yang dikelaskan sebagai salah positif dan salah negatif.
Ia hanya menerangkan bilangan serangan yang dikelaskan sebagai salah
positif atau salah negatif tanpa menunjukkan pembahagian sebenar serangan
dikelaskan dalam kelas serangan yang sebenarnya. Oleh itu, Jadual 4.5
digunakan bagi menunjukkan jenis serangan sebenarnya dikelaskan ke dalam
kelas serangan yang berbeza (salah positif dan salah negatif). Jadual 4.5 juga
dipanggil confusion matrix.
Merujuk kepada jadual confusion matrix ini, dapat diperhatikan
bahawa salah positif yang terhasil selepas proses klasifikasi pepohon
keputusan untuk rekod normal adalah salah konfigurasi dari kesemua jenis
serangan kecuali land, perl, phf, pod dan spy. Jenis serangan yang terbanyak
menghasilkan salah positif kepada rekod normal ialah serangan dari jenis
Probe iaitu satan dengan 12 rekod dan diikuti dengan jenis DoS iaitu back
dengan 9 rekod.
91
Jadu
al 4
.5: C
onfu
sion
Mat
rix
Kla
sifik
asi P
okok
Kep
utus
an B
agi D
ata
Latih
an
92
4.3 Klasifikasi Rule-based
Pepohon keputusan kemungkinan sukar untuk difahami jika
melibatkan saiz data yang besar dan bilangan atribut yang banyak. Bagi
mengatasi masalah ini, pilihan lain yang digunakan ialah rule-based
classification. Ciri penting See5 adalah kebolehannya menjana klasifikasi
ruleset yang terdiri daripada koleksi tidak tersusun hubungan ringkas IF-
THEN rules.
Eksperimen klasifikasi kedua yang dilakukan ialah menggunakan
pilihan rule-based classification. Proses klasifikasi menggunakan pilihan
rule-based classification mengambil masa 151.8 saat. Masa yang digunakan
untuk proses klasifikasi ini lebih lama berbanding proses klasifikasi
pepohon keputusan kerana See5 akan membina pepohon keputusan terlebih
dahulu sebelum mengekstraknya menghasilkan rule. See5 menghasilkan
ruleset berdasarkan rule yang dihasilkan oleh nod-nod pepohon keputusan.
Perbezaannya adalah ruleset yang dijana melalui pilihan rule-based
classification lebih sedikit, ringkas dan mudah difahami.
Rajah 4.4 menunjukkan cebisan ruleset yang dihasilkan oleh See5.
Gambaran penuh ruleset boleh dirujuk di Lampiran D. Sebanyak 76 rules
yang dijana oleh rule-based classification See5. Setiap rule menunjukkan
bilangan rekod yang sepadan atau memenuhi rule tersebut berserta dengan
ukuran kebolehpercayaan (confident level) pada setiap rule. Susunan rule
93
disusun mengikut susunan alfabet jenis serangan. Setiap rule boleh
diparafrasa (paraphrased) seperti Rajah 4.2.
Rajah 4.4: Cebisan Ruleset yang Dihasilkan See5
See5 [Release 2.04] Read 494021 cases (41 attributes) from kddcup.data Rules: Rule 1: (2194, lift 224.1) service = http src_bytes > 971 hot > 0 -> class back [1.000] Rule 2: (18, lift 15644.0) duration <= 6323 service = telnet num_compromised > 0 num_shells <= 0 dst_host_same_src_port_rate > 0.09 -> class buffer_overflow [0.950] Rule 3: (10/2, lift 12350.5) src_bytes <= 19 dst_bytes > 4 logged_in > 0 num_compromised <= 0 dst_host_same_src_port_rate > 0.99 dst_host_srv_diff_host_rate <= 0.24 -> class buffer_overflow [0.750] Rule 4: (3/1, lift 9880.4) src_bytes > 0 same_srv_rate <= 0.32 dst_host_count <= 11 dst_host_diff_srv_rate <= 0.14 -> class buffer_overflow [0.600]
… … …
94
Nilai ukuran kebolehpercayaan diukur menggunakan kadar Laplace
(n-m+1)/(n+2) dengan n adalah nombor bilangan rekod yang memenuhi rule
dan m adalah nombor bilangan rekod yang tidak memenuhi rule tersebut
(misclassified). Ukuran kebolehpercayaan diukur dengan nilai 0 hingga 1.
Jika nilai kebolehpercayaan semakin menghampiri nilai 1, maka semakin
tinggi kebolehpercayaan dan sebaliknya. Bagi rule-based classifier, setiap
jenis serangan diramal mengikut rule. Ukuran kebolehpercayaan rules
ditunjukkan pada setiap rule selepas nama jenis serangan.
Nilai dalam tanda kurung sebelum susunan rule menunjukkan
bilangan rekod yang sepadan dan memenuhi syarat rule tersebut. Contoh dari
Rajah 4.4 menunjukkan sebanyak 2194 data rekod memenuhi syarat Rule 1
dengan kebolehpercayaan 100% adalah jenis serangan back. Jika terdapat
“slash” pada nilai tersebut bermakna nilai selepas “slash” adalah bilangan
misclassification. Contoh pada Rule 3 dalam Rajah 4.4 menunjukkan
sebanyak 10 rekod data memenuhi syarat rule tersebut dengan 2 daripadanya
adalah misclassification. Ini bermakna hanya 8 daripada data rekod
memenuhi rule tersebut dengan kebolehpercayaan 75% adalah jenis serangan
buffer_overflow.
Pilihan rule-based classifier See5 menghasilkan lebih dari satu rule
bagi satu jenis serangan. Ini disebabkan oleh terdapat beberapa atribut perlu
dipisahkan menghasilkan rule berasingan supaya rule tersebut tidak
misclassified jenis serangan lain serta lebih tinggi kebolehpercayaan.
95
Rajah 4.4 menunjukkan terdapat tiga rule yang dijana oleh See5 bagi
klasifikasi serangan jenis buffer_overflow. Rule 2 menunjukkan tahap
kebolehpercayaan yang paling tinggi bagi klasifikasi serangan jenis
buffer_overflow berbanding Rule 3 dan Rule 4. Ini menunjukkan rule-based
classifier See5 dengan sedaya keupayaannya mengklasifikasikan setiap jenis
serangan dengan memastikan supaya bilangan data misclassification atau
salah positif yang sedikit walaupun terpaksa menghasilkan bilangan rule
yang banyak untuk jenis serangan yang sama.
Jadual 4.6 menunjukkan taburan bilangan rule yang dihasilkan oleh
See5. Pilihan rule-based classifier See5 gagal menghasilkan rule jenis
serangan iaitu phf, rootkit, spy dan warezmaster. Kegagalan menghasilkan
rule bagi empat jenis serangan ini bermakna See5 telah salah
mengklasifikasikan semua data jenis serangan tersebut sebagai jenis normal
atau jenis serangan lain (salah negatif). Sebanyak 23 ruleset dihasilkan untuk
klasifikasi data jenis normal. Bagi data serangan yang paling banyak iaitu
smurf dan neptune, See5 cuma menghasilkan masing-masing 3 ruleset.
Pilihan rule-based classifier See5 menghasilkan 76 bilangan ruleset.
Sebanyak 170 atau 0.03% data daripada 494021 rekod diklasifikasikan
dengan salah (misclassification). Ini bermakna sebanyak 99.97% data
diklasifikasikan dengan betul mengikut jenis data normal dan serangan
masing-masing.
96
Jadual 4.6: Taburan Bilangan Rule
Jenis Bilangan Rekod Bilangan Rules
back 2203 1
buffer_overflow 30 4
ftp_write 8 1
guess_passwd 53 1
imap 12 2
ipsweep 1247 3
land 21 1
loadmodule 9 1
multihop 7 3
neptune 107201 4
nmap 231 2
normal 97278 23
perl 3 1
phf 4 0
pod 264 1
portsweep 1040 7
rootkit 10 0
satan 1589 7
smurf 280790 3
spy 2 0
teardrop 979 1
warezclient 1020 9
warezmaster 20 1
494021 76
97
Jadual 4.7 menunjukkan bilangan salah positif dan salah negatif
mengikut kelas masing-masing. Bagi kelas normal, sebanyak 105 data adalah
salah positif. Ini bermakna sebanyak 105 data dari kelas serangan lain
disalah klasifikasi sebagai data normal. Manakala sebanyak 17 data adalah
salah negatif. Ini bermakna sebanyak 17 rekod data normal diklasifikasikan
sebagai kelas serangan yang lain.
Jadual 4.7: Bilangan Salah Positif dan Salah Negatif Mengikut Kelas
Menggunakan Rule-based Classifier
Kelas Bilangan Rekod Salah Positif
(False Positive)
Salah Negatif
(False Negative)
Normal 97278 105 17
DoS 391458 53 21
Probe 4107 6 74
R2L 1117 2 38
U2R 59 4 20
494021 170 170
Kadar salah positif klasifikasi Rule-based Classifier See5 ialah
sebanyak 0.03 %. Dengan itu, ketepatan Rule-based Classifier See5
mengklasifikasikan data normal dengan data serangan adalah sebanyak
99.97%. Kadar ketepatan bagi Rule-based Classifier lebih rendah daripada
kadar ketepatan pepohon keputusan yang dihasilkan See5. Ini menunjukkan
98
bahawa pepohon keputusan lebih sesuai digunakan sebagai pengklasifikasian
untuk Sistem Pengesanan Pencerobohan.
Kadar salah positif bagi Rule-based Classifier See5
mengklasifikasikan data mengikut kelas ditunjukkan dalam Jadual 4.8. Kadar
salah positif menunjukkan bahawa Rule-based Classifier See5 dengan nyata
lebih sesuai dalam mengklasifikasikan data serangan kelas Probe, R2L dan
U2R berbanding klasifikasi pepohon keputusan. Kadar salah positif
menunjukkan bahawa Rule-based Classifier See5 dengan nyata kurang
sesuai dalam mengklasifikasikan data kelas normal dan data serangan kelas
DoS berbanding klasifikasi pepohon keputusan.
Jadual 4.8: Kadar Salah Positif Klasifikasi Mengikut Kelas
Menggunakan Rule-based Classifier
Kelas
Kadar Salah Positif
(False Alarm Rate)
(%)
Normal 0.021
DoS 0.011
Probe 1.215 x 10-3
R2L 4.048 x 10-4
U2R 8.097x 10-4
99
Taburan salah positif dan salah negatif mengikut jenis-jenis serangan
ditunjukkan dalam Jadual 4.9. Secara nyata, Rule-based Classifier See5
hanya berjaya mengklasifikasikan jenis serangan teardrop dengan ketepatan
100%. Rule-based Classifier See5 gagal mengklasifikasikan data serangan
jenis serangan iaitu phf, rootkit, spy dan warezmaster.
See5 berjaya mengklasifikasikan serangan jenis smurf dan neptune
dari kelas DoS yang mendominasi bilangan rekod dengan hanya salah
klasifikasi 2 data bagi smurf dan 4 bagi neptune sebagai serangan jenis lain
(salah negatif). Rule-based Classifier See5 juga salah klasifikasi (salah
positif) 21 data jenis serangan lain sebagai smurf dan 26 sebagai neptune.
Secara nyata, Rule-based Classifier See5 menghasilkan salah positif
dan salah negatif yang jauh lebih tinggi berbanding klasifikasi pepohon
keputusan kecuali data jenis serangan back dan guess_passwd. Bagi serangan
jenis lain, Rule-based Classifier See5 hanya menghasilkan salah positif
dengan lebih rendah berbanding klasifikasi pepohon keputusan untuk data
serangan jenis buffer_overflow, neptune, nmap, satan, dan warezclient.
100
Jadual 4.9: Bilangan Salah Positif dan Salah Negatif Mengikut Jenis Normal
dan Serangan Menggunakan Rule-based Classifier
Jenis Bilangan
Rekod
Salah Positif
(False Positive)
Salah Negatif
(False Negative)
back 2203 0 9
buffer_overflow 30 2 2
ftp_write 8 0 6
guess_passwd 53 0 1
imap 12 1 2
ipsweep 1247 2 3
land 21 1 0
loadmodule 9 0 7
multihop 7 1 1
neptune 107201 24 5
nmap 231 0 27
normal 97278 105 17
perl 3 1 0
phf 4 0 4
pod 264 0 5
portsweep 1040 2 24
rootkit 10 0 10
satan 1589 2 20
smurf 280790 28 2
spy 2 0 2
teardrop 979 0 0
warezclient 1020 1 19
warezmaster 20 0 4
494021 170 170
101
4.4 Klasifikasi Pepohon Keputusan dan Rule-based
Menggunakan Pilihan Fuzzy Threshold
Eksperimen klasifikasi seterusnya dilakukan dengan menggunakan
pilihan fuzzy threshold yang terdapat dalam See5. Klasifikasi menggunakan
pilihan fuzzy threshold sangat dominan dengan klasifikasi pepohon
keputusan. Ini kerana klasifikasi fuzzy juga menggunakan parafrasa
(paraphrased) mengikut “IF-THEN rules” sama dengan pepohon keputusan.
Kelebihan penggunaan fuzzy threshold dalam klasifikasi pepohon keputusan
See5 menjadikan keputusan yang dilakukan lebih “lembut” (softening).
Rajah 4.5 menunjukkan cebisan struktur pepohon keputusan menggunakan
pilihan Fuzzy Threshold dan struktur penuh pepohon keputusan tersebut
boleh dirujuk di Lampiran E.
Rajah 4.5: Cebisan Struktur Pepohon Keputusan Klasifikasi See5
Menggunakan Pilihan Fuzzy Threshold
See5 [Release 2.04] Options: Probability thresholds Read 494021 cases (41 attributes) from kddcup.data Decision tree: wrong_fragment >= 1 (0.5): :...src_bytes <= 28 (754): teardrop (979) : src_bytes >= 1480 (754): pod (259) wrong_fragment <= 0 (0.5): :...land = 1: land (22/1) land = 0: :...same_srv_rate <= 0.17 (0.325): :...dst_host_diff_srv_rate <= 0.1 (0.145): : :...src_bytes <= 0 (0.5): neptune (106235/24) : : src_bytes >= 1 (0.5): : : :...dst_host_count <= 5 (11.5): buffer_overflow
(3/1) : : dst_host_count >= 27 (11.5): … …
102
Klasifikasi pilihan fuzzy threshold adalah berbeza dengan klasifikasi
pepohon keputusan biasa. Perbezaan utamanya ialah keputusan yang
dilakukan pada setiap nod daun dilakukan menggunakan “soften threshold”
iaitu menggunakan julat nilai bawah dan nilai atas. Contoh nilai-nilai ini
adalah seperti 0.5<n<1.0. Nilai 0.5 adalah julat nilai bawah dan nombor 1.0
adalah nilai atas. Contoh jelas klasifikasi fuzzy dapat dilihat pada setiap baris
pepohon keputusan yang dihasilkan. Bagi rule yang dijana oleh klasifikasi
pepohon keputusan, nilai dalam tanda kurungan pada di akhir setiap rule
adalah nilai threshold. Nilai julat atas dan julat bawah ditentukan oleh See5
berdasarkan analisis sensitiviti ketara klasifikasi terhadap perubahan kecil
kepada threshold.
Nilai threshold pada baris pertama rule dalam Rajah 4.5 memberi
maksud bahawa jika wrong_fragment lebih besar atau sama dengan 1.5.
Baris keempat pula membawa maksud jika wrong_fragment kurang atau
sama dengan 0.5. Jika data rekod mempunyai nilai atribut wrong_fragment
yang diuji berada di antara dua nilai tersebut, maka data tersebut akan diuji
pada kedua-dua syarat dan keputusan akan dibezakan kemungkinannya.
Keputusan yang dihasilkan melalui pilihan fuzzy threshold dengan
nyata tidak memberi perubahan terhadap bilangan dan struktur nod daun.
Perbezaan nyata boleh dilihat pada nilai syarat pada beberapa nod daun,
kadar penggunaan atribut dan perbezaan salah positif dan salah negatif.
Perbezaan nyata juga pada masa yang diambil untuk proses pilihan fuzzy
threshold. Masa yang diambil untuk proses pilihan ini lebih lama berbanding
103
masa yang diambil untuk proses klasifikasi pepohon keputusan biasa iaitu
117.9 saat.
Keputusan yang dihasilkan melalui pilihan fuzzy threshold
menghasilkan 118 saiz pepohon atau bilangan nod daun iaitu sama dengan
bilangan nod daun yang dihasilkan menggunakan klasifikasi pepohon
keputusan tanpa fuzzy threshold. Bilangan misclassification pula ialah 129
dengan kadar 0.03 % iaitu kurang 2 data rekod daripada klasifikasi pepohon
keputusan tanpa pilihan fuzzy threshold. Jadual 4.10 menunjukkan bilangan
salah positif dan salah negatif yang dihasilkan selepas klasifikasi pilihan
fuzzy threshold mengikut kelas masing-masing. Manakala Jadual 4.11
menunjukkan kadar salah positif dan Jadual 4.12 menunjukkan taburan salah
positif dan salah negatif menggunakan klasifikasi pilihan fuzzy threshold.
Keputusan klasifikasi pilihan fuzzy threshold tidak memberi
perubahan kepada klasifikasi rule-based yang berasaskan fuzzy. Seperti yang
diterangkan oleh pencipta algoritma perisian See5, “soft threshold” hanya
berkesan memberi perubahan kepada klasifikasi pepohon keputusan tetapi
tidak mengubah terjemahan ruleset yang dihasilkan oleh klasifikasi rule-
based.
104
Jadual 4.10: Bilangan Salah Positif dan Salah Negatif Mengikut Kelas
Menggunakan Pilihan Fuzzy Threshold
Kelas Bilangan Rekod Salah Positif
(False Positive)
Salah Negatif
(False Negative)
Normal 97278 76 13
DoS 391458 36 17
Probe 4107 8 56
R2L 1117 4 22
U2R 59 5 21
494021 129 129
Jadual 4.11: Kadar Salah Positif Klasifikasi Mengikut Kelas
Menggunakan Pilihan Fuzzy Threshold
Kelas
Kadar Salah Positif
(False Alarm Rate)
(%)
Normal 0.015
DoS 7.287 x 10-3
Probe 1.619 x 10-3
R2L 8.097 x 10-4
U2R 1.012 x 10-3
105
Jadual 4.12: Bilangan Salah Positif dan Salah Negatif Mengikut Jenis
Normal dan Serangan Menggunakan Pilihan Klasifikasi Fuzzy Threshold
Jenis Bilangan
Rekod
Salah Positif
(False Positive)
Salah Negatif
(False Negative)
back 2203 1 9
buffer_overflow 30 3 2
ftp_write 8 0 5
guess_passwd 53 0 2
imap 12 0 2
ipsweep 1247 4 3
land 21 1 0
loadmodule 9 0 7
multihop 7 1 10
neptune 107201 28 1
nmap 231 1 10
normal 97278 76 13
perl 3 1 0
phf 4 0 0
pod 264 0 5
portsweep 1040 1 26
rootkit 10 0 9
satan 1589 2 17
smurf 280790 6 2
spy 2 0 2
teardrop 979 0 0
warezclient 1020 2 9
warezmaster 20 2 2
494021 129 129
106
4.5 Analisis Klasifikasi Terhadap Set Data Ujian
Setelah eksperimen menggunakan set data latihan digunakan dalam
proses klasifikasi pepohon keputusan dan pilihan klasifikasi rule-based
selesai, eksperimen diteruskan dengan menggunakan set data ujian KDD
Cup ‘99. Dalam set data ujian, terdapat sebanyak 311029 rekod dengan
tambahan 17 jenis serangan baru di samping 20 jenis serangan yang sedia
ada dalam set data latihan masih lagi dikekalkan dengan nilai-nilai atribut
yang baru.
Pengklasifikasian jenis serangan tambahan ini dilakukan
menggunakan struktur klasifikasi yang digunakan oleh See5 semasa proses
klasifikasi untuk set data latihan. Tujuan eksperimen set data ujian dilakukan
adalah untuk mengukur kebolehan klasifikasi pepohon keputusan melakukan
proses klasifikasi terhadap data-data serangan yang baru. Ukuran yang
digunakan untuk mengukur kebolehan klasifikasi terhadap set data ujian
adalah sama dengan ukuran kebolehan yang digunakan untuk mengukur
kecekapan klasifikasi untuk eksperimen set data latihan.
Jadual 4.13 menunjukkan confusion matrix selepas ujian dilakukan
menggunakan pilihan klasifikasi pepohon keputusan. Dalam Jadual 4.14
pula, dapat diperhatikan bahawa kebanyakan data serangan baru disalah
klasifikasi sebagai data normal. Sebanyak 25735 atau 8.27% data daripada
311029 rekod set data ujian diklasifikasikan dengan salah (misclassification).
107
Manakala sebanyak 22326 atau dengan kadar 7.18% adalah salah positif
jenis normal.
Dengan merujuk kepada Jadual 4.13, salah satu serangan jenis DoS
yang baru iaitu mailbomb mewakili 5000 rekod terlepas dari dikesan dan di
klasifikasi sebagai data normal. Selain mailbomb, serangan jenis
snmpgetattack yang mewakili 7741 rekod juga diklasifikasikan sebagai jenis
normal. Selain itu, terdapat lebih dari 60% rekod serangan baru yang lain
diklasifikasikan sebagai jenis normal kecuali sqlattack dan udpstorm.
Klasifikasi berjaya mengesan serangan baru jenis saint dengan 98.64%
berjaya dikesan sebagai serangan walaupun taburan data diklasifikasikan
sebagai jenis serangan lain.
Kegagalan klasifikasi pepohon keputusan terhadap data serangan
baru dengan jelas menunjukkan bahawa klasifikasi ini tidak sesuai digunakan
untuk Sistem Pengesanan Pencerobohan jenis anomali. Walau
bagaimanapun, kegagalan klasifikasi pepohon keputusan juga dapat dilihat
apabila ia gagal mengklasifikasikan lebih 90% daripada data serangan jenis
guess_passwd dan warezmaster sedangkan kedua-dua jenis serangan ini
bukan jenis serangan baru. Sebanyak 3948 atau 90.41% data serangan jenis
guess_passwd diklasifikasikan sebagai jenis normal. Manakala sebanyak
1562 atau 97.5% data serangan jenis warezmaster diklasifikasikan sebagai
jenis normal.
108
Jadu
al 4
.13:
Con
fusi
on M
atri
x K
lasi
fikas
i Pok
ok K
eput
usan
Bag
i Dat
a U
jian
109
Jadual 4.14: Bilangan Salah Positif dan Salah Negatif Mengikut Jenis
Normal dan Serangan Bagi Set Data Ujian Menggunakan Klasifikasi
Pepohon Keputusan.
Jenis Bilangan Rekod
Salah Positif (False Positive)
Salah Negatif (False Negative)
back 1098 1 7 buffer_overflow 22 7 21 ftp_write 13 0 2 guess_passwd 4367 0 3948 imap 1 343 1 ipsweep 306 110 6 land 9 0 0 loadmodule 2 4 0 multihop 18 6 18 neptune 58001 487 943 nmap 84 79 0 normal 60593 22326 365 perl 2 7 1 phf 2 7 1 pod 87 15 6 portsweep 354 971 32 rootkit 13 0 13 satan 1633 1028 16 smurf 164091 28 25 spy 0 0 0 teardrop 12 39 0 warezclient 0 274 0 warezmaster 1602 3 1601 apache2 794 0 794 httptunnel 158 0 158 mailbomb 5000 0 5000 mscan 1053 0 1053 named 17 0 17 processtable 759 0 759 ps 16 0 16 saint 736 0 736 sendmail 17 0 17 snmpgetattack 7741 0 7741 snmpguess 2406 0 2406 sqlattack 2 0 2 udpstorm 2 0 2 worm 2 0 2 Xlock 9 0 9 xsnoop 4 0 4 Xterm 13 0 13 311029 25739 25739
110
4.6 Perbincangan
Prestasi klasifikasi pepohon keputusan yang dihasilkan berjaya
mengklasifikasikan rekod data normal dan serangan dengan ketepatan
99.98%. Kadar ketepatan ini adalah kadar ketepatan klasifikasi pepohon
keputusan mengklasifikasikan rekod data normal. Menurut Tadeusz dalam
hasil kajiannya pada 2006, beliau mencadangkan bahawa terdapat dua cara
untuk mengesan pencerobohan. Pertama ialah dengan mengesan data
serangan atau pencerobohan. Cara kedua ialah dengan mengesan data
normal. Cara pertama terlalu sukar untuk dikesan dan dikenal pasti. Ini
kerana terlalu mustahil untuk mengetahui trafik rangkaian komputer yang
dikesan adalah trafik serangan atau normal. Oleh itu, pendekatan cara kedua
banyak digunakan sebagai eksperimen pembinaan model Sistem Pengesanan
Pencerobohan (Tadeusz, 2006).
Ketepatan yang tinggi pepohon keputusan mengklasifikasikan rekod
data normal berbanding klasifikasi rule-based menjadikan klasifikasi ini
sangat sesuai digunakan sebagai model Sistem Pengesanan Pencerobohan.
Perbezaan kadar salah positif di antara ketiga-tiga pilihan klasifikasi yang
dilakukan dirumuskan dalam Jadual 4.15.
Klasifikasi pepohon keputusan dan pilihan fuzzy thereshold adalah
menghasilkan kadar salah positif yang lebih rendah berbanding klasifikasi
rule-based dengan masing-masing 0.015%. Pepohon keputusan sekali lagi
mengungguli klasifikasi rule-based dan pilihan fuzzy threshold dalam
111
mengklasifikasikan rekod serangan jenis DoS apabila menghasilkan kadar
salah positif dengan lebih rendah iaitu dengan kadar 0.0063%. Walau
bagaimanapun, keunggulan klasifikasi rule-based adalah lebih terserlah
dalam mengklasifikasikan rekod serangan kelas Probe, R2L dan U2R apabila
menghasilkan kadar salah positif yang lebih rendah berbanding pepohon
keputusan dan pilihan fuzzy threshold.
Jadual 4.15: Perbandingan Kadar Salah Positif Klasifikasi Mengikut Kelas
Kadar Salah Positif (%)
Kelas Pepohon
Keputusan
Rule-based Fuzzy Threshold
Normal 0.015 0.021 0.015
DoS 6.275 x 10-3 0.011 7.287 x 10-3
Probe 1.822 x 10-3 1.215 x 10-3 1.619 x 10-3
R2L 1.417 x 10-3 4.048 x 10-4 8.097 x 10-4
U2R 1.215 x 10-3 8.097x 10-4 1.012 x 10-3
Klasifikasi pepohon keputusan memerlukan masa yang lebih singkat
bagi melakukan proses klasifikasi berbanding klasifikasi rule-based. Proses
pengklasifikasian pepohon keputusan lebih praktikal dan ringkas berbanding
112
klasifikasi neural-network yang lebih kompleks kerana ia memerlukan nilai
pemberat “weight” yang sesuai untuk menghasilkan ketepatan yang tinggi
seperti klasifikasi keputusan (Ajith, 2005).
Ukuran ketepatan sesebuah Sistem Pengesanan Pencerobohan adalah
penting untuk merumuskan kebolehan Sistem Pengesanan Pencerobohan
tersebut. Ketepatan boleh diukur melalui jadual confusion matrix atau cost
matrix. Confusion Matrix klasifikasi pepohon keputusan set data ujian
mengikut kelas ditunjukkan dalam Jadual 4.16. Ketepatan klasifikasi diukur
berdasarkan peratus kejayaan ramalan (percentage of successful prediction –
PSP) terhadap set data ujian seperti rumus berikut (Charles, 1999):
Berdasarkan nilai PSP pada Jadual 4.16, sebanyak 99.40 % daripada
60593 jumlah rekod normal berjaya di klasifikasi sebagai kelas normal.
Manakala sebanyak 72.96 % adalah ramalan bilangan rekod normal akan
diklasifikasikan walaupun ia sebenarnya adalah rekod normal.
Berdasarkan kepada nilai PSP sebenar, serangan kelas R2L dan U2R
mempunyai nilai PSP yang sangat rendah. Ini menunjukkan kegagalan
klasifikasi pepohon keputusan dalam mengklasifikasi corak rekod-rekod
PSP = x 100% Jumlah rekod kejadian
Bilangan kejadian yang berjaya diklasifikasi
113
baru. Kegagalan ini juga adalah disebabkan perwakilan rekod kedua-dua
serangan kelas ini adalah terlalu kecil berbanding kelas serangan DoS dan
Probe.
Jadual 4.16: Confusion Matrix Klasifikasi Pepohon Keputusan
Set Data Ujian Mengikut Kelas
Perbezaan kebolehan dalam mengklasifikasikan kelas-kelas normal
dan serangan ini dapat di atasi dengan menggabungkan dua jenis klasifikasi
pepohon keputusan dan rule-based dalam satu sistem untuk menghasilkan
sesebuah sistem Sistem Pengesanan Pencerobohan yang mantap.
Cadangan konsep gabungan ini diilustrasi melalui model gabungan
klasifikasi seperti yang digambarkan dalam Rajah 4.6. Rekod rangkaian yang
Normal DoS Probe R2L U2R Jumlah PSP
Normal 60228 83 268 11 3 60593 99.40 %
DoS 5844 222483 958 568 0 229853 96.79 %
Probe 755 320 3077 14 0 4166 73.86 %
R2L 15663 1 208 451 6 16329 2.76 %
U2R 64 0 0 5 19 88 21.59 %
Jumlah 82554 222887 4511 1049 28 311029
PSP 72.96 % 99.82 % 68.21 % 42.99 % 67.86 %
Sebenar
Ram
alan
114
digambarkan sebagai input akan di proses untuk pemilihan atribut. Ia
kemudian akan diklasifikasikan menggunakan sama ada klasifikasi pepohon
keputusan atau rule-based mengikut jenis serangan masing-masing. Model
seni bina ini mampu menghasilkan kadar salah positif yang terendah untuk
setiap kelas. Dengan itu, kecekapan dan kebolehpercayaan model sistem
Sistem Pengesanan Pencerobohan adalah lebih tinggi.
Rajah 4.6: Seni bina Sistem Sistem Pengesanan Pencerobohan Menggunakan
Konsep Gabungan Klasifikasi
Pokok keputusan
Rule-based
Normal DoS
Probe R2L U2R
Rekod
Rangkaian
(Input)
Pemilihan
Atribut
Input
Kelas Serangan
115
Bab 5 Kesimpulan
5.1 Kesimpulan
Dalam bidang kajian, Sistem Pengesanan Pencerobohan perlu
sentiasa diubah dan berkembang selangkah ke hadapan dari jenis serangan
baru dan perubahan persekitaran internet. Perkembangan dan kemajuan
teknologi Sistem Pengesanan Pencerobohan perlu dipertingkatkan dengan
keterbukaan minda komuniti keselamatan menyediakan maklumat dan
pengetahuan keselamatan untuk kegunaan yang baik. Walaupun Sistem
Pengesanan Pencerobohan kompleks, namun ia telah menjadi komponen
penting untuk keselamatan komputer bagi mengesan serangan salah guna
dan membolehkan respons automatik dilakukan terhadap serangan.
Pengesanan pencerobohan berdasarkan perlombongan data dan
pepohon keputusan telah diuji kaji dalam tesis ini. Ini kerana teknik ini
menawarkan lebih potensi bagi generalisasi model seperti mengesan variasi
serangan yang berlainan. Klasifikasi pepohon keputusan See5 telah
digunakan sebagai teknik ini. Set data serangan pula diperoleh daripada arkib
online Universiti California, Irvin dalam bentuk set data audit yang besar
digunakan sebagai penilaian untuk model Sistem Pengesanan Pencerobohan.
Set data ini mempunyai kelebihan iaitu ia sentiasa tersedia, diaudit dan
116
digunakan secara meluas sebagai data penilaian untuk membina model
Sistem Pengesanan Pencerobohan berasaskan pengesanan salah guna dan
anomali.
Hasil keputusan eksperimen menunjukkan bahawa klasifikasi
pepohon keputusan lebih tepat berbanding klasifikasi rule-based dan
klasifikasi pilihan fuzzy-threshold bagi mengesan rekod data normal dan
kelas serangan DoS, Probe, R2L dan U2R. Secara nyata, penggunaan fuzzy
threshold tidak memberi perubahan kepada model klasifikasi pepohon
keputusan dengan harapan untuk meningkatkan kadar ketepatan pengesanan
serangan dalam kelas masing-masing.
Sistem Pengesanan Pencerobohan telah menjadi alatan yang sangat
berkuasa dan menjadi komponen penting untuk keseluruhan strategi
keselamatan komputer dan sistem rangkaian komputer yang mana penilaian
risiko menjadi keutamaan yang tinggi. Pendekatan perlombongan data
pepohon keputusan menawarkan potensi untuk penghasilan sistem adaptasi
siap-sedia (readily) yang mana tiada satu algoritma lain boleh menyediakan
prestasi pengesanan untuk semua kategori serangan.
Kejayaan dan prestasi Sistem Pengesanan Pencerobohan akan
sentiasa bergantung pada bekalan domain pengetahuan yang mencukupi
bukan sahaja dalam fasa perancangan tetapi juga dalam fasa pembangunan.
Operasi teknologi yang canggih dan terkini (state-of-the-art) sentiasa
memerlukan perhatian dan sumbangan “know-how” pakar (human expert).
117
Pengesanan sahaja tidak mencukupi kerana ia memerlukan tindakan susulan
di mana tindak balas dan penapisan tidak boleh sentiasa dilaksanakan secara
automatik disebabkan salah positif tidak dapat dielakkan dari berlaku.
Kadar ketepatan yang tinggi diperoleh menunjukkan teknik yang
digunakan dalam projek ini adalah sesuai digunakan sebagai model Sistem
Pengesanan Pencerobohan. Selain itu, kadar salah positif yang rendah juga
adalah satu penyelesaian kepada jutaan salah positif yang dijana oleh Sistem
Pengesanan Pencerobohan setiap hari. Kadar salah positif yang rendah dijana
oleh klasifikasi yang digunakan dalam projek ini menunjukkan ia sesuai di
implementasikan sebagai sebuah Sistem Pengesanan Pencerobohan.
5.2 Cadangan Kerja Masa Depan
Beberapa kelemahan dalam uji kaji ini telah ketahui. Antaranya ialah
kegagalan teknik perlombongan data dan pepohon keputusan dalam
mengklasifikasikan serangan jenis R2L dan U2R. Kegagalan klasifikasi amat
ketara apabila diuji menggunakan set data ujian. Walaupun kadar ketepatan
yang dijana bagi data jenis normal adalah tinggi untuk kadar sebenar, namun
ia ketepatannya menurun untuk kadar ramalan. Perbezaan kadar ketepatan ini
juga adalah sama dengan kelas serangan yang lain. Ini menunjukkan
kehadiran set data yang mempunyai nilai atribut yang baru menyebabkan
kegagalan proses klasifikasi.
118
Proses klasifikasi yang digunakan terhadap set data ujian adalah
berdasarkan pada data-data yang terdapat pada set data latihan. Pengajian
pengetahuan (“knowledge learning”) yang terhad klasifikasi ini
menyebabkan kehadiran jenis serangan yang baru tidak dapat di klasifikasi
dengan betul. Dengan itu dicadangkan agar klasifikasi perlombongan data
dan pepohon keputusan di gabungkan dengan klasifikasi lain seperti neuro-
fuzzy yang pengajian pengetahuannya lebih tepat (Riyad dan Sumali, 2007).
Selain kegagalan teknik yang digunakan, kemungkinan juga
kegagalan pada perisian See5 yang digunakan. Penggunaan perisian
perlombongan data dan pepohon keputusan yang lain seperti CART, MARS,
TreeNet, RandomForest, Kernal Miner dan sebagainya mungkin dapat
mengatasi keputusan yang diperoleh menggunakan perisian See5 (Salford,
2008). Oleh itu, cadangan menggunakan perisian perlombongan data dan
pepohon keputusan yang lain untuk kajian seterusnya digunakan.
Perubahan keputusan klasifikasi juga bergantung pada keupayaan
komputer yang digunakan untuk proses klasifikasi. Semakin laju
pemprosesan serta kapasiti ingatan yang semakin besar kemungkinan dapat
meningkatkan lagi kadar ketepatan klasifikasi (RuleQuest, 2007). Dengan itu
dicadangkan penggunaan komputer yang berkelajuan tinggi untuk proses
klasifikasi pada masa hadapan digunakan.
Selain itu, penggunaan set data yang besar juga membuatkan proses
klasifikasi memakan masa yang lama. Walaupun dengan perbezaan beberapa
119
saat, namun hasil klasifikasi adalah berbeza (RuleQuest, 2007). Oleh itu,
dicadangkan untuk mengadakan uji kaji klasifikasi menggunakan bilangan
atau saiz data yang berbeza-beza untuk masa hadapan bagi membolehkan
kadar klasifikasi yang maksimum dicapai.
Perkembangan dengan pesat dalam bidang pengesanan pencerobohan
menggunakan perlombongan data sentiasa dilakukan seperti yang
dibincangkan dalam Bab 3. Walau bagaimanapun, banyak cara yang
dilakukan belum lagi meyakinkan penerokaan secara mendalam. Dengan itu,
cadangan untuk kerja masa depan dalam bidang pengesanan pencerobohan
dicadangkan seperti berikut.
Pengesanan salah guna dan anomali mungkin boleh diujikaji
menggunakan teknik penggugusan atau fungsi sequential-patterns. Untuk
tujuan ini, ia perlulah menggunakan set data yang bersesuaian supaya kadar
ketepatan lebih tinggi berbanding teknik klasifikasi. Pengkaji masih
melaporkan masalah untuk membenarkan aktiviti pengguna baru sementara
menghalang tingkah laku malicious. Keadaan ini menjadi penyumbang
utama kepada terbatasnya penyediaan kompilasi set data tersebut.
Selain itu, pembinaan model Sistem Pengesanan Pencerobohan yang
boleh memberi tindak balas automatik terhadap salah positif juga
dicadangkan untuk kerja masa depan. Memandangkan rekod salah positif
yang dijana oleh Sistem Pengesanan Pencerobohan sedia ada terlalu banyak
dan mencecah jutaan rekod setiap hari menyebabkan pentadbir sistem dan
120
keselamatan sukar untuk menilai rekod tersebut sama ada serangan atau
normal. Penjanaan salah positif yang terlalu banyak juga boleh menyebabkan
penyediaan perkhidmatan rangkaian dan sistem pelayan tidak dapat dicapai
oleh pengguna yang diklasifikasikan sebagai penyerang. Ini menyebabkan
perkhidmatan tersebut tidak relevan dan gagal dalam menyediakan
perkhidmatannya kepada pengguna.
121
LAMPIRAN A
SAMPEL REKOD SAMBUNGAN DENGAN SIFAT YANG DI EKSTRAK DARI SET DATA.
122
1 duration: continuous.
2 protocol_type: symbolic.
3 service: symbolic.
4 flag: symbolic.
5 src_bytes: continuous.
6 dst_bytes: continuous.
7 land: symbolic.
8 wrong_fragment: continuous.
9 urgent: continuous.
10 hot: continuous.
11 num_failed_logins: continuous.
12 logged_in: symbolic.
13 num_compromised: continuous.
14 root_shell: continuous.
15 su_attempted: continuous.
16 num_root: continuous.
17 num_file_creations: continuous.
18 num_shells: continuous.
19 num_access_files: continuous.
20 num_outbound_cmds: continuous.
21 is_host_login: symbolic.
22 is_guest_login: symbolic.
23 count: continuous.
24 srv_count: continuous.
25 serror_rate: continuous.
26 srv_serror_rate: continuous.
27 rerror_rate: continuous.
28 srv_rerror_rate: continuous.
29 same_srv_rate: continuous.
30 diff_srv_rate: continuous.
31 srv_diff_host_rate: continuous.
32 dst_host_count: continuous.
33 dst_host_srv_count: continuous.
34 dst_host_same_srv_rate: continuous.
35 dst_host_diff_srv_rate: continuous.
36 dst_host_same_src_port_rate: continuous.
37 dst_host_srv_diff_host_rate: continuous.
38 dst_host_serror_rate: continuous.
39 dst_host_srv_serror_rate: continuous.
40 dst_host_rerror_rate: continuous.
41 dst_host_srv_rerror_rate: continuous.
123
LAMPIRAN B SAMPEL SET DATA KDD CUP ’99
124
0,tcp,http,SF,54540,8314,0,0,0,2,0,1,1,0,0,0,0,0,0,0,0,0,3,3,0.00,0.00,0.00,0.
00,1.00,0.00,0.00,25,255,1.00,0.00,0.00,0.00,0.00,0.00,0.03,0.03,back.
0,tcp,finger,S0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,1.00,1.00,0.00,0.00,1.00
,0.00,1.00,12,9,0.08,0.17,0.08,0.33,0.58,0.11,0.00,0.00,land.
179,tcp,ftp,SF,87,319,0,0,0,1,0,1,0,0,0,0,1,0,0,0,0,1,1,1,0.00,0.00,0.00,0.00,1
.00,0.00,0.00,255,2,0.01,0.01,0.00,0.00,0.00,0.00,0.04,0.00,multihop.
0,tcp,private,S0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,251,5,1.00,1.00,0.00,0.00,
0.02,0.06,0.00,255,5,0.02,0.07,0.00,0.00,1.00,1.00,0.00,0.00,neptune.
0,tcp,http,SF,204,2993,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,1,0.00,0.00,0.00,0.00,
1.00,0.00,0.00,1,255,1.00,0.00,1.00,0.02,0.00,0.00,0.00,0.00,normal.
0,icmp,ecr_i,SF,1032,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,511,511,0.00,0.00,0.00
,0.00,1.00,0.00,0.00,255,255,1.00,0.00,1.00,0.00,0.00,0.00,0.00,0.00,smurf.
337,tcp,telnet,SF,237,1540,0,0,0,0,0,1,0,0,1,0,1,1,1,0,0,0,1,1,0.00,0.00,0.00,
0.00,1.00,0.00,0.00,255,47,0.18,0.02,0.00,0.00,0.22,0.32,0.00,0.00,spy.
125
LAMPIRAN C STRUKTUR PEPOHON KEPUTUSAN
126
See5 [Release 2.04] Sat Jan 05 22:17:18 2008 Class specified by attribute `label' Read 494021 cases (42 attributes) from kddcup.data Decision tree: wrong_fragment > 0: :...src_bytes <= 754: teardrop (979) : src_bytes > 754: pod (259) wrong_fragment <= 0: :...land = 1: land (22/1) land = 0: :...same_srv_rate <= 0.32: :...dst_host_diff_srv_rate <= 0.14: : :...src_bytes <= 0: neptune (106235/24) : : src_bytes > 0: : : :...dst_host_count <= 11: buffer_overflow (3/1) : : dst_host_count > 11: : : :...src_bytes <= 6: satan (16/2) : : src_bytes > 6: normal (178/2) : dst_host_diff_srv_rate > 0.14: : :...src_bytes > 19: normal (256/1) : src_bytes <= 19: : :...dst_host_count <= 96: neptune (17) : dst_host_count > 96: : :...rerror_rate > 0.99: : :...diff_srv_rate <= 0.78: portsweep (59) : : diff_srv_rate > 0.78: satan (21) : rerror_rate <= 0.99: : :...serror_rate > 0.53: portsweep (13) : serror_rate <= 0.53: : :...dst_host_same_src_port_rate <= 0.57: satan (1408/1) : dst_host_same_src_port_rate > 0.57: : :...src_bytes <= 0: portsweep (4) : src_bytes > 0: satan (53) same_srv_rate > 0.32: :...dst_host_serror_rate > 0.89: :...dst_host_diff_srv_rate > 0.3: : :...dst_host_srv_serror_rate <= 0.64: normal (4) : : dst_host_srv_serror_rate > 0.64: nmap (96) : dst_host_diff_srv_rate <= 0.3: : :...src_bytes > 35: normal (22/2) : src_bytes <= 35: : :...flag in OTH,S3,S1,S2,SF,RSTR,REJ,RSTO, : : RSTOS0: neptune (0) : flag = SH: imap (2) : flag = S0: : :...dst_host_same_src_port_rate <= 0.22: neptune (958) : dst_host_same_src_port_rate > 0.22: normal (4/1) dst_host_serror_rate <= 0.89: :...num_compromised > 0: :...src_bytes > 10073: back (2129) : src_bytes <= 10073: : :...num_shells > 0: : :...duration <= 150: loadmodule (2) : : duration > 150: multihop (2) : num_shells <= 0: : :...dst_host_same_src_port_rate <= 0.09: normal (60/3) : dst_host_same_src_port_rate > 0.09: [S1] num_compromised <= 0: :...num_failed_logins > 0: :...dst_host_same_srv_rate <= 0.68: normal (9/1) : dst_host_same_srv_rate > 0.68: guess_passwd (51) num_failed_logins <= 0: :...dst_host_srv_diff_host_rate > 0.48: :...dst_bytes > 6: : :...dst_host_rerror_rate <= 0.45: normal (82/2)
127
: : dst_host_rerror_rate > 0.45: ipsweep (3) : dst_bytes <= 6: : :...src_bytes > 26: warezclient (14/2) : src_bytes <= 26: : :...dst_host_rerror_rate <= 0.99: ipsweep (1129) : dst_host_rerror_rate > 0.99: [S2] dst_host_srv_diff_host_rate <= 0.48: :...root_shell > 0: :...hot > 1: phf (4) : hot <= 1: [S3] root_shell <= 0: :...hot > 0: :...num_file_creations > 0: : :...is_guest_login <= 0: normal (5/3) : : is_guest_login > 0: [S4] : num_file_creations <= 0: : :...logged_in <= 0: normal (5/2) : logged_in > 0: : :...src_bytes <= 971: [S5] : src_bytes > 971: : :...dst_bytes <= 2686: [S6] : dst_bytes > 2686: [S7] hot <= 0: :...dst_host_diff_srv_rate > 0.91: :...dst_host_count <= 166: : :...src_bytes <= 5: ipsweep (23/1) : : src_bytes > 5: normal (32/1) : dst_host_count > 166: : :...src_bytes <= 0: portsweep (505) : src_bytes > 0: satan (6) dst_host_diff_srv_rate <= 0.91: :...duration > 20940: :...dst_bytes <= 20: portsweep (56) : dst_bytes > 20: normal (40) duration <= 20940: :...srv_serror_rate > 0.51: [S8] srv_serror_rate <= 0.51: [S9] SubTree [S1] service in pm_dump,tftp_u,tim_i,red_i,urp_i,X11,urh_i,netstat,netbios_ns, : sql_net,vmnet,bgp,Z39_50,ldap,supdup,iso_tsap,csnet_ns,pop_2, : sunrpc,uucp_path,printer,efs,courier,klogin,kshell,echo,ctf,nntp, : shell,IRC,nnsp,http_443,exec,domain,ssh,mtp,link,remote_job,auth, : ntp_u,other,rje,time,name,whois,domain_u,uucp,hostnames,gopher, : netbios_dgm,netbios_ssn,imap4,smtp,private,discard,ftp,systat, : daytime,ecr_i,finger,eco_i: buffer_overflow (0) service in pop_3,http: normal (5) service = ftp_data: rootkit (1) service = login: ftp_write (1) service = telnet: :...duration <= 6323: buffer_overflow (18) duration > 6323: normal (2)
128
SubTree [S2] dst_host_same_srv_rate <= 0.57: ipsweep (2) dst_host_same_srv_rate > 0.57: normal (24) SubTree [S3] service in pm_dump,tftp_u,tim_i,red_i,urp_i,X11,urh_i,netstat,netbios_ns, : sql_net,vmnet,bgp,Z39_50,ldap,supdup,iso_tsap,csnet_ns,pop_2, : sunrpc,uucp_path,printer,efs,courier,klogin,kshell,echo,ctf,nntp, : shell,IRC,nnsp,http_443,exec,domain,ssh,pop_3,mtp,link,remote_job, : auth,ntp_u,other,rje,time,name,whois,domain_u,uucp,hostnames, : gopher,netbios_dgm,netbios_ssn,imap4,smtp,private,discard,ftp, : systat,daytime,ecr_i,finger,login,eco_i: normal (0) service = http: normal (14) service = ftp_data: buffer_overflow (3/1) service = telnet: perl (4/1) SubTree [S4] num_access_files <= 0: multihop (3/1) num_access_files > 0: ftp_write (2) SubTree [S5] duration <= 7713: normal (428/1) duration > 7713: warezclient (11) SubTree [S6] service in pm_dump,tftp_u,tim_i,red_i,urp_i,X11,urh_i,netstat,netbios_ns, : sql_net,vmnet,bgp,Z39_50,ldap,supdup,iso_tsap,csnet_ns,pop_2, : sunrpc,uucp_path,printer,efs,courier,klogin,kshell,echo,ctf,nntp, : shell,IRC,nnsp,http_443,exec,domain,ssh,pop_3,mtp,link,remote_job, : auth,ntp_u,rje,time,name,whois,domain_u,uucp,hostnames,gopher, : netbios_dgm,netbios_ssn,imap4,private,discard,systat,daytime,ecr_i, : finger,telnet,login,eco_i: warezclient (0) service in other,ftp,ftp_data: warezclient (348) service = smtp: normal (6) service = http: back (4) SubTree [S7] is_guest_login <= 0: back (61) is_guest_login > 0: normal (73) SubTree [S8] dst_host_diff_srv_rate > 0.58: nmap (7) dst_host_diff_srv_rate <= 0.58: :...dst_host_serror_rate <= 0.25: normal (23) dst_host_serror_rate > 0.25: imap (10/4) SubTree [S9] dst_host_same_src_port_rate <= 0.99: :...dst_host_srv_count <= 1: : :...src_bytes > 1: normal (1796/8) : : src_bytes <= 1: : : :...dst_bytes > 6: normal (2) : : dst_bytes <= 6:
129
: : :...rerror_rate > 0.4: portsweep (138/1) : : rerror_rate <= 0.4: : : :...dst_host_serror_rate <= 0.01: satan (3) : : dst_host_serror_rate > 0.01: portsweep (5) : dst_host_srv_count > 1: : :...count > 45: : :...rerror_rate > 0.5: neptune (4) : : rerror_rate <= 0.5: : : :...src_bytes <= 705: normal (1396) : : src_bytes > 705: smurf (171) : count <= 45: : :...dst_bytes > 32: normal (76173/16) : dst_bytes <= 32: : :...dst_host_same_src_port_rate > 0.77: : :...dst_host_rerror_rate > 0.02: satan (5/1) : : dst_host_rerror_rate <= 0.02: : : :...dst_host_srv_diff_host_rate <= 0.11: : : :...service in pm_dump,tftp_u,tim_i,red_i,urp_i,X11, : : : : urh_i,netstat,netbios_ns,sql_net,vmnet, : : : : bgp,Z39_50,ldap,supdup,iso_tsap, : : : : csnet_ns,pop_2,sunrpc,uucp_path, : : : : printer,efs,courier,klogin,kshell,echo, : : : : ctf,nntp,shell,IRC,nnsp,http_443,exec, : : : : domain,ssh,pop_3,mtp,link,remote_job, : : : : auth,ntp_u,rje,time,name,whois,uucp, : : : : hostnames,gopher,netbios_dgm, : : : : netbios_ssn,imap4,smtp,http,discard, : : : : ftp,systat,daytime,ecr_i,finger,telnet, : : : : login: normal (0) : : : service in other,domain_u,ftp_data, : : : : eco_i: normal (219) : : : service = private: nmap (19/1) : : dst_host_srv_diff_host_rate > 0.11: : : :...dst_host_srv_diff_host_rate <= 0.14: warezclient (6) : : dst_host_srv_diff_host_rate > 0.14: normal (5) : dst_host_same_src_port_rate <= 0.77: : :...duration > 0: : :...dst_host_serror_rate > 0: warezclient (7/1) : : dst_host_serror_rate <= 0: : : :...dst_host_same_srv_rate <= 0.03: satan (2) : : dst_host_same_srv_rate > 0.03: normal (63) : duration <= 0: : :...logged_in > 0: : :...src_bytes > 353: normal (2195/1) : : src_bytes <= 353: : : :...src_bytes <= 326: normal (673/3) : : src_bytes > 326: warezclient (40) : logged_in <= 0: : :...count <= 4: normal (7947/14) : count > 4: : :...dst_host_srv_rerror_rate > 0.99: : :...rerror_rate <= 0.98: normal (2) : : rerror_rate > 0.98: neptune (6) : dst_host_srv_rerror_rate <= 0.99: : :...dst_host_srv_count <= 7: : :...protocol_type = tcp: normal (0) : : protocol_type = icmp: normal (6/1) : : protocol_type = udp: satan (5) : dst_host_srv_count > 7:
130
: :...service in pm_dump,tftp_u,tim_i,red_i, : : X11,urh_i,netstat, : : netbios_ns,sql_net,vmnet, : : bgp,Z39_50,ldap,supdup, : : iso_tsap,csnet_ns,pop_2, : : sunrpc,uucp_path,printer, : : efs,courier,klogin,kshell, : : echo,ctf,nntp,shell,IRC, : : nnsp,http_443,exec,domain, : : ssh,pop_3,mtp,link, : : remote_job,auth,ntp_u,rje, : : time,name,whois,uucp, : : hostnames,gopher, : : netbios_dgm,netbios_ssn, : : imap4,smtp,discard,ftp, : : systat,daytime,finger, : : telnet,login, : : eco_i: normal (0) : service in urp_i,other,domain_u,http, : : ftp_data: normal (564) : service = private: satan (21) : service = ecr_i: smurf (4) dst_host_same_src_port_rate > 0.99: :...src_bytes > 333: :...protocol_type = icmp: smurf (280619/6) : protocol_type = udp: normal (52) : protocol_type = tcp: : :...dst_host_srv_count > 67: normal (103/1) : dst_host_srv_count <= 67: : :...dst_bytes > 164: normal (8/1) : dst_bytes <= 164: : :...logged_in <= 0: normal (3/1) : logged_in > 0: : :...srv_diff_host_rate > 0.33: : :...dst_host_srv_diff_host_rate <= 0.11: normal (2) : : dst_host_srv_diff_host_rate > 0.11: warezclient (7) : srv_diff_host_rate <= 0.33: : :...src_bytes <= 1015: warezclient (511) : src_bytes > 1015: : :...duration <= 4: normal (9) : duration > 4: warezclient (36) src_bytes <= 333: :...dst_host_srv_diff_host_rate > 0.24: :...protocol_type = udp: normal (0) : protocol_type = tcp: normal (129/2) : protocol_type = icmp: : :...src_bytes <= 13: nmap (100) : src_bytes > 13: : :...src_bytes <= 24: ipsweep (79) : src_bytes > 24: normal (12) dst_host_srv_diff_host_rate <= 0.24: :...dst_host_srv_rerror_rate > 0.99: :...dst_host_count <= 128: normal (307) : dst_host_count > 128: portsweep (234) dst_host_srv_rerror_rate <= 0.99: :...dst_bytes > 369448: :...duration <= 1: multihop (2) : duration > 1: warezmaster (16) dst_bytes <= 369448: :...dst_host_srv_serror_rate > 0.01:
131
:...service in pm_dump,tftp_u,tim_i,red_i,urp_i,X11,urh_i, : : netstat,netbios_ns,sql_net,vmnet,bgp, : : Z39_50,ldap,supdup,iso_tsap,csnet_ns,pop_2, : : sunrpc,uucp_path,printer,efs,courier, : : klogin,kshell,echo,ctf,nntp,shell,IRC,nnsp, : : http_443,exec,domain,ssh,pop_3,mtp,link, : : remote_job,auth,ntp_u,other,rje,time,name, : : whois,domain_u,uucp,hostnames,gopher, : : netbios_dgm,netbios_ssn,imap4,smtp,private, : : discard,ftp,systat,daytime,ecr_i,finger, : : telnet,login,eco_i: warezclient (0) : service = http: normal (10) : service = ftp_data: warezclient (12) dst_host_srv_serror_rate <= 0.01: :...src_bytes > 19: :...dst_host_srv_diff_host_rate <= 0.08: normal (3985/7) : dst_host_srv_diff_host_rate > 0.08: : :...service in pm_dump,tftp_u,tim_i,red_i,urp_i, : : X11,urh_i,netstat,netbios_ns, : : sql_net,vmnet,bgp,Z39_50,ldap, : : supdup,iso_tsap,csnet_ns,pop_2, : : sunrpc,uucp_path,printer,efs, : : courier,klogin,kshell,echo,ctf, : : nntp,shell,IRC,nnsp,http_443,exec, : : domain,ssh,pop_3,mtp,link, : : remote_job,auth,ntp_u,other,rje, : : time,name,whois,uucp,hostnames, : : gopher,netbios_dgm,netbios_ssn, : : imap4,smtp,private,discard,ftp, : : systat,daytime,finger,telnet, : : login: normal (0) : service in domain_u,http,ecr_i, : : eco_i: normal (56) : service = ftp_data: warezclient (21) src_bytes <= 19: :...dst_host_same_srv_rate <= 0.9: satan (38) dst_host_same_srv_rate > 0.9: :...protocol_type = icmp: ipsweep (11/2) protocol_type = udp: normal (4/1) protocol_type = tcp: :...dst_bytes <= 4: normal (350/3) dst_bytes > 4: :...logged_in > 0: buffer_overflow (8/2) logged_in <= 0: :...dst_bytes <= 493: normal (2) dst_bytes > 493: warezmaster (2)
132
LAMPIRAN D SENARAI KEPUTUSAN KLASIFIKASI “RULE-BASED”
133
See5 [Release 2.04] Sat Jan 05 18:51:36 2008 Options: Rule-based classifiers Read 494021 cases (42 attributes) from kddcup.data Rules: Rule 1: (2194, lift 224.1) service = http src_bytes > 971 hot > 0 -> class back [1.000] Rule 2: (18, lift 15644.0) duration <= 6323 service = telnet num_compromised > 0 num_shells <= 0 dst_host_same_src_port_rate > 0.09 -> class buffer_overflow [0.950] Rule 3: (10/2, lift 12350.5) src_bytes <= 19 dst_bytes > 4 logged_in > 0 num_compromised <= 0 dst_host_same_src_port_rate > 0.99 dst_host_srv_diff_host_rate <= 0.24 -> class buffer_overflow [0.750] Rule 4: (3/1, lift 9880.4) src_bytes > 0 same_srv_rate <= 0.32 dst_host_count <= 11 dst_host_diff_srv_rate <= 0.14 -> class buffer_overflow [0.600] Rule 5: (14/6, lift 9262.9) protocol_type = tcp src_bytes <= 19 dst_bytes > 4 dst_bytes <= 369448 num_compromised <= 0 dst_host_same_src_port_rate > 0.99 dst_host_srv_diff_host_rate <= 0.24 -> class buffer_overflow [0.563] Rule 6: (2, lift 46314.5) hot > 0 root_shell <= 0 num_access_files > 0 -> class ftp_write [0.750] Rule 7: (52, lift 9148.5) num_failed_logins > 0 dst_host_same_srv_rate > 0.68 -> class guess_passwd [0.981] Rule 8: (4, lift 34307.0) flag = SH dst_host_diff_srv_rate <= 0.3 -> class imap [0.833] Rule 9: (13/5, lift 24701.0) land = 0 srv_serror_rate > 0.51 same_srv_rate > 0.32 dst_host_diff_srv_rate <= 0.58 dst_host_serror_rate > 0.25 dst_host_serror_rate <= 0.89 -> class imap [0.600] Rule 10: (1129, lift 395.8) src_bytes <= 26 dst_bytes <= 6 land = 0 same_srv_rate > 0.32 dst_host_srv_diff_host_rate > 0.48 dst_host_rerror_rate <= 0.99
134
-> class ipsweep [0.999] Rule 11: (92/1, lift 387.7) src_bytes <= 5 dst_host_count <= 166 dst_host_diff_srv_rate > 0.91 dst_host_serror_rate <= 0.89 -> class ipsweep [0.979] Rule 12: (1254/102, lift 363.7) protocol_type = icmp src_bytes <= 19 same_srv_rate > 0.32 dst_host_same_src_port_rate > 0.99 -> class ipsweep [0.918] Rule 13: (22/1, lift 21564.4) land = 1 -> class land [0.917] Rule 14: (2, lift 41168.4) duration <= 150 num_compromised > 0 num_shells > 0 -> class loadmodule [0.750] Rule 15: (2, lift 52930.8) duration <= 1 dst_bytes > 369448 dst_host_same_src_port_rate > 0.99 -> class multihop [0.750] Rule 16: (2, lift 52930.8) duration > 150 num_compromised > 0 num_shells > 0 -> class multihop [0.750] Rule 17: (3/1, lift 42344.7) hot > 0 num_file_creations > 0 num_access_files <= 0 is_guest_login > 0 -> class multihop [0.600] Rule 18: (19414, lift 4.6) duration <= 0 count > 4 rerror_rate > 0.98 dst_host_srv_count > 1 dst_host_srv_rerror_rate > 0.99 -> class neptune [1.000] Rule 19: (106235/24, lift 4.6) src_bytes <= 0 land = 0 same_srv_rate <= 0.32 dst_host_diff_srv_rate <= 0.14 -> class neptune [1.000] Rule 20: (86726, lift 4.6) flag = S0 dst_host_same_src_port_rate <= 0.22 dst_host_serror_rate > 0.89 -> class neptune [1.000] Rule 21: (17, lift 4.4) src_bytes <= 19 same_srv_rate <= 0.32 dst_host_count <= 96 dst_host_diff_srv_rate > 0.14 -> class neptune [0.947] Rule 22: (101, lift 2117.9) protocol_type = icmp src_bytes <= 13 dst_host_srv_diff_host_rate > 0.24 dst_host_srv_diff_host_rate <= 0.48 -> class nmap [0.990] Rule 23: (106/3, lift 2059.4) srv_serror_rate > 0.51 same_srv_rate > 0.32 dst_host_diff_srv_rate > 0.58 dst_host_srv_diff_host_rate <= 0.48 -> class nmap [0.963]
135
Rule 24: (79065/20, lift 5.1) dst_bytes > 6 wrong_fragment <= 0 hot <= 0 num_failed_logins <= 0 num_compromised <= 0 root_shell <= 0 srv_serror_rate <= 0.51 same_srv_rate > 0.32 dst_host_diff_srv_rate <= 0.91 dst_host_same_src_port_rate <= 0.99 -> class normal [1.000] Rule 25: (77662/16, lift 5.1) dst_bytes > 32 hot <= 0 num_compromised <= 0 root_shell <= 0 srv_serror_rate <= 0.51 same_srv_rate > 0.32 dst_host_srv_count > 1 dst_host_diff_srv_rate <= 0.91 dst_host_same_src_port_rate <= 0.99 -> class normal [1.000] Rule 26: (8879/1, lift 5.1) hot <= 0 logged_in > 0 srv_diff_host_rate > 0.33 dst_host_srv_diff_host_rate <= 0.11 -> class normal [1.000] Rule 27: (6620/1, lift 5.1) service = smtp src_bytes > 971 -> class normal [1.000] Rule 28: (61888/10, lift 5.1) service = http src_bytes <= 10073 same_srv_rate > 0.32 dst_host_serror_rate <= 0.89 -> class normal [1.000] Rule 29: (14832/14, lift 5.1) duration <= 0 wrong_fragment <= 0 num_failed_logins <= 0 logged_in <= 0 count <= 4 srv_serror_rate <= 0.51 dst_host_srv_count > 1 dst_host_diff_srv_rate <= 0.91 dst_host_same_src_port_rate <= 0.77 dst_host_serror_rate <= 0.89 -> class normal [0.999] Rule 30: (1510, lift 5.1) service = ftp_data count > 4 same_srv_rate > 0.32 dst_host_serror_rate <= 0.89 -> class normal [0.999] Rule 31: (4758/3, lift 5.1) protocol_type = tcp src_bytes <= 333 dst_bytes <= 493 num_failed_logins <= 0 logged_in <= 0 srv_serror_rate <= 0.51 same_srv_rate > 0.32 dst_host_same_srv_rate > 0.9 dst_host_srv_diff_host_rate <= 0.24 -> class normal [0.999] Rule 32: (9852/5, lift 5.1) protocol_type = udp dst_host_same_srv_rate > 0.9 -> class normal [0.999] Rule 33: (71188/39, lift 5.1) src_bytes > 19 src_bytes <= 333 wrong_fragment <= 0 hot <= 0 num_failed_logins <= 0
136
root_shell <= 0 same_srv_rate > 0.32 dst_host_diff_srv_rate <= 0.91 dst_host_srv_diff_host_rate <= 0.08 dst_host_srv_serror_rate <= 0.01 -> class normal [0.999] Rule 34: (72559/75, lift 5.1) src_bytes > 24 src_bytes <= 333 wrong_fragment <= 0 hot <= 0 num_failed_logins <= 0 root_shell <= 0 same_srv_rate > 0.32 dst_host_diff_srv_rate <= 0.91 dst_host_serror_rate <= 0.89 -> class normal [0.999] Rule 35: (1634, lift 5.1) duration <= 4 protocol_type = tcp src_bytes > 1015 hot <= 0 srv_serror_rate <= 0.51 dst_host_srv_count <= 67 -> class normal [0.999] Rule 36: (86684/283, lift 5.1) src_bytes > 1 wrong_fragment <= 0 hot <= 0 num_failed_logins <= 0 num_compromised <= 0 root_shell <= 0 srv_serror_rate <= 0.51 same_srv_rate > 0.32 dst_host_diff_srv_rate <= 0.91 dst_host_same_src_port_rate <= 0.99 -> class normal [0.997] Rule 37: (707/2, lift 5.1) protocol_type = tcp src_bytes <= 333 land = 0 root_shell <= 0 same_srv_rate > 0.32 dst_host_srv_diff_host_rate > 0.24 dst_host_srv_diff_host_rate <= 0.48 dst_host_serror_rate <= 0.89 -> class normal [0.996] Rule 38: (690/2, lift 5.1) protocol_type = tcp src_bytes > 333 logged_in <= 0 srv_serror_rate <= 0.51 dst_host_srv_diff_host_rate <= 0.48 -> class normal [0.996] Rule 39: (20156/74, lift 5.1) dst_bytes > 2686 logged_in > 0 num_compromised <= 0 root_shell <= 0 same_srv_rate > 0.32 dst_host_srv_diff_host_rate <= 0.48 -> class normal [0.996] Rule 40: (439/1, lift 5.1) duration <= 7713 src_bytes <= 971 hot > 0 logged_in > 0 root_shell <= 0 num_file_creations <= 0 same_srv_rate > 0.32 -> class normal [0.995] Rule 41: (256/1, lift 5.0) src_bytes > 19 wrong_fragment <= 0 same_srv_rate <= 0.32 dst_host_diff_srv_rate > 0.14 -> class normal [0.992] Rule 42: (433/3, lift 5.0)
137
src_bytes > 6 wrong_fragment <= 0 same_srv_rate <= 0.32 dst_host_count > 11 -> class normal [0.991] Rule 43: (26, lift 4.9) land = 0 srv_serror_rate > 0.51 same_srv_rate > 0.32 dst_host_diff_srv_rate <= 0.91 dst_host_serror_rate <= 0.25 -> class normal [0.964] Rule 44: (6983/1027, lift 4.3) wrong_fragment <= 0 same_srv_rate > 0.32 dst_host_diff_srv_rate > 0.3 dst_host_srv_serror_rate <= 0.64 -> class normal [0.853] Rule 45: (15/2, lift 4.2) flag = S0 land = 0 same_srv_rate > 0.32 dst_host_diff_srv_rate <= 0.3 dst_host_same_src_port_rate > 0.22 -> class normal [0.824] Rule 46: (95/27, lift 3.6) src_bytes <= 10073 num_compromised > 0 -> class normal [0.711] Rule 47: (4/1, lift 109782.4) service = telnet num_compromised <= 0 root_shell > 0 -> class perl [0.667] Rule 48: (259, lift 1864.1) src_bytes > 754 wrong_fragment > 0 -> class pod [0.996] Rule 49: (810, lift 474.4) src_bytes <= 0 serror_rate <= 0.53 dst_host_diff_srv_rate > 0.14 dst_host_same_src_port_rate > 0.57 -> class portsweep [0.999] Rule 50: (799, lift 474.4) rerror_rate > 0.99 diff_srv_rate <= 0.78 dst_host_count > 96 dst_host_diff_srv_rate > 0.14 -> class portsweep [0.999] Rule 51: (140/1, lift 468.3) src_bytes <= 1 dst_bytes <= 6 rerror_rate > 0.4 same_srv_rate > 0.32 dst_host_srv_count <= 1 dst_host_diff_srv_rate <= 0.91 dst_host_same_src_port_rate <= 0.99 -> class portsweep [0.986] Rule 52: (511/6, lift 468.5) same_srv_rate > 0.32 dst_host_count > 166 dst_host_diff_srv_rate > 0.91 dst_host_serror_rate <= 0.89 -> class portsweep [0.986] Rule 53: (988/21, lift 464.5) rerror_rate > 0.99 dst_host_count > 96 dst_host_diff_srv_rate > 0.14 -> class portsweep [0.978] Rule 54: (13, lift 443.4) wrong_fragment <= 0 serror_rate > 0.53 same_srv_rate <= 0.32 dst_host_count > 96
138
dst_host_diff_srv_rate > 0.14 -> class portsweep [0.933] Rule 55: (96/40, lift 276.3) duration > 20940 -> class portsweep [0.582] Rule 56: (1405, lift 310.7) src_bytes <= 19 same_srv_rate <= 0.32 diff_srv_rate > 0.78 dst_host_diff_srv_rate > 0.14 -> class satan [0.999] Rule 57: (133, lift 308.6) duration <= 0 service = private dst_bytes <= 32 wrong_fragment <= 0 count > 4 srv_serror_rate <= 0.51 dst_host_srv_rerror_rate <= 0.99 -> class satan [0.993] Rule 58: (69, lift 306.5) src_bytes <= 19 dst_host_same_srv_rate <= 0.9 dst_host_diff_srv_rate <= 0.91 dst_host_same_src_port_rate > 0.99 dst_host_srv_rerror_rate <= 0.99 -> class satan [0.986] Rule 59: (100/2, lift 301.8) src_bytes > 0 src_bytes <= 6 same_srv_rate <= 0.32 -> class satan [0.971] Rule 60: (31/1, lift 292.1) protocol_type = udp dst_bytes <= 32 wrong_fragment <= 0 count > 4 dst_host_srv_count > 1 dst_host_srv_count <= 7 dst_host_same_src_port_rate <= 0.77 -> class satan [0.939] Rule 61: (14/1, lift 272.0) duration <= 20940 dst_bytes <= 32 count <= 45 dst_host_srv_count > 1 dst_host_same_src_port_rate > 0.77 dst_host_same_src_port_rate <= 0.99 dst_host_rerror_rate > 0.02 -> class satan [0.875] Rule 62: (16/2, lift 259.1) src_bytes <= 1 srv_serror_rate <= 0.51 rerror_rate <= 0.4 dst_host_srv_count <= 1 dst_host_diff_srv_rate <= 0.91 dst_host_same_src_port_rate <= 0.99 dst_host_serror_rate <= 0.01 -> class satan [0.833] Rule 63: (227967, lift 1.8) src_bytes > 705 count > 45 same_srv_rate > 0.32 -> class smurf [1.000] Rule 64: (280779, lift 1.8) service = ecr_i wrong_fragment <= 0 count > 4 dst_host_srv_count > 7 -> class smurf [1.000] Rule 65: (492783/211993, lift 1.0) wrong_fragment <= 0 -> class smurf [0.570] Rule 66: (979, lift 504.1) src_bytes <= 754
139
wrong_fragment > 0 -> class teardrop [0.999] Rule 67: (523, lift 483.4) src_bytes > 333 src_bytes <= 1015 dst_bytes <= 164 logged_in > 0 srv_diff_host_rate <= 0.33 dst_host_srv_count <= 67 dst_host_same_src_port_rate > 0.99 -> class warezclient [0.998] Rule 68: (549, lift 483.5) src_bytes > 326 src_bytes <= 353 dst_bytes <= 32 -> class warezclient [0.998] Rule 69: (512/1, lift 482.4) service = ftp_data src_bytes > 19 dst_host_same_src_port_rate > 0.99 dst_host_srv_diff_host_rate > 0.08 dst_host_srv_diff_host_rate <= 0.48 -> class warezclient [0.996] Rule 70: (83, lift 478.6) duration > 4 src_bytes > 333 dst_bytes <= 164 dst_host_same_src_port_rate > 0.99 -> class warezclient [0.988] Rule 71: (72/1, lift 471.2) service = ftp_data dst_host_same_src_port_rate > 0.99 dst_host_srv_serror_rate > 0.01 -> class warezclient [0.973] Rule 72: (22, lift 464.2) duration > 7713 hot > 0 logged_in > 0 num_compromised <= 0 num_file_creations <= 0 -> class warezclient [0.958] Rule 73: (81/11, lift 414.3) srv_serror_rate <= 0.51 dst_host_same_src_port_rate > 0.99 dst_host_srv_diff_host_rate <= 0.24 dst_host_srv_serror_rate > 0.01 -> class warezclient [0.855] Rule 74: (492/144, lift 342.2) src_bytes > 971 hot > 0 logged_in > 0 num_compromised <= 0 num_file_creations <= 0 -> class warezclient [0.706] Rule 75: (639/203, lift 330.2) dst_bytes <= 32 land = 0 wrong_fragment <= 0 same_srv_rate > 0.32 dst_host_same_src_port_rate > 0.77 dst_host_srv_diff_host_rate > 0.11 dst_host_srv_diff_host_rate <= 0.48 dst_host_rerror_rate <= 0.02 -> class warezclient [0.682] Rule 76: (16, lift 23328.8) duration > 1 src_bytes <= 333 dst_bytes > 369448 dst_host_same_src_port_rate > 0.99 -> class warezmaster [0.944] Default class: smurf
140
LAMPIRAN E STRUKTUR PEPOHON KEPUTUSAN MENGGUNAKAN PILIHAN “FUZZY THRESHOLD”
141
See5 [Release 2.04] Sat Jan 05 17:34:15 2008 Options: Probability thresholds (fuzzy) Read 494021 cases (42 attributes) from kddcup.data Decision tree: wrong_fragment >= 1 (0.5): :...src_bytes <= 28 (754): teardrop (979) : src_bytes >= 1480 (754): pod (259) wrong_fragment <= 0 (0.5): :...land = 1: land (22/1) land = 0: :...same_srv_rate <= 0.17 (0.325): :...dst_host_diff_srv_rate <= 0.1 (0.145): : :...src_bytes <= 0 (0.5): neptune (106235/24) : : src_bytes >= 1 (0.5): : : :...dst_host_count <= 5 (11.5): buffer_overflow (3/1) : : dst_host_count >= 27 (11.5): : : :...src_bytes <= 1 (6.5): satan (16/2) : : src_bytes >= 7 (6.5): normal (178/2) : dst_host_diff_srv_rate >= 0.16 (0.145): : :...src_bytes >= 48 (19.5): normal (256/1) : src_bytes <= 6 (19.5): : :...dst_host_count <= 69 (96.5): neptune (17) : dst_host_count >= 124 (96.5): : :...rerror_rate >= 1 (0.995): : :...diff_srv_rate <= 0.56 (0.78): portsweep (59) : : diff_srv_rate >= 1 (0.78): satan (21) : rerror_rate <= 0 (0.995): : :...serror_rate >= 0.72 (0.535): portsweep (13) : serror_rate <= 0.44 (0.535): [S1] same_srv_rate >= 0.5 (0.325): :...dst_host_serror_rate >= 0.91 (0.895): :...dst_host_diff_srv_rate >= 0.5 (0.3): : :...dst_host_srv_serror_rate <= 0.29 (0.645): normal (4) : : dst_host_srv_serror_rate >= 1 (0.645): nmap (96) : dst_host_diff_srv_rate <= 0.1 (0.3): : :...src_bytes >= 71 (35.5): normal (22/2) : src_bytes <= 0 (35.5): : :...flag in OTH,S3,S1,S2,SF,RSTR,REJ,RSTO, : : RSTOS0: neptune (0) : flag = SH: imap (2) : flag = S0: [S2] dst_host_serror_rate <= 0.6 (0.895): :...num_compromised >= 1 (0.5): :...src_bytes >= 13748 (10206): back (2129) : src_bytes <= 6664 (10206): : :...num_shells >= 1 (0.5): : :...duration <= 103 (150.5): loadmodule (2) : : duration >= 198 (150.5): multihop (2) : num_shells <= 0 (0.5): [S3] num_compromised <= 0 (0.5): :...num_failed_logins >= 1 (0.5): :...dst_host_same_srv_rate <= 0.36 (0.68): normal (9/1) : dst_host_same_srv_rate >= 1 (0.68): guess_passwd (51) num_failed_logins <= 0 (0.5): :...dst_host_srv_diff_host_rate >= 0.5 (0.49): :...dst_bytes >= 15 (9.5): : :...dst_host_rerror_rate <= 0.01 (0.455): normal (82/2) : : dst_host_rerror_rate >= 0.9 (0.455): ipsweep (3)
142
: dst_bytes <= 0 (9.5): : :...src_bytes >= 334 (26): warezclient (14/2) : src_bytes <= 18 (26): [S4] dst_host_srv_diff_host_rate <= 0.48 (0.49): :...root_shell >= 1 (0.5): :...hot >= 2 (1.5): phf (4) : hot <= 1 (1.5): [S5] root_shell <= 0 (0.5): :...hot >= 1 (0.5): :...num_file_creations >= 1 (0.5): [S6] : num_file_creations <= 0 (0.5): : :...logged_in <= 0 (0.5): normal (5/2) : logged_in >= 1 (0.5): : :...src_bytes <= 905 (971.5): [S7] : src_bytes >= 1019 (971.5): : :...dst_bytes <= 2453 (2686.5): [S8] : dst_bytes >= 3074 (2686.5): [S9] hot <= 0 (0.5): :...dst_host_diff_srv_rate >= 1 (0.915): :...dst_host_count <= 77 (166): [S10] : dst_host_count >= 255 (166): [S11] dst_host_diff_srv_rate <= 0.91 (0.915): :...duration >= 40232 (20961.5): [S12] duration <= 5058 (20961.5): :...srv_serror_rate >= 0.76 (0.545): [S13] srv_serror_rate <= 0.5 (0.545): [S14] SubTree [S1] dst_host_same_src_port_rate <= 0.01 (0.575): satan (1408/1) dst_host_same_src_port_rate >= 0.58 (0.575): :...src_bytes <= 0 (0.5): portsweep (4) src_bytes >= 1 (0.5): satan (53) SubTree [S2] dst_host_same_src_port_rate <= 0.2 (0.225): neptune (958) dst_host_same_src_port_rate >= 0.25 (0.225): normal (4/1) SubTree [S3] dst_host_same_src_port_rate <= 0.07 (0.09): normal (60/3) dst_host_same_src_port_rate >= 0.1 (0.09): :...service in pm_dump,tftp_u,tim_i,red_i,urp_i,X11,urh_i,netstat,netbios_ns, : sql_net,vmnet,bgp,Z39_50,ldap,supdup,iso_tsap,csnet_ns,pop_2, : sunrpc,uucp_path,printer,efs,courier,klogin,kshell,echo,ctf, : nntp,shell,IRC,nnsp,http_443,exec,domain,ssh,mtp,link, : remote_job,auth,ntp_u,other,rje,time,name,whois,domain_u,uucp, : hostnames,gopher,netbios_dgm,netbios_ssn,imap4,smtp,private, : discard,ftp,systat,daytime,ecr_i,finger, : eco_i: buffer_overflow (0) service in pop_3,http: normal (5) service = ftp_data: rootkit (1) service = login: ftp_write (1) service = telnet: :...duration <= 305 (6332): buffer_overflow (18) duration >= 12359 (6332): normal (2) SubTree [S4]
143
dst_host_rerror_rate <= 0 (0.99): ipsweep (1129) dst_host_rerror_rate >= 1 (0.99): :...dst_host_same_srv_rate <= 0.14 (0.57): ipsweep (2) dst_host_same_srv_rate >= 1 (0.57): normal (24) SubTree [S5] service in pm_dump,tftp_u,tim_i,red_i,urp_i,X11,urh_i,netstat,netbios_ns, : sql_net,vmnet,bgp,Z39_50,ldap,supdup,iso_tsap,csnet_ns,pop_2, : sunrpc,uucp_path,printer,efs,courier,klogin,kshell,echo,ctf,nntp, : shell,IRC,nnsp,http_443,exec,domain,ssh,pop_3,mtp,link,remote_job, : auth,ntp_u,other,rje,time,name,whois,domain_u,uucp,hostnames, : gopher,netbios_dgm,netbios_ssn,imap4,smtp,private,discard,ftp, : systat,daytime,ecr_i,finger,login,eco_i: normal (0) service = http: normal (14) service = ftp_data: buffer_overflow (3/1) service = telnet: perl (4/1) SubTree [S6] is_guest_login <= 0 (0.5): normal (5/3) is_guest_login >= 1 (0.5): :...num_access_files <= 0 (0.5): multihop (3/1) num_access_files >= 1 (0.5): ftp_write (2) SubTree [S7] duration <= 355 (6450.5): normal (428/1) duration >= 12546 (6450.5): warezclient (11) SubTree [S8] service in pm_dump,tftp_u,tim_i,red_i,urp_i,X11,urh_i,netstat,netbios_ns, : sql_net,vmnet,bgp,Z39_50,ldap,supdup,iso_tsap,csnet_ns,pop_2, : sunrpc,uucp_path,printer,efs,courier,klogin,kshell,echo,ctf,nntp, : shell,IRC,nnsp,http_443,exec,domain,ssh,pop_3,mtp,link,remote_job, : auth,ntp_u,rje,time,name,whois,domain_u,uucp,hostnames,gopher, : netbios_dgm,netbios_ssn,imap4,private,discard,systat,daytime,ecr_i, : finger,telnet,login,eco_i: warezclient (0) service in other,ftp,ftp_data: warezclient (348) service = smtp: normal (6) service = http: back (4) SubTree [S9] is_guest_login <= 0 (0.5): back (61) is_guest_login >= 1 (0.5): normal (73) SubTree [S10] src_bytes <= 0 (5): ipsweep (23/1) src_bytes >= 10 (5): normal (32/1) SubTree [S11] src_bytes <= 0 (0.5): portsweep (505) src_bytes >= 1 (0.5): satan (6) SubTree [S12] dst_bytes <= 0 (22): portsweep (56) dst_bytes >= 44 (22): normal (40)
144
SubTree [S13] dst_host_diff_srv_rate >= 0.71 (0.585): nmap (7) dst_host_diff_srv_rate <= 0.46 (0.585): :...dst_host_serror_rate <= 0.17 (0.25): normal (23) dst_host_serror_rate >= 0.55 (0.25): imap (10/4) SubTree [S14] dst_host_same_src_port_rate <= 0.9 (0.995): :...dst_host_srv_count <= 1 (1.5): : :...src_bytes >= 30 (3): normal (1796/8) : : src_bytes <= 0 (3): : : :...dst_bytes >= 15 (7.5): normal (2) : : dst_bytes <= 0 (7.5): : : :...rerror_rate >= 0.5 (0.415): portsweep (138/1) : : rerror_rate <= 0.33 (0.415): : : :...dst_host_serror_rate <= 0 (0.015): satan (3) : : dst_host_serror_rate >= 0.03 (0.015): portsweep (5) : dst_host_srv_count >= 2 (1.5): : :...count >= 200 (45.5): : :...rerror_rate >= 1 (0.51): neptune (4) : : rerror_rate <= 0.02 (0.51): : : :...src_bytes <= 379 (705.5): normal (1396) : : src_bytes >= 1032 (705.5): smurf (171) : count <= 38 (45.5): : :...dst_bytes >= 36 (32.5): normal (76173/16) : dst_bytes <= 4 (32.5): : :...dst_host_same_src_port_rate >= 0.83 (0.775): : :...dst_host_rerror_rate >= 0.04 (0.02): satan (5/1) : : dst_host_rerror_rate <= 0 (0.02): : : :...dst_host_srv_diff_host_rate <= 0.1 (0.11): : : :...service in pm_dump,tftp_u,tim_i,red_i,urp_i,X11, : : : : urh_i,netstat,netbios_ns,sql_net,vmnet, : : : : bgp,Z39_50,ldap,supdup,iso_tsap, : : : : csnet_ns,pop_2,sunrpc,uucp_path, : : : : printer,efs,courier,klogin,kshell,echo, : : : : ctf,nntp,shell,IRC,nnsp,http_443,exec, : : : : domain,ssh,pop_3,mtp,link,remote_job, : : : : auth,ntp_u,rje,time,name,whois,uucp, : : : : hostnames,gopher,netbios_dgm, : : : : netbios_ssn,imap4,smtp,http,discard, : : : : ftp,systat,daytime,ecr_i,finger,telnet, : : : : login: normal (0) : : : service in other,domain_u,ftp_data, : : : : eco_i: normal (219) : : : service = private: nmap (19/1) : : dst_host_srv_diff_host_rate >= 0.12 (0.11): [S15] : dst_host_same_src_port_rate <= 0.75 (0.775): : :...duration >= 4 (0.5): : :...dst_host_serror_rate >= 0.01 (0.005): warezclient (7/1) : : dst_host_serror_rate <= 0 (0.005): : : :...dst_host_same_srv_rate <= 0.01 (0.035): satan (2) : : dst_host_same_srv_rate >= 0.06 (0.035): normal (63) : duration <= 0 (0.5): : :...logged_in >= 1 (0.5): : :...src_bytes >= 373 (353.5): normal (2195/1) : : src_bytes <= 334 (353.5): : : :...src_bytes <= 319 (326.5): normal (673/3) : : src_bytes >= 334 (326.5): warezclient (40) : logged_in <= 0 (0.5):
145
: :...count <= 4 (4.5): normal (7947/14) : count >= 6 (4.5): : :...dst_host_srv_rerror_rate >= 1 (0.995): : :...rerror_rate <= 0.96 (0.98): normal (2) : : rerror_rate >= 1 (0.98): neptune (6) : dst_host_srv_rerror_rate <= 0.83 (0.995): : :...dst_host_srv_count <= 6 (7.5): : :...protocol_type = tcp: normal (0) : : protocol_type = icmp: normal (6/1) : : protocol_type = udp: satan (5) : dst_host_srv_count >= 9 (7.5): : :...service in pm_dump,tftp_u,tim_i,red_i, : : X11,urh_i,netstat, : : netbios_ns,sql_net,vmnet, : : bgp,Z39_50,ldap,supdup, : : iso_tsap,csnet_ns,pop_2, : : sunrpc,uucp_path,printer, : : efs,courier,klogin,kshell, : : echo,ctf,nntp,shell,IRC, : : nnsp,http_443,exec,domain, : : ssh,pop_3,mtp,link, : : remote_job,auth,ntp_u,rje, : : time,name,whois,uucp, : : hostnames,gopher, : : netbios_dgm,netbios_ssn, : : imap4,smtp,discard,ftp, : : systat,daytime,finger, : : telnet,login, : : eco_i: normal (0) : service in urp_i,other,domain_u,http, : : ftp_data: normal (564) : service = private: satan (21) : service = ecr_i: smurf (4) dst_host_same_src_port_rate >= 1 (0.995): :...src_bytes >= 334 (333.5): :...protocol_type = icmp: smurf (280619/6) : protocol_type = udp: normal (52) : protocol_type = tcp: : :...dst_host_srv_count >= 75 (67): normal (103/1) : dst_host_srv_count <= 66 (67): : :...dst_bytes >= 855415 (164): normal (8/1) : dst_bytes <= 0 (164): : :...logged_in <= 0 (0.5): normal (3/1) : logged_in >= 1 (0.5): : :...srv_diff_host_rate >= 0.67 (0.335): [S16] : srv_diff_host_rate <= 0 (0.335): : :...src_bytes <= 832 (1015.5): warezclient (511) : src_bytes >= 1199 (1015.5): : :...duration <= 0 (4): normal (9) : duration >= 8 (4): warezclient (36) src_bytes <= 38 (333.5):
146
:...dst_host_srv_diff_host_rate >= 0.25 (0.245): :...protocol_type = udp: normal (0) : protocol_type = tcp: normal (129/2) : protocol_type = icmp: : :...src_bytes <= 8 (13): nmap (100) : src_bytes >= 18 (13): : :...src_bytes <= 18 (24): ipsweep (79) : src_bytes >= 30 (24): normal (12) dst_host_srv_diff_host_rate <= 0.2 (0.245): :...dst_host_srv_rerror_rate >= 1 (0.995): :...dst_host_count <= 1 (128): normal (307) : dst_host_count >= 255 (128): portsweep (234) dst_host_srv_rerror_rate <= 0 (0.995): :...dst_bytes >= 988002 (378329): :...duration <= 1 (1.5): multihop (2) : duration >= 2 (1.5): warezmaster (16) dst_bytes <= 91103 (378329): :...dst_host_srv_serror_rate >= 0.02 (0.015): :...service in pm_dump,tftp_u,tim_i,red_i,urp_i,X11,urh_i, : : netstat,netbios_ns,sql_net,vmnet,bgp, : : Z39_50,ldap,supdup,iso_tsap,csnet_ns,pop_2, : : sunrpc,uucp_path,printer,efs,courier, : : klogin,kshell,echo,ctf,nntp,shell,IRC,nnsp, : : http_443,exec,domain,ssh,pop_3,mtp,link, : : remote_job,auth,ntp_u,other,rje,time,name, : : whois,domain_u,uucp,hostnames,gopher, : : netbios_dgm,netbios_ssn,imap4,smtp,private, : : discard,ftp,systat,daytime,ecr_i,finger, : : telnet,login,eco_i: warezclient (0) : service = http: normal (10) : service = ftp_data: warezclient (12) dst_host_srv_serror_rate <= 0 (0.015): :...src_bytes >= 30 (19): [S17] src_bytes <= 18 (19): :...dst_host_same_srv_rate <= 0.82 (0.915): satan (38) dst_host_same_srv_rate >= 1 (0.915): :...protocol_type = icmp: ipsweep (11/2) protocol_type = udp: normal (4/1) protocol_type = tcp: :...dst_bytes <= 0 (4.5): normal (350/3) dst_bytes >= 5020 (4.5): [S18] SubTree [S15] dst_host_srv_diff_host_rate <= 0.13 (0.145): warezclient (6) dst_host_srv_diff_host_rate >= 0.16 (0.145): normal (5) SubTree [S16] dst_host_srv_diff_host_rate <= 0.1 (0.11): normal (2) dst_host_srv_diff_host_rate >= 0.12 (0.11): warezclient (7) SubTree [S17] dst_host_srv_diff_host_rate <= 0.03 (0.085): normal (3985/7) dst_host_srv_diff_host_rate >= 0.1 (0.085): :...service in pm_dump,tftp_u,tim_i,red_i,urp_i,X11,urh_i,netstat,netbios_ns, : sql_net,vmnet,bgp,Z39_50,ldap,supdup,iso_tsap,csnet_ns,pop_2, : sunrpc,uucp_path,printer,efs,courier,klogin,kshell,echo,ctf, : nntp,shell,IRC,nnsp,http_443,exec,domain,ssh,pop_3,mtp,link, : remote_job,auth,ntp_u,other,rje,time,name,whois,uucp,hostnames,
147
: gopher,netbios_dgm,netbios_ssn,imap4,smtp,private,discard,ftp, : systat,daytime,finger,telnet,login: normal (0) service in domain_u,http,ecr_i,eco_i: normal (56) service = ftp_data: warezclient (21) SubTree [S18] logged_in >= 1 (0.5): buffer_overflow (8/2) logged_in <= 0 (0.5): :...dst_bytes <= 139 (493.5): normal (2) dst_bytes >= 848 (493.5): warezmaster (2)
**************************************************************
148
RUJUKAN
Ajith Abraham, Ravi. Jain, (2005) Soft Computing Models for Network
Intrusion Detection Systems. Classification and Clustering for Knowledge
Discovery, Saman Halgamuge and Lipo Wang (Eds.), Studies in
Computational Intelligence, Vol. 4, Springer Verlag Germany, ISBN: 3-540-
26073-0, Chapter 13, pp. 187-204, 2005.
Berk, V., Gray, R., and Bakos, G. (2000). Using sensor networks and data
fusion for early detection of active worms.
Bigus, Joseph P., (2006) Data Mining with Neural Networks”, McGraw Hill.
Deniz Yuret, (2003) Nota Kuliah 10: 3 November 2003, Machine Learning
[Internet]http://www.ai.rug.nl/nl/vakinformatie/KI2/2003/AdvisedReading/e
coe554-10.pdf [Akses terakhir pada 06-12-2007]
DTREG, (2007) [Internet] http://www.dtreg.com/ [Akses terakhir pada 06-
12-2007]
Dorothy E. Denning, (1987) An Intrusion-Detection Model. IEEE
Transactions on Software Engineering, Vol.SE-13, No.2,
149
Gowadia, V., Farkas, C., and Valtorta, M. (2005). Paid: A probabilistic
agent-based intrusion detection system. Journal of Computers and Security.
Hettich, S. and Bay, S. D. (1999). The UCI KDD Archive Irvine, CA:
University of California, Department of Information and Computer Science.
[Internet] (http://kdd.ics.uci.edu). (Akses terakhir pada: 05-12-2007)
Jackson, T., Levine, J., Grizzard, J., and Owen, H. (2004). An investigation
of a compromised host on a honeynet being used to increase the security of a
large enterprise network. Proceedings of the 2004 IEEE Workshop on
Information Assurance and Security. IEEE.
K. Kendall (1999), A Database of Computer Attacks for the Evaluation of
Intrusion Detection Systems, S.M. Thesis, MIT Department of Electrical
Engineering and Computer Science,
Kruegel, C., dan Toth, T, (2003) Using decision trees to improve signature-
based intrusion detection. Proceeding International Symposium Recent
Advances in Intrusion Detection.
L. Heberlein, G. Dias, K. Levitt, B. Mukherjee, J. Wood, and D. Wolber,
(1990). A network security monitor (NSM).
Malaysian Computer Emergency Response Team (MyCERT) (2007)
http://www.mycert.org.my [Akses terakhir pada: 05-12-2007].
150
MindTools, (2007) [Internet] http://www.mindtools.com/ [Akses terakhir
pada 06-12-2007]
MIT Lincoln Laboratory, DARPA Intrusion Detection Evaluation. [Internet]
http://www.ll.mit.edu/IST/ideval [Akses terakhir pada: 06-12-2007].
Nilsson, N. (1996). Introduction to Machine Learning. Stanford University,
[Internet] http://ai.stanford.edu/~nilsson/MLDraftBook/MLBOOK.pdf.
[Akses terakhir pada: 05-12-2007].
Pfleeger, C. and Pfleeger, S. (2003). Security in computing. Prentice Hall.
Quinlan, J. R. (1993). C4.5, Programs for Machine Learning. Morgan
Kaufmann San Mateo Ca, 1993.
Rebecca Base dan Peter Mell. (2001) NIST Special Publication on Intrusion
Detection Systems. Infidel, Inc., Scotts Valley, CA and National Institute of
Standards and Technology.
Richard P. Lippmann, David J. Fried, Isaac Graf, Joshua W. Haines,
Kristopher R. Kendall, David McClung, Dan Weber, Seth E. Webster, Dan
Wyschogrod, Robert K. Cunningham, dan Marc A. Zissman, (2000)
Evaluating Intrusion Detection Systems: the 1998 DARPA Off-Line Intrusion
151
Detection Evaluation. Proceedings of the 2000 DARPA Information
Survivability Conference and Exposition, 2000, Vol. 2.
Rietta, F. (2006). Application layer intrusion detection for sql injection.
Proceedings of the 2006 ACM Syposium of Applied Computing (ACMSE-
2006), [Internet] http://www.rietta.com/papers/rietta acmse2006.pdf.
Riyad Alshammari, Sumalee Sonamthiang, Mohsen Teimouri dan Denis
Riordan (2007). Using neuro-fuzzy approach to reduce false positive alerts.
5th Annual Conference on Communication Networks and Services Research.
RuleQuest, (2007) [Internet] http://www.RuleQuest.com [Akses terakhir
pada 06-12-2007]
S. Terry Brugger, (2004) Data Mining Methods for Network Intrusion
Detection, Universiti California, Irvin.
Salford Systems, (2008) [Internet] http://www.salford-system.com/ [Akses
terakhir pada 06-1-2008]
Salvatore Joshua. Stolfo, Wei Fan dan Wenke Lee, (2000) "Cost-based
Modeling for Fraud and Intrusion Detection: Results from the JAM Project.
Proceedings of the 2000 DARPA Information Survivability Conference and
Exposition.
152
Securityfocus, (2007). [Internet] http://www.securityfocus.com/infocus/1514
[Akses terakhir pada 16-1-2008]
Shirey, R. (2000). RFC 2828 - Internet Security Glossary. GTE / BBN
Technologies, [Internet] http://rfc.dotsrc.org/rfc/rfc2828.html [Akses terakhir
pada: 05-12-2007].
Srilatha Chebrolu, Ajith Abraham dan Johnson P Thomas, (2004) Hybrid
Feature Selection for Modeling Intrusion Detection Systems. 11th
International Conference on Neural Information Processing, ICONIP'04, Pal
N.R. et al. (Eds.) Springer Verlag, Germany, Lecture Notes in Computer
Science, Vol. 3316, ISBN 3-540-23931-6, pp. 1020-1025.
Tsang, Wilson. (2005) Anomaly Intrusion Detection using Multi-Objective
Genetic Fuzzy System and Agent-based Evolutionary Computation
Framework. 5th IEEE International Conference on Data Mining
(ICDM2005).
University of California, Irvine, KDD Cup 1999 Data, 5th International
Conference on Knowledge Discovery and Data Mining,
[Internet]http://kdd.ics.uci.edu/databases/kddcup99/kddcup99.html, [Akses
terakhir pada: 06-12-2007].
Usama Fayyad, Gregory Piatetsky-Shapiro, dan Padhraic Smyth, (1996)
From Data Mining to Knowledge Discovery in Databases [Internet]
153
http://www.aaai.org/AITopics/assets/PDF/AIMag17-03-2-article.pdf [Akses
terakhir pada 06-12-2007]
Varine, B. (2001). Intrusion Detection FAQ: Should we outsource
monitoring? SANS Institute, [Internet]
http://www.sans.org/resources/idfaq/outsource.php.
[Akses terakhir pada: 05-12-2007].
Wenke Lee, Ph.D. in Computer Science, Columbia University, New York,
NY. 1994-1999, Dissertation: A Data Mining Framework for Constructing
Features and Models for Intrusion Detection Systems.
Wenke Lee, Sal Stolfo and Kui Mok, (1999) A Data Mining Framework for
Building Intrusion Detection Models. Proceedings of the 1999 IEEE
Symposium on Security and Privacy, Oakland, CA.
Zhenwei Yu, Jeffrey J. P. Tsai, and Thomas Weigert, (2007) An
automatically tuning intrusion detection system. IEEE Transaction on
Systems, Man and Cybernetics – Part B: CYBERNETICS, Vol. 37, No. 2,
April 2007.
Kelebihan Kekurangan
Strategi yang ringkas menempatkan pengesan dapat memantau
keseluruhan rangkaian.
Semasa waktu puncak trafik berlaku dalam rangkaian, sesetengah
paket mungkin dilepaskan tanpa diproses dan dianalisis dan ini
membuatkan serangan tidak dapat dikesan.
Implementasi sistem pengesanan pencerobohan berasaskan
rangkaian hanya memberi impak yang kecil kepada rangkaian sedia
ada. Ia memberi impak yang sedikit kepada operasi normal
rangkaian selain senang untuk ditingkatkan dan dikurangkan
fungsinya.
Jika rangkaian diubah haluannya, integrasi sistem pengubah
kemungkinan akan membuatkan sistem pengesanan pencerobohan
untuk memantau trafik melalui port yang diubah itu tidak efisien.
Ia mampu menghadapi serangan dan boleh membuatkannya tidak
dikesan oleh penceroboh/penyerang.
Informasi yang dikunci oleh kod khas (encryption) tidak boleh
dianalisis oleh sistem pengesanan pencerobohan berasaskan
rangkaian.
Serangan berkemungkinan dapat dikesan tetapi hos biasanya perlu
disiasat secara manual untuk menentukan sama ada kerosakan dan
penetration berlaku atau tidak.
Serangan yang melibatkan fragmen paket boleh menyebabkan
sesebuah sistem pengesanan pencerobohan mengalami kerosakan.
Jadual 2.1: Kelebihan dan Kekurangan Sistem Pengesanan Pencerobohan Berasaskan Rangkaian.
Kelebihan Kekurangan
Sesetengah kejadian tertentu yang berlaku di hos boleh dikesan
oleh sistem pengesanan pencerobohan jenis ini.
Lebih kompleks untuk diurus jika melibatkan bilangan
pengguna yang ramai dan lokasi hos yang sukar untuk diakses.
Data mentah yang terdapat pada hos boleh dianalisis seperti
informasi yang telah di buka kod rahsianya (decryption).
Kemungkinan sistem pengesanan pencerobohan di abai jika hos
tersebut diserang.
Bila rangkaian diubah haluan, tidak terjejas akan operasinya.
Tidak sesuai untuk serangan yang berasaskan rangkaian seperti
pengimbas teragih dan probe.
Pemeriksaan integriti perisian boleh digunakan dalam
pengesanan beberapa jenis serangan seperti Trojan Horse.
Menggunakan sumber pengkomputeran hos sendiri dan ini
akan mengurangkan prestasi hos tersebut untuk melaksanakan
proses-proses lain.
Jadual 2.2: Kelebihan dan Kekurangan Sistem Pengesanan Pencerobohan Berasaskan Hos.