Post by
Author Syukra
Perkiraan waktu baca: 7 menit

Mengenal SYN Flood: Serangan DDoS yang Mengganggu Kinerja Jaringan

SYN Flood

SYN Flood adalah salah satu jenis serangan DDoS (Distributed Denial of Service) yang menargetkan lapisan Transport pada model OSI (Open System Interconnection). Serangan ini bertujuan untuk mengganggu kinerja jaringan dengan membanjiri server target dengan sejumlah besar permintaan koneksi yang tidak lengkap, sehingga sumber daya sistem menjadi jenuh dan tidak mampu melayani permintaan yang sah dari pengguna lain.

Cara Kerja SYN Flood

Serangan SYN Flood memanfaatkan proses three-way handshake yang digunakan dalam protokol TCP (Transmission Control Protocol) untuk membangun koneksi. Proses ini melibatkan tiga langkah dasar:

  • SYN (Synchronize): Klien mengirimkan paket SYN ke server untuk memulai koneksi.
  • SYN-ACK (Synchronize-Acknowledge): Server merespons dengan paket SYN-ACK, yang menunjukkan bahwa server siap untuk membangun koneksi.
  • ACK (Acknowledge): Klien mengirimkan paket ACK terakhir untuk menyelesaikan three-way handshake, dan koneksi pun terbangun.

Dalam serangan SYN Flood, penyerang mengirimkan sejumlah besar paket SYN ke server target, tetapi tidak pernah menanggapi paket SYN-ACK yang dikirimkan oleh server. Akibatnya, server tetap menunggu respon dari klien yang tidak pernah datang, sehingga banyak koneksi setengah terbuka (half-open) tertinggal di sistem. Jika jumlah koneksi setengah terbuka ini melebihi kapasitas yang dapat ditangani oleh server, koneksi yang sah dari pengguna lain tidak dapat diproses, menyebabkan penurunan kinerja atau bahkan kegagalan layanan.

Dampak Serangan SYN Flood

Dampak utama dari serangan SYN Flood adalah penurunan kinerja atau kegagalan total dari server yang diserang. Hal ini dapat mengakibatkan:

  • Layanan Tidak Tersedia: Pengguna sah tidak dapat mengakses layanan yang disediakan oleh server karena sumber daya sistem sudah habis digunakan untuk menangani permintaan palsu.
  • Kehilangan Pendapatan: Untuk bisnis online, downtime yang disebabkan oleh serangan SYN Flood dapat menyebabkan kehilangan pendapatan dan merusak reputasi perusahaan.
  • Biaya Mitigasi: Mengatasi dan mencegah serangan SYN Flood membutuhkan investasi dalam perangkat keras dan perangkat lunak keamanan, yang dapat menambah biaya operasional perusahaan.

Metode Mitigasi

Untuk melindungi jaringan dari serangan SYN Flood, beberapa metode mitigasi dapat diterapkan, antara lain:

  • Syn Cookies: Teknik ini memungkinkan server untuk mengelola koneksi tanpa menyimpan state informasi di memori hingga three-way handshake selesai. Dengan cara ini, server dapat menghindari kehabisan sumber daya karena banyaknya koneksi setengah terbuka.
  • Rate Limiting: Pembatasan jumlah koneksi SYN yang diterima oleh server dalam periode waktu tertentu dapat membantu mencegah jenuh sumber daya.
  • Firewall dan Sistem Deteksi Intrusi (IDS): Firewall dan IDS dapat dikonfigurasi untuk mendeteksi dan memblokir lalu lintas mencurigakan yang menyerupai serangan SYN Flood.
  • Load Balancer: Menggunakan load balancer untuk mendistribusikan lalu lintas jaringan ke beberapa server dapat mengurangi beban pada satu server tunggal dan meningkatkan ketahanan terhadap serangan.

Bagaimana Cara Kerja Protokol TCP?

Transmission Control Protocol (TCP) adalah salah satu protokol utama dalam rangkaian protokol Internet yang digunakan untuk mengirim data di jaringan komputer. TCP menyediakan layanan pengiriman data yang andal dan terurut, yang sangat penting untuk aplikasi seperti web browsing, email, dan transfer file. Berikut adalah penjelasan tentang cara kerja protokol TCP:

