ΜΕΘΟ ΟΙ & ΕΡΓΑΛΕΙΑ ΕΛΕΓΧΟΥ ΤΡΩΤΟΤΗΤΑΣ ΠΛΗΡΟΦΟΡΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "ΜΕΘΟ ΟΙ & ΕΡΓΑΛΕΙΑ ΕΛΕΓΧΟΥ ΤΡΩΤΟΤΗΤΑΣ ΠΛΗΡΟΦΟΡΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ"

Transcript

1 ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ Τµήµα ιδακτικής της Τεχνολογίας & Ψηφιακών Συστηµάτων Κατεύθυνση Συστηµάτων Επικοινωνιών και ικτύων ΜΕΘΟ ΟΙ & ΕΡΓΑΛΕΙΑ ΕΛΕΓΧΟΥ ΤΡΩΤΟΤΗΤΑΣ ΠΛΗΡΟΦΟΡΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Ν ι κ ό λ α ο ς Γ. Γ ι α ν ν ό π ο υ λ ο ς Επιβλέπων: Σωκράτης Κάτσικας Καθηγητής Πα.Πει Πειραιάς, Αύγουστος 2008 i

2 Στην Πατρίτσια ii

3 Πρόλογος Ασφάλεια, εµπιστευτικότητα και ιδιωτικότητα ως φύλακες της δικαιοσύνης είναι ζητούµενα που ήταν,είναι αλλά και πάντα θα είναι έγνοιες της κοινωνίας µας. Αυτήν ακριβώς την ανάγκη έχουµε και σήµερα για τα δίκτυα των Π.Σ (Πληροφοριακών Συστηµάτων).Τα δίκτυα και τα Π.Σ είναι απαραίτητα αγαθά που γνωρίζουν παγκόσµια αποδοχή τόσο σε προσωπικό επίπεδο µέσα από την βελτίωση της καθηµερινότητας αλλά και σε επιχειρησιακό, αφού το ηλεκτρονικό εµπόριο, οι δικτυακές επιχειρησιακές δράσεις και η παγκόσµια διασύνδεση έχουν γίνει κοµµάτια ζωτικής σηµασίας µιας επιτυχηµένης επιχειρησιακής στρατηγικής. Σαφώς, τα Π.Σ υπάρχουν και εξελίσσονται σε ένα πολυσύνθετο περιβάλλον που απαρτίζεται από διαρκώς µεταβαλλόµενες σχέσεις µε µηχανές, τεχνολογίες, δεδοµένα, ανθρώπινες ανάγκες και σκοπιµότητες,κινδύνους και δίκτυα πληροφοριών όπως το ιαδίκτυο, που ολοένα και πιο πολύ ταυτίζονται µε αυτό και τις προεκτάσεις του. Τα Π.Σ καθώς και όλα αυτά που τα περιβάλλουν διέπονται από µια δυναµική σχέση, αφού οι µεταβολές του ενός αντανακλούν στο άλλο δηµιουργώντας συχνά νέες αδυναµίες, αναγκάζοντας έτσι τις απαιτήσεις ασφάλειας να προσαρµόζονται διαρκώς. Ακόµα και αν οι διαδικασίες χρήσης και διαχείρισης ενός Π.Σ προκαθοριστούν επακριβώς, η αυστηρή προσκόλληση σε αυτές είναι σπάνιο φαινόµενο και έτσι συχνά καταστρατηγούνται στη διάρκεια του χρόνου. Σε έρευνα που πραγµατοποίησε το Ινστιτούτο Ασφάλειας Υπολογιστών των Η.Π.Α [CSI102,P.11] διαπιστώθηκε ότι το 2001 οι ερωτηθέντες εταιρίες δέχτηκαν απώλειες $ προερχόµενες από κλοπές πληροφοριών που ήταν αποτέλεσµα δολιοφθορών πάνω στα Π.Σ τους. Η τελευταία αντίστοιχη έρευνα για το 2007 δίνει απώλειες $ (CSI,2007). Για την Ελλάδα τα σχετικά στοιχεία έρχονται από το 2 ο Συνέδριο για το Ηλεκτρονικό Έγκληµα και την Ασφάλεια Πληροφοριακών και Τηλεπικοινωνιακών Συστηµάτων που διοργάνωσε το Ινστιτούτο Ερευνών και Μελετών Τηλεπικοινωνιών και Πληροφορικής Χωρών Νοτιοανατολικής Ευρώπης (ΙΝΑ) σε συνεργασία µε την εταιρία MD5 στις 15 & 16 Ιουνίου 2006 στη Θεσσαλονίκη. Εκεί αναφέρθηκε ότι το οικονοµικό κόστος για το ελληνικό δηµόσιο, τον ιδιωτικό τοµέα και τους χρήστες που δηµιουργείται από την τηλεπικοινωνιακή i

4 απάτη στην Ελλάδα ήταν 157 εκ. ευρώ για το 2005.Ενδεικτικό, επίσης, είναι το αποτέλεσµα της µελέτης της BSA (Business Software Alliance) που δηµοσιεύθηκε τον Ιανουάριο 2008 και προβλέπει ότι, εάν το ποσοστό ηλεκτρονικών απατών µειωθεί 10 ποσοστιαίες µονάδες µέχρι το 2012, θα µπορούσε να δηµιουργήσει περισσότερες από νέες θέσεις εργασίας, να συµβάλει στην εθνική οικονοµία κατά 261 εκατ. ευρώ και να αποφέρει 88 εκατ. ευρώ σε φορολογικά έσοδα. Για αυτούς τους λόγους δηµόσιο και ιδιώτες έχουν υιοθετήσει λειτουργίες και διαδικασίες ασφάλειας,ώστε να προφυλάξουν τα συστήµατα τους. Οι περισσότεροι δουλεύουν επιµελώς στο να συντηρούν µια αποδοτική πολιτική ασφάλειας εφαρµόζοντας τα νεότερα προϊόντα και υπηρεσίες, ώστε να αποτρέψουν απάτες και επιθέσεις. Παρόλ αυτά πολλές επιχειρήσεις παραβλέπουν ένα καθοριστικό κοµµάτι της πολιτικής της ασφάλειας: εν εξετάζουν τακτικά το δίκτυο και τα συστήµατα ασφαλείας, ώστε να επιβεβαιώσουν αν λειτουργούν όπως θα έπρεπε εντοπίζοντας ουσιαστικά τις τρωτότητες του πληροφοριακού συστήµατος του. Οι έλεγχοι τρωτότητας και διείσδυσης ως κοµµάτι της γενικότερης πολιτικής ασφάλειας αναφέρονται στη συστηµατική εξέταση ενός συστήµατος, ώστε να προσδιοριστεί η επάρκεια ή η ανεπάρκεια των µέτρων ασφάλειας όπως και οι τρωτότητες στο σχεδιασµό που θα µπορούσαν να αποτελέσουν λαβή παραβίασης της πολιτικής ασφάλειας του συστήµατος. Τελικά προκύπτει µία αξιολόγηση που καταδεικνύει την ευπάθεια ενός Π.Σ µε απώτερο σκοπό φυσικά να παρθούν τα κατάλληλα αντίµετρα. Σκοπός αυτής της εργασίας είναι να µελετήσει τα εργαλεία και τις µεθόδους που χρησιµοποιούνται για τους ελέγχους τρωτότητας και διείσδυσης. Αυτό θα πραγµατοποιηθεί µε παρουσίαση,εφαρµογή και αξιολόγηση των εργαλείων και µεθόδων µε χαρακτηριστικούς αντιπροσώπους αυτών στην παγκόσµια αγορά τα Nmap, Wireshark, Nessus, Metasploit Framework και CoreImpact. KEYWORDS (vulnerability testing, penetration testing, security, έλεγχος τρωτότητας, έλεγχος διείσδυσης,, Ασφάλεια Πληροφοριακών Συστηµάτων,Nmap, Wireshark, Nessus, Frameworks, Metasploit,CoreImpact). ii

5 Ευχαριστίες Θερµές ευχαριστίες εκφράζω στον Καθηγητή κο Σωκράτη Κάτσικα για την επίβλεψη και τη βοήθεια που µου παρείχε για την ολοκλήρωση της πτυχιακής µου εργασίας. Ευχαριστίες επίσης οφείλονται στον συνεξεταστή Χρήστο Ξενάκη. Ιδιαίτερες ευχαριστίες οφείλονται στον κ. Χρυσοστοµίδη Ε. Χρήστο, µηχανικός και υπεύθυνος έρευνας και ανάπτυξης της εταιρίας Πολύχρωµο, τόσο για το πλήθος των δεδοµένων που µου κατέστησε διαθέσιµα όσο και για τον τρόπο ουσιαστικής και επιστηµονικής σκέψης που µου δίδαξε µέσα από την συνεργασία µας. Επίσης σηµαντική ήταν η βοήθεια που µου προσέφερε η κλασική φιλόλογος Κωνσταντίνα Αναγνώστου στην ορθή µορφοποίηση, σύνταξή και τον γραµµατικό έλεγχο ολόκληρου του κειµένου. Τέλος εκφράζω την ευγνωµοσύνη µου στους γονείς µου και στην αδελφή µου για την υποστήριξη και τη ανεκτίµητη βοήθεια τους σε όλη την διάρκεια των σπουδών µου. iii

6 Περιεχόµενα Πρόλογος.. i Ευχαριστίες...iii Περιεχόµενα..iv Κατάλογος Πινάκων. vii Κατάλογος Εικόνων.... viii 1. ΕΙΣΑΓΩΓΗ ΣΤΟ ΠΕΡΙΒΑΛΛΟΝ ΤΗΣ ΑΣΦΑΛΕΙΑΣ Εισαγωγή Ιστορική Αναδροµή Οικουµενική Εξυπηρέτηση σε ένα Ετερογενή Κόσµο ιαδικτύωση Υπολογιστική Πελάτη- ιακοµιστή Πρωτόκολλα και ιαστρωµάτωση Πακέτα εδοµένων Ελεγκτής προσπελασιµότητας, DNS & DoS Ιχνηλάτης ροµολογίου Ασφάλεια ικτύων Πληροφοριακών Συστηµάτων Αντιπυρικά Τείχη και Αποστρατικοποιηµένες Ζώνες Πώς διεισδύουν οι διαρρήκτες Μέθοδοι επιθέσεων Έλεγχος τρωτότητας και διείσδυσης iv

7 1.15 Οι Πέντε φάσεις ενός Ελέγχου ιείσδυσης Συστατικά Πλατφόρµας Αποτίµησης Ασφάλειας ικτύου ΠΑΡΟΥΣΙΑΣΗ & ΑΞΙΟΛΟΓΗΣΗ ΕΡΓΑΛΕΙΟY NΜΑΡ Χαρτογράφηση Εισαγωγή στο Nmap Χαρακτηριστικά του Nmap Τα βασικά γνωρίσµατα του Nmap Η διαδικασία ανίχνευσης Nmap Μέθοδοι Ανίχνευσης Το NMAP απέναντι στις σύγχρονες προκλήσεις ΠΑΡΟΥΣΙΑΣ & ΑΞΙΟΛΟΓΗΣΗ ΤΟΥ ΕΡΓΑΛΕΙΟΥ WIRESHARK. ΣΕ ΣΥΝ ΥΑΣΜΟ ΜΕ ΤΗΝ ΗΟΝΕΥNET ΤΕΧΝΟΛΟΓΙΑ Εισαγωγή Εισαγωγή στο Wireshark Μέθοδοι βέλτιστης αξιοποίησης Wireshark στον έλεγχο τρωτότητας πληροφοριακών συστηµάτων Φίλτρα σύλληψης - απεικόνισης & ιεπαφές Αποτελεσµάτων Μέθοδοι & Πραγµατικότητα Honeypot Τεχνολογία Μελέτες περιπτώσεων Honeynet Α Μελέτη περίπτωσης Β Μελέτη περίπτωσης v

8 4. ΠΑΡΟΥΣΙΑΣΗ & ΑΞΙΟΛΟΓΗΣΗ ΕΡΓΑΛΕΙΟΥ NESSUS.. ΚΑΙ ΕΦΑΡΜΟΓΗ ΑΥΤΟΥ ΣΤΟ ΣΥΣΤΗΜΑ ΕΣΤΙΑ Εισαγωγή Εισαγωγή στο Nessus Nessus Αρχιτεκτονική Απαιτήσεις Συστήµατος ιαµόρφωση επιλογών & βασικές λειτουργίες ελέγχου τρωτότητας Παρουσίαση αποτελεσµάτων Μελέτη περίπτωσης ΕΣΤΙA Σχεδιασµός συστήµατος Παρουσίαση υποσυστηµάτων συστήµατος Σχεδιασµός υποσυστηµάτων και λειτουργίες τους Ορισµός διεπαφών υποσυστηµάτων Σύνοψη σχεδιασµού του συστήµατος ΕΣΤΙΑ ΠΑΡΟΥΣΙΑΣΗ & ΑΞΙΟΛΟΓΗΣΗ ΤΟΥ METASPLOIT Εισαγωγή στο MSF Η MSF Αρχιτεκτονική και Τεχνολογία Αναγνώριση Λειτουργικού Συστήµατος µε MSF ΠΑΡΟΥΣΙΑΣΗ & ΑΞΙΟΛΟΓΗΣΗ ΤΟΥ CORE IMPACT Εισαγωγή στο Core IMPACT IMPACT Αρχιτεκτονική και Τεχνολογία Εκτέλεση ελέγχων διείσδυσης µε το IMPACT Εκτέλεση ελέγχου διείσδυσης µε το IMPACT 159 vi

9 7. ΣΥΜΠΕΡΑΣΜΑΤΑ Εισαγωγή Κριτήρια Αξιολόγησης Κατάταξη εργαλείων ελέγχου τρωτότητας Ουτοπία ασφαλών συστηµάτων.165 Βιβλιογραφικές Αναφορές..167 Παράρτηµα Α. 168 vii

10 Κατάλογος Πινάκων 2.1 Συγκριτική παρουσίαση µεθόδων Nmap Μέθοδοι Παρουσίασης Αποφάσεις Auth Server Στρωµάτωση των πρωτοκόλλων επικοινωνίας Βασικά modules viii

11 Κατάλογος Εικόνων 1.1 Τυπικό πακέτο Έκρηξη ιαδικτύου Συµπόρευση υπολογιστών και ιαδικτύου στην Ελλάδα Η έννοια του διαδικτύου Στοιχειώδη αλληλεπίδραση κλήσεων ΑΡΙ Τα 5 επίπεδα TCP/IP και οι µονάδες & τα δεδοµένων πρωτοκόλλου (PDU) Τερµατικά και µεταγωγείς Μορφή δεδοµενογράµµατος ΙΡv εδοµένα εξόδου ping εδοµένα εξόδου traceroute Αρχιτεκτονική DMZ διπλού τείχους Ποσοστά επιθέσεων λογισµικού Εµφάνιση τρωτοτήτων ανά έτος ιαφορετικές υπηρεσίες ελέγχου ασφάλειας Html αποτέλεσµα Nmap σάρωσης Capture φίλτρο Βασική διεπαφή Wireshark Εµφάνιση TCP δεδοµένων που µεταφερθήκαν Ανακατεύθυνση εισβολέων στη Honeyfarm Εµφάνιση των search πακέτων του εισβολέα εδοµένα TCP / buffer overflow GUI exploit λύση αντί command line Τελευταία & επιτυχηµένη Search εντολή στην ix

12 3.9 Σύνδεση επιτιθέµενου στην θύρα Θύρα προορισµού 8976(FTP) Έναυσµα υπηρεσίας του FTP εξυπηρετητή Αποτελέσµατα φίλτρου radmin client Επανεµφάνιση επιτιθέµενου Άνοιγµα διεργασίας cmd.exe Σηµεία παύσης διεργασιών welcome silencer.txt Τελικό αποτέλεσµα δηµιουργίας υποκαταλόγων fxp protocol Σύνδεση µε την κύρια βάση δεδοµένων NesusClient Προεπιλεγµένες ρυθµίσεις του Nessus πελάτη NessusClient 3 ολοκληρωµένος έλεγχος Σχεδιασµός του συστήµατος ΕΣΤΙΑ Push και Pull στην επικοινωνία Portal Server και Nessus Host Υπολογιστές µε πρόσβαση µόνο στον Παγκόσµιο Ιστό Speedup Ανάλογα µε το βαθµό παραλληλίας Χρόνος ολοκλήρωσης ανάλογα µε το βαθµό παραλληλίας MSF Αρχιτεκτονική Η mfsconsole διεπαφή Έξοδος της help εντολής Πρόσβαση στην Web διεπαφή µέσω ΙΕ Εκτέλεση exploit στην msfcli διεπαφή Show exploits εντολή Αποτελέσµατα info lsass Χρήση της use στην κονσόλα Χρήση της show payloads set PAYLOAD εντολή Set options εντολή Αποτέλεσµα exploit x

13 6.1 CORE IMPACT Κονσόλα Ροή συστατικών µηχανισµών ΑΕ Ευρεθέντες µηχανές από την ικτυακή Συλλογή Πληροφοριών ιαµόρφωση αρχικών επιλογών επίθεσης Χρήση συγκεκριµένων διαµορφωµάτων πολιορκίας µέσα στο IMPACT 16 xi

14 xii

15 ΚΕΦΑΛΑΙΟ 1 ΕΙΣΑΓΩΓΗ ΣΤΟ ΠΕΡΙΒΑΛΛΟΝ ΤΗΣ ΑΣΦΑΛΕΙΑΣ 1.1. Εισαγωγή Σε αυτό το κεφάλαιο θα γίνει µια σύντοµη επισκόπηση της εξέλιξης των πιο διαδεδοµένων τεχνολογιών των δικτύων και των πληροφοριακών συστηµάτων. Πλήθος αναφορών θα γίνει σε στοιχεία και τεχνολογίες που αναφέρονται σε όλα τα υπόλοιπα κεφάλαια, κάτι που είναι απαραίτητο για την σφαιρικότερη κατανόηση των λειτουργιών των εργαλείων και των µεθόδων που χρησιµοποιούνται για τον έλεγχο τρωτότητας πληροφοριακών συστηµάτων Ιστορική Αναδροµή ύο βασικές εξελίξεις είναι αυτές που καθόρισαν την σηµερινή τεχνολογία στα δίκτυα των πληροφοριακών συστηµάτων και µοιραία στα αντίστοιχα ζητήµατα ασφάλειας αυτών : η εξέλιξη των τηλεπικοινωνιακών δικτύων και η εξέλιξη των υπολογιστών. Χαρακτηριστικό αυτής της συµπόρευσης είναι ότι τα πρώτα δίκτυα υπολογιστών είχαν κατασκευαστεί για να επεκτείνουν τον υπάρχοντα υπολογιστικό εξοπλισµό, ώστε να διαµοιράζεται η υπολογιστική ισχύς σε µεγάλη κλίµακα και όχι για λόγους επικοινωνίας, κάτι που στη συνέχεια φυσικά άλλαξε. Για τα τηλεπικοινωνιακά δίκτυα η αρχή έγινε µε την ανάπτυξη του τηλέγραφου από τον Samuel Morse το 1830 και του τηλεφώνου από τον Graham Bell το Οι κύριες εξελίξεις που άνοιξαν τον δρόµο για τα σύγχρονα δίκτυα είναι : η ψηφιακή µετάδοση και η σηµατοδοσία κοινού καναλιού. Η ψηφιακή τηλεφωνική µετάδοση µεταδίδει τα σήµατα φωνής σαν σειρές από bits επιτυγχάνοντας χαµηλά επίπεδα θορύβου και ταυτόχρονη µετάδοση πολλών σηµάτων µέσα από την ίδια γραµµή. Η σηµατοδοσία σε κοινό κανάλι εξυπηρετεί την µετάδοση πληροφορίας σχετιζόµενης µε τον έλεγχο των συνδέσεων µεταξύ µεταγωγέων του τηλεφωνικού 1

16 δικτύου. Αυτή η πληροφορία ελέγχου επιτρέπει την αποδοτική υλοποίηση πολλών υπηρεσιών όπως προώθηση κλήσεων και κλήσεις πιστωτικών καρτών. Οι υπολογιστές από την άλλη γεννήθηκαν στα 1940 και άρχισαν να πολλαπλασιάζονται στα Η ανάγκη για τυποποιηµένες συνδέσεις ενός υπολογιστή µε περιφερειακά όπως µονάδες ταινίας, πληκτρολόγια, εκτυπωτές, µονάδες δίσκων και τερµατικά οδήγησαν στη έκδοση των προδιαγραφών της σύνδεσης RS-232-C από την Electronic Industries Association (EIA) (Σύνδεσµο Βιοµηχανιών Ηλεκτρονικών των Η.Π.Α) το Αυτή η σύνδεση επιτρέπει ρυθµό µετάδοσης µέχρι bits ανά δευτερόλεπτο, µέσα από 4 έως 12 σύρµατα για αποστάσεις µέχρι 15 µέτρα. Ο ρυθµός µετάδοσης ζεύξης συνήθως καλείται εύρος ζώνης (bandwidth) και όπως παραπάνω µετριέται σε bit/δευτερόλεπτο. Η σύνδεση RS-232-C χρησιµοποιείται ακόµα ευρέως. Τα δεδοµένα που στέλνονται µέσα από αυτή τη σύνδεση στέλνονται και λαµβάνονται ανά χαρακτήρα. Συγκεκριµένα, στέλνεται κάθε φορά ένας χαρακτήρας και δύο διαδοχικοί χαρακτήρες πρέπει να διαχωρίζονται από ένα ελάχιστο χρονικό διάστηµα που δεν είναι πάντα το ίδιο και για αυτό ονοµάζονται ασύγχρονες συνδέσεις.ένας χαρακτήρας αναπτύσσεται από µία οµάδα επτά ή οκτώ bits ανάλογα µε τον κώδικα που χρησιµοποιείται. Επίσης στη δεκαετία του 1960 αναπτύχθηκαν διαµορφωτές αποδιαµορφωτές (modems) που επιτρέπουν την µετάδοση bits µέσα από τηλεφωνικές γραµµές µετατρέποντας τα bits σε ήχους στο φάσµα συχνοτήτων που µεταδίδεται από τηλεφωνικές γραµµές και ο αποκωδικοποιητής µετατρέπει τέτοιους ήχους πάλι σε bits. Οι υπολογιστές αρχικά συνδέονταν µε "από σηµείο σε σηµείο "συνδέσεις, στα µέσα της δεκαετίας του Η ανάγκη για γρήγορες συνδέσεις µε αυτόµατο έλεγχο λαθών οδήγησε στην ανάπτυξη ενός συνόλου διαδικασιών που ονοµάζονται πρωτόκολλα ζεύξης δεδοµένων γνωστά µε τις συντοµογραφίες SDLC, LAPA, LAPB και HDLC. Αυτές οι συνδέσεις µεταφέρουν πληροφορία µε την µορφή πακέτων. Πακέτο είναι ένα κοµµάτι πληροφορίας που αποτελείται από µια οµάδα από bits, συνήθως από µερικές εκατοντάδες ως χιλιάδες (Εικόνα 1.1). Όταν αυτά µεταφέρονται σε συγκεκριµένους χρόνους τότε ονοµάζονται σύγχρονες οι αντίστοιχες συνδέσεις που εξυπηρετούν. Υπάρχει η απαίτηση ελαχίστου διαχωρισµού ανάµεσα στα διαδοχικά πακέτα, όπως ανάµεσα σε διαδοχικούς χαρακτήρες στην περίπτωση των ασύγχρονων µεταδόσεων. Αυτή η διαφορά κάνει τις σύγχρονες µεταδόσεις ταχύτερες από τις ασύγχρονες χωρίς όµως αυτό να απαξιώνει αυτό τις δεύτερες,αφού σε 2

17 κάποιες περιπτώσεις όπου η ακεραιότητα της πληροφορίας παίζει µεγαλύτερο ρόλο από την καθυστέρηση οι ασύγχρονες είναι καταλληλότερες. Εικόνα 1.1 Τυπικό πακέτο. (Το πακέτο αποτελείται από τη επικεφαλίδα και την ουρά που περιέχουν πληροφορία ελέγχου που χρησιµοποιείται από το δίκτυο για να µεταδοθεί το πακέτο και να επαληθεύει η σωστή λήψη και φυσικά συµπεριλαµβάνεται η πληροφορία χρήστη). Υπάρχουν δύο θεµελιώδεις προσεγγίσεις για τη δηµιουργία του πυρήνα ενός δικτύου : µεταγωγή κυκλώµατος και µεταγωγή πακέτου. Στα δίκτυα µεταγωγής κυκλώµατος οι απαιτούµενοι πόροι (ενταµιευτές, εύρος ζώνης) δεσµεύονται κατά της σύνοδο επικοινωνίας, ενώ στα δίκτυα µεταγωγής πακέτου δεν δεσµεύονται. Χαρακτηριστικός αντιπρόσωπος του πρώτου είναι τα ευρέως διαδεδοµένα τηλεφωνικά δίκτυα ενώ ένα τυπικό παράδειγµα για τα δεύτερα είναι το ιαδίκτυο. Γενικά, φαίνεται να πλεονεκτεί η µεταγωγή πακέτου, αφού σχεδόν πάντα έχει την ίδια απόδοση καθυστέρησης µε τη µεταγωγή κυκλώµατος αλλά το κάνει επιτρέποντας να υπάρχουν τρεις φορές περισσότεροι χρήστες και µάλιστα µε λιγότερα απαιτούµενα έξοδα υποδοµής (Ross. K,2004). Η ανάπτυξη πρωτοκόλλων ζεύξης δεδοµένων οδήγησε στην ιδέα της έµµεσης σύνδεσης υπολογιστών. Ουσιαστικά, οι ενδιάµεσοι υπολογιστές σε αυτού του είδους τις συνδέσεις παραλαµβάνουν κλάσµατα του αρχικού µεγάλου πακέτου και αντί να περιµένουν να συµπληρωθεί όλο το πακέτο προωθούν τα κάθε κοµµάτι κάθε φορά στον επόµενο υπολογιστή επιτυγχάνοντας έτσι παράλληλες µεταδόσεις και άρα ταχύτερες συνδέσεις. Αυτή η ιδέα ονοµάζεται µετάδοση "αποθήκευσης και προώθησης". Μια τέτοια µετάδοση από την πηγή στον στόχο µέσω ενός ενδιάµεσου σταθµού είναι πιο αποδοτική,αφού η µετάδοση από τον ενδιάµεσο σταθµό στον στόχο µπορεί να αρχίσει, πριν τελειώσει εκείνη από την πηγή στον ενδιάµεσο σταθµό. Για να γίνει αυτό, πρέπει να κατακερµατιστούν των µηνυµάτων σε σχετικά µικρά πακέτα. Αυτός ο κατακερµατισµός είναι που επιτρέπει να αρχίσει η µετάδοση από τον ενδιάµεσο σταθµό στον στόχο µόλις ο ενδιάµεσος λάβει ένα πακέτο από την 3

18 πηγή αντί να πρέπει να περιµένει µέχρι ο ενδιάµεσος να λάβει ένα ολόκληρο µήνυµα από την πηγή. Όταν πολλοί υπολογιστές συνδέονται από σηµείο σε σηµείο σε ένα δίκτυο, πρέπει να επιλυθούν µια σειρά από προβλήµατα, ώστε να διασφαλιστεί η αποδοτική χρήση των πόρων του δικτύου. Αυτά τα ζητήµατα προς επίλυση είναι θέµατα δροµολόγησης, ελέγχου ροής, διευθυνσιοδότησης,ασφάλειας, τυποποίησης και παρουσίασης. Για να αναπτυχθούν ολοκληρωµένες λύσεις σε αυτά τα προβλήµατα, το Υπουργείο Άµυνας των Η.Π.Α ανέπτυξε στο τέλος της δεκαετίας του 1960 το πρώτο µεγάλης κλίµακας δίκτυο µεταγωγής πακέτων µε αποθήκευση και προώθηση το διάσηµο ARPANET το οποίο ανήκει στην κατηγορία των εκτεταµένων δικτύων (WAN) και είναι ο προάγγελος του Internet που τη δεκαετία του 1990 έγινε τεράστια εµπορική επιτυχία και συνεχίζει την εκθετική του αύξηση µέχρι και σήµερα (Εικόνα 1.2. ). Η µεταγωγή πακέτου επιτρέπει σε πολλαπλά επικοινωνούντα τερµατικά συστήµατα (host) να µοιράζονται ένα µονοπάτι (αλληλουχία ζεύξεων) ή τµήµατα ενός µονοπατιού ταυτόχρονα. Πολλές άλλες εταιρίες ανέπτυξαν δίκτυα µεταγωγής πακέτου µε αποθήκευση έκτοτε. Η ΙΒΜ εισήγαγε το SNA, η DCA το DECnet, η Siemens το Transdata, η Honeywell Bull το Distributed Systems Architecture. Παράλληλα εµφανίστηκε και ανάπτυξη σε δίκτυα όπου οι κόµβοι µοιράζονται ένα και µοναδικό κανάλι επικοινωνίας. Αυτά τα δίκτυα ονοµάζονται δίκτυα πολλαπλής πρόσβασης µε χαρακτηριστικό παράδειγµα αυτών το ALOHA που αναπτύχθηκε σε σύµπλεγµα νησιών της Χαβάης. Εξέλιξη αυτού από την Xerox είναι το αποδοτικότερο Ethernet που γνώρισε µεγάλη αποδοχή στα τοπικά δίκτυα (LAN) αφού συνέπεσε µε την έκρηξη στην χρήση των προσωπικών υπολογιστών (Jean Walrand, 1997). Οι ρυθµοί αύξησης στα πεδία των υπολογιστών και των δικτύων είναι διαχρονικά παράλληλοι τόσο στο εξωτερικό όσο και στη Ελλάδα (Εικόνα 1.3). 4

19 Εικόνα 1.2. Έκρηξη ιαδικτύου Πηγή: Ε.Σ.Υ.Ε Εικόνα 1.3. Συµπόρευση υπολογιστών και ιαδικτύου στην Ελλάδα Οικουµενική Εξυπηρέτηση σε ένα Ετερογενή Κόσµο. Αναπτύχθηκαν τελικά πλήθος τεχνολογιών αλλά κάθε µια είναι σχεδιασµένη για να ικανοποιεί ένα συγκεκριµένο σύνολο περιορισµών. Για παράδειγµα, οι τεχνολογίες LAN είναι σχεδιασµένες, για να παρέχουν επικοινωνία υψηλής ταχύτητας σε µικρές αποστάσεις, ενώ οι τεχνολογίες WAN είναι σχεδιασµένες για να παρέχουν επικοινωνία σε µεγάλες αποστάσεις. Εποµένως, καµία από τις τεχνολογίες δικτύωσης δεν είναι καλύτερη για όλες τις ανάγκες. Ένας µεγάλος οργανισµός µε πολλές διαφορετικές ανάγκες δικτύωσης χρειάζεται πολλά φυσικά δίκτυα. Ακόµα 5

20 σηµαντικότερο, αν ο οργανισµός επιλέξει τον τύπο δικτύου που είναι καλύτερος για κάθε εργασία, θα έχει πολλούς τύπους δικτύων. Για παράδειγµα, µια τεχνολογία LAN όπως το Ethernet, µπορεί να είναι καλύτερη για σύνδεση υπολογιστών στο γραφείο, αλλά για σύνδεση υπολογιστών που βρίσκονται σε µια πόλη µε υπολογιστές µίας άλλης πόλης θα µπορούσε να χρησιµοποιηθεί µία υπηρεσία αναµετάδοσης πλαισίων (Frame Relay). Το βασικό πρόβληµα των πολλών δικτύων είναι µάλλον προφανές : Ένας υπολογιστής συνδεδεµένος σε ένα δεδοµένο δίκτυο µπορεί να επικοινωνεί µόνο µε άλλους υπολογιστές συνδεδεµένους στο ίδιο δίκτυο. Το πρόβληµα αυτό έγινε φανερό στη δεκαετία του 1970, καθώς µεγάλοι οργανισµοί άρχισαν να αποκτούν πολλά δίκτυα. Κάθε δίκτυο του οργανισµού αποτελούσε ένα νησί. Επόµενο ήταν να µεταφέρεται ο χρήστης από τον ένα υπολογιστή στον άλλο, ώστε να έχει πρόσβαση στο σύνολο των δικτύων γεγονός που επέφερε δυσαρέσκεια και χαµηλή παραγωγικότητα. Έτσι µε σκοπό την αύξηση της παραγωγικότητας των ατόµων και την εξάλειψη των διαρκών µετακινήσεων από υπολογιστή σε υπολογιστή, τα περισσότερα σηµερινά συστήµατα επικοινωνίας υπολογιστών επιτρέπουν αποστολή δεδοµένων ή µηνυµάτων µεταξύ δύο οποιωνδήποτε υπολογιστών, µε τρόπο ανάλογο µε ένα τηλεφωνικό σύστηµα το οποίο παρέχει επικοινωνία µεταξύ δύο οποιωνδήποτε τηλεφώνων. Η έννοια αυτή που ονοµάζεται οικουµενική εξυπηρέτηση (universal service), είναι θεµελιώδες µέρος της δικτύωσης πληροφοριακών συστηµάτων. Ωστόσο, αν και η οικουµενική εξυπηρέτηση είναι πολύ επιθυµητή, οι ασυµβατότητες µεταξύ υλικού και φυσικής διευθυνσιοδότησης των δικτύων δεν επιτρέπουν σε έναν οργανισµό να δηµιουργήσει ένα γεφυρωµένο δίκτυο που να περιλαµβάνει οποιεσδήποτε τεχνολογίες ιαδικτύωση Παρά τις ασυµβατότητες µεταξύ των τεχνολογιών των δικτύων, οι ερευνητές έχουν επινοήσει µια µέθοδο για να παρέχεται οικουµενική εξυπηρέτηση µεταξύ ετερογενών δικτύων. Η µέθοδος αυτή που λέγεται διαδικτύωση (internetworking), χρησιµοποιεί και υλικό και λογισµικό. Πρόσθετα συστήµατα υλικού χρησιµοποιούνται για την αλληλοσύνδεση ενός συνόλου φυσικών δικτύων. Έπειτα, 6

21 ,λογισµικό σε όλους τους συνδεδεµένους υπολογιστές παρέχει οικουµενική εξυπηρέτηση. Το σύστηµα των συνδεδεµένων φυσικών δικτύων που προκύπτει λέγεται διαδίκτυο (internet). Σηµειώνεται ότι µε πεζό το πρώτο γράµµα αναφέρεται στη γενικότερη έννοια διαδικτύων και όχι στο γνωστό ιαδίκτυο (Internet), που στη παρούσα εργασία θα αναφέρεται µε κεφαλαίο το πρώτο γράµµα. H διαδικτύωση είναι πολύ γενική µέθοδος. Ειδικότερα ένα διαδίκτυο δεν έχει περιορισµό µεγέθους υπάρχουν διαδίκτυα που περιέχουν µόνο µερικά δίκτυα, αλλά υπάρχουν και διαδίκτυα που περιέχουν χιλιάδες δίκτυα. Επίσης, ο αριθµός των υπολογιστών που είναι συνδεδεµένοι σε κάθε δίκτυο µπορεί να διαφέρει - µερικά δίκτυα δεν έχουν κανένα συνδεδεµένο υπολογιστή, ενώ άλλα έχουν εκατοντάδες. Το βασικό στοιχείο υλικού που χρησιµοποιείται για την αλληλοσύνδεση οποιωνδήποτε φυσικών ετερογενών δικτύων είναι ένας ειδικός υπολογιστής, ο δροµολογητής (router) που από φυσική άποψη µοιάζει µε την γέφυρα (bridge) η οποία χρησιµοποιείται για την ενίσχυση και επανεκποµπή των σηµάτων µεταξύ δύο τµηµάτων καλωδίου σε LΑΝ δίκτυα. Οι δροµολογητές και οι γέφυρες οι οποίοι είναι και οι δύο τύποι µεταγωγέων πακέτων είναι από τις σηµαντικότερες οντότητες στα διαδίκτυα. Ένας δροµολογητής λαµβάνει ένα πακέτο που φτάνει σε µία από τις εισερχόµενες ζεύξεις επικοινωνίας του και το προωθεί σε µία από τις εξερχόµενες ζεύξεις επικοινωνίας,αφού πρώτα το ανακατασκευάζει ανάλογα µε τις συνθήκες που επικρατούν, όπως για παράδειγµα η συµφόρηση του δικτύου η οποία γενικά ευθύνεται και για τις περισσότερες απώλειες πακέτων (Douglas E. Comer, 2003). Άρα ένα διαδίκτυο αποτελείται από ένα σύνολο δικτύων που συνδέονται µεταξύ τους µε µεταγωγείς. Η µέθοδος του διαδικτύου επιτρέπει σε κάθε οργανισµό να επιλέξει τον αριθµό και τον τύπο των δικτύων, τον αριθµό των δροµολογητών που θα χρησιµοποιήσει για να συνδέσει τα δίκτυα µεταξύ τους, και τη συγκεκριµένη τοπολογία της αλληλοσύνδεσης. Για να παρέχεται οικουµενική εξυπηρέτηση µεταξύ όλων των υπολογιστών σε ένα διαδίκτυο, οι δροµολογητές πρέπει να συµφωνήσουν να προωθούν τις πληροφορίες από µια αφετηρία σε ένα δίκτυο προς ένα καθορισµένο προορισµό σε άλλο δίκτυο. Αυτή η δουλειά είναι πολύπλοκη, επειδή πολλές µορφές πλαισίων και µέθοδοι διευθυνσιοδότησης που χρησιµοποιούνται από τα υποκείµενα δίκτυα µπορεί να διαφέρουν. Για αυτό χρειάζεται λογισµικό πρωτοκόλλων στους υπολογιστές και τους δροµολογητές για να κάνει εφικτή την οικουµενική εξυπηρέτηση. Γενικά, το λογισµικό διαδικτύου δηµιουργεί την αίσθηση ενός ενιαίου, αδιαίρετου συστήµατος 7

22 επικοινωνίας στο οποίο είναι συνδεδεµένοι πολλοί υπολογιστές. Όταν το σύστηµα παρέχει οικουµενική εξυπηρέτηση, σε κάθε υπολογιστή αποδίδεται µια διεύθυνση, και οποιοσδήποτε υπολογιστής µπορεί να στείλει ένα πακέτο σε οποιονδήποτε άλλο υπολογιστή. Επίσης, το λογισµικό των πρωτοκόλλων διαδικτύου κρύβει τις λεπτοµέρειες των συνδέσεων των φυσικών δικτύων ή των δροµολογητών που τα συνδέουν δίνοντας στον χρήστη την εντύπωση ενός ενιαίου και οµοιόµορφου συστήµατος δικτύου το οποίο δεν υπάρχει πραγµατικά και για αυτό το λόγο χαρακτηρίζεται ως εικονικό δίκτυο (virtual network) (Εικόνα 1.4.). Η αίσθηση ενιαίου δικτύου την οποία παρέχει στου χρήστες και τις εφαρµογές το λογισµικό πρωτοκόλλων Η υποκείµενη φυσική δοµή, όπου ένας υπολογιστής συνδέεται σε ένα φυσικό δίκτυο, και οι δροµολογητές συνδέουν τα φυσικά δίκτυα µεταξύ τους. Εικόνα 1.4. Η έννοια του διαδικτύου Υπολογιστική Πελάτη- ιακοµιστή Πλεονεκτήµατα της διαδικτύωσης παρουσιάζονται και στον προγραµµατιστή αφού έχοντας στη διάθεση του ένα σύνολο συναρτήσεων υψηλού επιπέδου µπορεί να δηµιουργεί λογισµικό εφαρµογών για ένα διαδίκτυο χωρίς να καταλαβαίνει την υποκείµενη τεχνολογία.ο βασικός µηχανισµός αλληλεπίδρασης που χρησιµοποιούν 8

23 οι προγραµµατιστές, ώστε να µπορούν δύο προγράµµατα να βρίσκουν το ένα το άλλο µέσα στα δίκτυα είναι απλός : Η µία εφαρµογή, που ονοµάζεται διακοµιστής και συνήθως εκτελείται σε µεγάλους υπολογιστές, περιµένει να έρθει σε επαφή µαζί της µια άλλη εφαρµογή που ονοµάζεται πελάτης και η οποία συνήθως εκτελείται στον υπολογιστή του χρήστη. Η θέση ενός διακοµιστή πρέπει να είναι γνωστή και να προσδιορίζεται από τον πελάτη µέσω ενός ζευγαριού αναγνωριστικών : [υπολογιστής, εφαρµογή] µε το πρώτο εκ των δύο να δείχνει τον υπολογιστή που εκτελείται ο διακοµιστής και το δεύτερο να προσδιορίζει ένα συγκεκριµένο πρόγραµµα-εφαρµογή που εκτελείται σε αυτόν τον υπολογιστή. Η διευθέτηση όπου µια δικτυακή εφαρµογή διακοµιστή περιµένει παθητικά για την αποδοχή και πραγµατοποίηση επικοινωνίας ενώ µια άλλη εφαρµογή-πελάτη εγκαινιάζει ενεργητικά την επικοινωνία λέγεται υπόδειγµα πελάτη διακοµιστή (client-server computing). Μεταξύ ενός πελάτη και ενός διακοµιστή µπορούν να ρέουν πληροφορίες προς οποιαδήποτε από τις δύο κατευθύνσεις,ή και προς τις δύο. Αν και σε πολλές υπηρεσίες ο πελάτης στέλνει µία η περισσότερες αιτήσεις και ο διακοµιστής επιστρέφει αποκρίσεις, είναι δυνατοί και άλλο τρόποι αλληλεπίδρασης. Θεµελιώδη σηµασία για τους διακοµιστές έχει η ταυτόχρονη εκτέλεση, επειδή ο ταυτοχρονισµός (concurrency) επιτρέπει να λαµβάνουν µια δεδοµένη υπηρεσία πολλοί πελάτες ταυτόχρονα, χωρίς να χρειάζεται να περιµένουν να τελειώσει ο διακοµιστής µε τις προηγούµενες αιτήσεις. Σε έναν ταυτόχρονο διακοµιστή, το κύριο νήµα δηµιουργεί ένα νέο νήµα υπηρεσίας για να εξυπηρετεί τον κάθε πελάτη. Αυτός είναι ο λόγος που οι διακοµιστές απαιτείται συνήθως να είναι ισχυροί υπολογιστές µε προηγµένα λειτουργικά συστήµατα. Η αλληλεπίδραση πελάτη-διακοµιστή µπορεί να είναι σύνθετη. Ένας πελάτης έχει δυνατότητα να προσπελάσει περισσότερες από µία υπηρεσίες ή να προσπελάσει διακοµιστές που εκτελούνται σε πολλούς υπολογιστές και ένας διακοµιστής που παρέχει µια υπηρεσία µπορεί να γίνει πελάτης για άλλες υπηρεσίες. Μέληµα σε αυτές τις περιπτώσεις πρέπει να είναι η αποφυγή δηµιουργίας κυκλικών εξαρτήσεων µεταξύ των διακοµιστών. Μία εποπτική µατιά που εξηγεί τη διασύνδεση προγραµµατισµού εφαρµογών (Application Program Interface, API) µε τη βοήθεια συναρτήσεων υψηλού επιπέδου ακολουθεί. Αρχικά, ένας διακοµιστής ξεκινά καλώντας τη συνάρτηση await_contact για να περιµένει να έρθει σε επαφή µαζί ένας πελάτης. Ο πελάτης ξεκινά καλώντας τη συνάρτηση make_contact για να πραγµατοποιήσει επαφή. Αφού ο πελάτης έρθει σε 9

24 επαφή µε το διακοµιστή, µπορούν να ανταλλάξουν µηνύµατα µεταξύ τους µε τις συναρτήσεις send (αποστολή) και recv (λήψη). Οι δύο εφαρµογές πρέπει να είναι προγραµµατισµένες έτσι, ώστε να γνωρίζουν αν πρέπει να στείλουν ή να λάβουν αν και οι δύο πλευρές προσπαθούν να λάβουν ή να στέλνουν, θα παραµείνουν σε εµπλοκή για πάντα. Αφού µία εφαρµογή τελειώσει την αποστολή δεδοµένων, καλεί τα συνάρτηση send_of για να στείλει το σήµα τέλους αρχείου (end-of-file). Στην άλλη πλευρά, η συνάρτηση recv επιστρέφει µια µηδενική τιµή για να δείξει ότι έφτασε το σήµα τέλους αρχείου. Στην Εικόνα 1.5 δίνεται ένα απλοϊκό παράδειγµα ακολουθίας κλήσεων ΑΡΙ µε µία αίτηση και µία απάντηση. Διακομιστής await_contact Πελάτης make_contact recv send send sendof sendof recv Εικόνα 1.5. Στοιχειώδη αλληλεπίδραση κλήσεων ΑΡΙ Πρωτόκολλα και ιαστρωµάτωση Το βασικό υλικό επικοινωνίας αποτελείται από µηχανισµούς οι οποίοι µπορούν να µεταφέρουν bit από ένα σηµείο στο άλλο. Εκτός από το υλικό, τα δικτυακά συστήµατα απαιτούν και σύνθετο λογισµικό το οποίο διαχειρίζεται την επικοινωνία. Μια συµφωνία που καθορίζει τη µορφή και τη σηµασία των µηνυµάτων που ανταλλάσουν οι υπολογιστές λέγεται πρωτόκολλο επικοινωνίας (communication protocol). Τα προγράµµατα εφαρµογές που χρησιµοποιούν ένα δίκτυο δεν αλληλεπιδρούν απευθείας µε το υλικό του δικτύου. Μια εφαρµογή αλληλεπιδρά µε το λογισµικό πρωτοκόλλων, το οποίο ακολουθεί τους κανόνες ενός δεδοµένου πρωτοκόλλου όταν πραγµατοποιεί επικοινωνία. 10

25 Θεµελιώδες εργαλείο το οποίο βοηθά τους σχεδιαστές να έχουν τον έλεγχο της πολυπλοκότητας του λογισµικού των πρωτοκόλλων είναι η διαστρωµάτωση (layering). Η διαστρωµάτωση υποδιαιρεί το σύνθετο πρόβληµα της επικοινωνίας σε διακριτά επίπεδα (layers), και επιτρέπει σε ένα σχεδιαστή να εστιάζει την προσοχή του σε ένα τµήµα κάθε φορά. Μία επιστηµονική αρχή, που ονοµάζεται αρχή της διαστρωµάτωσης (layering principle), παρέχει τη βάση για τις πολυεπίπεδες σχεδιάσεις. Η αρχή της διαστρωµάτωσης ορίζει ότι στο επίπεδο του προορισµού εφαρµόζεται ο αντίστροφος µετασχηµατισµός εκείνου που εφαρµόστηκε στο επίπεδο της αφετηρίας. Η οργάνωση του λογισµικού των πρωτοκόλλων ακολουθεί το µοντέλο διαστρωµάτωσης µε βάση το οποίο σχεδιάστηκε. Σε κάθε επίπεδο αντιστοιχεί µια υποµονάδα λογισµικού ή πρωτόκολλο που επιλύει µέρος του προβλήµατος επικοινωνίας και η συλλογή των πρωτοκόλλων διαφόρων επιπέδων ονοµάζεται στοίβα (stack). Θεωρητικά, τα εξερχόµενα δεδοµένα κατέρχονται τα επίπεδα στη στοίβα της µηχανής αποστολής, και ανέρχονται τα επίπεδα στη στοίβα της µηχανής παραλαβής. Σε κάθε περίπτωση το λογισµικού κάθε επιπέδου σχεδιάζεται λαµβάνοντας υπόψη το σύνολο ώστε να αναπτύσσονται ολοκληρωµένα συνεργατικά περιβάλλοντα που τελικά επιλύουν το πρόβληµα της επικοινωνίας ολοκληρωτικά. Την πρώτη περίοδο της ιστορίας της δικτύωσης ο ιεθνής Οργανισµός Προτυποποίησης ΙSO όρισε ένα µοντέλο 7 επιπέδων που έλυνε το πρόβληµα της επικοινωνίας ολοκληρωτικά. Αυτό περιελάµβανε τα επίπεδα (µε σειρά από κάτω προς τα πάνω): Φυσικό, Ζεύξης, ικτύου, Μεταφοράς, Συνόδου, Παρουσίασης και Εφαρµογής. Ωστόσο, το µοντέλο αυτό είναι ανεπαρκές για τα πρωτόκολλα των σύγχρονων διαδικτύων και ειδικά του ιαδικτύου και αυτό γιατί επινοήθηκε πριν την διαδικτύωση κάτι που συνεπάγεται πως δεν περιέχει κάποιο επίπεδο για τα πρωτόκολλα διαδικτύου ενώ δίνει βαρύτητα στο επίπεδο Συνόδου κάτι που δεν είναι τόσο απαραίτητο σήµερα, καθώς τα υπολογιστικά συστήµατα δεν είναι πλέον µεγάλα χρονοµεριζόµενα συστήµατα αλλά προσωπικοί υπολογιστές. Για αυτό οι ερευνητές επινόησαν το νέο µοντέλο διαστρωµάτωσης TCP/IP (TCP/IP Layering Model) το οποίο έχει πέντε επίπεδα, όπως φαίνεται στην Εικόνα 1.6. Το TCP/IP επικράτησε ξεκάθαρα αφού εκτός από πολλά ιδιωτικά διαδίκτυα χρησιµοποιείται και από το δηµόσια διαδίκτυο ( ιαδίκτυο) το οποίο φτάνει σε περισσότερα από εκατοµµύρια χρήστες σε 210 χώρες (Internet World Stats, Ιούλιος, 2008). 11

26 Στοίβα PDU ΕΠΙΠΕ Ο 1 Εφαρµογή Μήνυµα ΕΠΙΠΕ Ο 2 Μεταφορά Τµήµα ΕΠΙΠΕ Ο 3 ίκτυο εδοµενόγραµµα ΕΠΙΠΕ Ο 4 Ζεύξης Πλαίσιο ΕΠΙΠΕ Ο 5 Φυσικό 1-PDU Εικόνα 1.6. Τα 5 επίπεδα TCP/IP και οι µονάδες & τα δεδοµένων πρωτοκόλλου (PDU) Επίπεδο 1 : Φυσικό Το επίπεδο 1 αντιστοιχεί στο βασικό υλικό δικτύου και εργασία του είναι να µεταφέρει τα ξεχωριστά bit µέσα στο πλαίσιο από ένα κόµβο στον επόµενο. Κρίσιµο ρόλο εδώ παίζουν τα µέσα µετάδοσης της ζεύξης που ποικίλουν σε χάλκινα καλώδια συνεστραµµένου ζεύγους, οµοαξονικά, µονότροπη οπτική ίνα και άλλα όπου σε κάθε περίπτωση ένα bit µεταφέρεται πάνω στην ζεύξη µε διαφορετικό τρόπο. Επίπεδο 2: Ζεύξης Τα πρωτόκολλα του Επιπέδου 2 καθορίζουν το πώς οργανώνονται τα δεδοµένα σε πλαίσια και το πώς ένας υπολογιστής µεταδίδει πλαίσια µέσω ενός δικτύου. Εργασία του είναι να µεταφέρει ολόκληρα πλαίσια από ένα στοιχείο του δικτύου σε ένα διπλανό στοιχείο του δικτύου δροµολογώντας ένα πακέτο µέσω µιας αλληλουχίας µεταγωγέων πακέτων ανάµεσα στην προέλευση και τον προορισµό. Γνωστά στρώµατα ζεύξης είναι το Ethernet, το PPP, το ΑΤΜ και η πλαισιοµετάδοση (frame relay). 12

27 Επίπεδο 3 : ίκτυο Τα πρωτόκολλα του Επιπέδου 3 καθορίζουν τη µορφή των πακέτων που στέλνονται µέσω ενός διαδικτύου, καθώς και τους µηχανισµούς που χρησιµοποιούνται για να προωθούνται και να δροµολογούνται τα πακέτα από ένα υπολογιστή προς έναν τελικό προορισµό µέσω ενός ή περισσοτέρων δροµολογητών. Το επίπεδο δικτύου του ιαδικτύου έχει δύο κύρια συστατικά. Έχει ένα πρωτόκολλο που ορίζει τα πεδία δεδοµενογράµµατος ΙΡ, όπως και το πώς τα τερµατικά συστήµατα και οι δροµολογητές ενεργούν σε αυτά τα πεδία. Αυτό είναι το φηµισµένο πρωτόκολλο ΙΡ. Αυτό είναι και το επίπεδο που στα προηγούµενα πρωτόκολλα όπως το OSI δεν συµπεριλαµβανόταν καθόλου. Επίπεδο 4 : Μεταφορά Το επίπεδο 4 παρέχει την υπηρεσία µεταφοράς µηνυµάτων επιπέδου εφαρµογής ανάµεσα στις πλευρές του πελάτη και εξυπηρετητή µιας εφαρµογής. Στο ιαδίκτυο υπάρχουν δύο πρωτόκολλα µεταφοράς το συνδεσιστρεφής µεταφοράς TCP και το ασυνδεσιστρεφής µεταφοράς UDP. Όταν µια εφαρµογή χρησιµοποιεί συνδεσιστρεφή (TCP) υπηρεσία, το πρόγραµµα πελάτη και το πρόγραµµα εξυπηρετητή στέλνουν πακέτα ελέγχου το ένα στο άλλο. Χαρακτηριστικά είναι αυτά της τριπλής χειραψίας, τα διάσηµα πακέτα συγχρονισµού (SYN), επιβεβαίωσης (ACK) και τερµατισµού (FIN) που επιτρέπουν µε ανταλλαγή τριών µηνυµάτων να εξασφαλιστεί µια συµφωνία χωρίς ασάφειες παρά τις καθυστερήσεις. Αυτή η ονοµαζόµενη διαδικασία χειραψίας προειδοποιεί εξυπηρετητή και πελάτη επιτρέποντας τους να προετοιµαστούν για την ανταλλαγή των πακέτων. Όταν τελειώσει η διαδικασία της χειραψίας, λέγεται ότι έχει αποκατασταθεί µια σύνδεση ανάµεσα στα δύο τερµατικά. Oι υπηρεσίες που παρέχει το TCP σε µια εφαρµογή περιλαµβάνουν και αξιόπιστη µεταφορά που σηµαίνει παράδοση δεδοµένων χωρίς σφάλµα και σε σωστή σειρά επίσης περιλαµβάνει έλεγχο ροής που σιγουρεύει ότι καµία από τις δύο πλευρές της σύνδεσης δεν κατακλύζει τη άλλη στέλνοντας πολλά πακέτα και γρήγορα και τέλος η TCP παρέχει και έλεγχο συµφόρησης που απαγορεύει να προκύψουν αδιέξοδα µειώνοντας τις αποστολές πακέτων κατά την περίοδο συµφόρησης. εν υπάρχει διαδικασία χειραψίας στις UDP συνδέσεις απλώς στέλνει ο αποστολέας τα πακέτα εµπεριέχοντας βέβαια τον κίνδυνο της αναξιόπιστης µεταφοράς, αφού στερείται υπηρεσιών ελέγχου ροής ή συµφόρησης. 13

28 Επίπεδο 5 : Εφαρµογή Το επιπέδο 5 καθορίζει τον τρόπο µε τον οποίο µία εφαρµογή χρησιµοποιεί ένα διαδίκτυο, αφού είναι υπεύθυνο για την υποστήριξη εφαρµογών δικτύου. Γνωστά πρωτόκολλα αυτού του επιπέδου είναι τα HTTP, FTP,SMTP. Σε µία αρχιτεκτονική οργανωµένη σε διαδοχικά επίπεδα πρωτόκολλων κάθε πρωτόκολλο ανήκει σε ένα από τα επίπεδα. Το πρωτόκολλο στο επίπεδο στο επίπεδο n κατανέµεται ανάµεσα στις οντότητες του πρωτοκόλλου (περιλαµβανοµένων των συστηµάτων και των µεταγωγέων πακέτου ) που υλοποιούν αυτό το πρωτόκολλο. Αυτό σηµαίνει πως υπάρχει ένα κοµµάτι επιπέδου σε κάθε µία από τις οντότητες του δικτύου. Αυτά τα κοµµάτια επικοινωνούν ανταλλάσοντας µηνύµατα επιπέδου n. Αυτά τα µηνύµατα ονοµάζονται δεδοµένα πρωτοκόλλου επιπέδου n ή n-pdus. Για να διαλειτουργεί το ένα επίπεδο µε το άλλο οι οργανισµοί ορίζουν ακριβώς την µορφή των PDUs που περνούν ανάµεσα στα επίπεδα. Τα PDU για κάθε επίπεδο αντιστοιχίζοντας από το πρώτο ως το πέµπτο είναι τα : 1-PDU, πλαίσιο, δεδοµενόγραµµα, τµήµα και µήνυµα (Εικόνα 1.6). Κάθε στοιχείο του δικτύου υλοποιεί διαφορετικό αριθµό επιπέδων. Όπως φαίνεται και στην Εικόνα 1.7 οι γέφυρες χρησιµοποιούν συνήθως τα επίπεδα 1,2, ενώ οι δροµολογητές υλοποιούν τα επίπεδα 1 ως 3. Οι υπολογιστές υπηρεσίας (τερµατικά) υλοποιούν και τα 5 επίπεδα κάτι που είναι συνεπές µε την άποψη ότι η αρχιτεκτονική των διαδικτύων τοποθετεί το µεγαλύτερο µέρος της πολυπλοκότητας του στα "άκρα" του διαδικτύου (Kurose J, Ross K.,2004). Εικόνα 1.7. Τερµατικά και µεταγωγείς. Κάθε συστατικό περιέχει ένα διαφορετικό σύνολο. επιπέδων, καθρεφτίζοντας τις διαφορές τους σε λειτουργικότητα. 14

29 1.7. Πακέτα εδοµένων Όπως αναφέρθηκε παραπάνω, οι δικτυακές επικοινωνίες βασίζονται στην ανταλλαγή πακέτων δεδοµένων για την αλληλεπίδραση των επικοινωνούντων στοιχείων. Ωστόσο, επειδή ένας δροµολογητής µπορεί να συνδέει ετερογενή δίκτυα, δεν είναι δυνατό να µεταδίδει ένα αντίγραφο πλαισίου που έρχεται από ένα δίκτυο σε ένα άλλο δίκτυο. Για να αντιµετωπιστεί η ετερογένεια, ένα διαδίκτυο πρέπει να ορίσει µια µορφή πακέτων ανεξάρτητη από το υλικό. Έτσι, τα πρωτόκολλα TCP/IP ορίζουν το λεγόµενο αυτοδύναµο πακέτο ΙΡ (IP datagram) ως πακέτο διαδικτύου. Το ενδιαφέρον είναι ότι ένα αυτοδύναµο πακέτο έχει την ίδια γενική µορφή µε ένα πλαίσιο υλικού (hardware frame) όπως αυτό που παρουσιάστηκε παραπάνω στην Εικόνα 1.1. Το αυτοδύναµο πακέτο αρχίζει µε µια κεφαλίδα, ακολουθούµενη από µια περιοχή δεδοµένων. Η ποσότητα των δεδοµένων δεν είναι σταθερή, αφού το µέγεθος του καθορίζεται από την εφαρµογή που στέλνει δεδοµένα. Η δυνατότητα να ποικίλει το µέγεθος των αυτοδύναµων πακέτων κάνει το πρωτόκολλο IP προσαρµόσιµο σε ποικιλία εφαρµογών. Πιθανό είναι λόγω της ετερογένειας των υλικών που µπορεί και περιδιαβαίνει το ΙΡ δεδοµενόγραµµα το υποκείµενο υλικό να συµπεριφερθεί λανθασµένα καθυστερώντας, επαναλαµβάνοντας, αλλοιώνοντας ή και χάνοντας κάποια δεδοµένα. Τα υψηλότερα επίπεδα λογισµικού πρωτοκόλλων πρέπει να χειρίζονται κάθε ένα από αυτά τα σφάλµατα. Σηµαντική για την άντληση πληροφοριών στην ασφάλεια των πληροφοριακών συστηµάτων είναι η κεφαλίδα που περιέχει τις κρίσιµες πληροφορίες για την ορθή λειτουργία των πακέτων αλλά και πολύτιµες πληροφορίες για έναν ερευνητή ασφάλειας δικτύων. Tο αυτοδύναµο πακέτο του IPv4 έχει µέγεθος που φθάνει έως και byte µε την κεφαλίδα να κυµαίνεται από 20 έως 60 byte. Υπό ανάπτυξη από το 1995 και σε πολλές περιπτώσεις εφαρµόσιµο σήµερα είναι και το ΙΡν6 που παρέχει ένα απλοποιηµένο επίπεδο δικτύου και επιλύει το πρόβληµα χώρου διευθύνσεων του ΙΡν6. Η Εικόνα 1.8 παρουσιάζει τα κυριότερα πεδία της κεφαλίδας του πακέτου IPv4. Οι αριθµοί στην κορυφή του σχήµατος αντιστοιχούν στα µεγέθη κάθε πεδίου. 15

30 Εικόνα 1.8. Μορφή δεδοµενογράµµατος ΙΡv4 Τα κύρια πεδία είναι : Έκδοση(4 bit): Προσδιορίζει την έκδοση του πρωτοκόλλου ΙΡ(0100 για το ΙΡν4).έτσι ο δροµολογητής ξέρει πώς να διαβάσει ένα πακέτο ΙΡ. Μήκος Κεφαλίδας (8 bit): Τα bit του πεδίου αυτού προσδιορίζουν τον τρόπο µε τον οποίο το δίκτυο πρέπει να αντιµετωπίζει και να διαχειρίζεται το πακέτο ΙΡ. Κωδικοποιούν στοιχεία σχετικά µε την ποιότητα υπηρεσίας, όπως ο ρυθµός εξυπηρέτησης, η αξιοπιστία και η προτεραιότητα του πακέτου. Συνολικό Μήκος(16 bit): Προσδιορίζει το συνολικό µέγεθος του πακέτου ΙΡ. Τα 16 bit µπορούν να κρατήσουν µέγιστο µέγεθος bytes. Ταυτότητα (16 bit),σηµαίες (3 bit), Σχετική θέση τµήµατος (13 bit): Αυτά τα τρία χρησιµοποιούνται σε περιπτώσεις κατακερµατισµού του πακέτου ΙΡ. Είναι ενδιαφέρων ότι η νέα έκδοση του ΙΡ, ΙΡν6 δεν επιτρέπει κατακερµατισµό στους δροµολογητές. Χρόνος ζωής πακέτου (8 bit): Το πεδίο χρόνος ζωής (Time to live,ttl) περιλαµβάνεται για να σιγουρέψει ότι τα δεδοµενογράµµατα δεν κυκλοφορούν για πάντα µέσα στο δίκτυο. Αυτό το πεδίο µειώνεται κατά ένα κάθε φορά που γίνεται επεξεργασία του δεδοµενογράµµατος από ένα δροµολογητή. Όταν το TTL φτάσει στο 0, τότε το δεδοµενόγραµµα απορρίπτεται. 16

31 Τύπος (8 bit):αυτό το πεδίο προσδιορίζει το πρωτόκολλο του ανωτέρου επιπέδου µεταφοράς στον τελικό προορισµό (π.χ. TCP, UDP ). Άθροισµα ελέγχου κεφαλίδας (16 bit): Χρησιµοποιείται στον έλεγχο της ακεραιότητας της κεφαλίδας (όχι του υπόλοιπου πακέτου). ιεύθυνση Πηγής και προορισµού (32 bit) :Αυτά τα πεδία περιέχουν τις διευθύνσεις της προέλευσης και του τελικού προορισµού του συγκεκριµένου δεδοµενογράµµατος. Αυτές οι διευθύνσεις γράφονται τυπικά µε την καλούµενη εστιγµένη δεκαδική σηµειογραφία κατά την οποία κάθε byte της διεύθυνσης γράφεται στη δεκαδική του µορφή και χωρίζεται µε µία τελεία από τα άλλα bytes της διεύθυνσης Έτσι για παράδειγµα η διεύθυνση σε δυαδικό συµβολισµό είναι : Οι τιµές των αριθµών ανάµεσα στις τελείες περιορίζονται σε δεκαδικούς ακέραιους από το 0 µέχρι το 255. Κάθε διεύθυνση έχει µήκος 32 bits και έτσι υπάρχουν πιθανές διευθύνσεις.αυτός είναι και ο βασικός λόγος ανάγκης ανάπτυξης του Πρωτοκόλλου ιαδικτύου ΙΡν6 αφού µε αυτό θα διατίθενται διευθύνσεις,δηλαδή σχεδόν /άτοµο σήµερα! Επιλογές: Τα πεδία των επιλογών επιτρέπουν σε µία κεφαλίδα να επεκταθεί. Αυτό το πεδίο στο ΙΡν6 καταργήθηκε. εδοµένα (ωφέλιµο φορτίο) : Αυτό το µεταβλητού µεγέθους πεδίο είναι ο λόγος ύπαρξης του δεδοµενογράµµατος. Εδώ περιέχεται το πακέτο πληροφορίας χρήστη ανώτερου επιπέδου µε συνηθέστερους τύπους δεδοµένων τους TCP και UDP που αναλύθηκαν παραπάνω αλλά και µε ICMP που αναλύεται στη συνέχεια. Το Internet Control Message Protocol (ICMP) είναι θεµελιώδες πρωτόκολλο της ΙΡ σουίτας και χρησιµοποιείται από υπολογιστές υπηρεσίας, δροµολογητές και πύλες για επικοινωνία πληροφοριών επιπέδου δικτύου µεταξύ τους. Τυπική χρήση του ICMP είναι για αναφορά σφαλµάτων σε συνόδους όπως οι Telnet,FTP ή ΗTTP. Τα σφάλµατα αυτά µπορεί να προκύπτουν όταν το δίκτυο,το τερµατικό,το πρωτόκολλο ή η πύλη προορισµού δεν µπορούν να προσπελαστούν ή ακόµα σε 17

32 περιπτώσεις χαλασµένης κεφαλίδας αλλά και σε λήξεις του ΤΤL. Γενικά οι σκοποί του διαφέρουν από τα πρωτόκολλα µεταφοράς TCP και UDP αφού δεν χρησιµοποιείται για λήψη και αποστολή αρχείων από τους χρήστες αλλά µαζί τους ασχολούνται κυρίως τα λειτουργικά των αντίστοιχων υλικών. Ωστόσο υπάρχουν ως εξαιρέσεις κάποιες πολύτιµες εφαρµογές που µπορεί να εκµεταλλευτεί ένας χρήστης ή να χρησιµοποιήσει ένας υπεύθυνος ασφάλειας ώστε να βγάλει χρήσιµα συµπεράσµατα για το δίκτυο ενός οργανισµού. Οι πιο αξιοσηµείωτες εφαρµογές αυτού του είδους που θα χρησιµοποιούνται συχνά στην πορεία αυτής της εργασίας είναι το διάσηµα προγράµµατα ping και tracerout Ελεγκτής προσπελασιµότητας, DNS & DoS Το πρόγραµµα δοκιµής προσπελασιµότητας ping στέλνει ένα µήνυµα ICMP αίτησης ηχούς (echo request) στον καθορισµένο υπολογιστή υπηρεσίας. Σύµφωνα µε το πρωτόκολλο υπολογιστής υπηρεσίας προορισµού, βλέποντας την αίτηση ηχούς, πρέπει να στείλει πίσω µια απόκριση απάντησης της ηχούς (echo reply) δηλώνοντας ότι είναι σε λειτουργία. Αν δεν έρθει απάντηση τότε επαναµεταδίδονται αιτήσεις συνεχώς και αν δεν έρθει απάντηση ούτε για τις επαναµεταδώσεις τότε το ping χαρακτηρίζει τον αποµακρυσµένο υπολογιστή µη προσπελάσιµο. Η έξοδος του προγράµµατος (Εικόνα 1.9) αναφέρει το µέγεθος του πακέτου που λήφθηκε, τον σειριακό αριθµό και τον χρόνο µετάβασης και επιστροφής RTT (Round-Trip Time) σε χιλιοστά του δευτερολέπτου(ms). Όταν ο χρήστης ολοκληρώσει την εκτέλεση του, το πρόγραµµα ping δίνει µια συνοπτική αναφορά που προσδιορίζει τον αριθµό των πακέτων που µεταδόθηκαν (packets transmitted) και λήφθηκαν (packets received), τα πακέτα που χάθηκαν (packet loss), και τον ελάχιστο (min), το µέσο (avg),και το µέγιστο (max) χρόνο µετάβασης και επιστροφής (round-trip). Για παράδειγµα, φαίνεται ότι ο µέσος χρόνος µετάβασης και επιστροφής από το κέντρο της Αθήνας στο Πειραιά είναι στα ms. Τα δεδοµένα εξόδου της εικόνας 1.9 δείχνουν και ένα άλλο ενδιαφέρον φαινόµενο. Αν και µέσω της εντολής : ping 18

33 εισήχθηκε για ping ως υπολογιστής προορισµού το όνοµα είναι η επίσηµη ιστοσελίδα του Πανεπιστηµίου Πειραιά (Πα.Πει), η έξοδος αναφέρει ως όνοµα υπολογιστή το spider.unipi.gr συµπεραίνοντας έτσι ότι το πραγµατικό όνοµα του υπολογιστή είναι το spider.unipi.gr ενώ το επιλέχθηκε να µπει ως ψευδώνυµο (alias) του πραγµατικού. Αυτό επιταχύνεται χάρι στο σύστηµα ονοµάτων περιοχών DNS που παρέχει αυτόµατη αντιστοίχηση ονοµάτων υπολογιστών και ισοδύναµων διευθύνσεων. Ένας από του τύπους του DNS είναι ο ιδιαίτερα χρήσιµος CNAME που χρησιµοποιείται και στη περίπτωση του Πα.Πει. Με τη βοήθεια αυτού του τύπου θέτονται ψευδώνυµα στις µηχανές επιτρέποντας έτσι στον οργανισµό να αλλάζει τον υπολογιστή που χρησιµοποιείται για µια υπηρεσία χωρίς να αλλάζει τα καθιερωµένα στους πελάτες ονόµατα ή διευθύνσεις. H συγκεκριµένη CNAME εγγραφή εισήχθηκε στη κατανεµηµένη βάση δεδοµένων DNS µε τον εξής τρόπο: (www.unipi.gr, spider.unipi.gr,cname, TTL) Το πρόγραµµα ping φαίνεται απλοϊκό, για να είναι χρήσιµο. Ακόµα και µε ενεργοποιηµένες τις προαιρετικές επιλογές, οι χρόνοι µετάβασης και επιστροφής δίνουν ελάχιστες πληροφορίες στο µέσο χρήστη. Για παράδειγµα δε µπορεί να προσφέρει κάτι ως εργαλείο απασφαλµάτωσης για βλάβες δίκτυο, επειδή υπάρχει έξοδος µόνο όταν ένας υπολογιστής αποκρίνεται µε επιτυχία. Όταν δε λαµβάνεται απόκριση το ping δε µπορεί να βοηθήσει στον προσδιορισµό της αιτίας του προβλήµατος. Μπορεί να είναι σβηστός ο αποµακρυσµένος υπολογιστής, να έχει αποσυνδεθεί από το δίκτυο, να έχει βλάβη κάποια διασύνδεση του δικτύου, να είναι πρόβληµα συµβατότητας λογισµικού ή να υπάρχει πρόβληµα υπερφόρτωσης δικτύου. Το ping δεν έχει κανένα τρόπο να προσδιορίσει το πρόβληµα. Ένας άλλος λόγος µη απόκρισης είναι το ότι µερικές εταιρίες για λόγους ασφάλειας διευθετούν έτσι τις τοποθεσίες τους στον ιστό, ώστε να απορρίπτουν τα πακέτα ping προστατεύοντας µε αυτόν τον τρόπο από επιθέσεις άρνησης εξυπηρέτησης (denial of service, DoS) ή κατάκλισης (flooding), κατά τις οποίες έρχονται τόσα πολλά ping ή άλλα πακέτα, ώστε τα δίκτυα και οι υπολογιστές της εταιρίας υπερφορτώνονται µε ένα ολοένα αυξανόµενο αριθµό εκκρεµών αιτήσεων µε αποτέλεσµα να "γονατίζουν" µη µπορώντας τελικά να αποκριθούν στις νόµιµες 19

34 αιτήσεις εξυπηρέτησης. Ιδιαίτερο πρόβληµα προκάλεσαν τα τελευταία έτη οι επιθέσεις κατανεµηµένης άρνησης παροχής υπηρεσίας (DistributedDoS, DDoS) όπου ο επιτιθέµενος καταλαµβάνει και εκµεταλλεύεται λογαριασµούς τρίτων εξαπολύοντας έτσι ταυτόχρονη και συντονισµένη επίθεση σε ένα θύµα απ όλους τους λογαριασµούς,γεγονός που φέρνει ακόµα πιο καταστροφικά και δισεπίλυτα προβλήµατα. Ωστόσο, παρά όλους τους παραπάνω περιορισµούς το ping τόσο σε αυτήν την εργασία, όσο και γενικότερα χρησιµοποιείται πάρα πολύ ως διαγνωστικό εργαλείο. Μάλιστα, οι διαχειριστές ασφάλειας δικτύων χρησιµοποιούν το ping αµέσως µόλις αντιληφθούν ένα πρόβληµα. Το χρησιµοποιούν για να προσδιορίσουν ποια τµήµατα του δικτύου λειτουργούν ακόµα σωστά και ποια έχουν πρόβληµα. Τα αποτελέσµατα βοηθούν να εντοπίσουν γρήγορα τη βλάβη. Εικόνα 1.9. εδοµένα εξόδου ping Ιχνηλάτης ροµολογίου Οι διαχειριστές ασφάλειας δικτύων χρησιµοποιούν ένα άλλο εργαλείο, το tracerout, το οποίο επιτρέπει σε κάποιον να ιχνηλατεί µια διαδροµή από ένα υπολογιστή υπηρεσίας προς έναν οποιονδήποτε άλλον υπολογιστή υπηρεσίας στον κόσµο όπου υλοποιείται και αυτό µέσω µηνυµάτων ICMP. Όπως και το ping, το Traceroute δέχεται ένα όρισµα το οποίο καθορίζει ένα όνοµα ή µια διεύθυνση αποµακρυσµένου υπολογιστή. Για παράδειγµα, η επόµενη διαταγή παρακολουθεί µια διαδροµή από τον υπολογιστή του χρήστη µέχρι τον προορισµό : Traceroute 20

