Ασφάλεια Υπολογιστικών Συστημάτων Ενότητα 5: Ασφάλεια Δικτύων Νικολάου Σπύρος Τμήμα Μηχανικών Πληροφορικής ΤΕ
Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύπου άδειας χρήσης, η άδεια χρήσης αναφέρεται ρητώς. 2
Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα. Το έργο «Ανοικτά Ακαδημαϊκά Μαθήματα στο TEI Δυτικής Μακεδονίας και στην Ανώτατη Εκκλησιαστική Ακαδημία Θεσσαλονίκης» έχει χρηματοδοτήσει μόνο τη αναδιαμόρφωση του εκπαιδευτικού υλικού. Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράμματος «Εκπαίδευση και Δια Βίου Μάθηση» και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εθνικούς πόρους. 3
Σκοποί ενότητας Αυτή η εργαστηριακή ενότητα πραγματεύεται ζητήματα σχετικά με την ασφάλεια δικτύων. 4
Περιεχόμενα ενότητας Σάρωση δικτύων. Αντίμετρα έναντι του ping. Προσδιορισμός των υπηρεσιών που τρέχουν σε ένα σύστημα. Κατάσταση θύρας. Τεχνικές σάρωσης θυρών. Βιβλιογραφία. 5
Ασφάλεια Δικτύων
Σάρωση δικτύων (1/5) Ένα από τα πιο βασικά βήματα στην απεικόνιση ενός δικτύου είναι η εκτέλεση μιας αυτοματοποιημένης σάρωσης χρησιμοποιώντας το εργαλείο ping σε μια διεύθυνση ή σε ένα εύρος IP διευθύνσεων ενός δικτύου έτσι ώστε να προσδιοριστεί το εάν είναι ενεργές μεμονωμένες συσκευές ή συστήματα. Το ping χρησιμοποιείται παραδοσιακά για να στέλνει πακέτα ICMP ECHO σε ένα σύστημα - στόχο σε μια προσπάθεια να πάρει μια απόκριση ICMP ECHO RELY που αποδεικνύει ότι το σύστημα-στόχος είναι ενεργό. 7
Σάρωση δικτύων (2/5) Αν και το ping είναι αποτελεσματικό σε ένα μικρό ή μεσαίου μεγέθους δίκτυο (Class C ή Class B), είναι αναποτελεσματικό για μεγαλύτερα, επιχειρηματικά δίκτυα εφόσον μπορεί να χρειασθεί ώρες, αν όχι μέρες για να ολοκληρωθεί. Το ping δίνει στην πραγματικότητα 3 βασικές πληροφορίες σχετικά με τον προορισμό: Το αν υπάρχει πρόσβαση σε αυτόν, την κατάσταση του δικτύου και την απόσταση από τον προορισμό. 8
Σάρωση δικτύων (3/5) Όσον αφορά την προσβασιμότητα ενός host, το ping επιδεικνύει το αν ήρθε ή όχι απάντηση ςτα ICMP ECHO REQUESTS που έχει στείλει. Βέβαια το να μην πάρει απάντηση στα ICMP ECHO REQUESTS δεν σημαίνει απαραίτητα και ότι κάποιος host δεν είναι ενεργός. Μπορείτε να σκεφτείτε πιθανές περιπτώσεις στις οποίες το ping δεν θα πάρει απάντηση στα ICMP ECHO REQUESTS που έχει στείλει; 9
Σάρωση δικτύων (4/5) Για τα 2 τελευταία στοιχεία το ping μας δίνει την τιμή 2 μεταβλητών, του RTT και του TTL. Το RTT (Round Trip Time) είναι ο χρόνος που χρειάζεται για να σταλεί ένα ICMP ECHO REQUEST μέχρι και να έρθει η απάντηση ICMP ECHO REPLY. Υψηλές τιμές του RTT σημαίνουν και χαμηλή απόδοση του δικτύου. Ποιές είναι οι παράμετροι οι οποίες πιστεύετε ότι επηρεάζουν το RTT; 10
Σάρωση δικτύων (5/5) Από την άλλη το TTL (Time to Live) μας φανερώνει τον αριθμό των routers ανάμεσα στην πηγή και τον προορισμό. Στην ουσία το TTL αποφεύγει τον κίνδυνο του looping ενός πακέτου IP. Η αρχική τιμή που δίνεται στο TTL του πακέτου είναι 255 η οποία στη συνέχεια μειώνεται σε κάθε router. Αν κάποια στιγμή η τιμή του φτάσει στο 0, τότε το πακέτο απομακρύνεται από τον συγκεκριμένο router. Εξ ορισμού, τα Windows μειώνουν την τιμή του TTL κατά 128, ενώ τα Linux κατά 192. Για να εκτελέσετε μια εντολή ping αρκεί σε cmd να εκτελέσετε: Ping <όνομα host> ή ping <IP host> 11
Αντίμετρα έναντι του ping (1/3) Αν και οι σαρώσεις με το ping μπορεί να φαίνονται ενοχλητικές, είναι σημαντικό να μπορεί να εντοπιστεί αυτή η δραστηριότητα όταν συμβαίνει ή ακόμα και να εμποδιστεί. Η κύρια μέθοδος για να εντοπίσετε επιθέσεις μέσω σαρώσεων ping περιλαμβάνει την χρησιμοποίηση IDS προγραμμάτων (π.χ. snort) βασισμένων σε δίκτυα, που θα δούμε σε επόμενο εργαστήριο. Επιπλέον, πολλά εμπορικά δίκτυα και εργαλεία firewall (από Cisco, Microsoft, McAfee, Symantec και ISS) μπορούν να εντοπίσουν σαρώσεις ping. 12
Αντίμετρα έναντι του ping (2/3) Όσον αφορά την πρόληψη, η καλύτερη μέθοδος είναι η αξιολόγηση του τύπου της ICMP κίνησης που επιτρέπετε στα δίκτυά σας. Εάν και τα περισσότερα firewalls μπορούν να φιλτράρουν πακέτα ICMP, οργανωτικές ανάγκες μπορεί να υπαγορεύουν ότι το firewall θα πρέπει να επιτρέπει κάποια κίνηση ICMP. Μπορείτε για παράδειγμα να επιτρέπετε την κίνηση ICMP REPLY πακέτων μόνο στο δίκτυό σας και μόνο ανάμεσα σε συγκεκριμένους υπολογιστές. 13
Αντίμετρα έναντι του ping (3/3) Γενικά, πρέπει να γνωρίζετε ότι επιτρέποντας απεριόριστη κίνηση ICMP επιτρέπετε στους επιτιθέμενους να πραγματοποιούν επιθέσεις DoS και, ακόμα χειρότερα, αν καταφέρουν να μπουν στο σύστημά σας να κατορθώσουν πραγματικά να μπουν έμμεσα στο λειτουργικό σας και συγκαλυμμένα να στείλουν δεδομένα μέσα στο πακέτο ICMP χρησιμοποιώντας κατάλληλα λογισμικά όπως το loki2. 14
Προσδιορισμός των υπηρεσιών που τρέχουν σε ένα σύστημα (1/2) Έως τώρα είδαμε πώς ένας επιτιθέμενος μπορεί να προσδιορίσει ενεργά συστήματα. Το επόμενο βήμα είναι να κάνει σάρωση των θυρών και των υπηρεσιών των συστημάτων αυτών. Η σάρωση θυρών (port scanning) είναι η διαδικασία αποστολής πακέτων σε θύρες TCP και UDP του συστήματος-στόχου έτσι ώστε να μπορέσει να προσδιοριστεί ποιες υπηρεσίες τρέχουν σε αυτό και ποιες είναι σε κατάσταση LISTENING. 15
Προσδιορισμός των υπηρεσιών που τρέχουν σε ένα σύστημα (2/2) Είναι σημαντικό να προσδιοριστούν οι θύρες που ακροάζονται έτσι ώστε να προσδιοριστούν και τα τρωτά σημεία του συστήματος - στόχου. Επιπλέον, μπορεί να ανακαλυφθεί και ο τύπος και η έκδοση του λειτουργικού συστήματος και των εφαρμογών που εκτελούνται. 16
Κατάσταση θύρας (1/3) Μια προτεινόμενη κατηγοριοποίηση των καταστάσεων μιας θύρας ως αποτέλεσμα μιας σάρωσης θυρών αναγνωρίζει τις παρακάτω καταστάσεις. Open: Η κατάσταση αυτή υποδεικνύει ότι υπάρχει μια εφαρμογή η οποία δέχεται συνδέσεις στην συγκεκριμένη θύρα. Closed: Μία κλειστή θύρα είναι προσβάσιμη αλλά δεν υπάρχει κάποια εφαρμογή η οποία να την χρησιμοποιεί. 17
Κατάσταση θύρας (2/3) Filtered: Δεν μπορεί να προσδιοριστεί το αν είναι ενεργή η συγκεκριμένη θύρα γιατί τα μηνύματα που αποστέλλονται προς αυτήν φιλτράρονται από κάποιο λογισμικό (π.χ. από κάποιο firewall). Unfiltered: Όταν μια θύρα βρίσκεται σε κατάσταση unfiltered σημαίνει ότι η θύρα είναι προσβάσιμη αλλά δεν μπορεί να προσδιοριστεί το αν είναι ανοιχτή ή κλειστή. 18
Κατάσταση θύρας (3/3) Open filtered: Δεν μπορεί να προσδιοριστεί αν η θύρα που χαρακτηρίζεται ότι βρίσκεται σε αυτήν την κατάσταση είναι ανοιχτή ή filtered. Closed filtered: Δεν μπορεί να προσδιοριστεί αν η θύρα που χαρακτηρίζεται ότι βρίσκεται σε αυτήν την κατάσταση είναι κλειστή ή filtered. 19
Τεχνικές σάρωσης θυρών (1/7) TCP Connect. Στην σάρωση αυτή το χρησιμοποιείται η κλήση συστήματος (system call) connect() έτσι ώστε να δημιουργηθούν συνδέσεις ανάμεσα στον επιτιθέμενο και τα posts που τον ενδιαφέρουν στον στόχο. Ο σκοπός στην ουσία είναι να προκαλέσει ο επιτιθέμενος την εκτέλεση της κλασικής τριμερής TCP χειραψίας. Η σάρωση ξεκινάει με την αποστολή ενός πακέτου SYN, δηλαδή του πρώτου πακέτου της χειραψίας. 20
Τεχνικές σάρωσης θυρών (2/7) TCP Connect (Συνέχεια). Οι ανοιχτές θύρες θα αποκριθούν με ένα μήνυμα SYN/ACK, που είναι το δεύτερο μήνυμα της χειραψίας. Αντίστοιχα οι κλειστές θύρες θα απαντήσουν με ένα μήνυμα RST. Στην συνέχεια ο η σάρωση θα απαντήσει με το τρίτο μήνυμα της χειραψίας που είναι το ACK. Ο συγκεκριμένος τύπος σάρωσης μπορεί πολύ εύκολα να ανιχνευθεί και να φανεί σε ποιά ports έχει συνδεθεί ο επιτιθέμενος αναζητώντας τα αρχεία log που πολύ πιθανόν να διατηρεί ο στόχος χρησιμοποιώντας κάποιο κατάλληλο λογισμικό (π.χ. TcpLogView). 21
Τεχνικές σάρωσης θυρών (3/7) Stealth Scanning. Σε περίπτωση που ο επιτιθέμενος δεν θέλει να μπορεί να ανιχνευτεί η σάρωσή του όπως στην TCP Connect μπορεί να χρησιμοποιήσει την Stealth σάρωση (γνωστή και ως TCP SYN). Εδώ η λογική είναι παρόμοια με την TCP Connect αλλά στην ουσία η TCP χειραψία δεν ολοκληρώνεται ποτέ. Η σάρωση ξεκινάει και πάλι με την αποστολή ενός πακέτου SYN, δηλαδή του πρώτου πακέτου της χειραψίας. 22
Τεχνικές σάρωσης θυρών (4/7) Stealth Scanning (Συνέχεια). Οι ανοιχτές θύρες θα αποκριθούν με ένα μήνυμα SYN/ACK, που είναι το δεύτερο μήνυμα της χειραψίας. Αντίστοιχα οι κλειστές θύρες θα απαντήσουν με ένα μήνυμα RST. Στην συνέχεια όμως η Stealth σάρωση, αντί να στείλει το πακέτο ACK και να ολοκληρωθεί η χειραψία, στέλνει ένα πακέτο RST το οποίο τερματίζει την σύνδεση. 23
Τεχνικές σάρωσης θυρών (5/7) Stealth Scanning (Συνέχεια). Εφόσον δεν ολοκληρώνεται η χειραψία, στις περισσότερες περιπτώσεις δεν διατηρούνται πληροφορίες για την ανίχνευση σε logs οπότε καλύπτονται και τα ίχνη του επιτιθέμενου. Παρόλο που οι σαρώσεις Stealth είναι λιγότερο ανιχνεύσιμες από τις TCP Connect μπορούν και αυτές να ανιχνευτούν για παράδειγμα παρακολουθώντας τα μηνύματα SYN τα οποία παραλαμβάνονται από έναν host. 24
Τεχνικές σάρωσης θυρών (6/7) Stealth FIN. Στον τύπο αυτής της σάρωσης αποστέλλεται ένα πακέτο FIN σε κάθε θύρα. Οι κλειστές θύρες αποκρίνονται με RTS μήνυμα ενώ οι ανοιχτές απορρίπτουν το πακέτο. Xmas Tree. Στον τύπο αυτής της σάρωσης αποστέλλεται ένα πακέτο με ενεργοποιημένα τα FIN, URG και PUSH flags σε κάθε θύρα. Οι κλειστές θύρες αποκρίνονται με RST μήνυμα ενώ οι ανοιχτές απορρίπτουν το πακέτο. 25
Τεχνικές σάρωσης θυρών (7/7) Null. Στον τύπο αυτής της σάρωσης αποστέλλεται πακέτο με απενεργοποιημένα όλα τα TCP flags σε κάθε θύρα. Οι κλειστές θύρες αποκρίνονται με RTS μήνυμα ενώ οι ανοιχτές απορρίπτουν το πακέτο. UDP Scanning. Σε αυτήν την σάρωση το αποστέλλεται ένα 0-byte UDP μήνυμα σε κάθε port του στόχου. Σε περίπτωση που παραλειφθεί από τον επιτιθέμενο σαν απάντηση ένα μήνυμα port unreachable τότε το port θεωρείται κλειστό. 26
Σημείωμα Αναφοράς Copyright ΤΕΙ Δυτικής Μακεδονίας, Νικολάου Σπύρος. «Ασφάλεια Υπολογιστικών Συστημάτων». Έκδοση: 1.0. Κοζάνη 2015. Διαθέσιμο από τη δικτυακή διεύθυνση: 27
Σημείωμα Αδειοδότησης Το παρόν υλικό διατίθεται με τους όρους της άδειας χρήσης Creative Commons Αναφορά, Μη Εμπορική Χρήση Παρόμοια Διανομή 4.0 [1] ή μεταγενέστερη, Διεθνής Έκδοση. Εξαιρούνται τα αυτοτελή έργα τρίτων π.χ. φωτογραφίες, διαγράμματα κ.λ.π., τα οποία εμπεριέχονται σε αυτό και τα οποία αναφέρονται μαζί με τους όρους χρήσης τους στο «Σημείωμα Χρήσης Έργων Τρίτων». [1] http://creativecommons.org/licenses/by-nc-sa/4.0/ Ως Μη Εμπορική ορίζεται η χρήση: που δεν περιλαμβάνει άμεσο ή έμμεσο οικονομικό όφελος από την χρήση του έργου, για το διανομέα του έργου και αδειοδόχο. που δεν περιλαμβάνει οικονομική συναλλαγή ως προϋπόθεση για τη χρήση ή πρόσβαση στο έργο. που δεν προσπορίζει στο διανομέα του έργου και αδειοδόχο έμμεσο οικονομικό όφελος (π.χ. διαφημίσεις) από την προβολή του έργου σε διαδικτυακό τόπο. Ο δικαιούχος μπορεί να παρέχει στον αδειοδόχο ξεχωριστή άδεια να χρησιμοποιεί το έργο για εμπορική χρήση, εφόσον αυτό του ζητηθεί. 28
Διατήρηση Σημειωμάτων Οποιαδήποτε αναπαραγωγή ή διασκευή του υλικού θα πρέπει να συμπεριλαμβάνει: το Σημείωμα Αναφοράς. το Σημείωμα Αδειοδότησης. τη δήλωση Διατήρησης Σημειωμάτων. το Σημείωμα Χρήσης Έργων Τρίτων (εφόσον υπάρχει). μαζί με τους συνοδευόμενους υπερσυνδέσμους. 29
Βιβλιογραφία 1. Κρυπτογραφία για Ασφάλεια Δικτύων Αρχές και Εφαρμογές, Stallings. 2. Βασικές Αρχές Ασφάλειας Δικτύων: Εφαρμογές και Πρότυπα, William Stallings. 3. Ασφάλεια δικτύων 6η Έκδοση, McClure Stuart, Scambray Joel, Kurtz George. 4. Ασφάλεια Πληροφοριακών συστημάτων, Παγκαλος Γ., Μαυριδης Ι. 30
Τέλος Ενότητας