Pemanfaatan Machine Learning Untuk NIDS

MOHAMAD FRANANDA ADIEZWARA RAMADHAN

Sosial Media


0 orang menyukai ini
Suka

Summary

Ringkasan Diri: 

Halo, saya adalah Mohamad Frananda, seorang profesional di bidang cyber security dengan 2 tahun pengalaman magang di bidang tersebut. Saya percaya bahwa setiap masalah adalah peluang untuk belajar dan berkembang. Saya memiliki gairah dalam bidang cyber security dan selalu bersemangat dalam mengeksplorasi solusi kreatif untuk tantangan yang dihadapi. Dengan kombinasi keterampilan teknis dan pemikiran inovatif, saya bertujuan untuk memberikan dampak positif melalui pekerjaan saya.

Skill yang Dimiliki:

Cyber Security :

Saya memiliki keterampilan yang kuat dalam bidang keamanan cyber, dengan fokus pada perlindungan sistem dan data dari ancaman dan serangan yang berpotensi merugikan. Beberapa keterampilan yang saya miliki di bidang keamanan cyber meliputi

  1. Penetration Testing: Saya memiliki pengalaman dalam melakukan uji penetrasi pada sistem dan jaringan untuk mengidentifikasi kerentanan potensial dan menguji keamanan mereka. Saya dapat menggunakan berbagai alat dan teknik untuk mengevaluasi keamanan infrastruktur IT dan memberikan rekomendasi perbaikan yang relevan.
  2. Keamanan Jaringan: Saya memiliki pemahaman yang kuat tentang konsep dan praktik keamanan jaringan. Saya mampu merancang, mengonfigurasi, dan memantau sistem firewall, IPS/IDS, dan perangkat keamanan jaringan lainnya untuk melindungi jaringan dari serangan dan ancaman.
  3. Analisis Malware: Saya memiliki pengetahuan tentang jenis-jenis malware dan metode yang digunakan oleh penyerang. Saya mampu melakukan analisis malware untuk mengidentifikasi karakteristik dan perilaku jahat, serta mengembangkan tindakan mitigasi untuk melawan ancaman tersebut.

Nama Proyek: Pemanfaatan Machine Learning untuk Network Intrusion Detection System

Deskripsi Proyek: Proyek ini bertujuan untuk mengembangkan sistem pendeteksi intrusi jaringan (Network Intrusion Detection System) yang menggunakan teknik Machine Learning. Konteksnya adalah meningkatnya ancaman keamanan dalam lingkungan jaringan, dan kami ingin memanfaatkan kecerdasan buatan untuk mendeteksi serangan yang mungkin terjadi.

Sebagai anggota tim proyek, peran saya adalah sebagai ahli keamanan jaringan dan pakar dalam domain Machine Learning. Saya bertanggung jawab untuk merancang dan mengimplementasikan model Machine Learning yang dapat menganalisis lalu lintas jaringan dan mengenali pola yang mencurigakan atau serangan potensial.

Kontribusi saya dalam proyek ini meliputi:

  1. Pengumpulan dan analisis data: Saya terlibat dalam proses pengumpulan dan analisis data lalu lintas jaringan yang tercatat untuk membangun dataset pelatihan yang berkualitas. Saya menggunakan pengetahuan keamanan jaringan saya untuk memilih fitur-fitur yang relevan dan menghilangkan anomali yang tidak diinginkan.
  2. Pemodelan Machine Learning: Saya merancang dan melatih model Machine Learning untuk mengklasifikasikan lalu lintas jaringan sebagai normal atau mencurigakan. Saya menggunakan algoritma-algoritma seperti Support Vector Machines (SVM) dan Random Forests untuk membangun model yang akurat dan responsif terhadap serangan baru.
  3. Validasi dan Evaluasi: Saya bertanggung jawab untuk menguji dan mengevaluasi kinerja sistem pendeteksi intrusi yang dikembangkan. Saya melakukan validasi lintas validasi dengan menggunakan dataset yang independen dan mengukur akurasi, kepekaan, dan spesifisitas model.

