• Tidak ada hasil yang ditemukan

BAB III ANALISIS DAN PENYELESAIAN MASALAH

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB III ANALISIS DAN PENYELESAIAN MASALAH"

Copied!
9
0
0

Teks penuh

(1)

III-1

BAB III

ANALISIS DAN PENYELESAIAN MASALAH

3.1 Deskripsi

Sistem

Gambar III-1 Deskripsi Umum Sistem

Pada gambar III-1 dapat dilihat deskripsi sistem sederhana yang mendeteksi intrusi pada jaringan menggunakan data mining. Network-based IDS umumnya memonitor satu atau beberapa sistem (target) dengan cara memeriksa koneksi yang masuk dan atau keluar target. Untuk itu, data koneksi yang akan dimonitor dikumpulkan oleh satu atau lebih sensor. Data dari sensor masih berupa data mentah misalnya dalam format output TCPdump. Untuk itu diperlukan dua tahap preprocessing. Pada tahap pertama data di-preprocessing sehingga diperoleh data dengan atribut yang telah ditentukan. Pada Tugas Akhir ini tahap pertama tidak dilakukan.

Pada tahap kedua data di-preprocess sehingga dapat diproses oleh teknik pembelajaran yang digunakan. Preprocessing inilah yang dilakukan pada Tugas Akhir. Kemudian, model yang dihasilkan dapat digunakan untuk mendeteksi data

(2)

pada sistem yang dimonitor apakah merupakan intrusi atau bukan. Jika dideteksi adanya intrusi maka akan dikirimkan alarm kepada administrator sehingga administrator dapat melakukan aksi untuk merespon intrusi. Respon ini dapat juga dikonfigurasi sehingga dilakukan secara otomatis oleh network-based IDS.

Arsitektur IDS yang digunakan pada tugas akhir ini adalah sama seperti arsitektur [HAN06]. Komponen dari arsitektur IDS yang menjadi fokus utama Tugas Akhir ini adalah SVM Analyser. SVM analyser akan menerima data dan menentukan apakah data tersebut intrusi atau bukan. Untuk itu SVM analyser menggunakan model detection yang diperoleh melalui proses pelatihan dan pengujian mengunakan SVM. Adapun gambar proses untuk mendapatkan model detection yang akan digunakan pada SVM analyser dapat dilihat pada gambar III-2. Bagian offline merupakan proses pelatihan dan pengujian untuk mendapatkan model detection. Selanjutnya model detection ini digunakan oleh SVM analyzer. Namun, karena dataset yang digunakan hanya mendukung evaluasi secara offline maka implementasi yang akan dilakukan pada tugas akhir ini adalah bagian offline.

Gambar III-2 Proses pembangunan dan penggunaan detection model oleh SVM Analyser

SVM analyser akan menerima data dari sensor untuk keperluan pendeteksian intrusi dan menerima dataset dari analis (administrator) untuk keperluan pembangunan detection model. Data online dan offline diproses oleh preprocessor yang sesuai. Kedua preprocessor pada prinsipnya memiliki fungsi yang sama mengubah

(3)

representasi data yang diterima ke dalam feature vector sehingga dapat diproses lebih lanjut.

Online preprocessor memproses data yang diterima ke dalam feature vector dan menyimpannya pada basis data atau file yang berfungsi sebagai buffer untuk menampung data yang datang terus menerus dari sensor. Detektor akan memproses data yang masuk ke buffer kemudian menganalisnya menggunakan detection model. Jika berdasarkan hasil analisis data adalah intrusi maka detektor akan mengirim alarm.

Untuk pembangunan detection model, dataset yang menjadi masukan akan diproses oleh offline preprocessor ke dalam bentuk feature vector. Selanjutnya akan dilakukan pembagian dataset menjadi data pengujian dan data pelatihan. Data pelatihan akan digunakan untuk membangun model detection melalui proses pembelajaran SVM. Selanjutnya model detection akan dievaluasi terhadap data pengujian. Model detection ini dapat berupa model anomaly detection ataupun misuse detection. Model yang telah memenuhi akurasi yang diharapkan (model final) dapat digunakan oleh detektor untuk mendeteksi intrusi secara online.

3.2 Dataset

Eksperimen

Dataset yang digunakan untuk mengevaluasi performasi SVM yang diimplementasikan pada Tugas Akhir ini adalah data KDD CUP 99 yang hampir seluruhnya berasal dari data DARPA 98. Data ini merupakan data standar yang biasanya digunakan untuk mengevaluasi algoritma untuk pendeteksian intrusi. Evaluasi dengan menggunakan dataset yang dibuat sendiri sulit untuk dilakukan karena tidak mudah untuk memperoleh label data intrusi.

Data DARPA 98 merupakan data dalam format ouput TCPdump untuk Local Area Network (LAN) dengan mensimulasikan jaringan yang mirip dengan jaringan LAN pada angkatan udara Amerika Serikat. Data dikumpulkan selama 9 minggu yang terdiri dari sekitar 4,9 juta record, mengandung 22 jenis intrusi yang dapat dikelompokkan menjadi 4 kategori utama yaitu DOS (Denial of Service), Remote to User, User to Root, dan Probes.

(4)

Dataset KDD CUP 99 merupakan hasil preprocessing data mentah DARPA 98. Pada tugas akhir ini tidak dilakukan preprocessing dari data DARPA 98, karena cukup sulit dan bukan menjadi fokus Tugas Akhir. Format output TCPdump sendiri tidak didesain khusus untuk tujuan keamanan sehingga memerlukan banyak preprocessing yang bersifat iteratif untuk dapat mengekstrak atribut data, sehingga diperlukan domain knowledge yang mendalam [LEE98]. Pada [LAZ03] digunakan TCPtrace untuk memproses arsip output tcpdump, tetapi perangkat lunak ini juga hanya dapat mengambil sebagian kecil dari 41 atribut data yang dibutuhkan. Oleh karena itu, pada Tugas Akhir ini evaluasi SVM dilakukan dengan menggunakan data KDD CUP 99 seperti pada penelitian [MUK02,LAS04,LAS05]. Deskripsi lengkap data KDDCUP 99 dapat dilihat pada lampiran A.

Data DARPA 98 yang merupakan data sintetik. Pada [MCH00] terdapat kritik terhadap evaluasi IDS menggunakan data ini. Akan tetapi, karena tidak tersedia data yang lebih baik maka banyak penelitian yang menggunakan data ini. Salah satu kritik adalah distribusi data intrusi dan data normal yang tidak natural (sekitar 80% dari dataset tersebut merupakan data intrusi) [LAS05]. Dengan demikian, performansi suatu teknik pendeteksi intrusi dengan distribusi data seperti ini, tidak dapat menggambarkan akurasi jumlah false positive yang sebenarnya. Oleh karena itu, evaluasi IDS sebaiknya dilakukan dengan distribusi data yang lebih natural yang umumnya lebih kecil dari 5% walaupun dalam jenis intrusi seperti DOS jumlah data intrusi dapat melebihi jumlah ini.

Dataset pendeteksian intrusi pada jaringan merupakan imbalanced dataset dengan rasio imbalance yang sangat tinggi [VIS05]. Dataset ini terdiri dari data normal dan data intrusi yang dalam distribusi natural jumlahnya sangat kecil. Oleh karena itu, terdapat kemungkinan teknik pembelajaran mengklasifikasikan data intrusi sebagai data normal. Pada lampiran A dapat dilihat bahwa distribusi data intrusi pada setiap jenis intrusi sangat tidak seimbang. Beberapa jenis intrusi yang termasuk dalam kategori DOS memiliki jauh lebih banyak koneksi dibandingkan intrusi jenis lain seperti U2R. Selain itu, karena sulitnya memperoleh label data intrusi pada aplikasi yang sebenarnya maka mungkin saja harus dilakukan pelatihan dengan jumlah data intrusi yang sangat terbatas. Jadi, teknik pendeteksian intrusi yang diterapkan harus

(5)

dapat memiliki performansi yang tinggi walaupun dengan distribusi kelas yang sangat tidak seimbang.

SVM sendiri merupakan teknik yang tidak terlalu sensitif pada imbalanced dataset. Mungkin hal ini yang menyebabkan persoalan ini tidak disinggung pada penelitan [MUK02]. Akan tetapi, pada penelitan [LAS05], pelatihan dilakukan dengan menggunakan dataset dimana distribusi data intrusi dari setiap kelas dibuat seimbang, tetapi rasio data intrusi sendiri tetap kecil (5%).