1. Three-Way Handshake

Proses ini digunakan untuk membangun koneksi antara klien dan server sebelum data dikirim. Three-way handshake terdiri dari tiga langkah:

SYN (Synchronize):

  • Klien mengirimkan paket SYN ke server untuk memulai koneksi.
  • Paket ini berisi nomor urut awal yang dipilih oleh klien.

SYN-ACK (Synchronize-Acknowledge):

  • Server merespons dengan paket SYN-ACK.
  • Paket ini berisi nomor urut yang dipilih oleh server dan nomor urut klien yang ditambah satu, menunjukkan bahwa server menerima paket SYN klien.

ACK (Acknowledge):

  • Klien mengirimkan paket ACK terakhir ke server.
  • Paket ini berisi nomor urut server yang ditambah satu, menyelesaikan proses three-way handshake.
  • Koneksi TCP sekarang sudah terbangun dan siap untuk mentransfer data.

2. Pengiriman Data

Setelah koneksi terbangun, data dapat ditransfer antara klien dan server. TCP memastikan data dikirim secara andal dan dalam urutan yang benar melalui beberapa mekanisme:

Segmentasi dan Reassembly:

  • Data dibagi menjadi segmen-segmen yang lebih kecil.
  • Setiap segmen diberi nomor urut untuk memastikan bahwa data dapat disusun kembali dengan benar di sisi penerima.

Acknowledgment:

  • Setiap kali segmen data diterima, penerima mengirimkan acknowledgment (ACK) kembali ke pengirim.
  • Jika pengirim tidak menerima ACK dalam waktu tertentu, segmen dianggap hilang dan akan dikirim ulang.

Sliding Window:

  • TCP menggunakan mekanisme sliding window untuk mengatur berapa banyak data yang dapat dikirim sebelum harus menunggu ACK.
  • Ukuran jendela dapat bervariasi untuk mengoptimalkan kecepatan pengiriman dan menghindari kemacetan jaringan.

3. Penutupan Koneksi

Proses ini digunakan untuk menutup koneksi TCP setelah transfer data selesai. Penutupan koneksi juga melibatkan serangkaian pesan:

FIN (Finish):

  • Satu pihak (biasanya klien) mengirimkan paket FIN untuk memulai penutupan koneksi.
  • Paket ini menunjukkan bahwa tidak ada lagi data yang akan dikirim dari pengirim FIN.

ACK (Acknowledge):

  • Pihak penerima merespons dengan paket ACK untuk mengakui penerimaan paket FIN.

FIN dari penerima:

  • Pihak penerima kemudian mengirimkan paket FIN untuk menunjukkan bahwa mereka juga tidak memiliki data lagi yang akan dikirim.

ACK dari pengirim:

  • Pihak pengirim merespons dengan paket ACK terakhir untuk mengakui penerimaan paket FIN dari penerima.
  • Koneksi TCP sekarang sudah ditutup.

4. Fitur Lain TCP

Flow Control:

  • TCP menggunakan mekanisme flow control untuk menghindari pengirim membanjiri penerima dengan data lebih cepat daripada yang dapat diproses.

Error Detection:

  • TCP menggunakan checksum pada setiap segmen untuk mendeteksi kesalahan data selama transmisi.
  • Segmen yang rusak akan ditolak, dan pengirim harus mengirim ulang segmen tersebut.

Congestion Control:

  • TCP menerapkan algoritma untuk mengendalikan kemacetan jaringan dengan menyesuaikan kecepatan pengiriman data berdasarkan kondisi jaringan.

Apa Perbedaan TCP Dan UDP?

TCP (Transmission Control Protocol) dan UDP (User Datagram Protocol) adalah dua protokol komunikasi utama dalam jaringan komputer yang digunakan untuk mengirim data antara perangkat. Meskipun keduanya berfungsi untuk mengirim data, ada beberapa perbedaan mendasar dalam cara kerja dan karakteristik keduanya. Berikut adalah perbedaan utama antara TCP dan UDP:

