## JEPIN
(Jurnal Edukasi dan Penelitian Informatika)
ISSN(e): 2548-9364 / ISSN(p) : 2460-0741
Vol. 9 No. 3 Desember 2023

## Deteksi Botnet pada Jaringan DNS secara Virtual menggunakan Decision Tree
Kharisma Monika Dian Pertiwi #1 , Vessa Rizky Oktavia #2 , Rizky Fenaldo Maulana #3
Informatika , Institut Teknologi Telkom Surabaya Jl. Ketintang No.156, Ketintang, Kec. Gayungan, Surabaya, Jawa Timur
1 kharismamonika@ittelkom-sby.ac.id
2 vessa@ittelkom-sby.ac.id
3 aldo@ittelkom-sby.ac.id
Abstrak—  Internet  adalah  aspek  yang  paling  penting  dan krusial  dalam  kehidupan  di  dunia.  DNS  Server  bertugas menerjemahkan  atau  mengarahkan  alamat  IP  ke  alamat domain  aplikasi  yang  diminta  oleh  client.  DNS  Server merupakan  komponen  krusial  yang  rentan  terhadap serangan.  Serangan  paa  DNS  Server  dapat  berupa  phising, penyebaran  malware  dan  DDoS.  Dampak  dari  serangan tersebut  dapat  menyebabkan  layanan  DNS  mati  hingga pencurian  data  pribadi.  Serangan  tersebut  tidak  hanya dilakukan oleh individual, namun juga dapat dilakukan oleh robot  atau  program  komputer  yang  biasa  disebut  dengan botnet.  Botnet  merupakan  sistem  komputer  yang  telah terinfeksi  program  yang  dapat  dikendalikan  jarak  jauh. Untuk  mencegah  serangan  botnet  pada  jaringan  DNS, diperlukan sebuah metode yang mampu mendeteksi serangan dengan cepat. Penelitian ini bertujuan untuk mengembangkan metode untuk mendeteksi serangan botnet pada  jaringan  DNS  menggunakan  algoritma  pembelajaran mesin.  Penelitian  ini  kami  lakukan  secara  simulasi menggunakan  mesin  virtual  untuk  mendapatkan  data  lalu lintas  DNS.  Penelitian  ini  menghasilkan  pemahaman  atau perspektif  baru  mengenai  metode  deteksi  serangan  botnet berdasarkan  lalu  lintas  jaringan  DNS  Server  yang disimulasikan  secara  virtual.  Metode  pembelajaran  mesin untuk  deteksi  serangan  botnet  yang  diimplementasikan adalah  decision  tree.  Hasil  pengujian  menunjukkan  bahwa model  mampu  mendeteksi  dengan  baik.  Model  dapat mendeteksi botnet dengan akurasi 95%. Model memiliki rata- rata nilai precision 97%, recall 92.6% dan F1-score 95%.
Kata  kunci — Botnet,  Decision  Tree,  DNS,  Deteksi, Virtualisasi

## I. P ENDAHULUAN
Internet  adalah  aspek  yang  paling  penting  dan  krusial dalam  kehidupan  di  dunia.  Hampir  4.66  milyar  orang menggunakan  internet  untuk  komunikasi,  belajar,  bahkan menjalankan bisnis mereka. Domain Name System (DNS) memiliki  peranan  yang  sangat  penting  dalam  ekosistem internet    [1].  DNS  Server  bertugas  menerjemahkan  atau mengarahkan  alamat  IP  ke  alamat  domain  aplikasi  yang diminta  oleh  client.  Misalnya  alamat  www.google.com diarahkan ke alamat IP seperti 172.217.11.164  [2].
Berdasarkan  pentingnya  DNS,  banyak  orang  yang menyalahgunakan  dengan  melakukan  kejahatan  untuk mendapatkan  keuntungan  pribadi.  DNS  rentan  terhadap beberapa  resiko  keamanan  seperti  DNS spoofing , cache poisoning , DNS hijacking , NXDOMAIN/NSNX, phantom domain attack , serangan DDoS menggunakan botnet, DNS floods , tunnelling , dan amplification attack [3].
Isu  keamanan  jaringan  merupakan  isu  global  yang menjadi  masalah  serius  hingga  saat  ini.  Salah  satu kejahatan dalam dunia siber yaitu serangan botnet. Botnet telah menjadi isu keamanan yang paling berbahaya dalam satu  dekade  ini  [4].  Botnet  meningkat  sebagai  instrumen teratas  yang  digunakan  untuk  mengirimkan  serangan digital.  Bot  adalah malware yang  dikendalikan  dari  jarak jauh oleh seseorang yang dikenal sebagai botmaster. Botnet adalah  sistem  komputer  yang  terinfeksi  bot.  Serangan botnet dapat dilakukan untuk distributed-denial-of-service (DDoS), spamming masal,  pemasangan ad-ware dll    [4], [5]  [6]].  Serangan  botnet  pada  DNS  Server  dapat menyebabkan  beberapa  hal  yang  berbahaya  seperti mengarahkan  permintaan  yang  masuk  menuju  ke  situs palsu  yang  digunakan  untuk phising atau  menyebarkan malware , layanan DNS mati, penyalahgunaan cache DNS, DDoS,  pencurian  data  pribadi  ( man  in  the  middle  attack ) [7].
Banyak  metode  yang  berkembang  untuk  mendeteksi serangan  botnet  seperti  pemantauan  lalu  lintas  jaringan, analisa  log  jaringan,  analisa  pola,  analisa  perilaku  host. Namun  metode  tersebut  membutuhkan  waktu  yang  lama [4]. Untuk mencegah serangan botnet pada jaringan DNS, diperlukan  sebuah  metode  yang  mampu  mendeteksi serangan dengan cepat.
Kecerdasan  buatan  maupun  pembelajaran  mesin merupakan  hal  yang  tidak  asing  bagi  kita.  Metode pembelajaran mesin memungkinkan sistem untuk mempelajari  pola  dari  data  historis  dan  mengidentifikasi pola  yang  mencurigakan  atau  tidak  biasa  yang  mungkin menunjukkan  adanya  aktivitas  botnet.  Saat  ini  banyak metode  pembelajaran  mesin  yang  digunakan  untuk mendeteksi botnet [8].
Dalam penelitian ini, kami mengajukan sebuah metode untuk  mendeteksi  serangan  botnet  pada  jaringan  DNS menggunakan  algoritma  pembelajaran  mesin.  Dengan menggunakan  algoritma  pembelajaran  mesin  untuk mendeteksi  pola  yang  berbahaya  dan  tidak.  Hal  ini  dapat dilakukan dengan mendapatkan kecukupan data lalu lintas di  jaringan  DNS.  Penelitian  ini  kami  lakukan  secara simulasi  menggunakan  mesin  virtual  untuk  mendapatkan data  lalu  lintas  DNS.  Penelitian  ini  menghasilkan pemahaman atau perspektif baru mengenai metode deteksi serangan  botnet  berdasarkan  lalu  lintas  jaringan  DNS Server yang disimulasikan secara virtual.
II. S TUDI L ITERATUR
Penelitian tentang deteksi botnet telah banyak dilakukan selama 10 tahun terakhir ini dengan metode dan pendekatan yang  berbeda-beda.  Penelitian  yang  dilakukan  oleh  Zhao dkk  [9]  mendeteksi  botnet  dengan  cara  analisis  perilaku lalu lintas jaringan dan interval paket jaringan yang masuk. Pada  penelitian  [10]  mendeteksi  botnet  dengan  cara menganalisa melihat aktivitas jaringan dengan manganalisa paket  TCP,  UDP  dan  DNS  serta  beberapa  parameter lainnya.  Penelitian  tersebut  menggunakan  data  lalu  lintas jaringan untuk mendeteksi botnet. Penelitian lain pada [11] melakukan  pembuatan  kelompok  (kluster)  dari  lalu  lintas jaringan  yang  dianggap  berbahaya  dan  tidak  berbahaya. Dimana teknik yang digunakan menggunakan pendekatan komparatif  dengan  referensi  yang  digunakan  adalah ambang batas yang sudah ada.
Saat  ini  metode  yang  populer  untuk  mendeteksi  botnet adalah  menggunakan  pendekatan  pembelajaran  mesin [12]  .  Ali  dkk.  [13]  mengembangkan  deteksi  botnet menggunakan pembelajaran mesin pada perangkat seluler. Ali  dkk.  mengevaluasi  lima  model  klasifikasi  dari pembelajaran  mesin  seperti Multi-Layer  Perceptron (MLP) , Decision  Tree (DT), Naïve  Bayes (NB), Support Vector  Machine (SVM)  dan K-Nearest Neighbor (KNN). Penelitian  [14]  ini  bertujuan  untuk  menemukan  model klasifikasi terbaik untuk mendeteksi aktivitas mencurigakan  pada  perangkat  seluler  menggunakan klasifikasi  pembelajaran  mesin.  Proses  klasifikasi menggunakan  dua  metode  validasi  yaitu  10-fold menggunakan K-Fold dan 70% data latih dan 30% data uji.
Dalam  penelitian  Sulaeman  dkk.  Melakukan  deteksi botnet  pada  perangkat  Android  dengan  menggunakan pendekatan deep  learning berbasis Convolutional  Neural Network (CNN)  [15].  Dalam  penelitian  [15]  botnet  pada perangkat  Android  sehingga  menggunakan  metode  CNN lebih  cocok.  Metode deep  learning sangat  kuat  dan kompleks jika data yang digunakan sederhana. Hal tersebut menyebabkan beban berlebih pada sumber daya komputer [16].  Sedangkan  penelitian  yang  kami  lakukan  berfokus pada jaringan DNS dan atribut kelas pada data kami hanya 2 kelas yaitu benar dan salah.
Saad  dkk.  [17]  meneliti  lima  algoritma  pembelajaran mesin  untuk  mendeteksi  botnet Peer  to  Peer (P2P)  di internet. Hasil eksperimen menunjukkan bahwa algoritma SVM,  ANN,  dan  NN  memiliki  persentase  deteksi  benar sebesar 90% dan kesalahan total lebih rendah dari 7%. Di sisi  lain,  algoritma Gausian dan Naive  Bayes memiliki
persentase deteksi benar sebesar 88% dan kesalahan total lebih dari 10%.
Wielogorska  dkk.  [18]  menciptakan  model  sistem deteksi  botnet  yang  memungkinkan  untuk  menemukan botnet di jaringan area lokal. Mereka menggunakan analisis lalu  lintas  DNS  pasif.  Mereka  menemukan  dan  menguji teknik klasifikasi Naive Bayes untuk membedakan arus lalu lintas  DNS  normal  dan  berbahaya. Mereka  menggunakan teknik  ini  untuk  mengekstraksi  fitur  dari  lalu  lintas  DNS untuk  menemukan  jaringan  yang  terinfeksi  botnet.  Hasil dari  uji  coba  yang  dilakukan  peneliti  menggunakan  alat Weka menunjukkan akurasi klasifikasi sebesar 65%.
Dalam  impelementasi  jaringan,  teknologi  virtualisasi banyak dipilih untuk beberapa kasus. Dalam penelitian [19] menguji  tingkat  efektifitas  virtualisasi  untuk  penilaian keamanan  jaringan.  Teknik  virtualisasi  jaringan  sangat diperlukan  untuk  pengujian  karena  mereka  menyediakan lingkungan  yang  terisolasi,  fleksibel,  dan  kontrol  penuh untuk menguji konfigurasi, perangkat lunak, dan skenario keamanan  dalam  jaringan.  Dalam  penelitian  sebelumnya [16],  [20]  penulis  melakukan  pengujian  web  server  dan single  sign  on  dengan  virtualisasi.  Dalam  penelitian  ini akan  menggunakan  virtualisasi  untuk  mensimulasikan serangan botnet kepada DNS Server.
Decision Tree merupakan algoritma pembelajaran mesin yang  sederhana  yang  banyak  digunakan  dalam  penelitian keamanan jaringan [21]. Pada penelitian [22] Decision Tree digunakan  untuk  mendeteksi malware dalam  lingkungan komputasi  awan. Decision  tree menghasilkan  struktur berupa  pohon  keputusan  yang  mudah  dipahami  dan diinterpretasi oleh manusia. Decision tree dapat digunakan dengan baik untuk data yang memiliki campuran jenis fitur, seperti  fitur  numerik  dan  kategorikal.  Ini  membuatnya cocok  untuk  berbagai  jenis  data,  termasuk  data  jaringan. Pada  penelitian  ini  akan  menggunakan  metode decision tree untuk mendeteksi botnet dalam jaringan DNS.