3.3 Metode Pendeteksian Intrusi dengan SVM

Dalam IDS ada baiknya metode pendeteksian intrusi, baik misuse detection maupun anomaly detection diimplementasikan karena memiliki kelebihan dan kekurangan masing-masing. Dalam penggunaannya sulit untuk memperoleh label data intrusi karena harus dibuat oleh ahli jaringan atau administrator. Oleh karena itu, jika tidak ada label data intrusi maka hanya metode anomaly detection yang dapat digunakan. Akan tetapi jika terdapat label data intrusi maka metode misuse detection akan memiliki performansi yang lebih baik. Jadi bisa dikatakan kalau kedua metode ini sebaiknya diimplementasikan dalam satu sistem karena saling melengkapi.

Data intrusi hasil prediksi teknik anomaly detection (dan sudah diverifikasi bahwa data tersebut adalah benar data intrusi) dapat juga digunakan sebagai data pelatihan baik teknik misuse detection. Oleh karena itu, pada Tugas Akhir ini kedua metode ini akan dieksplorasi karena dapat diimplementasikan dengan SVM. Dengan demikian dapat diketahui bagaimana sebaiknya metode pendeteksian intrusi dengan SVM, diimplementasikan. Adapun alternatif implementasi SVM yang dieksplorasi pada tugas akhir ini dapat dilihat pada lampiran F.

3.4 Upaya Perbaikan Performansi

Dari hasil penelitian yang menjadi acuan pada tugas akhir ini secara umum SVM memiliki performansi yang cukup baik dalam mendeteksi intrusi. Akan tetapi, SVM belum dapat mendeteksi beberapa jenis intrusi yang jumlah data pelatihannya sangat kecil. Hal ini diduga disebabkan oleh efek imbalanced dataset pada data pelatihan, sehingga SVM lebih cenderung mengklasifikasikan intrusi jenis ini sebagai data dari

(6)

kelas mayoritas. Dari hasil eksplorasi terhadap alternatif penerapan SVM dalam pendeteksian intrusi, akan dipilih salah satu metode yang memiliki performansi terbaik. Selanjutnya, akan diteliti bagaimana efek modifikasi terhadap performansi metode pendeteksian intrusi tersebut. Adapun modifikasi yang akan dilakukan adalah sebagai berikut:

1. Penggunaan nilai C yang berbeda

Untuk mengatasi masalah imbalanced dataset, akan dilakukan modifikasi penggunaan nilai penalti (C) yang berbeda untuk setiap kelas. Adapun nilai penalti yang akan digunakan akan ditentukan kemudian pada saat melakukan eksperimen sehingga dapat diperoleh nilai penalti dengan akurasi terbaik.

2. Tidak menggunakan atribut yang kurang penting (feature selection)

Strategi pemilihan fitur penting akan dilakukan dengan f-score karena metode ini mudah untuk diimplementasikan dan memiliki kompleksitas algoritma yang lebih kecil dari pada metode pada [MUK03]. Alasannya, dengan cara [MUK03] maka harus dilakukan pelatihan dan pengujian untuk setiap atribut yang diperiksa. Dengan demikian tidak efisien untuk jumlah data pelatihan yang besar dan dataset dengan jumlah atribut yang banyak.

3. Pelatihan data dalam jumlah besar atau update model hasil pelatihan dengan menggunakan incremental training

Dalam penggunaan IDS yang memanfaatkan teknik data mining sering kali dibutuhkan pelatihan ulang misalnya ketika terdapat data pelatihan baru misalnya ketika ada jenis intrusi baru yang ingin di deteksi atau ada aktivitas baru pada jaringan yang diijinkan (seharusnya tidak dideteksi sebagai intrusi). Oleh karena itu, waktu pelatihan akan menjadi jauh lebih singkat jika menggunakan incremental training.

3.5 Analisis Pembelajaran Dengan SVM

Penggunaan SVM baik dalam bentuk supervised maupun unsupervised pada prinsipnya menyelesaikan sebuah permasalahan quadratic programming. Oleh karena itu, proses pembelajarannya hampir sama dan tahapannya dapat dilihat pada gambar III-3. Akan tetapi untuk unsupervised learning dengan SVM data pelatihan dan data

(7)