35 Το traceroute προσδιορίζει τους δροµολογητές κατά µήκος µίας διαδροµής µέχρι τον προορισµό, και εκτυπώνει µια γραµµή για κάθε ενδιάµεσο υπολογιστή. Για παράδειγµα, η Εικόνα 1.10, δείχνει τα δεδοµένα εξόδου της παραπάνω διαταγής traceroute. Εικόνα 1.10 εδοµένα εξόδου traceroute Το traceroute δίνει περισσότερες πληροφορίες από το ping. Για παράδειγµα, η Εικόνα 1.10 δείχνει 11 γραµµές εξόδου για τη διαδροµή µεταξύ του σταθµού εργασίας του συγγραφέα και τον υπολογιστή προορισµού στο Πα.Πει. Αντιστοιχεί από µια γραµµή στον κάθε ένα από τους 11 δροµολογητές. Στην ειδική ορολογία των υπολογιστών λέγεται ότι ο προορισµός απέχει 11 άλµατα (hops) από την αφετηρία. Επίσης σηµαντικό είναι ότι το traceroute δεν µπορεί να χρησιµοποιηθεί για όλους τους προορισµούς, επειδή µερικοί διαχειριστές δικτύων επιλέγου να το απενεργοποιήσουν, για να εµποδίσουν τους παρείσακτους να αποκτούν λεπτοµερείς πληροφορίες για την αρχιτεκτονική του δικτύου τους. Κάτι ανάλογο, µε τη βοήθεια των αντιπυρικών ζωνών (firewalls) έχει συµβεί στα τρία τελευταία άλµατα της διαδροµής στην Εικόνα Ασφάλεια ικτύων Πληροφοριακών Συστηµάτων Οι επιθυµητές ιδιότητες της ασφαλούς επικοινωνίας, µε τις τρεις πρώτες να θεωρούνται βασικά συστατικά των ασφαλών επικοινωνιών για αρκετό χρόνο τώρα 21

36 [McCumber,1991] ενώ την τέταρτη να είναι η πιο πρόσφατη επέκταση [McConachy,2001], είναι: Εμπιστευτικότητα. Μόνο ο αποστολέας και ο σκοπούμενος δέκτης πρέπει να είναι σε θέση να κατανοούν τα περιεχόμενα του μεταδιδόμενου μηνύματος. Επειδή ωτακουστές μπορούν να κάνουν παρεμβολές στο μήνυμα, αυτό απαιτεί απαραίτητα, το μήνυμα να κρυπτογραφείται κατά κάποιο τρόπο (τα δεδομένα να μεταμφιέζονται) έτσι ώστε ένα μήνυμα που υποκλέπτεται να μη μπορεί να αποκρυπτογραφηθεί (κατανοηθεί) από ένα υποκλοπέα. Πιστοποίηση. Ο αποστολέας και ο δέκτης πρέπει να είναι σε θέση να επιβεβαιώνουν την ταυτότητα του άλλου μέρους που λαμβάνει μέρος στην επικοινωνία Ακεραιότητα. Ακόμη και αν ο αποστολέας και ο δέκτης είναι σε θέση να πιστοποιηθούν μεταξύ τους, θέλουν επίσης να είναι σίγουροι ότι τα περιεχόμενα της επικοινωνίας τους δεν έχουν τροποποιηθεί, εκούσια ή ακούσια, κατά τη μετάδοση. Διαθεσιμότητα και έλεγχος προσπέλασης. Με κίνητρο την ανάγκη για διασφάλιση του δικτύου από επιθέσεις κακόβουλων ειδικά τα τελευταία χρόνια που πραγματοποιήθηκαν πλήθος επιθέσεων άρνησης υπηρεσίας θέτοντας δίκτυα ή κάποια κομμάτια της υποδομής τους άχρηστα για τους έγκυρους χρήστες οδήγησε στην ιδέα της διαθεσιμότητας. To γεγονός ότι ορισμένοι χρήστες είναι έγκυροι, ενώ άλλοι δεν είναι, οδηγεί στην ιδέα ελέγχου προσπέλασης στην επιβεβαίωση δηλαδή ότι οι οντότητες που προσπαθούν να προσπελάσουν τους πόρους επιτρέπεται να το κάνουν μόνο αν έχουν τα κατάλληλα δικαιώματα προσπέλασης και κάνουν την προσπέλαση τους με ένα σωστά καθορισμένο τρόπο (Kurose.J.F, 2003). Σηµείο αναφοράς στην ασφάλεια αποτελεί το έτος 1989 όταν ο Οργανισµός Προτυποποίησης ISO παρουσίασε την αρχιτεκτονική ασφάλειας OSI η οποία προσφέρει µια γενική περιγραφή των υπηρεσιών ασφάλειας και των αντίστοιχων 22

37 µηχανισµών, πραγµατοποιώντας µια αντιστοίχηση των υπηρεσιών στα επίπεδα του µοντέλου OSI. Ενδιαφέρον σηµείο αποτελεί το γεγονός ότι η αρχιτεκτονική ασφάλειας OSI δεν προτείνει λύσεις σε προβλήµατα ασφάλειας, αλλά παρέχει ένα ολοκληρωµένο πλαίσιο ορολογίας και µια γενική περιγραφή των υπηρεσιών και των αντίστοιχων µηχανισµών ασφάλειας για την περιγραφή των προβληµάτων ασφάλειας και των αντίστοιχων λύσεων (Κάτσικας και Γκρίτζαλης,2003). Στην αρχιτεκτονική ασφάλειας OSI οι υπηρεσίες ασφάλειας διαχωρίζονται σε πέντε κλάσεις (classes). O διαχωρισµός αυτός έχει τον ίδιο στόχο µε το διαχωρισµό σε επίπεδα στο γνωστό µοντέλο αναφοράς: να επιτυγχάνεται η λειτουργικότητα του σχεδιασµού και της υλοποίησης των παρεχόµενων υπηρεσιών. Οι κλάσεις αυτές περιλαµβάνουν υπηρεσίες αυθεντικοποίησης, ελέγχου, πρόσβασης, εµπιστευτικότητας, ακεραιότητας δεδοµένων και µη αποποίησης όπου όλες ή κάποιες απ αυτές συναντώνται ανά επίπεδο OSI (Κάτσικας και Γκρίτζαλης,2003) Αντιπυρικά Τείχη και Αποστρατικοποιηµένες Ζώνες Αντιπυρικά Τείχη Ένας από τους πιο σίγουρους τρόπους για να διασφαλιστεί ότι οι κακόβουλοι δεν θα βλάψουν το σύστηµα είναι να διαβεβαιωθεί ότι τα πακέτα τους δε θα εισέλθουν ποτέ στο δίκτυο. Η αντιπυρική ζώνη, αντιπυρικά τείχη ή ανάχωµα ασφάλειας ( firewall ) είναι µία πιθανή τέτοια λύση που συναντάται ολοένα και περισσότερο. Η αντιπυρική ζώνη είναι το πιο σηµαντικό εργαλείο- συσκευή ασφάλειας που χρησιµοποιείται για να χειρίζεται τις δικτυακές συνδέσεις µεταξύ δύο οργανισµών που δεν εµπιστεύονται ο ένας τον άλλο. Όπως και σε µία συµβατική αντιπυρική ζώνη, µια αντιπυρική ζώνη του ιαδικτύου είναι σχεδιασµένη να εµποδίζει να εξαπλώνονται προβλήµατα του ιαδικτύου στους υπολογιστές του οργανισµού. Πρόκειται για ένα συνδυασµό υλικού και λογισµικού που αποµονώνει το εσωτερικό δίκτυο ενός υπολογιστή από το υπόλοιπο ιαδίκτυο, επιτρέποντας σε ορισµένα πακέτα να περνούν και σε άλλα όχι. Υπάρχουν δύο τύποι αντιπυρικών ζωνών : οι αντιπυρικές ζώνες φιλτραρίσµατος πακέτων (οι οποίες λειτουργούν σε επίπεδο δικτύου) και οι αντιπυρικές ζώνες επιπέδου εφαρµογής (οι οποίες λειτουργούν σε επίπεδο εφαρµογής). Το πρώτο βασίζεται στα φιλτράρισµα των πακέτων που 23

38 γίνεται στον δροµολογητή διαδικτύου. Τα φίλτρα πακέτων αναλύουν πρώτα κεφαλίδες δεδοµενογραµµάτων και µετά εφαρµόζουν ένα σύνολο κανόνων για να καθορίσουν αν θα υπορραφθεί το δεδοµενόγραµµα ή θα του επιτραπεί να περάσει. Οι αποφάσεις φιλτραρίσµατος βασίζονται συνήθως σε συνδυασµούς των εξής : ιεύθυνση προέλευσης και προορισµού ΙΡ Θύρα προέλευσης και προορισµού TCP και UDP Τύπος µηνύµατος ICMP Μηνύµατα αρχικοποίησης σύνδεσης χρησιµοποιώντας τα bit ΤCP SYN ή ACK Συγκλίνοντας µε τα παραπάνω oι βασικοί κανόνες ενός τείχους θα είναι της µορφής: <RuleGroup> <Action> Deny ή Allow <Protocol> IP, TCP, UDP, ICMP, κ.λπ. <SrcPort> <DstPort> <SrcIP> <SrcMask> Πηγή - Ξεχωριστές διευθύνσεις IP ή οµαδοποιήσεις τους <DstIP> <DstMask> Προορισµός Παράδειγµα (από δροµολογητή Cisco): access-list 100 permit tcp any host eq 80 Για να υπάρχει πληρέστερη ασφάλεια όµως, συνδυάζονται τα φίλτρα πακέτων µε τις πύλες εφαρµογών(application gateway). Οι πύλες εφαρµογών βλέπουν πέρα από τις κεφαλίδες IP/TCP/UDP και παίρνουν αποφάσεις πολιτικής µε βάση τα δεδοµένα των εφαρµογών. Μία πύλη εφαρµογής είναι ένας εξυπηρετητής εφαρµογής µέσω του οποίου πρέπει να περάσουν όλα τα δεδοµένα της εφαρµογής (εισερχόµενα και εξερχόµενα).το λογισµικό πύλης εφαρµογών µπορεί να κρατά επίσης µια καταγραφή όλων των αιτήσεων για να µπορούν να ελέγχονται εκτός σύνδεσης. Οι αντιπυρικές ζώνες εισάγουν µια διαπραγµάτευση ανάµεσα στο βαθµό επικοινωνίας µε τον έξω κόσµο και το επίπεδο ασφάλειας. Τα φίλτρα δεν µπορούν να αντιµετωπίσουν την παραπλάνηση διευθύνσεων IP και αριθµών θυρών (spoofing) 24

39 ενώ οι πύλες µπορούν επίσης να έχουν σφάλµατα επιτρέποντας στους επιτιθέµενους να τις διαπεράσουν. Η παραπλάνηση ΙΡ (IP spoofing) επιτυγχάνεται τροποποιώντας µέσα στο πεδίο διεύθυνσης προέλευσης ενός δεδοµενογράµµατος µία αυθαίρετη διεύθυνση. Τέλος, οι αντιπυρικές ζώνες είναι ακόµα λιγότερο αποδοτικές αν η εσωτερικά παραγόµενη επικοινωνία µπορεί να φτάσει στον έξω κόσµο, χωρίς να περάσει µέσω αντιπυρικών ζωνών. Οι ασύρµατες επικοινωνίες και τα µόντεµ µέσω τηλεφώνου είναι δύο τέτοια παραδείγµατα. Πρακτικά, η ασφάλεια δικτύου δεν περιλαµβάνει µόνο προστασία της επικοινωνίας και των πόρων του δικτύου, αλλά επίσης ανίχνευση παραβιάσεων ασφαλούς επικοινωνίας (IDS) και επιθέσεων στην υποδοµή και κατόπιν απόκριση σε αυτές τις επιθέσεις. Κατά πολλούς τρόπους, αποκρινόµενος σε επιθέσεις,ένας διαχειριστής δικτύου µπορεί να αναπτύξει πρόσθετους µηχανισµούς προστασίας. Κατ αυτή τη έννοια, η ασφάλεια δικτύου επιτυγχάνεται µέσω ενός συνεχούς κύκλου προστασίας ανίχνευσης και απόκρισης. Οι εισβολείς µπορεί να είναι παθητικοί ή ενεργητικοί. Ένας παθητικός εισβολέας µπορεί να ακούσει και να καταγράψει τα µηνύµατα ελέγχου και δεδοµένων επάνω στο κανάλι. Ένας ενεργητικός εισβολέας µπορεί να αφαιρέσει µηνύµατα από το κανάλι ή να προσθέσει µηνύµατα στο κανάλι. Αν δε χρησιµοποιηθούν κατάλληλα αντίµετρα, αυτές οι δυνατότητες επιτρέπουν σε ένα εισβολέα να κάνει πολλών ειδών επιθέσεις, που ποικίλλουν από το να κάνει ακρόαση σε µια επικοινωνία (πιθανώς κλέβοντας κωδικούς πρόσβασης και δεδοµένων), µέχρι να υποδυθεί µια άλλη οντότητα, για να "κάνει πειρατεία" σε µια σύνοδο σε εξέλιξη, µέχρι να αρνηθεί παροχή υπηρεσίας σε έγκυρους χρήστες του δικτύου, υπερφορτώνοντας τους πόρους του συστήµατος. Αποστρατικοποιηµένες Ζώνες Σε στρατιωτική ορολογία, Αποστρατικοποιηµένη Ζώνη (DMZ) είναι µια περιοχή της γης που χρησιµεύει ως εφεδρεία µεταξύ δύο εχθρών. Στην ορολογία της ασφάλειας δικτύων, ένα DMZ ή περιµετρικό δίκτυο, είναι ένα φυσικό ή λογικό υποδίκτυο που περιέχει και προσφέρει τις διαθέσιµες υπηρεσίες ενός οργανισµού σε ένα µεγαλύτερο αναξιόπιστο δίκτυο, συνήθως το ιαδίκτυο. Ένα DMZ περιέχει συνήθως τους εξυπηρετητές που παρέχουν υπηρεσίες σε χρήστες από το ιαδίκτυο, όπως εξυπηρετητές διαδικτύου(web Servers), ηλεκτρονικής αλληλογραφίας( Servers) ή διακοµιστές διαµεσολάβησης(proxy Server) και ανάστροφους διακοµιστές 25

40 διαµεσολάβησης (Reverse-Proxy Servers). Ο σκοπός ενός DMZ είναι να προσθέσει ένα επιπλέον επίπεδο ασφάλειας στου οργανισµού το τοπικό δίκτυο (LAN). Ένας επιτιθέµενος επιτίθεται µόνο στον εξοπλισµό του DMZ χωρίς να ασχολείται µε όλο το δίκτυο. Υπάρχουν πολλοί διαφορετικοί τρόποι κατασκευής ενός δικτύου µε DMZ. ύο από τις πιο βασικές µεθόδους είναι µε την χρήση ενός (αντιπυρικού) τείχους και µε την χρήση δύο τειχών. Στη περίπτωση το ενός τείχους απαιτούνται τουλάχιστον τρείς διεπαφές (τρισκελές µοντέλο) όπου η πρώτη είναι για το εσωτερικό δίκτυο η δεύτερη για το επικίνδυνο εξωτερικό και η τρίτη για το DNS. Το τείχος θα πρέπει να έχει την δυνατότητα να κατευθύνει ή να εµποδίζει κατάλληλα την ροή της εξωτερικής κίνησης προς το DMZ και το εσωτερικό δίκτυο αντίστοιχα. Η περίπτωση των δυο τειχών είναι µια ακριβότερη αλλά και ασφαλέστερη προσέγγιση. Το πρώτο τείχος ("front-end" firewall) διαµορφώνεται έτσι ώστε να επιτρέπει την είσοδο των νόµιµων αιτήσεων τόσο προς το εσωτερικό δίκτυο όσο κα προς το DMZ. To δεύτερο ("back-end" firewall) διαµορφώνεται έτσι ώστε να επιτρέπει κίνηση που προέρχεται από το DMZ (Εικόνα 1.11). Σαφώς το πρώτο τείχος θα πρέπει να µπορεί να διαχειρίζεται µεγαλύτερο όγκο πληροφοριών ενώ θα προσθέσει στη ασφάλεια αν τα δύο τείχη είναι διαφορετικής κατασκευής αφού έτσι η παραβίαση του πρώτου δεν θα συνεπάγεται και τη άµεση παραβίαση του δεύτερου. Εικόνα Αρχιτεκτονική DMZ διπλού τείχους Πώς διεισδύουν οι διαρρήκτες Οι περισσότεροι διαρρήκτες διεισδύουν σε κάποιο σύστηµα µε απλό τρόπο : συνδέονται µε τον υπολογιστή-στόχο και δοκιµάζουν πολλούς συνδυασµούς (όνοµα χρήστη, κωδικό πρόσβασης) µέχρι να βρουν κάποιο να δουλεύει. Στοιχεία που δεν 26

41 είναι καθόλου ακατόρθωτο να µαντευθούν, αφού δείχτηκε σε έρευνα του Kabay το 1997 που πραγµατοποιήθηκε στο οικονοµικό κέντρο του Λονδίνου, ότι µπορούν να κατασκευαστούν λίστες µε ονόµατα, αντικείµενα γραφείου, βροµόλογα,αστέρες των σπορ που καλύπτουν το 82% των κωδικών των χρηστών. Εύκολα µπορούν να κατασκευαστούν προγράµµατα δοκιµαστές κωδικών µε την βοήθεια λιστών,ώσπου να βρεθεί ένας σωστός κωδικός((kabay, 2007). Στους υπολογιστές του διαδικτύου µε την βοήθεια του προγράµµατος ping µπορεί να βρεθεί ένας ενεργός υπολογιστής και στη συνέχεια να γίνει απόπειρα διείσδυσης στο σύστηµα πληκτρολογώντας telnet w.x.y.z όπου τα w,x,y,z είναι τα ορίσµατα της εστιγµένης δεκαδικής σηµειογραφίας των ΙΡ διευθύνσεων. Αν η προσπάθεια σύνδεσης γίνει αποδεκτή (µπορεί και να µην γίνει καθώς δεν επιτρέπουν όλοι οι διαχειριστές συστηµάτων τυχαίες συνδέσεις µέσω του ιαδικτύου), ο διαρρήκτης µπορεί να αρχίσει να δοκιµάζει ονόµατα χρηστών και κωδικούς πρόσβασης από τις λίστες του. Ωστόσο, ο διαρρήκτης µπορεί τελικά να καταφέρει να διεισδύσει µετά από προσπάθειες και να αποκτήσει το αρχείο κωδικών πρόσβασης (το οποίο βρίσκεται στο /etc/passwd στα συστήµατα UNIX και συνήθως µπορεί να διαβαστεί από όλους). Στη συνέχεια,µπορεί να αρχίσει να συλλέγει στατιστικές πληροφορίες για τις συχνότητες χρήσης των ονοµάτων των χρηστών ώστε να βελτιστοποιήσει τις µελλοντικές αναζητήσεις. Πολλοί δαίµονες (διεργασίες παρασκηνίου) telnet διακόπτουν τη σύνδεση TCP µετά από µερικές αποτυχηµένες προσπάθειες σύνδεσης ώστε να καθυστερούν τους διαρρήκτες. Οι διαρρήκτες απαντούν σε αυτή την τακτική ξεκινώντας πολλά νήµατα παράλληλα, ή εργαζόµενοι σε διαφορετικούς υπολογιστές-στόχους ταυτόχρονα µε σκοπό να κάνουν όσο το δυνατό περισσότερες επιθέσεις ανά δευτερόλεπτο. Αντί να διερευνά τους υπολογιστές κατά σειρά διευθύνσεων ΙΡ, ο διαρρήκτης µπορεί να θέλει να διεισδύσει σε ένα συγκεκριµένο οργανισµό. Για να εντοπίσει τις διευθύνσεις ΙΡ που χρησιµοποιούν στο Πανεπιστήµιο Πειραιά,για παράδειγµα,αρκεί να πληκτρολογηθεί το : dnsqueru 27

42 και να παραλάβει µία λίστα από µερικές διευθύνσεις ΙΡ του Πανεπιστηµίου,ώστε να δοκιµάσει όλες αυτές αν απαντούν και αποδέχονται συνδέσεις. Κατόπιν, µένει να µαντευθούν τα ονόµατα χρηστών και οι κωδικοί πρόσβασης,όπως έχει ήδη αναλυθεί. Μόλις ένας διαρρήκτης διεισδύσει σε κάποιο σύστηµα και γίνει υπερχρήστης, έχει πιθανόν τη δυνατότητα να εγκαταστήσει ένα πρόγραµµα εξέτασης πακέτων το οποίο εξετάζει όλα τα πακέτα του δικτύου ψάχνοντας για συγκεκριµένα πρότυπα. Ένα ενδιαφέρον πρότυπο αναζήτησης είναι να βρεθούν χρήστες στον εκτεθειµένο υπολογιστή που συνδέονται σε αποµακρυσµένους υπολογιστές. Με αυτό τον τρόπο, ένας διαρρήκτης που διεισδύει σε έναν υπολογιστή µε αδύνατη ασφάλεια µπορεί να χρησιµοποιήσει αυτό το γεγονός για να διεισδύσει σε άλλους υπολογιστές που διαθέτουν ισχυρότερη ασφάλεια (Tanenbaum,2001) Μέθοδοι επιθέσεων Μόλις κάποιος διαρρήκτης συνδεθεί µε οποιονδήποτε τρόπο σε έναν υπολογιστή, µπορεί να αρχίσει να προξενεί ζηµίες. Αν ο υπολογιστής διαθέτει καλό σύστηµα ασφάλειας, ο διαρρήκτης θα µπορέσει να βλάψει µόνο το χρήστη που διαθέτει το σπασµένο κωδικό, αλλά συχνά αυτή η αρχική επίθεση µπορεί να αξιοποιηθεί ώστε να παραβιαστούν και άλλοι λογαριασµοί (Tanenbaum,2001). Υπάρχουν αρκετοί τρόποι χειραγώγησης ή καταστροφής ενός πληροφοριακού συστήµατος και προετοιµασίας εδάφους για µία επίθεση σε ένα τέτοιο σύστηµα. Οι γενικότερες κατηγορίες αυτών των µεθόδων είναι: Επιθέσεις βασισµένες στο δίκτυο Αυτού του είδους οι επιθέσεις εξαπολύονται πάνω σε δικτυακές συσκευές, υπολογιστικά συστήµατα ή εφαρµογές που χρησιµοποιούν τις δικτυακές λειτουργίες. Αυτές οι επιθέσεις ανιχνεύουν τρωτότητες ή αστοχίες στο υλικό και στο λογισµικό ούτως ώστε να προετοιµαστούν και να εκτελεστούν. Οι βασισµένες στο δίκτυο επιθέσεις περιλαµβάνουν την ανίχνευση θυρών, την παραπλάνηση ΙΡ διευθύνσεων, την ανίχνευση πακέτων, την πειρατεία συνόδων, επιθέσεις DoS, υπερχειλίσεις 28

43 προσωρινής αποθήκευσης, λογικές βόµβες, καταπακτές,δούρειους ίππους, ιούς, σκουλήκια και κάθε άλλη µορφή εκµετάλλευσης τρωτοτήτων του λειτουργικού συστήµατος, των συστηµάτων εφαρµογών και των δικτυακών πρωτοκόλλων. Σύµφωνα µε έρευνα της Symantec τον Ιούλιο του 2008 οι δούρειοι ίπποι κάλυψαν το 71% των 50 συχνότερων δολιοφθορών λογισµικού, παρουσιάζοντας µικρή µείωση από το πρώτο εξάµηνο του Τα δικτυακά σκουλήκια κάλυψαν το 22% όλο το 2007 µε εµφανή µείωση από το δεύτερο εξάµηνο του 2006 (Εικόνα 1.12). Εικόνα Ποσοστά επιθέσεων λογισµικού (Symantec Corp.) Κοινωνική Μηχανική Οι άνθρωποι είναι συνήθως οι πιο ευάλωτοι κρίκοι της αλυσίδας της ασφάλειας. Οι επιθέσεις κοινωνικής µηχανικής (social engineering) είναι απόπειρες χειραγώγησης ατόµων που κατέχουν συχνά θέσεις κλειδιά µε σκοπό να εκµαιεύσουν οι επιτιθέµενοι από αυτούς πληροφορίες σχετικές µε την ασφάλεια. Για παράδειγµα ένας επιτιθέµενος µπορεί να προσποιηθεί ότι είναι διαχειριστής δικτύου ενός οργανισµού και να εξαπατήσει ένα ανυποψίαστο υπάλληλο αποσπώντας του τελικά τον κωδικό πρόσβασης του δικτύου. Το εύρος των πιθανών σεναρίων επίθεσης µε αυτή την µέθοδο είναι αρκετά ευρύ φτάνοντας ακόµα και στον εκβιασµό. 29

44 Μια διαδεδοµένη µορφή αυτής της κατηγορίας είναι το phising όπου όπως το ίδιο το όνοµά του υπονοεί -παραλλαγή του αγγλικού «fishing» (ψάρεµα), το Phishing αναφέρεται στην προσπάθεια απόσπασης προσωπικών στοιχείων, οικονοµικού συνήθως χαρακτήρα που αφορούν τραπεζικούς λογαριασµούς και πιστωτικές κάρτες, χρησιµοποιώντας ως δόλωµα κάποιο ψεύτικο πρόσχηµα. Οι απάτες ψαρέµατος µπορεί να γίνουν αυτοπροσώπως, µέσω τηλεφώνου ή πιο συχνά µέσω αποστολής κάποιου spam , το οποίο υποδυόµενο γνώριµες στο χρήστη φόρµες προσποιείται ότι αποστέλλεται από κάποια υπαρκτή και νόµιµη εταιρεία. Εύφορο έδαφος για τέτοιου είδους πρακτικές αποτελούν οι ολοένα και αυξανόµενής δηµοτικότητας ιστότοποι των κοινωνικών διαδικτύων (social networking) όπως τα διάσηµα Facebook και msn στους οποίους και παρατηρείται το σύγχρονο φαινόµενο του social phising (Jagatic et all, 2005). Η βασική τρωτότητα σε αυτές τις υπηρεσίες δεν είναι η µεγάλη συγκέντρωση χρηστών αλλά το γεγονός ότι οι χρήστες εξοικειώνονται όλο και περισσότερο σε ένα περιβάλλον που συνηθίζουν να εµπιστεύονται τυφλά προσωπικά τους δεδοµένα όπως τόπο εργασίας και κατοικίας, ηµεροµηνία γέννησης και αλλά που στο σύνολο τους µπορούν να αποτελέσουν ένα θησαυρό πληροφοριών σε κάποιον κοινωνικό µηχανικό. Σύµφωνα µε την έρευνα της Symantec το δεύτερο εξάµηνο του 2007 παρατηρήθηκε αύξηση σε επιθέσεις ψαρέµατος κατά 167% από το πρώτο εξάµηνο ενώ το 91% από το σύνολο αυτών στόχευσαν σε δύο ιστότοπους κοινωνικής διαδικτύωσης (Symantec Corp.,2008). Καταστρατήγηση φυσικών συσκευών ασφάλειας εν µπορεί να υπάρξει ασφάλεια πληροφοριακών συστηµάτων χωρίς τη φυσική ύπαρξη τεχνικής υποδοµής. Εάν κατατροπωθεί η φυσική υποδοµή και εξασφαλιστεί η φυσική παρουσία στα πληροφοριακά συστήµατα είναι θέµα χρόνου να εκδηλωθεί µια επίθεση ή χειραγώγηση πάνω στις αποθηκευµένες εφαρµογές και 30

45 δεδοµένα. Ένα παράδειγµα είναι µία ανεξουσιοδότητη είσοδος στο πυρήνα των υπολογιστών ενός οργανισµού και η αποµάκρυνση ενός σκληρού δίσκου στον οποίο εµπιστευτικές πληροφορίες είναι αποθηκευµένες. Αυτή η κατηγορία περιλαµβάνει επίσης την αναζήτηση πληροφοριών στους κάλαθους αχρήστων των εταιριών µε σκοπό να βρεθούν ευαίσθητες πληροφορίες, (dumpster diving) (Federal Office for Information Security,2004) Έλεγχος τρωτότητας και διείσδυσης Ο έλεγχος ασφάλειας ενός συστήµατος µπορεί να αρχίσει από την επανεξέταση του κώδικα διενεργώντας ένα σύνολο ελέγχων. Η διαδικασία αυτή είναι γνωστή ως έλεγχος διαφανούς κουτιού (glass ή white box testing) σε αντίθεση µε τον έλεγχο µαύρου κουτιού (black box testing) όπου ο υπεύθυνος ελέγχου διαθέτει το σύστηµα αλλά δεν διαθέτει την τεκµηρίωση ή τον πηγαίο κώδικα. Έρευνα της NIST (National Institute of Standards and Technology) το 2002 έδειξε ότι οι απώλειες από ατέλειες λογισµικού στις Η.Π.Α αγγίζουν ετησίως τα $59.5 δισ., κόστος που θα µπορούσε να µειωθεί στο ένα τρίτο αν καλύτεροι έλεγχοι λογισµικού πραγµατοποιούνταν. Επίσης έρευνα της IBM Internet Security Systems που εκδόθηκε το Φεβρουάριο του 2008 δείχνει να υπάρχει µείωση στην εµφάνιση τρωτοτήτων(- 5.4%) από την προηγούµενη χρονιά. Η µείωση µπορεί να είναι µια στατιστική διόρθωση ή µια ανωµαλία ή ακόµα µια νέα τάση στην εµφάνιση των τρωτοτήτων. Ωστόσο, η οµάδα ερευνητών της IBM σηµειώνει ότι παρόλη την µείωση οι τρωτότητες υψηλού κινδύνου που συµπεριλαµβάνονται στην γενικότερη κατηγορία σηµείωσαν αύξηση κατά 28%. Η αυξητική τάση στην εµφάνιση των τρωτοτήτων από το 2000 έως το 2007 φαίνεται στην Εικόνα 1.13 (Πηγή: IBM X-Force I.S.S ). 31

46 Εικόνα Εµφάνιση τρωτοτήτων ανά έτος Για την εξέταση ασφάλειας και εύρεσης τρωτοτήτων των δικτύων η αγορά παρέχει ποικιλία υπηρεσιών. Η Εικόνα 1.14 δείχνει τις κύριες υπηρεσίες παροχής ασφάλειας σύµφωνα µε το βάθος αποτίµησης του δικτύου που κατακτάται και το σχετικό κόστος. Κάθε υπηρεσία µπορεί να παρέχει διάφορα επίπεδα διαβεβαίωσης της ασφάλειας. Εικόνα Διαφορετικές υπηρεσίες ελέγχου ασφάλειας Vulnerability scanning (έλεγχος τρωτότητας) χρησιµοποιεί αυτόµατα συστήµατα (όπως το Nessus ή το QualysGuard) µε ελάχιστη απαίτηση σε χειροκίνητους χειρισµούς και υπολογισµούς. Αυτός είναι ένας οικονοµικός τρόπος ώστε να διαβεβαιωθεί ότι καµία προφανής τρωτότητα δεν υπάρχει, αλλά δεν µπορεί να παρέχει µια ξεκάθαρη στρατηγική αναβάθµισης της ασφάλειας. Network security assessment (Αποτίµηση δικτυακής ασφάλειας) είναι ένας αποδοτικός συνδυασµός αυτοµατοποιηµένου και χειροκίνητου ελέγχου τρωτότητας. 32

47 Η αναφορά δίνεται συνήθως χειρόγραφη, ακριβής, και λακωνική παρέχοντας πρακτικές προτάσεις βελτίωσης της ασφάλειας του οργανισµού. H Web application testing (Εξέταση εφαρµογών διαδικτύου ) ασχολείται µε την εκτίµηση µετά αυθεντικοποίησης των συστατικών, αναγνωρίζοντας εντολές διείσδυσης, αδύναµες παραµέτρους και άλλες αδυναµίες που υπάρχουν σε ένα µια δεδοµένη διαδικτυακή εφαρµογή. Ο έλεγχος σε αυτό το επίπεδο περιλαµβάνει εκτεταµένες χειροκίνητες τροποποιήσεις και δύσκολα αυτοµατοποιείται. Ο Penetration testing (Έλεγχος διείσδυσης),που θα αναλυθεί παρακάτω, περιλαµβάνει πλήθος ειδών επίθεσης µε σκοπό την κατάληψη και εκµετάλλευση ενός συστήµατος. Ο Onsite auditing έλεγχος παρέχει την καθαρότερη εικόνα της ασφάλειας ενός δικτύου. Οι εµπειρογνώµονες έχουν πρόσβαση στα τοπικά συστήµατα και µπορούν να εφαρµόζουν εργαλεία σε κάθε σύστηµα αναγνωρίζοντας οποιαδήποτε ανωµαλία συµπεριλαµβάνοντας εύρεση αδύναµων κωδικών πρόσβασης και αδύναµων άδειων πρόσβασης, ασύρµατους ελέγχους όπως και αναγνώριση των rootkits τα οποία rootkits απαρτίζονται από ένα σύνολο εργαλείων-προγραµµάτων (spyware, keyloggers, εργαλεία καταγραφής δικτυακής δραστηριότητας κ.τ.λ.) τα οποία έχουν σκοπό να αποκρύψουν διεργασίες, αρχεία κ.τ.λ. από τον χρήστη, ώστε να επιτραπεί η είσοδος µε δικαιώµατα administrator(root) στον επιτιθέµενο σε ένα µεµονωµένο PC ή δίκτυο υπολογιστών.) (ChrissMcNab, 2008) Ωστόσο, η παρούσα εργασία επικεντρώνεται σε ένα τρόπο για να δοκιµαστεί η ασφάλεια ενός συστήµατος που είναι να προσληφθεί µια οµάδα ειδικών, η οποία ονοµάζεται οµάδα τίγρεων ή οµάδα διείσδυσης, για να διαπιστωθεί αν µπορούν να το παραβιάσουν (Tanenbaum,2001). Ο όρος έλεγχος διείσδυσης (penetration test) χρησιµοποιήθηκε πρώτη φορά το 1995 όταν εµφανίστηκε ο βασισµένος σε UNIX αυτοµατοποιηµένος δοκιµαστής διεισδύσεων "SATAN" (Venema,2005). Σήµερα πλήθος ελεύθερης διανοµής και εµπορικά εργαλεία επίθεσης και διείσδυσης υπάρχουν στο ιαδίκτυο. Εργαλείο επίθεσης (attack tool) χαρακτηρίζεται ένα αυτοµατοποιηµένο πρόγραµµα, το οποίο είναι σχεδιασµένο µε σκοπό την παραβίαση πολιτικής ενός συστήµατος (Κάτσικας και Γκρίτζαλης,2003). Η διαδικασία περιλαµβάνει µια ενεργό ανάλυση του συστήµατος για οποιεσδήποτε πιθανές ευπάθειες που µπορούν να προκύψουν από τη φτωχή ή 33

48 ανάρµοστη διαµόρφωση συστηµάτων, τις γνωστές ή και άγνωστες ρωγµές υλικού ή λογισµικού ή τις λειτουργικές αδυναµίες στη διαδικασία ή τα τεχνικά αντίµετρα. Οποιαδήποτε ζητήµατα ασφάλειας που βρίσκονται, θα παρουσιαστούν στον ιδιοκτήτη συστηµάτων µαζί µε µια αξιολόγηση του αντίκτυπού τους και στην ιδανική περίπτωση µε την συνοδεία συγκεκριµένων λύσεων εξάλειψης των κινδύνων. Στόχος µιας δοκιµής διείσδυσης είναι να καθορίσει το εφικτό µιας επίθεσης και το µέγεθος του αντίκτυπου που θα έχει στον οργανισµό ένας επιτυχής εισβολέας, εάν ανακαλυφθεί. Με αυτό τον τρόπο επιτυγχάνεται βελτίωση των συστηµάτων ασφάλειας ενός οργανισµού και των µελών του ή πραγµατοποιείται και για λόγους ανάγκης πιστοποίησης ασφάλειας από ένα τρίτο φορέα. Ωστόσο,παρά την σπουδαιότητα του ένας έλεγχος διείσδυσης είναι βραχύβιος και σε καµία περίπτωση δε µπορεί να αντικαταστήσει την γενικότερη πολιτική ασφάλειας ενός οργανισµού. Όσο µεγαλύτερες απαιτήσεις ασφάλειας υπάρχουν σε πολύπλοκα συστήµατα,τόσο συχνότερα πρέπει να εκτελούνται έλεγχοι διείσδυσης ώστε να εντοπίζονται διαρκώς οι καινούργιες απειλές Οι Πέντε φάσεις ενός Ελέγχου ιείσδυσης Τα ακόλουθα παρουσιάζουν τις πέντε φάσεις ενός ελέγχου διείσδυσης οι οποίες πραγµατοποιούνται διαδοχικά. Φάση 1 : Προετοιµασία Είναι δύσκολο να ικανοποιηθούν οι προσδοκίες του πελάτη χωρίς να γίνει λεπτοµερής συµφωνία για τους αντικειµενικούς σκοπούς του ελέγχου διείσδυσης. Η εκτέλεση ενός ελέγχου διείσδυσης χωρίς να έχουν παρθεί τα σχετικά νόµιµα δικαιώµατα µπορεί να έχει επιπτώσεις από τους αστικούς και ποινικούς νόµους. Για αυτό τον λόγο οι εκτελεστές πρέπει να επιβεβαιώσουν ότι οι διαδικασίες ελέγχου δεν πρόκειται να παραβιάσουν νοµικές προβλέψεις ή συµβατικές συµφωνίες. Επίσης η βλάβη ενός παραγωγικού συστήµατος µπορεί να οδηγήσει σε προσφυγές κάτι που θα είναι αποτέλεσµα των διεισδυτικών τεχνικών οι οποίες δεν θα έχουν συµφωνηθεί σύµφωνα τα ρίσκα που επιφυλάσσουν. Απαραίτητο λοιπόν είναι να συζητηθεί 34