## III. M ETODOLOGI P ENELITIAN

## A. Metode Penelitian
Penelitian  ini  mengusulkan  metode  untuk  mendeteksi botnet  menggunakan  algoritma  pembelajaran  mesin. Algoritma  pembelajaran  mesin  menggunakan atribut/fitur pada  data  untuk  menentukan  apakah  termasuk  serangan botnet  atau  tidak.  Diagram  metode  penelitian  yang  kami usulkan ditunjukkan pada Gambar.  1.
Secara garis besar metode penelitian ini dibagi menjadi 4 tahap : pengumpulan data, pre-processing , klasifikasi dan evaluasi. Pada tahap pengumpulan data dilakukan dengan cara simulasi secara virtual. Hasil dari simulasi berupa file dengan  ekstensi  .pcap.  Lalu  file  tersebut  dikonversi menggunakan BRIM Log agar dapat proses selanjutnya.
Tahap kedua, pre-processing dilakukan beberapa proses untuk mengolah data sebelum masuk ke tahap klasifikasi. Proses yang dilakukan adalah pelabelan data, pembersihan data,  seleksi  fitur,  penanganan missing  value ,  ekstraksi fitur, normalisasi data dan penyeimbangan data.
Tahap ketiga adalah klasifikasi menggunakan algoritma pembelajaran  mesin.  Metode  pembelajaran  mesin  yang digunakan  adalah Decision  Tree .  Pada  tahap  ini menghasilkan  model  untuk  deteksi.  Pada  tahap  terakhir
dilakukan  pengujian  dan  evaluasi  terhadap  model  yang terbentuk.
Gambar.  1 Metode yang diusulkan

## B. Arsitektur dan Lingkungan Sistem
Penelitian ini dilakukan simulasi menggunakan virtualisasi. Simulasi dilakukukan untuk mendapatkan data lalu lintas jaringan normal dan serangan bontet. Kami melakukan 2 skenario simulasi. Skenario 1 yaitu simulasi serangan botnet terhadap DNS Server. Sedangkan skenario 2 yaitu simulasi  lalu lintas jaringan normal terhadap DNS
Server. Virtualisasi dilakukan menggunakan Virtual Machine (VM) menggunakan 1 buah komputer. Skenario 1 dilakukan untuk mendapatkan data lalu lintas jaringan serangan botnet terhadap DNS Server. Arsitektur simulasi serangan botnet terhadap DNS Server ditunjukkan pada Gambar.  2.
Dalam simulasi ini terdapat 4 VM yang telah terpasang Botnet Generator . Spesifikasi VM yang digunakan sebagai komputer yang terinfeksi dapat dilihat pada
TABEL  I. Sedangkan spesifikasi VM untuk DNS Server ditunjukkan pada TABEL  II.
Gambar.  2 Arsitektur simulasi serangan botnet terhadap dns server
TABEL  I
S PESIFIKASI VM I NFECTED M ACHINE Komponen Spesifikasi CPU 11th Gen Intel(R) Core(TM) i5- 1135G7 @ 2.40GHz   2.42 GHz Sistem Operasi Host Windows 11 Sistem Operasi VM Xubuntu Memori Host 16 GB Memori VM 1 GB
TABEL  II S PESIFIKASI DAN K ONFIGURASI VM DNS S ERVER Komponen Spesifikasi CPU 11th Gen Intel(R) Core(TM) i5- 1135G7 @ 2.40GHz   2.42 GHz Sistem Operasi Host Windows 11 Sistem Operasi VM Xubuntu Memori Host 16 GB Memori VM 2GB IP Static 192.168.80.88
Gambar.  3 Arsitektur simulasi lalu lintas jaringan terhadap dns server
Skenario 2 dilakukan untuk mendapatkan data lalu lintas jaringan normal pada DNS Server. Arsitektur simulasi lalu lintas  jaringan  normal  terhadap  DNS  Server  ditunjukkan pada Gambar.  3. Arsitektur pada simulasi ini terdiri dari 1 buah VM sebagai host dan 1 buah VM sebagai DNS Server. Spesifikasi VM host ditunjukkan pada TABEL  III.
TABEL  III S PESSIFIKASI VM H OST Komponen Spesifikasi CPU 11th Gen Intel(R) Core(TM) i5- 1135G7 @ 2.40GHz   2.42 GHz Sistem Operasi Host Windows 11 Sistem Operasi VM Windows 7 Memori Host 16 GB Memori VM 2 GB

## C. Kakas Bantu yang Digunakan
Pada penelitian ini menggunakan beberapa kakas bantu untuk membantu proses implementasi , diantaranya:
1)  Botnet  Generator :  digunakan  untuk  simulasi  yang bertindak  sebagai  botnet  untuk  melakukan  serangan  ke DNS  Server.  Pada  penelitian  ini  menggunakan  8  eksploit kit  yaitu  : Zyklon,  Blue,  Liphyra,  Gaudox,  Blackout , Citadel , Black Energy dan Zeus.
2)  Oracle VM VirtualBox: digunakan untuk virtualisasi sumber daya seperti C&C Server, DNS server dan host.
3)  Wireshark: digunakan  dalam  perekaman  data  lalu lintas  jaringan  yang  disimulasikan.  Perekaman  lalu  lintas jaringan dilakukan di DNS Server.
4)  Brim: digunakan  dalam  proses  mengubah  file  lalu lintas  jaringan  dengan  ekstensi  .pcap  menjadi  .csv  agar dapat diproses ke tahap selanjutnya.

