• Tidak ada hasil yang ditemukan

DAFTAR REFERENSI. xiv

N/A
N/A
Protected

Academic year: 2021

Membagikan "DAFTAR REFERENSI. xiv"

Copied!
73
0
0

Teks penuh

(1)

xiv

DAFTAR REFERENSI

[AKB04] Akbani, Rehan et. Al. 2004. Applying Support Vector Machine to Imbalanced Datasets. 2004. Proceedings of ECML-04.

[BUR98] Burges, Christopher. A Tutorial On Support Vector Machines for Pattern Recognition. Data Mining and Knowledge Discovery, 2(2):955-974. 1998.

[CHA01] Chang, Chih-Chung, Chih-Jen Lin. LIBSVM: A Library for Support Vector Machines. 2001.

[CHE03] Chen, Yi-Wei dan Chih-jen Lin. Combining SVM with Various Features Selection Strategies. 2003. Department of Computer Science, National Taiwan University

[CHR00] Christianini, Nello dan John S. Taylor. An Introduction to Support Vector Machines and Other Kernel-based Learning Methods. Cambridge

University Press, 2000

[CHR01] Christianini, Nello. Support Vector and Kernel Machines. ICML tutorial, 2001.

[FAN05] Fan, Rong-En. et. al. 2005. Working set Selection using Second Order Information for Training Support Vector Machines. Journal of Machine Learning Research 6 1889-1918, 2005.

[HAN01] Han, Jiawei, dan Micheline Kamber. Data Mining Concepts and Techniques. Morgan Kaufmann Publisher, 2001

[HAN06] Han, Jiawei, dan Micheline Kamber. Chapter 11- Data Mining and Intrusion Detection. Lecture Notes:

http://www.cs.uiuc.edu/~hanj/bk2/aI3Intrusion.ppt Diakses tanggal 20 September 2006.

[HSU02] Hsu, Chih-Wei, Chih-Jen Lin. A Comparison of Methods for Multi-class Support Vector Machines. IEEE Transactions on Neural Networks, 13(2):415-425.2002.

[HSU04] Hsu, Chih-Wei et al. A Practical Guide to Support Vector Classification. Department of Computer Science and Information Engineering, National Taiwan University. 2004.

[KEN99] Kendall, Kristopher. A Database of Computer Attacks for the Evaluation of intrusion Detection Systems. MIT.1999.

[KAY05] Kayacik, H. G. et. Al. 2005. Selecting Features for Intrusion Detection: A Feature Relevance Analysis on KDD 99 Intrusion Detection Datasets. Dalhouise University 2005.

[LAS04] Laskov, Pavel et. Al. Intrusion detection in unlabeled data with quarter-sphere Support Vector machines. Fraunhofer-FIRST.IDA. 2004. [LAS05] Laskov, Pavel et. Al. Learning intrusion detection: supervised or

unsupervised?. Fraunhofer-FIRST.IDA. 2005.

[LAZ03] Lazarevic, Alaksander et al. A Comparative Study of Anomaly Detection Schemes in network Intrusion Detection. Proceeding of SIAM

Conference on Data Mining. 2003.

Lazarevic, Alaksander et al. Data Mining for Intrusion Detection. Tutorial on the Pacific-Asia Conference on Knowledge Discovery in Database. 2003.

(2)

[KAT06] Katagiri, Shinya dan Shigeo Abe. Incremental Training of Support Vector Machines Using Hyperspheres. Graduate School of Science and technology, Kobe University. 2006.

[LIN05] Lin, Chih-Jen. 2005. Optimization, Support Vector Machines, and Mahine Learning. http://www.csie.ntu.edu.tw/%7Ecjlin/papers/rome.pdf. Diakses tanggal 10 Januari 2007.

[LIP99] Lippman, Richard. et al. Evaluating Intrusion Detection Systems: The 1998 DARPA Off-line Intrusion Detection Evaluation . IEEE. 1999. [LEE01] Lee, Wenke, et al. Real Time Data Mining–based Intrusion

Detection.2001.

[LEE98] Lee, Wenke, S. J Stolfo. Data Mining Approaces for Intrusion Detection. Proceeding of the 1998 USENIX Security Simposium. 1998.

[LEO01] Leonid,Pordnoy et al. Intrusion Detection With Unlabeled Data using Clustering. Lab Data Mining, Departemen Computer Science,

Universitas Columbia.

[MCH00] McHugh John, et al. Defending Yourself: The Role of Intrusion Detection Systems. IEEE Software. 2000.

[MUK02A] Mukkamala, S. et al. Intrusion Detection Using Neural Networks and Support Vector Machines. IEEE IJCN. 2002.

[MUK02B] Mukkamala, S. et al. Feature Selection for Intrusion Detection using Neural Networks and Support Vector Machines. 2003.

[NAL05] Nalluri, Anitha, dan Dullal C. Kar. 2005. A Web Based System For Intrusion Detection. 2005. ACM

[NOR02] Northcutt, Stephen dan Judy Novak. 2002. Nework Intrusion Detection, Third Edition. News Riders Publishing, 2002.

[OSU97] Osuna, Edgar E. et. al.1997. Support Vector machines: Training and Applications. MIT, 1997.

[QUA02] Quang, Anh tran et al.Evolving Support Vector Machine Parameters. Slide presentasi ICML. Tsinghua University, 2002.

[SAR02] Sarle, Warren et.al. 2002. Neural Network FAQ. ftp://ftp.sas.com/pub/neural/FAQ2.html Diakses tanggal 14 Desember 2006.

[SCH01] Schölkopf, Bernhard. Estimating the Support of High-Dimensional Distribution. Neural Computation 13,1443-1471. MIT. 2001. [WON07] Wong Wai-Tak dan Wen-Cheng Huang. Toward the Best Feature

Model for Network Intrusion Detection using Stepwise Regression and Support Vector Macine. Chung Hua University, 2007

[VIS05] Visa, Sofia dan Anca Ralescu. Issues in Mining Imbalanced Data Sets- A Review Paper. 2005.

[WWW07] http://www.ececs.uc.edu/~aralescu/PAPERS/VRMaics2005.pdf. Diakses 25 januari 2007

[WWW06A] KDD CUP 99 Task Description.

http://kdd.ics.uci.edu/databases/kddcup99/task.html. Diakses tanggal 22 Oktober 2006.

[WWW06B] LIBSVM FAQ. http://www.csie.ntu.edu.tw/%7Ecjlin/libsvm/faq.htm. Diakses tanggal 16 November 2006.

(3)

A-1

LAMPIRAN A

DESKRIPSI DATASET KDDCUP 99

A.1 Distribusi Data

Tabel A-1 Distribusi kelas intrusi

Kelas data Jenis intrusi Jumlah data

DOS Smurf, neptune, back, teardrop, pod, land. 3883370 (79.27%) Normal Normal 972780 (19.86%) Probe Satan, ipsweep, portsweep, nmap 41102 (0.839%) R2L warezclient, guess_passwd, warezmaster, imap,

ftp_write, multihop, phf, spy

1126 (0.023%) U2R buffer_overflow, rootkit, loadmodule, perl. 52 (0.001%)

Tabel A-2 Distribusi data pada setiap jenis intrusi dan service

Kategori Jenis Intrusi Jumlah Data Kategori Jenis Servis Jumlah Data

DOS Smurf 2.807.886 Normal Auth 2.328 Neptune 1.072.017 Domain 38 Back 2.203 Domain_u 57.773 Teardrop 979 Eco_i 3.768 Pod 264 Ecr_i 3.456 Land 21 Finger 5.017 Probe Satan 15.892 ftp 3.821 IpSweep 12.481 ftp_data 38.094 PortSweep 10.413 http 19.045 Nmap 2.316 Imap4 3 R2L warezclient 1.020 IRC 520 guess_passwd 53 ntp_u 3.833 warezmaster 20 Other 56.520 imap 12 pop_3 922 phf 4 private 73.853 ftp_write 8 Shell 5 multihop 7 Ssh 7 spy 2 smtp 95.371 U2R buffer_overflow 30 telnet 2.227 rootkit 10 Time 510 loadmodule 9 Tim_i 7 perl 3 Red_i 9 Tftp_u 3

(4)

A-2

Kategori Jenis Intrusi Jumlah Data Kategori Jenis Servis Jumlah Data

Urp_i 5.375

X11 5

Urh_i 148

A.3 Daftar Atribut

Tabel A-3 Deskripsi atribut data KDDCUP 99

Fitur dasar pada sebuah koneksi TCP

No Nama Atribut Deskripsi Tipe Data

1 duration Durasi koneksi dalam detik continuous

2 protocol_type Jenis protokol misalnya tcp, udp, dan lain sebagainya discrete

3 service Layanan jaringan pada tujuan koneksi seperti http, telnet dan lain sebagainya discrete

4 src_bytes Jumlah byte data dari sumber ke tujuan koneksi continuous