pengujian adalah data yang sama. Selain itu, untuk proses pelatihannya dapat juga hanya menggunakan sebagian data dari data pengujian sehingga proses waktu pelatihan menjadi lebih singkat, tetapi hal ini mungkin menurunkan akurasi pada tahap pengujian.

Preprocessing

Pembelajaran SVM Ubah representasi

data

Normalisasi Data Pembagian data Estimasi Parameter

dataset

feature vector

Evaluasi Model Data pelatihan

parameter

Data pengujian pembelajaranModel

Parameter

terbaik Pelatihan

Gambar III-3 Pembelajaran dengan SVM 3.5.1 Preprocessing Data

Data KDDCUP 99 memiliki atribut yang tipe nilainya real dan discrete. Agar dataset ini dapat diproses oleh SVM maka dataset tersebut harus direpresentasikan sebagai vektor dari bilangan real. Cara yang umum digunakan untuk data diskrit yang tidak terurut (data berupa kategori) adalah dengan memakai 1-of-c encoding, dimana c adalah banyaknya kemungkinan nilai pada input tersebut [SAR02]. Misalnya untuk nilai atribut protocol_type : tcp,udp,icmp. Ketiganya tidak tepat jika di-encode ke nilai real yang berurutan karena tidak memiliki urutan besar-kecil. Pendekatan yang biasa dilakukan adalah memakai vektor berdimensi 3, bernilai 0 dan 1. Pada contoh ini tcp direpresentasikan sebagai [001], udp direpresentasikan sebagai [010] dan icmp direpresentasikan sbg. [100]. Vektor berdimensi 3 ini dalam implementasinya direpresentasikan dalam 3 binary atribut (masing-masing merepresentasikan satu elemen vektor ). Cara ini akan digunakan pada tugas akhir ini.

Selain mengkonversi nilai atribut , normalisasi / scaling (perubahan rentang dari nilai atribut) atribut yang bernilai bilangan real umumnya juga diperlukan agar proses perhitungan lebih mudah dan atribut yang rentang nilainya besar tidak mendominasi atribut yang rentang nilainya lebih kecil. Normalisasi umumnya memberikan hasil yang lebih baik [HSU04]. Rentang nilai atribut yang dianjurkan untuk digunakan adalah [0,1] atau [-1,+1] [HSU04].

(8)

Normalisasi dalam rentang nilai [0,1] menghasilkan akurasi yang sama dengan [-1,+1] jika menggunakan fungsi kernel RBF, tetapi waktu komputasi yang dibutuhkan mungkin berbeda. Karena nilai atribut data pada KDD CUP 99 banyak yang bernilai 0, maka digunakan rentang normalisasi [0,1] karena waktu yang akan dibutuhkan menjadi lebih singkat dibandingkan dengan penggunaan rentang nilai [-1,+1]. Alasannya, jika dinormalisasi ke dalam rentang nilai [-1,+1] banyak nilai 0 akan berubah menjadi -1 sehingga perhitungannya menjadi lebih lambat. Adapun rumus normalisasi ke dalam rentang [0,1] adalah persamaan (3.1) dimana xmin dan xmax adalah nilai minimum dan nilai maksimum atribut x.

min max min ' x x x x x − − = (3.1)

3.5.2 Pemilihan dan Estimasi Parameter Terbaik

Sebelum pelatihan dilakukan, terlebih dahulu harus ditentukan nilai parameter C beserta fungsi kernel dan parameternya untuk pembelajaran supervised SVM. Untuk One Class SVM parameter yang harus ditentukan adalah parameter nu (v) beserta fungsi kernel dan parameternya. Menurut penelitian [LAS05], dataset KDD CUP paling baik diproses oleh algoritma nonliniear sehingga pada Tugas Akhir ini akan diterapkan SVM nonliniear. Untuk itu fungsi kernel yang akan digunakan adalah fungsi kernel RBF karena digunakan pada penelitian [MUK02,LAS04,LAS05].

Pada tugas akhir ini estimasi parameter terbaik akan dilakukan dengan mengunakan k-folds crossalidation dan grid search. Pendekatan ini mudah digunakan pada dataset yang jumlahnya ribuan. Akan tetapi, dataset yang akan digunakan pada Tugas Akhir ini ukurannya sangat besar, maka akan digunakan subset dari dataset yang diambil secara acak, kemudian dilakukan grid search pada subset tersebut. Setelah ditemukan parameter terbaik, dilakukan grid search pada rentang nilai yang lebih kecil untuk memperoleh parameter terbaik.

