17
BAB III
METODOLOGI PENELITIAN
3.1 Diagram Alir
Pada penelitian ini, penulis akan melakukan tahapan – tahapan kegiatan yang sesuai dengan rancangan kegiatan sebagaimana yang tertuang dalam Diagram Alir pada Gambar 3.1.
Gambar 3.1 Diagram Alir
Bedasarkan diagram alir pada Gambar 3.1 tahapan penelitian akan dimulai
secara berurutan dengan mempelajari literatur yang berkaitan dengan
penelitian ini. Kemudian proses berikutnya adalah dengan melakukan
simulasi serangan DDoS hingga mendapatkan sampel data. Log aktivitas
jaringan akan diambil dari hasil simulasi DDoS. Lalu data – data tersebut
akan di kelompokan dan diolah menggunakan fuzzy logic sugeno kemudian
dianalisis untuk mengetahui apakah aktivitas tersebut adalah aktivitas yang
berasal dari Botnet yang menyerang.
18 3.2 Study Literatur
Study literatur adalah tahap awal yang penulis lakukan dalam penelitian ini.
Tahap ini berperan untuk mengumpulkan referensi yang dapat membantu penulis dalam melakukan penelitian. Study literatur berfokus pada penelitian – penelitian yang melakukan deteksi DDoS menggunakan fuzzy logic sebagai bahan penulis untuk mengembangkan sistem yang dapat menghasilkan keluaran yang lebih baik lagi. Pada proses ini juga penulis akan mempelajari data dari log aktivitas webserver target dalam penggunaan sehari – hari sebagai acuan dasar atau batas bawah dari data yang ada.
3.3 Simulasi Serangan DDOS
Pada tahap ini penulis akan melakukan simulasi serangan DDoS menggunakan aplikasi Low Orbit Ion Cannon (LOIC). Aplikasi berbasis windows ini banyak digunakan untuk melakukan serangan DDoS dengan mengirimkan banyak paket ICMP, TCP atau UDP ke target [8]. Selain menggunakan LOIC penulis juga menggunakan HOIC sebagai aplikasi bantuan dalam melakukan simulasi serangan DDoS.
3.4 Pengambilan Sampel Data
Gambar 3.2 Sampel Data
19
Tabel 3.1 Semesta Pembicara Variable Input dan Output
Fungsi Variabel Semesta Pembicara
INPUT
Jumlah User [0 – 12]
Pajang Paket [0 – 5120]
Rate (ms) [0 – 4]
Jumlah Paket [0 – 32000]
OUTPUT Status [0 - 1]
Data akan diambil sebanyak 10 dengan rentang masing – masing 10 detik.
Proses pengambilan data akan dilakukan secara berulang selama 10 kali dengan 3 kali lalu lintas normal dan 7 dengan menggunakan serangan DDoS.
Data yang di dapat dibagi menjadi 4 variabel input, yaitu jumlah user, jumlah paket, panjang paket, dan rate (ms). Untuk lebih jelasnya dapat dilihat pada Gambar 3.2. Tabel 3.1 menjelaskan semesta pembicara dari masing – masing variable yang mana hal tersebut menjadi parameter dalam proses perhitungan fuzzy nanti.
3.4.1 Identifikasi Lalu Lintas Jaringan
Tahap identifikasi akan dilakukan dengan melihat log aktivitas dari jaringan dengan menggunakan aplikasi Wireshark yang mana dapat menangkap semua paket yang lewat serta menyeleksi dan menampilkan data tersebut [8]. Cara menyeleksi data dilakukan secara manual dengan melihat nilai variable pada aplikasi wireshark. Untuk lebih jelas nya dapat dilihat pada Lampiran.
a) Jumlah User
Parameter jumlah user dapat dilihat pada menu Statistics > IPv4
Statistics > All Address. Maka dapat dilihat user – user yang
melakukan akses terhadap ip target. Untuk lebih jelasnya dapat
dilihat pada Gambar 3.3.
20
Gambar 3.3 Identifikasi Jumlah User
b) Panjang Paket
Parameter panjang paket dapat dilihat pada menu Statistics >
Packet Lengths > Average. Maka didapatkan nilai seperti pada Gambar 3.4.
Gambar 3.4 Identifikasi Panjang Paket
c) Rate
Parameter rate dapat dilihat pada menu Statistics > Packet Lengths
> Rate(ms). Maka didapatkan nilai seperti pada Gambar 3.5.
21
Gambar 3.5 Identifikasi Rate
d) Jumlah Paket
Parameter jumlah paket dapat dilihat pada menu Statistics >
Packet Lengths > Count. Maka didapatkan nilai seperti pada Gambar 3.6.
Gambar 3.6 Identifikasi Jumlah Paket
22
Tabel 3.2 Data Uji
No Jumlah User
Panjang Paket
Rate (ms)
Jumlah
Paket Status
1 3 1143 0.216
2015
Normal2 3 318 0.012
127
Normal3 10 307 0.011
103
Normal4 10 799 0.888
7304
DDoS5 9 830 1.032
8784
DDoS6 6 745 1.672
13620
DDoS7 6 722 0.830
8514
DDoS8 6 754 1.634
15076
DDoS9 4 743 3.056
31138
DDoS10 11 735 2.636
27487
DDoSTabel 3.2 menjelaskan data uji yang didapatkan dari proses sampel data, dengan menggunakan 3 data normal dan 7 data DDoS.
3.5 Pengolahan dan Pengelompokan Data
Pengolahan dan pengelompokan data akan dilakukan menggunakan metode
fuzzy logic sugeno berdasarkan data yang sudah diambil. Proses perhitungan
akan dilakukan menggunakan bantuan Software MATLAB dengan
menentukan fungsi keanggotaan himpunan fuzzy dan de-fuzzy-fikasi.
23
Gambar 3.7 Proses Fuzzy
Gambar 3.7 menjelaskan bagaimana fuzzy logic sugeno berperan dalam
penelitian ini. Pada proses fuzzy, hasil sampel data berupa jumlah user, jumlah
paket, dan panjang paket dan rate/ms yang di dapatkan menggunakan aplikasi
wireshark akan di input satu per satu. Fungsi keanggoataan didapat
berdasarkan nilai diantara batas atas dan batas bawah dari variable input yang
ada. Terdapat beberapa jenis fungsi keanggotaan himpunan fuzzy, seperti
linier naik, linier turun, trapezium, segitiga dan lain – lain. Dalam hal ini
penulis menggunakan fungsi keanggotaan himpunan fuzzy segitiga.
24 µ(x) =
{
0 ; 𝑥 ≤ 𝑎 𝑎𝑡𝑎𝑢 𝑥 ≥ 𝑐
(𝑥−𝑎)
(𝑏−𝑎)
; 𝑎 ≤ 𝑥 ≤ 𝑏
(𝑐−𝑥)
(𝑐−𝑏)
; 𝑏 ≤ 𝑥 ≤ 𝑐
(3.1)
Pada tahap rule menggunakan aturan if then berdasarkan variable input-nya.
Proses de-fuzzy-fikasi akan didapat berdasarkan nilai rata – rata yang sudah didapat dari rule. Kemudian output dari de-fuzzy-fikasi adalah nilai 0 (sebagai data yang bukan serangan DDoS) atau 1 (sebagai data yang merukan serangan DDoS). Jumlah dari hasil data yang diapat akan dipersentasekan sebagai nilai akhir.
3.5.1 Fuzzyfikasi
Pada tahap ini dilakukan fuzzy-fikasi dengan cara mengelompokkan nilai variable jumlah user, jumlah paket, panjang paket, dan rate (ms) menjadi beberapa kelompok.
Gambar 3.8 Proses Fuzzyfikasi
Gambar 3.8 menjelaskan proses fuzzy-fikasi pada data sampel.
Variable jumlah user dibagi menjadi 2 kategori, yaitu sedikit dan
banyak. Variable jumlah paket dibagi menjadi 3 kategori, yaitu
25
sedikit, sedang, dan banyak. Variable rate dibagi menjadi 2 kategori, yaitu kecil dan besar. Sedangkan variable panjang paket dibagi menjadi 3 yaitu sedikit, sedang, panjang. Tiap – tiap kategori di bagi ke masing – masing nilai domain yang dapat dilihat pada Tabel 3.3.
Tabel 3.3 Himpunan Fuzzy
3.5.2 Proses Inferensi
Proses inferensi mecari nilai keanggotaan masing – masing variable input tehadap variable output menggunakan fungsi implikasi MIN untuk medapatkan nilai α – predikat tiap – tiap rule yang nantinya nilai α – predikat ini digunakan untuk menghitung keluaran hasil inferensi secara tegas.
3.5.3 Defuzzyfikasi
Proses de-fuzzy-fikasi dilakukan dengan menggunakan fungsi rata – rata (Weight Average) pada metode sugeno.
Fungsi Variabel Himpunan Nilai Domain
INPUT
Jumlah User
Sedikit [0 – 6]
Banyak [5 – 12]
Pajang Paket
Sedikit [0 – 1700]
Sedang [1500 – 3400]
Panjang [3200 – 5120]
Rate (ms)
Kecil [0 – 2,25]
Besar [1,75 – 4]
Jumlah Paket
Sedikit [0 – 1000]
Sedang [500 – 10000]
Banyak [5000 – 32000]
OUTPUT Status
Normal [0]
DDoS Ringan [0.1 – 0.99]
DDoS [1]
26
Z = ∑ 𝛼 ∑ 𝛼
𝑖𝑧
𝑖𝑖
(3.2)
3.5.4 Fuzzy Rule Based
Pada tahap ini, dibentuk aturan fuzzy yang akan digunakan dalam pendeteksi serangan DDoS. Rule dibuat beradasarkan jumlah data yang didapatkan dari proses simulasi yang terlah dilakukan.
Jumlah rule sebanyak 36 dapat dilihat pada Tabel 3.4.
Tabel 3.4 Fuzzy Rule Based
No
Aturan Variable Input Variable
Output
R1
Jika [[Jumlah User = Sedikit] dan [Panjang Paket = Sedikit] dan [Rate = Kecil] dan [Jumlah Paket = Sedikit]]
Bukan DDoS R2 Jika [[Jumlah User = Sedikit] dan [Panjang
Paket = Sedikit] dan [Rate = Kecil] dan [Jumlah Paket = Sedang]]
Bukan DDoS R3 Jika [[Jumlah User = Sedikit] dan [Panjang
Paket = Sedikit] dan [Rate = Kecil] dan [Jumlah Paket = Banyak]]
Bukan DDoS R4 Jika [[Jumlah User = Sedikit] dan [Panjang
Paket = Sedikit] dan [Rate = Besar] dan [Jumlah Paket = Sedikit]]
Bukan DDoS R5 Jika [[Jumlah User = Sedikit] dan [Panjang
Paket = Sedikit] dan [Rate = Besar] dan [Jumlah Paket = Sedang]]
Bukan DDoS R6 Jika [[Jumlah User = Sedikit] dan [Panjang
Paket = Sedang] dan [Rate = Kecil] dan [Jumlah Paket = Sedikit]]
Bukan DDoS R7 Jika [[Jumlah User = Sedikit] dan [Panjang
Paket = Sedang] dan [Rate = Kecil] dan [Jumlah Paket = Sedang]]
Bukan DDoS R8 Jika [[Jumlah User = Sedikit] dan [Panjang
Paket = Sedang] dan [Rate = Kecil] dan [Jumlah Paket = Banyak]]
Bukan DDoS
27
R9 Jika [[Jumlah User = Sedikit] dan [Panjang Paket = Sedang] dan [Rate = Besar] dan [Jumlah Paket = Sedikit]]
Bukan DDoS R10 Jika [[Jumlah User = Sedikit] dan [Panjang
Paket = Panjang] dan [Rate = Kecil] dan [Jumlah Paket = Sedikit]]
Bukan DDoS R11 Jika [[Jumlah User = Sedikit] dan [Panjang
Paket = Panjang] dan [Rate = Kecil] dan [Jumlah Paket = Sedang]]
Bukan DDoS R12 Jika [[Jumlah User = Banyak] dan [Panjang
Paket = Sedikit] dan [Rate = Kecil] dan [Jumlah Paket = Sedikit]]
Bukan DDoS R13 Jika [[Jumlah User = Banyak] dan [Panjang
Paket = Sedikit] dan [Rate = Kecil] dan [Jumlah Paket = Sedang]]
Bukan DDoS R14 Jika [[Jumlah User = Banyak] dan [Panjang
Paket = Sedang] dan [Rate = Kecil] dan [Jumlah Paket = Sedikit]]
Bukan DDoS R15 Jika [[Jumlah User = Sedikit] dan [Panjang
Paket = Sedikit] dan [Rate = Besar] dan [Jumlah Paket = Banyak]]
DDoS
R16 Jika [[Jumlah User = Sedikit] dan [Panjang Paket = Sedang] dan [Rate = Besar] dan [Jumlah Paket = Sedang]]
DDoS
R17 Jika [[Jumlah User = Sedikit] dan [Panjang Paket = Sedang] dan [Rate = Besar] dan [Jumlah Paket = Banyak]]
DDoS
R18 Jika [[Jumlah User = Sedikit] dan [Panjang Paket = Panjang] dan [Rate = Kecil] dan [Jumlah Paket = Banyak]]
DDoS
R19 Jika [[Jumlah User = Sedikit] dan [Panjang Paket = Panjang] dan [Rate = Besar] dan [Jumlah Paket = Sedikit]]
DDoS
R20 Jika [[Jumlah User = Sedikit] dan [Panjang Paket = Panjang] dan [Rate = Besar] dan [Jumlah Paket = Sedang]]
DDoS
R21 Jika [[Jumlah User = Sedikit] dan [Panjang
Paket = Panjang] dan [Rate = Besar] dan DDoS
28
[Jumlah Paket = Banyak]]
R22 Jika [[Jumlah User = Banyak] dan [Panjang Paket = Sedikit] dan [Rate = Kecil] dan [Jumlah Paket = Banyak]]
DDoS
R23 Jika [[Jumlah User = Banyak] dan [Panjang Paket = Sedikit] dan [Rate = Besar] dan [Jumlah Paket = Sedikit]]
DDoS
R24 Jika [[Jumlah User = Banyak] dan [Panjang Paket = Sedikit] dan [Rate = Besar] dan [Jumlah Paket = Sedang]]
DDoS
R25 Jika [[Jumlah User = Banyak] dan [Panjang Paket = Sedikit] dan [Rate = Besar] dan [Jumlah Paket = Banyak]]
DDoS
R26 Jika [[Jumlah User = Banyak] dan [Panjang Paket = Sedang] dan [Rate = Kecil] dan [Jumlah Paket = Sedang]]
DDoS
R27 Jika [[Jumlah User = Banyak] dan [Panjang Paket = Sedang] dan [Rate = Kecil] dan [Jumlah Paket = Banyak]]
DDoS
R28 Jika [[Jumlah User = Banyak] dan [Panjang Paket = Sedang] dan [Rate = Besar] dan [Jumlah Paket = Sedikit]]
DDoS
R29 Jika [[Jumlah User = Banyak] dan [Panjang Paket = Sedang] dan [Rate = Besar] dan [Jumlah Paket = Sedang]]
DDoS
R30 Jika [[Jumlah User = Banyak] dan [Panjang Paket = Sedang] dan [Rate = Besar] dan [Jumlah Paket = Banyak]]
DDoS
R31 Jika [[Jumlah User = Banyak] dan [Panjang Paket = Panjang] dan [Rate = Kecil] dan [Jumlah Paket = Sedikit]]
DDoS
R32 Jika [[Jumlah User = Banyak] dan [Panjang Paket = Panjang] dan [Rate = Kecil] dan [Jumlah Paket = Sedang]]
DDoS
R33 Jika [[Jumlah User = Banyak] dan [Panjang Paket = Panjang] dan [Rate = Kecil] dan [Jumlah Paket = Banyak]]
DDoS
R34 Jika [[Jumlah User = Banyak] dan [Panjang DDoS
29
Paket = Panjang] dan [Rate = Besar] dan [Jumlah Paket = Sedikit]]
R35 Jika [[Jumlah User = Banyak] dan [Panjang Paket = Panjang] dan [Rate = Besar] dan [Jumlah Paket = Sedang]]
DDoS
R36 Jika [[Jumlah User = Banyak] dan [Panjang Paket = Panjang] dan [Rate = Besar] dan [Jumlah Paket = Banyak]]
DDoS
3.6 Analisis dan Pendeteksian Serangan DDoS
Tahap ini akan menganalisis data yang sudah dihitung untuk dideteksi apakah data atau aktivitas tersebut termasuk kedalam serangan DDoS atau bukan.
Hasil analisis akan berupa persentase nilai dari seluruh data yang digunakan dalam penelitian. Hasil analisis akan di sampaikan kepada pengguna agar dapat menjadi acuan terhadap tindakan apa yang ingin dilakukan terhadap serangan tersebut.
3.7 Kebutuhan Sistem
3.7.1 Kebutuhan Perangkat Keras
Spesifikasi perangkat keras yang digunakan dalam implementasi penelitian ini dapat dilihat pada Tabel 3.5.
Tabel 3.5 Kebutuhan Perangkat Keras
No. Perangkat Keras Spesifikasi
1 Processor Intel(R) Core(TM) i5 2.7 Ghz
2 RAM 4 Gb DDR3
3 Storage 500 GB HDD
4 Grapics Intel HD Grapics
3.7.2 Kebutuhan Perangkat Lunak
Spesifikasi perangkat lunak yang digunakan dalam implementasi
penelitian ini dapat dilihat pada Tabel 3.6.
30
Tabel 3.6 Kebutuhan Perangkat Lunak