Bagaimana Melakukan SYN Flood ( Half Open Attack)

SYN Flood adalah merupakan salah satu bentuk serangan Denial Of Service (DOS) dimana penyerang akan mengirimkan SYN request kepada mesin sasaran dengan tujuan mengkonsumsi sumber daya dari server sehingga server tidak bisa melayani lalu lintas yang memang benar benar sah.

Secara teknis bagaimana SYN Flood bisa terjadi ? Pada dasarnya ketika suatu computer terhubung kepada server maka terjadi yang namanya koneksi TCP ke server, kemudian client dan server saling bertukar Informasi yang pada umumnya berlaku seperti ini :

  1. Client meminta koneksi ke server dengan mengirimkan kode SYN ( Synchronize) ke server.
  2. Server mengenali / mengakui ( acknowledges) request ini dengan mengirimkan kode SYN-ACK kembali ke client.
  3. Client merespon kembali dengan mengirimkan kode ACK dan hasilnya koneksi terjalin antara clien dan server.

Ini yang dikenal dengan nama TCP Three Way Handshake, yang merupakan dasar dari semua koneksi yang menggunakan protokol TCP.

Figure 1 TCP Three Handshake - networkworld.com

Figure 1 TCP Three Handshake – networkworld.com

Namun didalam kasus SYN Flood, code ACK ( Fase 3) tidak pernah di kirimkan kembali kepada server malah justru mengulangi SYN request ke semua port yang ada di server. Client membuat semua SYN request tampak valid namun karena IP addressnya adalah palsu maka tidaklah mungkin server untuk kemudian mengakhiri koneksi tersebut. Akibatnya koneksi masih tetap terbuka ( setengah terbuka) sehingga koneksi tidak juga terjalin ( tertutup) antara client dan server. Demikian seterusnya , lama kelamaan server akan menjadi sangat sibuk untuk merespon resquest yang tidak berujung, bahkan pada akhirnya client yang sah pun akan kesulitan masuk untuk terhubung ke server. Karena sifatnya yang hanya membuat koneksi menggantung ( setengah terbuka) maka SYN Flood juga dinamakan sebagai Half Open Attack. Sedangkan proses memindai untuk menemukan port server yang terbuka dinamana SYN Scanning

Figure 2 - Ilustrasi Syn Flood - devcentral.f5.com

Figure 2 – Ilustrasi Syn Flood – devcentral.f5.com

SYN Flood Tools :

Beberapa tools yang tersedia untuk melakukan SYN Flood adalah :

Trinoo – DDOS Pentesting Tools

Tribe Flood – Tribe Flood Network Denial of Service Tools ( TFNDos)

Synk4 – Syn Flooding Denial of Service Attack

TFN2K – Ddos Pentesting Tools

Contoh aplikasi diatas  dengan segala kekurangan dan kelebihannya dapat digunakan sebagai alat untuk mengetest apakah server server dilingkungan kita masing masing cukup memiliki proteksi terhadap SYN Flood.

Countermeasures

Tentunya seiring dengan perkembangan telah ditemukan anti dari SYN Flood, mengacu pada RFC  ( Request For Comment) publikasi nomor 4987 ada beberapa diantaranya yaitu :

Filtering , memfilter lalu lintas data yang masuk untuk menentukan mana yang asli mana yang palsu

Increasing Backlog , menaikkan kapasitas backlog

Reducing SYN Received Timer, mengurangi waktu yang digunakan untuk SYN, ketika melewati masa tertentu kemudian bisa di cut requestnya.

Recycling Oldest Half Open TCP, Membuang request yang sudah terlalu lama sehingga tidak membebani resource CPU.

SYN Cache , menggunakan SYN Cache

SYN Cookies, menggunakan SYN Cookies

Firewall & Proxies , memasang dan mengoptimalkan perangkat firewall dan proxy

Demikian dapat saya sharing untuk hari ini, semoga bermanfaat. Salam kompasiana


Referensi :

http://en.wikipedia.org/wiki/SYN_flood

http://tools.ietf.org/html/rfc4987

https://www.cert.org/historical/advisories/CA-1996-21.cfm?

http://searchsecurity.techtarget.com/definition/SYN-flooding

Edy Susanto|IT Konsultan
Visit Website
  • Edy Susanto Has Completed Training | CISA | CISM| RHCSA | RHCE | CWNA | CWNE | CISSP | ISSEP | VCP DV | CEH | ECSA | CSSA | HEROWARE | SURELINE | QLIKVIEW | ITILv3 | COBIT5 | CSSGB | CTFL | OSCP | Lean Management |CWTS