49 ενδελεχώς η διαδικασία που θα ακολουθηθεί µαζί µε τους αντίστοιχους κινδύνους και η συµφωνία να είναι ξεκάθαρη σε έγγραφα συµβόλαια. Φάση 2 : Αναγνώριση στόχου Αφού έχουν καθοριστεί οι σκοποί, οι διαδικασίες και οι ενδεχόµενοι κίνδυνοι σύµφωνα όπως επιβάλει η Φάση 1 οι ελεγκτές του διεισδυτικού ελέγχου αρχίζουν την διαδικασία συγκέντρωσης πληροφοριών για το στόχο. Αυτή η φάση είναι ο παθητικός έλεγχος διείσδυσης. Επιδίωξη είναι να επιτευχθεί µια ολοκληρωµένη και λεπτοµερή εικόνα του συστήµατος, περιλαµβάνοντας ανοχύρωτες περιοχές και γνωστά ελαττώµατα ασφάλειας. Ανάλογα µε τον αριθµό των υπολογιστών ή το µέγεθος του δικτύου προς εξέταση, τα βήµατα ελέγχου µπορεί να είναι εξαιρετικά χρονοβόρα. Αν,για παράδειγµα, πρέπει να εξεταστεί ένα δίκτυο Γ κλάσης (256 πιθανές διευθύνσεις) το οποίο προστατεύεται µε µια αντιπυρική ζώνη και απαιτείται πλήρης σάρωση θυρών (όλες τις θύρες) πιθανόν να χρειαστούν 20 µέρες ή και αρκετές βδοµάδες ανάλογα µε τις διαρρυθµίσεις. Παρόλο που αυτά τα αργά βήµατα πλέον έχουν αυτοµατοποιηθεί, ο χρόνος εκτέλεσης τους είναι παράµετρος που πρέπει να λαµβάνεται σοβαρά υπόψη στο σχεδιασµό της επιχείρησης. Φάση 3: Ανάλυση πληροφοριών και κινδύνων Μια επιτυχηµένη, διαφανής και οικονοµικά αποδοτική διαδικασία πρέπει να αναλύει και να αποτιµά τις πληροφορίες που συγκεντρώνονται πριν την εκκίνηση εκτέλεσης των βηµάτων της ενεργητικής διείσδυσης στο συστήµατα. Η ανάλυση πρέπει να περιλαµβάνει τους καθορισµένους στόχους του ελέγχου διείσδυσης, τα δυσµενή ενδεχόµενα για το σύστηµα και τον εκτιµούµενο χρόνο που απαιτείται για την αποτίµηση των πιθανών ρηγµάτων ασφάλειας των µεταγενέστερων ενεργητικών αποπειρών διείσδυσης. Οι στόχοι στη Φάση 4 επιλέγονται στη συνέχεια βάση αυτής της ανάλυσης. Από την λίστα των αναγνωρισµένων συστηµάτων ο ελεγκτής µπορεί, για παράδειγµα, να επιλέξει να εξετάσει µόνο αυτά τα συστήµατα που περιέχουν γνωστές εν δυνάµει τρωτότητες σύµφωνα µε : την µορφή της διαρρύθµισης του πληροφοριακού συστήµατος, µε το είδος των εφαρµογών ή µε την πείρα των εξεταστών. Επόµενο είναι να µειωθούν οι προς εξέταση στόχοι που είχαν καθοριστεί στην φάση 2 και αναπόφευκτα χάριν της αναβάθµισης της αποδοτικότητας µειώνεται ο όγκος της πληροφόρησης γεγονός που πρέπει να γνωστοποιηθεί στον πελάτη. 35

50 Φάση 4: Ενεργητικές διεισδυτικές απόπειρες Εν τέλει τα επιλεγµένα συστήµατα δέχονται µια δριµεία ενεργητική επίθεση. Απόκτηση δικαιωµάτων διαχειριστή, εγκατάσταση κερκόπορτας αθόρυβης εισόδου στο σύστηµα, διακύβευση ευαίσθητων δεδοµένων, ανέβασµα και χρήση εργαλείων ώστε να παραβιαστούν και άλλα συστήµατα. Αυτή η φάση συνεπάγεται τα υψηλότερα ενδεχόµενα κινδύνου καθόλη τη διάρκεια του διεισδυτικού ελέγχου και πρέπει να εκτελείται προσεκτικά σε περιπτώσεις που απαιτείται. Όµως, µόνο αυτή η φάση µπορεί και αποκαλύπτει την πραγµατική έκταση των κινδύνων από τις τρωτότητες που άρχισαν να διαφαίνονται στην φάση αναγνώρισης στόχου. Για συστήµατα µεγάλης διαθεσιµότητας και αδιάκοπων απαιτήσεων, οι πιθανές επιπτώσεις πρέπει να ληφθούν πολύ σοβαρά υπόψη πριν την εκτέλεση επικίνδυνων εκτελέσεων, όπως όταν χρησιµοποιούνται ισχυροί πολιορκητικοί µηχανισµοί (exploits) υπερχείλισης προσωρινής µνήµης. Για αυτό συχνά εισάγονται πρότερα στο σύστηµα δικλείδες ασφάλειας ώστε να αποτραπεί κατάρρευση του συστήµατος, βάζοντας µε αυτό τον τρόπο περιορισµούς στον έλεγχο διείσδυσης που σε περίπτωση πραγµατικής επίθεσης δε θα υπάρχουν. Φάση 5 : Τελική ανάλυση Η τελική αναφορά πρέπει να περιέχει µια αξιολόγηση των τρωτοτήτων τοποθετηµένων σε φόρµες ενδεχόµενων κινδύνων µαζί µε συστάσεις για εξάλειψη των κινδύνων. Αυτή η αναφορά θα πρέπει να εγγυάται για τη διαφάνεια της διαδικασία εξέτασης και για τις τρωτότητες που εντοπίστηκαν. Τα ευρήµατα και οι επακόλουθοι κίνδυνοι για το πληροφοριακό σύστηµα πρέπει να συζητούνται σε βάθος µε τον πελάτη µετά το τέλος της διαδικασίας (Federal Office for Information Security,2004) Συστατικά Πλατφόρµας Αποτίµησης Ασφάλειας ικτύου Σε αυτό το κεφάλαιο περιγράφονται τα συστατικά που συνθέτουν µια πλατφόρµα εξαπόλυσης ελέγχων του επαγγελµατία εµπειρογνώµονα για την εκτέλεση των διάφορων φάσεων των ελέγχων τρωτότητας. Πολλά εξειδικευµένα 36

51 εργαλεία µπορούν να τρέξουν µόνο σε συγκεκριµένα λειτουργικά και απέναντι σε διαφορετικών ειδών πληροφοριακά συστήµατα κάνοντας έτσι την σχεδίαση µιας ευέλικτης πλατφόρµας εργαλείων πολύ σηµαντική. Σε υψηλό επίπεδο σχεδίασης τα συστατικά µέρη που θα πρέπει να ληφθούν υπόψη είναι τα ακόλουθα : Εικονικό λογισµικό και µηχανές που επιτρέπουν την εκτέλεση πολλαπλών εικονικών συστηµάτων σε µια φυσική µηχανή Λειτουργικά Συστήµατα στο εσωτερικό της πλατφόρµας Εργαλεία αναγνώρισης στόχου ώστε να πραγµατοποιούν κάποιες προκαταρτικές µελέτες ανοικτού κώδικα βασισµένες στο ιαδίκτυο. Εργαλεία σάρωσης και ανάλυσης δικτύου που εκτελούν αυτοµατοποιηµένους ελέγχους τρωτότητας σε προσβάσιµες ΙΡ διευθύνσεις Πλατφόρµες πολιορκίας ώστε να κατακτηθούν τρωτά µέρη του λογισµικού και να εξασφαλιστεί πρόσβαση στις υπηρεσίες. Εργαλεία ελέγχου διαδικτυακών εφαρµογών που εκτελούν συγκεκριµένους ελέγχους των διαδικτυακών εφαρµογών. Εικονικό λογισµικό (Virtualization Software) Οι περισσότεροι εµπειρογνώµονες χρησιµοποιούν εικονικές µηχανές και εξυπηρετητές για να υποστηρίξουν τις πλατφόρµες ελέγχου. Το εικονικό λογισµικό επιτρέπει σε πολλαπλές εικονικές µηχανές να τρέχουν παράλληλα σε διαφορετικά λειτουργικά συστήµατα και εργαλεία Οι εικονικές µηχανές επίσης αδρανοποιούνται και επαναφέρονται σε ασφαλής καταστάσεις εύκολα και επίσης µπορούν να αντιγράφονται και µετακινούνται µεταξύ φυσικών µηχανών, προσθέτοντας έτσι στην απλότητα της συντήρησης. Αντιπρόσωποι αυτών είναι το εξαιρετικά χρήσιµο VMware που επιτρέπει το τρέξιµο πολλαπλών στιγµιότυπων λειτουργικών συστηµάτων σε ένα σύστηµα, το Microsoft Virtual PC που συνεργάζεται τόσο µε τις Linux,BSD και Solaris πλατφόρµες όσο και µε τα Mac OS X και τέλος υπάρχει η λύση των Parallels που επιτρέπει να τρέχουν µέσα στα Mac OS X Microsoft Windows και Linux,BSD πλατφόρµες. Λειτουργικά Συστήµατα (Operating Systems) 37

52 Τα λειτουργικά που θα χρησιµοποιηθούν κατά τη διάρκεια µιας αποτίµησης ελέγχου ενός συστήµατος εξαρτάται από τον τύπο των δικτύων που θα εξεταστούν και από το βάθος ανάλυσης που θα προσεγγιστεί σε αυτά. Είναι συχνό φαινόµενο όταν εξετάζονται Linux ή Unix συστήµατα να βασίζεται ο ελεγκτής σε πλατφόρµες Unix κατηγορίας. Οι Microsoft Windows πλατφόρµες (XP,2003 Server,Vista κ.τ.λ.) έχουν ωριµάσει και αποκτήσει προσαρµοστικότητα και για αυτό πολλά εργαλεία επίθεσης σχεδιάζονται για τέτοια συστήµατα. Οι Linux πλατφόρµες αποτελούν την επιλογή των περισσοτέρων επιτιθέµενων και υπεύθυνων ασφάλειας συστηµάτων αφού παρουσιάζουν τα λιγότερα εµπόδια σε τέτοιες προκλήσεις. Τα Linux είναι πολύπλευρα και το σύστηµα πυρήνα τους µπορεί και υποστηρίζει τεχνολογίες και πρωτόκολλα αιχµής (το Bluetooth και το IPv6 είναι αξιόλογα παραδείγµατα την εποχή συγγραφής της παρούσας εργασίας). Τα Mac OS X προέρχεται από το BSD λειτουργικό σύστηµα. Το υποκείµενο σύστηµα µοιάζει πάρα πολύ µε κάθε είδους Unix περιβάλλον παρέχοντας έτσι χρήσιµες δυνατότητες κατά την διάρκεια µιας αποτίµησης ασφάλειας (περιλαµβάνοντας telnet,ftp,rpcinfo,snmpwalk,host και dig). Πολλά εργαλεία σχεδιάζονται για Mac OS X όπως τα Nmap, Nessus και το Nicto. Εργαλεία αναγνώρισης στόχου (Reconnaissance tools) Πλήθος ενσωµατωµένων εντολών στα λειτουργικά συστήµατα µπορούν να χρησιµοποιηθούν για να αναγνωριστεί το "έδαφος" της έρευνας. Σε όλα τα λειτουργικά υπάρχουν τέτοιες δυνατότητες και εργαλεία αναγνώρισης όπως ο ελεγκτής προσπελασιµότητας και ο ιχνηλάτης δροµολογίου που αναλύθηκαν στα κεφάλαια 1.8 και 1.9 αντίστοιχα. Αυτές και άλλες παρόµοιες λειτουργίες όπως η whois ή η nslookup πραγµατοποιούνται ακόµα πιο εύκολα πλέον µέσω ενός διαφυλλιστή του Παγκόσµιου Ιστού (browsers), που αναφέρεται σε συγκεκριµένες WHOIS διαδικτυακές µηχανές αναζήτησης. Εργαλεία ικτυακής Ανάλυσης (Network Scanning Tools) Οι δικτυακοί αναλυτές χρησιµοποιούνται για να σαρώσουν µε αυτοµατοποιηµένο τρόπο σειρές IP διευθύνσεων ώστε να αναγνωριστούν τρωτά συστατικά των δικτύων. Τα δύο εργαλεία ανοιχτού κώδικα που κυριαρχούν σε αυτή τη κατηγορία είναι το Nmap και το Nessus που θα αναλυθούν εκτενώς στα κεφάλαια 38

53 2 και 4 αντίστοιχα. Πολλοί διαχειριστές δικτύων χρησιµοποιούν και εµπορικά πακέτα όπως τα δηµοφιλή ISS Internet Scanner, eeye Retina, QualysGuard και το Matta Colossus. Πλατφόρµες Πολιορκίας (Exploitation Frameworks) Έχοντας αναγνωρίσει τις τρωτές δικτυακές υπηρεσίες και τα ευάλωτα συστατικά ενός συστήµατος, οι πλατφόρµες πολιορκίας χρησιµοποιούνται για να εκµεταλλευτούν τις ρωγµές ασφάλειας ώστε να αποκτηθούν τελικά δικαιώµατα πρόσβασης στο στόχο και διαχείρισης του. Σχολαστικά στοιχεία για κάθε φάση αυτών των πολιορκιών είναι απαραίτητα ώστε να παρουσιαστεί στον πελάτη µια ξεκάθαρη και ακριβής αναφορά. Η µοναδική πλατφόρµα πολιορκίας που είναι δωρεάν τον καιρό συγγραφής αυτής της εργασίας είναι το Metasploit το οποίο αναλύεται εκτενώς στο κεφάλαιο 5. ύο είναι οι διάσηµες εµπορικές πλατφόρµες πολιορκίας η CORE IMPACT που παρουσιάζεται στο κεφάλαιο 6 και η πλατφόρµα CANVAS. Εργαλεία ελέγχου διαδικτυακών εφαρµογών (Web Application Testing Tools) Τα εργαλεία ελέγχου διαδικτυακών εφαρµογών εφαρµόζουν διαδικτυακές µεθόδους σε προσβάσιµες δικτυακές εφαρµογές ώστε να αναγνωρίσουν αδυναµίες όπως εγχύσεις εντολών, αδύναµες πολιτικές ή παράτυπες παρεµβολές εµφάνισης κακόβουλου κώδικα που οδηγεί στην απάτη του phising. Αυτού του είδους τα εργαλεία τρέχουν µε δύο τρόπους.o πρώτος τρόπος είναι να τρέχει ως παθητικός διακοµιστής διαµεσολάβησης (proxy) όπου τροποποιεί τα αρχεία από ένα διαφυλλιστή του Παγκόσµιου Ιστού καθώς αυτά στέλνονται σε ένα διαδικτυακό εξυπηρετητή. Ο δεύτερος τρόπος είναι τρέξιµο ενεργητικών σαρώσεων µε όπου ασκούνται απευθείας τεχνικές fuzzing και crawling. Fuzzing είναι µια τεχνική ελέγχου προγραµµάτων όπου λειτουργεί βοµβαρδίζοντας την είσοδο τους µε τυχαία συνεχόµενα δεδοµένα ("fuzz"). Αν το πρόγραµµα αποτύχει οι ανεπάρκειες επισηµαίνονται. Η crawling τεχνική είναι µια αυτοµατοποιηµένη διαδικασία ροµπότ (bot) όπου µεθοδικά επισκέπτεται λίστες διευθύνσεων ιστότοπων συλλέγοντας στοιχεία όπως οι υπερσυνδέσεις ή τα s ώστε να χρησιµοποιηθούν και αυτά στη συνέχεια σύµφωνα µε κάποιοι κριτήρια, για κακόβουλους σκοπούς όπως η µαύρη 39

54 διαφήµιση (spam). Πολύπλοκες δικτυακές εφαρµογές (όπως αυτές που χρησιµοποιούν JavaScript) είναι δύσκολο να σαρωθούν και να δεχτούν crawling, γι αυτό ο τρόπος παθητικού διακοµιστή διαµεσολάβησης ενδύκνειτε σε αυτές τις περιπτώσεις. Εργαλεία ανοιχτού κώδικα αυτής της κατηγορίας είναι τα Paros, WebScarab, Burb Suite, Wapiti και Nikto ενώ κάποιοι εµπορικά είναι τα Watchfire AppScan, SPI Dynamics WebInspect και το Cenzic Hailstorm. ΚΕΦΑΛΑΙΟ 2 ΠΑΡΟΥΣΙΑΣΗ & ΑΞΙΟΛΟΓΗΣΗ ΕΡΓΑΛΕΙΟY NΜΑΡ 2.1. Χαρτογράφηση Στον πραγµατικό κόσµο µιας επίθεσης συχνά προηγείται συλλογή πληροφοριών (Φάση 2). Οι κακοποιοί και οι στρατιώτες κάνουν κατόπτευση του χώρου. Ο σκοπός είναι σαφής- όσα περισσότερα είναι γνωστά για ένα στόχο πριν την επίθεση, τόσο λιγότερες είναι οι πιθανότητες σύλληψης και τόσο µεγαλύτερη η πιθανότητα επιτυχίας. Αυτό ισχύει επίσης στον κυβερνοχώρο. Πριν επιτεθούν σε ένα δίκτυο, οι επιτιθέµενοι θέλουν να γνωρίζουν τις διευθύνσεις ΙΡ των µηχανηµάτων του δικτύου, τα λειτουργικά συστήµατα που χρησιµοποιούν και τις υπηρεσίες που προσφέρουν. Με αυτές τις πληροφορίες, οι επιτιθέµενοι µπορούν να προσαρµόσουν τις ενέργειές τους και να έχουν λιγότερες πιθανότητες να δηµιουργήσουν συναγερµό. Η διαδικασία συλλογής αυτών των πληροφοριών είναι γνωστή σαν χαρτογράφηση (mapping). Ένα πρόγραµµα σαν το ping µπορεί να χρησιµοποιηθεί για να καθορίσει τις διευθύνσεις ΙΡ µηχανηµάτων στο δίκτυο µε απλή παρατήρηση ποιες διευθύνσεις αποκρίνονται σε ένα µήνυµα ping. Η σάρωση θυρών (port scanning), αναφέρεται στην τεχνική του να έρχεται ο ερευνητής σε επαφή σειριακά (είτε µέσω αίτησης σύνδεση TCP ή µέσω ενός απλού δεδοµενογράµµατος UDP) µε αριθµούς θυρών σε 40

55 ένα µηχάνηµα και φανεί τι συµβαίνει στην απόκριση. Αυτές οι αποκρίσεις µε την σειρά τους µπορούν χρησιµοποιηθούν για να καθοριστούν οι υπηρεσίες που προσφέρονται(για παράδειγµα,http ή FTP) από το µηχάνηµα. Το Νmap είναι ένα ευρέος χρησιµοποιούµενο βοηθητικό πρόγραµµα ανοικτού πηγαίου κώδικα για εξερεύνηση δικτύου και επιθεώρηση ασφάλειας που εκτελεί σάρωση θυρών και αναλύεται σε βάθος στο παρών κεφάλαιο. Πολλές αντιπυρικές ζώνες (π.χ. της εταιρίας Checkpoint) ανιχνεύουν δραστηριότητα χαρτογράφησης και σάρωσης θυρών, όπως και άλλες κακόβουλες δραστηριότητες και αναφέρουν τέτοια δραστηριότητα στον διαχειριστή του δικτύου Εισαγωγή στο Nmap Το Nmap δηµοσιεύθηκε αρχικά από τον Gordon Lyon (Fyodor) το Σεπτέµβριο του 1997, ως άρθρο µέσα στο Περιοδικό Phrack µαζί µε τον πηγαίοκώδικα.φυσικά, υπήρξε περαιτέρω ανάπτυξη που συνεχίζεται µέχρι και σήµερα περιλαµβάνοντας καλύτερους αλγορίθµους για τις υπηρεσίες που προσφέρει, ξαναγράψιµο του κώδικα από C σε C++, όπως και πρόσθετοι τύποι ανίχνευσης και υποστήριξης πρωτοκόλλων (όπως το IPv6). Το Nmap έφθασε στην έκδοση 4.0 τον Ιανουάριο του 2006 και στη έκδοση 4.5 το εκέµβριο του 2007 σε κάθε περίπτωση, οι αλλαγές καταγράφονται στο Nmap Changelog (wikipedia). Από τον τίτλο και µόνο του NetworkMAPer θα µπορούσε κανείς να συµπεράνει ότι πρόκειται για έναν χαρτογράφο δικτύων,κάτι που σε γενικές γραµµές είναι αλήθεια αλλά συνοδεύεται και από πλήθος άλλων υπηρεσιών. Μπορεί να χρησιµοποιηθεί για έλεγχο ασφάλειας, αφού µπορεί να ανακαλύψει τους αποµακρυσµένους υπολογιστές και τις υπηρεσίες αυτών σε ένα δίκτυο υπολογιστών, δηµιουργώντας κατά συνέπεια έναν "χάρτη" του δικτύου. Λεπτοµέρειες,πέρα από τις θύρες, που µπορεί να δώσει για τους αποµακρυσµένους υπολογιστές είναι να προσδιορίσει το λειτουργικό σύστηµα, τον τύπο των συσκευών, το uptime (διάρκεια λειτουργίας) που είναι µέτρο του χρόνου κατά τον οποίο ένας ηλεκτρονικός υπολογιστής είναι ανοιχτός, το προϊόν λογισµικού που χρησιµοποιείται, για να τρέξει µια υπηρεσία, ακριβής αριθµός έκδοσης αυτού του προϊόντος, επίσης,προσδιορίζει τις τεχνικές firewall (αναχώµατα ασφάλειας) ακόµη και τον προµηθευτή της κάρτας 41

56 δικτύου. Σχεδιάστηκε αρχικά µε σκοπό να ελέγχει µεγάλο αριθµό δικτύων κάτι που όµως δεν εµποδίζει την εξίσου καλή λειτουργία και απέναντι σε ξέχωρους hosts (υπολογιστές). Το ΝΜΑΡ τρέχει σε όλα τα ευρέως χρησιµοποιούµενα λειτουργικά συστήµατα, όπως Linux, Solaris, MAC OS Χ, και BSD και,επίσης,επάνω στα Windows της Microsoft και AmigaOS. ιαθέσιµη είναι τόσο η έκδοση µε γραφικό περιβάλλον, όσο και η έκδοση κονσόλας (command line). Άκρως σηµαντικό ρόλο στην εξέλιξη και καθιέρωση του ΝΜΑΡ είναι το γεγονός ότι είναι πρόγραµµα (utility) δωρεάν και ανοιχτού κώδικα [insecure.org].αυτό σηµαίνει ότι έχει την δυνατότητα ο καθένας να συνεισφέρει στην διαµόρφωση και βελτίωση του, πράγµα που συµβαίνει από εκατοντάδες φίλους και χρήστες του προγράµµατος κάνοντας όλοι αυτοί το ΝΜΑΡ αυτό που είναι σήµερα [Fyodor,2006] Χαρακτηριστικά του Nmap Ευέλικτο: Υποστηρίζει τις πλειάδες των προηγµένων τεχνικών για τη χαρτογράφηση των δικτύων που είναι γεµάτα από φίλτρα IP, firewalls, τους δροµολογητές και άλλα εµπόδια. Αυτό περιλαµβάνει πολλούς µηχανισµούς ανίχνευσης θυρών TCP & UDP, ανίχνευση ΛΣ (Λειτουργικού Συστήµατος), ανίχνευση έκδοσης, εξάλειψη δικτυακού θορύβου. Ισχυρό: Το Nmap έχει χρησιµοποιηθεί, για να ανιχνεύσει τερατώδη δίκτυα απαρτισµένα από κυριολεκτικά εκατοντάδες χιλιάδες µηχανές. (Πολύ)προσαρµοστικό: Τα περισσότερα λειτουργικά συστήµατα υποστηρίζονται, συµπεριλαµβανοµένου του Linux, Windows της Microsoft, FreeBSD, OpenBSD, Solaris, IRIX, MAC OS Χ, HP -HP-UX, NetBSD, Sun OS, και Amiga. Εύκολο: Ενώ το Nmap προσφέρει ένα πλούσιο σύνολο προηγµένων χαρακτηριστικών γνωρισµάτων για τους έµπειρους χρήστες, τα οποία θα περιγράφουµε και στη συνέχεια, µπορεί να αρχίσει κανείς την ανίχνευση ενός αποµακρυσµένου υπολογιστή στόχου (targethost) που γνωρίζει την διεύθυνση του πληκτρολογώντας απλά " nmap " ώστε να εκτελεστεί µία nmap σάρωση στην αποµακρυσµένη διεύθυνση Τόσο η 42

57 παραδοσιακή έκδοση γραµµής εντολής,όσο και οι γραφικές εκδόσεις (GUI) είναι διαθέσιµες,για να ταιριάξουν µε την προτίµησή του χρήστη. Ελεύθερο: Οι αρχικοί στόχοι του προγράµµατος Nmap είναι να βοηθήσουν να καταστήσουν το ιαδίκτυο λίγο ασφαλέστερο και να παράσχουν σε διαχειριστές/χρήστες/hackers ένα προηγµένο εργαλείο για τα δίκτυά τους. Το Nmap είναι διαθέσιµο για ελεύθερη µεταφόρτωση και έρχεται επίσης µε τον πλήρη κώδικα πηγής που µπορεί να τροποποιηθεί και να ανακατανεµηθεί υπό τους όρους άδειας. [ Καλά τεκµηριωµένο: Σηµαντική προσπάθεια έχει τεθεί στη διάθεση περιεκτικών και συνεχώς ενηµερωµένων βοηθηµάτων, εργασιών, εγχειριδίων σε πολλές γλώσσες (http://nmap.org/docs.html). Υποστηριζόµενο: Ενώ Nmap έρχεται χωρίς εξουσιοδοτηµένη εγγύηση, υποστηρίζεται καλά από µια ενεργή κοινότητα προγραµµατιστών και χρηστών. Το µεγαλύτερο µέρος αυτής της αλληλεπίδρασης συµβαίνει µε ηλεκτρονικά µηνύµατα µεταξύ αυτών που ενδιαφέρονται στο να συµβάλουν µε δικές τους ιδέες προγραµµατίζοντας, ελέγχοντας και θέτοντας προτάσεις για το µέλλον. Επευφηµηµένο: Το Nmap έχει κερδίσει πολυάριθµα βραβεία, συµπεριλαµβανοµένου "του προϊόντος ασφάλειας πληροφοριών του έτους" από το περιοδικό Linux, το Info World και το Codetalker Digest. Έχει προβληθεί σε εκατοντάδες άρθρα περιοδικών, διάφορων ταινιών και σε πλήθος βιβλίων. ηµοφιλές: Χιλιάδες άνθρωποι µεταφορτώνουν το Nmap κάθε ηµέρα. Επίσης συµπεριλαµβάνεται σε πολλά λειτουργικά συστήµατα όπως στα Redhat Linux, Debian Linux, Gentoo, FreeBSD και OpenBSD. Είναι µεταξύ των κορυφαίων δέκα (από 30,000) προγράµµατα στην αποθήκη δικτύου Freshmeat(freshmeat.net). Αυτό είναι σηµαντικό, επειδή δίνεται βήµα στο Nmap µπροστά στις ενεργές κοινότητες χρηστών και προγραµµατιστών ανάπτυξης εφαρµογών δηµιουργώντας έτσι µία εποικοδοµητική αλληλεπίδραση µεταξύ τους. (www.insecure.org) 2.4. Τα βασικά γνωρίσµατα του Nmap 43

58 Το Nmap είναι ένα ισχυρό πρόγραµµα αλλά είναι κάπως δύσκολο για τον αρχάριο να καταλάβει όλες του τις δυνατότητες. Υπάρχουν περίπου δεκαπέντε διαφορετικές µέθοδοι ανίχνευσης µέσα στο Nmap, είκοσι διαφορετικές επιλογές να χρησιµοποιηθούν κατά την ανίχνευση και τα αποτελέσµατα του µπορούν να παρουσιαστούν τουλάχιστον µε τέσσερις διαφορετικούς τρόπους. Μέσα σε όλες αυτές τις επιλογές, υπάρχουν επιλογές µεταβολής συγχρονισµού και καθυστέρησης πακέτων. Αν και αυτά φαίνονται υπερβολικά και δυσνόητα στους αµύητους του Νmap, αυτές οι επιλογές έχουν ως σκοπό να παρέχουν την πλήρη προσαρµογή στις ανάγκες έρευνας και χαρτογράφησης του δικτύου του εκάστοτε χρήστη. Η δυσκολία που αναφέραµε δε θα λέγαµε ότι έγκειται στη φάση της εφαρµογής και εντολοδότησης ακόµα και των πιο σύνθετων διαδικασιών που υποστηρίζει το Nmap αλλά στο να µπορεί να διακρίνει κανείς το πότε είναι ωφέλιµο και απαραίτητο να χρησιµοποιήσει τις αντίστοιχες επιλογές, ώστε να έχουµε τα καλύτερα δυνατά αποτελέσµατα. Κάθε διαδικασία ανίχνευσης και σάρωσης έχει πλεονεκτήµατα και µειονεκτήµατα παράγοντες που πρέπει να γνωρίζει καλά ο χρήστης, ώστε να έχει τα βέλτιστα αποτελέσµατα. Υπάρχουν, βέβαια,επιλογές που σχεδόν πάντα είναι ωφέλιµες και απαραίτητες τις οποίες θα περιγράψουµε µέσα στο κείµενο. Όπως αναφέραµε έχουµε την ευχέρεια επιλογής τόσο γραφικού περιβάλλοντος όσο και χειρισµού µέσω command line για το πρόγραµµα αυτό. Η εργασία, αυτή, ωστόσο παρόλη την επιπλέον δακτυλογράφηση που αυτό συνεπάγεται εστιάζει περισσότερο στη δεύτερη µορφή χειρισµού, αφού έτσι έχει κάνεις τη δυνατότητα να δουλέψει αποτελεσµατικότερα σε περισσότερα λειτουργικά συστήµατα και περιβάλλοντα. Η σύνταξη στη γραµµή εντολών για το Nmap είναι παρόµοια σε κάθε άλλη εφαρµογή που βασίζεται στην γραµµή εντολών. Κάθε επιλογή καθορίζεται µία µετά από την άλλη διαχωριζόµενες από κενά και όχι σε καθορισµένη σειρά. Το Nmap χρησιµοποιεί Unix style σύνταξη προτάσσοντας στις συντοµεύσεις των επιλογών µία παύλα (-) και στις µη συντοµογραφηµένες επιλογές 2 παύλες (- -). Έτσι η Nmap εντολή nmap -v -p 80 --randomize_hosts * θα τρέξει την verbose option (-v) όπου προσφέρει επιπλέον λεπτοµέρεια και πληροφορίες στα αποτελέσµατα της σάρωσης χωρίς να την καταφορτώνει και προτείνεται µάλιστα ανεπιφύλαχτα να περιλαµβάνεται σε κάθε µας ανίχνευση. Στη συνέχεια, θα σαρώσει, µόνο την θύρα (port) 80 (-p80) και θα ανιχνεύσει (-- 44

59 randomize_hosts) όλο το πεδίο διευθύνσεων από έως το ( *) περιδιαβαίνοντας τυχαία τις όποιες συσκευές και όχι σειριακά από τη µία στην επόµενη αλληλεπιδρώντας έτσι µε όλο το δίκτυο χωρίς να εστιάζει σε ένα συγκεκριµένο υποδίκτυο (subnet).παρατηρούµε ότι η σύντοµη εντολή -v και p χρησιµοποιεί τη σύνταξη της µίας παύλας ενώ η µη σύντοµη εντολή --randomize hosts χρησιµοποιεί και τις δύο παύλες Η διαδικασία ανίχνευσης Nmap Το Nmap εκτελεί τέσσερα βήµατα κατά τη διάρκεια µιας κανονικής ανίχνευσης πληροφοριακών συστηµάτων. Μερικά από αυτά τα βήµατα µπορούν να τροποποιηθούν ή να απενεργοποιηθούν µέσω των επιλογών που προσφέρει το Nmap. 1. Εάν ένα hostname (όνοµα διακοµιστή ή συσκευής που είναι συνδεδεµένη στο δίκτυο) χρησιµοποιείται ως προδιαγραφή συσκευής το nmap θα εκτελέσει DNS έλεγχο πριν από την ανίχνευση. Το Domain Name System ή DNS είναι ένα σύστηµα µε το οποίο αντιστοιχίζονται οι διευθύνσεις IP σε ονόµατα τοµέων. Η σχέση µεταξύ ενός ονόµατος όπως περιγράφτηκε παραπάνω και της διεύθυνσης IP δεν είναι 1 προς 1. ηλαδή, σε ένα όνοµα µπορούν να αντιστοιχούν πολλές IP διευθύνσεις. Φυσικά, στην περίπτωση που δοθεί µια διεύθυνση IP για να διευκρινίσει την αποµακρυσµένη συσκευή αυτό το βήµα δεν εµφανίζεται ποτέ. εν υπάρχει κανένας τρόπος να τεθεί εκτός λειτουργίας ένας DNS έλεγχος, όταν ένα hostname καθορίζεται από τον χρήστη, εκτός αν αυτό το hostname και η διεύθυνση IP βρίσκονται στα τοπικά αρχεία αποθήκευσης συνδεδεµένων συσκευών του δικτύου µας, όπως οι hosts (ξενιστής) ή lmhosts( LAN Manager Hosts). 2. Στη δεύτερη φάση το ΝΜΑΡ κάνει ping την αποµακρυσµένη συσκευή όπου ping είναι µια µέθοδος για τον εντοπισµό της διαθεσιµότητας και της απόδοσης ενός αποµακρυσµένου πόρου του δικτύου. Θεωρείται ότι αποτελεί το ακρωνύµιο των λέξεων "Packet INternet Groper". Η µέθοδος Nmap ping δε γίνεται απαραιτήτως µε ένα παραδοσιακό αίτηµα echo (ηχούς) 45

60 ICMP. Υπάρχει η ευχέρεια διαλογής από ένα πλήθος ping µεθόδων και επιλογών. Αυτή η διαδικασία µπορεί να τεθεί εκτός λειτουργίας µε την επιλογή - p0. 3. Εάν µια IP διεύθυνση δοθεί ως αποµακρυσµένος στόχος-συσκευή, το Nmap θα εκτελέσει ένα αντίστροφο Dns έλεγχο σε µια προσπάθεια να προσδιοριστεί ένα όνοµα που µπορεί να σχετίζεται µε την IP διεύθυνση που δώσαµε. Αυτή είναι η αντίθετη διαδικασία από αυτή που συµβαίνει στο βήµα 1, όπου µια IP διεύθυνση βρίσκεται από ένα γνωστό όνοµα δικτυωµένης συσκευής (hostname). Αυτή η διαδικασία µπορεί να φανεί περιττή, εάν ένας Dns έλεγχος έχει ήδη πραγµατοποιηθεί (στο βήµα ένα) αλλά επαναλαµβανόµαστε διότι συχνά τα αποτελέσµατα ενός Dns ελέγχου name-to-ip-address, (από το όνοµα βρίσκω την IP διεύθυνση) είναι διαφορετικά,από τα αποτελέσµατα µιας IP-to-name-address (από την IP διεύθυνση βρίσκω το όνοµα).συχνά, το όνοµα που χρησιµοποιούµε, για να προσδιορίσουµε έναν host είναι ένα ψευδώνυµο του πραγµατικού ονόµατος host. Παραδείγµατος χάριν, εάν εισάγουµε το ως hostname στο Nmap, ο Dns έλεγχος στο βήµα ένα µπορεί να δώσει τη διεύθυνση IP Εντούτοις, ο αντίστροφος έλεγχος Dns αυτής της διεύθυνσης IP στο βήµα τρία µπορεί να δείξει ότι η παραπάνω διεύθυνση ανήκει σε που είναι ένας περιφερειακός στην εταιρεία πάροχος υπηρεσιών διαδικτύου (third party hosting provider for Microsoft ).Εάν δεν επιθυµούµε αυτόν τον αντίστροφο Dns έλεγχο, µπορούµε να τον παρακάµψουµε µέσω της επιλογής n. 4. Σε αυτή τη φάση το Nmap εκτελεί την ανίχνευση. Μόλις τελειώσει η ανίχνευση, αυτή η διαδικασία τεσσάρων-βηµάτων είναι ολοκληρωµένη. Εκτός από την καθαρά ανιχνευτική διαδικασία στο βήµα τέσσερα, κάθε ένα από τα προηγούµενα βήµατα µπορεί να τεθεί εκτός λειτουργίας κάνοντας, έτσι την διαδικασία όσο "εµφανή" ή "διακριτική" χρειάζεται. Εάν η ανίχνευση διακοπεί (µε το Ctrl-C), η διαδικασία διακοπής εκτελεί ένα ξεκαθάρισµα,ώστε να κλείσει οποιαδήποτε log αρχεία ( αρχεία καταγραφής συµβάντων ) και τελικά σταµατάει το Nmap. Εάν επαναρχίσουµε την ανίχνευση (µε την επιλογή --resume), το Nmap χρησιµοποιεί τις πληροφορίες του log αρχείου,για να συνεχίσει την έρευνα του από 46

61 την προηγούµενη φάση χωρίς να επανεξετάζει ήδη ελεγµένες συσκευές.εάν µια συσκευή είχε εξεταστεί µερικώς στην προηγουµένη διαδικασία "χαρτογράφησης" αυτή θα επανεξεταστεί κανονικά εξ αρχής. ίνοντας µία απλή (- on) ή (-og) επιλογή µπορούµε να µάθουµε την τελευταία συσκευή που σαρώθηκε επιτυχώς από την προηγούµενη φάση. Σηµαντικό,επίσης, είναι ότι τα log files κρατούν εκτός των άλλων και τις επιλογές και ιδιαιτερότητες που είχαµε θέσει στην προηγούµενη φάση της σάρωσης χωρίς έτσι να χρειάζεται να επαναπροσδιορίσουµε τις προτιµήσεις µας. Πρέπει επίσης να σηµειώσουµε ότι για κάποιες από τις εντολές που αναφέρουµε αλλά και γενικά για να έχουµε το απόλυτο στα δικαιώµατα πρόσβασης σε όλες τις πολύ σηµαντικές επιλογές που προσφέρει το Nmap, είναι απαραίτητο το πρόγραµµα να τρέχει στη προνοµιούχα (privileged) έκδοση χρήστη. Μπορούµε ακόµα, έτσι να φτιάξουµε δικά µας Ethernet πακέτα τα οποία παρακάµπτουν τους ελέγχους που συνήθως γίνονται από τα λειτουργικά συστήµατα. Αυτά τα ακαθόριστα πακέτα µπορούµε να τα διαµορφώσουµε µε συνδυασµούς επικεφαλίδων (headers) έτσι, ώστε να προµηνύουν µοναδικές ανταποκρίσεις από τον αποµακρυσµένο σταθµό παρέχοντας µας έτσι πολλές παραπάνω πληροφορίες από ότι, θα µπορούσαµε να έχουµε χωρίς την προνοµιούχα εκδοχή. Σε ένα Unix-based (βασισµένο σε Unix) σύστηµα η προνοµιούχα πρόσβαση πρέπει να τρέχει ως root ενώ σε Windows-based συστήµατα το Nmap πρέπει να έχει δικαιώµατα Administrator ( ιαχειριστή).σαφώς,και χωρίς αυτά το πρόγραµµα δουλεύει κανονικά µόνο που συγκεκριµένες µέθοδοι και επιλογές δε θα είναι διαθέσιµες. Άλλωστε,στην περίπτωση που ζητάµε µια προνοµιακή επιλογή που δεν έχουµε δικαίωµα ενηµερωνόµαστε ακριβώς γι αυτό µέσω µηνύµατος λάθους Μέθοδοι Ανίχνευσης Το Nmap περιλαµβάνει δεκαπέντε ξεχωριστές µεθόδους ανίχνευσης και κάθε µία έχει τα δικά της χαρακτηριστικά, πλεονεκτήµατα και µειονεκτήµατα. Κάποιες από αυτές τις µεθόδους είναι εύκολο να εφαρµοστούν και να δώσουν αποτελέσµατα, άλλες είναι περίπλοκες και απαιτούν επιπρόσθετες πληροφορίες προτού αρχίσει η διαδικασία. 47

62 Ο Πίνακας 2.1 συγκεντρώνει περιληπτικά τις τεχνικές ανίχνευσης µαζί µε τις εντολές που τις ενεργοποιούν. Επίσης, δείχνει σε ποιες περιπτώσεις είναι απαραίτητο να έχουµε δικαιώµατα διαχειριστή, όπως και πότε έχουµε δυνατότητα αναγνώρισης TCP ή UDP θυρών. Κατόπιν,θα αναλυθεί η κάθε µέθοδος. Πίνακας 2.1. Συγκριτική παρουσίαση µεθόδων Nmap. Προϋπόθεση Αναγνώριση Αναγνώριση Τεχνικές Nmap Σύνταξη Γραµµής Προνοµιούχας TCP UDP Ανίχνευσης Εντολών Πρόσβασης Θυρών Θυρών TCP SYN Scan -ss ΝΑΙ ΝΑΙ ΟΧΙ TCP connect() Scan -st ΟΧΙ ΝΑΙ ΟΧΙ FIN Scan -sf ΝΑΙ ΝΑΙ ΟΧΙ Xmas Tree Scan -sx ΝΑΙ ΝΑΙ ΟΧΙ Null Scan -sn ΝΑΙ ΝΑΙ ΟΧΙ Ping Scan -sp ΟΧΙ ΟΧΙ ΟΧΙ Version Detection -sv ΟΧΙ ΟΧΙ ΟΧΙ UDP Scan -su ΝΑΙ ΟΧΙ ΝΑΙ IP Protocol Scan -so ΝΑΙ ΟΧΙ ΟΧΙ ACK Scan -sa ΝΑΙ ΝΑΙ ΟΧΙ Window Scan -sw ΝΑΙ ΝΑΙ ΟΧΙ RPC Scan -sr ΟΧΙ ΟΧΙ ΟΧΙ List Scan -sl ΟΧΙ ΟΧΙ ΟΧΙ Idlescan -si ΝΑΙ ΝΑΙ ΟΧΙ FTP Bounce Attack -b ΟΧΙ ΝΑΙ ΟΧΙ TCP SYN Scan (-ss) To TCP SYN Scan χρησιµοποιεί συνηθισµένες µεθόδους αναγνώρισης θυρών όπου επιτρέπουν στο πρόγραµµα να συλλέξει εύκολα πληροφορίες µόνο όµως για 48

63 ανοιχτές, κλειστές ή φιλτραρισµένες θύρες χωρίς να ολοκληρώνει την διαδικασία της TCP χειραψίας. Όταν µία ανοιχτή θύρα αναγνωριστεί η διαδικασία της TCP χειραψίας εκµηδενίζεται (reset) µε ένα RST πλαίσιο πριν αυτή ολοκληρωθεί. Αυτή η τεχνική συχνά αναφέρεται ως half open σάρωση. Πλεονεκτεί στο ότι είναι µια αρκετά ελαφριά και διακριτική διαδικασία, αφού δεν καταγράφεται ποτέ στα logs του ανιχνευόµενου σταθµού µιας και η διαδικασία ποτέ δεν ολοκληρώνεται. Εάν δεν έχουµε προσδιορίσει ακριβώς τον τύπο ανίχνευσης στην γραµµή εντολών και είµαστε σε προνοµιούχα λειτουργία (root / administrator) το TCP Scan χρησιµοποιείται εξ ορισµού (by default).οι περισσότερες θύρες που εξετάζονται κατά τη διάρκεια ενός TCP Scan πιθανότατα θα είναι κλειστές. Αυτές οι κλειστές θύρες του ανιχνευόµενου στόχου µας σαν απάντηση στο TCP Scan θα δώσουν RST πλαίσιο, ώστε να εκµηδενίσουν την διαδικασία και η χειραψία να µην ολοκληρωθεί ποτέ. Εάν όµως το Nmap λάβει µία επιβεβαίωση (ACK) (session request acknowledgment),τότε ξέρουµε ότι αυτή η θύρα είναι ανοιχτή κατόπιν το Nmap στέλνει µια RST (Reset), ώστε να διακοπεί η επικοινωνία και να µην ολοκληρωθεί ποτέ η χειραψία. To TCP SYN scan παρέχει πληροφόρηση µόνο για ανοιχτές, κλειστές ή φιλτραρισµένες θύρες. TCP connect() Scan (-st) Εδώ το Nmap, για να ανιχνεύσει ανοιχτές θύρες σε αντίθεση µε την παραπάνω µέθοδο χρησιµοποιεί κανονικά την τριµερή χειραψία του λειτουργικού συστήµατος, ώστε να συνδεθεί σε αποµακρυσµένες συσκευές όπως θα γινόταν από κάθε εφαρµογή σε κάθε TCP τύπου χειραψία σύνδεσης µέσα στο δίκτυο. Παρόλο που αυτή η τεχνική δεν µας προσφέρει κάποιες ξεχωριστές δυνατότητες, είναι σηµαντικό το ότι δεν απαιτεί προνοµιούχα πρόσβαση, για να την χρησιµοποιήσουµε. Φυσικά, σε αυτήν την περίπτωση χάνουµε σηµαντικά σε διακριτικότητα, αφού ακολουθώντας την ολοκληρωµένη διαδικασία χειραψίας το RST πλαίσιο διακοπής στέλνεται µετά και από την επιβεβαίωση (ACK) της πηγή προς τον παραλήπτη και άρα τα log αρχεία προλαβαίνουν και ενηµερώνονται και διαδικασίες στο επίπεδο εφαρµογών,επίσης, αρχίζουν να βγαίνουν στην επιφάνεια. Stealth Scanning - FIN Scan (-sf), Xmas Tree Scan (-sx) & Null Scan (-sn) Αυτές οι τρείς τεχνικές οµαδοποιούνται εδώ, γιατί η πρωτότυπη λειτουργία τους είναι πολύ κοινή µεταξύ τους. Αυτές αποκαλούνται "κρυφές" (Stealth), γιατί 49

64 στέλνουν ένα µοναδικό και απλοποιηµένο πλαίσιο TCP σε µία θύρα χωρίς οποιαδήποτε διαδικασία TCP χειραψίας,πριν, ή άλλες επιπρόσθετες µεταφορές πακέτων περιµένοντας τελικά µια ανταπόκριση. Οι ανιχνεύσεις αυτές λειτουργούν µε το να χειριζόµαστε τα bit της TCP επικεφαλίδας έτσι, ώστε να προκαλούν µία ανταπόκριση από την αποµακρυσµένη συσκευή. Οι επικεφαλίδες που προκύπτουν είναι εντελώς τεχνητές και σε καµία περίπτωση δε θα προέκυπταν σε πραγµατικές δικτυακές καταστάσεις, όπως στη περίπτωση επικεφαλίδας του Xmas Tree Scan όπου έχουµε διαρκώς εναλλασσόµενα bit ή στο Null Scan όπου µηδενίζονται όλες οι flags δηµιουργώντας έτσι µια τεχνητή έλλειψη flags.φυσικά, η διακριτικότητα είναι αξιοσηµείωτη σε αυτές τις τεχνικές, αφού οι ανιχνεύσεις αυτές είναι άφαντες στις εφαρµογές του αποµακρυσµένου στόχου και έτσι και στα log αρχεία δε φαίνεται τίποτα. Ακόµα σηµαντική είναι η µινιµαλιστική διάσταση αυτών των τεχνικών αφού ένα απλό πλαίσιο µηνύµατος είναι αρκετό για να βρεθεί µια ανοιχτή θύρα καταλαµβάνοντας έτσι ελάχιστο εύρος ζώνης της σύνδεσης µας. Το είδος της ανταπόκρισης που θα προκύψει σε αυτά τα ασυνήθιστα "ψιθυριστά" µηνύµατα επικοινωνίας καθορίζεται από τις αναφορές RFC 793 του Transmission Control Protocol όπου λέγεται ότι αν µια κλειστή TCP θύρα δεχτεί πληροφορίες θα πρέπει να στέλνεται ένα RST πλαίσιο ενώ αν είναι ανοιχτή δε θα πρέπει να στέλνεται τίποτα απολύτως. Γνωρίζοντας αυτό το Nmap κατηγοριοποιεί τις θύρες που στέλνει µηνύµατα αλλά δεν υπάρχει τρόπος διαφοροποίησης ανάµεσα σε µία ανοιχτή θύρα και σε µία φιλτραρισµένη όπου ένα πακέτο έχει απορριφτεί από την διαχείριση. Επίσης, πρέπει να δοθεί προσοχή σε περιπτώσεις που έχουµε διαφορετικά TCP/IP στρώµατα τα οποία χειρίζονται αυτές µας τις ανιχνεύσεις µε διαφορετικούς τρόπους και έτσι ίσως χρειαστεί να τρέξουµε και άλλες µη κρυφές τεχνικές ανίχνευσης για να έχουµε πιο καθαρή εικόνα. Για παράδειγµα στα συστήµατα που είναι βασισµένα σε Windows στέλνονται RST πακέτα πίσω σε κάθε περίπτωση που δέχονται µνήµατα ανεξάρτητα αν είναι οι ανοιχτή ή κλειστή η αντίστοιχη θύρα. Γεγονός που καθιστά ακατάλληλες αυτές τις τεχνικές για Windows συστήµατα αλλά χρήσιµες από την άλλη γιατί αν έχουµε σαν αποτελέσµατα ανοιχτές θύρες τότε ξέρουµε ότι δεν έχουµε να κάνουµε µε Windows συστήµατα. Αν δηλαδή δούµε ότι σε ένα δίκτυο όλες οι θύρες είναι κλειστές πολύ πιθανό αυτό να µην είναι η πραγµατικότητα. Ping Scan (-sp) 50

65 Σκοπός αυτής της µεθόδου είναι η πρόκληση µιας οποιαδήποτε ανταπόκρισης από τον στόχο. Το Ping Scan είναι µία από τις πιο γρήγορες ανιχνεύσεις στο Nmap, αφού δεν ερευνούνται θύρες στην πραγµατικότητα. παρά µόνο η διαθεσιµότητα της συσκευής και το αν είναι φιλτραρισµένη ή όχι η κατάσταση του επικοινωνιακού διαύλου. Το Nmap εξ ορισµού κάνει ping σε µια αποµακρυσµένη συσκευή, πριν την έναρξη της βασικής ανιχνευτικής διαδικασίας, στέλνοντας ένα αίτηµα ICMP ακολουθούµενο από ένα TCP ACK στην θύρα 80. Μια αντίστοιχη ανταπόκριση από µια ενεργή συσκευή θα είναι µια ICMP echo απάντηση εκτός αν η ΙΡ διεύθυνση δεν είναι διαθέσιµη στο δίκτυο και τότε συνεχίζει σε άλλο στόχο το Nmap ή σταµατά. Μπορεί ακόµα να προσαρµοστεί η ping ανίχνευση κατά περίπτωση,ώστε να είναι πιο αποτελεσµατική και για παράδειγµα ενώ ένα firewall εµποδίζει ICMP και ACK αιτήµατα στην θύρα 80 µπορεί να επιτρέπει SYN (session establishment) αίτηµα στην θύρα 135 ή ένα UDP αίτηµα στην θύρα 22 που είναι χαρακτηριστικές ρυθµίσεις συσκευών όπως οι δροµολογητές και οι διακοµιστές ηλεκτρονικής αλληλογραφίας, παίρνοντας έτσι πολύτιµες πληροφορίες για την αποµακρυσµένη συσκευή. Το Ping Scan είναι η πιο κοινή και καθηµερινή πρακτική για τους διαχειριστές δικτύων ώστε να ελέγχουν αν οι συσκευές του δίκτυο τους είναι διαθέσιµες. Το ICMP echo αίτηµα είναι εντελώς ακίνδυνο και τα πλαίσια που χρησιµοποιεί είναι από τα πλέον συνηθισµένα στα δίκτυα. Αν δεν επιλέξουµε ταυτόχρονα πάρα πολλές ΙΡ διευθύνσεις για ανίχνευση το ICMP echo αίτηµα µας πιθανότατα δε θα γίνει καθόλου αντιληπτό µέσα στην δικτυακή κίνηση. H ταχύτητα αυτής της µεθόδου οφείλεται επίσης στο ότι µονάχα δυο πλαίσια πακέτων απαιτούνται για να ανιχνευθεί αν µια αποµακρυσµένη συσκευή είναι διαθέσιµη. Αν είναι πετυχηµένη αυτή µας η ανίχνευση τότε το ICMP πρωτόκολλο δεν φιλτράρεται µεταξύ αποστολέα και παραλήπτη. Συχνά όµως οι διαχειριστές στο δίκτυο τους φιλτράρουν όλα τα ICMP πακέτα στα σηµεία εισόδου και εξόδου γιατί σε λάθος χεριά είναι αρκετά επικίνδυνα. υστυχώς το Ping Scan δεν συνεργάζεται µε άλλες ανιχνεύσεις και για αυτό αν δοκιµάσουµε ένα τέτοιο συνδυασµό στη γραµµή εντολών θα πάρουµε µήνυµα λάθους Version Detection (-sv) & ( Operating System Fingerprinting (-O)) Η Version Detection τεχνική ενδιαφέρεται για τις εφαρµογές λογισµικού που τρέχουν σε µια αποµακρυσµένη συσκευή και όχι τόσο για την αναγνώριση αριθµών των θυρών όπως οι περισσότερες άλλες τεχνικές. Φυσικά χρειάζεται να συνεργαστεί µε ένα άλλο τύπο ανίχνευσης ώστε να ενηµερωθεί πρώτα για την ύπαρξη ανοιχτών 51

66 θυρών όπως η TCP SYN scan.όταν βρεθεί ανοιχτή θύρα τότε θα αρχίσει η διαδικασία έρευνας στην αποµακρυσµένη συσκευή. Αυτή η ανίχνευση επικοινωνεί απευθείας µε την αποµακρυσµένη συσκευή ώστε να αποκαλύψει όσο το δυνατόν περισσότερες πληροφορίες.πληροφορίες εξαιρετικά χρήσιµες που είναι απαραίτητες ώστε να βοηθήσουν σε ένα καλύτερο χειρισµό και οργάνωση των ενηµερώσεων,των νέων εκδόσεων και των αδειών χρήσης που χρειάζονται οι εφαρµογές ενός δικτύου. Οι πληροφορίες που µας παρέχονται είναι επίσης χρήσιµες γιατί έτσι βλέπουµε ποιες εφαρµογές δεν είναι εναρµονισµένες και σύµφωνα µε τους κανόνες που διέπουν το πληροφοριακό µας σύστηµα έτσι ώστε στη συνέχεια να προβούµε στις κατάλληλες ενέργειες αντιµετώπισης και προφύλαξης. Μπορούµε µε το Version Detection να καταλάβουµε τι πληροφορίες µπορεί να µάθει κάποιος τρίτος όταν κάνει µια επίθεση στο δίκτυο µας. Αν ξέρουµε τι µπορούν να δουν οι άλλοι στο δίκτυο µας ξέρουµε και πώς να δράσουµε ώστε µέσα από µια ασφαλέστερη στρατηγική να προφυλαχτούµε. Η τεχνική αυτή είναι αναπόφευκτα θορυβώδης στο δίκτυο αφού ένα µεγάλο κοµµάτι πληροφοριών ανταλλάσσεται και τα log αρχεία ενηµερώνονται για όλες αυτές τις κινήσεις. Σε αυτό το σηµείο, παρόλο που δε συµπεριλαµβάνεται στις µεθόδους ανίχνευσης, οφείλουµε να αναφέρουµε την πολύ σηµαντική και δυναµική διαδικασία Operating System Fingerprinting (Εξακρίβωση Λειτουργικού Συστήµατος).Ενώ έχει κοινά στοιχεία µε τη λειτουργία της version detection (-sv) όπως η προπόρευση ανίχνευσης κατάστασης θυρών (ping & scan) έχει και διαφορές που δεν τις εµποδίζουν όµως να δουλεύουν θαυµάσια µαζί χαρίζοντας µας ακόµα καλύτερη εικόνα του στόχου µας µε επιπλέον σηµαντικές πληροφορίες όπως έλεγχο συµβατότητας υπηρεσιών. Η OS fingerprinting διαδικασία στέλνει πολύ συγκεκριµένα πακέτα όπως ένα αίτηµα ΛΣ διερεύνησης (OS probe) ακολουθούµενο από σειρά TCP χειραψιών. Οι έντονες διαφορές που υπάρχουν στις ανταποκρίσεις των στόχων που αφορούν στις TCP uptime µετρήσεις, στις ακολουθίες των TCP προβλέψεων και στις σειρές δηµιουργίας IPID σχηµατίζουν το δακτυλικό αποτύπωµα του στόχου αποκαλύπτοντας έτσι το οποιοιδήποτε λειτουργικό σύστηµα του στόχου. Όλα αυτά ικανοποιούν παράλληλα το παράγοντα της ελάχιστης δικτυακής κίνησης σε αντίθεση µε την Version Detection, αφού αποφεύγεται µε εκπληκτικό τρόπο η εγκαθίδρυση σύνδεσης (session).ένα αποτέλεσµα ενδεικτικό για τη λεπτοµέρεια αυτής της µοναδικής λειτουργίας είναι το ακόλουθο : 52

67 Running: Microsoft Windows NT/2K/XP OS details: Microsoft Windows XP SP2 TCP Sequence Prediction: Class=truly random Difficulty= (Good luck!) IPID Sequence Generation: Incremental UDP Scan (-su). Το UDP Scan δεν έχει ανάγκη από χειραψίες συγχρονισµού η οποιοδήποτε άλλου τύπου χειραψίες.με το UDP πρωτόκολλο τα πακέτα στέλνονται χωρίς προειδοποίηση και προηγούµενη συνεννόηση. Αυτή η έλλειψη τυπικών διαδικασιών απλοποιεί πολύ και την UDP ανίχνευση. Αν λάβουµε ICMP ανταπόκριση από την απέναντι πλευρά τότε ξέρουµε ξεκάθαρα ότι η θύρα που επιχειρήσαµε να ανιχνεύσουµε είναι κλειστή. Αν πάλι δεν δεχτούµε καµία απάντηση τότε υποθέτουµε ότι έχουµε απέναντι µας µια ανοιχτή ή φιλτραρισµένη θύρα. Αν δεχτούµε απάντηση µε δεδοµένα UDP είναι ενδεικτικό ότι πρόκειται για µια ανοιχτή θύρα στον αποµακρυσµένο στόχο µας. Το UDP scan,αφού είναι απαλλαγµένο από το φορτίο της TCP χειραψίας από την στιγµή που θα βρει ανοιχτή θύρα είναι εγγενώς λακωνικότερο. Ωστόσο αν το ICMP ανταποκρίνεται σε κάθε κλειστή θύρα ο συνολικός αριθµός των πλαισίων αυξάνεται αρκετά. Τα βασισµένα σε microsoft συστήµατα συνήθως δεν έχουν κάποιο όριο στο ICMP ρυθµό µετάδοσης και αυτό βοήθα αυτήν την ανίχνευση να δουλεύει πολύ αποδοτικότερα. άλλα και σε συστήµατα όπου συµφωνούν µε το RFC 1812 αν στοχεύσουµε (όπου προτείνονται όρια στο ρυθµό ICMP µηνυµάτων από µια συσκευή,ανάλογα µε το εύρος ζώνης ή µε τον αριθµό λαµβανοµένων µηνυµάτων), το Nmap αυτόµατα διαµορφώνει το ρυθµό αποστολής των µηνυµάτων έτσι, ώστε να έρθει σε συµφωνία µε τους εκάστοτε ICMP ρυθµούς. Το UDP Scan µας δίνει πληροφορίες µόνο για την κατάσταση των θυρών. Αν θέλουµε παραπάνω γνώση πρέπει να συνδυάσουµε την ανίχνευση µας µε version detection scan (-sv) ή λειτουργικού συστήµατος fingerprinting επιλογή (-O ) µε την προϋπόθεση να είµαστε σε προνοµιούχα εκδοχή του Nmap. H τεράστια κίνηση TCP πακέτων στα δίκτυα κάνει συχνά την UDP ανίχνευση να φαίνεται αχρείαστη κάτι που όµως είναι λάθος γιατί 53

68 υπάρχει αµέτρητος αριθµός δυσάρεστων συµβάντων όπου από ανοιχτές θύρες UDP προκλήθηκαν spyware επιθέσεις µε δούρειους ίππους και κακόβουλα προγράµµατα. Το UDP scan θα ανιχνεύσει τις ανοιχτές θύρες και θα παρέχει τις απαραίτητες πληροφορίες στον υπεύθυνο ασφαλείας του δίκτυο ώστε να αναγνωρίσει και να αναχαιτίσει τους κινδύνους. IP Protocol Scan (-so) Αυτού του είδους η ανίχνευση διαφέρει λίγο και σκοπός της είναι να αναγνωρίσει IP πρωτόκολλα που χρησιµοποιούνται από αποµακρυσµένους σταθµούς όπως τα ICMP, TCP και UDP. Σε αυτή την µέθοδο ένα µη διαθέσιµο πρωτόκολλο δεν ανταποκρίνεται στην ανίχνευση και οι MAC (Media Access Control) διευθύνσεις φανερώνονται ώστε να δοθεί έµφαση στο IP επίπεδο επικοινωνίας µεταξύ των δύο σταθµών. Το IP Protocol Scan είναι εξαιρετικά χρήσιµο στο να εντοπίζει ασυνήθιστα πρωτόκολλα που µπορεί να χρησιµοποιούνται από ένα σύστηµα.. Αυτά συνήθως βρίσκονται σε δροµολογητές ή µεταγωγείς (switches) όπου αυτοί διαχειρίζονται µε επιπρόσθετα IP πρωτόκολλα όπως τα EGP (Exterioir Gateway Protocol) ή IGP(Interior Gateway Protocol). Αυτή η αναγνώριση µας βοηθάει στο να καταλάβουµε αν η αποµακρυσµένη συσκευή είναι δροµολογητής, σταθµός εργασίας ή εκτυπωτής. Από την άλλη αυτή η διαδικασία είναι ολοφάνερη σε ένα οποιοδήποτε σύστηµα παρακολούθησης δικτύου αφού η οποιαδήποτε απόκλιση από τα διάσηµα TCP και UDP πρωτόκολλα ξεχωρίζει έντονα. ACK Scan (-sa) Το ACK Scan µας πληροφορεί για την ύπαρξη ή όχι φίλτρων στην απέναντι πλευρά και ποτέ δεν εγκαθιδρύει µία σύνδεση µε τον στόχο.είναι χρήσιµη η ACK Scan ώστε να καθοριστεί η δυνατότητα ενός πακέτου στο να παρακάµψει ένα firewall η ένα φιλτραρισµένο σύνδεσµο, αφού µπορεί και αναγνωρίζει θύρες µέσα από φιλτραρισµένα συστήµατα και κατόπιν µπορούµε να εστιάσουµε σε αυτούς τους αριθµούς θυρών την προσοχή µας. Είναι µια αρκετά απλή διαδικασία ανταλλαγής µηνυµάτων µεταξύ του Nmap και του αποµακρυσµένου σταθµού αφού δεν εγκαθιδρύεται σύνοδος και περνά σχεδόν απαρατήρητη αφού φαντάζει αµελητέα µέσα στην υπόλοιπη δικτυακή κίνηση. υστυχώς όλη αυτή η απλότητα καθιστά την ACK Scan συχνά ανίκανη να αναγνωρίσει µε απόλυτη βεβαιότητα µια ανοιχτή θύρα. 54

69 Window Scan (-sw) Το Window Scan µοιάζει µε το ACΚ scan όµως το Window Scan είναι ικανό να αναγνωρίσει ανοιχτές θύρες και είναι και αυτό αρκετά απλό στην λειτουργία του. Το Nmap στέλνει ένα ACK αίτηµα και ένα µόνο RST πακέτο επιστρέφεται για κάθε θύρα που ελέγχτηκε. Η δικτυακή κυκλοφορία συντηρείται στο ελάχιστο και έτσι η τεχνική αυτή προσφέρεται όταν θέλουµε να συνδυάσουµε ανίχνευση θυρών και χαµηλή δικτυακή κίνηση παράλληλα. εν εγκαθιδρύεται σύνοδος και έτσι τα log αρχεία δεν αντιλαµβάνονται καθόλου αυτήν την µέθοδο ανίχνευσης εκτός αν υπάρχουν επιπρόσθετα firewalls και καθορισµένα όρια στο επίπεδο του λειτουργικού συστήµατος. Άρα στη περίπτωση που αναγνωριστεί ένα τρωτό πληροφοριακό σύστηµα το Window Scan θα µας παρέχει µία διακριτική µέθοδο εντοπισµού ανοιχτών θυρών. Ωστόσο η σωστή αναβάθµιση και συχνή ενηµέρωση των λειτουργικών συστηµάτων µπορεί να σταθεί εµπόδιο στη διεισδυτικότητα του Window Scan. RPC Scan (-sr) Καταρχήν RPC( Remote Program/procedure Call) είναι µία τεχνική που επιτρέπει σε ένα πρόγραµµα να εκκινήσει και να εκτελέσει µία υπορουτίνα ή εφαρµογή σε ένα άλλο τοπικό ή αποµακρυσµένο υπολογιστή στο δίκτυο.έτσι,αφού έχει προηγηθεί ανίχνευση θυρών µε µία άλλη τεχνική, όπως η (-ss), και υπάρχει διαθέσιµη µια λίστα ανοιχτών θυρών η RPC Scan στέλνει σε κάθε ανοιχτή θύρα ένα RPC κενό (null) πλαίσιο µε σκοπό να προκαλέσει µία ανταπόκριση από οποιαδήποτε RPC εφαρµογή που πιθανόν είναι σε λειτουργία Σηµειώνεται ότι το RPC scan µπαίνει σε λειτουργία αυτόµατα κατά τη διάρκεια µιας ανίχνευσης version scan (- sv).αυτή η µέθοδος είναι αρκετά αποτελεσµατική στο να µας αποκαλύπτει µε λεπτοµερή αναφορά τα ονόµατα των RPC προγραµµάτων και την έκδοση αυτών που τρέχουν στην αποµακρυσµένη συσκευή.ωστόσο υστερεί σε διακριτικότητα αφού εγκαθιδρύεται µία σύνοδος και έτσι όλα τα στοιχεία συναλλαγών δεδοµένων RPC µεταξύ Nmap και αποµακρυσµένου στόχου θα καταγραφούν στα log αρχεία List Scan (-sl) Το List Scan δεν ανιχνεύει ενεργά παρέχοντας µας θύρες ή διαθεσιµότητα ούτε συνδέεται µε κάποιο τερµατικό παρά µόνο µας παρέχει µία λίστα µε ΙΡ διευθύνσεις που κανονικά θα εξετάζαµε ενεργά. ε πρόκειται ούτε για Ping που 55

70 είδαµε παραπάνω και ούτε έχουµε την αποστολή ενός TCP ACK σε µια θύρα. Αν ο αντίστροφος DNS έλεγχος απενεργοποιηθεί µε το -n το List Scan είναι εντελώς αθόρυβο στο δίκτυο αφού ούτε µεταδίδονται ούτε παραλαµβάνονται πλαίσια. Ωστόσο είναι µία καλή µέθοδος για να ελέγξουµε ένα µεγάλο πλήθος ΙΡ διευθύνσεων πριν αρχίσουµε κάποια πολύπλοκη διαδικασία ανίχνευσης. Αν έχουµε δηλαδή καθορίσει λάθος τις ΙΡ διευθύνσεις στη γραµµή εντολών το list scan θα µας αναγνωρίσει αυτά τα λάθη και θα µπορέσουµε να τα διορθώσουµε πριν την έναρξη µίας ενεργής µεγάλης ανίχνευσης και έτσι θα έχουµε πιο επιτυχηµένη και αποτελεσµατική ανίχνευση προφυλάσσοντας µας από χαµένο χρόνο ανώφελου ελέγχου. Το list scan εφαρµόζει ένα αντίστροφο DNS έλεγχο και έτσι αν το τροφοδοτήσουµε µε IP διευθύνσεις θα µας τα µετατρέψει σε ονόµατα. κυριότητας (domain names). Το list scan επίσης τρέχει µόνο του και αν προσπαθήσουµε να το συνδυάσουµε µε κάποια άλλη µέθοδο θα πάρουµε µήνυµα λάθους. IdleScan (-si <zombie host:[probeport]>) Το IdleScan είναι µία ευφυής µέθοδος ανίχνευσης θυρών αποµακρυσµένων συσκευών ακόµα και αν έχουν τοποθετηθεί φίλτρα σε αυτές και µάλιστα χωρίς την εγκαθίδρυση άµεσης σύνδεσης. Το Nmap χρησιµοποιεί το IdleScan ώστε να συλλέξει πληροφορίες εκµεταλλευόµενο έναν άλλο σταθµό στο δίκτυο και έτσι φαίνεται ότι η ερευνητική διεργασία πραγµατοποιήθηκε από την IP διεύθυνση του εκµεταλλευόµενου σταθµού. Η δύσκολη αλλά απαραίτητη επιλογή αυτού του φερέφωνου (ζόµπι) σταθµού, που θα αποτελέσει το εφαλτήριο της ανίχνευσης µας πρέπει να γίνεται πριν από οτιδήποτε άλλο. Από τη στιγµή που η µέθοδος αυτή βασίζεται στο γεγονός της προβλέψιµης σειριακής IPID ροής του ζόµπι σταθµού καταλαβαίνουµε ότι αυτός θα πρέπει να είναι όσο γίνεται λιγότερο φορτισµένος ώστε να έχουµε εξασφαλίσει ότι η διαδικασία των πλαισίων της ΙΡ αναγνώρισης (IPID) θα παραµένει σταθερή καθ όλη τη διάρκεια της ανίχνευσης και θα µας παρέχει διαρκώς µε αναµενόµενες ΙPID Για να αρχίσει η διαδικασία του IdleScan το Nmap στέλνει ένα SYN/ACK αίτηµα στο ζόµπι ώστε να προκαλέσει µία RST απάντηση που θα µας γνωστοποιήσει την πρώτη IPID που κρατάµε για αργότερα. Στη συνέχεια το Nmap στέλνει ένα SYN πλαίσιο στη διεύθυνση του στόχου µας υποδυόµενο όµως µε την ΙΡ διεύθυνση του ζόµπι και έτσι η απέναντι πλευρά πιστεύει ότι επικοινωνεί µε το ζόµπι σταθµό και όχι εµάς. Εάν αυτό το SYN πλαίσιο που στείλαµε πετύχει µία ανοιχτή θύρα στο 56

71 προορισµό της τότε ο σταθµός προορισµού θα επιβεβαιώσει µε µία SYN/ACK στο ζόµπι σταθµό. Φυσικά ο ζόµπι σταθµός δε περίµενε κάτι τέτοιο αφού ποτέ του δεν έστειλε κάποια SYN στο στόχο µας και έτσι θα ανταποκριθεί µε µία RST και παράλληλα θα αυξήσει,όπως περιµένουµε, την IPID του. Τελικά το Nmap επαναλαµβάνει µία SYN/ACK ερώτηση στο ζόµπι σταθµό, ώστε να µάθει την IPID του ξανά.αν τώρα αυτή η IPID έχει αυξηθεί σε σχέση µε την αρχική που είχαµε αποµνηµονεύσει διαπιστώνουµε ότι η θύρα που θέλαµε να ανιχνεύσουµε υποδυόµενοι είναι ανοιχτή αν όµως δεν υπάρχει διαφοροποίηση η θύρα που µας ενδιαφέρει είναι κλειστή. Φυσικά οφείλουµε να είµαστε το δυνατό αποδοτικότεροι και έτσι δεν εξετάζουµε µία θύρα κάθε φορά πολύ περισσότερες τηρώντας πάντα την βασική τεχνική που περιγράψαµε παραπάνω αλλά συνδυαζόµενη όµως µε κάποιες µετατροπές. Έτσι το Nmap στέλνει αρχικά µη σειρά από SYN/ACK πλαίσια και παραµονεύει για RST ανταποκρίσεις ώστε να διαπιστώσει εάν οι IPIDs αυξάνονται σταθερά. Αν από εάν πλήθος θυρών ενηµερωθούµε για την ύπαρξη µίας ανοιχτής θύρας δεν µπορούµε αµέσως να συγκεκριµενοποιήσουµε ποια είναι αυτή. Γι αυτό το λόγο το Nmap επαναλαµβάνει την ανίχνευση σταδιακά χωρίζοντας στη µέση τον αριθµό των πιθανών θυρών και επανεξετάζει όλα αυτά τα υποσύνολα ώσπου τελικά να µείνει η ανοιχτή θύρα και κατόπιν να συνεχίσει την έρευνα µε την επόµενη λίστα θυρών. Σαφώς το µεγαλύτερο πλεονέκτηµα του IdleScan είναι η µυστικότητα του αφού ο σταθµός προορισµού ποτέ δε θα µάθει την IP διεύθυνση του Nmap σταθµού ειδικά αν αυτοί βρίσκονται σε διαφορετικά υποδίκτυα.. Ωστόσο οι απαιτήσεις σε χρόνο και εύρος ζώνης είναι µεγάλες αφού συνήθως πολύ παραπάνω από µία θύρες θα εξεταστούν για να έχουµε αποτέλεσµα. FTP Bounce Attack(-b <ftp_relay_host>) Πρακτικά είναι παροχετευµένη µέθοδος και αδύνατο να αποδώσει σε πραγµατικό περιβάλλον πλέον αλλά έχει ενδιαφέρον από τεχνική σκοπιά. Παρόµοια µε την λειτουργία και την διεισδυτικότητα του idlescan το FTP bounce attack χρησιµοποιεί ένα εξωτερικό σταθµό εργασίας σαν proxy διακοµιστή µεταξύ του Νmap και του στόχου. Η ανίχνευση αυτή δε θα ήταν δυνατή χωρίς την ύπαρξη της παθητικής λειτουργίας FTP όπου η συνδέσεις εντολών είναι σαφώς διαχωρισµένες από τις συνδέσεις δεδοµένων. Αυτό επιτρέπει στους FTP διακοµιστές µια καλή 57

72 αλληλεπίδραση µε τα firewalls γιατί ο FTP διακοµιστής δοµεί τα αποπλέοντα δεδοµένα σύνδεσης µε τον ξενιστή (host).aκόµα υπάρχει η δυνατότητα να σταλθεί από το χρήστη µια PORT εντολή προς ένα FTP διακοµιστή όπου έτσι θα προσανατολίσει τα δεδοµένα προς ένα εντελώς διαφορετικό host. Άρα για να αρχίσει το FTP bounce attack το Nmap πρέπει να κάνει σύνδεση εισόδου (login) στον FTP διακοµιστή που θα χρησιµοποιηθεί ενδιάµεσα της επικοινωνίας.. Κατόπιν το Nmap στέλνει την PORT εντολή ώστε να κατευθύνει όλα τα δεδοµένα προς την στοχευόµενη IP διεύθυνση και TCP θύρα. Μια κλειστή θύρα θα έχει σαν αποτέλεσµα την ενηµέρωση του Νmap από τον διακοµιστή ότι η σύνδεση ήταν ανεπιτυχής και φυσικά το αντίθετο. υστυχώς για την FTP Bounce Attack η διαθεσιµότητα ενός FTP διακοµιστή που να αποδέχεται PORT εντολές ανακατεύθυνσης αποστολής δεδοµένων τείνει ολοένα και περισσότερο στο µηδέν αφού όλοι αυτοί οι διακοµιστές προστατεύονται πολύ αποτελεσµατικά από τέτοιες παρεµβολές. αναγκάζοντας µας να στρεφόµαστε σε άλλες µεθόδους του Nmap για να έχουµε τα επιθυµητά αποτελέσµατα. Γενικά θα ήταν δύσκολο να κατατάξουµε αξιολογικά τις µεθόδους αφού η κάθε µια απ αυτές µπορεί να είναι η καλύτερη από τις άλλες όταν τη χρησιµοποιήσουµε στην περίπτωση που χρειάζεται και σίγουρα ο καταλληλότερος συνδυασµός αυτών είναι το ζητούµενο. Τέλος µας δίνεται η δυνατότητα και πάντα είναι χρήσιµο να σώζουµε τις αποκτηθείσες πληροφορίες σε κάθε δυνατή µορφή µε την επιλογή οα (All Formats) παρέχοντας µας όλες τις χρήσιµες πληροφορίες και µετά την ανίχνευση µας. Έτσι µας δίνει η -οα στην έξοδο τρία ξεχωριστά αρχεία ώστε να υπάρχει η δυνατότητα ανάγνωσης των αποτελεσµάτων τόσο από το ίδιο Nmap σε περιπτώσεις resume (επαναφοράς ανίχνευσης) ή από άλλες µηχανές που συνεργάζονται αλλά οπωσδήποτε από τον άνθρωπο όπου του παρέχεται έτσι η δυνατότητα να δει τα αποτελέσµατα της ανίχνευσης του σε φιλική προς αυτόν html µορφή. Ουσιαστικά oι ΧΜL πληροφορίες, που είναι µέθοδος δοµής, αποθήκευσης και αποστολής δεδοµένων, µετατρέπονται µέσω της γλώσσας XSL (Extensible Stylesheet Language) που περιλαµβάνει το Nmap, σε HTML (HyperΤext Markup Language) που είναι ένας απλός και φιλικός τρόπος οπτικοποίησης των δεδοµένων αναγνώσιµος από κάθε γνωστό φυλλοµετρητή διαδικτύου. Ένα οπτικό αποτέλεσµα του Nmap µε HTML µορφή φαίνεται στην εικόνα

73 Εικόνα 2.1. Html αποτέλεσµα Nmap σάρωσης 2.7. Το NMAP απέναντι στις σύγχρονες προκλήσεις Το βασικό µας µέληµα εδώ είναι ο τρόπος που όλες αυτές οι µέθοδοι και επιλογές ανίχνευσης του Nmap θα βοηθήσουν πρακτικά στην αντιµετώπιση των σηµερινών καθηµερινών απαιτήσεων ασφάλειας κάποιον διαχειριστής-υπεύθυνο ασφαλείας ενός οργανισµού ο οποίος φροντίζει για την συνεχόµενη λειτουργία και διαθεσιµότητα του συστήµατος. ίνονται κάποια σενάρια που αποτελούν κοινά παραδείγµατα προβληµάτων στους οργανισµούς.όλα αυτά µπορούν να αντιµετωπιστούν µε την βοήθεια του Nmap προσαρµόζοντας την ανίχνευση µας διαφορετικά κάθε φορά ανάλογα µε την πρόκληση που παρουσιάζεται. Στην τελευταία εξ αυτών αναλύεται και µία πρακτική "Νmap λύση". ιαχείριση τρωτοτήτων. Η ανακοινώσεις τρωτοτήτων είναι καθηµερινό φαινόµενο στην ασφάλεια πληροφοριακών συστηµάτων. ιακοµιστές, εφαρµογές, δροµολογητές, µεταγωγοί, επιτραπέζιοι υπολογιστές και κάθε λογής συνδεδεµένη δικτυακή συσκευή µπορεί να προσβληθεί. Όταν τα ρήγµατα ασφάλειας εντοπίζονται σε µία συσκευή ή σε µια εφαρµογή πραγµατοποιούνται έλεγχοι από τις υπεύθυνες εταιρίες ώστε να προκύψουν οι αντίστοιχες επιδιορθώσεις (patch). Οι επιδιορθώσεις ανακοινώνονται 59

74 αυτόµατα µέσω λιστών ηλεκτρονικού ταχυδροµείου και από τις ιστοσελίδες των υπευθύνων εταιριών ανανεώνοντας και ενηµερώνοντας έτσι την ασφαλή λειτουργία λειτουργικών συστηµάτων,συσκευών, οδηγών και εφαρµογών.είναι εξαιρετικά κρίσιµος παράγοντας ταχύτητα στην φάση αυτή των επιδιορθώσεων ειδικά σε περιπτώσεις προσβολής πολλαπλών συστηµάτων ή έντονα αρνητικών φαινοµένων. Οι εταιρίες παροχής ασφάλειας Π.Σ µπορεί να γνωρίζουν τα περισσότερα συστήµατα που χρησιµοποιούν το τρωτό λογισµικό αλλά µπορεί να υπάρχουν και άλλες µορφές συστηµάτων για τα οποία είναι ανενηµέρωτοι. Αυτό ήταν ένα συνηθισµένο πρόβληµα στις αρχές του 2003 όταν ένα SQL slammer σκουλήκι επιτέθηκε στα Microsoft SQL Server συστήµατα. Παρόλο που οι ερευνητές είχαν βρει ικανές επιδιορθώσεις για κάθε γνωστό SQL σύστηµα πολλοί οργανισµοί χρησιµοποιούσαν SQL συστήµατα διακοµιστών ιδιαίτερα στηµένα και διαφορετικά από αυτά της ευρείας παραγωγής. Αυτά τα άγνωστα συστήµατα γρήγορα προσβλήθηκαν και η ανεξέλεγκτη γιγάντωση της δικτυακής συµφόρησης δηµιουργούµενη από το Slammer σκουλήκι επέφερε µαζική δικτυακή αποδιοργάνωση. Το Nmap σε τέτοιες περιπτώσεις µπορεί να εντοπίσει όλες τις διεργασίες που χρησιµοποιούν κάποιον αριθµό θύρας και µε τη βοήθεια του version και του Fingerprint scan µας παρέχονται ακόµα παραπάνω λεπτοµέρειες. Έτσι ο διαχειριστής αναγνωρίζει ξεκάθαρα όλες τις microsoft SQL Server διεργασίες, τις IP διευθύνσεις για όλες τις SQL Server συσκευές και τις πληροφορίες αριθµών εκδόσεων εφαρµογών µπορώντας έτσι να ξεχωρίσει τις νόµιµες διαδικασίες αλλά και να τις προφυλάξει συντηρώντας τις. Τακτικές ασφάλειας & ελέγχου συµµόρφωσης µονάδων στο όλο Π.Σ Ένα σηµαντικό ζήτηµα στην ασφάλεια δικτύων είναι ο έλεγχος και η διαχείριση των συσκευών και των εφαρµογών µέσα στη δοµή του οργανισµού. Ο διαχειριστής ασφάλειας µπορεί να αποφασίσει ότι συγκεκριµένες εφαρµογές θέτουν σε κίνδυνο τα δεδοµένα όλου του οργανισµού και έτσι να απαγορέψει ειδικά σε αυτές να αλληλεπιδρούν µε το δίκτυο. Για παράδειγµα µπορεί σε ένα Π.Σ να παρθεί η απόφαση ότι ο Apache HTTP διακοµιστής είναι κατάλληλος για το δίκτυο,αλλά ο Microsoft Internet Information διακοµιστής δεν είναι. Από τη στιγµή που και οι δύο χρησιµοποιούν την θύρα TCP 80 µία απλή ανίχνευση θύρας δε θα µας παρέχει τις απαραίτητες πληροφορίες για να 60

75 αποφανθούµε αν η αποµακρυσµένη συσκευή είναι συµµορφωµένη µε την πολιτική ασφαλείας του Π.Σ.. Ευτυχώς το Nmap µπορεί να µας δώσει πολύ παραπάνω πληροφορίες µε την βοήθεια του version scan και της fingerprinting επιλογής αφού βλέπουµε έτσι τις ενεργές υπηρεσίες που τρέχουν σε κάθε αποµακρυσµένο σταθµό και παίρνουµε σηµαντικές πληροφορίες για τα αντίστοιχα λειτουργικά συστήµατα εκεί, µπορώντας τελικά να κάνουµε τις κατάλληλες προσθαφαιρέσεις ώστε να είµαστε πάντα συµµορφωµένοι µε την πολιτική ασφάλειας του Π.Σ. Asset Management Καθώς τα δίκτυα γίνονται όλο και πιο κατανεµηµένα το να διαχειρίζεσαι ολοένα και περισσότερους αποµακρυσµένους πόρους είναι πρόκληση. Ένας αποµακρυσµένος σταθµός µπορεί να µην είναι αρκετά µεγάλος ώστε να έχει το δικό του προσωπικό ασφαλείας, όµως, τα συστήµατα και οι διαδικασίες εκεί παραµένουν σηµαντικές για την απόδοση ολόκληρου του οργανισµού. Αυτός ο πολλαπλασιασµός αποµακρυσµένων σταθµών µας κάνει δύσκολο το να γνωρίζουµε µε ακρίβεια τις νέες συσκευές εφαρµογές και συστήµατα που εισάγονται στο ενιαίο σώµα του οργανισµού. Αυτό γίνεται ιδιαίτερα σηµαντικό όταν η αδειοδότηση των λογισµικών µας παρέχεται ανά σταθµό εργασίας (συχνό φαινόµενο ειδικά στα λογισµικά ασφάλειας) ή όταν το λογισµικό που είναι βασισµένο στους διακοµιστές παρέχεται µε άδεια ανά διακοµιστή. Το Nmap εδώ µπορεί να εντοπίσει, να αναγνωρίσει και να κατηγοριοποιήσει τις αποµακρυσµένες συσκευές στο δίκτυο και µάλιστα σε πολλές περιπτώσεις χωρίς να επηρεάσει αρνητικά την συνηθισµένη παραγόµενη κίνηση του δικτύου. Έλεγχος Αντιπυρικών τειχών. Πολύπλοκοι κανόνες και ρυθµίσεις στα firewall δηµιουργούν και αντίστοιχης πολυπλοκότητας προβλήµατα στους υπεύθυνους ασφαλείας. Ερωτήµατα όπως το αν το Firewall επιτρέπει εξολοκλήρου την οµαλή ροή στις αναµενόµενες και επιθυµητές ΙΡ,το ποιες θύρες είναι ανοιχτές και ποιες φιλτραρισµένες µπορούν να απαντηθούν από Nmap κάνοντας µία ανάλυση θυρών ώστε να διαπιστώσουµε ποιες θύρες φαίνονται ανοιχτές στο εξωτερικό περιβάλλον. 61

76 Στη βασική του λειτουργία το firewall φροντίζει να επιτρέπει ή να φιλτράρει την είσοδο της δικτυακή κυκλοφορίας στο σύστηµα.. Τα firewall µπορούν να παίξουν ρόλους από απλά φίλτρα πακέτων µέχρι πολύπλοκους proxy διακοµιστές.. Μερικοί firewall επιτρέπουν την είσοδο των IP διευθύνσεων χωρίς καµία παρεµβολή και άλλοι προχωράνε σε µία µετάφραση µεταξύ εσωτερικών ΙΡ διευθύνσεων και εξωτερικών διευθύνσεων. Το Nmap µας βοηθάει και εδώ ειδικά µε την ACK scan όπου µπορούµε έτσι να καθορίσουµε εάν ένα πακέτο φιλτράρεται µέσα από το firewall ή αν περνάει ανεµπόδιστα.. Από την στιγµή που θα εντοπιστούν οι αφιλτράριστες ή υπερβολικά φιλτραρισµένες θύρες στο firewall µπορεί να παρθούν πιο αυστηρά µέτρα η πιο ελαστικά αντίστοιχα και µετά την εφαρµογή αυτών να επαναλάβουµε τον έλεγχο ώσπου να φτάσουµε στο επιθυµητό αποτέλεσµα.. Επίσης ένας περιοδικός έλεγχος πρέπει να εκτελείτε,ώστε να διαπιστώνεται το ότι οι νόµιµες παράµετροι του firewall δεν έχουν αλλάξει από την τελευταία φορά ρύθµιση του και ειδικά από τρίτους. ιηνεκής Έλεγχος ικτύου. Το δίκτυο ενός οργανισµού αλλάζει διαρκώς. Νέες εφαρµογές διακοµιστών προστίθενται ρυθµίσεις µεταγωγών ανανεώνονται και ακόµα και ο κυκλοφοριακός φόρτος µεταβάλλεται και µετατοπίζεται καθώς εξελίσσεται ο οργανισµός. Οι υπεύθυνοι ασφάλειας πρέπει διαρκώς να αντιλαµβάνονται τις αλληλεπιδράσεις του δικτύου σε κάθε επίπεδο και φάση του. Ένας από τους καλύτερους τρόπους στο να καταλάβεις ένα "ζωντανό " δίκτυο είναι ο συνεχής και ενδελεχής έλεγχος του. Είναι συνηθισµένη στρατηγική να καλύπτεται όλο το εύρος του δικτύου από ένα µόνιµο έλεγχο όντας έτσι σε συνεχή επαγρύπνηση. Η λύση αυτή µπορεί να µην είναι απόλυτη αλλά ταιριάζει περίφηµα στη πολιτική της άµυνας σε βάθος και της ασφάλειας σε όλα τα επίπεδα που είναι αναγκαία. Οι υπεύθυνοι οµάδα ασφάλειας ποτέ δε ξέρει πότε οι πληροφορίες που αποταµίευσε στο παρελθόν θα φανούν σωτήριες στο παρών αλλά σίγουρα θα αποτελέσουν ισχυρό πλεονέκτηµα αυτές οι πληροφορίες όταν και αν χρειαστούν. 62

77 Αλίευση αποδεικτικών στοιχείων επιθέσεων ιών & Spyware. Οι ιοί και τα spyware παρόλο που έχουν κοινό σκοπό την προσβολή ενός συστήµατος έχουν διαφορετικές ελλοχεύουσες τεχνολογίες.παραλλαγές των MyDoom, Sasser, Beagle, NetBus, SubSeven και άλλων δούρειων ίππων (Trojan horses) δηµιουργούν ανοιχτές θύρες παρέχοντας έµµεσους διαύλους επικοινωνίας στα συστήµατα. Μία Nmap λύση εδώ µπορεί να ανιχνεύσει ένα ολόκληρο δίκτυο εύκολα για να εντοπίσει ίχνη δράσης spyware ή ιών χρησιµοποιώντας ping µεθόδους, ανιχνεύσεις θυρών και αντίστροφο DNS έλεγχο. Πιο συγκεκριµένα, για αυτήν την περίπτωση, θα χρησιµοποιήσουµε τις ακόλουθες τεχνικές.( James Messer, 2005) Νmap Ping Type: Εάν το ICMP πρωτόκολλο δεν φιλτράρεται στο δίκτυο ενός οργανισµού,ένα ICMP ping (-PE) θα µπορούσε να είναι ένας αποτελεσµατικός τρόπος αναγνώρισης ενός ενεργού συστήµατος. Εάν όµως το ICMP είναι ενεργά φιλτραρισµένο µια πιο κατάλληλη ping τύπου επιλογή θα πρέπει να επιλεχθεί. Επίσης απ την στιγµή που αυτή η έρευνα θα ανιχνεύσει ένα µεγάλο αριθµό ΙΡ διευθύνσεων µια ping µέθοδος είναι απαραίτητη ώστε να αναγνωρίσουµε την διαθεσιµότητα των αποµακρυσµένων συσκευών. Nmap Scan Type: Από την στιγµή που πρόκειται για µια απλή ανίχνευση θυρών ένα TCP Scan (-ss) ή UDP Scan (-su) θα µπορούσε ήταν καλή επιλογή. ιαφορετικές spyware επιθέσεις µπορούν να ανοίξουν TCP ή UDP θύρες και γι αυτό συχνά και οι δύο τύποι θυρών πρέπει να ενσωµατωθούν στην ανίχνευση µας. ΙΡ ιευθύνσεις : Για ευκολία προτείνεται να δηµιουργηθεί πρώτα ένα αρχείο µε που εµπεριέχει τις ΙΡ διευθύνσεις ώστε να αναφερθούµε σε αυτές µε την επιλογή il. Εύρος αριθµών θυρών :Σε αυτό τον έλεγχο θα ανιχνεύσουµε περιορισµένο αριθµό θυρών που σχετίζονται µε τις εισβολές spyware και ιών.εάν και οι TCP και οι UDP θύρες ενταχθούν στην ανίχνευση µας τότε πρέπει να γίνει χρήση της ρ επιλογής µε τις διευκρινήσεις αριθµών θυρών έτσι: U:<udpθύρες>, Τ:<tcpθύρες>. 63

78 Αντίστροφος DNS έλεγχος :Εάν ένας µεγάλος αριθµός θυρών ερευνηθεί σε βάθος χρόνου καλό είναι να πραγµατοποιηθεί ένα αντίστροφος DNS έλεγχος για κάθε συσκευή (-R). Ωστόσο αυτό µπορεί να εισάγει καθυστέρηση στην ανίχνευση µας και ειδικά αν σπάνια αλλάζουν οι ΙΡ διευθύνσεις και τότε θα εµποδίζαµε τον αντίστροφο DNS έλεγχο µε την επιλογή (-n). Version Detection : Εάν ένας δούρειος ίππος χρησιµοποιεί έναν αριθµό θύρας που είναι κατά κανόνα ανοιχτός στο δίκτυο είναι χρήσιµο να συµπεριλάβουµε µια version detection τεχνική στην αναζήτηση µας (-Sv) ώστε να αναγνωρίσουµε την εφαρµογή που τρέχει στην αποµακρυσµένη συσκευή. Αυτή η επιλογή πρέπει να χρησιµοποιείται µόνο αν είναι απαραίτητο γιατί γενικά επιβραδύνει την ανίχνευση µας ειδικά αν συµπεριληφθούν και οι UDP θύρες. Η Nmap γραµµή εντολής θα είναι σε αυτήν την περίπτωση έτσι : # nmap -vv -PE -ss -su -il input.lst --excludefile banned.lst -p U:31337,T:6713 -n -oa trojans Μετά την ολοκλήρωση της παραπάνω ανίχνευσης θα έχουµε στην διάθεση µας το αρχείο trojans.gnmap που µπορούµε να το µελετήσουµε για να βρούµε τις παράνοµα ανοιχτές θύρες και να φροντίσουµε κατόπιν την θωράκιση του δικτύου ανάλογα. 64

79 ΚΕΦΑΛΑΙΟ 3 ΠΑΡΟΥΣΙΑΣΗ & ΑΞΙΟΛΟΓΗΣΗ ΤΟΥ ΕΡΓΑΛΕΙΟΥ WIRESHARK ΣΕ ΣΥΝ ΥΑΣΜΟ ΜΕ ΤΗΝ ΗΟΝΕΥNET ΤΕΧΝΟΛΟΓΙΑ 3.1. Εισαγωγή Σε αυτό το κεφάλαιο θα παρουσιαστεί το εργαλείο Wireshark που αποτελεί ένα από τα κορυφαία εργαλεία παρακολούθησης και καταγραφής της δικτυακής κίνησης. Στη συνέχεια, θα αναπτυχθεί η σχετικά νέα και πολύ ισχυρή τεχνολογία των Honeypots όπου ουσιαστικά προσοµοιώσεις πραγµατικών συστηµάτων εκτίθενται στους όποιους κινδύνους,ώστε παρακολουθώντας τα και αναλύοντας τα µε εργαλεία σαν το Wireshark να βγαίνουν άµεσα πολύτιµα συµπεράσµατα για τους λόγους ευπάθειας τους,άρα και αυτούς των παρόµοιων πραγµατικών συστηµάτων. Επιτυγχάνετε, έτσι, να προστατεύονται από τους κινδύνους τα πραγµατικά δίκτυα αλλά και να επωφελούνται παράλληλα πλήρως των αποτελεσµάτων έρευνας που προκύπτουν από τις πολλαπλές δοκιµασίες τρωτότητας που κατακλύζουν εσκεµµένα τα Honeypots. Τέλος, θα παρουσιαστούν πραγµατικές αναλύσεις µε το Wireshark των Honeynet δεδοµένων που πηγάζουν από το Greek Honeypot Project και θα δώσουν συµπεράσµατα για τις ευπάθειες συστηµάτων. Ένα πρόγραµµα ανίχνευσης πακέτων (packet sniffing) είναι ένα πρόγραµµα που εκτελείτε σε µια συσκευή που είναι προσαρτηµένη στο δίκτυο, το οποίο δέχεται παθητικά όλα τα πλαίσια επιπέδου ζεύξης, τα οποία περνούν από τον προσαρµογέα δικτύου συσκευής. Σε ένα περιβάλλον εκποµπής, όπως το Ethernet LAN, αυτό σηµαίνει ότι το πρόγραµµα ανίχνευσης πακέτων δέχεται όλα τα πλαίσια που µεταδίδονται από ή προς όλους τους υπολογιστές στο LAN. Κάθε υπολογιστής υπηρεσίας µε µια κάρτα Ethernet µπορεί να λειτουργήσει εύκολα σαν ανιχνευτής πακέτων,επειδή αρκεί ο προσαρµογέας Ethernet να τεθεί σε αδιάκριτο τρόπο λειτουργίας (promiscuous mode) για να λαµβάνει όλα τα µηνύµατα Ethernet που 65

80 περνούν από αυτόν. Είναι τόσο σηµαντική αυτή η τεχνολογία που µεταξύ άλλων και το FBI έχει ένα εργαλείο ανίχνευσης πακέτων, το Carnivore το οποίο χρησιµοποιείται για απόδειξη στο δικαστήριο, επιλεκτικής παρεµβολής σε κίνηση δικτύου Εισαγωγή στο Wireshark O Gerald Combs τον Ιούλιο του 1998 εκδίδει για πρώτη φορά το Ethereal ( πρώιµη ονοµασία του Wireshark) εµπλουτίζοντας έτσι την οικογένεια των λογισµικών αναλυτών δικτύων sniffers µε ένα σηµαντικό εργαλείο που στη πορεία του χρόνου µε την συνεισφορά πολλών ακόµα προγραµµατιστών σε συνεχή βάση µέχρι και σήµερα επικράτησε ως ένα από τα κορυφαία εργαλεία αυτού του είδους (freshmeat.net,2007). Αυτό οφείλεται καταρχήν στην ελεύθερη εµπορική διαθεσιµότητα υπό την Gnu s Not UNIX (GNU) General Public License (GPL) ανοιχτού κώδικα άδεια,επίσης από το πλήθος των τεχνολογιών όπως Ethernet, Token-Ring, Wireless Σηµαντικό συστατικό της επιτυχίας του αποτελεί επίσης η υποστήριξη σε πάνω από 750 πρωτόκολλα που ολοένα αυξάνονται χάρη στον ανοιχτό του κώδικα του,και τέλος, οφείλεται σίγουρα στην γραφική διάδραση υψηλού επίπεδου που παρέχει για UNIX-based συστήµατα, Mac OS X, και Windows καταφέρνοντας παράλληλα αυτό και τα όµοια του φυσικά να επισκιάσουν τους παραδοσιακούς αναλυτές δικτύων που κυριαρχούσαν µέχρι τότε που ήταν αυτόνοµες, ακριβές και πολύπλοκες συσκευές (Dag Cards). Αυτού του είδους οι αναλυτές είναι συνδυασµός συσκευών και λογισµικού και παρόλες τις διαφορές µεταξύ ξεχωριστών προϊόντων πέντε είναι τα βασικά µέρη ενός αναλυτή δικτύου. Καταρχήν, το υλικό (hardware) που περιλαµβάνει τις κάρτες δικτύων βασισµένες σε ένα λειτουργικό σύστηµα φυσικά και ενίοτε κάποιους µεταγωγούς (hubs) ή προσβάσεις καλωδίων (cable taps). εύτερον, και ουσιαστικά ο πυρήνας ενός αναλυτή είναι ο Capture Driver ο οδηγός δηλαδή που συλλαµβάνει τα πακέτα που επιθυµούµε από τη δικτυακή ροή του επικοινωνιακού διαύλου και στη συνέχεια τα αποθηκεύει στη προσωρινή µνήµη ( buffer) που είναι και το τρίτο βασικό κοµµάτι του αναλυτή. Τέταρτο απαραίτητο συστατικό είναι η άµεση και σε πραγµατικό χρόνο ανάλυση των πληροφοριών καθώς ρέουν στο δίαυλο και, πέµπτον, απαραίτητος είναι ο αποκωδικοποιητής που δίνει στα συλλεγµένα δεδοµένα ευανάγνωστη µορφή, ώστε να παρουσιαστούν στον χρήστη. Μορφή που συνήθως 66

81 αποτελείται από τρεις πίνακες. Έναν περιληπτικό, έναν λεπτοµερέστερο και αυτόν µε τα δεδοµένα αυτούσια. To εργαλείο Wireshark, όπως και κάθε αναλυτής δικτύου (sniffer), αναλύει την δικτυακή κίνηση συλλαµβάνοντας και παρουσιάζοντας κάθε κοµµάτι της. Κατόπιν επιθεωρώντας αυτά τα κοµµάτια λεπτοµερώς αντιλαµβάνεται κανείς το τι συµβαίνει σε ένα δίκτυο. Το εύρος αναγνώρισης των πρωτοκόλλων, οι διαθέσιµες γραφικές, υπολογιστικές και στατιστικές δυνατότητες και φυσικά η αξιοπιστία των αποτελεσµάτων παίζουν καταλυτικό ρόλο σε αυτού του είδους τα εργαλεία και µε αυτά τα κριτήρια επιλέχθηκε το Wireshark για την παρούσα εργασία. Η δυνατότητα λοιπόν άµεσης καταγραφής και παρουσίασης των πακέτων πληροφοριών που ρέουν στο επικοινωνιακό µέσο σε συνδυασµό µε την διακριτικότητα και παθητικότητα αυτής της µεθόδου έχει κάνει αυτήν την τεχνική απαραίτητο εργαλείο τόσο στους διαχειριστές πληροφοριακών συστηµάτων όσο και στους κακόβολους επιτιθέµενους. Το Wireshark µπορεί να χρησιµοποιηθεί για : Μετατροπή δυαδικών πληροφοριών σε ευανάγνωστα πακέτα. Αντιµετώπιση προβληµάτων στο δίκτυο. Ανάλυση επίδοσης δικτύου ώστε να βρεθούν πιθανά σηµεία συµφόρησης δεδοµένων (bottlenecks). Ανάλυση λειτουργίας των εφαρµογών. Εύρεση προβληµατικών καρτών δικτύου. Ανακάλυψη της προέλευσης κακόβουλων επιθέσεων. Εντοπισµός spyware. Εκσφαλµάτωση δικτυακού προγραµµατισµού στο στάδιο της ανάπτυξης. Ανίχνευση εκτεθειµένων υπολογιστών. Έλεγχο συµβατότητας των µονάδων µε την πολιτική του οργανισµού. Εκπαιδευτικούς σκοπούς. έλεαρ (Honeypot) ώστε να οδηγήσει σε εικονικά δεδοµένα ασυνήθιστες συνδέσεις που δεν εντάσσονται στα πλαίσιο της πολιτικής ασφάλειας του οργανισµού προστατεύοντας έτσι τις πραγµατικές πληροφορίες και παράλληλα αναγνωρίζοντας τους εισβολείς. 67

82 3.3. Μέθοδοι βέλτιστης αξιοποίησης Wireshark στον έλεγχο τρωτότητας πληροφοριακών συστηµάτων. Το Wireshark είναι παθητικό και εξαιρετικά διακριτικό,αφού δεν συνδέεται απευθείας µε οποιαδήποτε άλλα συστήµατα στο δίκτυο αλλά απλά παρεµβάλλεται αθόρυβα στο κανάλι επικοινωνίας και παρακολουθεί της πληροφορίες που ρέουν αποφεύγοντας παράλληλα τις περισσότερες τεχνικές ανίχνευσης του. Πλεονεκτήµατα καθοριστικά για έναν διαχειριστή δικτύου ή υπεύθυνο ασφάλειας. Ένας υπεύθυνος ασφάλειας δικτύου ενός οργανισµού οφείλει συχνά να φέρεται όπως ένα κακόβουλος χρήστης, ώστε να ανακαλύπτει τα ρήγµατα ασφάλειας που θα ευνοούσαν έναν επιτιθέµενο µε τελικό σκοπό φυσικά να προφυλάξει το σύστηµα επιδιορθώνοντας αυτά τα ρήγµατα. Με τεχνικές χειρισµού των MAC και ΑRP (Address Resolution Protocol) που δεν απαιτούν αλλαγές στην αρχιτεκτονική του δικτύου ή µε MITM (Man In The Middle Attacks) επιθέσεις και σε συνδυασµό µε τα προηγµένα εργαλεία ανάλυσης όπως οι Dsniff και Ettercap που παρέχονται από το Wireshark ένας υπεύθυνος ασφάλειας δικτύου µπορεί : Να συλλάβει ονόµατα χρήστη και κωδικούς πρόσβασης που δεν είναι επαρκώς αποκρυπτογραφηµένα. Να ανακαλύψει τις συνηθισµένες κινήσεις ενός χρήστη στο δίκτυο. Να εκθέσει απόρρητες πληροφορίες Να συλλάβει και να αναπαραγάγει τηλεφωνικές συνδιαλέξεις µέσω διαδικτύου (VoIP). Να βοηθήσει στη χαρτογράφηση του δικτύου Να κάνει παθητική αναγνώριση Λειτουργικού Συστήµατος. Να ανιχνεύσει κακόβουλες εισβολές (Intrusion Detection). Nα ελέγχει σαν εισβολέας παράπλευρες θύρες ελέγχου προγραµµάτων (backdoor program control). Για να επιτευχθεί µια τέτοια διαδικασία δικτυακής ανάλυσης ο αναλυτής πρέπει να έχει ή να δηµιουργήσει πρόσβαση στον επικοινωνιακό δίαυλο του συστήµατος που σηµαίνει να βρίσκεται στο ίδιο τµήµα δικτύου ή να παρεµβληθεί σε σηµείο του διαύλου, ώστε να υποκλέψει πληροφορίες. Ακόµα και αν ο αναλυτής δε 68

83 µπορεί να βρίσκεται τόσο κοντά στο υπό εξέταση σύστηµα υπάρχουν εναλλακτικές µέθοδοι, ώστε να επιτευχθεί η επιθυµητή δικτυακή ανάλυση. Εναλλακτικές όπως η παραβίαση ενός αποµακρυσµένου υπολογιστή που ανήκει στο δίκτυο-στόχο και εγκατάσταση σε αυτόν ενός δικτυακού, αναλυτή ώστε να υπάρχει η δυνατότητα αποµακρυσµένης διαχείρισης. Ακόµα και σε κάποιο σηµείο πρόσβασης (access point) του παρόχου Internet µπορεί να εγκατασταθεί ο αναλυτής και να µας δώσει αποτελέσµατα. Επίσης στη περίπτωση που ήδη υπάρχει αντίστοιχο πρόγραµµα στο πληροφοριακό σύστηµα µπορεί µέσω αποµακρυσµένης εκµετάλλευσης αυτού να παρθούν τα επιθυµητά αποτελέσµατα. Τέλος, η τακτική που στηρίζεται στις απροσεξίες και τις αφελείς κινήσεις των χρηστών ή ακόµα και η παράτυπη συνεργασία µε κάποιο υπάλληλο του ίδιου του συστήµατος (social engineering) µπορεί να φέρει τα επιθυµητά αποτελέσµατα. Συχνό εµπόδιο για την επιτυχή λειτουργία του Wireshark αποτελούν οι µεταγωγοί (switches). Θεωρητικά θα µπορούσε κανείς να δει σε ένα µεταγωγό µόνο τα πακέτα που προορίζονται για τον δικό του υπολογιστή, ωστόσο µπορεί να παρακαµφθεί αυτό το πρόβληµα µε τεχνικές,όπως η υπερχείλιση µεταγωγού (Switch Flooding),όπου µε καταιγισµό πλασµατικών MAC διευθύνσεων αναγκάζουµε τον µεταγωγό να φέρεται σαν αναµεταδότης (hub) και έτσι όλα τα πακέτα να µεταδίδονται σε κάθε υπολογιστή. Ακόµα µπορεί να υποκριθεί κάποιος ότι είναι ο αληθινός router µε την τεχνική ARP Redirects, ή να ανακατευθύνει τα πακέτα προς τον δικό του υπολογιστή υποκρινόµενος ότι είναι ο αυθεντικός προορισµός µε τις τεχνικές ΙCMP Redirect, ICMP Router Advertisements, MAC Address Spoofing και Reconfigure Port Spanning On the Switch και τέλος δυνατό είναι να σταλθούν αντίγραφα των δεδοµένων στη θύρα ενός άλλου µεταγωγού µε ανακλαστικές τεχνικές Port mirroring (www.monkey.org.). Από την σκοπιά της καθαρά φυσικής παρουσίας του Wireshark σε σχέση µε τους µεταγωγούς σηµαντικό είναι να συνδέεται στον ίδιο µεταγωγό µε αυτόν που συνδέεται ο εξυπηρετητής που εντάσσεται στην έρευνα,ενώ η χρήση διανοµέα (hub) ή tap είναι απόλυτα θεµιτή, εφόσον χρειάζεται. Πιθανότατα, για την βέλτιστη απόδοση να χρειαστούν αρκετές δοκιµές σε διάφορα σηµεία του δικτύου για αυτό η ύπαρξη φορητού υπολογιστή βελτιώνει εµφανώς την ευκινησία και ταχύτητα της επιχείρησης. Επίσης για να προκύψουν όσο το δυνατό περισσότερα και πιο αξιόπιστα αποτελέσµατα στην σύλληψη της δικτυακής κίνησης, θα πρέπει να ληφθούν υπόψη και κάποιες παράµετροι σχετικές µε το υλικό του συστήµατος. Αρχικά, πρέπει να 69

84 γνωρίζει ο υπεύθυνος ανάλυσης ότι η ταχύτητα σύλληψης πακέτων θα περιοριστεί στην ταχύτητα του πιο αργού στοιχείου στο δίκτυο.έτσι, αν για παράδειγµα προσπαθήσει ο αναλυτής να συλλάβει πακέτα µεταξύ δύο υπολογιστών που ανταλλάσουν µεταξύ τους πληροφορίες µε 75 mbit/sec χρησιµοποιώντας µια θύρα που υποστηρίζει 10 mbit/sec µάλλον θα προκύψουν απώλειες δεδοµένων. Ακόµα, η άσκοπη χρήση πολλών παραµέτρων στην ανάλυση αποτελεί παράγοντα επιβράδυνσης.ένας γρήγορος επεξεργαστής (CPU) γενικά δεν είναι απαραίτητος για να τρέξει το Wireshark,όµως, σε περιπτώσεις διαχωρισµού αλφαριθµητικών στοιχείων (passwords,usernames) ειδικά µέσα από µεγάλο όγκο δεδοµένων,ένας ισχυρός επεξεργαστής θα επιταχύνει τη διαδικασία εύρεσης ανάλογα. Ο πιο αποτελεσµατικός όµως τρόπος, ώστε να λειτουργεί το Wireshark ταχύτερα είναι να του παρέχεται αρκετή µνήµη τυχαίας προσπέλασης (RAM) ειδικά όταν οι αναλύσεις απαιτούν κατακράτηση µεγάλου αριθµού πακέτων στη µνήµη αποφεύγοντας έτσι σε περιπτώσεις υπερφόρτωσης την εναλλακτική χρήση των σκληρών δίσκων,που είναι πάντα πιο χρονοβόροι στις συναλλαγές πληροφοριών. Τα παραπάνω αποτελούν γενικούς κανόνες,που όµως διαφοροποιούνται, όταν αντιµετωπίζονται µεγάλα και πολύπλοκα δίκτυα µε πλειάδες πληροφοριακών στοιχείων και συσκευών, και για αυτό απαραίτητη προϋπόθεση για την πετυχηµένη τοποθέτηση του ανιχνευτή είναι η ξεκάθαρη γνώση της δοµής του εξεταζόµενου δικτύου και των πρωτοκόλλων αυτού. Αφού επιτευχθεί η εγκατάσταση του δικτυακού αναλυτή συνήθως προσανατολίζεται στη σύλληψη συγκεκριµένων πληροφοριών,όπως passwords. Τρωτά πρωτόκολλα σε τέτοιου είδους επιθέσεις είναι τα Telnet, File Transfer Protocol (FTP),Post Office Protocol version 3 (POP3),Internet Message Access Protocol (IMAP),Simple Mail Transfer Program (SMTP),Hypertext Transfer Protocol (HTTP), Remote Login (rlogin) και Simple Network Management Protocol (SNMP) όπου όλα τους είναι εξαιρετικά διαδεδοµένα άρα ο κίνδυνος σχετικών τρωτοτήτων είναι µεγάλος για κάθε δικτυωµένο οργανισµό Φίλτρα σύλληψης - απεικόνισης & ιεπαφές Αποτελεσµάτων Φίλτρα Στην προσπάθεια να δεικτοδοτηθούν προβλήµατα δικτύου ή να κατανοηθεί πώς δουλεύει µια δικτυακή λειτουργία, το Wireshark εξορισµού τείνει να συλλέγει 70

85 όλα τα πακέτα που παρέχονται από το λειτουργικό σύστηµα. Σαφώς σε ένα οικιακό δίκτυο ή σε ένα µικρό γραφείο αυτό δε θα αποτελεί πρόβληµα, σε περιπτώσεις όµως µεγάλων οργανισµών και δαιδαλωδών δικτύων η κατακλυσµιαία δικτυακή κίνηση παραείναι ογκώδης για να τη διαχειριστεί κανείς αυτούσια. Για τη διαχείριση αυτής της τεράστιας πληροφορίας παρέχεται από το Wireshark η λειτουργία σύλληψης µε φίλτρο (capture filter) όπου επιτρέπει στο χρήστη να προεπιλέξει τα χαρακτηριστικά των εισερχόµενων ή εξερχόµενων πακέτων που θα επιτραπούν από το λειτουργικό σύστηµα να φτάσουν στην εφαρµογή,ώστε να επικεντρωθεί ο υπεύθυνος ασφάλειας στο πρόβληµα πιο συγκεκριµένα (Εικόνα 3.1. Capture φίλτρο). Γενικά τα φίλτρα αυτά, συχνά αποκαλούµενα ως tcpdump, προσανατολισµένα στο δεύτερο επίπεδο δικτύου, υλοποιούνται στην βιβλιοθήκη WinPcap για τα Windows ή την libpcap (packet capture library) για τα Unix συστήµατα αντίστοιχα, παρέχοντας στο Wireshark ένα ανοιχτού κώδικα, γρήγορο και ισχυρό µηχανισµό φιλτραρίσµατος. Τα πλαίσια που συλλαµβάνονται λοιπόν πρέπει να ικανοποιούν µια λογική (Boolean) έκφραση, το φίλτρο σύλληψης, όπου αυτή η έκφραση πρέπει να διέπεται από τους καθορισµένους tcpdump κανόνες σύνταξης. Έτσι,µε την βοήθεια αυτών των κανόνων και των µεταδεδοµένων µπορεί ο χρήστης να συντάξει τέτοιες εντολές, ώστε να συνδυάσει αναζητήσεις host διευθύνσεων, διευθύνσεων υλικού, θυρών, πρωτοκόλλων και χαρακτηριστικών byte µέσα στα πακέτα πληροφοριών προσαρµόζοντας έτσι το φιλτράρισµα στις ερευνητικές ανάγκες του χρήστη απόλυτα. Για παράδειγµα, αν πρέπει να εξεταστούν όλα τα ΗΤΤP πακέτα που φυλλοµετρούνται στον υπολογιστή εκτός από αυτά της διεύθυνση του Πανεπιστηµίου Πειραιά, θα εισάγουµε στο φίλτρο σύλληψης την εντολή tcp port80 and not dst Ακόµα και για πιο πολύπλοκες αναζητήσεις όπως η εύρεση ενός Welchia worm που χαρακτηρίζεται από ένα echo-request 92 bytes και εχει ICMP payload που ξεκινάει µε 4 bytes από Άλφα, µε την εντολή icmp[icmptype]==icmpecho and ip[2:2]==92 and icmp[8:4]==0xaaaaaaaa µπορεί να εντοπιστεί ευκολα. (www.tcpdump.org/tcpdump_man.html.). Τα πακέτα δεδοµένων, λοιπόν, στο φίλτρο σύλληψης πρέπει να αναλύονται άµεσα, ώστε να διαπιστωθεί αν ικανοποιούν τις παραµέτρους διαλογής του χρήστη. Αν όµως η ανάλυση ενός πακέτου πάρει πολύ χρόνο, το λειτουργικό σύστηµα δε θα προλάβει να επεξεργαστεί και την επόµενη σειρά πακέτων και για αυτό τα απορρίπτει. Για να ξεπεραστεί αυτή η αδυναµία αλλά και για να διευρυνθούν οι επιλογές δικτυακής ανάλυσης, έχουν εισαχθεί στην εφαρµογή τα φίλτρα απεικόνισης 71

86 (display filters), όπου χρησιµοποιώντας ονόµατα πεδίων πακέτων και ονόµατα πρωτοκόλλων, κατακρατούν µέρος της πληροφορίας τόσο κατά τη διάρκεια καταγραφής των πακέτων,όσο και αφού έχει ολοκληρωθεί η διαδικασία συλλογής πληροφοριών,αντίθετα µε τα φίλτρα σύλληψης, που ενεργοποιούνται πάντα πριν ξεκινήσει η διαδικασία καταγραφής. Τα φίλτρα απεικόνισης, αν και επικοινωνούν µε τα φίλτρα σύλληψης εναποθέτουν ολοκληρωτικά τον διαχωρισµό των πακέτων στο Wireshark, γι αυτό είναι πιο χρονοβόρα λειτουργία από αυτή του φίλτρου σύλληψης που επωφελείται της ισχύς του λειτουργικού. Επίσης η σύνταξη του φίλτρου απεικόνισης είναι διαφορετική από αυτή του φίλτρου σύλληψης και αυτοί οι συντακτικοί κανόνες αποτελούν µέρος του Wireshark. Κάθε τύπος φιλτραρίσµατος είναι κατάλληλος ανάλογα µε την περίπτωση. Τα φίλτρα σύλληψης είναι κατάλληλα για γρήγορο διαχωρισµό πακέτων από µία δικτυακή διεπαφή σε ζωντανό χρόνο ενώ τα φίλτρα απεικόνισης είναι κατάλληλα για λεπτοµερή ξεκαθάρισµα πακέτων που επιθυµεί ο χρήστης, αφού αυτά έχουν καταγραφεί στο Wireshark και µάλιστα µε παραπάνω διαθέσιµα ονόµατα πρωτοκόλλων και πεδίων από αυτά που προσφέρει το ταχύ φίλτρο σύλληψης tcpdump. Εικόνα 3.1. Capture φίλτρο. 72

87 ιεπαφές Αποτελεσµάτων Έτσι, αφού έχει επιτευχθεί η σύλληψη και καταγραφή πακέτων ο χρήστης προχωρά στην ανάλυση όλης αυτής της συγκεντρωµένης πληροφορίας µε την πολύτιµη βοήθεια των γραφικών διεπαφών της εφαρµογής. Στο κύριο παράθυρο επικοινωνίας του Wireshark (Εικόνα 3.2) συµπεριλαµβάνεται καταρχήν η µπάρα επιλογών (Menu bar) που είναι µια τυπική µορφή µπάρας εφαρµογών µε κυλιόµενα παράθυρα που εξυπηρετούν το πλήθος των επιλογών του χρήστη. Η µπάρα εργαλείων (Tool Bar) κατόπιν περιέχει κλασικές επιλογές των εργαλείων του Wireshark διευκολύνοντας τον χρήστη να εντολοδοτεί µε µία κίνηση. Στη συνέχεια, βασικό κοµµάτι είναι η µπάρα φίλτρων απεικόνισης που δίνουν την δυνατότητα να καθοριστούν τι είδους πακέτα θα αναδυθούν στην επιφάνεια. Τα πλαίσια που καταγράφονται από το Wireshark εµφανίζονται έγχρωµα στο παράθυρο µε τη λίστα καταγεγραµµένων πακέτων στο κεντρικό µέρος της οθόνης. Κάθε γραµµή περιγράφει ένα πλαίσιο που συλλαµβάνεται. Η επιλογή ενός οποιουδήποτε από τα πλαίσια που καταγράφηκαν γίνεται κάνοντας κλικ στην αντίστοιχη γραµµή της λίστας. Μεταξύ των στοιχείων που εµφανίζονται για κάθε πλαίσιο στο πεδίο µε τίτλο Protocol εµφανίζεται το ανώτατης τάξης ενθυλακωµένο πρωτόκολλο που αποκωδικοποιεί το Wireshark. Για κάθε πρωτόκολλο που ενθυλακώνεται στα δεδοµένα του πλαισίου που έχει επιλεγεί, τα βασικά πεδία της επικεφαλίδας του εµφανίζονται µε δενδροειδή γραφικό τρόπο στο παράθυρο µε τις λεπτοµέρειες επικεφαλίδας στο µεσαίο τµήµα της οθόνης. Πιο συγκεκριµένα, υπάρχει µία γραµµή για την επικεφαλίδα κάθε πρωτοκόλλου που είναι ενθυλακωµένο στα δεδοµένα του πλαισίου όπου αυτή αναλύεται. Συνεπώς, δεδοµένης της δοµής ενός πακέτου IP για παράδειγµα µπορεί να αναλυθεί το τεµάχιο (segment) TCP που εµπεριέχεται µέσα στο IP. Οµοίως, η δοµή του τεµαχίου TCP επιτρέπει την αποκωδικοποίηση του µηνύµατος HTTP, ενώ περαιτέρω ανάλυση οδηγεί στο συγκεκριµένο τύπο του µηνύµατος HTTP, δηλαδή GET, POST κ.ά. Στο παράθυρο µε τα περιεχόµενα (κάτω τµήµα της οθόνης) εµφανίζονται τα δεδοµένα του επιλεγµένου πλαισίου σε δεκαεξαδική και ASCII µορφή. Μπορεί να φανεί όλο το περιεχόµενο της επικεφαλίδας ενός πρωτοκόλλου µε διπλό κλικ στην αντίστοιχη γραµµή.όταν γίνει κλικ πάνω σε κάποια επικεφαλίδα 73

88 ή σε κάποιο πεδίο µιας επικεφαλίδας (στο παράθυρο µε τις λεπτοµέρειες επικεφαλίδας), τότε εµφανίζεται µε αντιστροφή χρώµατος (highlighted) το αντίστοιχο κοµµάτι του πλαισίου στο κάτω παράθυρο µε τα περιεχόµενα του πλαισίου. Εικόνα 3.2. Βασική διεπαφή Wireshark Αξιοσηµείωτη,επίσης, είναι η εξαιρετικά χρήσιµη δυνατότητα που δίνεται από το Wireshark, ώστε να βλέπει ο χρήστης τι ακριβώς µεταφέρθηκε µέσα στα TCP πακέτα. Αυτό συµβαίνει µε δεξί κλικ πάνω στο αντίστοιχο πακέτο και επιλογή Follow TCP stream εντολής κατόπιν. Εικόνα 3.3. Εµφάνιση TCP δεδοµένων που µεταφερθήκαν 74

89 3.5. Μέθοδοι & Πραγµατικότητα. Η δικτυακή ανάλυση χρησιµοποιείται, ώστε να προσδιοριστούν και να απαριθµηθούν διαθέσιµοι δικτυακοί πόροι όπως host, θύρες ή άλλες δικτυακές πηγές. Εφόσον ανακαλυφθεί ένα τρωτό σηµείο ή υπηρεσία το δίκτυο είναι αυτόµατα εκµεταλλεύσιµο και η συσκευή ή το περιβάλλον του εκτεθειµένα. Συχνά, ένας πραγµατικός εισβολέας βρίσκεται πίσω από την επίθεση και άλλοτε κάποιο δικτυακό σκουλήκι (worm).οι υπεύθυνοι ασφαλείας χρησιµοποιούν τη δικτυακή ανάλυση, ώστε να ενισχύσουν και να προσαρµόσουν την ασφάλεια των δικτύων απέναντι στις καθηµερινά µεταβαλλόµενες παραµέτρους και κινδύνους. Η πρόκληση της ανάλυσης της κίνησης των δικτύων και η εξαγωγή χρήσιµων συµπερασµάτων από αυτή την ανάλυση είναι συνδυασµός επιστήµης και τέχνης παράλληλα, αφού πέρα από τις εξειδικευµένες γνώσεις πληροφοριακών συστηµάτων απαιτεί και τεραστία εξοικείωση µε τα στοιχεία της δικτυακής ανάλυσης ακόµα και την ανάγνωση δεκαεξαδικής γλώσσας µε ευχέρεια,ώστε να είναι ικανός κανείς να ξεχωρίζει την ουσία από τα χιλιάδες πακέτα που περιέχουν εκατοντάδες συνδέσεις,συνόδους και πρωτόκολλα. Υπάρχουν διάφοροι τύποι ανάλυσης µε πρώτο εξ αυτών το πολύ βασικό TCP Connect Scan Scanning το όποιο χρησιµοποιείται, για να αναγνωρίσει ποιες θύρες είναι ανοιχτές εφόσον δεχτεί στο SYN αίτηµα µια SYN/ACK απάντηση, ενώ αναγνωρίζει ποιες είναι κλειστές στην περίπτωση µίας RST ανταπόκρισης. Ολοκληρώνει,δηλαδή, µια κλασική τριµερή χειραψία µε τις ανοιχτές θύρες και κατευθείαν µετά κλείνει την σύνδεση γεγονός που την κάνει µία εύκολα αντιληπτή διαδικασία στο δίκτυο. Οι ενεργές θύρες σε µια συσκευή στόχο µπορούν διαχωριστούν µε την Wireshark εντολή tcp.flags.syn==1&&tcp.flags.ack==1 or tcp.flags==18. Επίσης, η SYN Scan στοχεύει στο να ανακαλύψει ανοιχτές και κλειστές θύρες αναλύοντας τις SYN/ACK και RST/ACK αποκρίσεις αντίστοιχα. Μια µέθοδος που ενώ παλιότερα θεωρούνταν ως κρυφή σήµερα τα περισσότερα firewall και IDSes (Intrusion detection system) µπορούν να αντιληφθούν τέτοιου είδους ενέργειες.η Χmas ανάλυση, ακόµα, είναι αδύναµη απέναντι σε Microsoft λειτουργικά συστήµατα, αφού δέχεται ανεξαρτήτως κατάστασης θύρας RST ανταπόκριση. Τέλος, αρκετά διαδεδοµένο είναι και το Null Scan όπου στέλνει πακέτα 75

90 µε όλα τα flags απενεργοποιηµένα, ώστε οι κλειστές θύρες να αντιδράσουν µε RST/ACK, ενώ οι ανοιχτές απλά θα απορρίψουν το πακέτο. Με τη βοήθεια του Wireshark µπορεί ο διαχειριστής ασφάλειας,επίσης, να θωρακίσει το δίκτυο ενός οργανισµού προλαµβάνοντας αδυναµίες του συστήµατος που θα επέτρεπαν εισβολές Trojan horses απειλών.επιθέσεις που δηµιουργούν κερκόπορτες,ώστε να επιτρέπουν αποµακρυσµένη υπόγεια πρόσβαση προγραµµάτων στον οργανισµό,βασισµένες σε client-server αρχιτεκτονικές, δίνοντας έτσι τη δυνατότητα στον εισβολέα του απόλυτου ελέγχου του συστήµατος. Αυτά τα κακόβουλα προγράµµατα, όπως τα SubSeven, µπορούν να ειδοποιήσουν τον εισβολέα µέσω ηλεκτρονικού ταχυδροµείου ή IRC, όταν ο υπολογιστής θύµα είναι συνδεδεµένος στο δίκτυο. ικτυακές κινήσεις που µε κατάλληλες έρευνες του Wireshark µπορούν να αναγνωριστούν από τον υπεύθυνο ασφάλειας του οργανισµού, ώστε να θωρακίσει το δίκτυο. Το ίδιο αποτελεσµατικά µπορεί να δουλέψει το Wireshark για την αντιµετώπιση δικτυακών σκουληκιών που είναι µια από τις πιο ραγδαία εξαπλώσιµες απειλές στα δίκτυα σε παγκόσµιο επίπεδο. Σε όλη αυτή τη διαρκή προσπάθεια προφύλαξης του δικτύου το Wireshark διαθέτει µια σειρά από επιπλέον προγράµµατα εξαιρετικά χρήσιµα στον υπεύθυνο ασφάλειας. Αυτά είναι : το εξαιρετικά scriptable Tshark,το editcap που βοηθάει πολύ στην διαµόρφωση στοιχείων των πακέτων,το mergecap που διευκολύνει συγκεντρώνοντας διαφορετικού τύπου και µεγέθους αρχεία σύλληψης σε ένα ενιαίο όπως,το text2pcap για άψογο έλεγχο επικεφαλίδων πακέτων και µετατροπή αυτών,το Capinfos που προσφέρει χρήσιµα στατιστικά στοιχεία,και τέλος, το πρόγραµµα dumpcap που µοιάζει στο Tshark άλλα απαιτεί µικρότερο χώρο αποθήκευσης Honeypot Τεχνολογία. Σκοπεύοντας στην όσο το δυνατό πιο στενή επαφή µε τις τρέχουσες πραγµατικές συνθήκες δικτυακής κίνησης για την χρήση και αξιολόγηση του εργαλείου Wireshark χρησιµοποιούνται καταγραφές δικτυακής κίνησης από το Honeynet Research Alliance που αποτελεί µέρος του Honeynet Project έργο στο οποίο συνεισφέρει και η Ελλάδα µέσα από το Internet Systemetics Lab του Εθνικού Κέντρου Έρευνας Φυσικών Επιστηµών ΗΜΟΚΡΙΤΟΣ. Το Honeynet Project είναι µια ελεύθερη παγκόσµια προσπάθεια προσφοράς και συµµετοχής στην εµπειρία της 76

91 ασφάλειας των πληροφοριακών συστηµάτων που βασίστηκε στη ιδέα του honeypot αλλά εξελίχθηκε πολύ και πέρα από αυτό. Καταρχήν η honeypot τεχνολογία από µόνη της είναι ένα πολύ χρήσιµο εργαλείο και εξαιρετικά ευέλικτο αφού, συνδυάζεται µε πλήθος εφαρµογών στο vulnerability testing. Πρόκειται για φυσικά ή και εικονικά συστήµατα που παριστάνοντας πραγµατικού ενδιαφέροντος οργανισµούς έχουν σαν σκοπό να δελεάσουν τους κακόβουλους χρήστες,ώστε να τους αποπροσανατολίσουν από τους πραγµατικούς πόρους αλλά το σηµαντικότερο να καταγράψουν τις κακόβουλες αλληλουχίες των διεισδυτικών ενεργειών τους, ώστε στη συνέχεια να αναλυθούν αυτές και να βγουν χρήσιµα συµπεράσµατα για τη µελλοντική θωράκιση των συστηµάτων. Ένα honeypot δεν έχει καµία αξία ως σύστηµα παραγωγής, δεν κάνει καµία πραγµατικά παραγωγική εργασία, όπως η αποθήκευση και επεξεργασία δεδοµένων. Ακόµα και µια απλή οντότητα ή ένα µεµονωµένο σύνολο πληροφοριών µπορεί να είναι Honeypot. Για παράδειγµα το νοσοκοµείο Ευαγγελίστρια θα µπορούσε να δηµιουργήσει ένα ψεύτικο ιατρικό φάκελο µε το όνοµα Ζάχος Ζαχόπουλος και να τον εισάγει στην βάση δεδοµένων µαζί µε τους πραγµατικούς φακέλους. Οποιοσδήποτε αλληλεπιδράσει µε αυτό το φάκελο, που είναι µέρος του honeypot, θα είναι ύποπτος αφού κανείς δεν έχει λόγο και νόµιµο δικαίωµα να ασχοληθεί µε αυτή την καταγραφή. Αυτή η απλότητα της ιδέας των Honeypots είναι που τους δίνει τόσα πλεονεκτήµατα αλλά και µειονεκτήµατα, φυσικά. Οποιεσδήποτε αλληλεπιδράσεις,λοιπόν, συναλλαγές,επεξεργασίες, προσπάθειες για σύνδεση ή οποιαδήποτε πρόσβαση σε αρχεία δεδοµένων σε ένα honeypot είναι αιτία συναγερµού (alert),αφού πρόκειται σίγουρα για κακόβουλες ή µη εξουσιοδοτηµένες ενέργειες. Προφανώς, η αδιάλειπτη εποπτεία και καταγραφή της κάθε κίνησης προς και από ένα honeypot αλλά και η κατοπινή ανάλυση όλης αυτής της συσσωρευµένης γνώσης που είναι µικρή σε όγκο αλλά εξαιρετικά περιεκτική σε σύγκριση µε τις κλασικές υπερφορτωµένες δικτυακές αναλύσεις, είναι µείζονος σηµασίας και εκεί θα συµβάλει σηµαντικά το Wireshark στη συνέχεια. Ο ορισµός που αναπτύχθηκε από τα µέλη του Honeypot mail list, ένα δηµόσιο forum µε πάνω από πέντε χιλιάδες επαγγελµατίες στη ασφάλεια υπολογιστικών συστηµάτων, λέει ότι : Honeypot είναι ένας πόρος πληροφοριακών συστηµάτων του οποίου η άξια έγκειται στη µη εξουσιοδοτηµένη χρήση του πόρου αυτού. 77

92 Ο ορισµός αυτός πρόεκυψε πολύ δύσκολα, αφού οι πολλές διαφοροποιήσεις και το έντονο στοιχείο της δυναµικότητας στα διάφορα είδη των Honeypots καθιστούν δύσκολη την διαδικασία ενός τεχνικού ορισµού και έτσι δε εστιάζει στο πώς λειτουργούν άλλα από πού αντλούν την αξία τους κάτι που είναι κοινός και πρωταρχικός παράγοντας σε όλα απ αυτά. (Lance Spitzner,Know Your Enemy, 2004).Η πλειάδα των honeypot συστηµάτων,λοιπόν, µπορεί να διαχωριστεί µε πρώτο κριτήριο τους λόγους ανάπτυξης τους και µε δεύτερο κριτήριο τον βαθµό αλληλεπίδρασης που επιτρέπουν αυτά. Σύµφωνα µε το πρώτο κριτήριο διαχωρίζονται σε Honeypots παραγωγής και σε Honeypots έρευνας. Τα Honeypots παραγωγής εισάγονται παράλληλα µε τους servers που χρησιµοποιούνται από εταιρίες και οργανισµούς µε σχετικά απλοποιηµένες διαδικασίες και µε στόχο να αναβαθµιστεί η όλη ασφάλεια του συστήµατος. Οι Honeypots έρευνας από την άλλη αναπτύσσονται από εθελοντές,από µη κερδοσκοπικούς οργανισµούς ή από εκπαιδευτικά ιδρύµατα µε στόχο να συλλέξουν πληροφορίες για τα κίνητρα και τις τακτικές που χρησιµοποιούν οι blackhats (κακόβουλοι επιτιθέµενοι),ώστε µέσα από επιστηµονική ερευνά και ανάλυση αυτών να προκύψουν ολοένα και πιο σύγχρονες λύσεις για την προστασία των πληροφοριακών συστηµάτων. Συγκριτικά µε τα πρώτα, πρόκειται για µακρά πιο πολύπλοκα συστήµατα στην ανάπτυξη και συντήρηση τους µε το είδος πληροφοριών και αποτελεσµάτων που προκύπτουν να είναι σαφώς πολυπλοκότερα και πιο εξειδικευµένα. Το Honeynet Project που θα τροφοδοτήσει µε honeypot logs αυτή την εργασία ανήκει σε αυτή την κατηγορία. Σύµφωνα τώρα µε το κριτήριο του βαθµού αλληλεπίδρασης προκύπτουν δύο βασικές κατηγορίες τα χαµηλής αλληλεπίδρασης που συγκλίνουν µε τα Honeypot παραγωγής συνήθως και τα υψηλής αλληλεπίδρασης Honeypots που χρησιµοποιούνται στα αντίστοιχα ερευνητικά συχνότερα. Το κάθε ένα είναι καλύτερο, όταν χρησιµοποιηθεί στο κατάλληλο περιβάλλον (Spitzner, 2003). Όσο µεγαλύτερος είναι ο βαθµός αλληλεπίδρασης τόσο περισσότερες επιλογές διείσδυσης προσφέρονται στον επιτιθέµενο αλλά και τόση περισσότερη γνώση για τις κακόβουλες µεθόδους του µπορεί να αποκοµιστεί. Τα χαµηλής αλληλεπίδρασης Honeypots λειτουργούν βασικά µε εξοµοίωση υπηρεσιών και συστηµάτων. Οι δραστηριότητες των επιτιθέµενων περιορίζονται στα όρια των εξοµοιωµένων υπηρεσιών µπορώντας συνήθως απλά να συνδεθούν και να εκτελέσουν κάποιες βασικές εντολές που απλά έχει ορίσει ο διαχειριστής του Honeypot και τίποτα παραπάνω αφού δεν υπάρχει πραγµατικά λειτουργικό ή κάποιες 78

93 υπηρεσίες παραµόνο οι εξοµοιώσεις τους. Φυσικό επόµενο είναι να περιορίζονται ανάλογα τόσο τα αποτελέσµατα του Honeypot όσο και οι δυνατότητες καταγραφών σε πιο εξωτικές µεθόδους διείσδυσης. Θυσίες που συνειδητά γίνονται, αφού γενικότερα η εισαγωγή ενός Honeypot ενέχει πολλούς κινδύνους για το δίκτυο. Έτσι,πρέπει να διαχειρίζεται µε προσοχή,ώστε να µειώνονται οι κίνδυνοι,γιατί αλλιώς ένα ανεξέλεγκτο Honeypot µπορεί να αποτελέσει άριστο εφαλτήριο πραγµατικής παραβίασης του ίδιου ή άλλου οργανισµού. Αντιπρόσωποι αυτής της κατηγορίας αποτελούν τα Specter, KFSensor και το Honeyd.Το Honeyd ειδικότερα είναι ανοιχτού κώδικα εφαρµογή ανεπτυγµένη από τον Niels Provos το Με αυτό το εργαλείο έχει τη δυνατότητα ο διαχειριστής να προσοµοιώνει εκατοντάδες συνδυασµούς διαφορετικών λειτουργικών συστηµάτων και υπηρεσιών δηµιουργώντας έτσι εικονικά τεράστιες υποδοµές δικτύων σε ένα µόνο host. Πιο συγκεκριµένα µεταξύ πολλών άλλων µπορεί το Honeyd να υποδυθεί ένα Linux kernel σύστηµα µε προσοµοιωµένο File Transfer Protocol (FTP) server που αποκρίνεται στην θύρα 21. Έτσι, ένας επιτιθέµενος στη περίπτωση που θα εισάγει αντίστοιχα διεισδυτικά στοιχεία αλληλεπίδρασης, θα πιστεύει ότι αλληλεπιδρά µε µια πραγµατική FTP υπηρεσία ενός Linux συστήµατος, αν,όµως,εισάγει στοιχεία που δεν περιλαµβάνονται στις εκάστοτε ρυθµίσεις, θα προκύψει µήνυµα λάθους. Το script που θα παρεχόταν στο Honeyd, ώστε να προσοµοίωνε το παραπάνω σύστηµα, είναι το ακόλουθο: QUIT* ) echo -e "221 Goodbye.\r" exit 0;; SYST* ) echo -e "215 UNIX Type: L8\r" ;; HELP* ) echo -e "214-The following commands are recognized.\r" echo echo -e echo -e echo -e echo -e echo e echo -e "214 Direct comments to ;; <html> <head> <meta content="text/html; charset=iso " http-equiv="content-type"> <title>chartcode</title> </head> <body> "USER<o:p></o:p>PORT<o:p></o:p>STOR<o:p></o:p>MSAM*<o:p></o> 79

94 RNTO<o:p></o:p>NLST<o:p></o:p>MKD\r"<o:p></o:p> "PASS<o:p></o:p>PASV<o:p></o:p>APPE<o:p></o:p>MRSQ*<o:p></o:p> ABOR<o:p></o:p>SITE<o:p></o:p>XMKD\r"<o:p></o:p> ACCT*<o:p></o:p>TYPE<o:p></o:p>MLFL*<o:p></o:p> MRCP*<o:p></o:p>DELE<o:p></o:p>SYST<o:p></o:p> RMD\r"<o:p></o:p>"SMNT*<o:p></o:p>STRU<o:p></o:p> MAIL*<o:p></o:p>ALLO<o:p></o:p>CWD<o:p></o:p> STAT<o:p></o:p>XRMD\r"<o:p></o:p>"REIN*<o:p> </o:p>mode<o:p></o:p> MSND*<o:p></o:p>REST<o:p></o:p>XCWD<o:p></o:p>HELP<o:p></o:p> PWD\r"<o:p></o:p>"QUIT<o:p></o:p>RETR<o:p></o:p> MSOM*<o:p></o:p>RNFR<o:p></o:p>LIST<o:p></o:p>NOOP<o:p> </o:p>xpwd\r"<o:p></o:p> Πηγη : Τα υψηλής αλληλεπίδρασης Honeypots είναι πολύ διαφορετικά από τα χαµηλής αλληλεπίδρασης δεδοµένου ότι παρέχουν ολόκληρα λειτουργικά συστήµατα και εφαρµογές, για να παραβιάσουν οι επιτιθέµενοι. Τα πλεονεκτήµατα που παρέχονται από τα υψηλής-αλληλεπίδρασης honeypots είναι τεράστια. Κατ' αρχάς, έχουν ως σκοπό να καταγράψουν όσο γίνεται µεγαλύτερο όγκο πληροφοριών. Όχι µόνο µπορούν να ανιχνεύσουν τους επιτιθέµενους που εξετάζουν ένα σύστηµα, επιτρέπουν επίσης στους επιτιθέµενους να παραβιάσουν µια υπηρεσία και να αποκτήσουν πρόσβαση στο λειτουργικό σύστηµα. Μέσα από ένα παραβιασµένο σύστηµα µπορούν να αποκαλυφθούν τα rootkits των επιτιθεµένων, διότι τα φορτώνουν επάνω σε αυτό, επίσης µπορούν να αναλυθούν οι πληκτρολογήσεις τους,όταν αλληλεπιδρούν µε το σύστηµά ή όταν µιλούν µε άλλους επιτιθέµενους. Κατά συνέπεια, γνωστοποιούνται τα κίνητρα των επιτιθεµένων, τα επίπεδα ικανότητας, την οργάνωση, και άλλες κρίσιµες πληροφορίες. Εντούτοις, αυτές οι τεράστιες ικανότητες έχουν κάποιο τίµηµα. Κατ' αρχάς, τα υψηλής- 80

95 αλληλεπίδρασης honeypots θέτουν ένα υψηλό επίπεδο κινδύνου. εδοµένου ότι στους επιτιθέµενους παρέχονται πραγµατικά λειτουργικά συστήµατα για να αλληλεπιδράσουν πάνω σ' αυτά. Τα ίδια τα honeypots µπορούν να χρησιµοποιηθούν ως µέσα για να επιτεθούν ή να βλάψουν άλλα µη-honeypots συστήµατα. εύτερον, τα υψηλής-αλληλεπίδρασης honeypots είναι πολύ σύνθετα. εν εγκαθίστατε απλά το λογισµικό και προκύπτει αµέσως ένα honeypot. Αντί αυτού, πρέπει να χτιστεί και να διαµορφωθεί πραγµατικό συστήµα για τους επιτιθέµενους για να αλληλεπιδράσουν µε αυτά. Επίσης, πολλή πολυπλοκότητα προστίθεται, επειδή γίνεται προσπάθεια να αποφευχθεί ο κίνδυνος οι επιτιθέµενοι χρησιµοποιώντας τα honeypots να κάνουν ζηµιά πραγµατοποιώντας επιθέσεις σε άλλα συστήµατα. Το honeynet είναι ένας ακόµη τύπος honeypot και µάλιστα είναι από τους ποιο σύνθετους τύπους υψηλής αλληλεπίδρασης (high-interaction) honeypot. Συγκεκριµένα, είναι ένα υψηλής-αλληλεπίδρασης honeypot που προσπαθεί να παρέχει τη µέγιστη δυνατότητα αλληλεπίδρασης προσφέροντας πραγµατικά συστήµατα, για να αλληλεπιδρούν µε αυτά οι επιτιθέµενοι, µε αποτέλεσµα τίποτα να µην εξοµοιώνεται. Πολλές φορές σχεδιάζονται ώστε να αντιγράφουν την πραγµατικότητα, να παρέχουν δηλαδή ολοκληρωµένα αντίγραφα δικτύων και συστηµάτων παραγωγής. Τα Honeynets είναι µια πολύ ισχυρή λύσης honeypot, ικανή να συλλέξει πληροφορίες που κανένα άλλο honeypot δεν µπορεί. Εντούτοις, είναι µια από τις πιο σύνθετες λύσεις honeypot που απαιτούν πολύ εργασία για την κατασκευή, συντήρηση και κυρίως την παρακολούθηση τους. Ο στόχος ενός honeynet είναι να συλλέγει δεδοµένα (data) από κάθε δυνατή πηγή, ενώ ταυτόχρονα προστατεύει κάθε σύστηµα παραγωγής, περιορίζοντας τις κακόβουλες κινήσεις του επιτιθέµενου εντός του honeynet. Η συλλογή των δεδοµένων υλοποιείται σε διαφορετικά επίπεδα µε σκοπό να καταγραφεί όσο γίνεται περισσότερη πληροφορία, χωρίς το γεγονός να γίνει αντιληπτό από τον επιτιθέµενο. Τα επίπεδα που συλλέγεται η πληροφορία είναι τρία, στο πρώτο συλλέγονται τα firewall logs, στο δεύτερο δεδοµένα που παίρνονται από το IDS (alerts, warnings, detections) και στο τρίτο 81

96 επίπεδο τα δεδοµένα από τα honeypots. Η πολυεπίπεδη συλλογή δεδοµένων επιτρέπει την απόκτηση πλήρους εικόνας για τα δρώµενα εντός του honeynet και εξασφαλίζει έναν πλεονασµό πληροφορίας καλύπτοντας την περίπτωση αστοχίας κάποιου επιπέδου συλλογής δεδοµένων. Το σύνολο των τεχνικών που υλοποιούνται για την συλλογή των δεδοµένων αποκαλείται Data Capture. Εκτός από τις αυξηµένες δυνατότητες που παρέχει ένα Honeynet σε σύγκριση µε τα honeypots, αντιµετωπίζει επίσης και αυξηµένους κινδύνους. Όταν το honeynet παραβιαστεί, o επιτιθέµενος µπορεί να χρησιµοποιήσει το honeynet, για να επιτεθεί προς το παραγωγικό δίκτυο. Προκειµένου να µετριαστεί αυτός ο κίνδυνος, το honeynet εκτός από τη δυνατότητα να συλλέγει data, υλοποιεί ελέγχους, ώστε να µη γίνεται επικίνδυνο όταν, θα παραβιαστεί. Ο στόχος είναι να περιορίζεται ο επιτιθέµενος,ώστε να µην µπορεί να επιτεθεί σε συστήµατα του παραγωγικού δικτύου και ταυτόχρονα να είναι ελεύθερος να κινηθεί προς και µέσα στο Honeynet. Επίσης η δράση των µηχανισµών που υλοποιούν τους ελέγχους πρέπει, να µη γίνει αντιληπτή από τον επιτιθέµενο. Το σύνολο των τεχνικών που υλοποιούνται για τον έλεγχο των δεδοµένων ονοµάζεται Data Control. Τέλος, το Honeyfarm, ένα νέο µέλος της Honeypot οικογένειας, προτείνει αντί να αναπτύσσονται σε κάθε τοπικό δίκτυο ξεχωριστά Honeypot συστήµατα άρα και ευθύνες, να συγκεντρώνονται όλα αυτά σε ένα ενοποιηµένο τοπικό πλαίσιο που στελεχώνεται από ειδικούς. Κάθε επιτιθέµενος ουσιαστικά µέσω ενός τύπου proxy server θα ανακατευθύνεται σε συγκεκριµένο Honeypot µέσα στη Honeyfarm, ανεξάρτητα σε πιο τοπικό δίκτυο στόχευε αρχικά, και φυσικά,αυτή η µετάβαση δε θα πρέπει να γίνεται αντιληπτή από τον εισβολέα (Εικόνα 3.4.). Αυτή η πρόταση έρχεται σα λύση ειδικά για µεγάλους οργανισµούς µε δίκτυα σε όλο τον κόσµο, όπου θέλοντας να εκµεταλλευτούν τα σηµαντικά πλεονεκτήµατα ασφάλειας των υψηλής αλληλεπίδρασης Honeypot συστηµάτων συνήθως αναγκάζονται να εισάγουν πλειάδες από διακριτά Honeypots στα κατανεµηµένα δίκτυα τους εισάγοντας παράλληλα όµως µεγάλα προβλήµατα ανάπτυξης, διαχείρισης αλλά και υψηλές απαιτήσεις ανθρωποωρών και γενικά πόρων. Μία κίνηση συγκέντρωσης λοιπόν θα επέφερε σηµαντικές ευκολίες και βελτιώσεις στην έρευνα, ανάπτυξη, διαχείριση και συντήρηση του συστήµατος.to γράφηµα παρακάτω παρουσιάζει το σενάριο της 82

97 ανακατεύθυνσης των εισβολέων στις Honeyfarms. (Honeypot Farms, Lance Spitzner, security focus,2003 ). Εικόνα 3.4. Ανακατεύθυνση εισβολέων στη Honeyfarm 3.7. Μελέτες περιπτώσεων Honeynet. Σε αυτό το κεφάλαιο θα µελετηθούν οι πραγµατικές επιθέσεις που πραγµατοποιήθηκαν προς το ελληνικό Honeynet και ήταν κατά κύριο λόγο επιτυχηµένες. Θα δειχτεί ο τρόπος µε τον οποίο εξακριβώνεται ότι πραγµατοποιήθηκαν επιθέσεις, το exploit (αλληλουχία εντολών που εκµεταλλεύονται µια τρωτότητα) που χρησιµοποιήθηκε κάθε φορά, τα εργαλεία που χρησιµοποίησαν οι επιτιθέµενοι για την κατάληψη και τον έλεγχο ενός από τα honeypots αλλά και τα εργαλεία που χρησιµοποιούν οι ερευνητές υπεύθυνοι ασφάλειας. Επίσης, θα αποκαλυφθούν οι κινήσεις των εισβολέων, αφού έχουν αποκτήσει, ή νοµίζουν ότι έχουν αποκτήσει, τον ολοκληρωτικό έλεγχο του honeypot Α Μελέτη περίπτωσης. Στην πρώτη περίπτωση, θα δειχτεί πώς ένας επιτιθέµενος κατάφερε να εισχωρήσει στο windows honeypot του honeynet και να φορτώσει τα κατάλληλα εργαλεία, ώστε να πάρει τον έλεγχο του µηχανήµατος και να µπορεί να το διαχειρίζεται αποµακρυσµένα. 83

98 Προσδιορισµός της επίθεσης και της εκµεταλλευόµενης τρωτότητας. Χρησιµοποιώντας το Wireshark, για να διαβαστεί το binary η σηµαντικότερη πηγή δεδοµένων αρχείο όλης της δικτυακής κίνησης που καταγράφεται σε µορφή tcpdump δυαδικού αρχείου και σχετίζοντάς το µε τα alerts από το IDS (snort) που δίνονται από το Ελληνικό Honeynet, παρατηρεί κανείς στην Εικόνα 3.5 γραµµή 4 (πλαισιωµένη γραµµή) ότι ο επιτιθέµενος ( ) κάνει µια αίτηση SEARCH προς WebDAV IIS πιθανώς για να αναγνωρίσει αν το µηχάνηµα θύµα υποστηρίζει WebDAV (Web-based Distributed Authoring and Versioning) εντολές. Το WebDAV είναι ένα σύνολο από προεκτάσεις του πρωτοκόλλου HTTP που επιτρέπουν στους χρήστες να τροποποιούν και να διαχειρίζονται αρχεία σε αποµακρυσµένους www Servers. Εικόνα 3.5. Εµφάνιση των search πακέτων του εισβολέα. Στην συνέχεια, ακολουθεί και άλλη αίτηση SEARCH µε µια µεγάλη σειρά από χαρακτήρες \020 που φαίνεται στην Εικόνα 3.5, γραµµή 11( χρωµατισµένη γραµµή ). Ακολουθώντας το TCP Stream του (follow TCP stream) 84

99 που µας δίνει το Wireshark, βλέπουµε ότι στέλνει µεγάλο πλήθος από bytes, όπως φαίνεται στην Εικόνα 3.6 µε σκοπό το buffer overflow. Εικόνα 3.6. εδοµένα TCP / buffer overflow. Αναζητώντας πληροφορίες για το alert WEB-MISC webdav search access και συµπληρώνοντάς µε τα δεδοµένα από το Wireshark γίνεται προσπάθεια εντοπισµού του τύπου επίθεσης. Πληροφορίες για αυτό το alert µπορεί να βρεθούν στο όπου γενικά περιγράφει τα εξής: This event indicates that a remote user has attempted to use the SEARCH directive to retreive a list of directories on the web server. This may allow an attacker to gain knowledge about the web server that could be useful in an attack Αναζητώντας παραπάνω πληροφορίες στο WEB για webdav vulnerabilities (http://www.securityfocus.com/bid/2483 ) ανακαλύπτει κανείς ότι υπάρχει ένα vulnerability για webdav/ntdll.dll overflow στον IIS. Επίσης βρέθηκε ένα exploit σε γλώσσα προγραµµατισµού C, το οποίο πολύ πιθανόν να χρησιµοποιήθηκε από τον επιτιθέµενο.το πιθανότερο exploit που χρησιµοποιήθηκε, λειτουργεί όπως το C πρόγραµµα που βρίσκεται στην ηλεκτρονική διεύθυνση Αυτό το exploit, δηµιουργεί ένα buffer overflow στον IIS και επιστρέφει κέλυφος (shell, είναι διασύνδεση ανάµεσα στο χρήστη και το λειτουργικό σύστηµα µε command prompt εντολές) σε κάποια 85

100 πόρτα που έχει ανοιχτεί στον υπολογιστή του επιτιθέµενου. Πιο συγκεκριµένα, εκτελείται το προαναφερθέν C πρόγραµµα µε παραµέτρους : Target_IP Source_IP Port Pad : H IP ιεύθυνση του θύµατος : H IP ιεύθυνση του επιτιθέµενου : H Port που θα ανοίξει για shell : Πλήθος byte που θα σταλούν για να γεµίσουν (pad) τον buffer και να προκαλέσουν την υπερχείλιση. Επιχειρείται, δηλαδή, το exploit µε την κατάλληλη τιµή pad, ώστε να πετύχει η υπερχείλιση της µνήµης και να εκτελεστεί κώδικας στον υπολογιστή θύµα. Ο κώδικας αυτός θα δώσει, τελικά, στον επιτιθέµενο ένα shell του υπολογιστή θύµα. Όµοια επίθεση µπορεί να έχει πραγµατοποιηθεί και µε γραφικού περιβάλλοντος (GUI) exploit εργαλεία αντί των command line, όπου εύκολα στα αντίστοιχα πεδία συµπληρώνει κανείς τις τιµές που επιθυµεί. Παράδειγµα τέτοιου εργαλείου φαίνεται στην εικόνα 3.7. Εικόνα 3.7. GUI exploit λύση αντί command line. Άρα γνωρίζοντας ότι υπάρχει δυνατότητα για εκµετάλλευση ευπάθειας της βιβλιοθήκης ntdll.dll των windows σε συνδυασµό µε ελλιπείς ελέγχους του WebDAV, διαφαίνεται σκοπός εκτέλεσης εντολών αποµακρυσµένα µε δικαιώµατα του τοπικού µηχανήµατος,όπως αναφέρθηκε και παραπάνω, και τελικά σιγουρευόµαστε ότι πρόκειται για µια επιθετική κίνηση. 86

101 Συνεχίζοντας την έρευνα για τον εντοπισµό της σχετιζόµενης δικτυακής κίνησης θα χρησιµοποιηθεί µια τεχνική, για να αποκαλυφθούν οι συνδέσεις που πραγµατοποιήθηκαν,η οποία τεχνική είναι να εντοπιστούν τα SYN-ACK πακέτα, δηλαδή, οι απαντήσεις επιβεβαίωσης που δόθηκαν σε αιτήσεις σύνδεσης, για ολοκλήρωση των συνδέσεων. Βλέποντας τα δεδοµένα πιο προσεκτικά ανακαλύπτει κανείς ότι σε τέσσερις συνδέσεις από αυτές στέλνονται HTTP πακέτα στην πόρτα 80 του Ηoneypot από τις πόρτες 13494, 11164, και του µε εντολές όµοιες του SEARCH /\20\20\20.,που αναλύθηκε παραπάνω, δηλαδή τις SEARCH /\21\21\21., SEARCH /\22\22\22., SEARCH /\23\23\23. αντίστοιχα, όπου στο τελευταίο SEARCH πιθανότατα πετυχαίνει και το overflow, διότι, όπως φαίνεται, από τα συλληφθέντα πακέτα στο Wireshark, µετά από την επίθεση στην πόρτα 80 του honeypot, έχει αµέσως SYN πακέτο από το honeypot αυτή τη φορά προς την πόρτα 6669 (εικόνα 3.8, γραµµή 1640). Φαίνεται συνολικά πως ξεκινάει το πρώτο SEARCH στην Εικόνα 3.6 από γραµµή 11 και φτάνει µέχρι το τελευταίο και επιτυχηµένο search στην θύρα στην Εικόνα 3.8 όπου έχει καταληφθεί πλέον το τρωτό σηµείο τους συστήµατος και ο επιτιθέµενος έχει εισχωρήσει και φορτώσει τα κατάλληλα εργαλεία παίρνοντας τον έλεγχο του µηχανήµατος και µπορεί λοιπόν µέσω του cmd.exe,αντίστοιχο του shell στα Linux, να διαχειρίζεται εξ αποστάσεως αφού του παρέχεται έτσι command line οθόνη ώστε να εισάγει DOS εντολές. Επίσης δεν υπήρχε κίνδυνος πραγµατικής προσβολής του συστήµατος αφού τo µηχάνηµα που στόχευσε ο εισβολέας τρέχει Linux 7.3 γεγονός που καθιστά αδύνατο να βρεθεί cmd.exe από το worm που περιγράφθηκε παραπάνω αφού αυτό έχει την δυνατότητα να προσβάλει µόνο windows NT/

102 Εικόνα 3.8. Τελευταία & επιτυχηµένη Search εντολή στην Β Μελέτη περίπτωσης Honeynet. H δεύτερη περίπτωση θα εστιάσει σε µια IP, την , που χρησιµοποίησε διαφορετικά µέσα, για να πετύχει τον στόχο της από την πρώτη περίπτωση. Βέβαια, θα φανεί ότι δεν υπάρχει µεγάλη διαφορά από την πρώτη στην πολιτική της επίθεσης αλλά θα αποκοµιστούν περισσότερα στοιχεία για τον τελικό σκοπό αυτών των επιθέσεων. Προσδιορισµός της επίθεσης και της εκµεταλλευόµενης αδυναµίας. Η επίθεση σε αυτή τη περίπτωση βασίζεται σε ένα Vulnerability του MS- SQL server ο οποίος κατά την εγκατάσταση σαν προεπιλογή έχει κενό password στον χρήστη sa (system administrator). Το 80% των υπολογιστών µε SQL server έχουν κενό password για τον χρήστη sa. Το σηµείο ευπαθειας το περιγράφει το CERT σαν Microsoft SQL Server and Microsoft Data Engine (MSDE) ship with a null default password Παρακάτω, µε τη βοήθεια του Wireshark φαίνονται οι πρώτες κινήσεις του επιτιθέµενου που θα οδηγήσουν την ερευνά στην παραπάνω ευπάθεια. Καταρχήν, 88

103 στην εικόνα 9 φαίνεται ότι η πρώτη κιόλας σύνδεση του επιτιθέµενου είναι προς τη θύρα ms-sql 1433 όπου και έχει πλαισιωθεί στο διαµέρισµα µε τις λεπτοµέρειες επικεφαλίδας στην εικόνα 3.9. Εικόνα3.9. Σύνδεση επιτιθέµενου στην θύρα 2 Το exploit που χρησιµοποιούνται για να εκµεταλλευθούν την ευπάθεια του κενού password του sql-server τρέχουν επίσης την ρουτίνα xp_cmdshell, έτσι εκτελεί cmd (command line) εντολές. Κάθε φορά που εκτελείται το exploit καλείται και η ρουτίνα xp_cmdshell. Ο εισβολέας συνεχίζει να απευθύνεται στην θύρα 1433, ώσπου τελικά στην γραµµή 1117 του Wireshark φαίνεται να κάνει αίτηση για σύνδεση (SYN) στην πόρτα 8976 του Ηoneypot, την πόρτα ελέγχου του ftp server (εικόνα 10). Με αυτή την κίνηση φαίνεται ότι επιδιώκει το ελεύθερο των κινήσεων του ο εισβολέας, ώστε να µεταφέρει πακέτα δεδοµένων µέσω του FTP πρωτοκόλλου από το Honeypot σε άλλες µηχανές και το αντίθετο. 89

104 Εικόνα Θύρα προορισµού 8976(FTP) Ακολουθώντας το τελευταίο TCP πακέτο (follow tcpstream του Wireshark) που απευθύνεται στην πόρτα 1433 φαίνεται µέσα στα δεδοµένα να εκτελείται η ρουτίνα του sql server xp_cmdshell που εκτελεί την εντολή συστήµατος net start serv-u. Αυτή η εντολή ξεκινάει το service του ftp server. (εικόνα 3.11). Εικόνα Έναυσµα υπηρεσίας του FTP εξυπηρετητή Στη συνέχεια για να εντοπιστούν όλα τα αρχεία µε τα ASCII SESSIONS δηλαδή τις καταγραφές ανταλλαγής πληροφοριών σε µορφή ASCII χαρακτήρων που 90

105 έχουν καταγραφεί από το Honenet και περιέχουν τις κινήσεις του επιτιθέµενου, χρησιµοποιήθηκε το Wireshark µε το ακόλουθο φίλτρο: ip.addr == and tcp.port == 8976 and tcp.flags == 0x0012 το οποίο µας επιστρέφει από το binary όλα τα SYN-ACK πακέτα που αντιστοιχούν στην IP και περιέχουν την πόρτα 8967 (εικόνα 3.12). Εικόνα Αποτελέσµατα φίλτρου. Σύµφωνα µε τα IDS logs και τα παραπάνω στοιχεία, φαίνεται αρχικά να ανοίγει µία σύνδεση στην 8976 πόρτα του honeypot από την πόρτα Το φορτίο των πακέτων που µεταφέρθηκαν µέσω της σύνδεσης αυτής θα µας δείξει τις ftp εντολές που εκτέλεσε ο επιτιθέµενος και τις απαντήσεις που έλαβε. Αρχικά,συνδέεται στο honeypot, που πλέων λειτουργεί σαν ftp server, και θα αποκτήσει πρόσβαση µε USER name 'darwin' και PASS 'fxpadmin'. Για την εξασφάλιση του ελέγχου του Honeypot ο επιτιθέµενος φαίνεται µέσα από τα logs να χρησιµοποιεί ένα εµπορικό πρόγραµµα το radmin το οποίο χρησιµοποιείται από διαχειριστές 91

106 δικτύων, για να µπορούν να ελέγχουν µηχανές µε windows λειτουργικό. Η διαδικασία έχει ως εξής: ο Administrator εγκαθιστά στο τερµατικό του την client εφαρµογή, που µέσα από αυτήν θα ελέγχει τους αποµακρυσµένους υπολογιστές. Οι υπολογιστές που θα διαχειρίζεται αποµακρυσµένα ο administrator πρέπει να έχουν σε λειτουργία τη διεργασίαr_server.exe, η οποία ανοίγει την πόρτα Με αυτό τον τρόπο ο administrator, µπορεί να συνδεθεί στον αποµακρυσµένο υπολογιστή µε την client εφαρµογή (εικόνα 13), και να επιλέξει πρόσβαση στο desktop του αποµακρυσµένου υπολογιστή, έχοντας πλήρες έλεγχο ή µόνο να το παρακολουθεί µε τα δύο πρώτα κουµπιά αντίστοιχα, που βρίσκονται αριστερά µέσα στον κόκκινο κύκλο στην εικόνα Τα επόµενα τρία κουµπιά, επιτρέπουν στον administrator να πάρει shell, να ανοίξει ένα παράθυρο για µεταφορά αρχείων και τέλος να χειριστεί την κατάσταση τερµατισµού και επανεκκίνησης του αποµακρυσµένου µηχανήµατος. Εικόνα 3.13 radmin client Επανερχόµενοι στην ερευνά µε το Wireshark στην εικόνα 3.14 µπορεί να παρατηρήσει κανείς ότι αφού τερµατιστεί η σύνδεση µετ ην πόρτα 8976 του honeypot, ο επιτιθέµενος ξεκινάει σύνδεση στην πόρτα 4899 του honeypot, περίπου 13 δευτερόλεπτα µετά. υστυχώς τα πακέτα που µεταφέρονται από και προς την πόρτα 4899 δεν είναι αναγνώσιµοι χαρακτήρες και δεν γίνεται να εξακριβωθεί ακριβώς τι κάνει, αφού συνδεθεί. Πιθανώς να χρησιµοποιεί την επιλογή για διαχείριση του desktop, οπότε να µπορεί να πάρει µια εικόνα για το σύστηµα. Σίγουρα όµως χρησιµοποιεί το εργαλείο του radmin που προσφέρει στον επιτιθέµενο command line επιλογή. 92

107 Εικόνα Επανεµφάνιση επιτιθέµενου Παρατηρώντας τα system logs του honeypot, εξακολουθούµε να έχουµε µια εικόνα των κινήσεων του εισβολέα. Όπως φαίνεται στην Εικόνα 15, ένα πακέτο που περιέχει µία εγγραφή του honeypot και στέλνεται στον sysloger περιγράφει ότι ξεκίνησε µια νέα διεργασία µε όνοµα αρχείου cmd.exe, δηλαδή, το command line εργαλείο των windows. Έπειτα, χρησιµοποιεί την ftp πρόσβαση που έχει αποκτήσει στην πόρτα 8976, για να µεταφέρει κάποια αρχεία. Η σύνδεση ξεκινάει στην υπογραµµισµένη γραµµή της εικόνας 3.15 και η επόµενη γραµµή (το SYN-ACK) αντοστοιχεί στην δεύτερη γραµµή της εικόνας

108 Εικόνα Άνοιγµα διεργασίας cmd.exe Έγινε επίσης αντιληπτό από τα snort logs ότι το κατά την διάρκεια αυτής της σύνδεσης ο επιτιθέµενος µεταφέρει δύο αρχεία, το kill.exe και το tlist.exe. Το kill.exe είναι ένα command line πρόγραµµα για microsoft λειτουργικά, µε το οποίο µπορούµε να σταµατάµε διεργασίες που είναι ενεργές. Το tlist.exe, είναι και αυτό µια command line εφαρµογή για microsoft λειτουργικά µε την οποία µπορούµε να δούµε όλες τις διεργασίες που τρέχουν σε ένα τέτοιο σύστηµα. Όπως αναφέρθηκε παραπάνω, δεν µπορούν να φανούν ακριβώς οι κινήσεις του επιτιθέµενου µέσα από το radmin, αλλά ίσως προσεγγιστεί η δραστηριότητα του σύµφωνα µε τα υπόλοιπα δεδοµένα που συλλέχθηκαν. Ακολουθώντας λοιπόν τα syslogs, που στάλθηκαν προς τον sysloger. Το ενδιαφέρον που παρατηρήσαµε σε αυτά τα πακέτα είναι ότι χρησιµοποιήθηκε ή εντολή tlist και kill. Οι διεργασίες οι οποίες φαίνεται να σταµάτησαν είναι ο IIS (80/TCP), ftp (21/TCP) και smtp (25/TCP), στα σηµεία που φαίνονται στην εικόνα

109 Εικόνα Σηµεία παύσης διεργασιών Η δεύτερη, τρίτη και τέταρτη κυκλωµένη γραµµή, σταµατάνε τις διεργασίες ftp, smtp και www αντίστοιχα. Στη συνέχεια, γίνεται χρήση του iisreset.exe που έχει σχεδιαστεί,ώστε οι Web διαχειριστές εύκολα να θέτουν ένα server offline ή να εκτελέσουν κάποιες δέσµες διεργασιών από το command line (http://support.microsoft.com/default.aspx?scid=kb;en-us;202013). Συνοπτικά, αυτό είναι µια command line εφαρµογή, η οποία µπορεί να διαχειρίζεται τον Microsoft IIS. Στις επόµενες αναφορές συστήµατος, φαίνεται ότι ξαναξεκινάει η διεργασία του IIS, προφανώς µε τη χρήση του iisreset.exe, όµως,µόνο για υποστήριξη ιστοσελίδων (www 80/TCP). εν είναι γνωστό γιατί δεν εκκινεί την υπηρεσία ηλεκτρονικού ταχυδροµείου και την υπηρεσία µεταφοράς αρχείων. Ίσως, ο επιτιθέµενος δε θέλει την γραµµή του honeypot πολύ φορτωµένη, γιατί πιθανό να χρειαστεί όλη τη δυνατή ταχύτητα µεταφοράς που µπορεί να έχει η γραµµή. Η επόµενη ftp control σύνδεση έχει πάλι σχέση µε επεξεργασία καταλόγων. Αυτή την φορά, ο επιτιθέµενος θα προσπελάσει την διαδροµή του δίσκου c:/documents and Settings/All Users/Application Data/Microsoft/Crypto/RSA/ στο honeypot και στην συνέχεια θα δηµιουργήσει µερικούς υποκαταλόγους. Στην διαδροµή c:/documents and Settings/All Users/Application 95

110 Data/Microsoft/Crypto/RSA/_/PGL/dont delete3/ S I L E N C E R , θα αποθηκεύσει ένα text αρχείο µε όνοµα welcome silencer.txt. Αυτό το αρχείο που αποθηκεύεται στο honeypot περιέχει ένα µήνυµα χαιρετισµού το οποίο ενεργοποιείται κάθε φορά που συνδέεται κάποιος στον ftp server serverudaemon. Μέσα σε αυτό το µήνυµα χαιρετισµού, ο επιτιθέµενος µπορεί να βάλει παραµέτρους ώστε να πάρει κάποιες πληροφορίες, όπως για τον χρόνο που είναι on line το µηχάνηµα, την ταχύτητα µετάδοσης και λήψης δεδοµένων, τον διαθέσιµο χώρο στους δίσκους του µηχανήµατος και λοιπά. Σύµφωνα µε τους ASCII που µεταφέρθηκαν στην σύνδεση που άνοιξε για να µεταφερθεί το text αρχείο, το welcome silencer.txt θα είναι όπως αυτό που φαίνεται στην παρακάτω εικόνα Εικόνα welcome silencer.txt (στατιστικά στοιχεία) Τα ονόµατα που δόθηκαν στους υποκαταλόγους δηµιουργούν µια τελική µορφή, όπως αυτή που φαίνεται παρακάτω στην εικόνα

111 Εικόνα 3.18 Τελικό αποτέλεσµα δηµιουργίας υποκαταλόγων ύο πράγµατα µπορούν να τονιστούν σαν παρατηρήσεις από τις ftp εντολές που καταγράφηκαν σε αυτή τη σύνδεση. Πρέπει να επισηµανθεί ότι δε δόθηκαν µόνο εντολές δηµιουργίας καταλόγων αλλά και µετονοµασίας Η πρώτη παρατήρηση, λοιπόν, είναι ότι ο επιτιθέµενος χρησιµοποιεί ένα GUI ftp client εργαλείο που του επιτρέπει να κάνει drug and drop ολόκληρους καταλόγους, αν κρίνουµε από τον χρόνο που δηµιουργήθηκαν οι υποκατάλογοι. Και η δεύτερη παρατήρηση είναι ότι το honeypot µε την ελληνικής προέλευσης IP δεν είναι ο µόνος στόχος του επιτιθέµενου. Σίγουρα, µία τέτοια δοµή καταλόγων έχει δηµιουργηθεί για παρόµοια περίπτωση στην Αγγλία. Συγκεντρώνοντας τα αποτελέσµατα το σενάριο εδώ είναι το εξής: Ο επιτιθέµενος έχει παραβιάσει το honeypot, το έχει κάνει ftp server. Χρησιµοποιεί σαν ftp control πόρτα την Όµως, µεταφέρει αρχεία, από κάποιον άλλο υπολογιστή, όχι από αυτόν που έχει ανοίξει την ftp σύνδεση, ο οποίος βρίσκεται στο πανεπιστήµιο Αθηνών και, πιθανώς, να είναι ένα άλλο παραβιασµένου µηχάνηµα που έχει γίνει ftp server. Τελικά, ο επιτιθέµενος απ' ότι φαίνεται, παραβιάζει µηχανήµατα, τα ενεργοποιεί σαν ftp servers και µεταφέρει το υλικό του από τον ένα server στον άλλον. Αυτό το πρωτόκολλο που επιτρέπει την µεταφορά των αρχείων από τον ένα server στον άλλον λέγεται fxp ( Foreign Exchange Protocol)( Εικόνα ). Λίγα λόγια για αυτό µπορούν να βρεθούν στην ιστοσελίδα Ένα fxp 97

112 client εργαλείο που χρησιµοποιούν τέτοιου είδους επιτιθέµενοι, είναι το flasfxp( αλλά δεν είναι το µόνο fxp client εργαλείο, υπάρχουν και άλλα τέτοια tools για windows, όπως το IglooFTP PRO, SmartFTP, VoltoFXP Internet Exchange Rate Component και άλλα. Εικόνα fxp protocol Αναγνώριση του Exploit που χρησιµοποιήθηκε Ο κώδικας του exploit που εφαρµόστηκε, θα πρέπει πιθανόν να είναι το C πρόγραµµα που µπορεί να βρεθεί στην διεύθυνση: Εκτελώντας τον κώδικα του exploit από Visual Studio C++ 6.0, παράγεται ένα εκτελέσιµο αρχείο (.exe). Αν τρέξει το παραγόµενο exploit µε παράµετρο την IP ή το hostname του υπολογιστή που τρέχει τον ευπαθή SQL server shell:/> <όνοµα exploit>.exe <victim IP> Τότε, θα εφαρµοστεί buffer Overflow στην πόρτα 1433 του θύµατος και θα ενεργοποιηθεί η ρουτίνα xp_cmdshell περιµένοντας παράµετρο κάποια εντολή του λειτουργικού (Εικόνα 3.20). Εικόνα 3.20 Σύνδεση µε την κύρια βάση δεδοµένων 98

113 Επίλογος Ο στόχος του επιτιθέµενου πέτυχε! Όλη η επίθεση είχε αυτόν τον σκοπό. ηλαδή, την εύρεση ενός ευπαθούς µηχανήµατος για να γίνει fxp server που θα αποθηκευτεί warez υλικό. Το ελληνικό honeypot το οποίο ήταν ένα µηχάνηµα στο οποίο µπόρεσαν να αποκτήσουν µη εξουσιοδοτηµένη πρόσβαση, µετατράπηκε σε fxp server, και αφού πληρούσε την προϋπόθεση ταχείας γραµµής µετάδοσης δεδοµένων, ξεκίνησε η αποθήκευση του παράνοµου warez υλικού. Όλα αυτά τα στοιχεία που συλλέχτηκαν στο Honeynet και αναλύθηκαν µε τη βοήθεια του Wireshark είναι εξαιρετικά χρήσιµα για τον έλεγχο και την εκτίµηση τρωτότητας των Π.Σ. Επίσης, µπορεί να προσαρµόζεται η έρευνα ευπάθειας σε κάθε επιθυµητό Π.Σ και να ανταποκρίνεται πάντα στα τρέχοντα δεδοµένα ασφάλειας,αφού ο έλεγχος τρωτότητας γίνεται από τους πιο κατάλληλους ελεγκτές ασφάλειας, τους επιτιθέµενους blackhats. 99

114 ΚΕΦΑΛΑΙΟ 4 ΠΑΡΟΥΣΙΑΣΗ & ΑΞΙΟΛΟΓΗΣΗ ΕΡΓΑΛΕΙΟΥ NESSUS ΜΕ ΕΦΑΡΜΟΓΗ ΑΥΤΟΥ ΣΤΟ ΣΥΣΤΗΜΑ ΕΣΤΙΑ 4.1. Εισαγωγή Σε αυτό το κεφάλαιο παρουσιάζεται το εργαλείο Nessus που είναι ένα από τα πιο διαδεδοµένα vulnerability scanner µε πάνω από 75,000 οργανισµούς παγκόσµιος να το εµπιστεύονται.επίσης σηµαντικό είναι ότι έρχεται πρώτο στην έρευνα περί εργαλείων ασφάλειας κατά τα έτη 2000, 2003, 2006 που διεξήχθη από την αξιόπιστη SecTools.Org. (www.wikipedia.org). Στη συνέχεια επεκτείνεται η αξιολόγηση του Nessus µε την παρουσίαση και ανάλυση του συστήµατος ΕΣΤΙΑ που είναι µία ολοκληρωµένη πλατφόρµα αποµακρυσµένου ελέγχου ασφάλειας υπολογιστών και παροχής προστασίας στο ιαδίκτυο ανεπτυγµένη από την FORTH και Virtual Trip,του οποίου συστήµατος ο κεντρικός άξονας είναι φυσικά το Nessus Εισαγωγή στο Nessus Το Nessus είναι ένας δωρεάν ελεγκτής τρωτοτήτων που µπορεί να χρησιµοποιηθεί, ώστε να εκτελέσει µια πλειάδα από δικτυακού εύρους ελέγχους ασφάλειας µειώνοντας σηµαντικά το χρόνο που σπαταλιέται κατά τη διάρκεια ενός ελέγχου διείσδυσης µε χειροκίνητους (manual) ελέγχους. Η Tenable Network Security,Inc., είναι η δηµιουργός και διαχειριστής του Nessus όπου µε µόνιµη πρόθεση τη βελτίωση της Nessus µηχανής εκδίδει τα περισσότερα plug-ins τα οποία παρέχουν τη δυνατότητα για τους πιο σύγχρονους ελέγχους τρωτότητας.η άµεση και απευθείας τροφοδοσία µε τα τελευταία plug-ins κάθε φορά µέσω της direct feed υπηρεσίας χρεώνεται ενώ εντελώς δωρεάν παρέχονται µε επτά ηµέρες καθυστέρηση. 100

115 4.3. Nessus Αρχιτεκτονική Η Nessus Security Scanner δοµή είναι βασισµένη στην πελάτης-διακοµιστής (client-server) αρχιτεκτονική. Γενικά το µοντέλο πελάτης-διακοµιστής λογισµικό διαχωρίζει τα συστήµατα πελάτη από τα συστήµατα διακοµιστή, τα οποία επικοινωνούν µεταξύ τους µέσω ενός δικτύου πληροφοριακών συστηµάτων. Μία πελάτης-διακοµιστής εφαρµογή είναι ένα κατανεµηµένο σύστηµα αποτελούµενο από πελάτη και από λογισµικό διακοµιστή. Μια διεργασία πελάτης µπορεί να εκκινήσει µία σύνοδο επικοινωνίας, ενώ ο διακοµιστής περιµένει για αιτήµατα από οποιοδήποτε διακοµιστή του. Συγκεκριµένα, ο Nessus πελάτης διαµορφώνει τις κατάλληλες επιλογές και παραµέτρους των ελέγχων τρωτότητας για τους πολυποίκιλους στόχους και δίνει αναφορά των αποτελεσµάτων της έρευνας στον χρήστη. Ο Nessus διακοµιστής,nessusd, ουσιαστικά είναι ο υπεύθυνος που πραγµατοποιεί όλους τους ελέγχους τρωτότητας και ασφάλειας οι οποίοι είναι εγκατεστηµένοι ως plug-ins γραµµένοι στην γλώσσα Nessus Attack Scripting Language (NASL). Μπορεί να γραφτούν και σε C γλώσσα προγραµµατισµού κάτι που όµως πρέπει να αποφεύγεται, γιατί προκύπτουν συχνά πολλά προβλήµατα συµβατότητας κάνοντας έτσι την NASL απαραίτητο και κυρίαρχο σύµµαχο του Nessus, αφού άλλωστε είναι η γλώσσα που φτιάχτηκε, για να διευκολύνει τον Nessus χρήστη να προσαρµόζει τους ελέγχους του για κάθε ιδιαίτερη πρόκληση. Ο Nessus διακοµιστής περιµένει για εισερχόµενες αιτήσεις από τους Nessus πελάτες που επιθυµούν να πραγµατοποιήσουν συγκεκριµένους ελέγχους. Οι πελάτες πρέπει να αναγνωρίζονται πρώτα και να αδειοδοτούνται από τον Server, πριν επιτραπεί να πραγµατοποιηθούν οι έλεγχοι τρωτότητας. Αυτή η αρχιτεκτονική διευκολύνει την κεντρική διαχείριση των Nessus εγκαταστάσεων. Όλη η επικοινωνία µεταξύ πελάτη και διακοµιστή πραγµατοποιείται µέσω µίας αποκρυπτογραφηµένης σύνδεσης TLS (Transport Layer Security). Στο υψηλότερο επίπεδο το Nessus µπορεί να τρέξει µε δύο τρόπους: µε ή χωρίς διαπιστευτήρια αυθεντικοποίησης. Όταν τρέχει χωρίς διαπιστευτήρια, το Nessus εκτελεί αποµακρυσµένους Web-based ελέγχους ασφάλειας,ελέγχοντας πώς ανταποκρίνεται ο στόχος (host) σε συγκεκριµένες δικτυακές εξετάσεις. Από την άλλη, όταν τρέχει µε διαπιστευτήρια, επιπροσθέτως, αποκτά πρόσβαση στον αποµακρυσµένο host και πραγµατοποιεί µια σειρά από τοπικούς ελέγχους ασφαλείας 101

116 ,όπως η επιβεβαίωση ότι είναι ενηµερωµένος ο host µε τις πιο τελευταίες ενηµερώσεις και επιδιορθώσεις λογισµικού. 4.4 Απαιτήσεις Συστήµατος Για να εξετάσει ένας Nessus διακοµιστής ένα συγκρότηµα δικτύου C κατηγορίας,που σηµαίνει ότι είναι πιθανά 2,080,800 διευθύνσεις (δίκτυα) καθένα από τα οποία υποστηρίζει 254 computers (hosts),οι ελάχιστες απαιτήσεις είναι µία διάταξη ενός Pentium 3 ή Power PC G4 επεξεργαστή που τρέχει στα 733 MHz µε 256ΜΒ µνήµης. Για µεγαλύτερης έκτασης έρευνες το 1GB µνήµης πρέπει να είναι διαθέσιµο. Ακόµα για τον Nessus διακοµιστή απαιτούνται δικαιώµατα διαχειριστή ή root, για να εγκατασταθεί σε οποιαδήποτε πλατφόρµα.επίσης, απαραίτητη κρίνεται µία καλή TCP/IP σύνδεση δικτύου και για ακόµα καλύτερα αποτελέσµατα να είναι απαλλαγµένη από host-based firewalls, NAT(Network Address Translations) και ACLs (Access Control Lists) σε router. Κάλλιστα, µπορεί να εγκατασταθεί το Nessus σε µια εικονική µηχανή (virtual machine) σαν την VMWare που ήταν ένα υπερπολύτιµο εργαλείο κατά τη διάρκεια ολοκλήρωσης αυτής της εργασίας. Μπορεί,όµως,να µειωθεί η απόδοση της δικτυακής ανάλυσης και για αυτό πρέπει να διασφαλίζεται ότι η εικονική µηχανή είναι απευθείας συνδεδεµένη στο δίκτυο και δεν υπόκειται σε NAT ιαµόρφωση επιλογών και βασικές λειτουργίες ελέγχου τρωτότητας Η εξ ορισµού διαµόρφωση λειτουργίας του Nessus πιθανότατα δεν ταιριάζει σε όλες τις περιπτώσεις. Για αυτό τον λόγο,το Nessus υποστηρίζει ένα µεγάλο αριθµό επιλογών που επιτρέπουν την απόλυτη προσαρµογή στην εκάστοτε περίπτωση. ιάφορες διαµορφώσιµες επιλογές είναι: υνατότητα εκτελέσεων κι από µικρότερα συστήµατα όπως τα Laptop Ακριβής διαµόρφωση ελέγχου ασφάλειας στόχων πίσω από τείχη πυρασφάλειας (µε ενδεχόµενη αργοπορία ). Ανίχνευση εκλεπτυσµένων συστηµάτων χωρίς την χρήση ηχηρών και βίαιων διεισδύσεων. 102

117 Γενικά, οι διαµορφώσιµες επιλογές του Nessus Server βρίσκονται στο αρχείο nessusd.conf,στα Unix-based συστήµατα,το οποίο µπορεί και διαµορφώνεται σε κάθε περίπτωση σε ζωντανό χρόνο από τον Nessus πελάτη.. Όταν είναι σε λειτουργία ένας Nessus πελάτης, πολλές από τις επιλογές δεν είναι διαθέσιµες έως ότου συνδεθεί µε τον διακοµιστή. Η εικόνα 4.1 δείχνει τον NessusClient 3,δηλαδή, την πιο πρόσφατη έκδο&sig