Proses Algoritma Random Early Detection RED

28 Gambar 3.4 Tahapan Capturing

3.5 Proses Algoritma Random Early Detection RED

RED atau Random early detection merupakan sebuah algoritma manajemen antrian queue paket data jaringan Vijaraya, 2013. Merupakan jenis algoritma congestion avoidance. Pada algoritma tail drop konvensional, sebuah router atau komponen jaringan lainnya dapat melakukan buffering paket data sebisa mungkin. dan jika menjatuhkan paket data secara berkala, maka tidak terjadi buffer. Tetapi jika buffer penuh, maka jaringan akan mengalami kongesti. Model tail drop tidak dapat mendistribusikan space buffer secara merata diantara aliran trafik data. RED mempunyai beberapa parameter untuk nilai threshold yaitu minimum threshold dan maximum threshold. Nilai threshold yang ada bersifat statik dan user defined. Algoritma RED melakukan tracking jumlah paket data yang masuk tersimpan terhitung hingga paket terakhir di drop. Dalam mendeteksi adanya indikasi intrusi terdapat beberapa faktor yang mempengaruhi antara lain : • Jumlah paket per protokol yang melebihi batas nilai threshold yang ditentukan. • Data payload yang merupakan besar isi dalam satuan byte dari tiap paket Besaran jumlah isi data payload dari tiap paket akan mengindikasikan adanya packet loss dimana besaran dari source ke destination berbeda saat paket dikembalikan dari destination ke source. Sementara prosedur perhitungan paket-paket data yang di capture dipisah berdasarkan kategori atau jenis paket datanya, sehingga jika lebih besar dari batas threshold yang ditentukan maka ada indikasi terjadinya flooding paket, sebaliknya paket tersebut merupakan paket normal. Universitas Sumatera Utara 29 Gambar 3.5 Diagram alur proses RED. Fungsi packet capturing dapat diperoleh melalui Jpcap yang memberikan akses pada java API ke paket library C yang bernama pcap. Sementara Jpcap belum memiliki konversi lengkap dari library C pcap, ini memungkinkan untuk melakukan pengembangan pada beberapa fungsi-fungsi dasar yang ada. Sistem selanjutnya akan melakukan ekstraksi dan mengelompokkan paket berdasarkan jenisnya TCP, UDP, Ethernet dan IP. Setelah melakukan ekstraksi paket yang ada akan di simpan di dalam Universitas Sumatera Utara 30 database lokal. Paket-paket yang berasal dari host tertentu yang terkoneksi ke jaringan, akan di monitor dan di cek. Ketika nilai counter paket telah melewati nilai ambang threshold value , sistem akan memberikan alert dan sekaligus disimpan ke dalam file log alert. Nilai ambang batas threshold value merupakan sebuah nilai yang bersifat reconfigurable, yang menandakan nilai maksimum yang diizinkan Kumar,2014. Sistem akan menampilkan kepada pengguna beberapa aturan yang ditetapkan dan log- log indikasi attack. Log Alert yang tersedia pada sistem akan melaporkan beberapa paket yang terindikasi tidak normal, antara lain : • Flood attacks : UDP flood, TCP flood. • Protocol exploit attacks : SYN flood. • Packet Loss berdasarkan payload data packet. 3.5.1 Pseudocode Berikut merupakan pseudocode dari tahapan untuk melakukan counting packet dan menentukan adanya indikasi flooding dan packet loss. PROCEDURE set counter = 0; showNetInterfaceList; iface = selectNetInterface; if iface.isEnabled == True Then doCapturing iface ; if packet isInstanceOf tcpPacket Then if packet.Source == packet.Destination Then if packet.Payload = packet.Payload.Before Then showAlert“Packet Loss Detection”; updateAlertLog; else Universitas Sumatera Utara 31 showLog“Normal Packet”; updateDataLog; end if end if increment_tcpCounter; elseif packet isInstanceOf udpPacket Then if packet.Source == packet.Destination Then if packet.Payload = packet.Payload.Before Then showAlert“Packet Loss Detection”; updateAlertLog; else showLog“Normal Packet”; updateDataLog; end if end if increment_udpCounter; elseif packet.instanceOfEthernetFrame Then if packet.MacSource == packet.MacDestination Then if packet.HeaderLen = packet.HeaderLen Then showAlert“Packet Loss Detection”; updateAlertLog; else showLog“Normal Packet”; updateDataLog; Universitas Sumatera Utara 32 end if end if increment_EthernetCounter; elseif packet.instanceOfIPPacket Then if packet.Source == packet.Destination Then if packet.Payload = packet.Payload.Before Then showAlert“Packet Loss Detection”; updateAlertLog; else showLog“Normal Packet”; updateDataLog; end if end if increment_ipCounter; else unableCapturing; end if if tcpCounter Threshold_value Then showLogAlert“Flooding TCP, SYN”; if udpCounter Threshold_value ThenshowLogAlert“UDP Flooding”; Berdasarkan pseudocode tersebut terdapat beberapa langkah-langkah yang digunakan oleh sistem untuk mengetahui adanya indikasi flooding dan packet loss. Tahapan tersebut dapat diilustrasikan sebagai berikut : 1. Ketika dijalankan, sistem akan menampilkan beberapa daftar network interface yang ada pada perangkat Laptop atau PC yang digunakan. Universitas Sumatera Utara 33 2. Pilih salah satu network interface, jika net interface tersebut aktif maka proses capturing akan berjalan, sebaliknya proses capturing tidak akan berjalan. 3. Ketika proses capturing berjalan dan tentunya jaringan dalam keadaan aktif, sistem akan menangkap sebuah paket dengan informasi yang dimilikinya. 4. Cek paket besaran data payload dari paket tersebut dari host dan destination yang sama. Jika berkurang aktifkan log alert tentang adanya indikasi packet loss, jika tidak maka paket tersebut normal. 5. Setelah itu set counter masing-masing paket berdasarkan jenisnya TCP, UDP, Ethernet, ICMP. 6. Setelah proses capturing selesai, maka cek apakah total counter dari masing- masing jenis paket telah melewati batas nilai threshold yang ditetapkan dalam penelitian ini menggunakan nilai threshold 400, jika sudah lewat maka sistem akan mencatat ke dalam log alert adanya indkasi flooding paket. Sebaliknya jika tidak, maka traffic jaringan dalam keadaan normal.

3.6 Perancangan Sistem