SYN flood

Η επίθεση SYN flood είναι ένα είδος επίθεσης άρνησης πρόσβασης (DOS - Denial of Service) κατά την οποία ο επιτιθέμενος αποστέλλει πολλαπλές αιτήσεις SYN προς το θύμα.

Η χειραψία TCP 

Δείτε επίσης το άρθρο: Transmission Control Protocol

Για να δημιουργηθεί μία σύνδεση TCP από έναν υπολογιστή (πελάτης - client) σε έναν άλλο (διακομιστής - server) θα πρέπει να ακολουθηθούν τα βήματα που καθορίζονται στο πρωτόκολλο TCP. Συγκεκριμένα θα πρέπει οι δύο υπολογιστές να εμπλακούν σε μία διαδικασία που ονομάζεται τριμερής χειραψία (three-way handshake), η οποία περιληπτικά έχει ως εξής:

 Ο πελάτης (client) ζητά την δημιουργία μίας σύνδεσης στέλνοντας έναν πακέτο TCP SYN στον διακομιστή (server). Το όνομα του πακέτου προέρχεται από την λέξη syncronize που σημαίνει συγχρονισμός.
 Ο διακομιστής απαντά στην αίτηση του πελάτη στέλνοντάς του ένα πακέτο TCP SYN-ACK, από την αγγλική λέξη acknowledge που σημαίνει αναγνώριση, αποδοχή.
 Ο πελάτης απαντά με ένα πακέτο TCP ACK δηλώνοντας ότι αποδέχεται και αυτός την σύνδεση.

Μετά το πέρας αυτών των τριών βημάτων, η σύνδεση TCP έχει εγκαθιδρυθεί και μπορούν να αποσταλούν δεδομένα προς και από τους δύο υπολογιστές.

Τεχνικές λεπτομέρειες 

Η επίθεση SYN flood είναι αρκετά συνηθισμένη και η πλειοψηφία των σημερινών δικτύων υπολογιστών είναι σε θέση να την αντιμετωπίσει με επιτυχία. Κύρια προϋπόθεση για να επιτύχει η επίθεση είναι ο διακομιστής να δεσμεύει πόρους του συστήματος αμέσως μόλις δεχθεί το πρώτο ACK πακέτο και όχι μετά το πέρας της χειραψίας.

Η επίθεση έχει ως εξής: Ο επιτιθέμενος αποστέλλει στον διακομιστή-θύμα πολλαπλά πακέτα TCP SYN. Ο διακομιστής θεωρεί ότι τα πακέτα αυτά προέρχονται από κανονικό χρήστη, οπότε απαντά με πακέτα SYN-ACK σύμφωνα με την διαδικασία χειραψίας του πρωτοκόλλου TCP. Ο επιτιθέμενος όμως δεν αποστέλλει πακέτα ACK για να ολοκληρωθεί η χειραψία, αλλά αφήνει τον διακομιστή να περιμένει. Επειδή για κάθε ημιτελή σύνδεση TCP ο διακομιστής ξοδεύει υπολογιστικούς πόρους, μετά από κάποιο συγκεκριμένο αριθμό τέτοιων συνδέσεων ο διακομιστής φτάνει στα όριά του και δεν μπορεί να εξυπηρετήσει τους νόμιμους χρήστες. Αυτή η κατάσταση ονομάζεται άρνηση υπηρεσιών (DOS - Denial of Service).

Άμυνα 
Η πιο αποτελεσματική μέθοδος αντιμετώπισης αυτού του κινδύνου είναι η καταγραφή του αριθμού των συνδέσεων που έχει ξεκινήσει κάθε πελάτης (client) και η απαγόρευση δημιουργίας νέων συνδέσεων όταν ο αριθμός αυτός ξεπεράσει κάποιο προκαθορισμένο όριο.

Δείτε επίσης 
 TCP

Επιθέσεις άρνησης υπηρεσιών