IP spoofing

Ο όρος IP spoofing στην επιστήμη των υπολογιστών αναφέρεται στην δημιουργία πακέτων IP με ψεύτικη διεύθυνση προέλευσης ούτως ώστε να συγκαλυφθεί η ταυτότητα του αποστολέα του πακέτου και ο παραλήπτης να νομίζει ότι προήλθε από άλλον υπολογιστή.

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

Το βασικό πρωτόκολλο που χρησιμοποιείται στο διαδίκτυο για την αποστολή και λήψη δεδομένων είναι το IP - Internet Protocol. Κάθε πακέτο IP περιέχει εκτός των δεδομένων και μία κεφαλίδα (header) στην οποία καταγράφεται οι διευθύνσεις IP του αποστολέα και του παραλήπτη του πακέτου. Ένας κακόβουλος χρήστης μπορεί να στείλει ένα πακέτο IP του οποίου η κεφαλίδα να γράφει κάποια άλλη διεύθυνση και όχι την δικιά του. Με τον τρόπο αυτό μπορεί να ξεγελάσει τον παραλήπτη και να τον κάνει να πιστέψει ότι το πακέτο προήλθε από κάποιον άλλο υπολογιστή.
Ο υπολογιστής που λαμβάνει αυτό το πακέτο IP δεν γνωρίζει ότι η διεύθυνση αποστολέα που αναγράφεται στην κεφαλίδα είναι πλαστογραφημένη, οπότε απαντάει στέλνοντας πακέτα IP στην ψεύτικη διεύθυνση. Αυτή η τεχνική χρησιμοποιείται κυρίως από χάκερ, οι οποίοι αφενός δεν θέλουν να αποκαλύψουν την ταυτότητά τους και αφετέρου στις περισσότερες περιπτώσεις επιθέσεων δεν τους ενδιαφέρει η απάντηση του υπολογιστή-θύματος.

Χρήσεις

Το IP spoofing χρησιμοποιείται κυρίως σε επιθέσεις άρνησης υπηρεσιών (DOS - Denial of Service). Οι επιθέσεις αυτού του είδους έχουν ως στόχο να γεμίσουν τον υπολογιστή-θύμα με πολλά πακέτα ούτως ώστε να τον αναγκάσουν να περιέλθει σε δυσλειτουργία και να μην μπορεί να εξυπηρετήσει σωστά τους νόμιμους χρήστες του. Σε τέτοιες περιπτώσεις ο επιτιθέμενος δεν ενδιαφέρεται να λάβει απάντηση στα πακέτα που στέλνει, οπότε συνήθως χρησιμοποιεί την τεχνική IP spoofing ούτως ώστε να κατευθύνει τις απαντήσεις του θύματος προς κάποιον άλλο υπολογιστή. Όπως ειπώθηκε και προηγουμένως, η τεχνική αυτή προσφέρει ακόμη ένα πλεονέκτημα: Κρύβει την πραγματική ταυτότητα του επιτιθέμενου.
Ο επιτιθέμενος στις περισσότερες περιπτώσεις διαλέγει μία τυχαία IP διεύθυνση για να τοποθετηθεί στην κεφαλίδα του IP πακέτου, προσέχοντας όμως η διεύθυνση αυτή να μην είναι σε απαγορευμένη περιοχή (πχ 127.0.0.0, 192.168.0.1 κοκ). Υπάρχουν όμως και περιπτώσεις όπου ο επιτιθέμενος διαλέγει μία συγκεκριμένη IP διεύθυνση του ενδιαφέροντός του, όπως για παράδειγμα κατά την επίθεση Smurf.
Μία άλλη χρήση του IP spoofing είναι για το σπάσιμο των μηχανισμών ασφαλείας δικτύων υπολογιστών. Σε πολλά εταιρικά δίκτυα είναι συνηθισμένο η αναγνώριση των χρηστών να γίνεται μέσω των IP διευθύνσεών τους. Για παράδειγμα ενδέχεται ένας υπολογιστής να είναι ρυθμισμένος ούτως ώστε να επιτρέπει την πρόσβαση χωρίς username και password όταν διαπιστώσει ότι η σύνδεση προέρχεται από κάποια συγκεκριμένη IP (πχ. την IP του υπολογιστή που χρησιμοποιεί ο διευθυντής). Αυτό όμως συνιστά τρύπα ασφαλείας, αφού οποιοσδήποτε εργαζόμενος μπορεί να χρησιμοποιήσει την τεχνική IP spoofing για να κατασκευάσει πακέτα IP με ψεύτικη διεύθυνση προέλευσης και έτσι να αποκτήσει πρόσβαση στον εν λόγω υπολογιστή.
Ο όρος spoofing χρησιμοποιείται γενικά για να περιγράψει κάθε μορφής αλλοίωση στην κεφαλίδα ενός πακέτου, η οποία έχει ως στόχο να παραπλανήσει τον παραλήπτη του πακέτου. Η τεχνική αυτή χρησιμοποιείται και από spammers για την αλλοίωση των κεφαλίδων των email, ούτως ώστε ο παραλήπτης να μην μπορεί να τους εντοπίσει.

Αντιμετώπιση

Η πιο αποτελεσματική αντιμετώπιση ενάντια σε αυτήν την απειλή είναι η χρήση ενός υπολογιστή gateway που θα βρίσκεται ανάμεσα στο τοπικό δίκτυο και το Διαδίκτυο. Ο υπολογιστής αυτός θα είναι κατάλληλα ρυθμισμένος ούτως ώστε να απορρίπτει όλα τα πακέτα που έρχονται από το διαδίκτυο και έχουν ως διεύθυνση προέλευσης την διεύθυνση IP ενός υπολογιστή του τοπικού δικτύου. Με τον τρόπο αυτό εξασφαλίζεται ότι ένας εξωτερικός εισβολέας δεν θα χρησιμοποιήσει κάποια από τις διευθύνσεις IP του τοπικού δικτύου ως ψεύτικη διεύθυνση στα πακέτα του. Επίσης, ο υπολογιστής gateway θα πρέπει να απορρίπτει όλα τα πακέτα που προέρχονται από το τοπικό δίκτυο και έχουν διεύθυνση προέλευσης μία διεύθυνση IP που δεν ανήκει στους υπολογιστές του τοπικού δικτύου. Έτσι εξασφαλίζεται ότι κάποιος χρήστης του τοπικού δικτύου δεν πρόκειται να χρησιμοποιήσει την τεχνική IP spoofing για να επιτεθεί σε κάποιον άλλον υπολογιστή εκτός τοπικού δικτύου.
Μερικά από τα πρωτόκολλα που βρίσκονται σε ανώτερο επίπεδο σε σχέση με το πρωτόκολλο IP (πχ TCP) έχουν τους δικούς τους μηχανισμούς ασφαλείας έναντι του IP spoofing. Για παράδειγμα το TCP αριθμεί κάθε πακέτο που μεταδίδεται ούτως ώστε οι δύο υπολογιστές που συμμετέχουν στην σύνδεση TCP να ξέρουν με βεβαιότητα εάν κάποιο πακέτο ανήκει στην παρούσα σύνδεση ή προέρχεται από κάποιον τρίτο υπολογιστή.