Denial Of Service (D.O.S.) Επιθέσεις





- Από τον Vampyre

Οι D.O.S. επιθέσεις ή Denial Of Service Επιθέσεις που στα Ελληνικά μεταφράζονται περίπου ως Επίθεση Άρνησης Παροχής Υπηρεσιώνέχουν γίνει κάτι πολύ απλό και καθημερινό στους hackers* και crackers σαν ένα μέσο προς την δόξα και την αναγνώριση σε πολλές ανορθόδοξες (underground) ομάδες στο Internet. Denial Of Service Επίθεση βασικά σημαίνει την διακοπή (άρνηση) της χρήσης του Internet ή/και του δικτύου στους νόμιμους χρήστες του. Αυτό γίνεται δυνατό με μια ηλεκτρονική "επίθεση" (attack) στους παροχείς Internet ή/και στα Websites με αποτέλεσμα την "κατάρρευση" (crash) του συστήματος και την απενεργοποίησή του.

Με άλλα λόγια θα μπορούσε κάποιος να περιγράψει μια Denial Of Service Επίθεση, λέγοντας ότι μια τέτοια επίθεση έχει ως σκοπό να υπερφορτώσει τόσο πολύ το σύστημα-στόχο καταναλώνοντας μνήμη και bandwidth έτσι ώστε να μην είναι σε θέση πλέον να εξυπηρετήσει τους κανονικούς χρήστες του. Αυτό επιτυγχάνεται μέσω της αποστολής πακέτων δεδομένων (data packets) σε υπερβολικά μεγάλο ρυθμό έτσι ώστε το σύστημα-στόχος να αδυνατεί να τα επεξεργαστεί με αποτέλεσμα τις περισσότερες φορές να πρέπει να γίνει επανεκκίνηση (reboot).

Οι πιο συνηθισμένοι τύποι Denial Of Service Επιθέσεων είναι :
Οι επιθέσεις που εκμεταλλεύονται αδυναμίες του πρωτοκόλλου TCP/IP
Οι επιθέσεις που εκμεταλλεύονται αδυναμίες του IPv4
Οι επιθέσεις που προσπαθούν να εξαντλήσουν όλους τους πόρους (resources) - μνήμη, CPU, Bandwidth - του συστήματος στόχου με αποτέλεσμα την διακοπή της λειτουργίας του.

Ας δούμε μερικές D.O.S. επιθέσεις που σχετίζονται με το πρωτόκολλο TCP/IP. Οι πιο γνωστές είναι οι Ping of Death, Teardrop, SYN Attack, Land Attack και Smurf Attack.


Ping of Death: Αυτή η επίθεση είναι πολύ γνωστή και χρησιμοποιούταν παλαιότερα για να κάνει απομακρυσμένα συστήματα να "παγώνουν" (hang) ή ακόμα και να κάνουν αυτόματη επανεκκίνηση (reboot), έτσι ώστε οι χρήστες να μην μπορούν να τα χρησιμοποιήσουν. Αυτό πλέον δεν είναι εφικτό μια και στις μέρες μας σχεδόν όλοι οι Διαχειριστές των Συστημάτων (Systems Administrators) έχουν αναβαθμίσει τα συστήματά τους κάνοντάς τα ασφαλή από τέτοιες επιθέσεις.

Ο τρόπος για να γίνει αυτή η επίθεση είναι να στείλει κάποιος ένα πακέτο data (data packet) που υπερβαίνει το μέγιστο επιτρεπόμενο όριο bytes του πρωτοκόλλου TCP/IP, που είναι 65536. Στέλνοντας ένα πακέτο data (data packet) μεγαλύτερο από αυτό, αμέσως το σύστημα-στόχος πάθαινε κατάρρευση (crash) ή/και "πάγωνε" (hang) ή/και έκανε επανεκκίνηση (reboot). Το Ping Of Death έγινε πολύ δημοφιλές λόγω της ευκολίας στην υλοποίηση του. Επίσης αυτού του τύπου η επίθεση ήταν και είναι ακόμα πολύ δημοφιλής στο IRC (Internet Relay Chat).

Teardrop: Αυτή η επίθεση εκμεταλλεύεται την αδυναμία του πρωτοκόλλου TCP/IP στην επανασύνδεση (reassembly) των πακέτων δεδομένων (data packets) κατά την λήψη τους. Όταν στέλνονται data στο Internet αυτά κατανέμονται σε μικρότερα κομμάτια στην υπολογιστή που κάνει την μετάδοση και συναρμολογούνται πάλι στον υπολογιστή που λαμβάνει. Ας υποθέσουμε ότι θέλουμε να στείλουμε 8000 bytes από έναν υπολογιστή σε έναν άλλον. Δεν θα τα στείλουμε όλα μαζί με μία μετάδοση (transmission) αλλά θα κοπούν σε μικρότερα πακέτα data (data packets) και κάθε πακέτο θα έχει συγκεκριμένο κομμάτι από τα 8000 bytes όπως : πακέτο 1ο θα έχει byte 1 έως byte 1500, πακέτο 2ο θα έχει byte 1501 έως byte 3000, πακέτο 3ο θα έχει byte 3001 έως byte 4000 κ.λ.π.