5 dst_bytes Jumlah byte data dari tujuan ke asal koneksi continuous

6 flag Status normal atau error koneksi discrete

7 land Bernilai 1 jika koneksi berasal dari host/port yang sama, bernilai 0 jika sebaliknya discrete

8 wrong_fragment Jumlah fragment data yang salah continuous 9 urgent Jumlah urgent packets continuous

Fitur konten yang disarankan oleh pakar dalam bidang pendeteksian intrusi

No Nama Atribut Deskripsi Tipe Data

10 hot Jumlah “hot'' indicators continuous

11 num_failed_logins Jumlah usaha login yang gagal continuous

12 logged_in Bernilai 1 jika berhasil login, 0 jika sebaliknya discrete 13 num_compromised Jumlah “compromised'' conditions continuous

14 root_shell Bernilai 1 jika root shell berhasil diperoleh dan bernilai 0 jika sebaliknya discrete

15 su_attempted Bernilai 1 jika perintah “su root'' dicoba, 0 jika tidak discrete 16 num_root Jumlah akses ''root'' continuous

17 num_file_creations Jumlah file yang dibuat continuous

18 num_shells Jumlah shell prompt continuous

19 num_access_files Jumlah operasi pada access control files continuous

20 num_outbound_cmds Jumlah outbound commands dalam sebuah sesi ftp continuous

(5)

A-3

Fitur konten yang disarankan oleh pakar dalam bidang pendeteksian intrusi

No Nama Atribut Deskripsi Tipe Data

21 is_hot_login Bernilai 1 jika login terdaftar dalam “hot'' list dan bernilai 0 jika sebaliknya. discrete

22 is_guest_login Bernilai 1 jika jika menggunakan login guess, dan bernilai 0 jika sebaliknya discrete

Fitur traffic yang dihitung dalam window waktu dua detik

No Nama fitur Deskripsi Tipe Data

23 count Jumlah koneksi ke host yang sama oleh sebuah koneksi dalam

dua detik terakhir continuous Catatan: Fitur berikut merujuk pada koneksi ke host yang sama

ini

24 serror_rate Persentase jumlah koneksi yang memiliki error “SYN” continuous

25 rerror_rate Persentase jumlah koneksi yang memiliki error “REJ” continuous

26 same_srv_rate Persentase jumlah koneksi ke service yang sama continuous

27 diff_srv_rate Persentase jumlah koneksi ke service yang berbeda continuous

28 srv_count Jumlah koneksi ke servis yang sama dalam koneksi saat ini dalam

dua detik terakhir continuous Catatan: Fitur berikut ini merujuk pada servis yang sama ini

29 srv_serror_rate Persentase jumlah koneksi yang memiliki “SYN” error continuous

30 srv_rerror_rate Persentase jumlah yang mempunyai “REJ” continuous 31 srv_diff_host_rate Persentase jumlah koneksi ke host yang berbeda continuous

Fitur host-based traffic yang dihitung menggunakan sebuah window 100 koneksi ke host yang sama.

No Nama fitur Deskripsi Tipe Data

32 dst_host_count Jumlah koneksi yang memiliki tujuan host

yang sama continuous 33 dst_host_serror_rate Persentase jumlah koneksi ke host saat ini

yang mempunyai sebuah S0 error continuous 34 dst_host_rerror_rate Persentase jumlah koneksi ke host saat ini

yang mempunyai sebuah RST error continuous 35

dst_host_same_srv_rate

Persentase jumlah koneksi yang memiliki tujuan host yang sama dengan

menggunakan servis yang sama continuous 36 dst_host_diff_srv_rate Persentase jumlah koneksi ke servis yang

sama tetapi berasal dari host yang berbeda continuous 37 dst_host_same_src_port_rate Persentase jumlah koneksi ke host yang

sama dan mempunyai src port yang sama continuous 38

dst_host_srv_count

Jumlah koneksi yang mempunyai tujuan host yang sama dan menggunakan servis

yang sama continuous 39 dst_host_srv_serror_rate Persentase koneksi ke host saat ini dengan

(6)

A-4

40 dst_host_srv_rerror_rate Persentase jumlah koneksi ke host saat ini

yang mempunyai RST error continuous

Fitur host-based traffic yang dihitung menggunakan sebuah window 100 koneksi ke host yang sama.

No Nama fitur Deskripsi Tipe Data

41 dst_host_srv_diff_host_rate Persentase jumlah koneksi ke servis yang

(7)

B-1

LAMPIRAN B

STRUCTURAL RISK MINIMIZATION (SRM)

SRM bertujuan untuk menjamin batas atas dari generalisasi pada data pengujian dengan cara mengontrol ”kapasitas” (fleksibilitas) dari hipotesis hasil pembelajaran. Untuk mengukur kapasitas ini digunakan dimensi Vapnik-Chervonenkis (VC) yang merupakan properti dari ruang hipotesis

{

f

( )

α

}

. Nilai dari dimensi VC ini, berdasarkan teori pembelajaran statistik akan menentukan besarnya nilai kesalahan hipotesis pada data pengujian. Lebih jelasnya, besar kesalahan pada data pengujian/ actual risk R

( )

α dengan probabilitas sebesar 1−η,0≤η ≤1, pada dataset yang terdiri dari n data dapat dilihat pada persamaan (B.1). Remp

( )

α adalah kesalahan pada data pelatihan dan h adalah dimensi VC.

( )

( )

⎟⎟ ⎟ ⎟ ⎟ ⎠ ⎞ ⎜⎜ ⎜ ⎜ ⎜ ⎝ ⎛ ⎟ ⎠ ⎞ ⎜ ⎝ ⎛ − ⎟⎟ ⎠ ⎞ ⎜⎜ ⎝ ⎛ + ⎟ ⎠ ⎞ ⎜ ⎝ ⎛ + ≤ l h l h R R emp 4 log 1 2 log η α α (B.1)

Nilai VC confidence (nilai elemen kedua pada ruas kanan (B.1) ), ditentukan oleh hipotesis/ fungsi hasil pembelajaran [BUR98]. Jadi, prinsip SRM adalah menemukan subset dari ruang hipotesis yang dipilih sehingga batas atas actual risk dengan menggunakan subset tersebut diminimumkan. SRM bertujuan untuk meminimumkan actual risk dengan cara meminimumkan kesalahan pada data pelatihan dan juga VC confidence. Namun, implementasi SRM tidak dilakukan dengan meminimumkan persamaan (B.1) karena dimensi VC dari ruang hipotesis

{

f

( )

α

}

sulit untuk dihitung dan hanya terdapat sedikit model hipotesis yang diketahui bagaimana cara menghitung dimensi VC-nya [OSU97]. Selain itu, walaupun dimensi VC dapat dihitung, tidak mudah meminimumumkan persamaan (B.1).

(8)

C-1

LAMPIRAN C

MULTI CLASS SVM

C.1 Metode ”One-Against-All”

Dengan menggunakan metode ini, dibangun k buah model SVM biner (k adalah jumlah kelas). Setiap model klasifikasi ke-i dilatih dengan menggunakan keseluruhan data, untuk mencari solusi permasalahan (C.1). Contohnya, terdapat permasalahan klasifikasi dengan 4 buah kelas. Untuk pelatihan digunakan 4 buah SVM biner seperti pada tabel C-1 dan penggunannya dalam mengklasifikasi data baru dapat dilihat pada gambar C-1.

( )

( )

( )

( )

( )

0 , 1 , 1 . 2 1 min , , ≥ ≠ → + − ≥ + = → − ≥ + +

i t t i t i t T i t i t i t T i t i t i T i b w i y b x w i y b x w t s C w w j i i

ξ

ξ

φ

ξ

φ

ξ

ξ (C.1)

Tabel C-1 Contoh 4 SVM biner dengan metode One-against-all 1

=

i

y yi =−1 Hipotesis

Kelas 1 Bukan kelas 1 f1(x)=(w1)x+b1

Kelas 2 Bukan kelas 2 f 2(x)=(w2)x+b2

Kelas 3 Bukan kelas 3 f 3(x)=(w3)x+b3