1. Keandalan

TCP:

  • Keandalan Tinggi: TCP menjamin pengiriman data yang andal. Data yang dikirim menggunakan TCP dijamin sampai ke tujuan dengan urutan yang benar. Jika ada segmen data yang hilang atau rusak, TCP akan mengirim ulang segmen tersebut.
  • Acknowledgment: Setiap segmen data yang diterima oleh penerima diakui dengan mengirimkan pesan acknowledgment (ACK) kembali ke pengirim.
  • Error Detection and Correction: TCP menggunakan checksum untuk mendeteksi kesalahan dan mengirim ulang data yang rusak atau hilang.

UDP:

  • Keandalan Rendah: UDP tidak menjamin pengiriman data yang andal. Data yang dikirim menggunakan UDP mungkin hilang, rusak, atau tiba di tujuan dalam urutan yang salah.
  • Tidak Ada Acknowledgment: UDP tidak mengirimkan pesan acknowledgment. Tidak ada mekanisme pengiriman ulang data yang hilang atau rusak.
  • Error Detection Saja: UDP juga menggunakan checksum, tetapi hanya untuk mendeteksi kesalahan, tanpa mekanisme perbaikan otomatis.

2. Metode Koneksi

TCP:

  • Koneksi-Oriented: TCP adalah protokol yang berorientasi koneksi. Sebelum data dikirim, TCP membangun koneksi melalui proses three-way handshake. Setelah data selesai dikirim, koneksi ditutup dengan prosedur penutupan koneksi.
  • Stateful: TCP mempertahankan status koneksi selama komunikasi, melacak segmen yang telah dikirim dan diterima.

UDP:

  • Connectionless: UDP adalah protokol yang tidak berorientasi koneksi. Tidak ada proses handshake atau penutupan koneksi. Data dikirim dalam bentuk datagram tanpa memerlukan koneksi sebelumnya.
  • Stateless: UDP tidak mempertahankan status koneksi, sehingga lebih ringan dan cepat.

3. Kecepatan dan Overhead

TCP:

  • Overhead Tinggi: TCP memiliki overhead lebih tinggi karena mekanisme handshake, acknowledgment, dan kontrol kesalahan.
  • Lebih Lambat: Karena adanya pengiriman ulang data yang hilang dan pengaturan koneksi, TCP cenderung lebih lambat dibandingkan UDP.

UDP:

  • Overhead Rendah: UDP memiliki overhead lebih rendah karena tidak ada mekanisme handshake atau acknowledgment.
  • Lebih Cepat: Karena tidak ada proses pengiriman ulang atau pengaturan koneksi, UDP lebih cepat dan efisien dalam mengirim data.

4. Penggunaan

TCP:

  • Aplikasi yang Membutuhkan Keandalan: TCP digunakan dalam aplikasi yang membutuhkan pengiriman data yang andal dan berurutan, seperti web browsing (HTTP/HTTPS), email (SMTP), transfer file (FTP), dan sesi terminal (SSH).

UDP:

  • Aplikasi yang Membutuhkan Kecepatan: UDP digunakan dalam aplikasi yang membutuhkan pengiriman data cepat dan toleran terhadap kehilangan data, seperti streaming video/audio (VoIP, streaming media), game online, dan aplikasi real-time lainnya.

5. Contoh Penggunaan

TCP:

  • Web Browsing: HTTP/HTTPS
  • Email: SMTP, IMAP, POP3
  • File Transfer: FTP
  • Remote Access: SSH, Telnet

UDP:

  • Video Streaming: RTP (Real-time Transport Protocol)
  • Audio Streaming: VoIP (Voice over IP)
  • Game Online: Pengiriman data game
  • DNS: Permintaan dan respon DNS

Itu saja artikel dari Admin, semoga bermanfaat… Terima kasih sudah mampir…

Tag: #Cyber Security
Share Artikel
Jika ada konten 'judol' atau 18+, itu otomatis berasal dari penyedia iklan, thank's... #basmijudol

Follow Media Sosial Ku