7. MMiiccrroo BBlloocckkss
• Ketika ada sebuah host menerima paket inisiasi, maka host akan
mengalokasikan ruang memori yang sangat kecil, sehingga host
tersebut bisa menerima koneksi lebih banyak. Diharapkan ruang
memori dapat menampung semua koneksi yang dikirimkan, sampai
terjadi connection-time-out, dimana koneksi-koneksi yang stale,
yaitu koneksi yang tidak menyelesaikan proses 'three-way-handshake'
atau sudah lama tidak ada transaksi data, akan
dihapuskan dari memori dan memberikan ruang bagi koneksi-koneksi
baru.
• Metode ini tidak terlalu efektif karena bergantung pada kecepatan
serangan dilakukan, apabila ternyata kecepatan paket serangan
datang lebih cepat daripada lamanya waktu yang perlu ditunggu
agar terjadi connection-time-out pada paket-paket yang stale,
make ruang memori yang dapat dialokasikan akan tetap habis
8. SSYYNN CCooookkiieess
• Ketika menerima paket inisiasi, host penerima akan mengirimkan
paket tantangan yang harus dijawab pengirim, sebelum host
penerima mengalokasikan memori yang dibutuhkan
• Tantangan yang diberikan adalah berupa paket SYN-ACK dengan
nomor urut khusus yang merupakan hasil dari fungsi hash dengan
input alamat IP pengirim, nomor port, dll.
• Untuk melakukan perhitungan hash membutuhkan sumber-daya
komputasi yang cukup besar, sehingga banyak server-server yang
aplikasinya membutuhkan kemampuan komputasi tinggi tidak
mempergunakan metode ini.
9. RRSSTT CCooookkiieess
• Mirip dengan SYN Cookies, hanya tantangan yang dikirimkan host
penerima ke pengirim adalah sebuah paket yang salah. Apabila
pengirim adalah pengirim yang valid, maka pengirim akan
mengirimkan paket RST lalu mengulang kembali koneksi.
• Ketika penerima menerima paket RST, host tersebut tahu bahwa
pengirim adalah valid dan akan menerima koneksi dari pengirim
dengan normal. Karena ada masalah dengan implementasi lapisan
TCP/IP, metode ini kemungkinan tidak kompatibel dengan
beberapa sistem operasi.
• Metode ini merubah waktu pengalokasian memori, yang tadinya
pada awal dari proses 'threeway-handshake', menjadi diakhir dari
proses tersebut.
#5:Pada langkah pertama, initiating host (client) mengirim sebuah paket sinkronisasi
(SYN flag set) untuk melakukan inisialisasi koneksi. Ini menandakan bahwa
sebuah paket memiliki nilai awal Sequence Number yang valid dalam segmen ini
untuk sesi x. Bit SYN pada bagian header menandakan sebuah permintaan
koneksi. Bit SYN merupakan bit tunggal pada field code dari header TCP
segment. Sequence Number adalah 32 bit field header TCP segment.
Pada langkah kedua, host lain menerima paket, mencatat Sequence Number x
dari client, dan membalas dengan sebuah acknowledgment (ACK flag set).
Kumpulan bit control ACK menandakan field Acknowledgment Number berisi
sebuah nilai acknowledgment valid. ACK flag merupakan bit tunggal pada kode
field dari header TCP segment dan Acknowledgment Number adalah 32 bit field
header TCP segment. Sekali koneksi terbentuk, flag ACK di set untuk semua
segment selama sesi. Field acknowledgment number berisi sequence number
berikutnya yang diharapkan diterima host ini (x+1). Acknowledgment number x+1
berarti host telah menerima semua byte termasuk x, dan mengharapkan
menerima byte x+1 berikutnya. Host juga mengajukan sebuah return session. Ini
termasuk sebuah segment TCP dengan nilai awal sequence numbernya sendiri
dari y dan dengan sekumpulan flag SYN.
Pada langkah ketiga, initiating host merespon dengan sebuah nilai
Acknowledgment number dari y+1, yang mana nilai dari sequence number host
B+1. Ini menandakan bahwa telah diterima acknowledgment sebelumnya dan
mengakhiri proses koneksi untuk sesi ini.
#6:Setelah itu, koneksi akan dinyatakan terbuka, sampai salah satu pihak mengirimkan paket FIN atau paket RST atau terjadi connection time-out. Dalam proses 'three-way-handshake', selain terjadi inisiasi koneksi, juga terjadi pertukaran data-data parameter yang dibutuhkan agar koneksi yang sedang dibuat dalam berjalan dengan baik. Dalam serangan ini, sebuah host akan menerima paket inisiasi koneksi (Paket dengan flag SYN) dalam jumlah yang sangat banyak secara terus menerus. Akibatnya host yang sedang diserang akan melakukan alokasi memori yang akan digunakan untuk menerima koneksi tersebut dan karena paket inisiasi terus-menerus diterima maka ruang memori yang dapat digunakan untuk menerima koneksi akan habis. Karena semua ruang memori yang dapat digunakan untuk menerima koneksi sudah habis, maka ketika ada permintaan baru untuk melakukan inisiasi koneksi, host ini tidak dapat melakukan alokasi memori sehingga permintaan baru ini tidak dapat dilayani oleh host ini.