## D. Teknik Pengumpulan Data
Pengumpulan  data  dilakukan  dengan  simulasi  secara virtualiasasi. Dalam penelitian ini, kami melakukan 3 kali simulasi. Masing-masing simulasi dilakukan selama 3 jam. Simulasi pertama dan kedua menggunakan arsitektur yang ditunjukkan pada Gambar.  2. Simulasi ini bertujuan untuk mendapatkan  data  lalu  lintas  jaringan  serangan  botnet terhadap  DNS  Server.  Simulasi  pertama  dan  kedua menggunakan 4 eksploit kit yang berbeda.
Sedangkan  simulasi  ketiga  menggunakan  arsitektur yang  ditunjukkan  pada  Gambar.    3.  Simulasi  ketiga dilakukan  dengan  tujuan  untuk  mendapatkan  data  lalu lintas jaringan normal dari host ke DNS Server.
TABEL  IV K ONFIGURASI IP S TATIC VM B OTNET G ENERATOR No Botnet Generator IP Static 1 Zyklon 192.168.50.14 2 Blue 192.168.50.15 3 Liphyra 192.168.50.16 4 Gaudox 192.168.50.17 5 Blackout 192.168.50.18 6 Citadel 192.168.50.30 7 Black Energy 192.168.50.31 9 Zeus 192.168.50.32 Pengumpulan data dilakukan dengan simulasi menggunakan  virtualisasi.  Setiap botnet  generator menjalankan  perintah  untuk  mengirimkan  serangan  ke DNS Server. Jumlah traffic jaringan yang dikirimkan oleh botnet generator sangat bervariasi. Rata-rata setiap botnet generator mengirimkan paket lalu lintas jaringan sebanyak 98.799 request per jam. Pada DNS lalu lintas jaringan akan direkam selama simulasi. Hasil rekaman lalu lintas jaringan
tersebut berupa file dengan ekstensi .pcap. File pcap dibaca menggunakan  brim  dan  dikonversi  menjadi  file  .csv.  File tersebut yang digunakan ke dalam tahapan selanjutnya.

## E. Metode Pre-processing
Proses pre-processing yang dilakukan adalah pelabelan data,  pembersihan  data,  seleksi  fitur,  penanganan missing value , ekstraksi fitur, normalisasi data dan penyeimbangan data. Tahap pelabelan data dilakukan untuk melabeli data. Data  lalu  lintas  jaringan  yang  berasal  dari  skenario  1 diberikan  kelas  label  “botnet”.  Sedangkan  data  yang berasal dari skenario 2 diberikan kelas label “normal”.
Proses pembersihan data bertujuan untuk mengidentifikasi dan mengatasi data yang tidak valid, tidak lengkap,  atau  tidak  relevan  dalam  dataset.  Proses  seleksi fitur  bertujuan  untuk  mengurangi  dimensi  data  dan meningkatkan efisiensi serta interpretabilitas model.
Penanganan missing  value melibatkan  identifikasi  dan penggantian  nilai  yang  hilang  dalam  dataset.  Penanganan missing  value dapat  dilakukan  dengan  mengisi  nilai  yang hilang dengan nilai yang sesuai atau menghapus baris atau kolom yang mengandung data yang hilang.
Proses  ekstraksi  fitur  yang  dilakukan  yaitu  mengubah atau  menggabungkan  fitur-fitur  yang  ada  menjadi  fitur- fitur  baru  yang  lebih  informatif  atau  representatif.  Proses normalisasi  data  dilakukan  dengan  mengubah  skala  data sehingga setiap fitur memiliki skala yang serupa atau dalam rentang  tertentu.  Proses  ini  membantu  mencegah  fitur dengan  skala  yang  besar  mendominasi  pengaruh  model. Proses penyeimbangan data dilakukan untuk menyeimbangkan  jumlah  sampel  antara  kelas  positif  dan negatif. Penyeimbangan data bertujuan untuk menghasilkan distribusi kelas yang lebih seimbang dengan cara oversampling (menambahkan  sampel  dari  kelas minoritas), undersampling (mengurangi sampel dari kelas mayoritas).

## F. Metode Klasifikasi
Pada penelitian deteksi botnet dilakukan dengan metode klasifikasi supervised .  Algoritma  yang  kami  gunakan adalah Decision  Tree .  Algoritma  tersebut  kami  gunakan karena decision tree bekerja dengan algoritma tree , dimana membagi  data  yang  besar  mejadi  sub-data.  Selain  itu algoritma decision tree lebih cepat karena proses dilakukan secara rekursif.

## G. Metode Pengujian & Evaluasi
Metode  pengujian  pada  penelitian  ini  adalah K-Fold Cross Validation . Dengan metode ini, pengujian dilakukan sebanyak k iterasi, matrik evaluasi dari pengujian ini akan dirata-rata.  Matrik  evaluasi  yang  diukur  dalam  penelitian ini adalah Akurasi, Precision , Recall , F1-Score . Selain itu kami  akan  mengevaluasi  dengan  confusion  matrix  untuk mengorganisir
dan menghitung hasil prediksi dari model klasifikasi dalam empat kategori: True Positives (TP), True Negative (TN), False Positives (FP) dan False Negatives (FN).

