2.4 Packet Marking
2.4.2 IP Header Packet Marking
Gambar 2.16 ICMP Traceback (Devasundaram, 2006)
Gambar 2.16 menunjukkan ilustrasi penandaan paket yang melewati router dengan IP traceback. Korban menerima tambahan informasi secara tetap dari paket yang datang. Pesan ini berisi sebagian kecil informasi yang menunjukkan dari mana paket datang, kapan paket dikirim, dan membuktikan keaslian paket. Untuk mengurangi overhead dalam penambahan pengiriman paket tersebut maka router akan memberikan satu pesan ICMP traceback untuk setiap 20.000 paket yang melewati router.
2.4.2 IP Header Packet Marking
Metode penandaan paket pada IP traceback telah menarik banyak perhatian. Paket data ditandai dengan informasi penting oleh
router sepanjang jalan. Korban menggunakan informasi yang tersimpan di dalam IP header untuk merekonstruksi jalur serangan. Dalam metode ini, rekonstruksi jalur serangan bergantung pada banyaknya paket yang telah ditandai dan dikumpulkan oleh korban. Probabilistic Packet Marking memperoleh perhatian yang luas karena mengeluarkan biaya yang rendah dalam hal pemprosesan router dan waktu rekonstruksi.
Mengacu pada Gambar 2.4 yang menunjukkan IP datagram yang belum menyimpan informasi penandaan paket. Bagaimana dan dimana IP datagram akan menyimpan informasi penandaan paket terletak pada identification field dalam IP header.
Dua fields yang memungkinkan dapat terjadi overloaded pada saat penulisan informasi penandaan paket adalah options field dan identification field. Options field dalam paket IP header digunakan untuk menambahkan informasi tambahan untuk pengolahan tambahan seperti pengujian, debugging, dan keamanan. Namun, penandaan pada options field, menimbulkan beberapa masalah. Penandaan di options field memperbesar ukuran paket, yang dapat menyebabkan paket IP akan terbagi di sepanjang jalan. Options field adalah field yang tidak sesuai digunakan untuk penandaan karena akan menimbulkan masalah saat merekonstruksi jalur serangan karena terdapat kemungkinan bahwa penyerang dapat memodifikasi jalur data dan memalsukan informasi (Devasundaram, 2006).
Gambar 2.17 Alur Kerja Probabilistic Packet Marking
(Devasundaram, 2006)
Gambar 2.17 menunjukkan proses penandaan paket. Identification field dalam paket IP header dirancang untuk menyimpan identitas paket yang terbagi. Ini membedakan potongan paket IP dan memungkinkan dapat digabungkan kembali dengan benar pada sisi penerima.
Menurut penelitian bahwa kurang dari 0,25% paket di Internet terbagi menjadi beberapa bagian, sehingga mengandalkan pada identification field. Penelitian tersebut merupakan suatu penegasan yang berfungsi sebagai pembenaran bahwa identifikasi field lebih tepat digunakan untuk menyimpan informasi penandaan paket (Davasundaram, 2006).
Savage pertama kali menjelaskan dan mengimplementasikan
pengambilan sampel probabilistik dengan probabilitas 1/25 untuk menghindari overhead yang berlebihan pada penandaan paket di router. Selanjutnya, setiap paket menyimpan informasi sebagian jalur, bukan jalur lengkap. Menggunakan pendekatan ini bersama
dengan teknik kompresi dan bidang tambahan dapat mencegah penipuan informasi routing. Savage mengusulkan untuk menggunakan IP header 16-bit dalam identification field untuk menyimpan informasi router (Devasundaram, 2006).
Gambar 2.18 Overloaded IP Header dari Savage (Devasundaram, 2006)
Gambar 2.18 menunjukkan overloaded IP header. Identification field terbagi menjadi offset, distance dan edge fragment yang digunkan untuk menyimpan informasi penandaan paket.
Pembagian identification field lebih detail dapat dilihat pada Gambar 2.19. Identification field 16 bit dibagi menjadi tiga bagian dengan pembagian Offset 3 bit menyatakan 8 macam fragmen yang mungkin ada, 5 bit menyatakan distance, dan 8 bit menyatakan fragmen edge (Savage, 2000).
Gambar 2.19 Pembagian Identification Field untuk Penandaan Paket
Down Song dan Adrian Perrig memodifikasi edge-identification berbasis PPM dari untuk lebih mengurangi kebutuhan penyimpanan, dengan menyimpan hash dari setiap IP address bukan dari alamat itu router itu sendiri. Pendekatan ini beranggapan korban memiliki peta jaringan lengkap dari semua router upstream. Setelah edge-fragment reassembly, metode ini membandingkan hash IP address yang dihasilkan untuk hash IP address router yang berasal dari peta jaringan. Metode dimodifikasi untuk menjadi lebih efektif terhadap serangan DDoS dari pada metode sebelumnya. (untuk memfasilitasi rekonstruksi jalur serangan). Overloaded IP header dari Song dan Perrig ditunjukkan pada Gambar 2.20.
Gambar 2.20 Overloaded IP Header dari Song dan Perrig
(Devasundaram, 2006)
Gambar 2.21 Paket Marking dalam IP Header (Song dan Perrig, 2001)
Gambar 2.21 menunjukkan paket marking dalam IP header, dimana alamat IP router dikodekan dan nilai hash disimpan dalam header. Sskema ini menunjukkan bahwa, 16 bit field identifikasi IP
dibagi menjadi distance 5 bit, dan edge 11 bit dengan menggunakan hash.
2.4.3 Algoritma
Pada penulisan ini algoritma yang digunakan adalah algoritma Efficient Probabilistic Packet Marking yang merupakan modifikasi dari algoritma Probabilistic Packet Marking.
2.4.3.1 PPM (Probabilistic Packet Marking)
Algoritma PPM (Probabilistic Packet Marking) digunakan untuk memecahkan masalah IP traceback. PPM digunakan untuk menemukan peta Internet atau sebuah grafik serangan selama serangan Distributed Denial of Service (DDoS). Algoritma PPM terdiri dari dua prosedur yaitu prosedur penandaan paket dan prosedur rekonstruksi grafik. Dalam prosedur penandaan paket, paket-paket secara acak menyandikan setiap sisi pada grafik serangan dan memperoleh prosedur rekonstruksi grafik, grafik dibangun dari informasi yang dikodekan.
a. Prosedur Packet Marking
Dalam penerapkan layanan IP Traceback yang harus dilakukan adalah mengalokasikan ruang yang cukup dalam paket IP header sehingga ruang ini dapat digunakan untuk mencatat jalur yang dilintasi sebuah paket. Misalnya, setiap router, di samping melakukan forwarding paket dan fungsi routing, mencatat atau menambahkan ID-nya sendiri di ruang pra-dialokasikan pada paket header. Dalam analogi ini ketika korban menerima paket yang telah ditandai, korban dapat memeriksa paket header dan mendapatkan
secara lengkap informasi jalur yang dilalui paket yang ditandai. Satu masalah besar tentang pendekatan ini adalah bahwa panjang jalur yang dilalui (misalnya, jumlah hop) dari sebuah paket tidak tetap. Sehingga mustahil untuk pra-mengalokasikan diawal untuk jumlah yang cukup dalam ruang paket header. Kesulitan lain teknik pencatatan jalur informasi yang lengkap dari setiap paket ke korban adalah bahwa jika penyerang berpotensi dapat memanipulasi informasi jalur dan mengisinya dalam proses identifikasi router yang palsu di dalam paket header dapat menyesatkan korban.
Router mengkodekan informasi dalam tiga field yang menandai serangan paket yaitu awal, akhir, dan jarak. Field awal dan akhir menyimpan alamat IP untuk dua router pada titik akhir tepi yang ditandai. Field jarak mencatat jumlah hop diantara kedua sisi yang ditandai dan lokasi korban (Savage, 2000).
Marking prosedure at router R for each packet w
let x be a random number from [0..1] if x < Pm then
write R into w.start and 0 into w.distance else
if w.distance = 0 then write R into w.end increment w.distance
Gambar 2.22 Algoritma Packet Marking(Bhavani dan Reddy, 2010)
Gambar 2.22 menunjukkan algoritma Packet Marking dimana di dalam PPM paket menyimpan informasi pada tepi dalam header IP. Router menentukan bagaimana paket dapat diproses tergantung pada bilangan acak yang dihasilkan. Jika x lebih kecil dari yang
telah ditetapkan kemungkinan untuk menandai pm, router memilih untuk memulai pengkodean sebuah sisi. Router menetapkan field awal dari paket yang masuk ke alamat router dan mengatur ulang field jarak ke nol. Jika x lebih besar dari pm, router memilih untuk mengakhiri pengkodean sebuah sisi dengan menetapkan alamat router di bidang akhir.
Menurut Algoritma Probabilistic Packet Marking, setiap paket dapat menandai atau menghapus tanda edge field dengan beberapa kemungkinan. Misalkan Pm(d) menyatakan bahwa sebuah sisi ditandai, dan itu adalah (d) hop jauh dari lokasi korban. Rumus PPM ditunjukkan pada Persamaan 2.2 (Bhavani dan Reddy, 2010).
Pm(d) = p(1-p)d
d≥0
(2.2)
b. Prosedur rekonstruksi grafik
Setelah paket ditandai (marked) oleh router, korban dapat merekonstruksi jalur serangan untuk mengetahui asal penyerang. Algoritma untuk merekonstruksi jalur diperlihatkan pada Gambar 2.23.
let G be a tree with root being victim V ; let edges in G be tuples(start,end,distance); for (each received marked packet w) {
if (w.distance==0) then
insert edge (w.start,V,0) into G ; Else
insert edge (w.start, w.end, w.distance) into G ; }
remove any edge (x,y,d) with d ≠ distance from x to V in G ; extract path (Ri…Rj) by enumerating acyclic paths in G ;
Setelah korban menerima paket, pertama perlu filtering paket yang tanpa tanda (karena korban tidak memuat informasi apapun dalam membuat grafik serangan). Pihak korban menjalankan algoritma konstruksi grafik untuk seluruh paket yang telah ditandai yang dikumpulkan kembali dan membangun grafik yang menggambarkan serangan.
2.4.3.2 EPPM (Efficient Probabilistic Packet Marking)
PPM mempunyai banyak fitur yang diinginkan. Sebagai contoh, router yang jauh dari korban memiliki peluang yang sangat rendah untuk menyampaikan informasi penandaan paket kepada korban. Sebab, informasi dari router sebelumnya (upstream routers) ditimpa oleh router sesudahnya (downstream routers) yang mengakibatkan hilangnya informasi penandaan paket yang ditulis oleh router yang terletak jauh dari korban.
Untuk mengatasi masalah di atas, maka algoritma PPM perlu dimodifikasi untuk meningkatkan efektifitasnya. Hasil modifikasi ini disebut Efficient Probabilistic Packet Marking (EPPM).
Gambar 2.24 menunjukkan algoritma efficient probabilistic packet marking. EPPM menggunakan field tambahan yang disebut sebagai flag yang membutuhkan salah satu dari nol atau satu. Nilai flag pada awalnya dibuat nol. Jika paket sudah diberi tanda maka flag bernilai satu (Bhavani dan Reddy, 2010).
for (each packet w received by the router) {
generate a random number x between [0..1]; If (x < Pm and flag=0) then
/* router starts marking. flag 0 implies that the packet is not encoded previously */
write router's address into w.start and 0 into w.distance Else
{
If ( w.distance = 0 ) then
write router address into w.end and 1 into flag }
/* flag 1 implies that the packet has encoded an edge and no other successive router start encoding */
If (flag = 1) then
Increment w.distance by 1
/*w.distance represents the distance of the encoded edge from the victim V */
} }
Gambar 2.24 Algoritma Efficient Packet Marking Prosedure (Bhavani