Hasil dari proyek ini adalah pengembangan sistem pendeteksi intrusi jaringan yang dapat mendeteksi dan mengenali serangan dengan tingkat akurasi yang tinggi. Sistem ini dapat membantu organisasi dalam melindungi jaringan mereka dari serangan dan memberikan lapisan tambahan keamanan yang penting.

Informasi Kontak:

Nama:       Mohamad Frananda
Alamat:     Sukabumi
Email:        mohamadfranandaar@gmail.com
Telepon:    082255649920

Description

DASAR TEORI :

Pada studi kasus yang dibuat disini tugas saya fokus ke melakukan penyerangan atau Penetration testing terhadap web server sendiri (ip address localhost dan ip address server kali linux) menggunakan teknik nmap dan ddos ,menangkap packet data, Feature Extraction (Konversi Packet Data ke Dalam CSV), ada beberapa tools yang akan digunakan pada studi kasus ini diantaranya yaitu :

  • NMAP adalah singkatan dari Network Mapper yang merupakan sebuah tool atau alat yang bersifat open source. Alat ini hanya digunakan secara khusus untuk eksplorasi jaringan serta melakukan audit terhadap keamanan dari jaringan atau proses awal untuk melakukan information gathering
  • DDOS attack atau Distributed Denial of Service merupakan serangan cyber dengan cara mengirimkan fake traffic atau lalu lintas palsu ke suatu sistem atau server secara terus menerus.
  • Wireshark, software yang digunakan untuk melakukan Listening, Scanning, dan Capturing data dalam sebuah skenario penyerangan sehingga data yang terkumpul tersebut dapat dibaca oleh model Machine Learning yang nantinya digunakan untuk pembangunan Intrusion Detection System.
  • Kali Linux, sistem operasi yang akan digunakan untuk Offensive Testing oleh penyerang dalam skenario. 
  • Oracle VM Virtualbox, sebagai Hypervisor antara sistem operasi yang digunakan dengan sistem operasi buatan secara virtual 
  • CMD (Command Prompt), merupakan aplikasi Cli atau Command Line interpreter yang ada di sistem Windows. Fungsi dari CMD ini adalah untuk menjalankan berbagai perintah yang ada pada komputer Anda.

Topologi

Topologi pada gambar diatas merupakan alur untuk serangan ddos dan nmap berdasarkan studi kasus yang dibuat. NMAP, sebuah tool untuk melakukan Port Scanning pada suatu host dalam jaringan. Tool ini digunakan oleh penyerang untuk melakukan Information Gathering pada sasaran yang dituju dalam skenario. DDOS attack atau Distributed Denial of Service merupakan serangan cyber dengan cara mengirimkan fake traffic atau lalu lintas palsu ke suatu sistem atau server secara terus menerus sehingga membuat web server down. terjadinya  Request flooding adalah ketika penyerang membanjiri website dengan banyak permintaan terhadap website. Akibatnya, website tidak mampu lagi melayani pengunjung karena terlalu banyak permintaan pengunjung pada satu waktu. Dampaknya, server akan mengalami error request, halt, kegagalan sistem, down, dan lain sebagainya sehingga layanan  websitenya  terhenti

PRAKTIKUM :
Langkah pertama yang dilakukan yaitu konfigurasi ip address,network adapter, dan lakukan konektivitas jaringan

lalu langkah selanjutnya konfigurasi ip address yang ada pada linux dan windows, IP Address adalah serangkaian angka yang menjadi identitas perangkat yang terhubung ke internet atau infrastruktur jaringan lainnya. atau definisi lainnya deretan angka yang dimiliki setiap perangkat seperti komputer, ponsel, server websit atau lainnya sebagai sebuah identitas yang unik. Fungsinya seperti nomor rumah pada alamat, yaitu untuk memastikan agar data dikirimkan ke perangkat yang tepat. Panjang rangkaian angkanya adalah dari 0.0.0.0 sampai 255.255.255.255

IP Address Windows

IP Address Linux