## IV. H ASIL DAN P EMBAHASAN
TABEL  V F ITUR D ATASET No Kolom/Fitur Deskripsi 1. _path Jenis Koneksi 2. ts waktu 3. uid id 4. id.orig_h IP/MAC pengirim 5. id.orig_p Port pengirim 6. id.resp_h IP/MAC penerima 7. id.resp_p Port penerima 8. proto Protokol komunikasi 9 service Jenis service paket 10 duration Durasi koneksi 11 orig_bytes Jumlah data ( byte ) yang dikirimkan oleh pengirim 12 resp_bytes
Jumlah data ( byte ) yang dikirimkan
diterima oleh penerima 13 conn_state State koneksi 14 local_orig State apakah pengirim dari jaringan lokal atau tidak 15 local_resp State apakah penerima dari jaringan lokal atau tidak 16 missed_bytes Jumlah bytes yang hilang 17 history Histori state koneksi 18 origin_packets Jumlah paket dari pengirim 19 origin_total_bytes Total bytes yang dikirim oleh pengirim 20 response_packets Jumlah paket dari penerima 21 response_total_bytes Total bytes yang diterima oleh
responden 22 tunnel_parrents Terisi jika merupakan tunnel 23 Geo.orig.country_code Kode negara pengirim 24 Geo.orig.region Kode region pengirim 25 Geo.orig.city Kode kota pengirim 26 Geo.orig.latitude Titik latitude pengirim 27 Geo.orig.longitude Titik longitude pengirim
28 geo.resp.country_code
Kode negara penerima 29 Geo.resp.region Kode region penerima 30 Geo.resp.city Kode kota penerima 31 Geo.resp.latitude Titik latitude penerima 32 Geo.resp.longitude Titik longitude penerima 33 community_id Community string 34 Label Kelas/label

## A. Tahap Pengumpulan Data
Pada penelitian ini, pengumpulan data dilakukan dengan simulasi.  Dari  hasil  simulasi  didapatkan  data  yang  terdiri dari 2.371.184 data dengan kelas botnet dan 110.573 data dengan  kelas  normal.  Ekplorasi  data  kami  lakukan  untuk lebih memahami dan mendalami dataset yang didapatkan. Berdasarkan  ekplorasi  data,  kami  mengetahui  bahwa dataset yang didapatkan memiliki 34 kolom/fitur termasuk label. Setiap kolom memilik tipe data yang berbeda-beda. Deskripsi kolom/fitur ditunjukkan pada TABEL  V.

## B. Tahap Pre-processing
Tahap pre-processing diawali  dengan  melabeli  data menjadi  2  kelas  botnet  dan  normal  berdasarkan  simulasi yang  dilakukan.  Pada  proses  pembersihan  data,  data diurutkan  berdasarkan  timestamp.  Hal  tersebut  berguna untuk proses penanganan missing value. Selain itu kolom duration yang berbentuk string dilakukan proses konversi menjadi float.
Proses  seleksi  fitur  dilakukan  dengan  menghapus beberapa  kolom  yang  tidak  digunakan  dalam  proses pembelajaran. Proses penanganan missing value dilakukan dengan  menghapus  data  yang  memiliki  data duration kosong.  Selain  itu  kami  mengisi  data  kosong  (null)  pada kolom service , orig_bytes, resp_bytes, dan history dengan nilai  data  dari  baris  sebelumnya.  Dalam  hal  ini  metode imputation  yang  dilakukan  dengan  mengisikan  nilai  dari nilai data di baris sebelumnya.
Ekstraksi fitur dilakukan untuk mendapatkan fitur baru dari fitur-fitur awal yang didapatkan sebelumnya. Formula yang digunakan dalam ekstraksi fitur baru ditunjukkan pada TABEL    VII.  Fitur-fitur  baru  yang  didapatkan  akan digunakan  pada  proses  pembelajaran  mesin.  Dari  hasil ekstraksi  fitur,  didapatkan  12  fitur  baru  yang  akan digunakan untuk proses selanjurnya.
TABEL  VI D AFTAR F ITUR YANG D IHILANGKAN
No Nama Kolom
1. geo.orig.country_code 2. geo.orig.region 3. geo.orig.city 4. geo.resp.latitude 5. geo.resp.longitude 6. geo.orig.latitude 7. tunnel_parents 8. geo.orig.longitude 9. geo.resp.country_code 10. geo.resp.region 11. geo.resp.city 12. local_orig
13. local_resp
TABEL  VII E KTRAKSI F ITUR
No Kolom Deskripsi Rumus 1 PX Jumlah total paket yang ditransmisikan origin_packets + response_packets 2 NumNullPa cket Jumlah paket yang null (paket dengan payload size 0) Jika (origin_packets + response_packets = 0) maka NumNullPacket = 1, selain itu maka NumNullPacket = 0 3 NSPX Jumlah paket kecil
yang ditransmisikan (ukuran antara 63 hingga 400 bytes ) Jika ( origin_packets + response_packets) >=
63 && (origin_packets + response_packets) Akurasi = (TP + TN ) / (TP+FP+FN+TN) (1) Precission = (TP) / (TP+FP) (2) Recall = (TP) / (TP + FN) (3) F1-Score =  2*( Recall*Precission )  /  ( Recall + Precission ) (4)
No Kolom Deskripsi Rumus <= 400, maka nspx = 1, selain itu nspx = 0 4 PSPX Persentase paket kecil yang ditransmisikan NSPX / PX 5 IO Rasio antara paket yang masuk dengan paket yang keluar Origin_packets / response_packets 6 Reconnecti on Jumlah reconnection Jika history mengandung string ‘Sr%’, maka Reconnection = 1 7 FPSX ukuran packet pertama Origin_total_bytes / origin_packets 8 TBTX Jumlah paket ( bytes ) Origin_total_bytes + response_total_bytes 9 APLX Rata-rata ukuran paket per flow (Origin_total_bytes + response_total_bytes) / total_packet 10 BS Jumlah bit per detik ((origin_total_bytes + response_total_bytes)x 8) / duration 11 PS Jumlah paket per detik (origin_packets + response_packets) / duration 12 PPS Jumlah total paket per detik (Origin_packets + response_packets) / duration
Metode normalisasi data yang digunakan pada penelitian ini  adalah min-max  scaller .  Normalisasi  dilakukan  agar semua  data  memiliki range yang  sama  yaitu  antara  0 hingga 1. Pada tahap ini sudah tidak terdapat data null atau data kosong. Dalam hal ini karena sudah dilakukan proses imputation/ pengisian data pada tahapan sebelumnya.
Proses  penyeimbangan  data  diambil  data  dari  kelas botnet  dan  normal  masing-masing  sejumlah  97.368  data. Proses penyeimbangan data dilakukan untuk menyeimbangkan  jumlah  sampel  antara  kelas  botnet  dan normal.