Kelas 4 Bukan kelas 4 f 4(x)=(w4)x+b4

 

) (

1 x

f   f2(x)   f3(x)   f4(x)

(9)

C-2

C.2 Metode ”One-Against-One”

Dengan menggunakan metode ini, dibangun

(

)

2 1 −

k k

buah model klasifikasi biner (k adalah jumlah kelas). Setiap model klasifikasi dilatih pada data dari dua kelas. Untuk data pelatihan dari kelas ke-i dan kelas ke-j, dilakukan pencarian solusi untuk persoalan optimasi konstrain sebagai berikut:

( )

( )

( )

( )

( )

0 , 1 , 1 . 2 1 min , , ≥ = → + − ≥ + = → − ≥ + +

ij t t ij t ij t T ij t ij t ij t T ij t ij t ij T ij b w j y b x w i y b x w t s C w w ij ij ij

ξ

ξ

φ

ξ

φ

ξ

ξ (C.2)

Terdapat beberapa metode untuk melakukan pengujian setelah keseluruhan k

(

k−1

)

/2

model klasifikasi selesai dibangun. Salah satunya adalah metode voting [HSU02]. Tabel C-2 Contoh 6 SVM biner dengan metode One-against-one

1 = i y yi=−1 Hipotesis Kelas 1 Kelas 2 f12(x)=(w12)x+b12 Kelas 1 Kelas 3 f13(x)=(w13)x+b13 Kelas 1 Kelas 4 f14(x)=(w14)x+b14 Kelas 2 Kelas 3 f23(x)=(w23)x+b23 Kelas 2 Kelas 4 f24(x)=(w24)x+b24 Kelas 3 Kelas 4 f34(x)=(w34)x+b34

Jika data x dimasukkan ke dalam fungsi hasil pelatihan ( f(x)=

( )

wij .Tφ

( )

x +b) dan hasilnya menyatakan menyatakan x adalah kelas i, maka suara untuk kelas i ditambah satu. Kelas dari data x akan ditentukan dari jumlah suara terbanyak. Jika terdapat dua buah kelas yang jumlah suaranya sama, maka kelas yang indeksnya lebih kecil dinyatakan sebagai kelas dari data. Jadi pada pendekatan ini terdapat k

(

k−1

)

/2 buah

permasalahan quadratic programming yang masing-masing memiliki 2n /k variabel (n adalah jumlah data pelatihan). Contohnya, terdapat permasalahan klasifikasi

(10)

C-3

dengan 4 buah kelas. Oleh karena itu, digunakan 6 buah SVM biner seperti pada tabel C-2 dan contoh penggunaanya dalam memprediksi kelas data baru dapat dilihat pada gambar C-2.

Gambar C-2 Contoh klasifikasi dengan metode One-against-one

C.3 Metode DAGSVM (Directed Acyclic Graph Support

Vector Machine)

Pelatihan dengan menggunakan metode ini sama dengan metode one-against-one, yaitu dengan membangun

(

)

2 1 −

k k

buah model klasifikasi SVM biner. Akan tetapi, pada saat pengujian digunakan binary directed acyclic graph. Setiap node merupakan model SVM biner dari kelas ke-i dan kelas ke-j. Pada saat memprediksi kelas data pengujian, maka hipotesis dievaluasi mulai dari simpul akar, kemudian bergerak ke kiri atau ke kanan tergantung nilai output dari hipotesis.

Tabel C-3 Contoh 6 SVM biner dengan metode DAGSVM 1

=

i

y yi =−1 Hipotesis

Bukan Kelas 2 Bukan Kelas 1 f12(x)=(w12)x+b12

Bukan Kelas 3 Bukan Kelas 1 f13(x)=(w13)x+b13

Bukan Kelas 4 Bukan Kelas 1 f14(x)=(w14)x+b14

Bukan Kelas 3 Bukan Kelas 2 f23(x)=(w23)x+b23

Bukan Kelas 4 Bukan Kelas 2 f24(x)=(w24)x+b24

Bukan Kelas 4 Bukan Kelas 3 f34(x)=(w34)x+b34 Kelas 1 ) ( 23 x f f24(x) f 34(x) ) ( 14 x f ) ( 12 x f f13(x) Voting Xi

(11)

C-4

Gambar C-3 Contoh klasifikasi dengan metode DAGSVM ) ( 23 x f ) ( 24 x f f14(x) ) ( 12 x f ) ( 13 x f ) ( 34 x f Not 1 Not 2

Not 2 Not 3 Not 3 Not 1

Kelas 3 ) ( 34 x f Kelas 1 Kelas 2

Kelas 4 Kelas 4 Kelas 4 Kelas 3 Kelas 4

Not 4 Not 3 Not 4 Not 2 Not 4 Not 1 Not 4 Not 3

(12)

D-1

LAMPIRAN D

ALGORITMA

D.1 Algoritma

Decomposition

Decomposition bekerja berdasarkan prinsip ’working set’. Metode ini hanya mengubah beberapa multiplier

α

i dalam jumlah tertentu pada setiap iterasi, sementara nilai yang lain bernilai tetap. Working set merupakan kumpulan variabel yang sedang dioptimasi pada current iteration. Jadi, prinsip decomposition adalah mengoptimasi masalah global dengan hanya menggunakan sebagian kecil data pada satu saat.

Teknik dekomposisi secara matematis dapat direpresentasikan dalam notasi matriks.

Misalkan T l) ,... (α1 α α = , T l y y y=( 1,... ) , Qij = yiyjK(xi,xj), dan e merupakan vektor dengan jumlah elemen sebanyak l (jumlah data pelatihan) dan semuanya bernilai 1. Maka SVM dual problem dapat dituliskan sebagai berikut:

0 ... 1 , 0 . . 2 1 max = = ≤ ≤ − α α α α α α T i T T y l i C t s Q e (D.1)

Misalnya vektor α dibagi menjadi α yang menyatakan variabel yang dimasukkan ke B dalam working set, dan αN merupakan variabel sisanya. Selanjutnya matrix Q dapat

dipartisi menjadi ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎣ ⎡ = NN NB BN BB Q Q Q Q

Q , dimana setiap bagiannya ditentukan oleh himpunan indeks B dan N. SMO menggunakan working set berelemen dua sehingga pencarian solusi optimal dapat dilakukan secara analitis seperti contoh sederhana diatas. Hal ini tentunya akan mengakibatkan jumah iterasi semakin bertambah, akan tetapi karena waktu yang dibutuhkan dalam setiap iterasi sangat kecil maka waktu total pelatihan menjadi lebih singkat.

Berikut ini adalah algoritma decomposition dengan menggunakan working set berelemen dua yang digunakan pada LibSVM:

(13)

D-2

1. Temukan variabel awal α1 yang feasible, set k=1 (α1 adalah vektor berisi

semua nilai α ).

2. Jika αkmerupakan titik stationer dari (D.1) , berhenti. Jika tidak, tentukan

working set B=

{ }

i, j 3. Jika

α

ijKij +Kjj −2Kij >0 selesaikan sub-problem α : B

( )

]

