Bab 4 Implementasi dan Pembahasan
4.1
Implementasi Seperti yang dijelaskan di Bab 3, implementasi dilakukan
dengan dua cara yaitu eksperimen di laboratorium dan simulasi flash. Hasil implementasi akan dijelaskan di bawah ini. Uraian lengkap tentang langkah-langkah implementasi disertakan dalam Lampiran 1. 4.1.1 Simulasi Serangan DDoS Simulasi DoS attack
dilakukan dengan dua cara yaitu
Simulasi serangan DoS dengan IP address real dan serangan DoS menggunakan spoofed IP address. 4.1.1.1 Simulasi Serangan DoS dengan IP Real Beberapa tahapan yang dilakukan pada simulasi serangan dengan IP real yaitu serangan menggunakan protokol UDP, protokol TCP, dan melacak sumber serangan DoS menggunakan tracert. a.
Serangan Menggunakan Protokol UDP Serangan DoS dilakukan dari PC2 (192.168.2.10) dengan
mengirim sejumlah besar paket menggunakan protocol UDP, diarahkan langsung ke server (192.168.1.10). Paket serangan tersebut kemudian di-capture menggunakan Wireshark untuk dianalisis lebih lanjut. Hasil capture ditunjukkan pada Gambar 4.1.
53
54
Gambar 4.1 Serangan DoS terhadap Server Menggunakan Protokol UDP
Dalam percobaan, serangan dengan protokol UDP diarahkan ke server dengan port tujuan 5009. Ukuran paket UDP yang dikirim sebesar 20 bytes dan kecepatan 1000 paket/detik. Setiap paket serangan direspon oleh server dengan mengirim paket ICMP yang berisi
pesan
“Destinatination
Unreachable”.
Server
juga
menggabungkan pesan penyerang di dalam protocol ICMP lalu dikirim kembali. Respon server dengan protocol ICMP terhadap serangan DoS menggunakan protocol UDP ditunjukkan pada Gambar 4.2.
55
Gambar 4.2 Serangan DoS dengan Protocol UDP dan Respons Server dengan Protocol ICMP
b.
Serangan Menggunakan Protokol TCP Serangan kedua menggunakan protokol TCP, diarahkan ke
server dengan destination port 80 (port untuk web server). Pada serangan dengan menggunakan protokol TCP, penyerang mengirim sinyal SYN ke server dengan port tujuan 80. Server memberi respon dengan mengirim sinyal ACK. Tetapi karena port 80 tidak terbuka (tidak ada layanan web), server segera mengirim sinyal RST untuk memutuskan hubungan (Gambar 4.3 dan Gambar 4.4). Ukuran paket TCP yang kirim oleh penyerang adalah 28 bytes dengan frekuensi 1000 paket/detik. Respons dari server sebesar 20 bytes dengan frekuensi yang sama dengan penyerang.
56
Gambar 4. 3 Serangan DoS Terhadap Server Menggunakan Protokol TCP
Gambar 4.4 Serangan DoS dengan protokol TCP dan Respons Server
57
c.
Melacak sumber serangan dengan tracert Agar dapat menghentikan serangan, alamat sumber serangan
harus diketahui. Utility seperti traceroute yang tersedia pada semua sistem operasi dapat digunakan. Dalam percobaan ini, tracert yang ada pada system operasi Windows digunakan untuk melacak sumber serangan. Hasil penelusuran tersebut diperlihatkan pada Gambar 4.5.
Gambar 4. 5 Melacak Sumber Serangan DoS dengan Tracert
4.1.1.2 Simulasi Serangan dengan Spoofed IP a.
Serangan dengan spoofed IP address Serangan di lakukan dari attacker (192.168.2.10) menggunakan Linux. [linux]# hping2 –a 1.1.1.1 –S –c 10 192.168.1.10
Perintah di atas untuk mengirim paket TCP dengan flag SYN sebanyak
10
kali
ke
victim
(192.168.1.10).
Pengirim
58
menggunakan spoofed IP dengan alamat 1.1.1.1. Hasil capture dengan Wireshark ditunjukkan pada Gambar 4.6.
Gambar 4.6 Serangan DDoS dengan Menggunakan Spoofed IP
b.
Melacak sumber serangan dengan tracert Untuk menemukan sumber DoS attack di atas, dilacak dengan
menggunakan tool tracert.
Gambar 4.7 Hasil Tracert yang Gagal Melacak Sumber DoS attack
59
Gambar
4.7
menunjukkan
sumber
DoS
attack
yang
menggunakan spoofed IP tidak bisa dilacak dengan menggunakan tracert. Karena itu perlu metode lain untuk menemukan sumber serangan DoS yang menggunakan spoofed IP address.
4.1.2 Simulasi EPPM
EPPM (Efficient Probabilistic Packet Marking) bekerja dengan menadai paket yang melewati router secara probabilistic. Ada dua tahapan simulasi yang dijelaskan pada simulasi EPPM yaitu packet marking dan rekonstruksi jalur. 4.1.2.1 Simulasi Packet Marking Pada simulasi packet marking. Serangan DoS dikirim melalui agent 1 ke web server. Saat paket melewati router paket tersebut ditandai untuk menyimpan informasi jalur yang dilewati oleh paket. Sehingga pihak korban dapat merekonstruksi jalur serangan. Simulasi packet marking ditunjukkan pada Gambar 4.8.
Gambar 4.8 Simulasi Packet Marking dengan Flash
60
4.1.2.2 Simulasi Rekonstruksi Jalur Rekonstruksi jalur bertujuan untuk menemukan sumber serangan dari informasi yang dibawa oleh paket yang telah dimarking oleh router. Sumber serangan diketahui dengan cara mengurutkan informasi yang dibawa oleh setiap paket sehingga menemukan jalur lalu lintas paket. Simulasi rekonstruksi jalur ditunjukkan pada Gambar 4.9 .
Gambar 4.9 Simulasi Rekonstruksi Jalur
4.2 Pembahasan Pembahasan penulisan mengacu pada hasil eksperimen di laboratorium dan simulasi packet marking. Dibahas lebih mendalam mengenai packet marking dan rekonstruksi jalur DoS attack (Denial of Service) menggunakan algoritma Efficient Probabilistic Packet Marking.
61
4.2.1 Melacak Sumber Serangan DDoS dengan Tracert 4.2.1.1 Menemukan Sumber Serangan DDoS yang Menggunakan IP real. Ada dua cara untuk menemukan lokasi sumber serangan. Pertama, menggunakan utility seperti
traceroute (Linux) atau
tracert (Windows) untuk melacak lokasi penyerang secara on-line. Cara kedua adalah dengan menggunakan probabilistic packet marking. Uraian tentang cara terakhir akan dijelaskan pada sub bab berikutnya. Prinsip yang digunakan oleh tracert adalah mengirim paket ICMP (Echo Request) ke tujuan (IP address penyerang) dengan nilai TTL dimulai dari 1 lalu naik secara bertahap. Sebagai contoh, tracert mula-mula menge-set TTL=1, lalu mengirim paket ICMP ke tujuan sebanyak tiga kali. Paket tersebut mencapai Router 1 ketika, router tersebut akan mengurangi TTL dengan 1 sehingga nilai TTL=0. Karena TTL sudah bernilai 0, paket tidak bisa diteruskan oleh Router 1 ke router. Router 1 kemudian mengirim pesan “Time exceeded” ke komputer pengirim. Program tracert kemudian menghitung waktu yang diperlukan oleh paket merambat dari pengirim ke Router 1 sebanyak tiga kali. Proses ini berulang untuk paket ICMP berikutnya dengan TTL=2, TTL=3, dan seterusnya, hingga mencapai IP address penyerang (Dostalek dan Kabelova, 2006). Coment tracert ditunjukkan pada Gambar 4.10.
62
Gambar 4.10 Tracert commend (Dostalek dan Kabelova, 2006)
Bila sumber serangan sudah diketahui, maka pihak penyedia layanan akses Internet (ISP) dapat mematikan untuk sementara interface di router yang terhubung ke penyerang. Selanjutnya, tindakan hukum dapat diambil terhadap orang yang melakukan serangan.
4.2.1.2 Menemukan Sumber Serangan DDoS dengan IP Address Palsu (spoofed IP address) Cara penulusuran sumber serangan menggunakan tracert seperti di atas hanya efektif bila penyerang menggunakan IP address real dan jalur tidak mengalami congestion (jenuh). Alamat palsu yang digunakan oleh paket menyebabkan router tidak tahu jalur mana yang akan digunakan untuk meneruskan paket ICMP sehingga router akan mengirim pesan “Destination Unreachable” ke pengirim. Jalur yang jenuh mengakibatkan paket ICMP yang dikirim ke sumber serangan di-drop oleh router karena buffer-nya penuh.
63
Dalam prakteknya, penyerang lebih suka memalsukan IP addressnya agar sulit dilacak dan serangan menjadi lebih efektif.
4.2.2 Melacak Sumber DoS Attack dengan EPPM Serangan DoS (Denial of Service) yang menggunakan spoofed IP address dapat ditelusuri dengan menggunakan algoritma PPM (Probabilistic Packet Marking). Algoritma ini melibatkan dua prosedur. Prosedur pertama adalah router memberi tanda pada paket-paket menggunakan algoritma tertentu. Prosedur kedua adalah pihak korban serangan melakukan rekonstruksi jalur berdasarkan informasi yang diperoleh dari paket-paket yang telah ditandai. 4.2.2.1 Penandaan Paket oleh Router Agar dapat menandai paket-paket data (selanjutnya disebut paket saja) yg dikirim dari penyerang , setiap router dikonfigurasi terlebih dahulu. Penandaan paket tersebut menggunakan algoritma EPPM
(Efficient
Probabilistic
Packet
Marking).
Flowchart
algoritma EPPM diperlihatkan pada Gambar 3.2. Pm adalah bilangan probabilitas penanda yang besarnya terletak antara 0 dan 1, dikonfigurasikan secara manual pada setiap router. Nilai pm untuk setiap router ditentukan berdasarkan Persamaan 2.2. Sebagai contoh, misalkan peluang (probabilitas) untuk menandai setiap paket adalah 25% (p=0,25) maka nilai Pm untuk router R1 dengan d=3 adalah : pm(3)=0,25(1-0,25)3=0,105
64
Dengan cara serupa, nilai Pm untuk R2, R3, dan R4 adalah sebagai berikut : - Router R2: Pm= 0,141, di mana d=2 - Router R3: Pm= 0,188, di mana d=1 - Router R4: Pm= 0,250, di mana d=0 Jadi bisa dilihat bahwa semakin jauh router dari korban serangan DDoS maka semakin kecil pula peluangnya untuk menandai paket data yang dikirim penyerang . Dengan kata lain, R2 memiliki peluang 34,28% lebih tinggi dibandingkan R1 untuk menandai paket yang lewat. Peluang R3 33,3% lebih tinggi dibandingkan R2, dan peluang R4 32,98% lebih tinggi dibandingkan R3.
1.
Serangan DoS dari agent 1 (jalur 1) Serangan DoS terhadap web server dilakukan dari agent 1
dengan mengirim sejumlah besar paket melewati R1, R2, R3 dan R4. Paket-paket tersebut akan diperiksa oleh setiap router menggunakan algoritma EPPM. Ada empat kemungkinan yang akan dilakukan oleh router terhadap setiap paket yang lewat : - Menandai paket dengan menulis alamat router pada start dan menge-set distance=0, atau - Menandai paket dengan menulis alamat router pada end dan menge-set flag=1, atau - Menandai paket dengan menaikan nilai distance satu angka, atau - Membiarkan paket data lewat begitu saja
65
Jika probabilitas p untuk menandai paket yang lewat adalah 25% dan jumlah paket yang dikirim dari agent 1 adalah 10000 paket/detik, maka : -
Pada R1: 1050 paket akan ditandai, 8950 paket tidak ditandai
-
Pada R2: 1410 paket akan ditandai, 8590 paket tidak ditandai
-
Pada R3: 1880 paket akan ditandai, 8120 paket tidak ditandai
-
Pada R4: 2500 paket akan ditandai, 7500 paket tidak ditandai
Gambar 4.11 Struktur Paket Data
1) Router R1. Dari 10000 paket/detik yang diterima R1, maka ada 1050 paket yang akan ditandai : - 1/3 dari paket tersebut (350 paket) diberi alamat R1 pada start dan nilai 0 pada distance, jika x
Pm atau flag=1 dan distance=0. - 1/3 dari paket tersebut (350 paket) akan dinaikkan nilai distance-nya 1 angka, jika flag=1 dan distance>0.
Gambar 4.12 Struktur Paket Data yang telah ditandai oleh R1
66
2) Router R2. Dari R1, R2 juga menerima 10000 paket/detik. Ada 1410 paket yang akan ditandai : - 1/3 dari paket tersebut (470 paket) diberi alamat R2 pada start dan nilai 0 pada distance, jika xPm atau flag=1 dan distance=0. - 1/3 dari paket tersebut (470 paket) akan dinaikkan nilai distance-nya 1 angka, jika flag=1 dan distance>0.
Gambar 4.13 Struktur Paket Data yang telah ditandai oleh R2
3) Router R3. Ada 1880 paket yang akan ditandai oleh R3 : - 1/3 dari paket tersebut (627 paket) diberi alamat R3 pada start dan nilai 0 pada distance,
jika x
Distance=0 berarti R3 terhubung langsung dengan sumber serangan DDoS. Flag bernilai 0 berarti paket belum ditandai oleh router sebelumnya. - 1/3 dari paket tersebut (627 paket) diisi alamat R3 pada end dan flag di-set dengan nilai 1, jika x>Pm atau flag=1 dan distance=0.
67
- 1/3 dari paket tersebut (627 paket) akan dinaikan nilai distance-nya 1 angka, jika flag=1 dan distance>0.
Gambar 4.14 Struktur Paket Data yang telah ditandai oleh R3
4) Router R4. Router R4 menerima 10000 paket/detik dari R3, 2500 paket mempunyai peluang ditandai : - 1/3 dari paket tersebut (833 paket) diberi alamat R4 pada start dan nilai 0 pada distance, jika xPm atau flag=1 dan distance=0. - 1/3 dari paket tersebut (833 paket) akan dinaikan nilai distance-nya 1 angka, jika flag=1 dan distance=0
Gambar 4.15 Struktur Paket Data yang telah ditandai oleh R4
2.
Serangan dari Agent 2 (Jalur 2) Skenario serangan dari agent 2 dibuat agak berbeda dari jalur 1
di atas. Agent 2 secara sengaja menge-set flag=1 dan distance=5 pada semua paket serangan yang ditujukan kepada web server. Sementara angka probabilitas p dibuat sama, yaitu 25% atau p=0,25
68
sehingga Pm yang akan dikonfiguasikan pada router R6, R5 dan R4 bisa dihitung. -
Router R6 : pm= 0,141, dimana d= 2
-
Router R5 : pm= 0,188, dimana d=1
-
Router R4 : pm= 0,250, dimana d=0 Jumlah paket yang dikirim oleh agent 2 dibuat sama dengan
agent 1, yaitu 10000 paket/detik. Jumlah paket yang akan ditandai dan tidak ditandai bisa ditentukan : -
Pada R6: 1410 paket akan ditandai, 8590 paket tidak ditandai
-
Pada R5: 1880 paket akan ditandai, 8120 paket tidak ditandai
-
Pada R4: 2500 paket akan ditandai, 7500 paket tidak ditandai
Sama seperti jalur 1, semua router pada jalur 2 dikonfigurasikan menggunakan algoritma EPPM sehingga ada empat kemungkinan yang akan dilakukan oleh router terhadap setiap paket yang lewat (lihat di atas).
Gambar 4.16 Struktur Paket Data yang dikirim oleh Penyerang
1) Router R6. Router R6 menerima 10000 paket/detik. Ada 1410 paket yang akan ditandai : - 1/3 dari paket tersebut (470 paket) diberi alamat R6 pada start dan nilai 0 pada distance, jika x
69
Flag bernilai 0 berarti paket belum ditandai oleh router sebelumnya. - 1/3 dari paket tersebut (470 paket) diisi alamat R6 pada end dan flag di-set dengan nilai 1, jika x>Pm atau flag=1 dan distance=0. - 1/3 dari paket tersebut (470 paket) akan dinaikan nilai distance-nya 1 angka, jika flag=1 dan distance>0. Karena agent 2 telah memberi nilai flag=1 dan distance=5, maka struktur paket yang dienkodekan oleh R6 menjadi seperti Gambar 4.17.
Gambar 4.17 Struktur Paket Data yang dikirm oleh Penyerang Melewati R6
2) Router R5. Dari 10000 paket/detik yang diterima R5 dari R6, ada 1880 paket yang akan ditandai : - 1/3 dari paket tersebut (627 paket) diberi alamat R5 pada start dan nilai 0 pada distance, jika xPm atau flag=1 dan distance=0. - 1/3 dari paket tersebut (627 paket) akan dinaikan nilai distance-nya 1 angka, jika flag=1 dan distance>0.
70
Router R5 pada dasarnya melanjutkan pekerjaan R6 sebelumnya, sehingga R5 hanya menaikan distance 1 angka. Struktur paket data bisa dilihat di bawah ini.
Gambar 4.18 Struktur Data yang dikirim oleh Penyerang Melewati R5
3) Router R4. Router R4 menerima paket paling banyak karena posisinya sebagi gateway ke Internet untuk web server dan terhubung ke dua router, R3 dan R5. Total paket yang diterima R4 adalah 20000 paket/detik. Ada 5000 paket yang akan ditandai, setengahnya berasal dari R5 : - 1/3 dari paket tersebut (833 paket) diberi alamat R4 pada start dan nilai 0 pada distance, jika xPm atau flag=1 dan distance=0. - 1/3 dari paket tersebut (833 paket) akan dinaikan nilai distance-nya 1 angka, jika flag=1 dan distance>0. Router R4 juga hanya melanjutkan pekerjaan R5 dengan menaikan nilai distance 1 angka menjadi 8.
Gambar 4.19 Struktur Data yang dikirim oleh Penyerang Melewati R4
71
4.2.2.2 Rekonstruksi Jalur Jika attacker menggunakan spoofed IP address maka sumber DoS attack tidak bisa dilacak dengan tracert. Cara kedua adalah menggunakan paket–paket yang telah ditandai oleh router-router untuk merekonstruksi grafik yang menggambarkan rute serangan. Flowchart algoritma rekonstruksi jalur cara kedua ini diperlihat pada Gambar 3.3.
1.
Rekonstruksi Jalur 1 Lampiran 1 memperlihatkan bagaimana victim menelusuri jalur
yang dilalui oleh paket-paket yang telah ditandai oleh router. Pertama, victim akan memeriksa apakah w.distance bernilai 0 atau tidak. Kedua, jika w.distance=0, maka ada 4 kemungkinan : - Start=R1, end=Victim, distance=0 - Start=R2, end=Victim, distance=0 - Start=R3, end=Victim, distance=0 - Start=R4, end=Victim, distance=0 Selanjutnya, jika w.distance=1, maka ada 6 jalur kemungkinan : - Start=R1, end=R2, distance=1 - Start=R1, end=R3, distance=1 - Start=R2, end=R3, distance=1 - Start=R1,end=R4, distance=1 - Start=R2, end=R4, distance=1 - Start=R3, end=R4, distance=1 Jika w.distance=2, maka : - Start=R1, end=R2, distance=2 (melewati R3)
72
- Start=R1, end=R2, distance=2 (melewati R4) - Start=R1, end=R3, distance=2 (melewati R4) - Start=R2, end=R3, distance=2 (melewati R4) Jika w.distance=3, maka : - Start=R1, end=R2, distance=3 (melewati R3, R4) Idealnya sebuah paket yang dikirim oleh penyerang (attacker) ditandai mulai dari router R1, diikuti oleh router R2, router R3, dan router R4. Paket yang ditandai dengan cara ini akan mempermudah penelusuran lokasi penyerang. Tetapi karena penandaan dilakukan secara probabilistic, maka ada kemungkinan paket-paket tersebut tidak ditandai secara berurutan. Untuk merekonstruksi jalur secara benar, victim cukup mencari informasi berikut : - Start=R1, end=R2, distance=3 (melewati R3, R4) - Start=R2, end=R3, distance=2 (melewati R4) - Start=R3, end=R4, distance=1 - Start=R4, end=victim, distance=0 2.
Rekonstruksi Jalur 2 Berbeda dengan rekonstruksi jalur 1, rekonstruksi jalur 2 sulit
dilakukan dengan algoritma di atas. Pertama, karena algoritma tersebut membutuhkan informasi alamat router yang dibawa oleh field start dan end. Kedua, nilai distance yang di-set oleh penyerang (bernilai 5) menyebabkan victim menarik kesimpulan yang keliru tentang lokasi penyerang.
73
4.2.3 Kelebihan dan Kekurangan EPPM
4.2.3.1 Kelebihan EPPM Seperti sudah dijelaskan di atas, kelebihan EPPM adalah dapat membantu victim menentukan lokasi sumber DoS attack yang menyembunyikan IP address menggunakan teknik IP spoofing. Utility seperti tracert tidak mampu melacak lokasi asal serangan yang menggunakan spoofed IP address (IP address palsu). EPPM mampu mengatasi masalah ini dengan menandai paket-paket yang dikirim penyerang sehingga victim bisa merekonstruksi jalur yang mengarah ke sumber serangan.
4.2.3.2 Kelemahan algoritma EPPM Di samping kelebihan di atas, EPPM juga memiliki kelemahan. Ada 3 kelemahan EPPM yang menjadi kendala dalam implementasinya : 1.
Nilai Pm dari persamaan (Rumus 2.1) tergantung pada jarak router dari victim (d). Seperti terlihat pada kasus di atas, nilai Pm di router R6 berbeda dengan nilai Pm di router R1. Ini akan menimbulkan 2 masalah lebih lanjut. Pertama, administrator jaringan hanya bisa menge-set nilai Pm secara tepat saat terjadi serangan. Masalah kedua adalah bila nilai Pm terlampau tinggi (misalnya >50%) akan menyebabkan router overload karena banyak sekali paket harus ditandai ketika terjadi serangan. Tetapi bila nilai Pm terlampau kecil (mis <10%), banyak paket
74
yang lewat begitu saja dan informasi yang diterima oleh victim tidak akurat. 2.
Bila penyerang secara sengaja menge-set flag=1 dan distance > 1, rekonstruksi jalur tidak bisa dilakukan.
3.
Karena EPPM digunakan untuk melacak sumber serangan satu per satu, maka PPM hanya efektif jika jumlah penyerang sedikit. Jika jumlah penyerang (attackers) mencapai ratusan hingga ribuan, usaha men-trace sumber serangan menjadi tidak praktis dan membutuhkan banyak waktu.