## C. Tahap Klasifikasi
Pada penelitian ini menggunakan decision tree sebagai metode klasifikasi. Jumlah dataset yang digunakan adalah 194.736  dari  kelas  botnet  dan  normal.  Ilustrasi  distribusi dataset ditunjukkan pada Gambar.  4. Proses pelatihan pada pembelajaran mesin menggunakan jumlah data yang sama dari kedua kelas. Proses pengujian juga menggunakan data yang  seimbang  dari  kedua  kelas.  Ilustrasi  distribusi  data pada  proses  pelatihan  dan  pengujian  ditunjukkan  pada Gambar.    5.  Proses  pembelajaran  mesin  dilakukan  5  kali karena menggunakan k-fold cross validation , dengan nilai k = 5.
Gambar.  4 Distribusi dataset
Gambar.  5 Distribusi data pada proses pelatihan dan pengujian
TABEL  VIII D ISTRIBUSI D ATA DAN A KURASI S ETIAP I TERASI iterasi Data training Data Testing Akurasi (%) botnet normal botnet normal 1 77894 77894 19474 19474 95 2 77894 77895 19474 19473 95 3 77894 77895 19474 19473 95 4 77895 77894 19473 19474 95 5 77895 77894 19473 19474 95

## D. Tahap Evaluasi
Pada penelitian ini, evaluasi dilakukan sebanyak 5 kali. Evaluasi  yang  dilakukan  di  penelitian  ini  adalah  dengan menganalisa  nilai  Akurasi, Precision , Recall , F1-Score . Selain itu juga dilakukan analisa menggunakan confusion matriks . Nilai akurasi pada setiap iterasi dapat dilihat pada TABEL  VIII. Nilai akurasi pada setiap iterasi adalah 95%.
TABEL  IX H ASIL E VALUASI D ETEKSI T ERHADAP K ELAS B OTNET Iterasi Precision (%) Recall (%) F1-Score (%) 1 97 92 95 2 97 93 95 3 97 93 95 4 97 93 95 5 97 92 95 Rata-rata 97 92.6 95
Analisa  nilai precision , recall dan  F1  terhadap  kelas botnet  dapat  dilihat  pada  TABEL    IX.  Berdasarkan  tabel tersebut dapat dilihat bahwa rata-rata nilai precision adalah 97%, rata-rata nilai recall adalah 92.6%, rata-rata nilai F1- Score 95%.  Dari  tabel  tersebut  dapat  disimpulkan  bahwa metode  yang  diusulkan  mampu  mendeteksi  kelas  botnet dengan baik.
TABEL  X H ASIL E VALUASI D ETEKSI TERHADAP K ELAS N ORMAL Iterasi   Precision (%) Recall (%) F1-Score (%) 1 93 97 95 2 93 97 95 3 93 97 95 4 93 97 95 5 92 98 95 Rata- rata 92.8 97.2 95
Analisa  nilai precision , recall dan  F1  terhadap  kelas normal  dapat  dilihat  pada  TABEL    X.  Berdasarkan  tabel tersebut dapat dilihat bahwa rata-rata nilai precision adalah 92.8%,  rata-rata  nilai recall adalah  97.2%,  rata-rata  nilai F1-Score 95%.  Dari  tabel  tersebut  dapat  disimpulkan
bahwa  metode  yang  diusulkan  mampu  mendeteksi  kelas normal dengan baik.
Gambar.  6 Confusion matriks iterasi 1
Evaluasi  menggunakan confusion  matriks dilakukan pada  setiap  iterasi.  Hasil confusion  matriks pada  iterasi  1 ditunjukkan  pada  Gambar.    6.  Berdasarkan confusion matriks tersebut  dapat  dilihat  bahwa  model  yang dikembangkan menggunakan decision tree dapat memprediksi  data  botnet  dengan  benar  (TP)  sebanyak 17.977  dan  data  botnet  yang  terprediksi  normal  (FN) sebanyak  1.477  data.  Sedangkan  data  lalu  lintas  normal yang  terprediksi  normal  dengan  benar  (FP)  sebanyak 18.980 dan yang terprediksi salah (FN) sebanyak 494 data. Sehingga  pada  iterasi  1  didapatkan  nilai precision 93%, recall 97% dan F1-Score 95%. Hasil confusion matriks pada iterasi 2 ditunjukkan pada Gambar.  7. Berdasarkan confusion matriks tersebut dapat dilihat  bahwa  model  yang  dikembangkan  menggunakan decision tree dapat memprediksi data botnet dengan benar (TP)  sebanyak  18.032  dan  data  botnet  yang  terprediksi normal  (FN)  sebanyak  1.442  data.  Sedangkan  data  lalu lintas  normal  yang  terprediksi  normal  dengan  benar  (FP) sebanyak 18.963 dan yang terprediksi salah (FN) sebanyak 510 data. Sehingga pada iterasi 1 didapatkan nilai precision 93%, recall 97% dan F1-Score 95%.
Gambar.  7 Confusion matriks iterasi 2
Hasil confusion matriks pada iterasi 3 ditunjukkan pada Gambar.  8. Berdasarkan confusion matriks tersebut dapat dilihat  bahwa  model  yang  dikembangkan  menggunakan decision tree dapat memprediksi data botnet dengan benar (TP)  sebanyak  18.046  dan  data  botnet  yang  terprediksi normal  (FN)  sebanyak  1.428  data.  Sedangkan  data  lalu lintas  normal  yang  terprediksi  normal  dengan  benar  (FP) sebanyak 18.936 dan yang terprediksi salah (FN) sebanyak 537 data. Sehingga pada iterasi 1 didapatkan nilai precision 93%, recall 97% dan F1-Score 95%. Hasil confusion matriks pada iterasi 4 ditunjukkan pada Gambar.  9. Berdasarkan confusion matriks tersebut dapat dilihat  bahwa  model  yang  dikembangkan  menggunakan decision tree dapat memprediksi data botnet dengan benar (TP)  sebanyak  18.038  dan  data  botnet  yang  terprediksi normal  (FN)  sebanyak  1.435  data.  Sedangkan  data  lalu lintas  normal  yang  terprediksi  normal  dengan  benar  (FP) sebanyak 18.947 dan yang terprediksi salah (FN) sebanyak 527 data. Sehingga pada iterasi 1 didapatkan nilai precision 93%, recall 97% dan F1-Score 95%.
Gambar.  8 Confusion matriks iterasi 3
Hasil confusion matriks pada iterasi 5 ditunjukkan pada Gambar.  10. Berdasarkan confusion matriks tersebut dapat dilihat  bahwa  model  yang  dikembangkan  menggunakan decision tree dapat memprediksi data botnet dengan benar (TP)  sebanyak  17.927  dan  data  botnet  yang  terprediksi normal  (FN)  sebanyak  1.546  data.  Sedangkan  data  lalu lintas  normal  yang  terprediksi  normal  dengan  benar  (FP) sebanyak 18.989 dan yang terprediksi salah (FN) sebanyak 485 data. Sehingga pada iterasi 1 didapatkan nilai precision 92%, recall 98% dan F1-Score 95%.
Gambar.  9 Confusion matriks iterasi 4
Analisa berdasarkan nilai confusion matriks pada setiap percobaan  ditunjukkan  pada  TABEL    XI.  Berdasarkan  5 kali  percobaan  model  dapat  mendeteksi  rata-rata  18.008 data botnet dengan benar dan 18.963 data lalu lintas normal dengan benar. Sedangkan rata-rata data lalu lintas normal yang terdeteksi botnet sebanyak 511 data. Data botnet yang terdeteksi normal rata-rata 1.466 data.