lalu setelah kedua ip address sudah terkonfigurasi dengan baik langkah selanjutnya, cek konektivitas untuk memastikan apakah keduanya sudah terhubung, ping dengan protokol ICMP (Internet Control Message Protocol) untuk mencek hubungan selang dua komputer di local.Internet Control Message Protocol (ICMP) adalah salah satu protokol inti dari keluarga protokol internet. ICMP utamanya digunakan oleh sistem operasi komputer jaringan untuk mengirim pesan kesalahan yang menyatakan, sebagai contoh, bahwa komputer tujuan tidak bisa dijangkau. jika hasilnya ttl atau tim to live, maka bisa dipastikan server linux telah terhubung dengan perangkat windows

langkah selanjutnya cek di browser untuk menampilkan tampilan default web server apache

jika konfigurasi web server sudah selesai dan sudah terhubung antara perangkat linux dan windows, langkah selanjutnya coba lakukan information gathering

langkah pertama lakukan information gathering dengan nmap

Reconnaissance atau tahap Information Gathering adalah tahap awal yang bertujuan untuk mengumpulkan data informasi mengenai target, dimana pada tahap ini, tester akan mencoba mengumpulkan semua data informasi sebanyak- banyaknya mengenai target, seperti jenis web server yang digunakan beserta port apa saja yang terbuka, dan informasi lainnya

Melakukan Information Gathering dengan Whatweb dan NMAP di Kali Linux 

WhatWeb adalah sebuah tools enumeration web information gathering yang mempunyai fungsi untuk mencari informasi-informasi DNS(Domain Name Server), lokasi server, subdomain, versi php, jenis database, ip addres, cms yang digunakan dan lain-lain 

Cara menggunakan WhatWeb 

Untuk melihat perintah dan opsi apa saja yang dapat digunakan, ketikkan di terminal whatweb --help 


langkah selanjutnya aktifkan web server yang ada pada linux