Αυτά τα πακέτα έχουν στο αρχικό τους κομμάτι (TCP header) ένα πεδίο (offset) που περιγράφει πως θα γίνει η συναρμολόγηση στο σύστημα που θα λάβει τα πακέτα. Στην επίθεση αυτή τα πακέτα που στέλνονται υπερκαλύπτουν το ένα το άλλο με αποτέλεσμα όταν το σύστημα που τα λαμβάνει προσπαθεί να τα συναρμολογήσει (reassembly) παθαίνει κατάρρευση (crash) ή/και "πάγωμα" (hang) ή/και επανεκκίνηση (reboot).

SYN Attack / Land Attack: Αυτές οι δύο επιθέσεις είναι ίδιες με τη διαφορά ότι η SYN attack χρησιμοποιεί ανύπαρκτες διευθύνσεις IP για να αναγκάσει το σύστημα στόχο να περιμένει για πάντα για μια απάντηση από ανύπαρκτη IP διεύθυνση ενώ η Land Attack αντί για ανύπαρκτες IP διευθύνσεις χρησιμοποιεί την IP του συστήματος-στόχου και αυτό έχει ως αποτέλεσμα μια ατελείωτη σειρά (endless loop) επεξεργασίας για το σύστημα. Και οι δύο επιθέσεις έχουν ως αποτέλεσμα, όταν γίνονται μαζικά, κατάρρευση (crash) ή/και "πάγωμα" (hang) ή/και επανεκκίνηση (reboot).

Smurf Attack : Η Smurf attack είναι μια επίθεση όπου στέλνεται ένας υπέρογκος αριθμός από ping requests συνήθως στον router του δικτύου, χρησιμοποιώντας ψεύτικες (spoofed) IP διευθύνσεις μέσα από το ίδιο το δίκτυο. Κάθε φορά που ο router δέχεται ένα Ping request θα το διανείμει (route it) ή θα απαντήσει σε αυτό (echo back), με αποτέλεσμα την υπερφόρτωση (flood) του δικτύου με πακέτα και την διακοπή της λειτουργίας του.

Οι D.O.S. επιθέσεις δεν είναι τίποτα καινούριο στο Internet. Στην πραγματικότητα υπάρχουν και είναι γνωστές εδώ και αρκετά χρόνια. Τον τελευταίο καιρό όμως έχει γίνει ένας μεγάλος αριθμός από D.O.S. επιθέσεις και έχουν καταλήξει να θεωρούνται πιο επιβλαβείς από τις χιλιάδες ιών (viruses)/trojans που κυκλοφορούν στο Internet. Είναι εύκολο να κατανοήσει κανείς ότι στις περιπτώσεις επιθέσεων που περιγράφηκαν πιο πάνω είναι σχετικά εύκολο να βρεθεί ο επιτιθέμενος και να συλληφθεί. Αυτό δεν συμβαίνει όμως στις D.D.O.S. (Κατανεμημένες D.O.S. Επιθέσεις - Distributed D.O.S. Attacks) επιθέσεις οι οποίες έχουν γίνει ιδιαίτερα γνωστές τον τελευταίο χρόνο.


Ας υποθέσουμε ότι μια ομάδα hackers* θέλει να επιτεθεί σε ένα από τα μεγάλα websites (π.χ. yahoo.com, amazon.com, ebay.com κ.λ.π.). Ας υποθέσουμε ότι η ομάδα αποτελείται από 4 άτομα. Κάθε ένας/μία επιτίθεται σε ένα μικρότερο δίκτυο - το οποίο δεν έχει σχέση με τη σελίδα που θέλουν να «χτυπήσουν» - καταλαμβάνοντάς το πλήρως (complete takeover). Κάθε μικρότερο δίκτυο ας υποθέσουμε ότι αποτελείται από 30+ υπολογιστές. Τώρα λοιπόν οι hackers* κάθονται αναπαυτικά ο καθένας στον υπολογιστή του σπιτιού του και χρησιμοποιούν τους ξένους υπολογιστές για να κάνουν την επίθεση, αφού πρώτα έχουν εγκαταστήσει κάποιο εργαλείο D.O.S. attack σε αυτούς. Το αποτέλεσμα είναι 120+ υπολογιστές να κάνουν επίθεση στο συγκεκριμένο site, καταναλώνοντας bandwidth, μνήμη, και CPU. Το τι θα συμβεί εξαρτάται από το σύστημα στόχο. Μπορεί να παρατηρηθεί αργή απόκριση (lag) μέχρι και ολική κατάρρευση (crash). Οι hackers* έχοντας απόλυτο έλεγχο στα μικρότερα δίκτυα σβήνουν κάθε στοιχείο της επέμβασής τους με αποτέλεσμα να είναι αδύνατος ο εντοπισμός τους τις περισσότερες φορές.