3.5.3 Algoritma Pelatihan SVM

Algoritma pelatihan yang akan digunakan pada tugas akhir ini adalah algoritma decomposition seperti yang digunakan pada LibSVM karena algoritma ini merupakan hasil perbaikan dari algoritma standard pelatihan SVM dengan SMO (Sequential Minimal Optimization). Untuk lebih jelasnya algoritma pelatihan SVM dapat dilihat

(9)

pada Lampiran D. Selain itu heuristik shrinking dan dan teknik caching juga akan digunakan untuk mempersingkat waktu pembelajaran.

3.6 Analisis Perangkat Lunak

Prototipe perangkat lunak yang diimplementasikan adalah sebuah perangkat lunak yang dapat menerima dataset intrusi pada jaringan baik berupa file. Perangkat lunak selanjutnya akan memproses masukan menjadi representasi internal yang digunakan sebagai input untuk proses SVM learning. Sebelum melakukan proses SVM learning (proses pelatihan), pengguna harus memasukkan konfigurasi (berupa nilai-nilai parameter dan konfigurasi yang dibutuhkan). Hasil proses pelatihan adalah SVM detection model dapat disimpan pada file atau basis data. Selanjutnya model ini dapat digunakan untuk melakukan pengujian.

Untuk mengimplementasikan perangkat lunak ini digunakan LibSVM versi 2.83 sebuah perangkat lunak open source yang telah mengimplementasikan One Class SVM dan Multi Class SVM (One Against One). LibSVM telah terimplementasi dalam bahasa pemrograman Java, C++ dan Python. Akan tetapi, karena salah satu target dari teknik pendeteksian intrusi adalah waktu pelatihan dan pengujian yang minimum maka digunakan versi C++ yang memiliki waktu runtime yang lebih kecil dibandingkan dengan versi Phyton dan Java.

Untuk implementasi Multi Class SVM (One-Against-All) serta fungsi-fungsi tambahan yang dibutuhkan untuk preprocessing dan evaluasi performansi SVM (seperti confusion matrix dan ROC curve), incremental training dan feature selection akan diimplementasikan sendiri. LibSVM diimplementasikan dalam sebuah file yang cukup panjang. Dengan demikian dihasilkan file executable yang berukuran kecil. Akan tetapi, untuk memudahkan dalam memahami SVM dan mengimplementasikan fungsi tambahan diatas maka file tersebut dipecah dan kumpulan fungsi untuk melakukan pengujian dan pelatihan diubah menjadi kelas.

Gambar

Gambar III-1 Deskripsi Umum Sistem
Gambar III-2 Proses pembangunan dan penggunaan detection model  oleh SVM Analyser
Gambar III-3 Pembelajaran dengan SVM

Referensi

Dokumen terkait

Pendidikan matematika realistik Indonesia adalah pemanfaatan realitas yaitu hal-hal yang nyata atau konkret dan dapat diamati secara langsung sesuai dengan lingkungan

Penelitian ini diharapkan dapat bermanfaat sebagai acuan dalam ilmu pengetahuan, terutama dalam bidang pertanian, sehingga penelitian ini dapat menjadi sumber

† Manajer pembelian dan produksi bersama dengan akuntan manajemen menggunakan informasi yang didapat dari langkah 3 sampai dengan langkah menggunakan informasi yang didapat

Aturan-aturan telah menjadi landasan bagi KJRI Davao City dalam mengeluarkan kebijakan dan upaya-upaya untuk menyelesaikan permasalahan masyarakat keturunan Indonesia di

Permasalahan dalam penelitian pada rancang bangun cross section water tube boiler adalah ingin mengetahui pengaruh level ketinggian air di dalam steam drum terhadap

Dalam hal ini SIG mempunyai manfaat yang dapat digunakan untuk menganalisis dalam proses penentuan lokasi bandara yang sesuai dengan parameter yang telah ditentukan, yaitu

Perumusan Masalah Pengembangan Penelitian Perencanaan Produksi yang lebih baik Hubungan Tingkat Error dengan Total Cost...

Perubahan tutupan/penggunaan lahan periode 2004-2012 menunjukkan adanya trend peningkatan dan penurunan luasan. Peningkatan luasan terjadi pada beberapa jenis