[

[

]

(

)

k N T N T B T B t j i T k N BN B j i jj ij ij ii j i B T k N BN B B BB T B k N B T N T B k N B NN NB BN BB T k N T B y y y B t C t s kons Q e Q Q Q Q kons Q e Q e e Q Q Q Q j i − = ∈ ≤ ≤ + ⎥ ⎦ ⎤ ⎢ ⎣ ⎡ + − + ⎥ ⎦ ⎤ ⎢ ⎣ ⎡ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎣ ⎡ = + + − + = ⎥ ⎦ ⎤ ⎢ ⎣ ⎡ − ⎥ ⎦ ⎤ ⎢ ⎣ ⎡ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎣ ⎡

α

α

α

α

α

α

α

α

α

α

α

α

α

α

α

α

α

α

α

α α , 0 . . tan ] [ 2 1 tan ) ( 2 1 2 1 min , (D.2)

Jika tidak selesaikan:

(

)

(

) (

)

(

)

) 1 . ( . 4 ] [ 2 1 min 2 2 , D dari konstrain t s a Q e Q Q Q Q k j i k i i ij j i T k N BN B j i jj ij ij ii j i j i − + − − + ⎥ ⎦ ⎤ ⎢ ⎣ ⎡ + − + ⎥ ⎦ ⎤ ⎢ ⎣ ⎡ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎣ ⎡ α α τ α α α α α α α α α

4. Set

α

Bk+1 sebagai solusi optimal dari subproblem pada langkah 3 dan

1

.

1

+

+ k

Set

k

k

N k N

α

α

, lanjutkan ke langkah kedua.

k

α merupakan titik stationer dari (D.2), jika dan hanya jika

m

( )

α

M

( )

α

yang merupakan Karush-Kuhn-Tucker (KKT) condition [CHA01]. Dimana:

( )

( )

( )

{

}

( )

{

}

( )

x Q e f y atau y C t I y atau y C t I f y M f y m t t t t low t t t t up i i I i i i I i low up + ≡ ∇ = > − = < ≡ − = > = < ≡ ∇ − ≡ ∇ − ≡ ∈ ∈ α α α α α α α α α α α α α 1 , 0 1 , | 1 , 0 1 , | ) ( min ) ( max ) ( ) ( (D.3)

(14)

D-3

Untuk mentoleransi kondisi berhenti terdapat parameter tambahan ε (

m

( )

α

− M

( )

α

ε

), yang idealnya bernilai 0. Akan tetapi, dalam prakteknya dapat digunakan nilai yang lebih besar (misalnya pada LibSVM dan SVMLight digunakan nilai default ε =10−3), sehingga jumlah iterasi menjadi lebih kecil.

Hal yang penting diperhatikan agar algoritma decomposition berjalan lebih cepat adalah pemilihan working set yang akan mengkibatkan solusi permasalahan global (2.19) lebih cepat dicapai. Nilai α yang dimasukkan ke dalam working set adalah varibel yang paling melanggar KKT condition. Pseudocode algoritma decomposition diatas beserta pemilihan working set dapat dilihat pada bagian D.2.

Strategi lainnya untuk mempercepat algoritma decomposition adalah shrinking dan caching yang pertama kali diperkenalkan oleh Joachim. Shrinking merupakan strategi heuristik yang memperkecil permasalahan pencarian solusi untuk persoalan optimasi diatas dengan mengabaikan beberapa bounded support vector (

α

=

C

). Hal ini dapat dilakukan karena umumnya nilai bounded support vector setelah beberapa iterasi dapat diidentifikasi dan bernilai tetap sampai akhir iterasi [LIN05]. Akan tetapi, apabila solusi permalsahan dengan menerapkan shrinking bukan solusi optimal untuk (2.23) maka optimasi dilanjutkan dengan menggunakan keseluruhan variabel.

Seperti yang dilihat diatas algoritma decomposition melakukan iterasi sampai solusi persamaan (2.19) ditemukan. Dalam setiap iterasi nilai elemen matriks Q digunakan. ij Agar tidak perlu dilakukan perhitungan ulang nilai Q maka nilai ij Q yang baru ij digunakan disimpan di memori sehingga waktu komputasi yang dibutuhkan menjadi jauh lebih singkat. Strategi ini disebut dengan caching.

(15)

D-4

D.2 Pseudocode Algoritma Decomposition [FAN05]

y : array of {+1,-1}: kelas dari instance ke-i

Q : Q[i][j] = y[i]*y[j]*K[i][j]; K: matriks kernel len : jumlah instance

//parameter

eps = 1e-3, tau = 1e-12 //program utama

Inisialisasi elemen array alpha A dgn nilai 0 & elemen gradien G dengan nilai -1 While true do

(i,j)=selectB() // pilih working set if(j==-1) break a=Q[i][j]+Q[j][j]-2*y[i]y[j]*Q[i][j] if(a<=0) a=tau b=-y[i]*G[i]+y[j]*G[j] //update alpha oldAi=A[i],oldAj=A[j] A[i]+=y[i]*b/a A[j]+=y[j]*b/a if A[i]>C A[i]=C if A[i]<0 A[i]=0 A[j]=y[j]*(sum-y[i]*A[i]) if A[j]>C A[j]=C if A[j]<0 A[j]=0 A[i]=y[i]*(sum-y[j]*A[i]) //update gradien deltaAi=A[i]-oldAi, deltaAj=A[j]-oldAj

for t=1 to len G[t]+=Q[t][i]*deltaAi+Q[t][j]*deltaAj end while

procedure selectB i=-1 //select i

G_max=-infinity, G_min = infinity for t=1 to len

if (y[t]==+1 and A[t]<C) or (y[t]==-1 and A[t]>0) then if(-y[t]*G[t]>=G_max) then i=t G_max=-y[t]*G[t] End if End if j=-1 //select j obj_min=infinity for t=1 to len

if (y[t]==+1 and A[t]>0) or (y[t]==-1 and A[t]<C) then b=G_max+y[t]*G[t]

if(-y[t]*G[t] <= G_min) G_min=-y[t]*G[t] if(b>0) then

a=Q[i][i]+Q[t][t]-2*y[i]*y[t]*Q[i][t] if(a<=0) a=tau

if(-(b*b)/a <= obj_min) then j=t , obj_min=-(b*b)/a end if

end if end if

if(G_max-G_min < eps) return (-1,-1) return (i,j)

(16)

D-5

D.3 Incremental Training dengan SVM

Jika terdapat data pelatihan baru dan model hasil pelatihan yang lama ingin diperbaharui, maka dari data pelatihan lama cukup diambil sebagian data yang menjadi kandidat support vector. Kandidat support vector adalah data yang memenuhi y(x)f(x)<=1. Selain itu, data yang memenuhi y(x)f(x)>1 tetapi dekat dengan y(x)f(x)=1 dapat menjadi support vector [KAT06]. Oleh karena itu kita dapat menentukan apakah sebuah data merupakan kandidat support vector dengan cara memeriksa data yang memenuhi :

1 ) ( ) (x f x <=β + y (D.4) 1 ) ( ) (x f xy (D.5)

dimana β adalah parameter yang ditentukan pengguna. Jika data tidak memenuhi persamaan (3.3) maka data tersebut dihapus. Akan tetapi jika semua data memenuhi (3.4) maka fungsi keputusan setelah pelatihan tidak berubah sehingga hanya data yang memenuhi (3.3) yang perlu ditambahkan pada pelatihan berikutnya.

Misalkan kita mempunyai dataset awal Xa dan dataset tambahan Xb. Algoritma untuk incremental training [KAT06] adalah sebagai berikut:

a. Lakukan pelatihan SVM dengan menggunakan Xa b. Tambahkan dataset Xb sehingga Xa =XaXb

c. If for xXa, (D.4) tidak dipenuhi, buang data x Xa =Xa

{ }

x d. If for xXa, (D.5) tidak dipenuhi, lakukan pelatihan ulang SVM e. Ulangi langkah b, c dan d.

(17)

D-6

D.4 Algoritma Untuk Menghasilkan Kurva ROC

Len : integer // jumlah data pengujian F(x) : //fungsi keputusan

dec_values[Len,Len] : array of float // nilai hasil F(x), kelas dari //instance x

arr_x[Len] : array of x // data pengujian

arr_y : array of {+1,-1}: kelas dari instance ke-i nb_pos : integer // jumlah data positif

nb_neg : integer // jumlah data negative tp : integer // true positive

fp : integer //false positive roc_data : roc_data[Len][Len] // data kurva //program utama

read_svm_problem (arr_x,arr_y) F(x) = train_svm(arr_x) for i=1 to len

dec_value[i] = F(arr_x[i]) if arr_y[i] == then nb_pos++ else nb_neg++ end if end for sort_on_decision_value(dec_values,arr_y[i]) //calculate ROC

For i=1 to len

If(dec_value[i]>0 and arr_y[i] == 1) then tp++ else fp++ end if roc_data[i,i] = [fp/neg],[tp/p] End for //draw curve plot(roc_data)

(18)

E-1

LAMPIRAN E

HASIL PENELITIAN PENDETEKSIAN INTRUSI

DENGAN SVM

E.1 Penelitian pada [MUK02A]

Pada penelitian ini digunakan dataset yang terdiri dari 14292 data, 7312 untuk pelatihan dan 6980 untuk pengujian. Pada penelitian ini diterapkan SVM biner dengan kernel RBF. Untuk melakukan eksperimen, peneliti menggunakan SVM Light. Parameter yang digunakan adalah C=1000 dan g=1. Penerapan SVM pada eksperimen ini menghasilkan akurasi 99,5%.

E.2 Penelitian pada [MUK02B]

Pada penelitian ini digunakan Multi Class SVM One Against All (tediri dari 5 kelas DOS, Normal, Probe, R2L, U2R) dengan dataset dan hasil yang diperoleh seperti pada tabel E-1.

Tabel E-1 Eksperimen [MUK02B]

Kelas Jumlah data Akurasi (%) Waktu (detik)

Pelatihan Pengujian Pelatihan Pengujian

Normal 1000 1400 99,55 7,66 1,36 Probe 500 700 99,7 49,13 2,1 DOS 3002 4207 99,25 22,87 1,92 U2R 27 20 99,87 3,38 1,05 R2L 563 563 99,78 11,54 1,02 Total 5092 6980 94,58 7,46

E.3 Penelitian pada [LAS04]

Dalam penelitian ini digunakan One Class SVM untuk unsupervised anomaly detection. Eksperimen yang dilakukan pada penelitian ini membandingkan One Class SVM standar dengan hasil modifikasinya yang diberi nama Quarter Sphere Support Vector Machine. Preprocessing data dengan menggunakan metode data dependent normalization untuk atribut numerik dan card coordinates untuk atribut diskrit.

(19)

E-2

Eksperimen dilakukan dengan menggunakan tiga skenario. Skenario pertama menggunakan parameter nu sama dengan rasio data intrusi, skenario kedua menggunakan parameter nu tetap sedangkan rasio data intrusi bervariasi, sedangkan pada scenario ketiga rasio data intrusi bervariasi dan parameter nu bervariasi. Berdasarkan hasil eksperimen [LAS04] performansi One Class SVM standar bergantung pada parameter nu. Hasilnya dapat dilihat pada gambar E-1, E-2 dan E-3.

Gambar E-1 hasil [LAS04] pada penggunaan parameter nu = rasio intrusi

(20)

E-3

Gambar E-3 Hasil [LAS04] pada penggunaan rasio intrusi 0.05 dan nu bervariasi

E.4 Penelitian pada [LAS05]

Experimen yang dilakukan pada penelitian ini menggunakan dua skenario. Skenario pertama dengan distribusi data intrusi yang merata pada data pelatihan dan pengujian, sedangkan pada skenario kedua terdapat data-data intrusi yang belum pernah muncul pada data pengujian. Selain itu, pada penelitian ini digunakan SVM dan Quarter-sphere SVM yang merupakan modifikasi dari One Class SVM. Preprocessing data dengan menggunakan metode data dependent normalization untuk atribut numerik dan 1-of-c encoding untuk atribut diskrit.

Sekitar 75% dari data ini mengandung data intrusi yang didominasi oleh denial of service dan probes. Oleh karena itu, pada penelitian ini dilakukan beberapa tahap preprocessing. Tahap preprocessing dimulai dengan pembagian data ke dalam partisi terpisah sehingga satu partisi yang mengandung satu jenis intrusi. Selanjutnya data normal juga dipisahkan ke dalam partisi sehingga hanya mengandung satu servis saja. Kemudian, partisi yang telah dihasikan digabungkan menjadi 3 buah partisi dengan ukuran yang sama, masing-masing untuk data pelatihan, data validasi dan data pengujian. Prosedur ini memastikan terdapatnya setiap jenis intrusi dan jenis servis pada ketiga partisi data. Pada tahapan preprocessing kedua, sebanyak 2000 sampel

(21)

E-4

data diambil secara acak dari pelatihan, pengujian dan validasi. Prosedur sampling disini, memastikan jumlah data intrusi sebanyak 5%, dan menjaga keseimbangan distribusi setiap jenis intrusi dan servis.

Hasil penelitian ini adalah algoritma dengan pendekatan supervised learning secara umum, mampu mendeteksi intrusi yang jenisnya diketahui dengan akurasi yang sangat tinggi dibandingkan dengan pendekatan unsupervised learning. Hasil terbaik diperoleh oleh C4.5 dengan akurasi 95% dan false positive 1%, selanjutnya diikuti oleh SVM nonlinier dan MLP dengan perbedaan yang sangat kecil seperti pada gambar E-4. Namun, ketika algoritma ini diuji pada data yang mengandung jenis intrusi yang tidak diketahui, secara umum performansinya menurun secara drastis (lihat gambar E-5). Hasil terbaik diperoleh oleh SVM dengan perbedaan yang signifikan dibandingkan teknik lainnya.

(22)

E-5

(23)

F-1

LAMPIRAN F

ALTERNATIF IMPLEMENTASI SVM UNTUK

PENDETEKSIAN INTRUSI PADA JARINGAN

F.1 Anomaly Detection

SVM dapat digunakan untuk menerapkan anomaly detection dengan menggunakan One Class SVM. Ada dua cara pembelajaran dengan One Class SVM yaitu :

a. Supervised [LAZ03]: pembelajaran dengan menggunakan data normal (tidak ada data intrusi sama sekali)

b. Unsupervised [LAS04]: pembelajaran tanpa mengetahui informasi apapun pada data pelatihan (data pelatihan mungkin mengandung data intrusi).

Jelas dalam hal akurasi pendekatan supervised akan lebih baik (menurut [LAS04]), tetapi dalam hal jumlah false positive (masalah utama One Class SVM) belum jelas.

F.2 Misuse Detection

Untuk mengimplementasikan SVM menggunakan metode misuse detection dapat digunakan SVM biner atau Multi Class SVM. Terdapat 3 metode umum yang dapat digunakan dalam menerapkan multi class SVM yaitu one, one-against-all, dan DAGSVM. Untuk pendeteksian intrusi maka metode one-against-one dan DAGSVM lebih baik daripada one-against-all karena waktu pelatihannya lebih singkat. Selain itu, pada penelitian [HSU02] telah dilakukan perbandingan ketiga metode ini. Hasilnya,”One-Against-One” dan DAG SVM umumnya memerlukan jumlah support vector yang lebih sedikit untuk dataset yang besar. Selain itu, One-Against-One umumnya memiliki akurasi sedikit lebih baik pada berbagai dataset yang dicoba.

Meskipun demikian, terdapat salah satu kelebihan dari metode one-against-all yaitu dimungkinkanya terdapat data yang kelasnya tidak diketahui. Data yang kelasnya tidak diketahui dalam konteks pendeteksian intrusi data yang belum pernah dilihat sebelumnya (mungkin data normal atau data intrusi jenis baru). Meskipun demikian, dalam aplikasi lain banyak juga yang mengklasifikasikan data menggunakan

(24)

One-F-2

Against-All berdasarkan nilai maksimum f(x), sehingga tidak dimungkinkan terdapatnya kelas unknown. DAG SVM dan One-Against-One hanya berbeda pada metode pengujiannya dan berdasarkan penelitian [HSU02], keduanya memiliki performansi yang sama. Oleh karena itu, pada Tugas Akhir ini pendekatan One-Against-One dan One-Against-All akan diimplementasikan. Multi Class SVM yang diimplementasikan terdiri dari 5 kelas seperti pada [MUK02B] (Denial of Service, User to Root, Remote to User, Probes dan satu kelas data normal).

Selain metode One-Against-One dan metode One-Against-All yang umum digunakan untuk multi class SVM, dieksplorasi juga strategi multi class SVM yang terdiri dari dua tahap. Pada tahap pertama digunakan SVM biner yang menentukan apakah sebuah data adalah data kelas normal atau intrusi. Selanjutnya jika data diprediksi sebagai intrusi maka untuk menentukan jenis intrusi digunakan multi class SVM (dengan menggunakan One-Against-One atau One-Against-All). Berikut ini adalah strategi implementasi misuse detection dengan SVM, yang akan dieksplorasi pada Tugas Akhir ini:

a. SVM Biner

SVM biner diimplementasikan dalam dua kelas yaitu kelas normal dan intrusi. b. Multi Class SVM One-Against All

Dengan metode ini maka digunakan SVM biner sebanyak jumlah kelas. Daftar SVM biner yang digunakan dapat dilihat pada tabel F-1.

Tabel F-1 5 SVM Biner untuk Multi Class SVM One-against-all 1

=

i

y yi =−1 Hipotesis Data Pelatihan

DOS Bukan DOS f1(x)=(w1)x+b1

Semua Normal Bukan Normal 2 2 2(x) (w )x b f = +

Probe Bukan Probe f3(x)=(w3)x+b3

U2R Bukan U2R f 4(x)=(w4)x+b4

(25)

F-3

c. Multi Class SVM One-Against One

Dengan metode ini maka digunakan SVM biner sebanyak n(n-1)/2, n adalah jumlah kelas. Daftar SVM biner yang digunakan dapat dilihat pada tabel F-2. Tabel F-2 10 SVM Biner untuk Multi Class SVM One-against-one

1 =

i

y yi =−1 Hipotesis Data Pelatihan

DOS Normal f12(x)=(w12)x+b12 Dos dan Normal

DOS Probe f13(x)=(w13)x+b13 Dos dan Probe

DOS U2R f14(x)=(w14)x+b14 Dos dan U2R

DOS R2L f15(x)=(w15)x+b15 Dos dan R2L

Normal Probe f23(x)=(w23)x+b23 Normal dan Probe Normal U2R f24(x)=(w24)x+b24 Normal dan U2R

Normal R2L f25(x)=(w25)x+b25 Normal dan R2L Probe U2R f34(x)=(w34)x+b34 Probe dan U2R

Probe R2L f35(x)=(w35)x+b35 Probe dan R2L U2R R2L f45(x)=(w45)x+b45 U2R dan R2L

d. SVM Biner Æ Multi Class SVM One-Against One

Dengan metode ini digunakan 7 SVM Biner (dapat dilihat pada tabel F-3). Pendeteksian intrusi dengan metode ini terdiri dari dua tahap seperti yang dapat dilihat pada gambar F-1. Pada tahap pertama sebuah SVM biner digunakan untuk memisahkan data normal dan data intrusi. Jika data diprediksi sebagai data intrusi maka pada tahap kedua kategori intrusi dari data akan ditentukan dengan menggunakan Multi Class SVM One Against One.

(26)

F-4

Tabel F-3 SVM Biner Æ Multi Class SVM One Against One

SVM yi =1 yi =−1 Hipotesis Data Pelatihan

SVM Biner Normal Bukan Normal f 2(x)=(w2)x+b2 Semua

Multi Class SVM One-Against-One

DOS Probe f13(x)=(w13)x+b13 DOS dan probe

DOS U2R f14(x)=(w14)x+b14 DOS dan U2R

DOS R2L f15(x)=(w15)x+b15 DOS dan R2L

Probe U2R f34(x)=(w34)x+b34 DOS dan U2R Probe R2L f35(x)=(w35)x+b35 Probe dan R2L

U2R R2L f45(x)=(w45)x+b45 U2R dan R2L

  ) ( 2 x f   f13(x)     f14(x)   f15(x)    f34(x)    f35(x)    f45(x

Gambar F-1 Klasifikasi dengan SVM Biner Æ Multi Class SVM One Against One

e. SVM Biner Æ Multi Class SVM One-Against All

Dengan metode ini digunakan 5 SVM Biner (dapat dilihat pada tabel F-4). Pendeteksian intrusi dengan metode ini terdiri dari dua tahap seperti yang dapat dilihat pada gambar F-2. Pada tahap pertama sebuah SVM biner digunakan untuk memisahkan data normal dan data intrusi. Jika data diprediksi sebagai data intrusi maka pada tahap kedua kategori intrusi dari data akan ditentukan dengan menggunakan Multi Class SVM One Against All.

(27)

F-5 Tabel F-4 SVM Biner Æ Multi Class SVM One Against All

SVM yi =1 yi =−1 Hipotesis Data

Pelatihan

SVM Biner Normal Bukan Normal 2 2 2

) ( )

(x w x b

f = + Semua

Multi Class SVM One Against All

DOS Bukan DOS f1(x)=(w1)x+b1

Selain Normal Probe Bukan Probe f3(x)=(w3)x+b3

U2R Bukan U2R f 4(x)=(w4)x+b4

R2L Bukan R2L f5(x)=(w5)x+b5   ) ( 3 x f     f4(x)   ) ( 2 x f   1( ) x f     f5(x

(28)

G-1

LAMPIRAN G

PARAMETER EVALUASI EKSPERIMEN

Tabel G-1 menunjukkan metrik standar (confusion matrix) yang sering kali dijadikan dasar untuk menilai performansi algoritma untuk pendeteksian intrusi.

Tabel G-4 Metrik standar untuk dasar evaluasi algoritma pendeteksian intrusi METRIK STANDAR Kelas data hasil prediksi

Normal Intrusi Kelas data

sebenarnya

Normal True Negative False Positive

Intrusi False Negative True Positive

Dengan memanfaatkan tabel tersebut parameter yang digunakan menjadi ukuran performansi adalah sebagai berikut:

True Positive Rate/ Detection Rate (DR)

DR menunjukkan kemampuan algoritma dalam mendeteksi data intrusi.

P TP DR= Keterangan:

TP = Jumlah True Positive P = Jumlah data intrusi (positif)

False Positive Rate (FP rate)

FPrate menunjukkan kemampuan algoritma dalam mendeteksi data normal. Nilai FPrate algoritma yang dapat diterima dalam IDS adalah 0 sampai 10 persen [LAS05] . Nilai yang lebih besar akan mengakibatkan pengguna mendapatkan terlalu banyak alaram bahwa IDS mendeteksi terjadi intrusi pada jaringan tetapi sebenarnya tidak terjadi intrusi.

N FP FPrate = Keterangan:

TP = Jumlah False Positive N = Jumlah data normal (negatif)

(29)

G-2 Akurasi

Akurasi menunjukkan kemampuan algoritma dalam memprediksi data sesuai dengan kelasnya. N P TN TP Akurasi + + =

Dari parameter diatas parameter yang paling penting adalah detection rate dan false positive rate. Selain itu, akurasi agoritma dalam memprediksi kelas data (Normal, DOS, Probe, R2L,U2R) juga penting karena dapat menunjukkan apakah algoritma dapat mendeteksi semua jenis intrusi atau hanya sebagian saja. Akurasi ini diperoleh dengan menghitung confusion matrix yang mencakup semua kelas data.

Untuk memudahkan membandingkan beberapa algoritma terutama pada imbalanced dataset biasanya digunakan ROC (Receiver Operating Characteristic) curve. Kurva ini dapat menunjukkan trade off antara true positive rate dengan false positive rate. Pada gambar G-1 dapat dilihat contoh kurva ROC. Secara informal sebuah titik pada kurva ROC lebih baik dari yang lain jika semakin condong ke bagian kiri- atas kurva (TP rate lebih tinggi, FP rate lebih rendah atau keduanya ) [FAU04].

Detection Rate

False positive Gambar G-5 Kurva ROC

(30)

G-3

Kurva ROC umumnya digunakan untuk dua kelas. Urutan nilai yang digambar ke kurva berdasarkan nilai output dari classifier. Akan tetapi, dapat juga dibuat untuk multi class dengan membuat kurva ROC untuk setiap kelas [FAW04], dengan menganggap bahwa data sebuah kelas adalah data positif sedangkan sisanya adalah data negatif. Hal ini dapat diimplementasikan untuk Multi Class SVM dengan metode One-Against-All karena SVM biner yang ada sebanyak jumlah kelas dan menggunakan prinsip yang sama. Akan tetapi, untuk metode One-Against-One sebuah SVM biner menggunakan data dari dua buah kelas. Oleh karena itu ROC curve untuk metode One-Against-One dan One-Against-All tidak dapat dibandingkan. Oleh karena itu, pada tugas akhir ini ROC curve hanya digunakan pada SVM untuk dua kelas saja.

Pada [LAZ04] dinyatakan bahwa akurasi tidak cukup untuk evaluasi pada imbalanced dataset. Akurasi terhadap kesuluruhan data kurang penting karena jika algoritma memprediksi semua data adalah normal maka pada data dimana rasio data intrusi hanya 1%, sudah diperoleh akurasi 99%. Oleh karena itu, selain menggunakan ROC curve [LAZ04] menyarankan agar digunakan F-measure. Oleh karena itu, pada Tugas Akhir ini ROC curve akan digunakan untuk membandingkan hasil implementasi yang dilakukan dengan paper acuan (yang menggunakan ROC curve). Untuk membandingkan alternatif implementasi yang dieksplorasi akan digunakan nilai F-measure. Adapun rumus menghitung F-measure adalah sebagai berikut:

precision recall precision recall measure F + = − 2* * FN TP TP R recall + = ) ( FP TP TP P precision + = ) (

Selain parameter-parameter di atas, evaluasi performansi algoritma juga diukur melalui waktu yang dibutuhkan untuk pelatihan dan pengujian. Waktu pelatihan dan pengujian diharapkan seminimum mungkin terutama waktu pengujian karena pada IDS data yang harus diperiksa jumlahnya sangat besar oleh karena itu untuk memungkinkan pendeteksian intrusi secara real time dan tidak ada data koneksi yang batal diperiksa (droped), waktu pengujian harus seminimum mungkin.

(31)

G-4

Pada eksperimen yang akan dilakukan waktu pelatihan adalah rentang waktu setelah data pelatihan selesai dibaca sampai model hasil pelatihan selesai disimpan ke file, sedangkan waktu pengujian adalah rentang waktu setelah file model selesai dibaca sampai hasil prediksi seluruh data pengujian disimpan. Untuk perbandingan alternatif implementasi SVM, waktu pelatihan dan waktu pengujian yang dihitung adalah rata-rata pelatihan dengan pengujian penggunakan satu partisi data.

(32)

H-1

LAMPIRAN H

SKENARIO EKSPERIMEN

H.1 Replikasi Hasil Eksperimen Paper Acuan

Berikut ini adalah asumsi tambahan yang digunakan untuk melakukan eksperimen sesuai dengan skenario pada paper acuan:

a. Skenario eksperimen [MUK02A]

Asumsi yang digunakan adalah bahwa distribusi data setiap kelas sama dengan distribusi kelas pada dataset karena hal ini sama sekali tidak dibahas pada [MUK02]. Agar hasil pengujian lebih valid maka eksperimen diulangi sebanyak 10 kali dengan menggunakan data yang berbeda dengan komposisi data seperti pada gambar H-1. Selain itu pada skenario ini diasumsikan tidak ada normalisasi karena hal ini tidak ada dalam tahapan eksperimen yang dijelaskan pada [MUK02A]. Hasil replikasi [MUK02] ini akan dibandingkan dengan penggunaan paramater hasil grid search dan penggunaan normalisasi data seperti hasil analisis Tugas Akhir.

Gambar H-6 Komposisi data pengujian (kiri) dan data pelatihan (kanan) b. Skenario eksperimen [MUK02B]

Pada skenario ini diasumsikan bahwa fungsi kernel yang digunakan adalah RBF dengan parameter yang sama dengan [MUK02A]. Agar hasil pengujian lebih valid maka eksperimen diulangi sebanyak 10 kali. Selain itu pada skenario ini diasumsikan tidak ada normalisasi karena hal ini tidak ada dalam tahapan eksperimen yang dijelaskan pada [MUK02B]. Hasil replikasi [MUK02] ini akan dibandingkan dengan penggunaan paramater hasil grid search dan penggunaan normalisasi data seperti hasil analisis Tugas Akhir.

(33)

H-2 c. Skenario eksperimen [LAS04]

Tabel H-1 Asumsi distribusi dataset untuk replikasi hasil [LAS04]

Kategori Jenis Total Data Jumlah data berdasarkan rasio intrusi 0,01 0,02 0,03 0,04 0,05 0,1 0,2 DOS Smurf 2807886 1 2 3 4 5 10 25 Neptune 1072017 1 2 3 4 5 10 25 Back 2203 1 2 3 4 5 10 25 Teardrop 979 1 2 3 4 5 10 25 Pod 264 1 2 3 4 5 10 25 Land 21 1 2 3 4 5 10 21 Probe Satan 15892 1 2 3 4 5 10 25 IpSweep 12481 1 2 3 4 5 10 25 PortSweep 10413 1 2 3 4 5 10 25 Nmap 2316 1 2 3 4 5 10 25 R2L warezclient 1020 1 2 3 4 5 10 25 guess_passwd 53 1 2 3 4 5 10 25 warezmaster 20 1 2 3 4 5 10 20 Imap 12 1 2 3 4 5 10 12 multihop 4 1 2 3 4 4 4 4 ftp_write 8 1 2 3 4 5 8 8 Phf 7 1 2 3 4 5 7 7 Spy 2 1 2 2 2 2 2 2 U2R buffer_overflow 30 1 2 2 4 5 10 25 Rootkit 10 1 2 2 4 5 10 10 loadmodule 9 1 2 3 4 5 9 9 Perl 3 1 2 3 3 3 3 3

Total Data Intrusi 22 44 63 85 104 193 396 Total Data Normal 1978 1956 1937 1915 1896 1807 1604

Pada [LAS04], terdapat 3 skenario eksperimen dengan variasi nilai rasio intrusi dan parameter nu. Pada [LAS04] tidak disebutkan distribusi data yang digunakan. Akan tetapi, dituliskan bahwa eksperimen dilakukan sehingga hasilnya comparable dengan [EAS02] yang menggunakan data dengan distribusi data intrusi seimbang. Namun, jumlah data intrusi pada data KDDCUP 99 untuk beberapa jenis intrusi sangat kecil dan hasil yang diperoleh merupakan rata-rata dari sepuluh kali eksperimen. Oleh karena itu, untuk memungkinkan diperoleh dataset yang memiliki data intrusi yang

(34)

H-3

jumlahnya ”seimbang” untuk setiap jenis intrusi maka untuk setiap eksperimen digunakan dataset yang terdiri dari sekitar 2000 instance. Jumlah ini juga dipilih karena pada [LAS05] dilakukan juga eksperimen dengan data intrusi seimbang dengan jumlah data 2000.

Dalam setiap eksperimen digunakan data yang berbeda akan tetapi jika ada data intrusi yang tidak mencukupi maka terpaksa digunakan data intrusi yang telah digunakan. Adapun asumsi jumlah data untuk setiap jenis intrusi dapat dilihat pada tabel H-1. Hasil replikasi [LAS04] ini akan dibandingkan dengan penggunaan metode normalisasi data seperti hasil analisis Tugas Akhir dan metode normalisasi data seperti pada [LAS05].

d. Skenario eksperimen [LAS05]

Pada eksperimen ini jumlah data intrusi seimbang untuk setiap jenisnya. Demikian juga data normal jumlahnya seimbang untuk setiap service. Akan tetapi, seimbang diasumsikan tidak berarti jumlah data untuk setiap jenis/service sama karena terbatasnya jumlah data yang tersedia untuk beberapa data dengan jenis intrusi dan service tertentu.

Hasil [LAS05] merupakan hasil pengulangan eksperimen sebanyak 30 kali. Karena keterbatasan jumlah data intrusi untuk jenis tertentu dan pada [LAS05] disebutkan bahwa setiap jenis intrusi dan tipe service harus terdapat dalam dataset, maka dalam 30 kali pengulangan tersebut mungkin ada data yang berulang. Adapun asumsi jumlah data untuk setiap servis dan jenis intrusi dapat dilihat pada tabel H-2 dan tabel H-3. Hasil replikasi [LAS04] ini akan dibandingkan dengan penggunaan metode normalisasi data seperti hasil analisis Tugas Akhir dan metode normalisasi data seperti pada [LAS04].

(35)

H-4

Tabel H-2 Asumsi distribusi dataset untuk replikasi hasil [LAS05] pada skenario data pengujian tidak mengandung data intrusi jenis baru

Kategori Jenis Intrusi Jumlah Data Kategori Servis Jenis Jumlah Data

DOS Smurf 5 Normal Auth 105 Neptune 6 Domain 19 Back 5 Domain_u 106 Teardrop 5 Eco_i 105 Pod 5 Ecr_i 105 Land 5 Finger 105 Probe Satan 6 ftp 105 IpSweep 6 ftp_data 105 PortSweep 6 http 105 Nmap 5 Imap4 1 R2L warezclient 6 IRC 105 guess_passwd 5 ntp_u 105 warezmaster 5 Other 105 imap 5 pop_3 105 phf 2 private 106 ftp_write 4 Shell 2 multihop 3 Ssh 3 spy 1 smtp 106 U2R buffer_overflow 5 telnet 105 rootkit 5 Time 105 loadmodule 4 Tim_i 3 perl 1 Red_i 4 Total 100 Tftp_u 1 Urp_i 108 X11 2 Urh_i 74 Total 1900

(36)

H-5

Tabel H-3 Asumsi distribusi dataset untuk replikasi hasil [LAS05] pada skenario dimana data pengujian mengandung data intrusi jenis baru

Kategori Jenis Jumlah Data Kategori Jenis Jumlah Data

DOS Smurf 3 Unknown apache2 3 Neptune 3 httptunnel 3 Back 3 mailbomb 3 Teardrop 3 mscan 3 Pod 3 named 3 Land 3 processtabel 3 Probe Satan 3 ps 3 IpSweep 3 saint 3 PortSweep 3 sendmail 3 Nmap 3 snmpgetattack 3 R2L warezclient 3 snmpguess 3 guess_passwd 1 sqlattack 1 warezmaster 2 worm 1 imap 3 xlock 3 ftp_write 3 xsnoop 3 multihop 3 xterm 3 phf 3 Total 44 spy 3 U2R buffer_overflow 1 rootkit 3 loadmodule 3 perl 3 Total 61

H.2 Skenario Perbandingan Implementasi SVM

1. Komposisi data intrusi diusahakan seimbang

Pengertian seimbang disini adalah semua jenis intrusi yang ada harus ada contoh datanya dalam data pelatihan dan data pengujian. Dengan demikian dapat diketahui apakah model dapat mendeteksi semua jenis intrusi dengan akurasi yang tinggi atau hanya intrusi tertentu saja. Selain itu, pengujian dilakukan juga pada dataset yang mengandung data intrusi jenis baru untuk mengetahui kemampuan model dalam mengeneralisasi data intrusi.

(37)

H-6

2. Komposisi data intrusi tidak seimbang

Tidak mudah untuk mendapatkan label intrusi untuk data jaringan. Oleh karena itu, dalam penggunaan IDS dengan teknik data mining, data yang tersedia mungkin terbatas dan jumlahnya mungkin bervariasi untuk setiap jenis intrusi. Misalkan data intrusi jenis X jumlahnya 1000 kali intrusi jenis Y , maka ada kemungkinkan teknik klasifikasi cenderung mengklasifikasikan Y sebagai X.

Secara umum, 10-fold cross validation direkomendasikan untuk mengestimasi akurasi teknik klasifikasi karena tingkat bias dan variasinya relatif rendah [HAN01]. Oleh karena itu jumlah fold yang sama akan digunakan untuk memilih model terbaik dari model –model yang dieksplorasi dengan menggunakan 100000 data untuk satu partisi (seluruh data normal yang ada di dataset digunakan). Dalam pengujian ini dalam setiap iterasi satu buah partisi data akan digunakan sebagai data pelatihan dan sisanya sebagai data pengujian. Hal ini dilakukan karena pada pendeteksian intrusi pada jaringan jumlah data pengujian jauh lebih besar dari pada data pelatihan yang digunakan. Metode ini hampir sama dengan metode untuk perbandingan algoritma yang dilakukan pada [LAS05] akan tetapi jumlah data setiap partisi jauh lebih besar dan jumlah pengulangannya lebih kecil.

Data pengujian dan jumlah pengulangan yang sama dengan skenario pertama akan digunakan pada skenario kedua. Akan tetapi, jumlah data pelatihan yang digunakan adalah 49420 (1% dari data KDDCUP 99) untuk setiap partisi. Khusus untuk One Class SVM, hanya 20% dari data pelatihan yang akan digunakan untuk proses pelatihan karena waktu pelatihan dan pengujian One Class SVM menjadi sangat besar dengan semakin bertambahnya data.

(38)

H-7 Tabel H-4 Distribusi dataset untuk perbandingan altenatif implementasi SVM

Jenis intrusi Jumlah data Total Jenis Servis Jumlah Data Total

Back 300 3301 Auth 230 2328 buffer_overflow 5 52 Domain 3 38 ftp_write 1 11 Domain_u 6000 57773 guess_passwd 400 4417 Eco_i 390 3768 imap 1 14 Ecr_i 360 3456 IpSweep 744 12787 Finger 510 5017 Land 1 30 ftp 390 3821 loadmodule 1 11 ftp_data 3900 38093 multihop 1 25 http 57930 619045 Neptune 743 1130018 Imap4 1 3 Nmap 200 2400 IRC 54 520 perl 1 5 ntp_u 390 3833 phf 1 5 Other 5600 56520 Pod 30 351 pop_3 90 922 PortSweep 743 10767 private 8500 73853 rootkit 1 11 Shell 1 5 Satan 743 17525 Ssh 1 7 Smurf 743 2971977 smtp 9800 95371 spy 1 2 telnet 230 2227 Teardrop 90 991 Time 50 509 warezclient 100 1020 Tim_i 1 7 warezmaster 150 1622 Red_i 1 9 5000 Tftp_u 1 3 Urp_i 540 5375 X11 13 129 Urh_i 14 148 95000

(39)

H-8

Tabel H-5 Distribusi data pengujian baru untuk perbandngan altenatif implementasi SVM Jenis intrusi Jumlah data

apache2 79 httptunnel 15 mailbomb 500 mscan 105 named 1 processtabel 75 ps 1 saint 73 sendmail 1 snmpgetattack 774 snmpguess 240 sqlattack 1 worm 1 xlock 1 xsnoop 1 xterm 1 1869

(40)

I-1

LAMPIRAN I

HASIL EKSPERIMEN

I.1 Eksperimen Pada Data [MUK02A]

Tabel I-1 Hasil eksperimen tanpa normalisasi dengan parameter seperti pada [MUK02] Pengujian

ke

Akurasi pada setiap kategori (%) Efektifitas (%) Efisiensi (detik) Dos Normal Probe U2R R2L DR FP measure F- Akurasi Ttrain Ttest

1 92,33 100 60,34 12,50 0,00 91,76 0,00 95,70 93,38 92,33 23,00 2 92,73 100 60,34 2.00 0,00 92,19 0,00 95,93 93,72 92,73 23,00 3 91,43 100 50,00 0,00 0,00 90,72 0,00 95,14 92,55 91,43 23,00 4 100 12,36 100 100 100 100 87,64 90,29 82,74 100 24,00 5 100 13,31 100 100 100 100 86,69 90,39 82,92 100 22,00 6 91,23 100 68,97 0,00 0,00 90,72 0,00 95,14 92,55 91,23 23,00 7 92,93 100 50,00 6,25 0,00 92,22 0,00 95,95 93,75 92,93 23,00 8 93,18 100 51,72 18,75 0,00 92,53 0,00 96,12 94,00 93,18 22,00 9 93,62 100 58,62 0,00 0,00 92,97 0,00 96,36 94,36 93,62 23,00 10 94,54 100 68,97 6,25 0,00 94,01 0,00 96,91 95,19 94,54 23,00 Rata-rata 94,20 82,57 66,90 26,88 20,00 93,71 17,43 94,79 91,52 94,20 22,90 Standar Deviasi 3,21 36,75 18,73 39,42 42,16 3,45 36,75 2,40 4,64 3,21 0,57 Tabel I-2 Hasil eksperimen tanpa normalisasi dan dengan parameter hasil grid search

Pengujian ke

Akurasi pada setiap kategori (%) Efektifitas (%) Efisiensi (detik) Dos Normal Probe U2R R2L DR FP measure F- Akurasi Ttrain Ttest

1 99,98 97,24 98,28 81,25 0,00 99,89 2,76 99,61 99,37 3,00 1,00 2 99,98 98,25 98,28 93,75 0,00 99,93 1,75 99,75 99,60 9,00 2,00 3 99,91 97,67 98,28 87,50 0,00 99,84 2,33 99,64 99,41 7,00 1,00 4 100 97,31 100 75,00 0,00 99,91 2,69 99,63 99,40 5,00 1,00 5 99,91 97,24 100 93,75 100 99,89 2,76 99,61 99,37 8,00 1,00 6 99,87 98,33 96,55 87,50 0,00 99,79 1,67 99,69 99,50 4,00 1,00 7 99,96 97,82 100 81,25 0,00 99,89 2,18 99,68 99,48 3,00 1,00 8 99,93 98,25 96,55 81,25 0,00 99,82 1,75 99,70 99,51 7,00 1,00 9 99,95 99,64 96,55 75,00 100 99,84 0,36 99,88 99,80 5,00 1,00 10 99,95 96,94 98,28 87,50 0,00 99,88 3,06 99,56 99,30 3,00 1,00 Rata-rata 99,94 97,87 98,28 84,38 20,00 99,87 2,13 99,67 99,47 5,40 1,10 Standar Deviasi 0,04 0,79 1,41 6,75 42,16 0,04 0,79 0,09 0,14 2,22 0,32

(41)

I-2 Tabel I-3 Hasil eksperimen dengan normalisasi dan parameter hasil grid search

Pengujian ke

Akurasi pada setiap kategori (%) Efektifitas (%) Efisiensi (detik) Dos Normal Probe U2R R2L DR FP measureF- Akurasi Ttrain Ttest

1 99,58 99,64 94,83 81,25 100 99,48 0,36 99,70 99,51 1,00 1,00 2 100 99,05 100 100 0,00 99,98 0,95 99,88 99,80 1,00 1,00 3 99,49 99,78 96,55 75,00 0,00 99,38 0,22 99,66 99,46 1,00 1,00 4 100 99,13 100 100 0,00 99,98 0,87 99,88 99,81 1,00 1,00 5 100 99,20 96,55 100 100 99,96 0,80 99,88 99,81 1,00 1,00 6 99,29 99,42 100 87,50 100 99,27 0,58 99,56 99,30 1,00 1,00 7 99,96 99,42 96,55 93,75 0,00 99,89 0,58 99,88 99,80 1,00 1,00 8 99,98 99,71 87,93 100 100 99,86 0,29 99,89 99,83 0,00 1,00 9 100 99,71 100 81,25 100 99,95 0,29 99,94 99,90 1,00 1,00 10 99,98 99,64 96,55 93,75 0,00 99,91 0,36 99,91 99,86 0,00 1,00 Rata-rata 99,83 99,47 96,90 91,25 50,00 99,77 0,53 99,82 99,71 0,80 1,00 Standar Deviasi 0,27 0,27 3,71 9,41 52,70 0,28 0,27 0,13 0,21 0,42 0,00

Tabel I-4 t-Test pada metode normalisasi+grid search dan tanpa normalisasi + grid search Data Statistik + grid searchNormalisasi Tanpa normalisasi+ grid search

Mean 99,81777613 99,67335848

Variance 0,016593303 0,007938102

Observations 10 10

Pearson Correlation 0,226000212

Hypothesized Mean Difference 0

df 9 t Stat 3,283589908 P(T<=t) one-tail 0,004737401 t Critical one-tail 1,833112923 P(T<=t) two-tail 0,009474802 t Critical two-tail 2,262157158

Gambar

Gambar E-2 Hasil [LAS04] pada penggunaan parameter nu=0.05 dan rasio intrusi bervariasi
Gambar E-4 Hasil [LAS05] pada data pengujian yang tidak mengandung data intrusi jenis baru
Gambar E-5 Hasil [LAS05] pada pengujian yang mengandung jenis intrusi baru
Tabel F-1 5 SVM Biner untuk Multi Class SVM One-against-all
+7

Referensi

Dokumen terkait

Bila dilihat dari sumber pertumbuhan ekonomi Kalimantan Selatan triwulan III-2015 ( y-on-y ), maka Komponen Pengeluaran Konsumsi Rumah Tangga merupakan komponen

Berdasarkan latar belakang yang telah di jelaskan, dapat dirumuskan masalah penelitian berikut : (1) Apakah modal intelektual (intellectual capital) yang diproksikan

Dengan berbagai perbandingan tersebut dapat disimpulkan bahwa makanan utama ikan toman adalah ikan-ikan kecil, sedangkan yang lainnya adalah sebagai makanan tambahan..

Teknologi seperti MIMO dapat menghasilkan frekuensi yang efisien yaitu dengan mengirimkan informasi yang sama dari dua atau lebih pemancar terpisah kepada sejumlah

Menambahkan tanda panah pp buy buy yy dalam chart untuk dalam chart untuk emiten emiten dengan harga penutupan. emiten emiten dengan harga penutupan

Landasan Konseptual Perancangan Tugas Akhir ini terdiri lima buah bahasan yang terdiri atas BAB I akan dijabarkan penjelasan awal mengenai latar belakang pemilihan

Memakai sistem peralatan komouter yang memakai aplikasi programnya. Peranaan komputer semakin maju, hampir setiap perusahaan besar selalu menggunakan komputer,

pembangunan selalu menjadi perhatian, karena kawasan pemukiman masyarakat nelayan dianggap tingkat kesejahteraannya masih rendah. Masyarakat Kelurahan Kota Karang