## Gambar.  10 Confusion matriks iterasi 5
Model  dapat  mendeteksi  data  botnet  dengan  benar terbanyak  pada  iterasi  3,  dengan  nilai  18.046  data. Sedangkan mendeteksi data botnet dengan benar terendah pada iterasi 5, dengan nilai 17.927 data. Hal ini dilihat dari nilai TP pada TABEL  XI.
Model dapat mendeteksi data lalu lintas normal dengan benar  terbanyak  pada  iterasi  5,  dengan  nilai  18.989  data. Sedangkan  mendeteksi  data  lalu  lintas  normal  dengan benar terendah pada iterasi 3, dengan nilai 18.936 data. Hal ini dilihat dari nilai TN pada TABEL  XI..
Model  yang  dikembangkan  juga  memiliki  kesalahan dalam  melakukan  deteksi.  Model  mendeteksi  data  lalu lintas normal yang sebagai botnet terbanyak pada iterasi 3 yaitu 537 data. Sedangkan kesalahan terendah pada iterasi ke 5 yaitu 485 data. Hal ini dapat dilihat berdasarkan nilai FN pada TABEL  XI..
Jumlah data botnet yang terdeteksi normal paling banyak pada iterasi ke 5 yaitu 1.546 data. Sedangkan jumlah data botnet yang terdeteksi normal paling sedikit pada iterasi ke
3 yaitu 1.428 data. Hal tersebut dilhat berdasarkan nilai FP pada TABEL  XI.
TABEL XI A NALISA N ILAI C ONFUSION M ATRIKS 5 P ERCOBAAN Iterasi TP FP FN TN 1 17.997 1.477 494 18.980 2 18.032 1.442 510 18.963 3 18.046 1.428 537 18.936 4 18.038 1.435 527 18.947 5 17.927 1.546 485 18.989 Rata-rata 18.008 1.466 511 18.963

## V. K ESIMPULAN
Simulasi  serangan  botnet  dapat  dilakukan  dengan virtualisasi.  Pada  scenario  simulasi  1  menghasilkan  data lalu  lintas  jaringan  yang  dibangkitkan  oleh  botnet generator.  Pada  scenario  2  menghasilkan  data  lalu  lintas jaringan  normal  dari  host  ke  DNS  Server.  Melalui virtualisasi  berhasil  mendapatkan  data  lalu  lintas  normal dan  serangan.  Data  tersebut  digunakan  untuk  menjadi dataset  pada  model  prediksi.  Model  deteksi  botnet  dapat dikembangkan  menggunakan  metode decision  tree .  Hasil pengujian  model  menunjukkan  bahwa  model  mampu mendeteksi  dengan  baik.  Model  dapat  mendeteksi  botnet dengan  akurasi  95%.  Model  memiliki  rata-rata  nilai precision  97%,  recall  92.6%  dan  F1-score  95%.  Kami merencanakan  untuk  melakukan  penelitian  deteksi  botnet pada jaringan DNS secara realtime .
U CAPAN T ERIMA K ASIH / A CKNOWLEDGMENT
Terima  kasih  kepada  Lembaga  Penelitian  dan Pengabdian Masyarakat (LPPM) IT Telkom Surabaya yang telah memberikan bantuan biaya penelitian dan publikasi. Serta  kepada  mahasiswa  tim  penelitian  Program  Studi Informatika IT Telkom Surabaya.
R EFERENSI
[1] S.  Adiwal,  B.  Rajendran,  P.  S.  D.,  dan  S.  D.  Sudarsan,  “DNS Intrusion Detection (DID) — A SNORT-based solution to detect DNS Amplification and DNS Tunneling attacks,” Franklin Open , vol. 2, hlm. 100010, Mar 2023, doi: 10.1016/j.fraope.2023.100010.
[2] X. Liao, J. Xu, Q. Zhang, dan Z. Li, “A Comprehensive Study of DNS Operational Issues by Mining DNS Forums,” IEEE Access , vol. 10, hlm. 110807–110820, 2022, doi: 10.1109/ACCESS.2022.3215753.
[3] A. A. Zare, H. & Esra’, A. Zare, A. A. Z. Hudaib, P. Esra’, dan A. Z.  Hudaib,  “DNS  Advanced  Attacks  and  Analysis,”  2014. [Daring]. Tersedia pada: www.xyz.com
[4] M. Singh, M. Singh, dan S. Kaur, “Issues and challenges in DNS based botnet detection: A  survey,” Comput  Secur ,  vol.  86,  hlm. 28–52, 2019, doi: https://doi.org/10.1016/j.cose.2019.05.019.
[5] S.  S.  C. Silva,  R.  M.  P.  Silva,  R.  C.  G.  Pinto,  dan  R.  M.  Salles, “Botnets:  A  survey,” Computer  Networks ,  vol.  57,  no.  2,  hlm. 378–403, 2013, doi: https://doi.org/10.1016/j.comnet.2012.07.021.
[6] G.  Kirubavathi  dan  R.  Anitha,  “Botnet  detection  via  mining  of traffic flow characteristics,” Computers & Electrical Engineering , vol. 50, hlm. 91–101, 2016, doi:
https://doi.org/10.1016/j.compeleceng.2016.01.012.
[7] R. Sommese dkk. , “Investigating the impact of DDoS attacks on DNS infrastructure,” dalam Proceedings of the ACM SIGCOMM Internet  Measurement  Conference,  IMC ,  Association  for
Computing Machinery, Okt 2022, hlm. 51–64. doi: 10.1145/3517745.3561458.
[8] S.  Miller  dan  C.  Busby-Earle,  “The  role  of  machine  learning  in botnet detection,” dalam 2016 11th International Conference for
Internet  Technology  and  Secured  Transactions  (ICITST) ,  2016, hlm. 359–364. doi: 10.1109/ICITST.2016.7856730.
[9] D. Zhao dkk. , “Botnet detection based on traffic behavior analysis and flow intervals,” Comput Secur , vol. 39, no. PARTA, hlm. 2– 16, 2013, doi: 10.1016/j.cose.2013.04.007.
[10]  M. Stevanovic dan J. M. Pedersen, “An analysis of network traffic classification  for  botnet  detection,”  dalam 2015  International
Conference on Cyber Situational Awareness, Data Analytics and Assessment (CyberSA) , 2015, hlm. 1–8.
doi: 10.1109/CyberSA.2015.7361120.
[11]  M. Stevanovic, J. M. Pedersen, A. D’Alconzo, S. Ruehrup, dan A. Berger, “On the ground truth problem of malicious DNS traffic analysis,” Comput  Secur ,  vol.  55,  hlm.  142–158,  2015,  doi: https://doi.org/10.1016/j.cose.2015.09.004.
[12]  M.  Alshamkhany,  W.  Alshamkhany,  M.  Mansour,  M.  Khan,  S. Dhou,  dan  F.  Aloul,  “Botnet  Attack  Detection  using  Machine Learning,”  dalam Proceedings  of  the  2020  14th  International Conference on Innovations in Information Technology, IIT 2020 , Institute  of Electrical  and  Electronics Engineers  Inc.,  Nov  2020, hlm. 203–208. doi: 10.1109/IIT50501.2020.9299061.
[13]  A. Feizollah, N. Anuar, R. Salleh, F. Amalina, R. Ma’arof, dan S. Band, “A Study Of Machine Learning Classifiers For Anomaly- Based Mobile Botnet Detection,” Malaysian Journal of Computer Science , vol. 26, hlm. 251–265, Sep 2013.
[14]  H.  At  Thooriqoh,  M.  H.  Naufal  Azzmi,  Y.  Ari  Tofan,  dan  A. Mazharuddin  Shiddiqi,  “MALICIOUS  TRAFFIC  DETECTION IN  DNS  INFRASTRUCTURE  USING  DECISION  TREE ALGORITHM.”
[15]  S. Y. Yerima dan M. K. Alzaylaee, “Mobile Botnet Detection: A Deep Learning Approach Using Convolutional Neural Networks,” dalam 2020  International  Conference  on  Cyber  Situational Awareness,  Data  Analytics  and  Assessment,  Cyber  SA  2020 , Institute  of  Electrical  and  Electronics  Engineers  Inc.,  Jun  2020. doi: 10.1109/CyberSA49311.2020.9139664.
[16]  K.  Monika  Dian  Pertiwi,  R.  Fenaldo  Maulana,  dan  A.  Yusuf Wicaksono, “JEPIN (Jurnal Edukasi dan Penelitian Informatika) Implementasi  dan  Analisa  Performa  Berbagai  Platform  Web server pada Lingkungan Multicore”.
[17]  S.  Saad dkk. ,  “Detecting  P2P  botnets  through  network  behavior analysis  and  machine  learning,”  dalam 2011  9th  Annual International  Conference  on  Privacy,  Security  and  Trust,  PST 2011 , 2011, hlm. 174–180. doi: 10.1109/PST.2011.5971980.
[18]  M.  Wielogorska  dan  D.  O’brien,  “DNS  Traffic  Analysis  for Botnet Detection.”
[19]  A.  Longheu,  V.  Carchiolo,  G.  Mangioni,  dan  M.  Malgeri, “Virtualization  for  Effective  Risk-Free  Network  Security Assessment,” International  Journal  of  Online  Engineering (iJOE) , vol. 10, hlm. 21, Agu 2014, doi: 10.3991/ijoe.v10i5.3106.
[20]  K.  Monika,  D.  Pertiwi,  R.  Fenaldo  Maulana,  dan  A.  Y. Wicaksono,  “Rancang  Bangun  Sistem  Otentikasi  Terpusat Berbasiskan Model Single Sign On di IT Telkom Surabaya”.
[21]  J. Markey, “Using Decision Tree Analysis for Intrusion Detection: A How-To Guide,” 2021.
[22]  Vijayaraj, S. M, R. M, U. Vijayaraj, D. T. Kamaleshwar, dan D. Rajalakshmi,  “Decision  Trees  to  Detect  Malware  in  a  Cloud Computing Environment,” dalam 2022 International Conference on Electronic Systems and Intelligent Computing (ICESIC) , Apr 2022, hlm. 299–303. doi: 10.1109/ICESIC53714.2022.9783547.