Παράδειγμα Κατανεμημένης D.O.S. Επίθέσης - Distributed D.O.S. Attack :

(να σημειωθεί ότι το παράδειγμα είναι αληθινό και μπορείτε να διαβάσετε εδώ λεπτομερή περιγραφή του)

Το παράδειγμα αυτό μπορεί να αποδείξει ότι στις μέρες μας κανείς δεν μπορεί πλέον να νοιώθει ασφαλής και ότι είναι πολύ εύκολο ακόμα και ένα παιδί (script kiddie) να εκτελέσει μια D.D.O.S. attack.


Σύστημα στόχος: grc.com

Ομάδα επίθεσης αποτελούμενη από: 1 άτομο

Μέσα εκτέλεσης D.D.O.S.: Προσωπικοί υπολογιστές με εγκατεστημένα trojans που ελήφθησαν με e-mail ή άλλο τρόπο συνδεδεμένοι σε υψηλής ταχύτητας Internet connections (cable modems, ADSL, ISDN)

Αριθμός Bots*: 474+

Τρόπος επίθεσης: 2.399.237.016 (!!!) Invalid UDP πακέτα

Τρόπος εκτέλεσης: Σε κάθε έναν από αυτούς του προσωπικούς υπολογιστές είχε εγκατασταθεί ένα πρόγραμμα trojan με το όνομα rundIl.exe (rundii.exe) αντί για runDLL.exe το οποίο λόγω των κακών γραμματοσειρών των Windows δεν γινόταν ορατό στον χρήστη εύκολα. Αυτό το προγραμματάκι ήταν ένα script που συνδεόταν κρυφά σε έναν IRC server και αρχικά συμπεριφερόταν σαν IRC bot**. Μετά "κατέβαζε" από το Internet ένα κομμάτι του Sub7 trojan δίνοντας απόλυτο έλεγχο στον προσωπικό υπολογιστή του χρήστη. Για να εκτελεστούν οι D.D.O.S. επιθέσεις αρκούσε το αρχικό script αλλά το Sub7 έδινε την δυνατότητα στον hacker* να μπορεί να δει και όλα τα αρχεία του ηλεκτρονικού υπολογιστή του χρήστη καθώς επίσης και να κλέψει όλα τα passwords ή οτιδήποτε άλλο του ήταν χρήσιμο.


Κάθε χρήστης αυτών των υπολογιστών αμέσως μόλις συνδεόταν στο Internet ο υπολογιστής του κρυφά συνδεόταν σε έναν IRC server και έμπαινε σε ένα κρυφό IRC channel όπου περίμενε εντολές. Μετά αρκούσε ο hacker* να δώσει μια εντολή του τύπου !p4 IP_συστήματος_στόχου και αμέσως το rundIl.exe σε κάθε υπολογιστή άρχιζε να εκτελεί εντολές του τύπου Ping Of Death αλλά με τη διαφορά ότι το μέγεθος του πακέτου ήταν 65500 ενώ η ποσότητα του ήταν 10,000 ping requests. Σε συνδυασμό με την εντολή !udp IP_συστήματος_στόχου με την οποία στέλνονταν 1 εκατομμύριο invalid UDP πακέτα με μηδενική αναμονή (delay) μεταξύ τους, έφταναν για να απορροφήσουν όλο το bandwidth του συστήματος και να του κόψουν τη σύνδεση από το Internet.

Ήταν αδύνατον να βρεθεί ποιος έκανε αυτού του τύπου την επίθεση γιατί ο hacker* χρησιμοποιούσε υπολογιστές απλών ανθρώπων που συνδέονταν στο Internet και ήταν αρκετά αφελείς για να δέχονται οποιοδήποτε αρχείο που τους αποστελλόταν χωρίς έλεγχο και δεν χρησιμοποιούσαν ένα καλό firewall*** για προστασία.

Κανένα σύστημα συνδεδεμένο στο Internet δεν είναι ασφαλές από D.D.O.S. επίθεση. Όλα τα λειτουργικά μπορούν και να προσβληθούν και να χρησιμοποιηθούν για τέτοιες επιθέσεις : Unix, Linux, Windows9x, NT, 2K ακόμα και Apple MacOS. Κανένας χρήστης του Internet δεν είναι ασφαλής αν δεν χρησιμοποιεί έναν καλό συνδυασμό προγράμματος προστασίας ενάντια στους ιούς (antivirus) και ένα καλό firewall.

Vampyre
Σχόλια