lalu langkah selanjutnya kita hubungkan koneksi antara perangkat windows kita dengan linux kita yang dijalankan menggunakan virtualbox (gunakan network adapter host only. Pada jenis Host-Only Adapter ini, komputer atau OS Virtual dapat berkomunikasi dengan Host atau OS Asli pada Laptop. Seolah-olah kedua OS ini terhubung pada jaringan LAN Fisik yang sama

Contoh penggunaan standar, menganalisa website single target, disini website yang ditargetkan yaitu bisa.ai  dan ip addres server kali linux

jika ingin memunculkan output dengan detail kita tambahkan opsi -v atau --verbose sebelum url target 

Dari hasil ekseskusi di atas dapat kita lihat informasi apa saja yang ada di dalam website tersebut

Cara Melakukan NMAP 

Pada bagian proses pengumpulan informasi ini, adalah menentukan sistem operasi apa yang berjalan pada mesin yang aktif untuk mengetahui tipe sistem yang sedang ditest security nya. Kita akan menggunakan option "-O" untuk mendeteksi OS yang berjalan. Ketika Nmap tidak dapat mendeteksi OS secara tepat, ia terkadang memberikan kemungkinan terdekat. Tebakan yang cocok akan dilakukan oleh Nmap. Dengan option ini membuat Nmap menduga dengan lebih agresif. Nmap tetap akan memberitahu anda ketika kecocokan tidak sempurna, dicetak dan menampilkan tingkat kepercayaan (persentase) untuk setiap dugaan. 

proses selanjutnya adalah scanning port pada mesin yang aktif untuk melihat port yang terbuka. Pada step ini saya menggunakan option "-sS" , dan pilih salah satu ip/mesin yang aktif untuk di-scan 

Setelah port yang open diketahui dengan menggunakan salah satu metode scan diatas, hal selanjutnya adalah deteksi versi dari service yang sedang berjalan. Nmap akan berusaha menentukan nama protokol layanan serta versi dari layananan tersebut. Dan untuk mendeteksi versi dari service tersebut kita menggunakan option "-sV". 

serangan nmap sudah berhasil, langkah selanjutnya kita coba serangan cyber lain seperti ddos

lalu langkah selanjutnya kita akan mencoba attack hacking lain seperti ddos

Pertama buka cmd lalu ping website yang menggunakan protocol http, lalu cari tau ip address website tersebut , jika studi kasusnya web server sendiri cukup gunakan ifconfig untuk mengetahui ip addressnya

Lalu Langkah selanjutnya buat folder director pada kali linux, dengan perintah mkdir dan masuk ke direktori tersebut dengan perintah cd 

Setelah masuk ke direktori tersebut gunakan perintah git clone untuk menyalin file dari suatu repository github ke dalam computer kita 

Lalu setelah file dari repository github berhasil disalin ke computer kita, Langkah selanjutnya masuk ke direltori tersebut, gunakan juga perintah ls perintah untuk melihat daftar sebuah direktori 

Langkah selanjutnya buat script dalam Bahasa pemrograman python , untuk proses ddos 

Lalu Langkah selanjutnya jalankan file python ddos, dengan perintah python2 file script ddos di kali linux, masukan juga ip address target yang akan di attack dan portnya yang ditargetkan yaitu port 80 (web server) agar web tersebut down tidak bisa diakses atau dijalan

Setelah program dijlankan bisa dilihat pada gambar dibawah, adalah jenis serangan yang dilakukan dengan cara membanjiri lalu lintas jaringan internet pada server, sistem, atau jaringan, Dampak Serangan DDoS Ketika penyerang menggunakan traffic flooding, ia akan membanjiri jaringan dengan banyak trafik sehingga jaringan tidak mampu lagi menampung aliran data. Akibatnya, pengguna yang ingin masuk ke website tidak mendapat akses ke situs karena jalur data yang penuh., lalu ctrl c untuk menghentikan program yang berjalan 

Setelah dilakukannya serangan tersebut saya tidak bisa ping ke ip tersebut (tidak terhubung dan koneksi gagal),

Request Time Out adalah ketika Komputer server tidak merespon/menjawab permintaan dari klien setelah beberapa lama, RTO (Request Time Out) ialah suatu kondisi dimana koneksi kita pada lalu lintas datany terjadi gannguan sehingga muncul informasi pada Command Prompt bahwa koneksi  kita mengalami “Request Time Out

Tampilan web server sebelum dilakukan serangan ddos

Tampilan Web Server Setelah dilakukan serangan ddos

Setelah dilakukan Nmap dan serangan ddos, lalu Langkah selanjutnya lakukan network sniffing dengan tshark Tshark, penganalisa jaringan baris perintah yang kuat yang hadir dengan Wireshark yang terkenal. Ia bekerja seperti Tcpdump, tetapi dengan dekoder dan filter yang kuat, mampu menangkap informasi dari lapisan atau protokol jaringan yang berbeda, dan ditampilkan dalam format dan tata letak yang berbeda.

 

Lalu langkah selanjutnya setelah mencoba penetration testing, target berikutnya yang dilakukan yaitu feature extraction

Dataset yang dibuat beserta trafik komunikasi data yang normal terhadap client dan server didapatkan dengan bantuan Python Scripts sebagai salah satu metode serangan dan segala bentuk trafik di kumpulkan menggunakan Wireshark. 
Lalu terdapat dua macam penyerangan yang di implementasi dalam skenario ini yakni : 
• DDoS 
• Probe 
DDoS digunakan dengan mengeksekusi skrip yang telah dirangkai ke IP Address Server dan Probe dieksekusi dengan menggunakan NMAP sebagai Port Scanner. 

Dengan menggunakan Wireshark sebagai alat untuk menangkap trafik data yang terjadi pada suatu adapter, beberapa metode dan penggabungan implementasi tool Tshark pada adapter tersebut dapat dilakukan Data Capturing sehingga untuk kedepannya data tersebut akan dijadikan data untuk pembangunan model Machine Learning  

a. Wireshark dan CMD

Untuk penangkapan paket data NMAP dapat diimplementasikan dengan Wireshark yang di konfigurasikan untuk mendengar adapter Loopback sebagai media komunikasi data. Contoh komunikasi data akan tampil ketika segala sesuatu berhubungan dengan menggunakan adapter loopback tersebut, contohnya dengan melakukan ping ke localhost. 

Penyerangan NMAP dengan Wireshark yang terpasang 

Hasilnya akan berbeda jika host melakukan port scanning menggunakan NMAP. Paket data yang di tangkap oleh Wireshark akan tampil seperti gambar diatas. 

Maka dari itu, sebelum malicious host melakukan penyerangan, dapat mengimplementasikan Tshark pada suatu adapter sehingga data tersebut dapat di ekstrak kedalam format lain. 

Pemasangan Tshark pada adapter 

Pemasangan tshark pada adapter loopback telah berhasil, dan pada 1000 paket pertama yang didapatkan pada adapter tersebut akan di record kedalam file bernama ‘capture_nmap.pcap’ .Lalu setelah itu malicious user akan melakukan percobaan kembali dengan NMAP. 

Penyerangan Probe 

File berformat PCAP sudah tersimpan dan siap di konversi kedalam bentuk CSV. 

Konversi PCAP ke CSV 

Pembuatan dataset berformat CSV juga dapat dilakukan dengan menggunakan Tshark dengan perintah sebagai berikut. 

File CSV telah berhasil dibuat dan siap untuk dilakukan Preprocessing. 

Tshark Digunakan untuk menganalisis lalu lintas jaringan secara real-time atau membaca file pcap/pcapng untuk mencari informasi, menggali detail koneksi, membantu mengidentifikasi anomali, masalah, atau tren jaringan. Membantu profesional jaringan dan keamanan untuk menjadi yang terdepan bagi pengguna dan kebutuhan mereka, mencegah masalah dan ancaman keamanan atau menyelesaikannya sebelum terlambat. Tshark sangat cocok untuk pengambilan paket jarak jauh, pada perangkat seperti gateway, Anda hanya perlu login ssh dan gunakan seperti yang akan Anda lakukan di localhost. Setelah berhasil maka simpan datasetnya ke csv, dengan mengkonversi dari perintah-perintah yang sudah dijalankan lalu save ke csv. pembuatan dataset bisa menggunakan tools cmd (Tshark) atau Menggunakan Wireshark

 

lalu langkah selanjutnya kita juga bisa menggunakan wireshark secara langsung dengan mengcapture packet data saat serangan ddos atau nmap sedang berjalan di virtualbox, interface yang dijalankan pada studi kasus diatas yaitu interface npcap Loop back adapter yang ada pada wireshark, pada studi kasus ini saya akan mencoba menjalankan interface virtualbox

setelah dilakukan capturing packet serangan nmap dan ddos pada wireshark langkah selanjutnya tinggal kita konvesi serangan tersebut ke dalam bentuk file csv agar bisa dilakukan preprocessing atau diolah menggunakan teknik machine learning lainnya

Berikut ini merupakan dataset yang sudah dikonversi ke dalam bentuk csv. File CSV (Nilai Berbatas Koma) adalah tipe file khusus yang dapat Anda buat atau edit di Excel. File CSV menyimpan informasi yang dipisahkan oleh koma, bukan menyimpan informasi dalam kolom. Saat teks dan angka disimpan dalam file CSV, mudah untuk memindahkannya dari satu program ke program lain.
 

 

DAFTAR PUSTAKA ATAU REFERENSI

https://www.kaggle.com/code/nidhirastogi/network-intrusion-detection-using-python

NAUNI, M. (2021). Basic Machine Learning : Network Anomaly Detection. Blog on lates networkcyber security, virtualization and cloud technology.

KURNIAWAN, A. A. (2020). INTRUSION DETECTION SYSTEM MENGGUNAKAN DEEP LEARNING. Universitas Dinamika

https://www.geeksforgeeks.org/slowloris-ddos-attack-tool-in-kali-linux/

Informasi Course Terkait
  Kategori: Cyber Security
  Course: Teknologi Kecerdasan Artifisial (SIB AI-Hacker)