DDoS - Επιθέσεις τύπου SYN Flood



Η δημιουργία μιας σύνδεσης TCP απαιτεί την ανταλλαγή τριών πακέτων μεταξύ των δύο μηχανών που πρόκειται να συνδεθούν η οποία είναι γνωστή ως TCP τριμερής χειραψία. Παρακάτω φαίνεται πως λειτουργεί η ανταλλαγή αυτή :
Η τριμερής χειραψία
 Η παραλαβή από τον εξυπηρετητή του πακέτου SYN ενός πελάτη, αναγκάζει τον εξυπηρετητή να προετοιμαστεί για μια σύνδεση TCP. Ο εξυπηρετητής δεσμεύει για τον σκοπό αυτό μνήμη και άλλους σημαντικούς πόρους και ετοιμάζεται για το τελικό ACK του πελάτη ώστε να ολοκληρώσει την διαδικασία εγκατάστασης σύνδεσης. Σε περίπτωση που το ACK πακέτο του πελάτη αποτύχει να φτάσει στον εξυπηρετητή θα στείλει (o server) εκ νέου το πακέτο SYN/ACK, θεωρώντας ότι είτε είχε χαθεί είτε είχε απορριφθεί από κάποιο ενδιάμεσο δρομολογητή.

  
Όμως το πεδίο Source IP του περιέχεται στο SYN πακέτο πλαστογραφείται σκόπιμα (είναι συνήθως ένας τυχαίος αριθμός). Έτσι το SYN/ACK θα αποσταλεί σε αυτή την τυχαία διεύθυνση στο διαδίκτυο. Εάν το πακέτο απευθύνθηκε σε μια έγκυρη διεύθυνση IP τότε ο παραλήπτης θα απαντήσει με ένα reset πακέτο για να ενημερώσει ότι δεν ζήτησε την σύνδεση.

Η επίθεση SYN Flood


Το πρόβλημα είναι ότι ο εξυπηρετητής δεν έχει κανένα τρόπο να γνωρίσει ότι το αίτημα σύνδεσης του κακόβουλου πελάτη ήταν ψευδές και επομένως πρέπει να το διαχειριστεί όπως οποιοδήποτε άλλο έγκυρο αίτημα σύνδεσης.
  
Όπως μπορούμε να φανταστούμε, όλη αυτή η διαχείριση σύνδεσης καταναλώνει τους πολύτιμους και περιορισμένους πόρους του server. Εν τω μεταξύ, ο επιτιθέμενος πελάτης TCP συνεχίζει να βομβαρδίζει τον server με πρόσθετα ψευδή πακέτα SYN, αναγκάζοντάς τον να συσσωρεύσει μια συνεχώς αυξανόμενη ομάδα μη-ολοκληρωμένων συνδέσεων. Σε κάποιο σημείο, ο server θα είναι ανίκανος να αποδεχτεί άλλες "μισάνοιχτες" συνδέσεις και ακόμη και οι έγκυρες συνδέσεις θα αποτύχουν, δεδομένου ότι η ικανότητα του server να αποδεχτεί οποιαδήποτε νέα σύνδεση θα έχει κακόβουλα καταναλωθεί.


Οι επιθέσεις τύπου flood είναι η πιο απλή και παράλληλα η πιο διαδεδομένη μορφή επιθέσεων άρνησης εξυπηρέτησης (Denial-of-Service ή DoS). Οι επιθέσεις αυτές πραγματοποιούνται σε χαμηλό επίπεδο και συνήθως δεν αφορούν κάποια συγκεκριμένη υπηρεσία. (Tipton H., Krause M.; 2004). Κατά την επίθεση αυτή, ο επιτιθέμενος έχει δύο στόχους:

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

Οποιοσδήποτε από τους δύο στόχους και αν επιτευχθεί θα δημιουργηθεί ζημιά, είτε επειδή ο διακομιστής δεν θα μπορεί να εξυπηρετήσει πελάτες ή επειδή η πραγματική ταχύτητα του δικτύου θα ελαττωθεί δραματικά. Στην απλή περίπτωση των επιθέσεων άρνησης εξυπηρέτησης μπορεί απλά να περιοριστεί το εύρος ζώνης (bandwidth) ή/και οι συνδέσεις ανά πελάτη (client) με βάση την IP διεύθυνση του. Στην περίπτωση των κατανεμημένων επιθέσεων άρνησης εξυπηρέτησης (DDoS) το πρόβλημα ανίχνευσης της επίθεσης, ιδιαίτερα στα πρώιμα στάδια, είναι πολύ πιο δύσκολο να αντιμετωπιστεί αφού σε μια στοιχειώδη μονάδα χρόνου μπορεί να έχουμε χιλιάδες αιτήσεις για εξυπηρέτηση και σε αυτή την περίπτωση τα φίλτρα περιορισμού του εύρους ζώνης και των συνδέσεων δεν μπορούν να επεξεργαστούν αποτελεσματικά τον μεγάλο όγκο πληροφορίας που μεταφέρεται.

Κατανεμημένη επίθεση άρνησης εξυπηρέτησης (DDoS). Ο επιτιθέμενος, έχοντας καταλάβει ένα σημαντικό αριθμό υπολογιστικών μονάδων (zombies), δίνει εντολή για να ξεκινήσει η επίθεση προς τον διακομιστή (server).
  
Βιβλιογραφία
  1. Tipton H., Krause M.; (2004); “Information Security Management Handbook”; Auerbach Publications; New York; pp 260 - 262

Δεν υπάρχουν σχόλια: