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

Μέγεθος: 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 µε τον εξής τρόπο: ( 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 είναι διαθέσιµο για ελεύθερη µεταφόρτωση και έρχεται επίσης µε τον πλήρη κώδικα πηγής που µπορεί να τροποποιηθεί και να ανακατανεµηθεί υπό τους όρους άδειας. [ Καλά τεκµηριωµένο: Σηµαντική προσπάθεια έχει τεθεί στη διάθεση περιεκτικών και συνεχώς ενηµερωµένων βοηθηµάτων, εργασιών, εγχειριδίων σε πολλές γλώσσες ( Υποστηριζόµενο: Ενώ Nmap έρχεται χωρίς εξουσιοδοτηµένη εγγύηση, υποστηρίζεται καλά από µια ενεργή κοινότητα προγραµµατιστών και χρηστών. Το µεγαλύτερο µέρος αυτής της αλληλεπίδρασης συµβαίνει µε ηλεκτρονικά µηνύµατα µεταξύ αυτών που ενδιαφέρονται στο να συµβάλουν µε δικές τους ιδέες προγραµµατίζοντας, ελέγχοντας και θέτοντας προτάσεις για το µέλλον. Επευφηµηµένο: Το Nmap έχει κερδίσει πολυάριθµα βραβεία, συµπεριλαµβανοµένου "του προϊόντος ασφάλειας πληροφοριών του έτους" από το περιοδικό Linux, το Info World και το Codetalker Digest. Έχει προβληθεί σε εκατοντάδες άρθρα περιοδικών, διάφορων ταινιών και σε πλήθος βιβλίων. ηµοφιλές: Χιλιάδες άνθρωποι µεταφορτώνουν το Nmap κάθε ηµέρα. Επίσης συµπεριλαµβάνεται σε πολλά λειτουργικά συστήµατα όπως στα Redhat Linux, Debian Linux, Gentoo, FreeBSD και OpenBSD. Είναι µεταξύ των κορυφαίων δέκα (από 30,000) προγράµµατα στην αποθήκη δικτύου Freshmeat(freshmeat.net). Αυτό είναι σηµαντικό, επειδή δίνεται βήµα στο Nmap µπροστά στις ενεργές κοινότητες χρηστών και προγραµµατιστών ανάπτυξης εφαρµογών δηµιουργώντας έτσι µία εποικοδοµητική αλληλεπίδραση µεταξύ τους. ( Τα βασικά γνωρίσµατα του 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 ( Από την σκοπιά της καθαρά φυσικής παρουσίας του 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 µπορεί να εντοπιστεί ευκολα. ( Τα πακέτα δεδοµένων, λοιπόν, στο φίλτρο σύλληψης πρέπει να αναλύονται άµεσα, ώστε να διαπιστωθεί αν ικανοποιούν τις παραµέτρους διαλογής του χρήστη. Αν όµως η ανάλυση ενός πακέτου πάρει πολύ χρόνο, το λειτουργικό σύστηµα δε θα προλάβει να επεξεργαστεί και την επόµενη σειρά πακέτων και για αυτό τα απορρίπτει. Για να ξεπεραστεί αυτή η αδυναµία αλλά και για να διευρυνθούν οι επιλογές δικτυακής ανάλυσης, έχουν εισαχθεί στην εφαρµογή τα φίλτρα απεικόνισης 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 ftp@$domain.\r" ;; <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 ( ) ανακαλύπτει κανείς ότι υπάρχει ένα 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 ( Συνοπτικά, αυτό είναι µια 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. ( Στη συνέχεια επεκτείνεται η αξιολόγηση του 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,δηλαδή, την πιο πρόσφατη έκδοση για την χρονική περίοδο συγγραφής αυτής της εργασίας. Εικόνα 4.1. NesusClient3 Παρόλο που κάθε έκδοση Nessus πελάτη (NessusClient3, NessusClient1, NessusClientWX) έχει διαφορετική διεπαφή, όλες παρέχουν τρία κύρια σηµεία πληροφοριών, ώστε να συνδέονται σε ένα Nessus διακοµιστή και να πραγµατοποιούν τον έλεγχο τρωτότητας. Αυτά τα τρία κύρια µέρη είναι πλαισιωµένα στην εικόνα 4.1 και αναλύονται παρακάτω : Οι λεπτοµέρειες ΙΡ διεύθυνσης και επικύρωσης του Nessus διακοµιστή που θα χρησιµοποιείται κατά τη διάρκεια του ελέγχου τρωτότητας (Connect ). Εξ ορισµού ο Nessus διακοµιστής ακούει στην TCP θύρα Οι δικτυακές διευθύνσεις στόχοι ή τα τερµατικά προς εξέταση (Network(s) to scan). Κάθε πελάτης έχει αρκετούς τρόπους να καθορίσει το τερµατικό που στοχεύει περιλαµβάνοντας hostnames ή IP διευθύνσεις, φάσµατα δικτυακών 103

118 διευθύνσεων ή µε την εισαγωγή αρχείων που καθορίζουν σε κάθε τους γραµµή ξεχωριστά τερµατικά προς εξέταση. Ο καθορισµός των πολιτικών και µεθόδων ελέγχου που θα εκτελεστούν (scan policy) περιλαµβάνοντας γενικές προτιµήσεις, plug-in επιλογές και λεπτοµέρειες διαπιστευτηρίων αυθεντικοποίησης (αν είναι διαθέσιµες). Ειδικότερα για το τρίτο µέρος οι εξορισµού ρυθµισµένες προτιµήσεις τρόπου και µεθόδων ελέγχου τρωτότητας είναι οι ακόλουθες και φαίνονται επιλεγµένες στην εικόνα 4.2 στη συνέχεια. Ασφαλείς έλεγχοι Ένας αριθµός από Nessus plug-ins πραγµατοποιεί διεισδυτικούς ελέγχους επιβεβαιώνοντας την ύπαρξη παραπάνω τρωτοτήτων, επιφέροντας όµως σε κάποιες περιπτώσεις προβλήµατα DoS επιθέσεων (Denial-of-Service attacks). Η safe check επιλογή,αφού ενεργοποιηθεί, διαβεβαιώνει τον χρήστη ότι αυτές οι βίαιες ενέργειες είναι απενεργοποιηµένες ή ότι τρέχουν µε πιο ήπιο τρόπο θέτοντας συγκεκριµένες ενέργειες ελέγχου µέσα στα plug-ins εκτός. Ένα πλήθος από plug-ins µπορεί να αναφέρει αποτελέσµατα βασισµένα σε banners ή άλλες απαριθµηµένες πληροφορίες, όταν η επιλογή ασφαλείς έλεγχοι ενεργοποιηθεί,η οποία µπορεί να εισάγει λανθασµένες ειδοποιήσεις ή λάθη αναφοράς, καθώς το banner grapping είναι εγγενώς λιγότερο αξιόπιστο από τους πλήρεις ελέγχους. Γενικά προς αποφυγή απρόοπτων προτείνεται να απενεργοποιείται η επιλογή αυτή µόνο στις περιπτώσεις όπου ο χρήστης έχει ενεργοποιήσει συγκεκριµένα plug-ins που γνωρίζει. Nessus TCP scanner Οι Unix-based Nessus διακοµιστές χρησιµοποιούν το Nessus TCP scanner εξορισµού. Οι Windows Nessus διακοµιστές χρησιµοποιούν το Nessus SYN scanner, καθώς o TCP scanner δεν είναι διαθέσιµος στα Windows συστήµατα λόγω περιορισµών στις TCP/IP στοίβες. Σε κάθε περίπτωση, προκύπτουν γρήγορα και αξιόπιστα αποτελέσµατα. Στην περίπτωση που στο σύστηµα του Nessus server έχουµε εισαγάγει και το Nmap (βλ. Κεφάλαιο 2) και αυτό αναγνωρίζεται σαν port scanner αλλά υπάρχει ενδεχόµενο να µειωθεί σηµαντικά ο χρόνος ανίχνευσης. 104

119 Ping αποµακρυσµένου τερµατικού Εξ ορισµού έχει παραµετροποιηθεί το Nessus να πραγµατοποιεί αποµακρυσµένους ping ελέγχους στα τερµατικά χρησιµοποιώντας ένα συνδυασµό από ICMP και TCP αιτήµατα(ping the remote host). Εάν ένας host δεν ανταποκριθεί (ίσως λόγω τειχών που δεν επιτρέπουν ανταποκρίσεις στην στοχευόµενη θύρα ), κανένας περαιτέρω έλεγχος δε θα επιχειρηθεί. Σε περιπτώσεις που το Nessus απευθύνεται σε περιβάλλοντα ισχυρά θωρακισµένα µε τείχη,αυτή η επιλογή θα πρέπει να απενεργοποιείται,ώστε να προκύπτουν πιο έγκυρα και σταθερά αποτελέσµατα. Σε αυτή την περίπτωση,όµως, αξίζει να σηµειωθεί ότι είναι πιθανό να µειωθεί αισθητά ο χρόνος ολοκλήρωσης της σάρωσης. Οι TCP θύρες που ανιχνεύει εξορισµού το Nessus στην Ping διαδικασία είναι οι : 21, 22, 23, 53, 79, 80, 111, 113, 135, 139, 161, 443, 497, 515, 548, 993, 1025, 1028, 1029, 1917, 5000, 6000, 8080, 9001, 9100 και η Αριθµός παράλληλων τερµατικών και ελέγχων Ο µέγιστος αριθµός των νηµάτων εκτέλεσης (threads) που χρησιµοποιούνται από το Nessus διακοµιστή, και όθεν του ποσοστού της µνήµης και του δικτυακού εύρους ζώνης που καταναλώνονται,είναι ο αριθµός των τερµατικών πολλαπλασιασµένος µε τον αριθµό των ελέγχων. Εάν εφαρµόζεται το Nessus σε ένα πληροφοριακό σύστηµα µε περιορισµένη µνήµη και εύρος ζώνης ένας τρόπος βελτιστοποίησης των αποτελεσµάτων είναι να δοκιµαστούν διάφορες αυξοµειώσεις σε αυτά τα πεδία εισαγωγής αριθµού παράλληλων τερµατικών και ελέγχων, ώστε να καταλήξει ο χρήστης στον βέλτιστο συνδυασµό για το εκάστοτε σύστηµα. Μολοταύτα, η Tenable προτείνει,αρχικά, είκοσι παράλληλα τερµατικά για Unixbased διακοµιστές και δέκα για Windows-based servers µε τρείς ή τέσσερις παράλληλους ελέγχους. 105

120 Εικόνα 4.2. Προεπιλεγµένες ρυθµίσεις του Nessus πελάτη Plug-in επιλογές Στην εικόνα 4.2 φαίνεται,επίσης, η δυνατότητα επιλογής της τέταρτης καρτέλας Plugin Selection η οποία επιτρέπει στον χρήστη να ενεργοποιεί και να απενεργοποιεί συγκεκριµένα plug-ins. Απολύτως βασικό πεδίο επιλογής σε αυτή τη καρτέλα είναι η ενεργοποίηση ή απενεργοποίηση εξαρτήσεων µεταξύ των plug-ins κατά τη διάρκεια της εκτέλεσης (Enable dependencies at runtime).ένας αριθµός από Nessus plug-ins εξαρτώνται από τις πληροφορίες που συλλέγονται από άλλα plug-ins. Plug-ins, λοιπόν, καταµέτρησης και συλλογής πληροφοριών σώζουν πληροφορίες κάποιων τερµατικών δηµιουργώντας έτσι µια βάση γνώσης για τη µηχανή στόχο. Για παράδειγµα, όταν ένας HTTP διακοµιστής ανιχνεύεται σε µία θύρα πέρα των προκαθορισµένων,τα plug-ins που θα ελέγξουν για θέµατα ασφάλειας των HTTP διακοµιστών θα κινηθούν ενάντια σε αυτή τη θύρα. Εποµένως, εάν πρόκειται να εκτελεστούν συγκεκριµένοι έλεγχοι ασφάλειας,αυτή η επιλογή πρέπει να ενεργοποιηθεί,αλλιώς κάποιοι έλεγχοι ασφάλειας δεν θα λειτουργήσουν αναµενόµενα. Παράλληλα, υπάρχει και η άλλη βασική επιλογή των βουβών εξαρτήσεων (Silent Dependencies). Εάν επιλεγεί, αυτή η επιλογή καταστέλλει την έξοδο των αποτελεσµάτων από τα plug-ins που ήταν ενεργοποιηµένα ως εξαρτήσεις. Για 106

121 παράδειγµα είναι, χρήσιµο σε περιπτώσεις που ο χρήστης θέλει να αποσιωπήσει εξαρτήσεις που δεν ενεργοποίησε συγκεκριµένα ο ίδιος. Προχωρηµένες επιλογές του NessusClien3 Oι προχωρηµένες επιλογές εµφανίζονται στον χρήστη, εάν επιλεγεί η τελευταία καρτέλα (Advanced Options) που φαίνεται στην εικόνα 2, οι οποίες επιλογές δίνουν την δυνατότητα διευθέτησης καθολικών ρυθµίσεων και συγκεκριµένων plug-in επιλογών, όπως αναλύονται παρακάτω. Ενεργοποίηση CGI σάρωσης Αυτή η επιλογή (Enable CGI scanning) ενεργοποιεί έναν αριθµό από plug-in για ελέγχους web εφαρµογών και υπηρεσιών που αναγνωρίζονται από το Nessus. Ανάλογα µε το εκάστοτε σύνολο ρυθµίσεων που είναι εν ενεργεία, όπως εύρεση αντικατοπτριζόµενων (mirroring) website, αυτή η επιλογή µπορεί να βελτιώσει σηµαντικά τον χρόνο ολοκλήρωσης µίας σάρωσης. Κάλλιστα µπορεί να χρησιµοποιείται αυτή η επιλογή προς εύρεση άγνωστων XSS (cross-site scripting) τρωτοτήτων που ανιχνεύονται σε web εφαρµογές και επιτρέπουν διείσδυση κακόβουλου κώδικα µέσα στους HTML και client-side κώδικες των ιστοσελίδων, παρακάµπτοντας έτσι ελέγχους πρόσβασης.τέτοιου είδους τρωτότητες χρησιµοποιούνται στις phishing επιθέσεις και τα exploits των φυλλοµετρητών. Για να επισηµανθεί η αξία αυτής της δυνατότητας του Nessus, αξίζει να σηµειωθεί ότι για το 2007 µέσω του cross-site scripting πραγµατοποιήθηκαν σχεδόν το 80% των επιθέσεων σε websites (Symantec Corp.,2008). Συνήθως,κατά τη διάρκεια των επιθέσεων όλα µοιάζουν φυσιολογικά στον τελικό χρήστη ο οποίος, όµως, µπορεί να εκτεθεί σε ανεξουσιοδότητη πρόσβαση και κλοπή ευαίσθητων προσωπικών δεδοµένων µε οικονοµικές απώλειες. (Jeremiah Hansen, Seth Fogie, Petko D. Petkov and Anton Rager 2007). Ενδελεχής έλεγχοι Ο ενδελεχής έλεγχος (thorough tests) είναι εξορισµού απενεργοποιηµένος από το Nessus. Όταν ενεργοποιήσει όµως ο χρήστης αυτήν την επιλογή οι έλεγχοι ασφάλειας συνεργαζόµενοι µε την λειτουργία αυτής της επιλογής εκτελούν ένα πιο εξονυχιστικό σύνολο από ελέγχους. Σε βάρος όλης αυτής της επιθυµητής ακρίβειας η ταχύτητα σάρωσης θα µειωθεί αισθητά. 107

122 Προσαρµογή ελέγχων Ενεργοποιηµένη αυτή η επιλογή εξορισµού,η προσαρµογή ελέγχου (Optimize test) αποπειράται να εκτελέσει αυτά τα plug-ins τα οποία είναι τα σχετικότερα µε το διακοµιστή που πρόκειται να εξεταστεί.για παράδειγµα, όπου ένα banner έχει ανιχνευθεί να αναγνωρίζει µια υπηρεσία, το Nessus θα εκτελέσει ελέγχους µόνο για την συγκεκριµένη υπηρεσία προσανατολισµένο στη αντίστοιχη θύρα. Αυτό επιταχύνει την διαδικασία αρκετά µε πιθανή απώλεια όµως µιας πιο σφαιρικής εικόνας της σάρωσης. Έχοντας λοιπόν προσαρµόσει τις επιλογές ελέγχου κατάλληλα µπορεί ο χρήστης να αρχίσει την σάρωση και έλεγχο των στόχων του. Θα ανιχνευθούν τόσα τερµατικά παράλληλα, όσοι έχουν καθοριστεί από την αντίστοιχη επιλογή που αναλύθηκε παραπάνω. Σε προγενέστερους Nessus πελάτες τα αποτελέσµατα των ελέγχων ασφάλειας ανακοινώνονταν στον χρήστη µόνο, αφού είχε ολοκληρωθεί η διαδικασία εξέτασης εντελώς. Ωστόσο, µε τον NessusClient 3 υπάρχει η δυνατότητα θέασης των αποτελεσµάτων και κατά τον χρόνο που η διαδικασία ελέγχου τρωτότητας είναι σε εξέλιξη µε τα στοιχεία υψηλής επικινδυνότητας (ρήγµατα ασφάλειας και προειδοποιήσεις κινδύνου) να είναι εντονότερα φωτισµένα σε διάφορα χρώµατα Παρουσίαση αποτελεσµάτων σφοδρότητας: Τα Nessus κατηγοριοποιεί τα ευρήµατα του σε τρείς κατηγορίες 1. Ρήγµατα ασφάλειας (security holes) 2. Προειδοποιήσεις κινδύνου ασφάλειας (security warnings) 3. Πληροφορίες περί ασφάλειας (security info). Οι πιο σηµαντικές προειδοποιήσεις αφορούν στα ρήγµατα ασφάλειας, όπου συχνά πρόκειται για υπηρεσίες και συστήµατα που δεν έχουν επιδιορθωθεί και ενηµερωθεί όπως προβλέπεται (outdated), ή που αποτελούν πρόσφορο έδαφος για κακόβουλη εκµετάλλευση. Κρίσιµες πληροφορίες για περαιτέρω ελέγχους, συχνά, κατηγοριοποιούνται ως προειδοποιήσεις κινδύνου ασφάλειας ή ως πληροφορίες περί 108

123 ασφάλειας. Εποµένως,πολλές φορές, είναι πολύτιµο ο χρήστης να ενηµερώνεται και να λαµβάνει υπόψη του όλες τις κατηγορίες αποτελεσµάτων. Η εικόνα 4.3 δείχνει ένα ολοκληρωµένο έλεγχο. Χρήσιµο για τον διαχειριστή ασφάλειας,επίσης, είναι να διασαφηνιστεί ο µηχανισµός δηµιουργίας των αποτελεσµάτων. Κάθε ανακάλυψη από το Nessus προκύπτει από ένα plug-in που εφαρµόζει τον αντίστοιχο έλεγχο τρωτότητας. Επίσης, κάθε µεµονωµένο αποτέλεσµα έχει ένα µοναδικό και διαφορετικό Nessus Plug-in ID που αποτελεί ουσιαστικά την αναγνωριστική ταυτότητα κάθε αναφερόµενου αποτελέσµατος και το οποίο µαρτυράει από ποιο plug-in προήρθε. Η Tenable διαθέτει µία ιστοσελίδα που περιγράφει κάθε plug-in σε βάθος και παραπέµπει σε εξαιρετικούς τόπους επιπλέον πληροφόρησης,όπως το αρχειοφυλάκιο BugTraq,οι FullDisclosure καταχωρήσεις,οι SecurityFocus περιγραφές τρωτοτήτων και συχνά διατίθενται υπερσυνδέσεις στον NASL, πηγαίο κώδικα για κάθε plug-in. Μπορούν να αξιοποιηθούν αυτοί οι πόροι για την πλήρη κατανόηση του τρόπου λειτουργίας αναγνώρισης ενός προβλήµατος και πιθανότατα πως θα µπορούσε να αντιµετωπιστεί µια τέτοια πρόκληση. Οι Nessus πελάτες υποστηρίζουν έναν πλήθος διαµορφώσεων και τρόπων παρουσίασης αναφορών των αποτελεσµάτων. Οι περισσότεροι πελάτες υποστηρίζουν την ικανότητα της εξαγωγής των αποτελεσµάτων σε φιλική προς τον χρήστη HTML µορφή αλλά παρέχουν και µία ή περισσότερες αµιγώς Nessus µορφές, όπως η NBE ή η παλαιότερη NSR διαπροσωπία. Κάποιοι πελάτες,επίσης, υποστηρίζουν την δυνατότητα να εξαχθούν αποτελέσµατα σε XML, PDF, LaTex ή σε βάσεις δεδοµένων,όπως, επίσης παρέχουν λειτουργίες σύγκρισης αποτελεσµάτων, ώστε να προκύπτουν χρήσιµα συµπεράσµατα από την αντιπαράθεση δύο ή παραπάνω αναφορών. 109

124 Εικόνα 4.3. NessusClient 3 ολοκληρωµένος έλεγχος Μελέτη περίπτωσης ΕΣΤΙA Σχεδιασµός συστήµατος Στις παραγράφους που ακολουθούν παρουσιάζεται ο γενικός σχεδιασµός του συστήµατος ΕΣΤΙΑ. Ο στόχος του συστήµατος ΕΣΤΙΑ είναι η δηµιουργία µίας αυτόµατης υπηρεσίας ελέγχου και βελτίωσης της ασφάλειας των προσωπικών υπολογιστών. Η υπηρεσία αυτή θα προσφέρεται µέσα από το ιαδίκτυο δίνοντας την δυνατότητα στον απλό χρήστη να ελέγξει και να βελτιώσει την ασφάλεια του υπολογιστή του, αποκτώντας εµπιστοσύνη απέναντι στο µηχάνηµά του ειδικότερα και στο ιαδίκτυο γενικότερα. Πέρα από τους χρήστες που χρησιµοποιούν οικιακούς υπολογιστές, το σύστηµα σκοπεύει να παρέχει υπηρεσίες και σε µικροµεσαίες επιχειρήσεις που 110

125 θέλουν να ελέγξουν και να βελτιώσουν την ασφάλεια των υπολογιστών που χρησιµοποιούν. Οι µικροµεσαίες επιχειρήσεις λόγω του µικρού τους µεγέθους δεν απασχολούν εξειδικευµένο προσωπικό πληροφορικής, εποµένως, είναι ευάλωτες σε επιθέσεις από το διαδίκτυο. Τα αποτελέσµατα µίας τέτοιας επίθεσης µπορεί να είναι καταστροφικά για την επιχείρηση η οποία µπορεί να χάσει όλα τα αρχεία της και, εποµένως, τις δοσοληψίες µε τους πελάτες της. Ο σχεδιασµός γίνεται σε επίπεδο υποσυστηµάτων και περιγράφεται η λειτουργικότητα που παρέχει το κάθε υποσύστηµα. Λεπτοµέρειες για τον σχεδιασµό του κάθε υποσυστήµατος χωριστά παρουσιάζονται σε επόµενη ενότητα. Ο σχεδιασµός του συστήµατος ΕΣΤΙΑ θα πρέπει να επιτρέπει την κλιµάκωση του συστήµατος, ώστε αυτό να µπορεί να καλύψει τις ανάγκες µεγάλου αριθµού χρηστών. Για να επιτευχθεί αυτό, θα πρέπει να αναγνωριστούν ποια από τα υποσυστήµατα του ενδέχεται να δράσουν ως ανασχετικοί παράγοντες (bottleneck) στη συνολική λειτουργία του συστήµατος. Αφού αναγνωριστούν τα υποσυστήµατα αυτά, θα πρέπει να σχεδιαστούν / επανασχεδιαστούν, ώστε να λειτουργούν πιο αποτελεσµατικά ή/και να έχουν τη δυνατότητα να κλιµακωθούν ανάλογα µε τις ανάγκες όλου του συστήµατος. Ο σχεδιασµός του συστήµατος ΕΣΤΙΑ φαίνεται στο Σχήµα 1. Εικόνα 4.4. Σχεδιασµός του συστήµατος ΕΣΤΙΑ Παρουσίαση υποσυστηµάτων συστήµατος 111

126 Ελεγχόµενος Υπολογιστής Πρόκειται για τον υπολογιστή του οποίου η ασφάλεια πρέπει να ελεγχθεί. Ο υπολογιστής αυτός µπορεί να ταυτίζεται µε τον υπολογιστή του χρήστη (βλέπε 1.2παρακάτω).Επίσης, µπορεί να υπάρχουν παραπάνω από ένας ελεγχόµενοι υπολογιστές. Ιδανικά, ο υπολογιστής αυτός θα πρέπει να έχει απευθείας πρόσβαση στο διαδίκτυο. ηλαδή, δεν θα βρίσκεται πίσω από ΝΑΤ, Firewall ή κάποιο άλλο σύστήµα που περιορίζει την πρόσβαση του υπολογιστή στο διαδίκτυο. Σε αυτήν την περίπτωση, δε χρειάζονται επιπλέον ενέργειες από το χρήστη του συστήµατος για τον έλεγχο του. Σε αντίθετη περίπτωση, όπου ο ελεγχόµενος υπολογιστής (Σχήµα 1 δεξιά κάτω) έχει περιορισµένη πρόσβαση στο παράδειγµα (Σχήµα 1) βρίσκεται πίσω από το κόκκινο firewall, απαιτείται η συνεργασία του χρήστη, για να ξεπεραστούν οι φραγµοί που υπάρχουν στην επικοινωνία. Υπολογιστής Χρήστη Πρόκειται για τον υπολογιστή στο Σχήµα 1 πάνω δεξιά, τον οποίο χρησιµοποιεί ο χρήστης του συστήµατος, για να έχει πρόσβαση σε αυτό. Στα περισσότερα σενάρια χρήσης ταυτίζεται µε τον Ελεγχόµενο Υπολογιστή. Η πρόσβαση στο σύστηµα ΕΣΤΙΑ γίνεται διαµέσου του Παγκόσµιου Ιστού (World Wide Web - WWW) µε τη χρήση κάποιου ήδη εγκατεστηµένου φυλλοµετρητή (web browser). Στην περίπτωση που η πρόσβαση στο διαδίκτυο του Ελεγχόµενου Υπολογιστή είναι περιορισµένη από κάποιο firewall ή και ανύπαρκτη, ο Υπολογιστής Χρήστη χρησιµοποιείται σαν ενδιάµεσος, για να γίνει ο έλεγχος. Σε τέτοιες περιπτώσεις, ο χρήστης θα πρέπει να έχει πρόσβαση στον υπολογιστή του µε πλήρη δικαιώµατα. Portal Server Ο Portal Server φιλοξενεί την πύλη του συστήµατος ΕΣΤΙΑ, την οποία προσπελαύνει ο χρήστης δια µέσου του web browser του. Η πύλη παρέχει στον χρήστη τη δυνατότητα να ξεκινήσει ένα νέο έλεγχο, να παρακολουθήσει την πρόοδο του καθώς και να ανακτήσει τα αποτελέσµατα παλαιότερων ελέγχων. Όπως φαίνεται και στο Σχήµα 1, ο Portal Server αποτελεί κοµβικό σηµείο για το σύστηµα ΕΣΤΙΑ. 112

127 Η αλληλεπίδραση του Portal Server µε τα υπόλοιπα υποσυστήµατα γίνεται ως εξής: Αφού λάβει µια αίτηση ελέγχου από τον χρήστη, ο Portal Server την προωθεί στον Auth Server, για να ελέγξει αν ο χρήστης δικαιούται να κάνει τον έλεγχο που ζήτησε. Ο Auth Server περιγράφεται παρακάτω. Αν ο Auth Server απαντήσει θετικά και ο Ελεγχόµενος Υπολογιστής έχει περιορισµένη πρόσβαση στο διαδίκτυο, τότε ο Portal Server επικοινωνεί µε τον VPN Router. Ο VPN Router θα δηµιουργήσει µια δίοδο επικοινωνίας µεταξύ του Ελεγχόµενου Υπολογιστή και του συστήµατος ΕΣΤΙΑ, ώστε να µπορέσει να γίνει ο έλεγχος. Η δηµιουργία της διόδου επικοινωνίας απαιτεί τη συνεργασία του χρήστη. Ο VPN Router περιγράφεται παρακάτω. Αφού οι τυχόν περιορισµοί στην επικοινωνία µε τον Ελεγχόµενο Υπολογιστή έχουν ξεπεραστεί, ο Portal Server προωθεί την αίτηση ελέγχου στο Nessus Host. Ο Nessus Host θα πραγµατοποιήσει τον έλεγχο ασφαλείας και θα επιστρέψει τα αποτελέσµατα στον Portal Server. Ο Nessus Server περιγράφεται παρακάτω. O Portal Server θα επικοινωνήσει,τέλος, µε τον Report Server, για να αποθηκεύσει τα αποτελέσµατα του ελέγχου για προβολή αργότερα. Ο Report Server περιγράφεται παρακάτω. Auth Server Το υποσύστηµα αυτό, όπως αναφέρθηκε ήδη, είναι υπεύθυνο, για να ελέγξει αν ο χρήστης έχει το δικαίωµα να ζητήσει να γίνει ο έλεγχος ασφάλειας στον Ελεγχόµενο Υπολογιστή. Σε περίπτωση που ο Ελεγχόµενος Υπολογιστής και ο Υπολογιστής Χρήστη ταυτίζονται, ο έλεγχος αυτός είναι ευθύς. Σε αντίθετη περίπτωση, θα πρέπει να επιβεβαιωθεί πως ο χρήστης έχει δικαίωµα να ελέγξει τον υπολογιστή που ζήτησε. Η επιβεβαίωση αυτή µπορεί να γίνει ζητώντας από τον χρήστη να απαντήσει σε µια πρόκληση που µόνο ο νόµιµος διαχειριστής του Ελεγχόµενου Υπολογιστή θα µπορούσε να απαντήσει. Παρακάτω, παρουσιάζεται αναλυτικά πως γίνεται αυτό. Nessus Host 113

128 Στο υποσύστηµα Nessus Host τρέχει το λογισµικό Nessus που πραγµατοποιεί τον έλεγχο ασφαλείας στον Ελεγχόµενο Υπολογιστή. Το λογισµικό Nessus αποτελείται από δύο τµήµατα τα οποία συνεργάζονται, για να πραγµατοποιηθεί ο έλεγχος: τον Nessus Client και τον Nessus Server. Ο Nessus Server είναι αυτός που πραγµατοποιεί τον έλεγχο µε βάση τις παραµέτρους που θα λάβει από τον Nessus Client. Πολλοί Nessus Clients µπορούν να συνδεθούν στον ίδιο Nessus Server και ο καθένας από αυτούς να ζητήσει τον έλεγχο διαφορετικών µηχανηµάτων µε διαφορετικές παραµέτρους. Ο Nessus Server έχει τη δυνατότητα να κάνει παράλληλους ελέγχους ασφάλειας σε πολλά µηχανήµατα. Θα εξεταστεί κατά την αναλυτική περιγραφή του υποσυστήµατος Nessus Host σε ποιο βαθµό θα πρέπει να χρησιµοποιήσουµε τη δυνατότητα αυτή,για να ολοκληρώσουµε τους ελέγχους στον µικρότερο δυνατό χρόνο. Σηµειώνεται ότι ονοµάζεται το υποσύστηµα αυτό Nessus Host και όχι Nessus Server, για να µην υπάρχει σύγχυση µε το λογισµικό Nessus Server. Report Server Ο Report Server χρησιµοποιείται για την αποθήκευση των αποτελεσµάτων του ελέγχου ασφαλείας, ώστε να µπορούν να ανακτηθούν αργότερα. Επίσης, θα αποθηκεύει στοιχεία που θα επιτρέπουν στους χρήστες να αποδεικνύουν την ταυτότητα τους και να έχουν πρόσβαση στα αποτελέσµατα των ελέγχων που έχουν πραγµατοποιήσει από οπουδήποτε. Η παρουσία του εν λόγω υποσυστήµατος, αν και δεν είναι απαραίτητη για το όλο σύστηµα, δίνει τη δυνατότητα να προσφέρει βελτιωµένες υπηρεσίες στους χρήστες του. Επιτρέπει, για παράδειγµα, στον χρήστη να µπορεί να κλείσει τον web browser του κατά τη διάρκεια του ελέγχου, που συνήθως είναι µεγάλη. Επίσης, χρησιµοποιώντας τα αποθηκευµένα δεδοµένα ο χρήστης θα µπορεί να ενηµερώνεται για νέα προβλήµατα ασφαλείας που ανακοινώνονται και αφορούν τον υπολογιστή του. Για παράδειγµα, αν κάποιο CERT ανακοινώσει ένα νέο πρόβληµα για µια συγκεκριµένη έκδοση του Microsoft IIS, το σύστηµα θα µπορεί να ενηµερώσει αυτόµατα όλους τους χρήστες που στον τελευταίο έλεγχο που έκαναν παρουσιάζονται να τρέχουν τη συγκεκριµένη έκδοση. Έτσι οι χρήστες του ΕΣΤΙΑ δε θα χρειάζονται να παρακολουθούν οι ίδιοι τις ανακοινώσεις για προβλήµατα ασφαλείας. 114

129 VPN Router Όπως αναφέρθηκε, ο Ελεγχόµενος Υπολογιστής µπορεί να µην έχει πλήρη πρόσβαση στο διαδίκτυο. Στην περίπτωση αυτή ο VPN Router θα δροµολογήσει τα δεδοµένα που στέλνει ο Nessus Host προς τον Ελεγχόµενο Υπολογιστή. Για να γίνει αυτό, πρέπει πρώτα να δηµιουργηθεί ένα Virtual Private Network (VPN) µεταξύ του VPN Router και ενός υπολογιστή ο οποίος έχει πρόσβαση στον Ελεγχόµενο Υπολογιστή. Αυτό απαιτεί συνεργασία από τη µεριά του χρήστη. Θα πρέπει, δηλαδή, ο χρήστης να εγκαταστήσει το λογισµικό που παρέχει τη λειτουργικότητα VPN και να το τρέξει χρησιµοποιώντας τις ρυθµίσεις που θα του παρέχονται. Αν ο χρήστης θέλει να ελέγξει περισσότερους από έναν υπολογιστές, τότε θα πρέπει επιπλέον να ρυθµίσει τον Υπολογιστή Χρήστη ώστε να προωθεί στο VPN και τα πακέτα όλων των υπολογιστών που θέλει να ελεγχθούν Σχεδιασµός υποσυστηµάτων και λειτουργίες τους Αφού παρουσιάστηκαν στην προηγούµενη ενότητα ο σχεδιασµός του συστήµατος ΕΣΤΙΑ σε επίπεδο υποσυστηµάτων, θα παρουσιάστουν τώρα οι λεπτοµέρειες του σχεδιασµού του κάθε υποσυστήµατος χωριστά. Για κάθε υποσύστηµα θα παρουσιαστεί πώς αλληλεπιδρά µε τα άλλα υποσυστήµατα κατά τη λειτουργία του συστήµατος ΕΣΤΙΑ. Επίσης, παρουσιάζονται, όπου υπάρχουν, οι διαφορετικές ρυθµίσεις/τεχνολογίες που µπορούν να χρησιµοποιηθούν κατά την υλοποίηση του συστήµατος. Ελεγχόµενος Υπολογιστής Ελεγχόµενος υπολογιστής είναι το µηχάνηµα το οποίο ο χρήστης ζητάει να ελεγχθεί για ρήγµατα ασφαλείας. Ο υπολογιστής αυτός µπορεί είτε να είναι ο προσωπικός υπολογιστής του χρήστη που ζητάει να πραγµατοποιηθεί ο έλεγχος είτε κάποιος άλλος υπολογιστής για τον οποίο έχει εξουσιοδότηση να τον ελέγχει. Επίσης, κάποιος χρήστης µπορεί να ζητήσει τον έλεγχο ενός µεγάλου αριθµού υπολογιστών π.χ. όλων των υπολογιστών σε ένα υπό-δίκτυο, εφόσον, βέβαια, έχει την απαραίτητη εξουσιοδότηση. Στην ιδανική περίπτωση όπου όλοι οι προς εξέταση υπολογιστές είναι συνδεµένοι απ ευθείας στο διαδίκτυο ο έλεγχος µπορεί να γίνει άµεσα. Στην περίπτωση που η πρόσβαση στο διαδίκτυο του Ελεγχόµενου Υπολογιστή ή του υπό- 115

130 δικτύου που πρέπει να εξετάστεί είναι περιορισµένη από κάποιο firewall ή και ανύπαρκτη, ο Υπολογιστής Χρήστη χρησιµοποιείται σαν ενδιάµεσος, για να γίνει ο έλεγχος. Σε τέτοιες περιπτώσεις, ο χρήστης θα πρέπει να έχει πρόσβαση µε πλήρη δικαιώµατα στον υπολογιστή του. Η περίπτωση αυτή φαίνεται στο Σχήµα 1 όπου οι υπολογιστές προστατεύονται από ένα firewall. Υπολογιστής Χρήστη Από τον Υπολογιστή Χρήστη γίνεται η εκκίνηση ενός ελέγχου. Επίσης, σε αυτόν παρουσιάζεται και η πρόοδος του ελέγχου αυτού. Και οι δύο αυτές διαδικασίες θα πρέπει να γίνονται µέσα από τον web browser του χρήστη και να έχουν τις µικρότερες δυνατές απαιτήσεις από πλευράς πρόσθετου λογισµικού. Εκκίνηση Ελέγχου Η εκκίνηση ελέγχου θα πρέπει να περιλαµβάνει επιλογές µε το τι ακριβώς θα ελεγχθεί από το σύστηµα ΕΣΤΙΑ. Όπου είναι δυνατό, θα πρέπει να συµπεριλαµβάνονται και ενδεικτικοί χρόνοι για κάθε επιλογή,καθώς οι περισσότεροι χρήστες είναι πιθανό να µη µπορούν να επιλέξουν τον κατάλληλο έλεγχο. Παρουσίαση προόδου Η παρουσίαση της προόδου ενός ελέγχου θα πρέπει, για να είναι πλήρης και κατανοητή να περιέχει τόσο γραφικές ενδείξεις, όσο και επεξηγήσεις µε µορφή κειµένου. Η υπάρχουσα τεχνολογία δίνει πλήθος επιλογών, για να ανακτούνται από τον Portal Server τα στοιχεία που θα παρουσιάζονται. Συνοπτικά, οι επιλογές είναι οι ακόλουθες: Μη χρήση δυναµικών στοιχείων: Μη χρήση δυναµικών στοιχείων σηµαίνει πως, για να δει ο χρήστης την πρόοδο του ελέγχου που κάνει, θα πρέπει να ξαναφορτώνει περιοδικά ολόκληρη τη σελίδα. Η διαδικασία µπορεί να οριστεί να γίνεται περιοδικά µε τη χρήση HTML meta-tags. Το πλεονέκτηµα αυτής της προσέγγισης είναι πως θα δουλέψει ακόµα και σε web-browsers που δεν υποστηρίζουν τη χρήση γραφικών. Από την άλλη, η συνεχής επαναφόρτωση της σελίδας θεωρείται ενοχλητική για τον χρήστη. υναµικά στοιχεία Java: Οι web browsers, µε τη χρήση των Java Applets µπορούν να εκτελέσουν προγράµµατα Java σε ένα προστατευµένο 116

131 περιβάλλον. Λόγω της εκτέλεσης σε προστατευµένο περιβάλλον, οι δυνατότητες επικοινωνίας του εκτελούµενου προγράµµατος µε τον web browser είναι περιορισµένες. Στην προκειµένη περίπτωση, το πρόγραµµα Java θα συνδέεται πίσω στον Portal Server και αυτός να το ενηµερώνει περιοδικά για την κατάσταση του ελέγχου. Η πληροφορία αυτή θα εµφανίζεται έπειτα στον χρήστη µε τη µορφή κειµένου και γραφηµάτων. υναµικά στοιχεία Flash: Η τεχνολογία Flash µοιάζει στα χαρακτηριστικά της µε τα Java Applets. Επιτρέπει, δηλαδή, στους web browsers την εκτέλεση προγραµµάτων, µέσα σε ένα προστατευµένο περιβάλλον. Όµως, η τεχνολογία Flash επικεντρώνεται περισσότερο στην εκτέλεση πολυµεσικών προγραµµάτων µε αποτέλεσµα, να δίνει τελικά καλύτερο αισθητικό αποτέλεσµα. υναµικά στοιχεία JavaScript: Τα δυναµικά στοιχεία JavaScript, σε αντίθεση µε τα δυναµικά στοιχεία Java και Flash, επικοινωνούν απευθείας µε τον φυλλοµετρητή ιστοσελίδων και έχουν τη δυνατότητα να αλλάξουν δυναµικά τις ιδιότητες και το περιεχόµενο του έγγραφου που προβάλλεται. Στην απλή περίπτωση µπορούν απλά να ζητήσουν να ξαναφορτωθεί ολόκληρη η σελίδα. Επιτρέπουν, όµως, και να κάνουµε push πληροφορία προς τον φυλλοµετρητή ιστοσελίδων, κρατώντας ανοικτή την HTTP σύνδεση και στέλνοντας πάνω από αυτή εντολές JavaScript που αλλάζουν το έγγραφο. Αυτό, όµως, αντιβαίνει στη λογική του πρωτοκόλλου HTTP πάνω στην οποία έχει βασιστεί η αποδοτική υλοποίηση των web servers. Η χρήση, λοιπόν, JavaScript για την υλοποίηση push θα πρέπει να αποφευχθεί. Χρήση XML HTTP: Το XML HTTP είναι µια δυνατότητα των περισσότερων σύγχρονων web browsers που επιτρέπει να µεταφέρονται δεδοµένα XML µεταξύ του web browser και κάποιου web server. Η αλληλεπίδραση αυτή είναι ασύγχρονη και γίνεται µε πρωτοβουλία του web browser. Επιπλέον, µε τη χρήση JavaScript, µπορεί να ενηµερώνεται το έγγραφο που προβάλλει ο browser µε την πληροφορία που αποκτήθηκε µέσω του XML HTTP. Τα πλεονεκτήµατα και τα µειονεκτήµατα των επιλογών αυτών παρουσιάζονται συνοπτικά στον πίνακα 4.1. Πίνακας4. 1 Μέθοδοι Παρουσάσης 117

132 ιάσταση Μέθοδος Παρουσίασης Σύγκρισης Χωρίς υναµικά υναµικά υναµικά Χρήση δυναµικά στοιχεία Java στοιχεία Flash στοιχεία XML στοιχεία JavaScript HTTP Μεταφερόµενα δεδοµένα Ο(10k) O(100k) O(100k) O(10k) O(10k) αρχικά Μεταφερόµενα δεδοµένα Ο(10k) O(100b) O(100b) O(10k) O(100b) ανά ανανέωση Ανοικτή σύνδεση µε τον Portal Server / υνατότητα ΟΧΙ ΝΑΙ ΝΑΙ ΝΑΙ (µόνο πάνω από HTTP) ΟΧΙ push Επιπλέον Λογισµικό στον ΟΧΙ ΝΑΙ ΝΑΙ ΟΧΙ ΟΧΙ Browser Συµβατότητα µε ΝΑΙ ΟΧΙ ΟΧΙ ΝΑΙ ΟΧΙ παλαιότερους web browsers Αισθητικό αποτέλεσµα Μέτριο Μέτριο Πολύ Καλό Καλό Καλό υσκολία υλοποίησης Μικρή Μεγάλη Μεγάλη Μέτρια Μέτρια Το µεγαλύτερο αρχικό κόστος σε µεταφερόµενα δεδοµένα έχουν τα δυναµικά στοιχεία Java και Flash, καθώς ουσιαστικά κατεβάζουν από τον Portal Server µια εφαρµογή η οποία τρέχει έπειτα µέσα από το web browser. Όµως, έπειτα κάθε 118

133 ανανέωση είναι φθηνή µια και απαιτείται να µεταφερθούν λίγα δεδοµένα και ο αριθµός των ανανεώσεων µπορεί να περιορισθεί στο ελάχιστο εξαιτίας του push µοντέλου. Εντούτοις, έχουν µεγάλη δυσκολία υλοποίησης, δεν είναι συµβατές µε παλαιότερους web browsers και πιθανώς να χρειαστεί και εγκατάσταση επιπλέον λογισµικού στον web browser. Το επόµενο µικρότερο κόστος σε µεταφερόµενα δεδοµένα το έχει η µέθοδος XML HTTP. Η µέθοδος αυτή είναι σχετικά νέα και υποστηρίζεται από όλους τους τελευταίους web browsers (ΙΕ5+, Mozilla 1.0+). Το µικρό της κόστος οφείλεται στο ότι επιτρέπει στον φυλλοµετρητή ιστοσελίδων να ανακτά ασύγχρονα δεδοµένα από τον web server και να τα προβάλλει χωρίς να χρειάζεται η επαναφόρτωση ολόκληρης της σελίδας. Είναι, δηλαδή, ιδανική για την προβολή σελίδων που αλλάζουν λίγο κάθε φορά. Τέλος, το ίδιο κόστος σε µεταφερόµενα δεδοµένα έχουν η µη χρήση δυναµικών στοιχείων και η χρήση δυναµικών στοιχείων JavaScript. Ουσιαστικά, και οι δύο φορτώνουν τη σελίδα προόδου απο την αρχή. Επίσης, και οι δύο µέθοδοι µπορούν να δουλέψουν σε παλαιότερους browsers, αν και η χρήση των δυναµικών στοιχείων JavaScript είναι µάλλον προβληµατική εξαιτίας ασύµβατων υλοποιήσεων τους στους παλαιότερους web browsers. Τα παραπάνω οδηγούν στη χρήση της µεθόδου XML HTTP για την παρουσίαση της προόδου ελέγχου, ενώ παράλληλα θα υπάρχει και η δυνατότητα µη-χρήσης δυναµικών στοιχείων σαν ασφαλές fallback. Όπως φαίνεται στον Πίνακας 1, οι µέθοδοι αυτοί δεν υποστηρίζουν push πληροφορίας από τον εξυπηρετητή πύλης προς τον web browser. Συνεπώς, ο φυλλοµετρητής ιστοσελίδων θα πρέπει να ζητά περιοδικά από τον εξυπηρετητή πύλης την πληροφορία για την πρόοδο του ελέγχου. Η περιοδική ανάκτηση της πληροφορίας αυτής µπορεί να υλοποιηθεί είτε µε JavaScript, αν χρησιµοποιούνται δυναµικά στοιχεία, είτε µε HTML meta-tags, αν δεν χρησιµοποιούνται. Portal Server Ο Portal Server παρέχει στο browser που χρησιµοποιεί ο χρήστης µεθόδους για να ξεκινήσει ένα έλεγχο καθώς και πληροφορία για την πρόοδο των ελέγχων που έχουν ξεκινήσει. 119

134 Επικοινωνία µε τον Nessus Host Καθώς επιθυµούµε ο χρήστης να µπορεί να παρακολουθεί «ζωντανά» την εξέλιξη του ελέγχου, η πιο συχνή δραστηριότητα του εξυπηρετητή πύλης θα είναι να επικοινωνεί µε τον Nessus Host όποτε χρειάζεται να δώσει στον web browser του χρήστη νέα πληροφορία για αυτήν. Όπως αναφέρθηκε παραπάνω, η ανάκτηση της πληροφορίας αυτής γίνεται µε πρωτοβουλία του web-browser. Θα πρέπει τώρα να καθοριστεί µε ποιο τρόπο την αποκτά ο Portal Server για να προωθήσει την πληροφορία αυτή από το Nessus Host. Εφόσον στη πλευρά του εξυπηρετητή πύλης υπάρχει η πληροφορία για τους ελέγχους που είναι ενεργοί κάθε στιγµή, αυτό που θα γίνεται, είναι να ανανεώνεται αυτόµατα η κατάσταση του κάθε ελέγχου στον Portal Server και η επικοινωνία µε τον χρήστη δε χρειάζεται να αλλάξει. Οπότε ο χρήστης απλώς θα παρακολουθεί τη κατάσταση του ελέγχου από το site που θα ανανεώνεται αυτόµατα. Αρχικά, θα πρέπει να αποφασιστεί αν θα χρησιµοποιηθεί pull ή push µοντέλο. Αν δηλαδή ο Portal Server θα ζητάει την πληροφορία, όποτε τη χρειάζεται ή αν ο Nessus Host θα προωθεί τη νέα πληροφορία, όποτε αυτή υπάρχει. Τα δύο µοντέλα αυτά για την ανάκτηση της πληροφορίας από τον Portal Server, εµφανίζονται στο Σχήµα 2. Εικόνα 4.5. Push και Pull στην επικοινωνία Portal Server και Nessus Host 120

135 Στο µοντέλο push, καθώς µπορεί να υπάρχει µεγάλος αριθµός από ελέγχους που δεν παρακολουθούνται «ζωντανά», θα πρέπει ο Portal Server να παρακολουθεί ποιοι είναι οι έλεγχοι αυτοί και να ενηµερώνει το Nessus Host. Αλλιώτικα, θα υπάρχει µεγάλος αριθµός από περιττές επικοινωνίες. Η καταγραφή των ελέγχων που παρακολουθούνται «ζωντανά» προσθέτει επιπλέον πολυπλοκότητα στην υλοποίηση του Portal Server. Στο µοντέλο pull, από την άλλη, ο Portal Server θα ζητάει ο ίδιος τα δεδοµένα που του χρειάζονται. Τα δεδοµένα αυτά του χρειάζονται µόνο όποτε του ζητούνται από τον web browser του χρήστη, συνεπώς, δε χρειάζεται ο Portal Server να καταγράφει ποιοι είναι οι έλεγχοι που παρακολουθούνται «ζωντανά». Η υλοποίηση της καταγραφής στο µοντέλο pull µπορεί να προστεθεί αργότερα σαν βελτιστοποίηση. Η προσθήκη της θα έχει ως αποτέλεσµα να µειωθεί ο αριθµός των επικοινωνιών στο push µοντέλο, καθώς ο Nessus Host θα µπορεί να στέλνει παραπάνω δεδοµένα από όσα του ζητήθηκαν (piggybacking). Το pull µοντέλο, λοιπόν, συνδυάζει µικρότερο αρχικό κόστος υλοποίησης σε σχέση µε το push µοντέλο, µε τη δυνατότητα να βελτιστοποιηθεί η λειτουργία του αν παραστεί η ανάγκη. Αυτό οδηγεί στο να προτιµηθεί για την επικοινωνία Porta Server µε Nessus Host. Auth Server Ο Auth Server παίρνει την απόφαση για το αν έχει ή όχι ο χρήστης δικαίωµα να κάνει τον έλεγχο που ζήτησε. Οι διαστάσεις που καθορίζουν τον τρόπο που θα ληφθεί αυτή η απόφαση παρουσιάζονται στον πίνακα 4.2. Πλήθος Ελεγχόµενων Υπολογιστών Πρόσβαση στο Πλήρης / Ένας Πλήρης/ Πολλοί ιαδίκτυο Περιορισµένη/Ένας Περιορισµένη/Πολλοί Πίνακας 4. 2 Αποφάσεις Auth Server 121

136 Πλήρης Πρόσβαση / Ένας Ελεγχόµενος Υπολογιστής Στην περίπτωση αυτή η απόφαση του Auth Server µπορεί να ληφθεί εξετάζοντας τη διεύθυνση IP από την οποία ο Portal Server παρέλαβε την αίτηση. Αν η διεύθυνση είναι η ίδια για την οποία ζητείται και έλεγχος, τότε η αίτηση εγκρίνεται. Ειδάλλως, απορρίπτεται. Αν ο Ελεγχόµενος Υπολογιστής είναι διαφορετικός από τον Υπολογιστή του Χρήστη, τότε πρέπει να ακολουθηθεί η διαδικασία που περιγράφεται παρακάτω. Προσοχή χρειάζεται η περίπτωση που υπάρχει µεν πλήρης πρόσβαση στο διαδίκτυο, αλλά µεταξύ του χρήστη και του Portal Server παρεµβάλλεται κάποιος HTTP Proxy Server. Ο HTTP Proxy µπορεί να είναι ορατός ή αόρατος (transparent). Η πρώτη περίπτωση µπορεί να γίνει αντιληπτή από τους HTTP headers που προσθέτει ο Proxy και να ζητηθεί από το χρήστη να τον απενεργοποιήσει προσωρινά. Για να παρακαµφθεί τυχόν αόρατο Proxy, αρκεί κατά την τελική υποβολή της αίτησης ελέγχου από τον χρήστη µε τη χρήση του web browser του, να χρησιµοποιηθεί το πρωτόκολλο HTTPS αντί του απλού HTTP. Πλήρης Πρόσβαση / Πολλοί Ελεγχόµενοι Υπολογιστές Σε αυτήν την περίπτωση, θα πρέπει να ο Auth Server να επιβεβαιώσει πως ο χρήστης που ζήτησε τον έλεγχο για τους συγκεκριµένους υπολογιστές, είναι πράγµατι υπεύθυνος για τη συντήρηση και την ασφάλεια τους. Μια και δεν είναι δυνατό να πάρει ο Auth Server αυτή την πληροφορία µόνο από τα περιεχόµενα της αίτησης ελέγχου, θα πρέπει να ακολουθηθεί άλλη διαδικασία. Κατά την υποβολή της αίτησης, ο χρήστης θα επιλέγει ένα από τα ονόµατα χρηστών (usernames) που αντιστοιχούν στους διαχειριστές του δικτύου ενός οργανισµού. Τέτοια, για παράδειγµα, είναι τα root, webmaster, postmaster κλπ. Ο Auth Server θα προσδιορίζει έπειτα σε ποιον οργανισµό ανήκουν οι διευθύνσεις που ζητήθηκε να ελεγχθούν και θα στέλνει ένα στον αντίστοιχο χρήστη του οργανισµού αυτού. Το θα περιέχει ένα µυστικό κωδικό επιβεβαίωσης που θα είναι απαραίτητος για να προχωρήσει ο έλεγχος. Μέχρι ο χρήστης να εισάγει το µυστικό κωδικό (χρησιµοποιώντας τον web browser του) ο έλεγχος δε θα ξεκινήσει. Αν ο χρήστης καθυστερήσει υπερβολικά (π.χ. 2 ώρες) να εισάγει το µυστικό κωδικό, ο έλεγχος ακυρώνεται εντελώς. 122

137 Περιορισµένη Πρόσβαση/ Ένας Ελεγχόµενος Υπολογιστής Στην περίπτωση αυτή, θα πρέπει να δηµιουργηθεί ένα κανάλι επικοινωνίας µεταξύ του ελεγχόµενου υπολογιστή και του Nessus Host διαµέσου του VPN Router. ηλαδή θα δηµιουργείται ένα VPN µεταξύ του ελεγχόµενου υπολογιστή και του VPN Router, και ο VPN Router θα δροµολογεί την κίνηση από και προς τον ελεγχόµενο υπολογιστή µέσα από το VPN αυτό. Για τη διαδικασία δηµιουργίας του VPN µπορούν να διαχωριστούν δύο περιπτώσεις ανάλογα µε τον τύπο των περιορισµών πρόσβασης στο διαδίκτυο. (a) Περιορισµένη πρόσβαση στο διαδίκτυο λόγω ύπαρξης NAT Για τη δηµιουργία του VPN αυτού χρειάζονται επιπλέον ενέργειες από την πλευρά του χρήστη. Αν ο χρήστης βρίσκεται πίσω από κάποιο NAT Router, τότε θα λαµβάνει οδηγίες για να εγκαταστήσει ένα πρόγραµµα που θα δηµιουργεί το VPN. Για λόγους αξιοπιστίας, το πρόγραµµα αυτό θα πρέπει κατά προτίµηση να προέρχεται από πηγή που δε σχετίζεται µε το σύστηµα ΕΣΤΙΑ. Επίσης, ο χρήστης θα λαµβάνει και ένα αρχείο µε τις ρυθµίσεις για το VPN που θα δηµιουργηθεί. Το αρχείο θα πρέπει να είναι σε µορφή κατανοήσιµη απευθείας από το πρόγραµµα που δηµιουργεί το VPN. Έτσι, ο χρήστης δε θα χρειαστεί να γνωρίζει τεχνικές λεπτοµέρειες σχετικά µε τα VPN και τη χρήση τους για να το χρησιµοποιήσει. (b) Πρόσβαση µόνο στην υπηρεσία Παγκόσµιου Ιστού (WWW) του διαδικτύου Αν ο χρήστης έχει πρόσβαση µόνο στον Παγκόσµιο Ιστό, τότε πριν δηµιουργήσει το VPN θα λαµβάνει επιπλέον οδηγίες, για να δηµιουργήσει µια σύνδεση SSH[6] µέχρι τον VPN Router. Μέσα από τη σύνδεση αυτή θα περνάει η κίνηση προς τον VPN Server που τρέχει στον VPN Router. Και τελικά µέσα από το VPN που θα δηµιουργηθεί θα περνάει η κίνηση από τον Nessus Host προς τον ελεγχόµενο υπολογιστή. Αυτή η στρωµάτωση των πρωτοκόλλων επικοινωνίας παρουσιάζεται στον πίνακα

138 Πίνακας 4.3 Στρωµάτωση των πρωτοκόλλων επικοινωνίας Τύπος Κίνησης Άκρο 1 Άκρο 2 Περιγραφή TCP/IP traffic Ελεγχόµενος Nessus Host Οποιουδήποτε είδους Υπολογιστής TCP/IP κίνηση. Η ύπαρξη του VPN δίνει στης εφαρµογές την ψευδαίσθηση πως ο Ελεγχόµενος Υπολογιστής είναι πλήρως προσβάσιµος από τον Nessus Host. VPN traffic Ελεγχόµενος VPN Router Κίνηση του VPN. Υπολογιστής Περιέχει encapsulated IP πακέτα που περνάνε πάνω από το ιδεατό δίκτυο SSH traffic Ελεγχόµενος VPN Router Κίνηση µεταξύ του Υπολογιστής SSHd που τρέχει στον VPN server και ενός SSH client στον ελεγχόµενο υπολογιστή. HTTPS traffic Ελεγχόµενος Web Proxy Κίνηση που ο Web Υπολογιστής Proxy αντιλαµβάνεται ως HTTPS, περιέχει όµως τελικά την κίνηση SSH. 124

139 TCP/IP traffic Ελεγχόµενος Web Proxy Η κίνηση µεταξύ του Υπολογιστής ελεγχόµενου υπολογιστή και του Web Proxy. Εικόνα 4.6 Υπολογιστές µε πρόσβαση µόνο στον Παγκόσµιο Ιστό Για να γίνει πιο κατανοητός ο τρόπος δηµιουργίας του καναλιού επικοινωνίας µεταξύ Ελεγχόµενου Υπολογιστή και Nessus Host, στην Εικόνα 4.6 παρουσιάζεται µια τοπολογία µε υπολογιστές που έχουν πρόσβαση µόνο στον Παγκόσµιο Ιστό. Οι υπολογιστές PC1, PC2, PC3, PC4 συνδέονται µεταξύ τους δια µέσου ενός τοπικού δικτύου. Η µόνη πρόσβαση που έχουν στο ιαδίκτυο είναι στον Παγκόσµιο Ιστό χρησιµοποιώντας τον Web Proxy που είναι συνδεµένος στο ίδιο τοπικό δίκτυο. Ο Web Proxy θα µπορούσε να χρησιµοποιηθεί σαν γενικός proxy χρησιµοποιώντας την εντολή CONNECT του πρωτοκόλλου HTTP. Όµως,ένας σωστά στηµένος Web Proxy δεν επιτρέπει την χρήση της CONNECT παρά µόνο για πρόσβαση σε web servers που περιµένουν για αιτήσεις στην πόρτα 80 καθώς και secure web servers που µια υπηρεσία που τρέχει στην πόρτα 80 και δεν είναι εξυπηρετητής διαδικτύου αλλά ούτε και µε έναν webserver που δεν τρέχει στην 125

140 πόρτα 80.Ένας τέτοιος σωστά ρυθµισµένος Web Proxy απεικονίζεται στην Εικόνα 4.6. Για να προσπεραστούν οι περιορισµοί που θέτει ο Web Proxy, θα εκµεταλλευθεί την αδυναµία του να «καταλάβει» τον τύπο της κίνησης µεταξύ ενός υπολογιστή στο LAN και ενός Secure Web Sever. Η αδυναµία αυτή οφείλεται στο πώς η κίνηση αυτή είναι κρυπτογραφηµένη. Η κρυπτογράφηση γίνεται µε τη χρήση του πρωτοκόλλου SSL.Ο Web Proxy µπορεί να καταλάβει µόνο αν έγινε η αρχική χειραψία του SSL προτού αρχίσει η ροή κρυπτογραφηµένων δεδοµένων. Εκτός από τους Secure Web Servers και οι SSH Servers πραγµατοποιούν τη χειραψία SSL αρχικά προτού ξεκινήσει η ροή κρυπτογραφηµένων δεδοµένων. Οπότε ο Web Proxy δεν µπορεί να διαχωρίσει έναν SSH Server που τρέχει στην πόρτα 443 από έναν Secure Web Server. Επιπλέον, το πρωτόκολλο SSH προβλέπει τη δηµιουργία SSH Tunnels που επιτρέπουν να χρησιµοποιήθεί µια σύνδεση SSH, για να µεταφερθεί οποιουδήποτε είδους κίνησης µεταξύ των δύο άκρων της. Με τη χρήση λοιπόν µιας σύνδεσης SSH και ενός SSH Tunnel µπορεί να µεταφερθεί η κίνηση του VPN προς τον VPN Router ξεπερνώντας τους περιορισµούς του υπολογιστή να έχει πρόσβαση στο διαδίκτυο. Περιορισµένη Πρόσβαση / Πολλοί Ελεγχόµενοι Υπολογιστές Στην περίπτωση αυτή, θα πρέπει να δηµιουργηθεί ένα κανάλι επικοινωνίας µεταξύ του Υπολογιστή Χρήστη και του Nessus Host διαµέσου του VPN Router. Θα πρέπει, όµως, επιπλέον ο Υπολογιστής Χρήστη να ρυθµιστεί, ώστε να δροµολογεί τα δεδοµένα που ανταλλάσσουν Nessus Host και Ελεγχόµενοι Υπολογιστές προς τη σωστή κατεύθυνση. Nessus Host Ο Nessus Host, όπως αναφέρθηκε και προηγουµένως, είναι το υποσύστηµα στο οποίο τρέχει το λογισµικό Nessus που ελέγχει τα µηχανήµατα για πιθανά ρήγµατα ασφαλείας. Το λογισµικό Nessus είναι σχεδιασµένο µε την αρχιτεκτονική client-server. Ο Nessus Server εκτελεί τoν έλεγχο ασφαλείας µε βάση κάποιες παραµέτρους που δέχεται από το Nessus Client. Οι παράµετροι αυτοί είναι για παράδειγµα τα µηχανήµατα που θα πρέπει να εξεταστούν, ποιές πόρτες και µε ποιόν τρόπο θα πρέπει να εξεταστούν καθώς και για τι είδους ρήγµατα ασφαλείας θα πρέπει 126

141 να ελέγξει ο Nessus Server. Όλες αυτές οι παράµετροι καθορίζονται σε κάποιο προφίλ ελέγχου το οποίο δίνεται από το Nessus Client στο Nessus Server. Λειτουργία του λογισµικού Nessus Ο Nessus Server µπορεί να δουλέψει σε δύο διαφορετικά modes: batch mode και standard mode. Σε batch mode o Nessus Client δίνει όλα τα ορίσµατα που χρειάζεται ο Nessus Server από τη γραµµή εντολών χρησιµοποιώντας ως προφίλ ελέγχου κάποιο προκατασκευασµένο αρχείο καθώς, επίσης, και το αρχείο που περιέχει τις IP των µηχανηµάτων τα οποία πρέπει να εξεταστούν. Στο τέλος του ελέγχου ο Nessus Client αποθηκεύει τα αποτελέσµατα σε κάποιο αρχείο που έχει οριστεί και στη µορφή που έχει ζητηθεί π.χ. HTML, XML. Όταν ο Nessus Client τρέχει σε standard mode, θα πρέπει να καθορίσει ο χρήστης όλες τις παραµέτρους του ελέγχου δια µέσου µιας διεπαφής χρήστη. Αυτές οι παράµετροι που θα καθορίσει ο χρήστης µπορούν να αποθηκευτούν σε κάποιο αρχείο και να αποτελέσουν µελλοντικό προφίλ ελέγχου. Τα αποτελέσµατα παρουσιάζονται µε γραφικό τρόπο στο τέλος του έλεγχου και ο χρήστης µπορεί να τα αποθηκεύσει σε κάποιο αρχείο στη µορφή που επιθυµεί. Στο ΕΣΤΙΑ θα χρησιµοποιηθεί το Nessus Client σε batch mode, για να µπορούν να χρησιµοποιηθούν προκαθορισµένα προφίλ ελέγχου και να ανακτώνται τα αποτελέσµατα αυτόµατα σε κάποιο αρχείο στην επιθυµητή µορφή. Έτσι, θα µπορούν να επεξεργάζονται τα αποτελέσµατα, να αποθηκεύονται στον Report Server και να παρουσιάζονται στον χρήστη. Επιδόσεις του λογισµικού Nessus Ο Nessus Server έχει τη δυνατότητα να πραγµατοποιεί ταυτόχρονα πολλούς ελέγχους σε διαφορετικά µηχανήµατα. Για να εξεταστεί η επίδραση της χρήση αυτής της δυνατότητας στην ταχύτητα µε την οποία γίνονται οι έλεγχοι αλλά και για να βρεθεί ποια είναι η κατάλληλη τιµή για τον βαθµό της παραλληλίας που πρέπει να υπάρχει στο σύστηµα, έγινε το ακόλουθο πείραµα. 127

142 Εικόνα 4.7 Speedup Ανάλογα µε το βαθµό παραλληλίας Ελέγχτηκε ένας αριθµός (210) µηχανηµάτων από δύο διαφορετικά υποδίκτυα δοκιµάζοντας διαφορετικές τιµές για το επιθυµητό µέγεθος παραλληλίας που επιλέγεται να προσφέρει ο Nessus Server και µετρήθηκε ο χρόνος που χρειάστηκε για να ολοκληρωθεί ο έλεγχος όλων των µηχανηµάτων. Τα αποτελέσµατα φαίνονται στις εικόνες 4.7 και 4.8. Εικόνα 4.8. Χρόνος ολοκλήρωσης ανάλογα µε το βαθµό παραλληλίας Στην Εικόνα 4.8. φαίνεται ο χρόνος που χρειάστηκε για τον έλεγχο όλων (210) των µηχανηµάτων για διαφορετικές τιµές παραλληλίας. Φαίνεται ότι ο καλύτερος χρόνος επιτυγχάνεται όταν το «Max_Hosts=80» το οποίο σηµαίνει ότι ο Nessus Server ελέγχει 80 µηχανήµατα ταυτόχρονα. Μάλιστα για αυτήν την τιµή ο Nessus Server ολοκληρώνει τον έλεγχο 28.4 φορές γρηγορότερα από ό,τι µε τον σειριακό τρόπο. Η βελτίωση σε σχέση µε το σειριακό τρόπο φαίνεται καθαρά στην 128

143 Εικόνα 4.7, όπου υπολογίζεται το Speedup δηλαδή, η βελτίωση που επιτυγχάνεται σε σχέση µε το σειριακό. Όπως φαίνεται στο σχήµα, αυξάνοντας το βαθµό της παραλληλίας µειώνεται ο χρόνος που χρειάζεται για την ολοκλήρωση του ελέγχου σχεδόν αντίστροφα µε την αύξηση της παραλληλίας. Μετά το «Max_Hosts=80» φαίνεται ότι δεν µειώνεται ο χρόνος αλλά αντιθέτως αυξάνεται, Αυτό οφείλεται στο ότι, για να επιτύχει ο Nessus Server τη ζητούµενη παραλληλία δηµιουργεί πολλές διαφορετικές διεργασίες που αναλαµβάνουν να κάνουν ένα υπό-τµήµα του ελέγχου. Όταν, όµως, ο αριθµός των διεργασιών ξεπεράσει ένα όριο τότε γίνονται πολλές εναλλαγές µεταξύ τους και έτσι αργεί η κάθε διεργασία να τρέξει και να διαβάσει τα δεδοµένα τα οποία χρειάζεται καθυστερώντας το όλο σύστηµα. Επιτρέποντας στο σύστηµα να ελέγχει µεγάλο αριθµό από υπολογιστές ταυτόχρονα µπορεί να επεκταθεί βάζοντας πολλαπλούς Nessus Hosts οι οποίο θα έχουν τη δυνατότητα να ελέγχουν πολλαπλά µηχανήµατα ταυτόχρονα ο καθένας. Επιπλέον θα πρέπει να υπάρχει και κάποιος κατανεµητής φόρτου (load balancer) που θα επιλέγει ποιο Nessus Host θα είναι υπεύθυνο να τον επόµενο έλεγχο ασφάλειας που ζητάει κάποιος χρήστης. Την απόφαση θα την παίρνει βασιζόµενος στον φόρτο των Nessus Hosts και στα διάφορα χαρακτηριστικά τους π.χ. την γεωγραφική τους τοποθεσία. Ο κατανεµητής φόρτου θα µπορούσε εύκολα να ενσωµατωθεί στον Portal Server. Προς το παρόν ένα Nessus Host µπορεί να ελέγξει ένα αρκετά µεγάλο αριθµό µηχανηµάτων σε λιγότερο από 30 λεπτά. Report Server Όπως αναφέρθηκε, ο Report Server χρησιµοποιείται για την αποθήκευση των αποτελεσµάτων του ελέγχου ασφαλείας, ώστε να µπορούν να ανακτηθούν αργότερα, καθώς και στοιχείων και κωδικών των χρηστών του συστήµατος. Τα στοιχεία αυτά θα αποθηκεύονται σε µια σχεσιακή βάση δεδοµένων. Αν και στην Εικόνα 4.4 ο Report Server παρουσιάζεται ξεχωριστά από τον Portal Server, τελικά οι δύο Servers µπορεί να τρέχουν στο ίδιο µηχάνηµα. Αυτό γιατί, αν τρέχουν σε ξεχωριστά µηχανήµατα, η επικοινωνία τους θα πρέπει να γίνεται πάνω από το δίκτυο. Η επικοινωνία πάνω από δίκτυο θα είναι πολύ πιο αργή από την επικοινωνία µε τη χρήση µηχανισµών IPC που θα συνέβαινε αν και οι δύο servers έτρεχαν στο ίδιο µηχάνηµα. 129

144 Για την επικοινωνία του Report Server µε τον Portal Server δε χρειάζεται περαιτέρω µέριµνα. Κάθε λύση για Portal Server υποστηρίζει από έναν αριθµό σχεσιακών βάσεων δεδοµένων. Οπότε, αρκεί κατά την υλοποίηση του συστήµατος να φροντιστεί να υλοποιηθεί ο Report Server πάνω σε µια σχεσιακή βάση δεδοµένων που υποστηρίζεται από την τεχνολογία Portal Server που επιλέχθηκε. Παρουσιάζεται στην Εικόνα Α.1 του παραρτήµατος Α ένα ενδεικτικό σχήµα για τη βάση δεδοµένων του Report Server. Για τον κάθε χρήστη αποθηκεύονται τα ελάχιστα δυνατά στοιχεία στον πίνακα Users. Ο χρήστης µπορεί να δηµιουργήσει οµάδες υπολογιστών που αποθηκεύονται στον πίνακα Computers. Για κάθε οµάδα αποθηκεύονται οι διευθύνσεις που περιέχονται σε αυτήν καθώς και πότε ελέγχθηκε αυτή για τελευταία φορά. Για κάθε έλεγχο ασφαλείας σε µια οµάδα δηµιουργείται µια εγγραφή στον πίνακα Reports. Ο πίνακας αυτός περιέχει την ώρα που ο έλεγχος ξεκίνησε και τελείωσε. Αν ο έλεγχος είναι ακόµα ενεργός, το πεδίο active_id χρησιµεύει, για να ληφθεί πληροφορία για την κατάσταση του απευθείας από τον Nessus Host. Επίσης, αν ο έλεγχος αφορά περισσότερες από µια IP διευθύνσεις, το πεδίο auth_string περιέχει τη συµβολοσειρά που θα πρέπει να εισάγει ο χρήστης, για να επιβεβαιώσει πως δικαιούται να κάνει τον έλεγχο. Φυσικά, όταν τελειώσει ο έλεγχος, τα αποτελέσµατα αποθηκεύονται στο πεδίο report_data µαζί µε συµβουλές για το πως θα επιλύσει πιθανά προβλήµατα. Πέρα από αυτά τα δεδοµένα που επιτρέπουν τη βασική λειτουργία του συστήµατος η βάση µπορεί να αποθηκεύει και επιπλέον δεδοµένα που θα επιτρέψουν στον χρήστη να ενηµερωθεί έγκαιρα για νέα προβλήµατα ασφαλείας που ανακαλύπτονται και αφορούν τον υπολογιστή του. Για κάθε οµάδα υπολογιστών καταγράφονται σε κάθε έλεγχο µια σειρά από εγγραφές για το λογισµικό που ανιχνεύθηκε, πότε ανιχνεύθηκε και ποιος ήταν ο υπολογιστής ο οποίος το έτρεχε. Έτσι από τη µια ο χρήστης µπορεί να πληροφορηθεί για νέα προβλήµατα ασφαλείας, όµως έχει επιπλέον και τη δυνατότητα να δει ένα ιστορικό ασφαλείας του υπολογιστή. VPN Router Ο VPN Router, όπως αναφέρθηκε και σε προηγούµενη παράγραφο, αναλαµβάνει τη δροµολόγηση των δεδοµένων µεταξύ του Nessus Host και του Ελεγχόµενου Υπολογιστή, αν ο δεύτερος βρίσκεται σε περιορισµένο περιβάλλον. 130

145 Για να µπορέσει να λειτουργήσει ο VPN Router, αρκεί να επιτρέπεται στον Ελεγχόµενο Υπολογιστή η επικοινωνία µε το Internet πάνω από µια και µόνο πόρτα, όπως περιγράφηκε στην παράγραφο παραπάνω. Ο VPN Router ενηµερώνεται από τον Portal Server για τα στοιχεία του Ελεγχόµενου Υπολογιστή, µόλις ο Portal Server βεβαιωθεί πως ο χρήστης έχει το δικαίωµα να κάνει τον έλεγχο που ζήτησε. Ο VPN Router τότε ενηµερώνει τις ρυθµίσεις του, για να µπορέσει να συνδεθεί ο Ελεγχόµενος Υπολογιστής σε αυτόν. Επίσης, παράγει ένα αρχείο ρυθµίσεων το οποίο κατεβάζει ο χρήστης διαµέσου του Portal Server. Με τη χρήση του αρχείου αυτού και δεδοµένου πως έχει ήδη εγκαταστήσει το λογισµικό για τη δηµιουργία του VPN, ο χρήστης συνδέεται στον VPN Router και το VPN δηµιουργείται. Στην Εικόνα Α.2 στο Παράρτηµα Α φαίνεται η διαδικασία δηµιουργίας ενός VPN. Ο χρήστης, αφού κατεβάσει το αρχείο ρυθµίσεων που θα δηµιουργηθεί από τον VPN Router, αρκεί να κάνει δεξί κλικ σε αυτό και να επιλέξει να ξεκινήσει η εφαρµογή που υλοποιεί το VPN (πρώτη εικόνα). Αµέσως µετά, η εφαρµογή ξεκινά και ο χρήστης ενηµερώνεται πως έχει συνδεθεί µε το σύστηµα (δεύτερη εικόνα). Με το τέλος του ελέγχου ο Portal Server, αφού αποθηκεύσει τα αποτελέσµατα του ελέγχου, θα ενηµερώσει τον VPN Router, ώστε να κλείσει το VPN Ορισµός διεπαφών υποσυστηµάτων Στην αρχιτεκτονική που έχει περιγραφεί παραπάνω υπάρχουν τέσσερα διαφορετικά υποσυστήµατα τα οποία επικοινωνούν µεταξύ τους. Ο τρόπος που επικοινωνούν µεταξύ τους θα περιγραφεί σε αυτή την ενότητα. ιεπαφή Portal Server Nessus Host Ο Portal Server επικοινωνεί µε το Nessus Host, για να του δώσει τα απαραίτητα δεδοµένα, προκειµένου ξεκινήσει τον έλεγχο. Καθώς δεν θα ήταν επιθυµητή η τροποποίηση του λογισµικού Nessus, για να γίνεται αυτή η επικοινωνία, την επικοινωνία θα την αναλαµβάνει ένας proxy. Αυτό που κάνει ο proxy είναι να δέχεται HTTP αιτήσεις από τον Portal Server και ανάλογα είτε να 131

146 αρχίζει ένα νέο έλεγχο είτε να απαντάει µε τα στοιχεία της προόδου ενός ήδη υπάρχοντος ελέγχου. Η προσέγγιση αυτή έχει το πλεονέκτηµα πως από τη µια η αποσφαλµάτωση του συστήµατος θα διευκολυνθεί, ενώ ταυτόχρονα οι νέες εκδόσεις του λογισµικού Nessus θα µπορούν να ενσωµατωθούν στο σύστηµα µε ελάχιστη προσπάθεια. Για να ξεκινήσει ένα νέο έλεγχο ο Portal Server στέλνει µια αίτηση HTTP της µορφής «GET /start?target=<ip-range>&profile=<profile-description>». Ο proxy ξεκινάει τότε έναν Nessus Client µε τα σωστά ορίσµατα, για να πραγµατοποιήσει τον έλεγχο. Σαν αποτέλεσµα της αίτησης, ο proxy επιστρέφει στον Portal Server ένα αναγνωριστικό (ID), για να µπορέσει αργότερα ο Portal Server να ζητήσει την κατάσταση ενός ελέγχου καθώς και τα τελικά αποτελέσµατα του. Η ανάκτηση της κατάστασης ενός ελέγχου καθώς και των αποτελεσµάτων του, γίνονται στέλνοντας αιτήσεις HTTP παρόµοιες µε αυτή που άρχισε τον έλεγχο. Για παράδειγµα για να ζητήσει ο Portal Server την κατάσταση ενός ελέγχου στέλνει µια αίτηση της µορφής ένα «GET /status?id=<scan-id>». Ο proxy θα αναλάβει τότε να επικοινωνήσει µε το Nessus Client και να επιστρέψει την κατάσταση του ελέγχου στον Portal Server σαν απάντηση της HTTP αίτησης. Με παρόµοιο τρόπο επιστρέφονται και τα τελικά αποτελέσµατα ενός ελέγχου. ιεπαφή Portal Server Auth Server Η λειτουργικότητα του Auth Server µπορεί σχετικά εύκολα να υλοποιηθεί µέσα στον Portal Server. Στην περίπτωση αυτή, οι αιτήσεις προς τον Auth Server θα γίνονται µε τη χρήση κάποιου εσωτερικού API που εξαρτάται από την τεχνολογία υλοποίησης του Portal Server, π.χ. µε µορφή συναρτήσεων PHP. Αν αποφασιστεί τα δύο υποσυστήµατα να δουλεύουν σε χωριστά µηχανήµατα, τότε θα χρησιµοποιηθεί πάλι το πρωτόκολλο HTTP για την επικοινωνία τους, µε τρόπο ανάλογο που θα χρησιµοποιηθεί και για την επικοινωνία του Portal Server µε το Nessus Host. ιεπαφή Portal Server Report Server Όπως έχει ήδη αναφερθεί, οι µηχανισµοί επικοινωνίας Portal Server Report Server έρχονται έτοιµοι µαζί µε κάθε τεχνολογία υλοποίησης για Portals. Οι µηχανισµοί αυτοί επιτρέπουν την επικοινωνία των δύο υποσυστηµάτων µε τη χρήση 132

147 επερωτήσεων SQL. Αν τα δύο υποσυστήµατα βρίσκονται σε διαφορετικά µηχανήµατα, οι επερωτήσεις και οι απαντήσεις σε αυτές µεταφέρονται αυτόµατα πάνω από συνδέσεις TCP. ιεπαφή Portal Server VPN Router Και η επικοινωνία Portal Server VPN Router είναι πολύ βολικό να γίνει µε τη χρήση του πρωτοκόλλου HTTP. Για παράδειγµα, για να επιτραπεί η δηµιουργία ενός νέου VPN ο Portal Server θα κάνει µια HTTP αίτηση της µορφής: «GET /newvpn?endpoint=<ip>&scanned=<ip range>». Η χρήση του HTTP πρωτοκόλλου σε όσες επικοινωνίες είναι δυνατό θα διευκολύνει την αποσφαλµάτωση του συστήµατος. Επίσης, θα επιταχύνει και την υλοποίηση, καθώς υπάρχουν πολλές έτοιµες λύσεις για το χειρισµό του HTTP όποια τεχνολογία και αν επιλεγεί για κάθε υποσύστηµα Σύνοψη σχεδιασµού του συστήµατος ΕΣΤΙΑ Στα παραπάνω περιγράφτηκε ο σχεδιασµός του συστήµατος ΕΣΤΙΑ. Το σύστηµα ΕΣΤΙΑ θα είναι µια αυτόµατη υπηρεσία ελέγχου των προσωπικών υπολογιστών. Η υπηρεσία αυτή θα προσφέρεται µέσα από το ιαδίκτυο δίνοντας την δυνατότητα στον απλό χρήστη να ελέγξει και να βελτιώσει την ασφάλεια του υπολογιστή του. Το σύστηµα ΕΣΤΙΑ έχει σχεδιαστεί ως ένα σύνολο από υποσυστήµατα τα οποία συνεργάζονται µεταξύ τους και µας δίνουν τελικά την επιθυµητή λειτουργικότητα. Περιγράφτηκε το κάθε υποσύστηµα ξεχωριστά καθώς και τις αλληλεπιδράσεις µεταξύ τους. Κατά την περιγραφή του κάθε υποσυστήµατος παρουσιάστηκαν τα κρίσιµα θέµατα που το αφορούν και τα οποία θα πρέπει να επιλυθούν. Τα σηµαντικότερα από αυτά είναι η τεχνολογία παρουσίασης της προόδου ενός ελέγχου στο χρήστη, ο βαθµός παραλληλισµού που θα πρέπει να χρησιµοποιηθεί στο Nessus Host, ο τρόπος που θα ξεπεραστούν οι τυχόν περιορισµοί στην επικοινωνία του Ελεγχόµενου Υπολογιστή. 133

148 Τέλος, περιγράφτηκαν οι διεπαφές των υποσυστηµάτων. Επιλέχθηκαν οι διεπαφές να χρησιµοποιούν το πρωτόκολλο HTTP, όπου είναι δυνατό, έτσι, ώστε να διευκολυνθεί η υλοποίηση αλλά και η αποσφαλµάτωση του συστήµατος. ΚΕΦΑΛΑΙΟ 5 ΠΑΡΟΥΣΙΑΣΗ & ΑΞΙΟΛΟΓΗΣΗ ΤΟΥ METASPLOIT 5.1. Εισαγωγή στο MSF Το MetaSploit Framework (MSF) είναι ένα ανοιχτού κώδικα exploitation framework δηλαδή µία ισχυρή πλατφόρµα παροχής ολόκληρης υποδοµής (framework) πολιορκητικών πακέτων (exploits) των πληροφοριακών συστηµάτων που περιλαµβάνει ανάπτυξη και διαχείριση των πολιορκητικών πακέτων εκµετάλλευσης τρωτοτήτων (exploits) όπως και των (payloads),nop (No OPeration) γεννήτριες, βιβλιοθήκες πρωτοκόλλων, ρουτίνες κωδικοποίησης και τελικά ένα ευρύτατο φάσµα εργαλείων για ανίχνευση και εξερεύνηση, δικτύων όπως 134

149 και πλήθος άλλων εφαρµογών προσανατολισµένων πάντα στην ασφάλεια πληροφοριακών συστηµάτων. Όλες αυτές οι επιλογές και οι παράµετροι εκτελούνται θέτοντας τις ως ορίσµατα στην msfcli γραµµή εντολών η οποία είναι ιδανική για τους χρήστες που προτιµούν εντολοδότηση κονσόλας ενώ ο msfweb web server επιτρέπει στον χρήστη να έχει πρόσβαση στην MSF πλατφόρµα µέσω ενός απλού φυλλοµετρητή ιστοσελίδων. Το MSF γράφτηκε αρχικά σε αντικειµενοστραφή Perl ενώ αργότερα σε Ruby, C, C++, και assembler γεγονός που το καθιστά απόλυτα συµβατό τόσο στα Windows, όσο και στα Unix based συστήµατα,περιλαµβάνοντας Linux, Mac OS X και πλήθος λειτουργικών συστηµάτων. To MSF το οποίο παρέχει υποστήριξη για πάνω από διακόσια exploits έχει αναπτυχθεί και επεκταθεί δραστικά από τους H. D Moore, Matt Miller [scape] και τον spoonm οι οποίοι αποτελούν τον βασικό πυρήνα της εξελικτικής πορείας του MSF τα τελευταία χρόνια. Ο καλύτερος τόπος ενηµέρωσης ολόκληρης της λίστας των εκµεταλλευτών τρωτοτήτων υποστηριζόµενων από το MSF 3.0 είναι στην ηλεκτρονική διεύθυνση metasploit.com /svn/framework3 /trunk/modules /exploits/. Η δηµοφιλία και προοπτική του MSF µπορεί να εκτιµηθεί από τις στατιστικές του H. D Moore που παρουσιαστήκαν στο Cansecwest , όπου αποκαλύπτουν ότι αναφέρεται σε 17 βιβλία, 950 blogs και 190 άρθρα. Από την στιγµή της σταθερής έκδοσης 3.0 τον Μάρτιο του 2007 το MSF έχει κατεβαστεί µέσω διαδικτύου πάνω από φορές σε λιγότερο από δύο µήνες. Επίσης, την ίδια περίοδο η msfupdate εφαρµογή που χρησιµοποιείται, για να ενηµερώσει το Framework απευθείας από την γραµµή εντολών, έχει χρησιµοποιηθεί από περισσότερες από IP διευθύνσεις( H. D Moore,2007).Ενδεικτικό ακόµα είναι ότι σε Blackhat συνέδριο στο Las Vegas τo 2004 ο spoonm ανέφερε ότι : Με την άφιξη του MSF 3.0 επαναπροσδιορίζεται ολόκληρη η προσέγγιση του ελέγχου ασφάλειας, αφού δεν πρόκειται για ακόµα µία exploit πλατφόρµα αλλά χάρη στις διεπαφές προγραµµάτων (API s),την αρχιτεκτονική και όλη την φιλοσοφία πίσω από το εργαλείο,η ενασχόληση µε αυτό δίνει την ευκαιρία για µια από τις πιο συναρπαστικές εµπειρίες στη σύγχρονη εποχή του ελέγχου τρωτότητας πληροφοριακών συστηµάτων Η MSF Αρχιτεκτονική και Τεχνολογία Η MSF αρχιτεκτονική υποστηρίζει τα ακόλουθα: 135

150 Εκτέλεση επικουρικών και exploit modules από το τοπικό µηχάνηµα που τρέχει το MSF Επιλογή συγκεκριµένων ωφέλιµων φορτίων (payloads), ρυθµίσεις δοµής και επιλογές κωδικοποίησης Υψηλή διαδραστικότητα µέσω του πολυλειτουργικού Metepreter Windows ωφέλιµου φορτίου To MSF αποτελείται από πλήθος συστατικών όπου ενεργούν, ώστε καταρχήν να αποκαλύψουν ένα σύστηµα και µετά να αλληλεπιδράσουν µε τον επιθυµητό host. Το σύνολο των συστατικών που δοµούν το MSF φαίνεται στη Εικόνα 5.1. Οι θεµέλιοι λίθοι της αρχιτεκτονικής του MSF που αναλύονται στη συνέχεια είναι τα : Rex Framework Core Framework Base Interfaces Modules Plugins Εικόνα 5.1. MSF Αρχιτεκτονική Rex 136

151 Το Rex είναι ο θεµέλιος φθόγγος στη συγχορδία της MSF σύνθεσης.το Rex προκύπτει από το Ruby Extension Library (βιβλιοθήκη της Ruby γλώσσας προγραµµατισµού) και έχει αρκετές οµοιότητες µε την προκατόχου του στις 2.x σειρές εκδόσεων, Perl Library. H Rex βιβλιοθήκη ουσιαστικά είναι µια συλλογή από όλες τις απαραίτητες κλάσεις και modules που µπορούν να χρησιµοποιηθούν από προγραµµατιστές,ώστε να αναπτύξουν µελέτες και εργαλεία γύρω από το MSF διαµορφώνοντας,τελικά, το συνολό του στα µέτρα και τις απαιτήσεις τους. Framework Core Ο πυρήνας της πλατφόρµας (Framework Core) αποτελείται από πολυειδή υποσυστήµατα, όπως αυτά για τη διαχείριση των modules,την διαχείριση των συνόδων και την διεκπεραίωση εκβάσεων και γεγονότων.ο πυρήνας,επίσης, παρέχει τους απαραίτητους συνδέσµους και διεπαφές αλληλεπίδρασης ανάµεσα στα modules και στα plugins µε όλη την υπόλοιπη MSF υποδοµή. Ακολουθώντας την αντικειµενοστραφή προσέγγιση όλης της αρχιτεκτονικής το ίδιο το MSF αποτελεί µία κλάση από µόνο του,κάτι που συνεπάγεται ότι µπορεί να χρησιµοποιηθεί σαν στιγµιότυπο και αυτό,όπως κάθε άλλο αντικείµενο. Ο πυρήνας της πλατφόρµας αποτελείται από τρία στοιχεία. Αυτά είναι: Datastore που είναι µια δεξαµενή από δυναµικές τιµές και µεταβλητές χρήσιµες τόσο για την ανάπτυξη, όσο και για την χρήση του MSF,όπου γενικά επηρεάζουν τον τρόπο εξέλιξης των διαδικασιών και άρα όλη τη συµπεριφορά της εκάστοτε επιχείρησης. Χαρακτηριστικό παράδειγµα αποτελούν οι µεταβλητές περιβάλλοντος (evironment variables). Event Notification όπου δίνει στον προγραµµατιστή την δυνατότητα ειδοποίησης και αντίδρασης σε συγκεκριµένα γεγονότα που προκύπτουν. Γεγονότα που πρέπει να γνωστοποιούνται στον χρήστη,όπως η επιτυχηµένη έκβαση ενός exploit ή η ανακάλυψη ενός νέου διαθέσιµου host. Framework Managers που αποτελείται από υποσυστήµατα υπεύθυνα για τη διαχείριση των modules, των plug-ins, των οντοτήτων αναγνώρισης του στόχου,των συνόδων και µεµονωµένων σύντοµων στιγµιότυπων των προγραµµάτων (jobs). 137

152 Framework Base Η βάση της πλατφόρµας (Framework Base) είναι χτισµένη στην κορωνίδα του πυρήνα της πλατφόρµας και παρέχει τις διεπαφές που θα διευκολύνουν την αλληλεπίδραση µε τον πυρήνα. Κάποιες από αυτές είναι η Configuration, όπου βοηθά στη συντήρηση µίας συνεχής διάταξης και απόκτησης πληροφοριών για τη δοµή των εγκαταστάσεων, όπως η πηγή προέλευσης µίας εγκατάστασης και άλλες παραµέτρους. Επίσης,η διεπαφή Logging, όπου χάρη σε αυτές το MSF παρέχει εκτεταµένη και προσαρµοστική υποστήριξη Logging, υπηρεσιών, δηλαδή, που ταυτοποιώντας ξεχωριστά κάθε οντότητα επιτρέπεται ή όχι η είσοδος και έξοδος από το σύστηµα. Τέλος, οι Sessions όπου η βάση διατηρεί πληροφορίες για τον έλεγχο και την συµπεριφορά των συνόδων του χρήστη. Η πλατφόρµα παρέχει, επίσης, κλάσεις και µεθόδους, ώστε να απλοποιήσει τις αλληλεπιδράσεις µε αυτή, όπως σε περιπτώσεις όπου συναλλάσσονται exploits, NOPs, ωφέλιµα φορτία (payloads) και modules ανίχνευσης. Interfaces Οι διεπαφές χρησιµοποιούνται για αλληλεπιδράσεις, όπως επιλογή modules ή προσαρµογές πάνω στα exploits και στα payloads. Η πλατφόρµα µπορεί να τρέξει µε τρεις τρόπους: Χρησιµοποιώντας µια αλληλεπιδραστική κονσόλα γραµµής εντολών (msfconsole ) Χρησιµοποιώντας µια µη-αλληλεπιδραστική κονσόλα γραµµής εντολών (msfcli) Ως web υπηρεσία υποστηρίζοντας πολλαπλές συνόδους και χρήστες (msfweb). Η mfsconsole είναι παραδοσιακά το πρωταρχικό µέσο ελέγχου του MSF. Μετά την εγκατάσταση του προγράµµατος η κονσόλα µπορεί να εµφανιστεί εισάγοντας απλά την εντολή./msfconsole (για UNIX) και msfconsol (για Windows) στο µονοπάτι που έγινε η εγκατάσταση. Η οθόνη που εµφανίζεται φαίνεται στην εικόνα 5.2 και παρουσιάζει το Metasploit λογότυπο, την έκδοση του, τον αριθµό των 138

153 exploits, τα payloads, τους κωδικοποιητές, τα NOPs και τα επικουρικά modules (aux) που είναι διαθέσιµα. Εικόνα 5.2. Η mfsconsole διεπαφή. Για µια πρώτη προσέγγιση πληκτρολογώντας την εντολή help προκύπτει η οθόνη στην Εικόνα 5.3 µε τις βασικές εντολές και µια σύντοµη περιγραφή τους. Εικόνα 5.3. Έξοδος της help εντολής. Η msfweb διεπαφή είναι η µοναδική διαθέσιµη GUI διεπαφή στο MSF. εν παρέχει την ασφάλεια του msfconsole αλλά είναι ο προτεινόµενος τρόπος αλληλεπίδρασης για Windows συστήµατα. Αυτή η διεπαφή µπορεί να 139

154 χρησιµοποιηθεί µε πλήθος επιλογών που είναι διαθέσιµες µε την h εντολή εκτροπής, όπως φαίνεται στο ακόλουθο παράδειγµα : [root@rhl framework-3.0-alpha-r3]#./msfweb h Usage: msfweb <options> OPTIONS: -a <opt> Bind to this IP address instead of loopback -d Daemonize the web server -h Help banner -p <opt> Bind to this port instead of v <opt> A number between 0 and 3 that controls log verbosity Άρα, για παράδειγµα η ακόλουθη εντολή ζητά περιήγηση στην Web διεπαφή στην ΙΡ διεύθυνση ,στην προκαθορισµένη θύρα και να σταλθεί σε daemon µορφή :./msfweb -a d Επιτυγχάνεται η πρόσβαση στην Web διεπαφή µέσω ενός οποιοδήποτε φυλλοµετρητή ιστοσελίδων (Mozilla Firefox, Microsoft Internet Explorer, ή Safari) στην εξορισµού διεύθυνση φαίνεται στην εικόνα

155 Εικόνα 5.4. Πρόσβαση στην Web διεπαφή µέσω ΙΕ7. Η msfcli µορφή διεπαφής οµοιόµορφη της msfconsole εξωτερικά επιτρέπει στα exploits να δράσουν µέσα από UNIX και Windows γραµµές εντολών χωρίς να χρειάζεται να ενεργοποιηθεί η msfconsole διεπαφή. Αυτός είναι ο καταλληλότερος τρόπος για γρήγορη και απευθείας ενεργοποίηση ενός exploit θέτοντας κατευθείαν τις επιθυµητές παραµέτρους ως ορίσµατα γραµµής εντολών. Είναι,επίσης,χρήσιµο σε περιπτώσεις όπου µεγάλος αριθµός συστηµάτων είναι απαραίτητος να εξετασθεί για τις ίδιες τρωτότητες. Το παρακάτω παράδειγµα παρουσιάζει ένα άµεσο και εύκολο τρόπο να ενεργοποίησης ενός exploit χρησιµοποιώντας την msfclient διεπαφή. Στην Εικόνα 5.5 φαίνεται ενεργοποίηση του exploit απέναντι στον στόχο. Η µέθοδος είναι η εξής : 1. Εκδήλωση ενδιαφέροντος για ένα συγκεκριµένο exploit θέτοντας./msfcli <exploit_name> S 2. Εµφάνιση διαθέσιµων ωφέλιµων φορτίων (payloads) µε την./msfcli <exploit_name> P 141

156 3. Επιλογή του payload µε το συγκεκριµένο exploit και έκθεση των επιλογών που πρέπει να καθοριστούν µέσω της./msfcli <exploit_name> PAYLOAD=<payload_name> O 4. Για τη λίστα των διαθέσιµων στόχων την./msfcli <exploit_name> PAYLOAD=<payload_name> T 5. Τοποθέτηση των απαιτούµενων επιλογών στη φόρµα option=value και εκτέλεση µε την Ε µέθοδο. Εικόνα 5.5. Εκτέλεση exploit στην msfcli διεπαφή Modules Τα modules µέσα στην πλατφόρµα συνίστανται στα : Exploits. Είναι γραµµένα σε Ruby και αποτελούν το επίκεντρο του ενδιαφέροντος όλης της πλατφόρµας. Είναι αυτά που πυροδοτούν τις υπερχειλίσεις και τα ζωύφια λογισµικού (bugs) στον διακοµιστή του στόχου και εγχύνουν σε αυτόν τα επιλεγµένα payloads τα οποία θα τρέξουν κώδικα ή θα εκτελέσουν χρήσιµες ενέργειες. Payloads. Εάν στεφθούν µε επιτυχία τα exploits υπάρχουν πολλές επιλογές για την εξέλιξη των ενεργειών που θα πραγµατοποιηθούν στον στόχο. Σε αυτή τη φάση λοιπόν τα payloads είναι τα κοµµάτια 142

157 κώδικα τα οποία εφορµούν στο εσωτερικό του στόχου και αποτελούν αναπόσπαστο µέρος της όλης επιχείρησης κατάκτησης του αποµακρυσµένου συστήµατος. Αυτά περιλαµβάνουν ενέργειες όπως εγγραφή χρηστών στο σύστηµα, εκτέλεση συγκεκριµένων εντολών, απόκτηση διαχειριστικών δικαιωµάτων του στόχου, διείσδυση VNC DLL γεννητριών για επίτευξη αποµακρυσµένης πρόσβασης µε γραφικές δυνατότητες GUI, ακόµα και Meterpreter ενέργειες. Ιδιαίτερα οι δύο τελευταίες δυνατότητες DLL inject και Meterpreter είναι πολύ σηµαντικές. H VNC διείσδυση είναι πολύ χρήσιµη αφού παρέχει εκτενή αποµακρυσµένη πρόσβαση µε SYSTEM δικαιώµατα πάνω στην εκτεθειµένη µηχανή. Ακόµα και αν το desktop είναι κλειδωµένο µπορεί να χρησιµοποιηθεί το explorer.exe από το κέλυφος (shell) γραµµής εντολών που εναποτίθεται όποτε συνδέεται ο χρήστης µέσω VNC. Επίσης εξαιρετικά χρήσιµο είναι και το Metepreter το οποίο είναι εξειδικευµένο πολυχρηστικό Windows payload που λαµβάνει δράση µετά (Meta-Interpreter) από ένα επιτυχηµένο exploit µε το πιο αποτελεσµατικό και διακριτικό τρόπο. Το Metepreter θυµίζει τεχνικές εµπορικών προγραµµάτων όπου φτάνοντας στο στόχο αποκτούν πλήρη έλεγχο των διαδικασιών και τιθασεύουν τα δικαιώµατα αυτών στα µέτρα που επιθυµεί ο επιτιθέµενος. Το σηµαντικό µε το Metepreter είναι ότι όλες οι βιβλιοθήκες και τα extensions που φορτώνει εξάγονται αποκλειστικά από τη µνήµη και δεν έρχονται σε επαφή ποτέ µε τον δίσκο, δρώντας έτσι κάτω από την εµβέλεια ελέγχου των αµυντικών µηχανισµών. Ένα payload είναι συνήθως µια αλληλουχία από assembly εντολές που για να συντεθούν µε επιτυχία ο προγραµµατιστής πρέπει να έχει καλή γνώση τόσο της assembly όσο και των εσωτερικών διεργασιών του στοχευόµενου λειτουργικού συστήµατος. Μεγάλη βοήθεια προσφέρουν πλέον κάποια scripts που αποφεύγουν την δύσκολη assembly αλλά είναι ισάξια στην ανάπτυξη των modules. Επίσης εξαιρετικό είναι το ότι το MSF φτάνει µε ένα αρκετά µεγάλο αριθµό προεγκατεστηµένου κώδικα πολύ σηµαντικών και χρήσιµων payloads, γεγονός που διευκολύνει και βελτιώνει σηµαντικά την ευελιξία στην 143

158 κατάκτηση του στόχου. Ένα αντιπροσωπευτικό δείγµα αυτών µε σύντοµη περιγραφή φαίνεται στον πίνακα 5.1. Από τη στιγµή λοιπόν που τα payloads δεν είναι τίποτα παραπάνω από σειρές assembly εντολών συχνά συνοδευόµενα από NOP sleds,είναι πιθανό οι µηχανισµοί σύγκρισης και αναγνώρισης µοτίβων δικτυακής κίνησης (signatures) να έχουν αναπτυχθεί έτσι ώστε να αναγνωρίζουν τέτοιες επιθέσεις. Γι αυτό το λόγο η κωδικοποίηση είναι απαραίτητη και παραλλαγές NOP sleds πρέπει να χρησιµοποιηθούν ώστε να υπεκφύγουν από τα IDS ή IPS (Intrusion-prevention system) συστήµατα ανίχνευσης και άµυνας του στόχου. Άξια αναφοράς είναι τα connect-back payloads NOP Generators. Συχνά η ακριβής στόχευση της αποµακρυσµένης µηχανής δεν είναι σίγουρη και γι αυτό NOPs τεχνικές πρέπει να προηγηθούν της αληθούς εξερεύνησης. ΝΟΡ είναι ακολουθίες εντολών assembly συνήθως, µε καµία απολύτως πραγµατική δράση (NoOPeration) αφού δεν αλλάζουν την κατάσταση σε καµία οντότητα των υπολογιστών παρά απαιτούν συγκεκριµένο αριθµό κύκλων χρονισµού για να εκτελεστούν επαναλαµβανόµενες αναποτελεσµατικές εντολές (π.χ η sethi 0,%g0 που σε µικροεπεξεργαστές SPARC της Sun είναι η καταλληλότερη). Ουσιαστικά χρησιµοποιείται κυρίως για χρονοπρογραµµατιστικούς σκοπούς ή για να καταλαµβάνει χώρο που φυλάει για µια εποµένη διαδικασία. Τα NOP sleds βοηθούν στην παράκαµψη προκαθορισµένων διαύλων των ροών εντολών της κεντρικής µονάδας επεξεργασίας (CPU) ώστε να καταλήγει η επίθεση στον προορισµό της αποφεύγοντας οδούς όπου θα επέφεραν πιθανά εµπόδια. Με σκοπό λοιπόν να αποτραπούν τα IDS συστήµατα από το να αναγνωρίσουν αποτυπώµατα αυτών των ύποπτων τεχνικών, διάφορες NOP γεννήτριες του MSF κρυπτογραφούν τις NOP ακολουθίες ή τα NOP sleds και έτσι αυτά λειτουργούν ανενόχλητα. Encoders.(Κωδικοποιητές) Όπως µε τα NOPs τα payloads µπορούν επίσης να αφυπνίσουν τα IDS συστήµατα στο στρώµα εφαρµογών ή 144

159 δικτύου. Αυτό µπορεί να αποφευχθεί αποκρύπτοντας και κωδικοποιώντας τα φορτία των payload πακέτων ώστε να περάσουν αθόρυβα και ανενόχλητα µέσα από το δίκτυο. Κατόπιν αποκωδικοποιούνται στον στόχο και ενεργούν όπως προβλέπεται. Auxiliary Modules. Μια σηµαντική προσθήκη στο MSF 3.0 είναι τα επικουρικά modules τα οποία παρέχουν επιπλέον βοήθεια και λειτουργικότητα στον penetration ερευνητή σε θέµατα fingerprinting και vulnerability scanning. Για παράδειγµα ένα από τα επικουρικά modules επιτρέπει τη σύνδεση σε ένα MS SQL Server,ενώ ένα άλλο module επιχειρεί να ανιχνεύσει την έκδοση και το service pack του αποµακρυσµένου Windows συστήµατος, βασιζόµενο στην SMB συµπεριφορά πρωτοκόλλου και στους διαύλους λιστών ελέγχου πρόσβασης (ACLs). H ιδέα είναι να υπάρχει η δυνατότητα αυτοµατοποίησης όλου του κύκλου του penetration ελέγχου και ακόµα η δυνατότητα παραγωγής αναφορών αποτελεσµάτων. Μία πλήρης λίστα των διαθέσιµων modules της πλατφόρµας είναι διαθέσιµη εισάγοντας την show all εντολή στην msfconsole διεπαφή. Παραπάνω πληροφορίες για κάθε διαθέσιµο exploit, payload, NOP γεννήτρια ή encoder είναι διαθέσιµες χρησιµοποιώντας την info <module_name> από την κονσόλα διεπαφών. Plugins Τα plugins είναι µια νέα έννοια της 3.0 MSF έκδοσης. Συγκριτικά µε τα modules τα plugins έχουν σχεδιαστεί έτσι ώστε να αλλάζουν το MSF αυτό καθ αυτό. Η εισαγωγή των plugins είναι που εξυψώνει την ωφελιµότητα του framework ως εργαλείο ανάπτυξης ασφάλειας. Για παράδειγµα ένα plugin µπορεί να αναπτυχθεί έτσι ώστε να προσθέτει µια καινούργια εντολή στην διεπαφή κονσόλας ελέγχου. Ακόµα µπορεί να δηµιουργηθεί ένα plugin που θα προσδιορίζει τις αποµακρυσµένες µηχανές στο δίκτυο και θα κατονοµάζει τις υπηρεσίες που θα τρέχουν σε αυτές. Στη συνέχεια σύµφωνα µε τα προηγούµενα αποτελέσµατα θα δοκιµάζει ένα προκαθορισµένο πλήθος exploit και διάφορους τύπους payloads που θα επιτρέψουν την κατάκτηση του αποµακρυσµένου µηχανήµατος. Παράλληλα µε αυτά θα διατηρείται και µια βάση δεδοµένων που θα 145

160 κατακρατά όλες τις παραπάνω ενέργειες και τα αποτελέσµατα αυτών. Επίσης µπορεί να καθοριστεί η αλληλουχία των εργασιών ελέγχου. Γενικά είναι κάτι που εξαρτάται απόλυτα από την δηµιουργικότητα του ερευνητή ασφάλειας. Πίνακας 5.1. Βασικά modules Αναγνώριση Λειτουργικού Συστήµατος µε MSF Αφού έχει επιτευχθεί επιτυχώς πρόσβαση σε µία κονσόλα χρησιµοποιώντας το MSF, µπορεί ο χρήστης να ακολουθήσει την εξής µέθοδο ώστε να κατακτήσει τον στόχο: Επιλογή του κατάλληλου exploit module που θα χρησιµοποιηθεί Επιλογή του exploit payload που θα χρησιµοποιηθεί Επιλογή της στοχευόµενης µηχανής και του εφαλτηρίου επίθεσης Για να εµφανιστούν οι exploit εντολές σε µια MSF λίστα exploit modules γίνεται χρήση της show exploits όπως φαίνεται στην εικόνα

161 Εικόνα 5.6. Show exploits εντολή Απαραίτητο για το MSF ώστε να παρέχει το δυνατόν περισσότερα και πιο σύγχρονα exploits modules είναι να έχει την πιο πρόσφατη ενηµέρωση χρησιµοποιώντας το Update tool για τα Windows ή µε τον περιοδικό έλεγχο των αποθηκών ενηµερώσεων χρησιµοποιώντας το Subversion (βλ. συνέχεια για την προβολή πληροφοριών συγκεκριµένων exploit πρέπει να γίνει χρήση της info εντολής. Για παράδειγµα αν ενδιαφέρει τον χρήστη το lsass exploit χρησιµοποιώντας την info παίρνει τα αποτελέσµατα της εικόνας

162 Εικόνα 5.7. Αποτελέσµατα info lsass. Κατόπιν για την φόρτωση ενός exploit module γίνεται χρήση της εντολής msf > use lsass_ms04_011 (εικόνα 5.8). Εικόνα 5.8. Χρήση της use στην κονσόλα. Εφόσον λοιπόν έχει επιλεχθεί ένα exploit για χρήση πρέπει επίσης να προσδιοριστεί: To επιθυµητό payload Οι προτιµήσεις πάνω στo exploit και στο payload Για να παρουσιαστούν τα συµβατά payloads, γίνεται χρήση της show payloads επιλογής όπως φαίνεται στην εικόνα

163 Εικόνα 5.9. Χρήση της show payloads. Στη συνέχεια πρέπει να επιλεχθεί το επιθυµητό payload χρησιµοποιώντας την set PAYLOAD εντολή.εδώ επιλέγεται το Windows Reverse Shell payload όπου αυτό επιτρέπει την προσάρτηση στο σύστηµα του στόχου και µετά την παράδοση ενός κελύφους ελέγχου (shell) πίσω στον επιτιθέµενο. Στην εικόνα 5.10 φαίνεται η παραπάνω εντολοδότηση : Εικόνα set PAYLOAD εντολή. Αφού λοιπόν έχει επιλεχθεί το exploit module και το payload µπορεί στη συνέχεια ο χρήστης να επιθεωρήσει και να θέσει σε κατάσταση λειτουργίας πληθώρα προτιµήσεων,όπως τοπική ΙΡ διεύθυνση και θύρα για τον προσδιορισµό της τοποθεσίας που θα επιστραφούν τα δικαιώµατα ελέγχου από το παραπάνω payload, επιλογές στόχευσης για το ίδιο το exploit και οτιδήποτε άλλες µεταβλητές. Επιλογές µεταβλητών οι οποίες,µε σκοπό την εύρυθµη λειτουργία της έρευνας, διαφοροποιούνται ανάλογα µε το συνδυασµό exploits και τα payloads που έχουν προτιµηθεί προηγούµενος. Μπορούν να γνωστοποιηθούν οι επιλογές που είναι διαθέσιµες χρησιµοποιώντας την set ή show options εντολή (msf lsass_ms04_011(win32_reverse) > show options)όπως φαίνεται στην Εικόνα

164 Στο Metasploit συχνά είναι εξορισµού καθορισµένα αρκετά πεδία παρόλο που πάντα χρειάζονται προσαρµογή αυτά στον εκάστοτε στόχο. Σε αυτή τη περίπτωση το payload που έχει επιλεχθεί απαιτεί την είσοδο της διεύθυνσης της αποµακρυσµένης µηχανής που θα χρησιµοποιηθεί. Η ρύθµιση αυτών των εντολών έγινε µε την βοήθεια των παρακάτω εντολών που φαίνονται και στην Εικόνα msf lsass_ms04_011(win32_reverse) > set RHOST msf lsass_ms04_011(win32_reverse) > set LHOST Εικόνα Set options εντολή. Γενικά στην προκειµένη περίπτωση,όπως φαίνεται και στην Εικόνα 5.11, θα µπορούσαν να καθοριστούν οι ακόλουθες µεταβλητές : IP διεύθυνση στόχου (RHOST) Θύρα στόχευσης για την τρωτή υπηρεσία (RPORT) Μηχανισµός εξόδου που χρησιµοποιείται από το payload στη φάση εξέλιξης του overflow (ΕΧΙΤFUNK) Τοπική ΙΡ διεύθυνση (LHOST) Τοπική θύρα (LPORT) 150

165 Καθορισµός τιµών για έρευνα και κατάκτηση διαφορετικών εκδόσεων του server (Target). Το µόνο που µένει τώρα είναι να τρέξει το exploit εισάγοντας την τελευταία εντολή : msf lsass_ms04_011(win32_reverse) > exploit Μέσα σε λίγα δευτερόλεπτα αναδύεται ένα Windows command prompt έχοντας ανακαλύψει ότι το λειτουργικό σύστηµα του στόχου είναι Windows 2000 όπως φαίνεται στην Εικόνα Η OS Fingerprint έρευνα στέφθηκε µε επιτυχία! Εικόνα Αποτέλεσµα exploit. Η γνώση του απέναντι λειτουργικού συστήµατος είναι απαραίτητη για το penetration έλεγχο αφού µόνο έτσι µπορούν να πυροδοτηθούν οι κατάλληλες ενέργειες που θα οδηγήσουν στην κατάκτηση του στόχου αξιολογώντας τελικά τον βαθµό ευπάθειας του συστήµατος-στόχου 151

166 ΚΕΦΑΛΑΙΟ 6 ΠΑΡΟΥΣΙΑΣΗ & ΑΞΙΟΛΟΓΗΣΗ ΤΟΥ CORE IMPACT 6.1. Εισαγωγή στο Core Impact Το IMPACT 7.5 από την εταιρεία Core Security ( είναι µια εµπορική πλατφόρµα παροχής πλήθους τεχνολογιών ελέγχου διείσδυσης βασισµένη στα Windows άλλα µε δυνατότητες στόχευσης στα συστήµατα Windows Vista, 2003, XP, 2000, NT4, Linux, Mac OS X, AIX, Sun Solaris, OpenBSD. Υποστηρίζει προηγµένες δυνατότητες τόσο σε θέµατα αποµακρυσµένης διαχείρισης όσο και στα αποτελέσµατα και πορίσµατα ελέγχων ενώ παράλληλα παρέχει πλήθος προεγκατεστηµένων και πολύ ισχυρών τεχνικών πολιορκίας εκ των οποίων ορισµένες δεν είναι δηµοσίως διαθέσιµες. Αποτελεί την πιο ολοκληρωµένη και πλούσια σε δυνατότητες εµπορική λύση στη κατηγορία του και παρόλο που το κόστος αυτής της πλατφόρµας τον καιρό που εκπονήθηκε η παρούσα εργασία αρχίζει από τα $10,000 και ξεπερνάει και τα $50.000, η περιεκτικότητα,οι δυνατότητες,η ευελιξία και η ευκολία χρήσης αποζηµιώνουν το κόστος µε το παραπάνω ( Το συµβόλαιο αγοράς παρέχει συχνές αναβαθµίσεις και ενηµερώσεις µε τροφοδοσία επίκαιρων πάντα διαµορφωµάτων ελέγχου ασφάλειας. Οι χρήστες µπορούν φυσικά να συντάξουν τα δικά τους διαµορφώµατα και να τα προσθέσουν στην βιβλιοθήκη των ήδη υπαρχόντων. Οι πλατφόρµες ελέγχου και τα εργαλεία διείσδυσης γενικά είναι πολύπλοκες εφαρµογές που απαιτούν εξειδικευµένους χρήστες. Πολλές φορές όπως έχει φανεί και στη παρουσίαση των υπόλοιπων εργαλείων αυτής της εργασίας επιβάλλεται ο χειρισµός να γίνεται µέσω γραµµής εντολών και παράλληλα απαιτείτε επένδυση αρκετού χρόνου για την σύνταξη των κατάλληλων αλληλουχιών πακέτων πολιορκίας του στόχου κάτι που σε επίπεδο έρευνας είναι θεµιτό αλλά σε περιπτώσεις µεγάλων 152

167 εµπορικών οργανισµών η ταχύτητα, η ευκολία, η ακρίβεια και η χρηστικότητα είναι ζωτικής σηµασίας. Εδώ είναι που το Core Impact 7.5 κάνει την διαφορά. Πρόκειται για ένα προϊόν φτιαγµένο για µη εξειδικευµένους ελεγκτές ασφάλειας και χρήστες διατηρώντας όµως τα τεχνολογικά και ποιοτικά στάνταρ της κατηγορίας του στο ακέραιο. Το Impact µπορεί να εκτελέσει ένα σύνολο από προκαθορισµένες λειτουργίες όπου διαδοχικά σαρώνουν ολόκληρο το δίκτυο για εύρεση τρωτοτήτων επιχειρώντας διεισδύσεις και εγκαθιδρύσεις διαύλων αλληλεπίδρασης µέσω µικροκελυφών (micro-shells) συνεχίζοντας µε απανωτούς τοπικούς ελέγχους. Φυσικά η εξατοµικευµένη σύνταξη διαµορφωµάτων προσανατολισµένη ακριβώς στις ανάγκες της κάθε περίπτωσης παραµένει αναντικατάστατο εργαλείο για τον έµπειρο διαχειριστή ασφάλειας ο οποίος έχει αυτή την δυνατότητα δηµιουργίας µέσω της γλώσσας προγραµµατισµού Python µε την οποία είναι γραµµένα όλα τα διαµορφώµατα και συµβατά µε τη CVE (common vulnerabilities and exposures).η CVE είναι µία συλλογή γνωστών τρωτοτήτων υποστηριζόµενη από τη εθνική µονάδα κυβερνοασφάλειας του υπουργείου άµυνας των Η.Π.Α κάτι που είναι µοναδικό για τέτοια εργαλεία. Το προϊόν αυτό ανιχνεύει όλες τις κινήσεις των χρηστών του συστήµατος και δηµιουργεί λεπτοµερή ηµερολόγια καταγραφής συµπεριφοράς χρηστών και προγραµµάτων. Αξιοσηµείωτη είναι η ποικιλία των ποιοτικών,ξεκάθαρων και πάντα περιεκτικών αναφορών και παρουσιάσεων αποτελεσµάτων που διατίθενται για κάθε κατηγορία χρήστη. Επίσης η υποστήριξη είναι κορυφαία και παρόλο που πρόκειται για ένα εµπορικό προϊόν η άδεια καλύπτει άπειρο εύρος ΙΡ διευθύνσεων. Το γεγονός αυτό αποτελεί µια σηµαντική διαφορά από τα αντίστοιχα εµπορικά προϊόντα κάτι που αυτόµατα κάνει την τιµή του να µοιάζει ελκυστικότερη IMPACT Αρχιτεκτονική και Τεχνολογία Η ΙΜPACT αρχιτεκτονική υποστηρίζει τα ακόλουθα: Εκτέλεση διαμορφωμάτων ελέγχου και πολιορκίας (από την τοπική κονσόλα και τον τοπικό πράκτορα). Ανάπτυξη και διαχείριση πρακτόρων ελέγχου σε εκτεθειμένες μηχανές. 153

168 Εκτέλεση διαμορφωμάτων και εντολών μέσω απομακρυσμένων πρακτόρων (repositioning). Κεντρική συλλογή δεδομένων και πορισμάτων που προκύπτουν από κάθε εκτελέσιμη ενέργεια. Παραγωγή ποικιλίας πορισμάτων. H IMPACT πλατφόρµα αποτελείται από πλειάδα συστατικών που ενεργούν έτσι ώστε αρχικά να αποκαλύπτουν τον στόχο και µετά να αλληλεπιδρούν µε αυτόν. Τα τρία βασικά συστατικά της αρχιτεκτονικής είναι οι πράκτορες (agents), τα διαµορφώµατα (modules) και η κονσόλα (console) τα οποία αναλύονται παρακάτω. Επίσης όλη η αποκτηθείσα γνώση κατά τη διάρκεια των ελέγχων συσσωρεύεται σε µια κεντρική δεξαµενή πληροφοριών αποκαλούµενη ως βάση δεδοµένων οντοτήτων (entity database). Πράκτορες Ένας πράκτορας είναι ένα πρόγραµµα που εισάγεται από το IMPACT στη φάση αποκάλυψης µίας µηχανής. Ο πρωταρχικός σκοπός των πρακτόρων είναι να εφαρµόζουν δράσεις πάνω στο στόχο οι οποίες καθορίζονται από την IMPACT κονσόλα εντολοδότησης του χρήστη. Οι πράκτορες µπορούν επίσης να προωθήσουν εντολές σε άλλους πράκτορες, µια διαδικασία γνωστή ως αλυσιδωτή εντολοδότηση, δυνατότητα που είναι εξαιρετικά χρήσιµη σε πολύπλοκα σενάρια που απαιτείτε εκτέλεση διαµορφωµάτων και εντολών µέσω πολλαπλών αποµακρυσµένων πρακτόρων. ιαµορφώµατα Τα γραµµένα σε Python διαµορφώµατα είναι οι αυτόνοµες δράσεις ή δέσµες λειτουργιών που εξαπολύονται από ένα πράκτορα. Για παράδειγµα, τα διαµορφώµατα µπορούν να εξαπολύσουν συγκεκριµένες επιθέσεις ενάντια σε µηχανές-στόχους,όπως για παράδειγµα σε ένα διακοµιστή διαδικτύου και να πραγµατοποιήσουν ενέργειες συλλογής πληροφοριών. Ενέργειες που ποικίλουν από παθητική και αθόρυβη παρακολούθηση και καταγραφή των πακέτων που κυκλοφορούν στο δίκτυο µέχρι επιθετικές µεθόδους ανίχνευσης θυρών κα 154

169 αναγνώρισης συστηµάτων. Επίσης τα διαµορφώµατα καλούν και να ενεργοποιούν και άλλα διαµορφώµατα. έχουν την δυνατότητα να Κονσόλα Η κονσόλα είναι η IMPACT διεπαφή αλληλεπίδρασης του χρήστη και είναι το κέντρο ελέγχου για όλα τα διαµορφώµατα,το διαχειριστικό µέσο χαρτογράφησης και απεικόνισης του δικτύου που επιτίθεται το IMPACT και φυσικά η κονσόλα είναι αυτή που φέρνει σε επαφή µε γραφικό τρόπο τον χρήστη µε τα αποτελέσµατα και τον απολογισµό των επιθέσεων. Η κονσόλα αποτελεί το κεντρικό σηµείο συλλογής όλων των πληροφοριών που αποκτώνται από τους πράκτορες που αναπτύσσονται και δρουν γύρω από πολλαπλούς στόχους µε ποικίλα λειτουργικά συστήµατα. Η Εικόνα 6.1 δείχνει τα βασικά όργανα ελέγχου της IMPACT κονσόλας. Η IMPACT κονσόλα συντίθεται από τα ακόλουθα ταµπλό: 1. To ταµπλό ιαµορφώµατa το οποίο παρέχει πρόσβαση στα IMPACT διαµορφώµατα. Το ταµπλό αυτό έχει δύο όψεις, τις: Άµεσος Έλεγχος ιείσδυσης RPT (Rapid Penetration Test) ιαµορφώµατα οι οποίες µπορούν να επιλεχθούν η κάθε µία από το κάτω µέρος αυτού του ταµπλό. 2. Το ταµπλό Επίβλεψη Οντοτήτων, το οποίο αποκαλύπτει τις πληροφορίες για το δίκτυο του στόχου. 3. Το ταµπλό Εκτελεσµένα ιαµορφώµατα, το οποίο παρουσιάζει τα διαµορφώµατα που έχουν εκτελεσθεί. 4. Το ταµπλό Αποτελέσµατα ιαµορφώµατος, το οποίο εµφανίζει µε λεπτοµέρεια πληροφορίες όπως για τα δεδοµένα εισόδου, εξόδου και σύνδεσης για τα εκτελεσµένα διαµορφώµατα που έχουν επιλεχθεί από το ταµπλό Εκτελεσµένων ιαµορφωµάτων. 5. Το ταµπλό Σύντοµή Πληροφόρηση που δίνει άµεσα µια γρήγορη πληροφόρηση για το επιλεγµένο αντικείµενο της κονσόλας κάθε φορά. 6. Το ταµπλό Χαρακτηριστικά Οντότητας,το οποίο µοιάζει µε το ταµπλό Σύντοµης Πληροφόρησης αλλά αυτό έχει µορφή δενδροειδής 155

170 ανάλυσης, κάτι που δίνει την ευχέρεια στον χρήστη να διαµορφώνει σύµφωνα µε τις επιθυµίες του την εµφάνιση των λεπτοµερειών όπως αυτές που αφορούν το λειτουργικό σύστηµα και το βαθµό των πακέτων επιδιόρθωσης τους. Εικόνα 6.1. CORE IMPACT Κονσόλα 6.3 Εκτέλεση ελέγχων διείσδυσης µε το IMPACT. Πριν αρχίσει ο χρήστης την διαδικασία του ελέγχου διείσδυσης πρέπει να στηθεί ένα εργαστήριο (workspace). Το εργαστήριο αυτό θα περιέχει όλα τα δεδοµένα και θα ασκεί περιοδικούς ελέγχους για πληροφορίες πολιορκίας των στόχων που απαιτούνται για την αποκάλυψη και την σάρωση αυτών. 156

171 Το IMPACT υποστηρίζει τρείς διαφορετικούς τύπους ΑΕ (Άµεσοι Έλεγχοι ιεισδύσεων) όταν στήνεται ένα νέο εργαστήριο. Αυτοί είναι : O ικτυακός ΑΕ που χρησιµοποιείται για να προσβάλει αποµακρυσµένους εξυπηρετητές. O ΑΕ Πελάτη ο οποίος χρησιµοποιείται για να προσβάλει αποµακρυσµένους φυλλοµετρητές ιστοσελίδων και άλλα πακέτα λογισµικού που βρίσκονται στην µεριά του Πελάτη όπως όλες οι Microsoft Office εφαρµογές. O ΑΕ ιαδικτυακών Εφαρµογών όπου αναπαράγει επιθέσεις SQL εγχύσεων και αποκλεισµούς αποµακρυσµένων αρχείων σε βάρος διαδικτυακών εφαρµογών όπως υπηρεσίες ηλεκτρονικού εµπορίου, υπηρεσίες αυτοεξυπηρέτησης και ΕRP (Enterprise Resource Planning) συστήµατα. Σε κάθε περίπτωση ένας IMPACT ΑΕ έλεγχος συνίσταται από τα ακόλουθα στοιχεία: Συλλογή πληροφοριών Επίθεση και ιείσδυση Τοπική συλλογή πληροφοριών Κλιµάκωση δικαιωµάτων Εκκαθάριση Παραγωγή πορισµάτων Η Εικόνα 6.2 δείχνει την αλληλουχία των παραπάνω µηχανισµών διείσδυσης και στη συνέχεια παρουσιάζονται αυτοί αναλυτικότερα. Εικόνα 6.2 Ροή συστατικών µηχανισµών ΑΕ 157

172 Συλλογή Πληροφοριών Σε πρώτη φάση γίνεται χρήση πλήθους µεθόδων ανίχνευσης θυρών ώστε να αναγνωριστούν και να προσεγγιστούν τα συστηµάτων προς έλεγχο. Η δραστική αυτή συλλογή πληροφοριών των συστηµάτων, όπως δεδοµένα σχετικά µε το Λειτουργικό Σύστηµα και τις υπηρεσίες που τρέχουν σε αυτό βοηθά στο να καθοριστούν οι τρωτότητες και άρα ποία διαµορφώµατα πολιορκίας είναι κατάλληλα να εξαπολυθούν. Κατόπιν το IMPACT επιτρέπει στο χρήστη να περιηγείται στις δοµές των αρχείων και να βλέπει τα περιεχόµενα των αρχείων που περιέχονται στα προσβεβληµένα µηχανήµατα. Υπάρχει επίσης η δυνατότητα να ανοίγουν κελύφη ώστε να συγκεντρώνονται παραπάνω πληροφορίες για τους στόχους, όπως για το ποία ακόµα δίκτυα είναι διασυνδεδεµένα µε το ήδη κατακτηµένο σύστηµα. Επίθεση και ιείσδυση Εδώ λανσάρονται τα διαµορφώµατα πολιορκίας και πραγµατοποιούνται αλληλεπιδράσεις µε το προσβεβληµένο από πριν σύστηµα µε σκοπό να επιδειχθούν οι συνέπειες της επίθεσης,τα ριψοκίνδυνα δεδοµένα και να µαζευτούν οι κρίσιµες πληροφορίες που θα οδηγήσουν στην επούλωση του συστήµατος. Σηµαντική αύξηση στην αποτελεσµατικότητα και στην ταχύτητα της διαδικασίας ελέγχου προέρχεται από την δυνατότητα ταυτόχρονων επιθέσεων. Από την στιγµή που καθοριστούν και προσβληθούν τα συστήµατα, αυτόµατα τα διαµορφώµατα πολιορκίας εκτελούνται τοπικά ούτως ώστε να εξελίσσονται η επιθέσεις πάνω στις µηχανές ενδόµυχα και όχι απέναντι από τα δίκτυα, γεγονός που συνεισφέρει σηµαντικά στην διακριτική και επιτυχή έκβαση της επιχείρησης. Επιπλέον έµπειροι χρήστες έχουν τη δυνατότητα του απόλυτου ελέγχου τόσο της εκτέλεσης των διαµορφωµάτων όσο και της αλληλεπίδρασης µε το στόχο. Τοπική Συλλογή Πληροφοριών Σε τρίτο χρόνο αρχίζει µία διαδικασία προσεκτικότερης περιήγησης στο εκτεθειµένο πλέον σύστηµα αρχείων του στόχου και συλλέγονται πληροφορίες για τη δυνατότητα απόκτησης δικαιωµάτων χρήσης όπως και πληροφορίες για τους πραγµατικούς χρήστες του συστήµατος. Επίσης σε αυτή τη φάση αποκτιέται γνώση για την αρχιτεκτονική του δικτύου αλλά και για τις εγκατεστηµένες εφαρµογές. Κλιµάκωση ικαιωµάτων 158

173 Αφού έχουν αποκαλυφθεί οι πληροφορίες για το δίκτυο του στόχου το IMPACT µπορεί και προσφέρει δυνατότητες τοπικής περιήγησης και επίθεσης και σε άλλα µέρη και µηχανές του ίδιου δικτύου χωρίς να χρειάζεται η αποστολή νέου κώδικα (π.χ. ένα εργαλείο επίθεσης) µε στόχο πάντα να αποκτούνται ολοένα και εκτενέστερα προνόµια διαχειριστή αλλά και να προστίθεται γνώση για τη δοµή του συστήµατος. Αυτή η δυνατότητα τοπικής και κυκλικά επαναλαµβανόµενης δράσης επιτρέπει την ολοένα και πιο βαθειά διείσδυση στο εσωτερικό της ραχοκοκαλιάς εκείνων των συστηµάτων ειδικά που διαθέτουν υψηλά και πολλαπλά επίπεδα ασφάλειας Με τον τρόπο αυτό γίνεται κατανοητή η πραγµατική απειλή που µπορεί να επιφέρει σε κάθε επίπεδο του συστήµατος µια συγκεκριµένη τρωτότητα. Εκκαθάριση Το προϊόν αυτό δεν εγκαθιστά µόνιµα τα διαµορφώµατα και τα εργαλεία στα προσβεβληµένα συστήµατα και σε καµία περίπτωση δεν παραµορφώνει το σύστηµα του στόχου. Από τη στιγµή που έχει ολοκληρωθεί ο έλεγχος διείσδυσης το IMPACT εξαλείφει κάθε ίχνος πρακτόρων αλλά και όλης της διαδικασίας έλεγχου τρωτότητας αφήνοντας πίσω του το σύστηµα στην κατάσταση ακριβώς που ήταν αρχικά. Παραγωγή Πορισµάτων Η αποτελεσµατικότητα ενός ελέγχου διείσδυσης γίνεται αντιληπτή τελικά από την ποιότητα και την έκταση των δυνατοτήτων εξαγωγής των πορισµάτων του. Το IMPACT δίνει ξεκάθαρα και ευκολονόητα πορίσµατα παρέχοντας επιλογές που ικανοποιούν διάφορους τύπους αναγνωστών. Για παράδειγµα ένας διευθυντής συνήθως επιθυµεί µία επισκόπηση των αποδεδειγµένων κινδύνων που προκύπτουν από την έρευνα χωρίς να είναι επιφορτισµένη αυτή µε πολλές και δυσνόητες τεχνικές λεπτοµέρειες ενώ ένας διαχειριστής ασφάλειας χρειάζεται µια σαφώς λεπτοµερέστερη λίστα µε όλες τις τρωτότητες δικτύων και µηχανών που έχουν προκύψει από την εκτέλεση των διαµορφωµάτων πολιορκίας. Επίσης παρέχονται δυνατότητες παρουσίασης όλης της εξέλιξης των δράσεων της έρευνας σε κάθε διαδεδοµένη µορφή ώστε να είναι συµβατά τα αποτελέσµατα µε την πλειοψηφία των ευρέως χρησιµοποιούµενων εφαρµογών. 159

174 6.4. Εκτέλεση ελέγχου διείσδυσης µε το IMPACT Σε αυτό το κεφάλαιο θα παρουσιαστεί µε τη βοήθεια του IMPACT µία εκτέλεση συλλογής πληροφοριών όπως και κάποια ζητήµατα επίθεσης και διείσδυσης. Συλλογή Πληροφοριών Από το ικτυακό ΑΕ ταµπλό ενεργοποιείται η λειτουργία ικτυακή Συλλογή Πληροφοριών θέτοντας στο πεδίο τιµών ΙΡ την ΙΡ διεύθυνση του στόχου η οποία µπορεί να είναι µία µεµονωµένη διεύθυνση ή ένα ολόκληρο φάσµα διευθύνσεων και παράλληλα επιλέγεται η προτίµηση σάρωσης σε ταχεία ή προσαρµοσµένη. Στη συνέχεια θα τρέξουν τα ακόλουθα διαµορφώµατα σάρωσης και ελέγχου : TCP έλεγχος θυρών UDP έλεγχος θυρών ICMP σάρωση Αναγνώριση υπηρεσιών Νmap αναγνώριση Λειτουργικού Συστήµατος Οι µηχανές που θα αναγνωριστούν µέσω της ικτυακής Συλλογής Πληροφοριών θα εµφανιστούν στο ταµπλό Επίβλεψης Οντοτήτων (ταµπλό 2) όπως φαίνεται στην Εικόνα

175 Εικόνα Ευρεθέντες µηχανές από την ικτυακή Συλλογή Πληροφοριών (InformationGathering) Επίθεση και ιείσδυση Έχοντας αναγνωρίσει τις προσβάσιµες µηχανές, µπορεί ο χρήστης να χρησιµοποιήσει το βοηθό ικτυακής Επίθεσης και ιείσδυσης από το ταµπλό ικτυακού ΑΕ έτσι ώστε να καθορίσει το επιθυµητό στόχο και τις σχετικές µε αυτόν προτιµήσεις επίθεσης και διείσδυσης. Οι αρχικές επιλογές επίθεσης και διείσδυσης που διατίθενται για τον επιλεγµένο στόχο φαίνονται στην εικόνα 6.4. Εικόνα 6.4. ιαµόρφωση αρχικών επιλογών επίθεσης. Για να τεθούν σε λειτουργία συγκεκριµένα διαµορφώµατα πολιορκίας και συντελεστές εισαγωγής IMPACT διαδικασιών ο χρήστης πρέπει να µεταβεί στο ταµπλό Επίβλεψης ιαµορφωµάτων να επιλέξει το κατάλληλο διαµόρφωµα και να το 161

176 εναποθέσει στη στοχευόµενη µηχανή µέσα στο ταµπλό Επίβλεψης Οντοτήτων (Εικόνα 6.5). Εικόνα 6.5. Χρήση συγκεκριµένων διαµορφωµάτων πολιορκίας µέσα στο IMPACT Αποµακρυσµένη διαχείριση πρακτόρων (Repositioning) Έχοντας προσβάλλει τον στόχο ενεργοποιείται ένας IMPACT πράκτορας στα πλαίσια των διαδικασιών από την πλευρά του εξυπηρετητή. Αυτοί οι πράκτορες εµφανίζονται στο παράθυρο θέασης οντοτήτων. Με αυτό τον τρόπο µπορούν να εντολοδοτηθούν οι πράκτορες αξιοποιώντας έτσι ποικιλία λειτουργιών. Επιλέγοντας µε δεξί κλικ τον επιθυµητό πράκτορα µπορεί ο χρήστης να διαλέξει ανάµεσα σε ένα πλήθος από µηχανισµούς ώστε να τους εφαρµόσει και να τους διαχειριστεί εξ αποστάσεως σε βάρος του εκτεθειµένου στόχο. Αυτοί οι µηχανισµοί είναι οι ακόλουθοι : Καθιέρωση ενός Πράκτορα ως το εφαλτήριο όλων των µελλοντικών επιθέσεων (repositioning). Άµεση Σύνδεση η οποία επιτρέπει συνεχή επικοινωνία µε ένα πράκτορα. Λειτουργία Κελύφους η οποία προσδίδει στο χρήστη πλήρη δικαιώµατα εντολών κελύφους της κατακτηµένης µηχανής. Λειτουργίες Μικροκελυφών που παρέχουν περιορισµένες λειτουργίες εντολοδότησης πάνω στην αποµακρυσµένη µηχανή. Python Κέλυφος εξάγει ένα Python κέλυφος στον στόχο. Περιηγητής Αρχείων που επιτρέπει την περιήγηση στα αρχεία του στόχου. 162

177 Εγκατάσταση Μόνιµου Πράκτορα είναι ο µηχανισµός που επιτρέπει την καθιέρωση µόνιµου πράκτορα στο σύστηµα αρχείων του στόχου. Εισαγωγή Pcap Εµβασµάτων είναι µηχανισµός που εισάγει Pcap βιβλιοθήκες παρέχοντας έτσι δυνατότητες γρήγορης ανίχνευσης πακέτων και όλων των δυνατοτήτων που πηγάζουν από τις Pcap βιβλιοθήκες (Pcap βιβλιοθήκες αναλύονται εκτενώς στο κεφάλαιο 3 της αξιολόγησης του Wireshark). Τελικά φαίνεται ότι διατίθεται πλήθος προηγµένων δυνατοτήτων µέσα από τους εξαιρετικά χρήσιµους µηχανισµούς αποµακρυσµένης διαχείρισης και των αλυσιδωτών πρακτόρων. ΚΕΦΑΛΑΙΟ 7 ΣΥΜΠΕΡΑΣΜΑΤΑ 7.1. Εισαγωγή ύσκολα θα µπορούσε κανείς να κατατάξει τα εργαλεία που αναλύθηκαν σε αυτήν την εργασία σε µια σειρά αφού το καθένα από αυτά είναι προσανατολισµένο για διαφορετικούς σκοπούς και στάδια του ελέγχου τρωτότητας πληροφοριακών συστηµάτων. Η πραγµατική αξιολόγηση αυτών φαίνεται µέσα από την ανάλυση και τις εφαρµογές που παρουσιάστηκαν στα κεφάλαια 2 έως 6 αποδεικνύοντας το λόγο που το καθένα από αυτά θεωρείται ηγέτης στη κατηγορία του. Ωστόσο πλήθος κατατάξεων για αυτά και εκατοντάδες άλλα εργαλεία πραγµατοποιούνται στο ιαδίκτυο από πολλούς οργανισµούς και εκµεταλλευόµενοι αυτές τις πληροφορίες σε συνδυασµό µε την εµπειρία από τα κεφάλαια που προηγήθηκαν θα πραγµατοποιηθεί µια συγκριτική αξιολόγηση των εργαλείων που απασχόλησαν την παρούσα εργασία. εδοµένο βέβαια είναι ότι η παρακάτω κατάταξη είναι µεν γενικότερα αποδεκτή αλλά δεν αποτελεί σε καµία περίπτωση πανάκεια αφού ανάλογα µε τις απαιτήσεις της 163

178 κάθε πρόκλησης στην ασφάλεια ενός πληροφοριακών συστήµατος οι προτεραιότητες στην επιλογή αυτών των εργαλείων αλλάζουν εντελώς και θα πρέπει σε κάθε περίπτωση να επαναπροσδιορίζονται σχολαστικά, κάτι που φαίνεται άλλωστε και από τις έντονες διαφοροποιήσεις στις κατατάξεις των ερευνών που πραγµατοποιούνται από τους επισήµους οργανισµούς και ιστότοπους Κριτήρια Αξιολόγησης Οι πηγές από τις οποίες αντλήθηκαν οι πληροφορίες για αυτήν την αξιολόγηση είναι οι INSECURE.ORG και το έγκυρο περιοδικό SCMAGAZINE όπου και οι δύο ειδικεύονται στην έγκυρη πληροφόρηση των επαγγελµατιών της ασφάλειας των πληροφοριακών συστηµάτων. Οι ιδιότητες που λαµβάνει υπόψη για την αξιολόγηση του κάθε εργαλείου ο οργανισµός INSECURE είναι: H δηµοφιλία και η εµπιστοσύνη που έχει δείξει το κοινό σε κάθε εργαλείο. Η δυνατότητα εγγενούς λειτουργίας σε κάθε λειτουργικό σύστηµα (Linux και Unix παραλλαγές, Microsoft Windows και Apple Mac OS X). H δυνατότητα εντολοδότησης µέσω γραµµής εντολών Η διάθεση ποιοτικών και εύκολων γραφικών διεπαφών (point and click) Η διαθεσιµότητα του πηγαίου κώδικα προς εξέταση Ενώ τα κριτήρια αξιολόγησης σύµφωνα µε το SCMAGAZINE είναι : Οι δυνατότητες που παρέχονται Η ευκολία χρήσης Οι επιδόσεις στη εκτέλεση Η ποιοτική και έγκυρη τεκµηρίωση µέσω των γραπτών αναφορών Η υποστήριξη που µπορεί να παρέχεται από τον κατασκευαστή 164

179 Η αντιστάθµιση χρηµάτων και αξίας (Value for Money) Κατάταξη εργαλείων ελέγχου τρωτότητας. Σύµφωνα λοιπόν µε τα παραπάνω κριτήρια στη πρώτη θέση προτίµησης τόσο των χρηστών όσο και των διαχειριστών ασφάλειας έρχεται µόνιµα το ανοικτού κώδικα εργαλείο Nessus το οποίο παρέχει διαρκής ενηµερώσεις µε διάθεση πάνω από plugins κάνοντάς το πιο διαδεδοµένο εργαλείο της κατηγορίας στον κόσµο. Καίρια χαρακτηριστικά του είναι η αποµακρυσµένη δυνατότητα διαχείρισης ελέγχων τρωτότητας, η αρχιτεκτονική πελάτη- εξυπηρετητή µε γραφικές διεπαφές GTK και ενσωµατωµένη γλώσσα προγραµµατισµού (NASL) που προσφέρεται για δηµιουργία νέων ξεχωριστών επιδιορθώσεων και λειτουργιών αλλά κα αναβάθµιση των είδη υπαρχόντων. Το εργαλείο αυτό έχει αποτελέσει την βάση για πολλά εµπορικά συστήµατα αυτού του είδους αφού προσφέρεται για τέτοιου είδους αξιοποίηση και εξέλιξη. Στη δεύτερη θέση κατατάσσεται η πολύ ισχυρή πλατφόρµα Metasploit Framework η οποία βασιζόµενη στη Ruby γλώσσα πλέον δίνει την δυνατότητα για αναρίθµητες δηµιουργίες ελέγχων τρωτότητας σε αποµακρυσµένους στόχους. Ίσως είναι άνιση σύγκριση αφού πρόκειται για µια ολοκληρωµένη πλατφόρµα που µπορεί και συµπεριλαµβάνει και τα άλλα εργαλεία (Nmap, Wireshark) ώστε να εξελίξει τις λειτουργίες της αλλά οι τόσο µεγάλες προοπτικές που προσφέρει στον προγραµµατιστή κάνουν το MSF πραγµατικά ασυναγώνιστο. Τεράστιο προνόµιο επίσης αποτελεί το γεγονός ότι είναι το µοναδικό εργαλείο της κατηγορίας του που διατίθεται δωρεάν ενώ πρόβληµα θα µπορούσε να αποτελέσουν οι αυξηµένες απατήσεις που απαιτούνται από τον χρήστη σε εξειδικευµένες γνώσεις ώστε να εξοικειωθεί και να εκµεταλλευτεί έτσι τις αναρίθµητες δυνατότητες του. Ουσιαστικά προσφέρει στο κοινό ένα προϊόν που τα αντίστοιχης δυναµικότητας στο εµπόριο στοιχίζουν χιλιάδες ευρώ. Μαζί σε αυτήν τη θέση κατατάσσεται και η εµπορική πλατφόρµα CORE IMPACT οπού ενώ µόνο µε το Metasploit που ανήκουν στην ίδια κατηγορία µπορεί να συγκριθεί, είναι γεγονός ότι οι δυνατότητες που προσφέρει και αυτό είναι εφάµιλλες του Metasploit και µάλιστα σε πολύ πιο φιλική και εύκολη για το χρήστη µορφή λειτουργίας και παρουσίασης αλλά και µε πολύ σηµαντική 165

180 υποστήριξη από την κατασκευάστρια εταιρία. Μοναδικό µειονέκτηµα στην περίπτωση του IMPACT είναι το κόστος απόκτησης του που όµως µπορεί και εκµηδενίζεται µέσα από τις µοναδικές δυνατότητες που προσφέρει για τη διατήρηση της ασφάλειας ενός οργανισµού. Στη τρίτη θέση κατατάσσεται ο ανοικτού κώδικα αναλυτής πρωτοκόλλων δικτύων Wireshark για Unix και Windows συστήµατα ενώ κυριαρχεί αδιαµφισβήτητα στην πρώτη θέση µεταξύ των ανιχνευτών δικτύου(network sniffers). Επιτρέπει την ζωντανή εξέταση της κυκλοφορίας ενός δικτύου ή την ανάλυση από αποθηκευµένα δεδοµένα επικεντρώνοντας πάντα µε εξαιρετικά εύκολο τρόπο στο είδος των πληροφοριών που ενδιαφέρουν τον χρήστη. Αναγνωρίζει εκατοντάδες πρωτόκολλα και µέσα διάδοσης. Ωστόσο απαιτείται η διαρκής ενηµέρωση αφού είναι επιρρεπής σε διάφορες τρωτότητες που µπορούν να εκµεταλλευτούν τρίτοι. Παράλληλα σηµαντικό και ξεχωριστό είναι το έµπειρο Νmap όπου και αυτό στην κατηγορία των χαρτογράφων δικτύων και σαρωτών θυρών είναι η πρώτη επιλογή για κάθε ερευνητή ελέγχου τρωτότητας κάνοντας το ότι πιο απαραίτητο για τα πρώτα αναγνωριστικά βήµατα τόσο στον ερευνητή όσο και στις ίδιες τις πλατφόρµες ελέγχων τρωτοτήτων που συχνά τα συµπεριλαµβάνουν. Παρόλο που είναι δυο φανταστικά εργαλεία ανάλυσης δικτυακής ροής και χαρτογράφησης δικτύων αντίστοιχα, οι δυνατότητες τους δεν φτάνουν τις προηγµένες λειτουργίες εύρεσης των ολοένα µεταβαλλόµενων τρωτοτήτων των προηγούµενων εργαλείων Ουτοπία ασφαλών συστηµάτων Ολόκληρη αυτή η εργασία έχει αφιερωθεί στο γεγονός ότι σχεδόν όλα τα σύγχρονα συστήµατα υπολογιστών έχουν τόσες διαρροές που µοιάζουν µε κόσκινο. Οι υπολογισµοί των ζηµιών σε παγκόσµιο επίπεδο, που προκαλούνται από τρωτότητες, εκτιµούν ότι χάνεται περισσότερο από ένα τρισεκατοµµύριο ευρώ το χρόνο σε εργασίες πρόληψης, επιδιόρθωσης προβληµάτων, ανακατασκευή κατεστραµµένων δεδοµένων, κ.λπ. χωρίς να αναφέρονται οι χαµένες εµπορικές ευκαιρίες. Κάποιος που δε γνωρίζει µπορεί λογικά να κάνει δυο ερωτήσεις που αφορούν αυτήν την κατάσταση πραγµάτων : 1. Είναι δυνατόν να κατασκευαστεί ένα ασφαλές υπολογιστικό σύστηµα ; 166

181 2. Αν ναι, γιατί δεν έχει κατασκευαστεί ακόµη ; Η απάντηση στο πρώτο ερώτηµα είναι βασικά "ναι". Ο τρόπος κατασκευής ενός ασφαλούς συστήµατος είναι γνωστός εδώ και δεκαετίες. Το MULTICS για παράδειγµα, που σχεδιάστηκα την δεκαετία του 1960, είχε την ασφάλεια ως ένα από τους κύριους στόχους του και τα πήγε πάρα πολύ καλά σε αυτό. Ο λόγος που δεν κατασκευάζονται ασφαλή συστήµατα είναι πιο πολύπλοκος αλλά βασικά βασίζεται σε δυο θεµελιώδης αιτίες. Πρώτον, τα τρέχοντα συστήµατα δεν είναι ασφαλή αλλά οι χρήστες δε θέλουν να τα ξεφορτωθούν. Αν η Microsoft ανακοίνωνε ότι εκτός από τα Windows έχει να παρουσιάσει ένα νέο προϊόν το SecureOS, το οποίο έχει σίγουρη ανοσία στους ιούς αλλά δεν εκτελεί τις εφαρµογές των Windows, δεν είναι καθόλου βέβαιο ότι κάθε χρήστης και κάθε εταιρία θα πετούσαν τα Windows και θα αγόραζαν το νέο σύστηµα. Το δεύτερο ζήτηµα είναι πιο λεπτό. Ο µόνος τρόπος κατασκευής ενός ασφαλούς συστήµατος είναι να έχει απλή σχεδίαση. Οι διάφορες δυνατότητες και ευκολίες είναι ο εχθρός της ασφάλειας. Οι σχεδιαστές πιστεύουν (χωρίς να είναι βέβαιο πως έχουν δίκιο) ότι οι χρήστες θέλουν περισσότερες ευκολίες. Οι περισσότερες ευκολίες οδηγούν σε µεγαλύτερη πολυπλοκότητα, περισσότερο κώδικα. περισσότερα σφάλµατα, και περισσότερα προβλήµατα ασφάλειας. Για παράδειγµα τα πρώτα συστήµατα ηλεκτρονικής αλληλογραφίας έστελναν µηνύµατα µε κείµενο ASCII. Ήταν εντελώς ασφαλή. Ένα εισερχόµενο µήνυµα σε ASCII δεν µπορεί να κάνει τίποτα για να καταστρέψει ένα υπολογιστικό σύστηµα. Τότε κάποιοι είχαν την ιδέα να επεκτείνουν την ηλεκτρονική αλληλογραφία ώστε να περιλαµβάνονται και άλλες κατηγορίες εγγράφων (για παράδειγµα αρχεία Word), οι οποίες µπορούν να περιέχουν προγράµµατα σε µακροεντολές. Η ανάγνωση τέτοιων εγγράφων σηµαίνει ότι θα εκτελεστεί το πρόγραµµα κάποιου άλλου χρήστη στον υπολογιστή που δέχθηκε την ηλεκτρονική αλληλογραφία κάτι που είναι σαφέστατα πιο επικίνδυνο από την ανάγνωση ενός κειµένου ASCII. Απαίτησαν οι χρήστες την αλλαγή της ηλεκτρονικής αλληλογραφίας ; Πιθανότατα όχι, αλλά οι σχεδιαστές συστηµάτων νόµισαν ότι πρόκειται για θαυµάσια ιδέα χωρίς να ενδιαφέρονται και πολύ για τις συνέπειες στην ασφάλεια (Tanenbaum, 2001). 167

182 Βιβλιογραφικές Αναφορές Chriss McNab, Network Security Assessment, 2007 Andrew S. Tanenbaum, Σύγχρονα Λειτουργικά Συστήµατα,2001. Γκρίτζαλης Σ,Σωκράτης Κάτσικας, και Γκριτζάλης.,Ασφάλεια ικτύων Υπολογιστών,2003. Douglas E. Commer, ίκτυα και διαδίκτυα υπολογιστών, Jean Warland, ίκτυα Επικοινωνιών, Kurose J. F, Ross K. W, ικτύωση Υπολογιστών,2004. ουληγέρης Χ.,Κοπανάκη Ε και Μαυροπόδη Ρ.,Τεχνολογίες ιαδικτύου,2004. Andrew S. Tanenbaum, ίκτυα Υπολογιστών,

183 James Messer, Secrets of Network Cartography,2006 Orebaugh A. et al., Wireshark & Ethereal Network Protocol Analyzer Toolkit,2007 Lance Spitzner, Honeypot Farms,2003 Abes,Dabir AshrafMatrawy, Bottleneck Analysis of TrafficMonitoring using Wireshark, IEEE, 2008 Βιδάκης Γ., Παπαπάνος Γ, The Greek Honeynet project,2002 Harry Anderson και Introduction to Nessus, 2003 Renaud Deraison και Ron Gula, Blended Security Assessments, 2007 Ramirez G. et al., Nessus, Snort, & Ethereal Power Tools: Customizing Open Source Security Applications,2005 FORTH, Virtual Trip, ΕΣΤΙΑ: Μία ολοκληρωµένη πλατφόρµα ελέγχου ασφάλειας υπολογιστών και παροχής προστασίας στο ιαδίκτυο, 2005 Maynor D. et al., Metasploit Toolkit for Penetration Testing, Exploit Development, and Vulnerability Research,2007 Peltier J, Metasploit Tutorial - A New Day for System Exploits,2008 PRACTICAL PACKET ANALYSIS, Chris Sanders, 2007 Ιστότοποι αντλησης πληροφοριών: /GroupTest/16/ ttp://en.wikipedia.org

184 Παράρτηµα A Εικόνα Α.1. Ενδεικτικό σχήµα βάσης για χρήση στο σύστηµα ΕΣΤΙΑ 170

185 171

186 Εικόνα Α.2. ηµιουργία σύνδεσης VPN µεταξύ Υπολογιστή Χρήστη και VPN Router. 172

ίκτυα υπολογιστών Στόχοι κεφαλαίου ίκτυα

ίκτυα υπολογιστών Στόχοι κεφαλαίου ίκτυα Στόχοι κεφαλαίου ίκτυα υπολογιστών (Κεφαλαιο 15 στο βιβλιο) Περιγραφή των κύριων θεµάτων σχετικά µε τα δίκτυα υπολογιστών Αναφορά στα διάφορα είδη δικτύων Περιγραφή των διαφόρων τοπολογιών των τοπικών

Διαβάστε περισσότερα

Αρχές Δικτύων Επικοινωνιών. Επικοινωνίες Δεδομένων Μάθημα 4 ο

Αρχές Δικτύων Επικοινωνιών. Επικοινωνίες Δεδομένων Μάθημα 4 ο Αρχές Δικτύων Επικοινωνιών Επικοινωνίες Δεδομένων Μάθημα 4 ο Τα επικοινωνιακά δίκτυα και οι ανάγκες που εξυπηρετούν Για την επικοινωνία δύο συσκευών απαιτείται να υπάρχει μεταξύ τους σύνδεση από σημείο

Διαβάστε περισσότερα

ΕΠΙΚΟΙΝΩΝΙΕΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΕΣ INTERNET

ΕΠΙΚΟΙΝΩΝΙΕΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΕΣ INTERNET ΕΠΙΚΟΙΝΩΝΙΕΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΕΣ INTERNET Κεφάλαιο 4: Τεχνικές Μετάδοσης ΜΕΤΑΓΩΓΗ Τεχνική µεταγωγής ονομάζεται ο τρόπος µε τον οποίο αποκαθίσταται η επικοινωνία ανάµεσα σε δύο κόµβους με σκοπό την

Διαβάστε περισσότερα

Σύντομη παρουσίαση των εργαλείων/εντολών telnet, ping, traceroute nslookup και nmap, zenmap

Σύντομη παρουσίαση των εργαλείων/εντολών telnet, ping, traceroute nslookup και nmap, zenmap Σύντομη παρουσίαση των εργαλείων/εντολών telnet, ping, traceroute nslookup και nmap, zenmap Version 2.00 Επιμέλεια Σημειώσεων: Δημήτρης Κόγιας Πατρικάκης Χαράλαμπος Πίνακας περιεχομένων TELNET... 2 PING...

Διαβάστε περισσότερα

Σκοπιµότητα των firewalls

Σκοπιµότητα των firewalls Σκοπιµότητα των firewalls Παρέχουν προστασία των εσωτερικών δικτύων από απειλές όπως: Μη εξουσιοδοτηµένη προσπέλαση των δικτυακών πόρων: όταν επίδοξοι εισβολείς προσπαθούν να εισχωρήσουν στο δίκτυο και

Διαβάστε περισσότερα

Γενικές Αρχές. Τεχνολογία ικτύων Επικοινωνιών ΙΙ

Γενικές Αρχές. Τεχνολογία ικτύων Επικοινωνιών ΙΙ Τεχνολογία ικτύων Επικοινωνιών ΙΙ 7.1.1. Γενικές Αρχές 1. Τι ονοµάζεται επικοινωνιακό υποδίκτυο και ποιο είναι το έργο του; Το σύνολο όλων των ενδιάµεσων κόµβων που εξασφαλίζουν την επικοινωνία µεταξύ

Διαβάστε περισσότερα

1.5.1 ΓΕΦΥΡΑ (BRIDGE) Εικόνα Επίπεδα λειτουργίας επαναλήπτη, γέφυρας, δρομολογητή και πύλης ως προς το μοντέλο OSI.

1.5.1 ΓΕΦΥΡΑ (BRIDGE) Εικόνα Επίπεδα λειτουργίας επαναλήπτη, γέφυρας, δρομολογητή και πύλης ως προς το μοντέλο OSI. 40 Σύγχρονα τηλεπικοινωνιακά και δικτυακά πρωτόκολλα Εικόνα 1.5.1 Επίπεδα λειτουργίας επαναλήπτη, γέφυρας, δρομολογητή και πύλης ως προς το μοντέλο OSI. 1.5.1 ΓΕΦΥΡΑ (BRIDGE) Οι γέφυρες λειτουργούν τόσο

Διαβάστε περισσότερα

Πρωτόκολλα Διαδικτύου

Πρωτόκολλα Διαδικτύου Πρωτόκολλα Διαδικτύου Μέρος 1ο Επικοινωνίες Δεδομένων Μάθημα 3 ο Εισαγωγή στην Τεχνολογία TCP/IP To TCP/IP σημαίνει Transmission Control Protocol / Internet Protocol και θα μπορούσε να θεωρηθεί ότι πρόκειται

Διαβάστε περισσότερα

Πρωτόκολλα Διαδικτύου Μέρος 2ο. Επικοινωνίες Δεδομένων Μάθημα 3 ο

Πρωτόκολλα Διαδικτύου Μέρος 2ο. Επικοινωνίες Δεδομένων Μάθημα 3 ο Πρωτόκολλα Διαδικτύου Μέρος 2ο Επικοινωνίες Δεδομένων Μάθημα 3 ο Internet Protocol (IP) Στο επίπεδο δικτύου της τεχνολογίας TCP/IP, συναντάμε το πρωτόκολλο IP. Η λειτουργία του IP βασίζεται αποκλειστικά

Διαβάστε περισσότερα

ΔΙΚΤΥΑ (15-17) Π. Φουληράς

ΔΙΚΤΥΑ (15-17) Π. Φουληράς ΔΙΚΤΥΑ (15-17) Π. Φουληράς Χαρακτηριστικά Δικτύου: Ιδιοκτησία, Υπόδειγμα Υπηρεσίας, και Απόδοση Ιδιωτικά Δίκτυα Κλασσικό Παράδειγμα τα LAN Μεγάλες εταιρείες όμως και σε επίπεδο WAN Αγοράζουν υλικό διασύνδεσης

Διαβάστε περισσότερα

Δίκτυα Υπολογιστών. Δίκτυα υπολογιστών και το Διαδίκτυο Εισαγωγή. Κ. Βασιλάκης

Δίκτυα Υπολογιστών. Δίκτυα υπολογιστών και το Διαδίκτυο Εισαγωγή. Κ. Βασιλάκης Δίκτυα Υπολογιστών Δίκτυα υπολογιστών και το Διαδίκτυο Εισαγωγή Κ. Βασιλάκης Περίγραμμα Τι είναι το διαδίκτυο Στοιχεία που το συνθέτουν Τρόποι παροχής υπηρεσιών Τι είναι τα πρωτόκολλα Τα άκρα του δικτύου

Διαβάστε περισσότερα

7.5 Πρωτόκολλο IP. Τεχνολογία ικτύων Επικοινωνιών ΙΙ

7.5 Πρωτόκολλο IP. Τεχνολογία ικτύων Επικοινωνιών ΙΙ Τεχνολογία ικτύων Επικοινωνιών ΙΙ 7.5 Πρωτόκολλο IP 38. Τι είναι το πρωτόκολλο ιαδικτύου (Internet Protocol, IP); Είναι το βασικό πρωτόκολλο του επιπέδου δικτύου της τεχνολογίας TCP/IP. Βασίζεται στα αυτοδύναµα

Διαβάστε περισσότερα

AEI Πειραιά Τ.Τ. Τμ. Μηχ/κων Αυτοματισμού ΤΕ. Δίκτυα Μετάδοσης Δεδομένων. Διάλεξη 1: Εισαγωγή στα δίκτυα υπολογιστών και βασικές αρχές

AEI Πειραιά Τ.Τ. Τμ. Μηχ/κων Αυτοματισμού ΤΕ. Δίκτυα Μετάδοσης Δεδομένων. Διάλεξη 1: Εισαγωγή στα δίκτυα υπολογιστών και βασικές αρχές AEI Πειραιά Τ.Τ. Τμ. Μηχ/κων Αυτοματισμού ΤΕ Δίκτυα Μετάδοσης Δεδομένων Διάλεξη 1: Εισαγωγή στα δίκτυα υπολογιστών και βασικές αρχές Γενικά Διδάσκουσα: Ελένη Αικατερίνη Λελίγκου Γραφείο ΖΑ202. Ε-mail:

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 1.7. Πρωτόκολλα και Αρχιτεκτονική Δικτύου

ΚΕΦΑΛΑΙΟ 1.7. Πρωτόκολλα και Αρχιτεκτονική Δικτύου ΚΕΦΑΛΑΙΟ 1.7 Πρωτόκολλα και Αρχιτεκτονική Δικτύου Επικοινωνία δύο σταθμών Ύπαρξη διαδρομής Αποκατάσταση σύνδεσης Ο σταθμός-πηγή πρέπει να ξέρει πότε ο σταθμός-προορισμός είναι έτοιμος να λάβει δεδομένα.

Διαβάστε περισσότερα

7.2 Τεχνολογία TCP/IP

7.2 Τεχνολογία TCP/IP 7.2 Τεχνολογία TCP/IP Ερωτήσεις 1. Πώς χρησιµοποιείται σήµερα ο όρος TCP/IP; ε ποια πρωτόκολλα αναφέρεται και γιατί έχει επικρατήσει αυτή η ονοµασία; 2. Ποια ανάγκη οδήγησε στην επικράτηση της τεχνολογίας

Διαβάστε περισσότερα

ιαδίκτυα & Ενδοδίκτυα Η/Υ

ιαδίκτυα & Ενδοδίκτυα Η/Υ ιαδίκτυα & Ενδοδίκτυα Η/Υ ρ Θεοδώρου Παύλος pavlos@aegean.gr Βιβλίο Μαθήµατος: Επικοινωνίες Υπολογιστών & εδοµένων, William Stallings, 6/e, 2000. ΕΥ - κεφ.9 (1/2) ρ Παύλος Θεοδώρου 1 Εισαγωγή Εισαγωγή

Διαβάστε περισσότερα

Κεφάλαιο 1 Ε Π Α Ν Α Λ Η Ψ Η

Κεφάλαιο 1 Ε Π Α Ν Α Λ Η Ψ Η Κεφάλαιο 1 Ε Π Α Ν Α Λ Η Ψ Η Αρχές Δικτύων Επικοινωνιών Σελ. 9-50 Γεώργιος Γιαννόπουλος ΠΕ19, ggiannop (at) sch.gr http://diktya-epal-b.ggia.info/ Creative Commons License 3.0 Share-Alike Σύνδεση από σημείο

Διαβάστε περισσότερα

Πρωτόκολλα Διαδικτύου

Πρωτόκολλα Διαδικτύου Πρωτόκολλα Διαδικτύου Ερωτήσεις Ασκήσεις Επικοινωνίες Δεδομένων Μάθημα 3 ο Ερωτήσεις 1. Τι είναι το intranet και ποια τα πλεονεκτήματα που προσφέρει; 2. Τι δηλώνει ο όρος «TCP/IP»; 3. Να αναφέρετε τα πρωτόκολλα

Διαβάστε περισσότερα

Μάθημα 5: To Μοντέλο Αναφοράς O.S.I.

Μάθημα 5: To Μοντέλο Αναφοράς O.S.I. Μάθημα 5: To Μοντέλο Αναφοράς O.S.I. 5.1 Γενικά Τα πρώτα δίκτυα χαρακτηρίζονταν από την «κλειστή» αρχιτεκτονική τους με την έννοια ότι αυτή ήταν γνωστή μόνο στην εταιρία που την είχε σχεδιάσει. Με τον

Διαβάστε περισσότερα

Δίκτυα Υπολογιστών ΙΙ (Ασκήσεις Πράξης)

Δίκτυα Υπολογιστών ΙΙ (Ασκήσεις Πράξης) TEI Σερρών Τμήμα Πληροφορικής και Επικοινωνιών Δίκτυα Υπολογιστών ΙΙ (Ασκήσεις Πράξης) Ανάλυση Πρωτοκόλλων Τομέας Τηλεπικοινωνιών και Δικτύων Δρ. Αναστάσιος Πολίτης Καθηγητής Εφαρμογών anpol@teiser.gr

Διαβάστε περισσότερα

6.1 Επεκτείνοντας το δίκτυο 6.2 Επιλεγόμενες τηλεφωνικές γραμμές modems Πλεονεκτήματα Μειονεκτήματα Βασική χρήση

6.1 Επεκτείνοντας το δίκτυο 6.2 Επιλεγόμενες τηλεφωνικές γραμμές modems Πλεονεκτήματα Μειονεκτήματα Βασική χρήση 6.1 Επεκτείνοντας το δίκτυο Τοπικά δίκτυα (LAN): επικοινωνία με περιορισμένη απόσταση κάλυψης (μικρή εμβέλεια) Δίκτυα Ευρείας Περιοχής (WAN): επικοινωνία σε ευρύτερη γεωγραφική κάλυψη. Από την άποψη του

Διαβάστε περισσότερα

Δίκτυα Υπολογιστών. Δίκτυα υπολογιστών και το Διαδίκτυο Εισαγωγή. Κ. Βασιλάκης

Δίκτυα Υπολογιστών. Δίκτυα υπολογιστών και το Διαδίκτυο Εισαγωγή. Κ. Βασιλάκης Δίκτυα Υπολογιστών Δίκτυα υπολογιστών και το Διαδίκτυο Εισαγωγή Κ. Βασιλάκης Περίγραμμα Τι είναι το διαδίκτυο Στοιχεία που το συνθέτουν Τρόποι παροχής υπηρεσιών Τι είναι τα πρωτόκολλα Τα άκρα του δικτύου

Διαβάστε περισσότερα

Δίκτυα Θεωρία

Δίκτυα Θεωρία Δίκτυα Θεωρία 2016-17 Κεφάλαιο 1 1. Ποια είναι τα επίπεδα που χρησιμοποιεί το μοντέλο αναφοράς για τη Διασύνδεση Ανοικτών Συστημάτων (OSI); i. Φυσικό Επίπεδο ii. επίπεδο Ζεύξης ή Σύνδεσης Δεδομένων iii.

Διαβάστε περισσότερα

Πρότυπο Αναφοράς Open Systems Interconnection (OSI) Επικοινωνίες Δεδομένων Μάθημα 5 ο

Πρότυπο Αναφοράς Open Systems Interconnection (OSI) Επικοινωνίες Δεδομένων Μάθημα 5 ο Πρότυπο Αναφοράς Open Systems Interconnection (OSI) Επικοινωνίες Δεδομένων Μάθημα 5 ο Πρωτόκολλα και Αρχιτεκτονική Δικτύου Για να ανταλλάξουν δεδομένα δύο σταθμοί, εκτός από την ύπαρξη διαδρομής μεταξύ

Διαβάστε περισσότερα

Κεφάλαιο 1 Ε Π Α Ν Α Λ Η Ψ Η. Αρχές Δικτύων Επικοινωνιών

Κεφάλαιο 1 Ε Π Α Ν Α Λ Η Ψ Η. Αρχές Δικτύων Επικοινωνιών Κεφάλαιο 1 Ε Π Α Ν Α Λ Η Ψ Η Αρχές Δικτύων Επικοινωνιών Τι είναι επικοινωνία; Είναι η διαδικασία αποστολής πληροφοριών από ένα πομπό σε κάποιο δέκτη. Η Τηλεπικοινωνία είναι η επικοινωνία από απόσταση (τηλε-).

Διαβάστε περισσότερα

AEI Πειραιά Τ.Τ. Τμ. Μηχ/κων Αυτοματισμού ΤΕ. Δίκτυα Υπολογιστών. Διάλεξη 1: Εισαγωγή στα δίκτυα υπολογιστών και βασικές αρχές

AEI Πειραιά Τ.Τ. Τμ. Μηχ/κων Αυτοματισμού ΤΕ. Δίκτυα Υπολογιστών. Διάλεξη 1: Εισαγωγή στα δίκτυα υπολογιστών και βασικές αρχές AEI Πειραιά Τ.Τ. Τμ. Μηχ/κων Αυτοματισμού ΤΕ Δίκτυα Υπολογιστών Διάλεξη 1: Εισαγωγή στα δίκτυα υπολογιστών και βασικές αρχές Γενικά Διδάσκουσα: Ελένη Αικατερίνη Λελίγκου Γραφείο ΖΑ202. Ε-mail: e.leligkou@puas.gr

Διαβάστε περισσότερα

ΤΕΧΝΟΛΟΓΙΑ ΔΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ 1 ο ΚΕΦΑΛΑΙΟ

ΤΕΧΝΟΛΟΓΙΑ ΔΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ 1 ο ΚΕΦΑΛΑΙΟ ΤΕΧΝΟΛΟΓΙΑ ΔΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ 1 ο ΚΕΦΑΛΑΙΟ ΕΡΩΤΗΣΕΙΣ - ΑΣΚΗΣΕΙΣ 1. Έστω ότι θέλετε να συνδέσετε 20 υπολογιστές με συνδέσεις από σημείο σε σημείο (point-to-point), ώστε να είναι δυνατή η επικοινωνία όλων

Διαβάστε περισσότερα

ΙΚΤΥΑ ΕΠΙΚΟΙΝΩΝΙΩΝ. Ιωάννης Σταυρακάκης, Καθηγητής Password: edi

ΙΚΤΥΑ ΕΠΙΚΟΙΝΩΝΙΩΝ. Ιωάννης Σταυρακάκης, Καθηγητής  Password: edi ΙΚΤΥΑ ΕΠΙΚΟΙΝΩΝΙΩΝ Ιωάννης Σταυρακάκης, Καθηγητής ioannis@di.uoa.gr http://www.di.uoa.gr/~ioannis/courses.html Password: edi ίκτυα Επικ. - Κεφ. 1 ( Καθ. Ι. Σταυρακάκης, Τµήµα Πληροφ. & Τηλεπικ. - Ε.Κ.Π.Α.)

Διαβάστε περισσότερα

7.9 ροµολόγηση. Ερωτήσεις

7.9 ροµολόγηση. Ερωτήσεις 7.9 ροµολόγηση Ερωτήσεις 1. Να δώσετε τον ορισµό της δροµολόγησης; 2. Από τι εξαρτάται η χρονική στιγµή στην οποία λαµβάνονται οι αποφάσεις δροµολόγησης; Να αναφέρετε ποια είναι αυτή στην περίπτωση των

Διαβάστε περισσότερα

Επαναληπτικές Ασκήσεις Μαθήματος

Επαναληπτικές Ασκήσεις Μαθήματος Επαναληπτικές Ασκήσεις Μαθήματος Ερώτηση: EAM1. Ποιο από τα παρακάτω χαρακτηριστικά δεν αποτελεί κριτήριο κατηγοριοποίησης δικτύων. Κλίμακα Τεχνολογία μετάδοσης Πλήθος τερματικών εντός του δικτύου Ερώτηση:

Διαβάστε περισσότερα

Δίκτυα Θεωρία

Δίκτυα Θεωρία Δίκτυα Θεωρία 2016-17 Κεφάλαιο 4 1. Γιατί η μεταφορά των δεδομένων δεν καλύπτεται επαρκώς από το Επίπεδο Δικτύου; Επειδή το επίπεδο δικτύου από τη φύση του είναι αναξιόπιστο, τα πακέτα φθάνουν καθυστερημένα,

Διαβάστε περισσότερα

Τεχνολογία Δικτύων Επικοινωνιών (Ενότητα Πρωτόκολλα και Αρχιτεκτονική Δικτύου)

Τεχνολογία Δικτύων Επικοινωνιών (Ενότητα Πρωτόκολλα και Αρχιτεκτονική Δικτύου) Τεχνολογία Δικτύων Επικοινωνιών (Ενότητα 1.7 - Πρωτόκολλα και Αρχιτεκτονική Δικτύου) Πρωτόκολλο είναι ένα σύνολο κανόνων που πρέπει να ακολουθήσουν όλοι οι σταθμοί εργασίας σε ένα δίκτυο ώστε να μπορούν

Διαβάστε περισσότερα

Επίπεδο Δικτύου: Διαδικτύωση

Επίπεδο Δικτύου: Διαδικτύωση Επίπεδο Δικτύου: Διαδικτύωση Μάθημα «Δίκτυα Υπολογιστών» Τμήμα Πληροφορικής Οικονομικό Πανεπιστήμιο Αθηνών Εαρινό Εξάμηνο 2013-14 Γεώργιος Ξυλωμένος Γεώργιος Δ. Σταμούλης Βασίλειος Σύρης Εισαγωγή Υπάρχει

Διαβάστε περισσότερα

ΤΕΧΝΟΛΟΓΙΑ ΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ

ΤΕΧΝΟΛΟΓΙΑ ΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ Ηυιοθέτησητης τεχνολογίαςκαι αρχιτεκτονικής TCP/IP δεν έρχεται σε σύγκρουσηµε το µοντέλο του OSI και αυτό γιατί και τα δυο συστήµατααναπτύχθηκαν συγχρόνως. Παρόλα αυτά, υπάρχουν ορισµένες ουσιώδεις διαφορές

Διαβάστε περισσότερα

Εισαγωγή στην επιστήμη των υπολογιστών. Υλικό Υπολογιστών Κεφάλαιο 6ο ίκτυα υπολογιστών

Εισαγωγή στην επιστήμη των υπολογιστών. Υλικό Υπολογιστών Κεφάλαιο 6ο ίκτυα υπολογιστών Εισαγωγή στην επιστήμη των υπολογιστών Υλικό Υπολογιστών Κεφάλαιο 6ο ίκτυα υπολογιστών 1 ίκτυα μικρά και μεγάλα Ένα δίκτυο υπολογιστών (computer network) είναι ένας συνδυασμός συστημάτων (δηλαδή, υπολογιστών),

Διαβάστε περισσότερα

SNMP ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΟΥ ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ

SNMP ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΟΥ ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ Κεφάλαιο 4 SNMP ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΟΥ ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ 1 4.1 ΕΙΣΑΓΩΓΗ...3 4.2 ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ...3 4.2.1 Η ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΤΗΣ ΔΙΑΧΕΙΡΙΣΗΣ ΔΙΚΤΥΟΥ...3 4.2.1.1 ΣΤΑΘΜΟΣ ΔΙΑΧΕΙΡΙΣΗΣ ΔΙΚΤΥΟΥ...4 4.2.1.2 ΔΙΑΧΕΙΡΙΖΟΜΕΝΟΙ

Διαβάστε περισσότερα

ΒΑΣΙΚΕΣ ΥΠΗΡΕΣΙΕΣ Βελώνης Γεώργιος ΤΟΥ ΔΙΑΔΙΚΤΥΟΥ. Μάθημα 2ο. Βελώνης Γεώργιος - 1ο Τ.Ε.Ε. Κατερίνης. Καθηγητής Πληροφορικής ΠΕ20 2-1

ΒΑΣΙΚΕΣ ΥΠΗΡΕΣΙΕΣ Βελώνης Γεώργιος ΤΟΥ ΔΙΑΔΙΚΤΥΟΥ. Μάθημα 2ο. Βελώνης Γεώργιος - 1ο Τ.Ε.Ε. Κατερίνης. Καθηγητής Πληροφορικής ΠΕ20 2-1 ΒΑΣΙΚΕΣ ΥΠΗΡΕΣΙΕΣ Βελών ΤΟΥ ΔΙΑΔΙΚΤΥΟΥ Μάθημα 2ο Βελών - 1ο Τ.Ε.Ε. Κατερίν Καθηγητής Πληροφορικής ΠΕ20 2-1 Τεχνολογίες Μεταγωγής Δεδομένων Δίκτυα Μεταγωγής Βελών Βελών Δίκτυα Μεταγωγής Δίκτυα Μεταγωγής

Διαβάστε περισσότερα

4.1.1 Πρωτόκολλο TCP - Δομή πακέτου

4.1.1 Πρωτόκολλο TCP - Δομή πακέτου 4.1.1 Πρωτόκολλο TCP - Δομή πακέτου 1 / 38 Παράδειγμα Έστω ότι θέλουμε να αποστείλουμε ένα μήνυμα μέσω ηλεκτρονικού ταχυδρομείου. Αρχικά η εφαρμογή χρησιμοποιώντας τα πρωτόκολλα του επιπέδου εφαρμογής

Διαβάστε περισσότερα

Νέες Επικοινωνιακές Τεχνολογίες

Νέες Επικοινωνιακές Τεχνολογίες Νέες Επικοινωνιακές Τεχνολογίες Λύσεις Θεμάτων http://nop33.wordpress.com Τι ορίζουμε ως Τοπικό Δίκτυο Υπολογιστών; Ποια είναι τα βασικά χαρακτηριστικά των Τοπικών Δικτύων; Ποιες οι βασικές τοπολογίες

Διαβάστε περισσότερα

Ενότητα 1. Εισαγωγή στις βασικές έννοιες των ικτύων ΗΥ

Ενότητα 1. Εισαγωγή στις βασικές έννοιες των ικτύων ΗΥ Ενότητα 1 Εισαγωγή στις βασικές έννοιες των ικτύων ΗΥ Εύρος Ζώνης και Ταχύτητα Μετάδοσης Η ταχύτητα µετάδοσης [εύρος ζώνης (banwidth)] των δεδοµένων αποτελεί ένα δείκτη επίδοσης των δικτύων και συνήθως

Διαβάστε περισσότερα

ΔΙΚΤΥΑ ΕΠΙΚΟΙΝΩΝΙΩΝ. Ιωάννης Σταυρακάκης, Καθηγητής ioannis@di.uoa.gr. http://www.di.uoa.gr/~ioannis/courses.html Password: edi

ΔΙΚΤΥΑ ΕΠΙΚΟΙΝΩΝΙΩΝ. Ιωάννης Σταυρακάκης, Καθηγητής ioannis@di.uoa.gr. http://www.di.uoa.gr/~ioannis/courses.html Password: edi ΔΙΚΤΥΑ ΕΠΙΚΟΙΝΩΝΙΩΝ Ιωάννης Σταυρακάκης, Καθηγητής ioannis@di.uoa.gr http://www.di.uoa.gr/~ioannis/courses.html Password: edi Δίκτυα Επικ. - Κεφ. 1 ( Καθ. Ι. Σταυρακάκης, Τμήμα Πληροφ. & Τηλεπικ. - Ε.Κ.Π.Α.)

Διαβάστε περισσότερα

Ethernet Ethernet ΙΕΕΕ CSMA/CD

Ethernet Ethernet ΙΕΕΕ CSMA/CD Ethernet Τα τοπικά δίκτυα είναι συνήθως τύπου Ethernet ή λέμε ότι ακολουθούν το πρότυπο ΙΕΕΕ 802.3 Ακολουθούν το μηχανισμό CSMA/CD (Πολλαπλή πρόσβαση με Ακρόαση Φέροντος και Ανίχνευση Συγκρούσεων). Πολλαπλή

Διαβάστε περισσότερα

Τεχνολογία TCP/IP ΙΑ ΙΚΤΥΩΣΗ- INTERNET. Τεχνολογίες Τηλεκπαίδευσης & Εφαρµογές - Ιούλιος 09 1 http://creativecommons.org/licenses/by-nc-nd/3.

Τεχνολογία TCP/IP ΙΑ ΙΚΤΥΩΣΗ- INTERNET. Τεχνολογίες Τηλεκπαίδευσης & Εφαρµογές - Ιούλιος 09 1 http://creativecommons.org/licenses/by-nc-nd/3. Τεχνολογία TCP/IP ΙΑ ΙΚΤΥΩΣΗ- INTERNET Εφαρµογές - Ιούλιος 09 1 Εισαγωγή στην τεχνολογία TCP/IP Τεχνολογία TCP/IP TCP/IP Πρωτόκολλα TCP/IP ή τεχνολογία TCP/IP ή τεχνολογία ιαδικτύου (Internet)( ιαδίκτυο

Διαβάστε περισσότερα

ΤΕΙ Στερεάς Ελλάδας Τμ. Ηλ.γων Μηχ/κων ΤΕ. Δίκτυα Υπολογιστών. Διάλεξη 1: Εισαγωγή στα δίκτυα υπολογιστών και βασικές αρχές

ΤΕΙ Στερεάς Ελλάδας Τμ. Ηλ.γων Μηχ/κων ΤΕ. Δίκτυα Υπολογιστών. Διάλεξη 1: Εισαγωγή στα δίκτυα υπολογιστών και βασικές αρχές ΤΕΙ Στερεάς Ελλάδας Τμ. Ηλ.γων Μηχ/κων ΤΕ Δίκτυα Υπολογιστών Διάλεξη 1: Εισαγωγή στα δίκτυα υπολογιστών και βασικές αρχές Γενικά Τα αρχεία των διαλέξεων του μαθήματος μπορείτε να βρείτε στο: http://eclass.gunet.gr/

Διαβάστε περισσότερα

Συσκευές Τηλεπικοινωνιών και Δικτύωσης. Επικοινωνίες Δεδομένων Μάθημα 9 ο

Συσκευές Τηλεπικοινωνιών και Δικτύωσης. Επικοινωνίες Δεδομένων Μάθημα 9 ο Συσκευές Τηλεπικοινωνιών και Δικτύωσης Επικοινωνίες Δεδομένων Μάθημα 9 ο Εισαγωγή Ένα δίκτυο αποτελείται από ενεργά και παθητικά στοιχεία. Στα παθητικά στοιχεία εντάσσονται τα καλώδια και τα εξαρτήματα

Διαβάστε περισσότερα

Συνεχής ροή πολυµέσων

Συνεχής ροή πολυµέσων Συνεχής ροή πολυµέσων Εισαγωγή ικτυακά πρωτόκολλα Πολυµέσα και δίκτυα Συνεχής ροή Ροή από εξυπηρετητές ιστοσελίδων Ροή από εξυπηρετητές µέσων Πρωτόκολλο RTSP Πρωτόκολλο RTP οµή πακέτων RTP Πρωτόκολλο RTCP

Διαβάστε περισσότερα

ΠΡΟΤΕΙΝΟΜΕΝΑ ΘΕΜΑΤΑ ΣΤΑ ΔΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ ΙΙ Γ Τάξη Ε.Π.Α.Λ.

ΠΡΟΤΕΙΝΟΜΕΝΑ ΘΕΜΑΤΑ ΣΤΑ ΔΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ ΙΙ Γ Τάξη Ε.Π.Α.Λ. ΠΡΟΤΕΙΝΟΜΕΝΑ ΘΕΜΑΤΑ ΣΤΑ ΔΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ ΙΙ 2016 Γ Τάξη Ε.Π.Α.Λ. ΘΕΜΑ Α Α1. Να γράψετε στο τετράδιό σας τον αριθµό καθεµιάς από τις παρακάτω προτάσεις και δίπλα το γράµµα Σ, αν είναι σωστή, ή το γράµµα

Διαβάστε περισσότερα

ΔΙΑΓΩΝΙΣΜΑ ΤΕΛΙΚΗΣ ΕΠΑΝΑΛΗΨΗΣ ΣΤΙΣ ΕΝΟΤΗΤΕΣ

ΔΙΑΓΩΝΙΣΜΑ ΤΕΛΙΚΗΣ ΕΠΑΝΑΛΗΨΗΣ ΣΤΙΣ ΕΝΟΤΗΤΕΣ ΕΠΑ.Λ. Άμφισσας Σχολικό Έτος : 2011-2012 Τάξη : Γ Τομέας : Πληροφορικής Μάθημα : ΔΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ ΙΙ Διδάσκων : Χρήστος Ρέτσας Η-τάξη : tiny.cc/retsas-diktya2 ΔΙΑΓΩΝΙΣΜΑ ΤΕΛΙΚΗΣ ΕΠΑΝΑΛΗΨΗΣ ΣΤΙΣ ΕΝΟΤΗΤΕΣ

Διαβάστε περισσότερα

ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΩΝ Διαχείριση Ασφαλείας (ΙΙ) Πρωτόκολλα & Αρχιτεκτονικές Firewalls Anomaly & Intrusion Detection Systems (IDS)

ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΩΝ Διαχείριση Ασφαλείας (ΙΙ) Πρωτόκολλα & Αρχιτεκτονικές  Firewalls Anomaly & Intrusion Detection Systems (IDS) ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΩΝ Διαχείριση Ασφαλείας (ΙΙ) Πρωτόκολλα & Αρχιτεκτονικές email Firewalls Anomaly & Intrusion Detection Systems (IDS) Β. Μάγκλαρης maglaris@netmode.ntua.gr www.netmode.ntua.gr 30/11/2015

Διαβάστε περισσότερα

Δίκτυα Υπολογιστών I

Δίκτυα Υπολογιστών I Δίκτυα Υπολογιστών I Σχεδίαση και Αρχιτεκτονική Δικτύων Ευάγγελος Παπαπέτρου Τμ. Μηχ. Η/Υ & Πληροφορικής, Παν. Ιωαννίνων Ε.Παπαπέτρου (Τμ.Μηχ. Η/Υ & Πληροφορικής) MYY703: Δίκτυα Υπολογιστών I 1 / 19 Διάρθρωση

Διαβάστε περισσότερα

7.2.2 Σχέση OSI και TCP/IP

7.2.2 Σχέση OSI και TCP/IP Κεφάλαιο 7 7.2.2 Σχέση OSI και TCP/IP Σελ. 226-230 Γεώργιος Γιαννόπουλος ΠΕ19, ggiannop (at) sch.gr ΕΣΠΕΡΙΝΟ ΕΠΑΛ Κομοτηνής http://diktya-epal-g.ggia.info/ Γνωστό μοντέλο OSI διασύνδεσης ανοικτών συστημάτων.

Διαβάστε περισσότερα

Είναι η διαδικασία εύρεσης της διαδρομής που πρέπει να ακολουθήσει ένα πακέτο για να φτάσει στον προορισμό του. Η διαδικασία αυτή δεν είναι πάντα

Είναι η διαδικασία εύρεσης της διαδρομής που πρέπει να ακολουθήσει ένα πακέτο για να φτάσει στον προορισμό του. Η διαδικασία αυτή δεν είναι πάντα 1 Είναι η διαδικασία εύρεσης της διαδρομής που πρέπει να ακολουθήσει ένα πακέτο για να φτάσει στον προορισμό του. Η διαδικασία αυτή δεν είναι πάντα εύκολη, τη στιγμή που γνωρίζουμε ότι ένα σύνθετο δίκτυο

Διαβάστε περισσότερα

Δίκτυα Υπολογιστών Firewalls. Χάρης Μανιφάβας

Δίκτυα Υπολογιστών Firewalls. Χάρης Μανιφάβας Δίκτυα Υπολογιστών Firewalls Χάρης Μανιφάβας 1 Επικοινωνία Βασίζεται στη μεταβίβαση μηνυμάτων (λόγω απουσίας διαμοιραζόμενης μνήμης) Απαιτείται συμφωνία φόρμας μηνυμάτων Πρότυπο Στόχος τυποποίησης = Συνεργασία

Διαβάστε περισσότερα

Πρωτόκολλα Επικοινωνίας Πρωτόκολλο IP

Πρωτόκολλα Επικοινωνίας Πρωτόκολλο IP Πρωτόκολλα Επικοινωνίας Πρωτόκολλο IP Πρωτόκολλα επικοινωνίας Ορισμός Σύνολα προσυμφωνημένων κανόνων που απαιτούνται για τον καθορισμό του τρόπου με τον οποίο επιτυγχάνεται η ανταλλαγή δεδομένων, και επομένως

Διαβάστε περισσότερα

ίκτυα ίκτυο υπολογιστών: Ένα σύνολο από υπολογιστικές συσκευές που συνδέονται µεταξύ τους για σκοπούς επικοινωνίας και χρήσης πόρων. Συνήθως, οι συσκε

ίκτυα ίκτυο υπολογιστών: Ένα σύνολο από υπολογιστικές συσκευές που συνδέονται µεταξύ τους για σκοπούς επικοινωνίας και χρήσης πόρων. Συνήθως, οι συσκε ΙΚΤΥΑ & INTERNET ίκτυα ίκτυο υπολογιστών: Ένα σύνολο από υπολογιστικές συσκευές που συνδέονται µεταξύ τους για σκοπούς επικοινωνίας και χρήσης πόρων. Συνήθως, οι συσκευές συνδέονται µεταξύ τους µε καλώδια

Διαβάστε περισσότερα

ιαδίκτυα και το ιαδίκτυο (Internetworking and the Internet)

ιαδίκτυα και το ιαδίκτυο (Internetworking and the Internet) ιαδίκτυα και το ιαδίκτυο (Internetworking and the Internet) Περίληψη Πως τα διάφορα δίκτυα διαφέρουν µεταξύ τους Πως συνδέονται ανοµοιογενή δίκτυα µεταξύ τους Εικονικά κυκλώµατα συνδεδεµένα σε σειρά ιαδικτύωση

Διαβάστε περισσότερα

ΤΕΛΟΣ 1ΗΣ ΑΠΟ 5 ΣΕΛΙ ΕΣ

ΤΕΛΟΣ 1ΗΣ ΑΠΟ 5 ΣΕΛΙ ΕΣ ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ ΝΕΟ ΣΥΣΤΗΜΑ Γ ΗΜΕΡΗΣΙΩΝ ΕΠΑΝΑΛΗΠΤΙΚΕΣ ΠΑΝΕΛΛΑ ΙΚΕΣ ΕΞΕΤΑΣΕΙΣ HMEΡΗΣΙΩΝ ΕΠΑΓΓΕΛΜΑΤΙΚΩΝ ΛΥΚΕΙΩΝ ΤΕΤΑΡΤΗ 22 ΙΟΥΝΙΟΥ 2016 ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΤΕΧΝΟΛΟΓΙΑ ΙΚΤΥΩΝ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΩΝ ΣΥΝΟΛΟ ΣΕΛΙ

Διαβάστε περισσότερα

ΔΙΚΤΥΑ ΕΠΙΚΟΙΝΩΝΙΩΝ. Ιωάννης Σταυρακάκης, Καθηγητής Password: edi

ΔΙΚΤΥΑ ΕΠΙΚΟΙΝΩΝΙΩΝ. Ιωάννης Σταυρακάκης, Καθηγητής  Password: edi ΔΙΚΤΥΑ ΕΠΙΚΟΙΝΩΝΙΩΝ Ιωάννης Σταυρακάκης, Καθηγητής ioannis@di.uoa.gr http://www.di.uoa.gr/~ioannis/courses.html Password: edi Δίκτυα Επικ. - Κεφ. 1 ( Καθ. Ι. Σταυρακάκης, Τμήμα Πληροφ. & Τηλεπικ. - Ε.Κ.Π.Α.)

Διαβάστε περισσότερα

ΤΕΧΝΟΛΟΓΙΑ ΔΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ 7ο ΚΕΦΑΛΑΙΟ

ΤΕΧΝΟΛΟΓΙΑ ΔΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ 7ο ΚΕΦΑΛΑΙΟ ΤΕΧΝΟΛΟΓΙΑ ΔΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ 7ο ΚΕΦΑΛΑΙΟ ΕΡΩΤΗΣΕΙΣ - ΑΣΚΗΣΕΙΣ 1. Για να διεκπεραιωθεί η μεταφορά των πακέτων από την πηγή στον προορισμό μεταξύ των κόμβων του επικοινωνιακού υποδικτύου απαιτείται η

Διαβάστε περισσότερα

Εργαστήριο Ethereal: ICMP

Εργαστήριο Ethereal: ICMP Εργαστήριο Ethereal: ICMP Έκδοση:1.0 2005 J.F. Kurose, K.W. Ross Μετάφραση - Απόδοση: Σ. Τσακιρίδου Computer Networking: A Top-Down Approach Featuring the Internet Στο εργαστήριο αυτό θα εξετάσουµε µερικά

Διαβάστε περισσότερα

Μάθημα 6: Αρχιτεκτονική TCP/IP

Μάθημα 6: Αρχιτεκτονική TCP/IP Μάθημα 6: Αρχιτεκτονική TCP/IP 6.1 Συσχέτιση OSI και TCP/IP Η αρχιτεκτονική TCP/IP ακολουθεί ένα πρότυπο διαστρωμάτωσης παρόμοιο με το μοντέλο OSI. Η αντιστοιχία φαίνεται στο σχήμα 6.1. Η ονομασία της

Διαβάστε περισσότερα

ΔΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ ΙΙ

ΔΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ ΙΙ ΔΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ ΙΙ 1 o ΔΙΑΓΩΝΙΣΜΑ ΘΕΜΑ 1 ο Α) Ποια είναι τα βασικά στοιχεία, τα οποία χαρακτηρίζουν το ISDN; Η ψηφιακή μετάδοση. Όλα τα σήματα μεταδίδονται σε ψηφιακή μορφή απ' άκρη σ' άκρη του δικτύου,

Διαβάστε περισσότερα

Περιεχόµενα. Επικοινωνίες εδοµένων: Τρόποι Μετάδοσης και Πρωτόκολλα. Εισαγωγή

Περιεχόµενα. Επικοινωνίες εδοµένων: Τρόποι Μετάδοσης και Πρωτόκολλα. Εισαγωγή Επικοινωνίες εδοµένων: Τρόποι Μετάδοσης και Πρωτόκολλα Περιεχόµενα Εισαγωγή Επικοινωνία εδοµένων Αναλογική vs. Ψηφιακή Μετάδοση ιαµόρφωση σήµατος Κανάλια επικοινωνίας Κατεύθυνση και ρυθµοί µετάδοσης Ασύγχρονη

Διαβάστε περισσότερα

Κεφάλαιο 7 Διαδικτύωση-Internet. 7.2 Τεχνολογία TCP/IP

Κεφάλαιο 7 Διαδικτύωση-Internet. 7.2 Τεχνολογία TCP/IP Κεφάλαιο 7 Διαδικτύωση-Internet 7.2 Τεχνολογία TCP/IP Τι δηλώνει ο όρος «TCP/IP»; Ο όρος TCP/IP αναφέρεται σε μια ομάδα ομοειδών πρωτοκόλλων που χρησιμοποιούνται για την επικοινωνία των δικτύων υπολογιστών

Διαβάστε περισσότερα

Τη φυσική (MAC) διεύθυνση που δίνει ο κατασκευαστής του δικτυακού υλικού στις συσκευές του (π.χ. στις κάρτες δικτύου). Η περιοχή διευθύνσεων που

Τη φυσική (MAC) διεύθυνση που δίνει ο κατασκευαστής του δικτυακού υλικού στις συσκευές του (π.χ. στις κάρτες δικτύου). Η περιοχή διευθύνσεων που 7.7 Πρωτόκολλο ARP 1 ύο είδη διευθύνσεων: MAC - IP Τη φυσική (MAC) διεύθυνση που δίνει ο κατασκευαστής του δικτυακού υλικού στις συσκευές του (π.χ. στις κάρτες δικτύου). Η περιοχή διευθύνσεων που µπορεί

Διαβάστε περισσότερα

Αποµακρυσµένη κλήση διαδικασιών

Αποµακρυσµένη κλήση διαδικασιών Αποµακρυσµένηκλήση διαδικασιών Τοπική κλήση διαδικασιών Αποµακρυσµένη κλήση διαδικασιών Μεταβίβαση παραµέτρων Πρωτόκολλα επικοινωνίας Αντιγραφή µηνυµάτων Προδιαγραφές διαδικασιών RPC στο σύστηµα DCE Κατανεµηµένα

Διαβάστε περισσότερα

ΤΕΧΝΟΛΟΓΙΑ ΔΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ 5ο ΚΕΦΑΛΑΙΟ

ΤΕΧΝΟΛΟΓΙΑ ΔΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ 5ο ΚΕΦΑΛΑΙΟ ΤΕΧΝΟΛΟΓΙΑ ΔΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ 5ο ΚΕΦΑΛΑΙΟ ΕΡΩΤΗΣΕΙΣ - ΑΣΚΗΣΕΙΣ 14. Ποιος είναι ο ρόλος των καρτών δικτύου (Network Interface Card, NIC); Απάντηση: Οι κάρτες δικτύου χρησιμοποιούνται για να συνδέσουν

Διαβάστε περισσότερα

Τι είναι ένα δίκτυο υπολογιστών; Αρχιτεκτονική επιπέδων πρωτοκόλλων. Δικτυακά πρωτόκολλα

Τι είναι ένα δίκτυο υπολογιστών; Αρχιτεκτονική επιπέδων πρωτοκόλλων. Δικτυακά πρωτόκολλα Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2014-15 Δίκτυα υπολογιστών (και το Διαδίκτυο) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης Τι είναι ένα δίκτυο υπολογιστών;

Διαβάστε περισσότερα

ΙΚΤΥΑ ΕΠΙΚΟΙΝΩΝΙΩΝ Ασκήσεις για το φυσικό στρώμα. λ από τον ρυθμό μετάδοσής της. Υποθέτοντας ότι ο κόμβος A

ΙΚΤΥΑ ΕΠΙΚΟΙΝΩΝΙΩΝ Ασκήσεις για το φυσικό στρώμα. λ από τον ρυθμό μετάδοσής της. Υποθέτοντας ότι ο κόμβος A ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧ/ΚΩΝ ΚΑΙ ΜΗΧ. ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΕΠΙΚΟΙΝΩΝΙΩΝ, ΗΛΕΚΤΡΟΝΙΚΗΣ ΚΑΙ ΣΥΣΤΗΜΑΤΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΙΚΤΥΑ ΕΠΙΚΟΙΝΩΝΙΩΝ Ασκήσεις για το φυσικό στρώμα 1. Στο δίκτυο

Διαβάστε περισσότερα

Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2014-15. Δίκτυα υπολογιστών. (και το Διαδίκτυο)

Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2014-15. Δίκτυα υπολογιστών. (και το Διαδίκτυο) Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2014-15 Δίκτυα υπολογιστών (και το Διαδίκτυο) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης Τι είναι ένα δίκτυο υπολογιστών;

Διαβάστε περισσότερα

1.2.2 Το μοντέλο δικτύωσης TCP/IP 1 / 26

1.2.2 Το μοντέλο δικτύωσης TCP/IP 1 / 26 1.2.2 Το μοντέλο δικτύωσης TCP/IP 1 / 26 Το δίκτυο ARPANET ήταν ένα δίκτυο μεταγωγής πακέτων που χρηματοδοτήθηκε από το υπουργείο άμυνας των Η.Π.Α. στα τέλη της δεκαετίας του '60. 2 / 26 Από την αρχή κύριος

Διαβάστε περισσότερα

Ιόνιο Πανεπιστήµιο Τµήµα Αρχειονοµίας Βιβλιοθηκονοµίας. Μοντέλο TCP/IP. Ενότητα E. Συστήµατα Επικοινωνίας

Ιόνιο Πανεπιστήµιο Τµήµα Αρχειονοµίας Βιβλιοθηκονοµίας. Μοντέλο TCP/IP. Ενότητα E. Συστήµατα Επικοινωνίας Ιόνιο Πανεπιστήµιο Τµήµα Αρχειονοµίας Βιβλιοθηκονοµίας ίκτυα Η/Υ Μοντέλο TCP/IP Ενότητα E ρ. Ε. Μάγκος Συστήµατα Επικοινωνίας (Ε) (PC) (N) Επικοινωνίες: Εφαρµογές Υπολογιστές ίκτυα πολλές πολλοί N A N

Διαβάστε περισσότερα

Τρίτη Πρόοδος [110 μονάδες] Απαντήσεις

Τρίτη Πρόοδος [110 μονάδες] Απαντήσεις ΗY335: Δίκτυα Υπολογιστών Χειμερινό Εξάμηνο 2011-20112 Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης Διδάσκουσα: Μαρία Παπαδοπούλη 15 Δεκεμβρίου 2011 Τρίτη Πρόοδος [110 μονάδες] Απαντήσεις 1. Θεωρήσετε

Διαβάστε περισσότερα

Εισαγωγή στην πληροφορική

Εισαγωγή στην πληροφορική Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Εισαγωγή στην πληροφορική Ενότητα 7: Εισαγωγή στα δίκτυα Η/Υ (μέρος Α) Αγγελίδης Παντελής Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Άδειες Χρήσης Το

Διαβάστε περισσότερα

Επίπεδο δικτύου IP Forwading κτλ

Επίπεδο δικτύου IP Forwading κτλ Επίπεδο δικτύου IP Forwading κτλ (IP για που το έβαλες) Εργαστήριο Δικτύων Υπολογιστών 2014-2015 Τμήμα Μηχανικών Η/Υ και Πληροφορικής Επίπεδο δικτύου (Network layer) Επίπεδο εφαρμογής (Application layer):

Διαβάστε περισσότερα

3.2 Το αυτοδύναμο πακέτο IP (datagram) Δομή πακέτου

3.2 Το αυτοδύναμο πακέτο IP (datagram) Δομή πακέτου 3.2 Το αυτοδύναμο πακέτο IP (datagram) Δομή πακέτου 1 / 54 Το πρωτόκολλο Διαδικτύου (Internet Protocol -IP) ενθυλακώνει τα πακέτα δεδομένων που του προωθούνται από το ανώτερο επίπεδο σε αυτοδύναμα πακέτα

Διαβάστε περισσότερα

Φύλλο Εργασίας 1 ου Κεφαλαίου

Φύλλο Εργασίας 1 ου Κεφαλαίου ΒΑΙΚΕ ΕΝΝΟΙΕ ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΚΑΙ ΔΙΑΥΝΔΕΗ ΔΙΚΤΥΩΝ ΚΕΦΑΑΙΟ 1 ο Φύλλο Εργασίας 1 ου Κεφαλαίου Βοήθημα: 7.2 Τεχνολογία TCP/IP Ερωτήσεις 1. Τι ήταν το δίκτυο ARPANET; Πως «γεννήθηκε» το Internet; 2. Πώς χρησιμοποιείται

Διαβάστε περισσότερα

Εργαστήριο «Δίκτυα Υπολογιστών Ι»

Εργαστήριο «Δίκτυα Υπολογιστών Ι» 1 Εργαστήριο «Δίκτυα Υπολογιστών Ι» Άσκηση 1 η Τμήμα Mηχ. Πληροφορικής & Υπολογιστών Παν. Δυτικής Αττικής Ημερομηνία έκδοσης: 3/10/2018 Επιμέλεια: Ιωάννης Ξυδάς, Αντώνης Μπόγρης Υλοποίηση ενός Τοπικού

Διαβάστε περισσότερα

ΔΙΑΣΥΝΔΕΣΗ ΔΙΚΤΥΩΝ (INTERNETWORKING)

ΔΙΑΣΥΝΔΕΣΗ ΔΙΚΤΥΩΝ (INTERNETWORKING) ΔΙΑΣΥΝΔΕΣΗ ΔΙΚΤΥΩΝ (INTERNETWORKING) Α. Α. Οικονομίδης Πανεπιστήμιο Μακεδονίας Διασυνδεδεμένο δίκτυο διασύνδεση δικτύων που το καθένα διατηρεί την ταυτότητά του χρησιμοποιώντας ειδικούς μηχανισμούς διασύνδεσης

Διαβάστε περισσότερα

Τεχνολογίες & Εφαρμογές Πληροφορικής Ενότητα 7: Τοπικά δίκτυα

Τεχνολογίες & Εφαρμογές Πληροφορικής Ενότητα 7: Τοπικά δίκτυα ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΙΚΑ ΜΑΘΗΜΑΤΑ Τεχνολογίες & Εφαρμογές Πληροφορικής Ενότητα 7: Τοπικά δίκτυα Ανδρέας Βέγλης, Αναπληρωτής Καθηγητής Άδειες Χρήσης Το παρόν εκπαιδευτικό

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 1: Τα είδη των Δικτύων Εισαγωγή

ΚΕΦΑΛΑΙΟ 1: Τα είδη των Δικτύων Εισαγωγή ΚΕΦΑΛΑΙΟ 1: Τα είδη των Δικτύων 1.1. Εισαγωγή Γενικότερα δεν υπάρχει κάποια ταξινόμηση των πιθανών δικτύων κάτω από την οποία να ταιριάζουν όλα τα δίκτυα. Παρόλα αυτά η ταξινόμηση τους είθισται να γίνεται

Διαβάστε περισσότερα

Κεφάλαιο 7.3. Πρωτόκολλο TCP

Κεφάλαιο 7.3. Πρωτόκολλο TCP Κεφάλαιο 7.3 Πρωτόκολλο TCP Πρωτόκολλο TCP Το πρωτόκολλο Ελέγχου Μετάδοσης (Transmission Control Protocol, TCP) είναι το βασικό πρωτόκολο του Επιπέδου Μεταφοράς του μοντέλου TCP/IP. Παρέχει υπηρεσίες προσανατολισμένες

Διαβάστε περισσότερα

Τι είναι το πρωτόκολλο Διαδικτύου (Internet Protocol, IP);

Τι είναι το πρωτόκολλο Διαδικτύου (Internet Protocol, IP); 7.5. Πρωτόκολλο IP Τι είναι το πρωτόκολλο Διαδικτύου (Internet Protocol, IP); Είναι το βασικό πρωτόκολλο του επιπέδου δικτύου της τεχνολογίας TCP/IP. Βασίζεται στα αυτοδύναμα πακέτα που μεταφέρονται ανεξάρτητα

Διαβάστε περισσότερα

υποστηρίζουν και υλοποιούν την πολιτική ασφάλειας

υποστηρίζουν και υλοποιούν την πολιτική ασφάλειας Firewalls Firewalls Τα firewalls (τοίχοι πυρασφάλειας ή πυρότοιχοι ή αναχώματα ασφαλείας ή φράγματα ασφαλείας) είναι ένα σύστημα το οποίο παρεμβάλλεται μεταξύ του ιδιωτικού δικτύου και του δημοσίου δικτύου

Διαβάστε περισσότερα

ιαδίκτυα & Ενδοδίκτυα Η/Υ

ιαδίκτυα & Ενδοδίκτυα Η/Υ ιαδίκτυα & Ενδοδίκτυα Η/Υ ΑΤΜ ΚΑΙ FRAME RELAY (Kεφ. 11) ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΠΡΩΤΟΚΟΛΛΟΥ ATM ΛΟΓΙΚΕΣ ΖΕΥΞΕΙΣ ΑΤΜ ΚΕΛΙΑ ΑΤΜ ΜΕΤΑ ΟΣΗ ΚΕΛΙΩΝ ΑΤΜ Βιβλίο Μαθήµατος: Επικοινωνίες Υπολογιστών & εδοµένων, William Stallings,

Διαβάστε περισσότερα

Εισαγωγή στην Πληροφορική

Εισαγωγή στην Πληροφορική Εισαγωγή στην Πληροφορική Δίκτυα Δεδομένων ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Συντήρησης Πολιτισμικής Κληρονομιάς Βασικές Έννοιες Δίκτυο υπολογιστών: ένα σύνολο διασυνδεδεμένων

Διαβάστε περισσότερα

7.3 Πρωτόκολλο TCP. 1. Το TCP πρωτόκολλο παρέχει υπηρεσίες προσανατολισµένες σε σύνδεση. Σ Λ

7.3 Πρωτόκολλο TCP. 1. Το TCP πρωτόκολλο παρέχει υπηρεσίες προσανατολισµένες σε σύνδεση. Σ Λ Ερωτήσεις 7.3 Πρωτόκολλο TCP 1. Τι είναι το τµήµα (segment) στο πρωτόκολλο TCP; Από ποια µέρη αποτελείται; 2. Για ποιο σκοπό χρησιµοποιείται ο Αριθµός ειράς στην επικεφαλίδα ενός segment TCP; 3. την περίπτωση

Διαβάστε περισσότερα

7.11 Πρωτόκολλα Εφαρµογής. 7.11.2 Βασικές και Προηγµένες Υπηρεσίες ιαδικτύου. Ηλεκτρονικό Ταχυδροµείο. Τεχνολογία ικτύων Επικοινωνιών ΙΙ

7.11 Πρωτόκολλα Εφαρµογής. 7.11.2 Βασικές και Προηγµένες Υπηρεσίες ιαδικτύου. Ηλεκτρονικό Ταχυδροµείο. Τεχνολογία ικτύων Επικοινωνιών ΙΙ Τεχνολογία ικτύων Επικοινωνιών ΙΙ 7.11 Πρωτόκολλα Εφαρµογής 104. Αναφέρετε ονοµαστικά τις πιο χαρακτηριστικές εφαρµογές που υποστηρίζει η τεχνολογία TCP/IP οι οποίες είναι διαθέσιµες στο ιαδίκτυο 1. Ηλεκτρονικό

Διαβάστε περισσότερα

Ιόνιο Πανεπιστήµιο Τµήµα Πληροφορικής Συστήµατα Επικοινωνίας. Μοντέλο TCP/IP. Ενότητα E. Πόσοι εµπλέκονται σε ένα Σύστηµα Επικοινωνίας

Ιόνιο Πανεπιστήµιο Τµήµα Πληροφορικής Συστήµατα Επικοινωνίας. Μοντέλο TCP/IP. Ενότητα E. Πόσοι εµπλέκονται σε ένα Σύστηµα Επικοινωνίας Ιόνιο Πανεπιστήµιο Τµήµα Πληροφορικής ίκτυα Η/Υ Συστήµατα Επικοινωνίας (Ε) (PC) (N) Επικοινωνίες: Εφαρµογές Υπολογιστές ίκτυα Μοντέλο TCP/IP πολλές πολλοί N A N B Ενότητα E PC A PC B PC D PC E E A E B

Διαβάστε περισσότερα

Κεφάλαιο 2. Υπολογιστές και Τεχνολογία Επικοινωνιών Παρελθόν - Παρόν - Μέλλον

Κεφάλαιο 2. Υπολογιστές και Τεχνολογία Επικοινωνιών Παρελθόν - Παρόν - Μέλλον Κεφάλαιο 2 Υπολογιστές και Τεχνολογία Επικοινωνιών Παρελθόν - Παρόν - Μέλλον Εισαγωγή Μέσα αποθήκευσης Δίκτυα υπολογιστών Βάσεις δεδομένων Δίκτυα Υπολογιστών Σύνολο από υπολογιστές ή συσκευές διασυνδεδεμένες

Διαβάστε περισσότερα

Δίκτυα Η/Υ Θεωρία. Διάλεξη 2η

Δίκτυα Η/Υ Θεωρία. Διάλεξη 2η Δίκτυα Η/Υ Θεωρία Διάλεξη 2η Kάρτες Δικτύωσης (NIC-Network Interface Controller) Βασικές εντολές δρομολόγησης και ανίχνευσης Η κάρτα δικτύου συνδέει τον υπολογιστή στο τοπικό δίκτυο παράγει και λαμβάνει

Διαβάστε περισσότερα

ΕΠΑΝΑΛΗΠΤΙΚΟ ΤΕΣΤ ΣΤΙΣ ΕΝΟΤΗΤΕΣ

ΕΠΑΝΑΛΗΠΤΙΚΟ ΤΕΣΤ ΣΤΙΣ ΕΝΟΤΗΤΕΣ ΕΠΑ.Λ. Άμφισσας Σχολικό Έτος : 2011-2012 Τάξη : Γ Τομέας : Πληροφορικής Μάθημα : ΔΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ ΙΙ Διδάσκων : Χρήστος Ρέτσας Η-τάξη : tiny.cc/retsas-diktya2 ΕΠΑΝΑΛΗΠΤΙΚΟ ΤΕΣΤ ΣΤΙΣ ΕΝΟΤΗΤΕΣ 7.1-7.2

Διαβάστε περισσότερα

Α5.1 Εισαγωγή στα Δίκτυα. Α Λυκείου

Α5.1 Εισαγωγή στα Δίκτυα. Α Λυκείου Α5.1 Εισαγωγή στα Δίκτυα Α Λυκείου Εισαγωγή Δίκτυο Υπολογιστών (Computer Network) είναι μια ομάδα από δύο ή περισσότερους υπολογιστές ή άλλες συσκευές που συνδέονται μεταξύ τους με σκοπό να ανταλλάσσουν

Διαβάστε περισσότερα

ΔΙΚΤΥΑ ΕΠΙΚΟΙΝΩΝΙΩΝ Ασκήσεις για το φυσικό στρώμα

ΔΙΚΤΥΑ ΕΠΙΚΟΙΝΩΝΙΩΝ Ασκήσεις για το φυσικό στρώμα ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧ/ΚΩΝ ΚΑΙ ΜΗΧ. ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΕΠΙΚΟΙΝΩΝΙΩΝ, ΗΛΕΚΤΡΟΝΙΚΗΣ ΚΑΙ ΣΥΣΤΗΜΑΤΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΔΙΚΤΥΑ ΕΠΙΚΟΙΝΩΝΙΩΝ Ασκήσεις για το φυσικό στρώμα 1. Μήνυμα μήκους

Διαβάστε περισσότερα

ΤΕΙ Στερεάς Ελλάδας Τμ. Ηλ.γων Μηχ/κων ΤΕ. Δίκτυα Υπολογιστών. Διάλεξη 4: Επίπεδο 3 το πρωτόκολλο IP

ΤΕΙ Στερεάς Ελλάδας Τμ. Ηλ.γων Μηχ/κων ΤΕ. Δίκτυα Υπολογιστών. Διάλεξη 4: Επίπεδο 3 το πρωτόκολλο IP ΤΕΙ Στερεάς Ελλάδας Τμ. Ηλ.γων Μηχ/κων ΤΕ Δίκτυα Υπολογιστών Διάλεξη 4: Επίπεδο 3 το πρωτόκολλο IP Απαιτήσεις διαδικτύωσης Τα ζητήματα που πρέπει να επιλύσει η διαδικτύωση Πρωτόκολλα διαδικτύωσης Αρχιτεκτονικές

Διαβάστε περισσότερα

ΕΚΦΩΝΗΣΕΙΣ ΘΕΜΑ Α. α. Πριν εμφανιστεί η τεχνολογία ISDN οι υπηρεσίες φωνής, εικόνας και δεδομένων απαιτούσαν διαφορετικά δίκτυα.

ΕΚΦΩΝΗΣΕΙΣ ΘΕΜΑ Α. α. Πριν εμφανιστεί η τεχνολογία ISDN οι υπηρεσίες φωνής, εικόνας και δεδομένων απαιτούσαν διαφορετικά δίκτυα. ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ Γ ΤΑΞΗ ΕΠΑΛ (ΟΜΑΔΑ Α ) & ΜΑΘΗΜΑΤΩΝ ΕΙΔΙΚΟΤΗΤΑΣ ΕΠΑΛ (ΟΜΑΔΑ Β ) ΘΕΜΑ Α ΚΥΡΙΑΚΗ 04/05/2014- ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΔΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ ΙΙ ΣΥΝΟΛΟ ΣΕΛΙΔΩΝ: ΟΚΤΩ (8) ΕΚΦΩΝΗΣΕΙΣ Α1. Να χαρακτηρίσετε

Διαβάστε περισσότερα

ιαδίκτυα & Ενδοδίκτυα Η/Υ

ιαδίκτυα & Ενδοδίκτυα Η/Υ ιαδίκτυα & Ενδοδίκτυα Η/Υ (Kεφ. 10) ΑΡΧΕΣ ΜΕΤΑΓΩΓΗΣ ΠΑΚΕΤΩΝ Τεχνική Μεταγωγής Μέγεθος Πακέτου Σύγκριση Μεταγωγής Κυκλώµατος και Μεταγωγής Πακέτου Εξωτερική και Εσωτερική Λειτουργία Βιβλίο Μαθήµατος: Επικοινωνίες

Διαβάστε περισσότερα

Εισαγωγή στο διαδίκτυο

Εισαγωγή στο διαδίκτυο Εισαγωγή στο διαδίκτυο Στόχοι κεφαλαίου Περιγραφή των κύριων θεμάτων σχετικά με τα δίκτυα υπολογιστών Αναφορά στα διάφορα είδη δικτύων Περιγραφή των διαφόρων τοπολογιών των τοπικών δικτύων Περιγραφή των

Διαβάστε περισσότερα

Δίκτυα Υπολογιστών Ενότητα 7: Internet Control Message Protocol - ICMP

Δίκτυα Υπολογιστών Ενότητα 7: Internet Control Message Protocol - ICMP Δίκτυα Υπολογιστών Ενότητα 7: Internet Control Message Protocol - ICMP Μιχάλας Άγγελος Τμήμα Μηχανικών Πληροφορικής ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons.

Διαβάστε περισσότερα

3.3 Πρωτόκολλα ανεύρεσης και απόδοσης διευθύνσεων, Address Resolution Protocol (ARP) και Dynamic Host Configuration Protocol (DHCP)

3.3 Πρωτόκολλα ανεύρεσης και απόδοσης διευθύνσεων, Address Resolution Protocol (ARP) και Dynamic Host Configuration Protocol (DHCP) 3.3 Πρωτόκολλα ανεύρεσης και απόδοσης διευθύνσεων, Address Resolution Protocol (ARP) και Dynamic Host Configuration Protocol (DHCP) 1 / 32 Σε έναν κόμβο ο οποίος επιθυμεί να αποστείλει δεδομένα σε κάποιον

Διαβάστε περισσότερα