ΤΕΙ Δυτικής Ελλάδας Τμήμα Μηχανικών Πληροφορικής ΤΕ Τεχνολογίες Υπολογιστικού Νέφους ΔΙΑΛΕΞΗ 9: ΣΥΣΤΗΜΑΤΑ ΑΠΟΘΗΚΕΥΣΗΣ ΒΑΣΙΛΕΙΟΣ Δ. ΤΣΑΚΑΝΙΚΑΣ
Σκοπός Αυτή η ενότητα περιγράφει ζητήματα που σχετίζονται με την ασφάλεια στο νέφος.
Περιεχόμενα ενότητας Ασφάλεια υπολογιστών στη νέα χιλιετία. Κίνδυνοι ασφαλείας από τη χρήση ενός λειτουργικού συστήματος διαχείρισης. Ασφάλεια στο νέφος. Πιθανές ενέργειες ενός κακόβουλου DomO. Ρίσκα ασφαλείας στο νέφος. Μία σημαντική αδυναμία του Xen. Επιθέσεις σε περιβάλλον υπολογιστικού νέφους. Αντιμετώπιση μίας ευπάθειας που εμφανίζεται κατά τη λειτουργία του DomO. Οι σημαντικότερες απειλές σε ένα υπολογιστικό νέφος. Xoar - ξεπερνώντας τον μονολιθικό σχεδιασμό του TCB. Έλεγχος δραστηριοτήτων στο νέφος. Συστατικά του Xoar. Ασφάλεια - Η βασική ανησυχία για τους χρήστες του νέφους. Η αρχιτεκτονική του Xoar. Ιδιωτικότητα. Έμπιστοι ελεγκτές εικονικών μηχανών. Νομική προστασία των χρηστών του νέφους. Κανόνες που διέπουν τη συλλογή προσωπικών πληροφοριών. Εκτίμηση επιπτώσεων απώλειας προσωπικών δεδομένων. Εμπιστοσύνη. Εμπιστοσύνη στο διαδίκτυο. Πως προσδιορίζεται η εμπιστοσύνη. Ασφάλεια λειτουργικού συστήματος. Κλειστές και ανοιχτές πλατφόρμες. Ασφάλεια εικονικών μηχανών. Απειλές ασφαλείας εικονικών μηχανών.
Ασφάλεια υπολογιστών στη νέα χιλιετία Σε έναν διασυνδεδεμένο κόσμο, διάφορες εφαρμογές κακόβουλου λογισμικού μπορούν να μεταναστεύσουν εύκολα από το ένα σύστημα σε ένα άλλο, διασχίζοντας εθνικά σύνορα και μολύνοντας συστήματα σε όλο τον κόσμο. Η ασφάλεια υπολογιστικών συστημάτων και συστημάτων επικοινωνιών λαμβάνει το χαρακτηρισμό του κατεπείγοντος, καθώς η κοινωνία εξαρτάται όλο και περισσότερο από την διάθεση των πληροφοριών. Ακόμα και οι κρίσιμες εθνικές υποδομές μπορούν να προσβληθούν από αξιοποίηση ρωγμών ασφαλείας των υπολογιστών.
Ασφάλεια υπολογιστών στη νέα χιλιετία Πρόσφατα, ο όρος cyberwarfare έχει εισαχθεί ως έννοια με τη σημασία: Ενέργειες από ένα έθνος-κράτος για τη διείσδυση σε υπολογιστές ή δίκτυα ενός άλλου έθνους με σκοπό την υποκλοπή πληροφοριών η/και την πρόκληση ζημιών ή διαταραχών. Ένα υπολογιστικό νέφος είναι ένα περιβάλλον πλούσιο σε στόχους για κακόβουλες επιθέσεις. Σημαντική ανησυχία για τους υπάρχοντες και για τους πιθανούς νέους χρήστες των υπηρεσιών υπολογιστικού νέφους, αποτελεί η εξωτερική ανάθεση υπολογιστικών εργασιών σε ένα νέφος που δημιουργεί νέες ανησυχίες για την ασφάλεια και την προστασία της ιδιωτικότητας. Δεν έχουν ακόμη θεσπιστεί πρότυπα, κανονισμοί και νόμοι που να διέπουν τις δραστηριότητες των οργανισμών που χρησιμοποιούν ένα υπολογιστικό νέφος. - Πολλά από τα ζητήματα που σχετίζονται με την προστασία της ιδιωτικής ζωής, την ασφάλεια και την εμπιστοσύνη στο νέφος απέχουν πολύ από το να διευθετηθούν. Υπάρχει η ανάγκη για διεθνή κανονισμούς που να εκδοθούν από τις χώρες όπου βρίσκονται τα κέντρα δεδομένων των παρόχων υπολογιστικού νέφους. Τα συμφωνητικά επιπέδου υπηρεσιών (Service Level Agreements - SLAs) δεν παρέχουν επαρκή νομική προστασία για τους χρήστες του νέφους.
Ρίσκα ασφαλείας στο νέφος Παραδοσιακές απειλές: Απειλές που πηγάζουν από τη μεγάλη ποσότητα πόρων ενός υπολογιστικού νέφους καθώς και του μεγάλου αριθμού χρηστών που ενδέχεται να έχει. Νέες απειλές: Τα ασαφή όρια των αρμοδιοτήτων μεταξύ των φορέων παροχής των υπηρεσιών υπολογιστικού νέφους και των χρηστών και οι δυσκολίες να προσδιοριστεί με ακρίβεια η αιτία μία πιθανής δυσλειτουργίας. Οι servers του νέφους φιλοξενούν πολλαπλά VMs. Πολλές εφαρμογές μπορούν να εκτελεστούν σε κάθε VM. Τα τρωτά σημεία των VMs μπορούν να δώσουν νέες διόδους για επιθέσεις από κακόβουλους χρήστες. Ο εντοπισμός της διαδρομής που ακολουθείται από έναν επιτιθέμενο γίνεται δυσκολότερος σε περιβάλλον νέφους.
Ρίσκα ασφαλείας στο νέφος Αυθεντικοποίηση κι εξουσιοδότηση: Οι διαδικασίες που πραγματοποιούνται για έναν ιδιώτη δεν μπορούν να επεκταθούν για μία επιχείρηση. Έλεγχος τρίτων: Παράγει ένα σύνολο από ανησυχίες που προκαλούνται από την έλλειψη διαφάνειας και τον περιορισμένο έλεγχο του χρήστη. Διαθεσιμότητα των υπηρεσιών νέφους: Αποτυχίες συστήματος, διακοπές ρεύματος κι άλλα καταστροφικά γεγονότα θα μπορούσαν να προκαλέσουν παύση της λειτουργίας του συστήματος για μεγάλες χρονικές περιόδους. Ο χρήστης μπορεί να απειληθεί από: Την υπηρεσία. SSL certificate spoofing, επιθέσεις στις caches των browsers ή επιθέσεις phishing. Την υποδομή. Επιθέσεις που προέρχονται από το νέφος είτε υποδύονται ότι προέρχεται από το νέφος.
Επιθέσεις σε περιβάλλον υπολογιστικού νέφους Η υπηρεσία μπορεί να απειληθεί από: Τον χρήστη. Buffer overflow, SQL injection, και κλιμάκωση προνομίων είναι τα κοινά είδη των επιθέσεων. Την υποδομή. Το πιο σοβαρό είδος επίθεσης. Ο περιορισμός της πρόσβασης σε πόρους, επιθέσεις που σχετίζονται με προνόμια, αλλοίωση των δεδομένων κτλ. Η υποδομή μπορεί να απειληθεί από: Τον χρήστη. Στοχοποιεί το σύστημα ελέγχου του νέφους. Την υπηρεσία. Ζήτηση υπερβολικής ποσότητας των πόρων και πρόκληση της εξάντλησης τους.
Οι σημαντικότερες απειλές σε ένα υπολογιστικό νέφος Προσδιορίστηκαν σε μία αναφορά του Cloud Security Alliance (CSA) το 2010: Η καταχρηστική χρήση του νέφους: Η ικανότητα εκτέλεσης φαύλων δραστηριοτήτων από το νέφος. APIs που δεν είναι πλήρως ασφαλή: Ενδέχεται να μην μπορούν να προστατεύσουν το χρήστη σε μία σειρά δραστηριοτήτων συμπεριλαμβανομένων της αυθεντικοποίησης, του ελέγχου της εφαρμογής κατά τη διάρκεια της εκτέλεσης. Προσδιορίστηκαν σε μία αναφορά του Cloud Security Alliance (CSA) το 2010 (Συνέχεια): Κακόβουλοι χρήστες: Χρήστες που αρχικά αποκτούν νόμιμη πρόσβαση στο νέφος και στη συνέχεια αναπτύσσουν επιβλαβή συμπεριφορά. Κοινόχρηστη τεχνολογία. Παραβίαση λογαριασμών.
Οι σημαντικότερες απειλές σε ένα υπολογιστικό νέφος Απώλειες δεδομένων: Αν το μοναδικό αντίγραφο των δεδομένων βρίσκεται στο νέφος, τότε τα δεδομένα ενδέχεται να χαθούν μόνιμα, σε περίπτωση αποτυχίας των αποθηκευτικών μέσων του νέφους. Άγνοια των ρίσκων: Άγνοια των κινδύνων που πηγάζουν από τη χρήση του νέφους.
Ασφάλεια - Η βασική ανησυχία για τους χρήστες του νέφους Η διαφάνεια κάνει τον έλεγχο των δραστηριοτήτων που πραγματοποιούνται στο νέφος μία πολύ δύσκολη διαδικασία. Η μη εξουσιοδοτημένη πρόσβαση σε εμπιστευτικές πληροφορίες και η κλοπή των δεδομένων βρίσκονται στην κορυφή της λίστας των ανησυχιών των χρηστών. Τα δεδομένα είναι πιο ευάλωτα όσο παραμένουν αποθηκευμένα για μεγάλη χρονική περίοδο. Επίσης, απειλές που ενδέχεται να εμφανιστούν κατά την επεξεργασία των δεδομένων δεν μπορούν να αγνοηθούν. Η έλλειψη προτυποποίησης είναι επίσης ένας σημαντικός πάραγοντας.
Ιδιωτικότητα Ιδιωτικοτητα είναι το δικαίωμα ενός ατόμου, μίας ομάδας ατόμων ή ενός οργανισμού να διαφυλασει πληροφορίες προσωπικής φύσεως σχετικά με εκείνον ή πληροφορίες που αποτελούν ιδιοκτησία του ώστε αυτές να μην αποκαλύπτονται σε τρίτους. Η ιδιωτικοτητα προστατεύεται από το νόμο αλλά κάποιες φορές περιορίζεται από αυτόν. Στην ψηφιακή εποχή έχουν εμφανιστεί νέες προκλήσεις σχετικά με την προστασία της ιδιωτικοτητας λόγο της εμφάνισης νέων απειλών. Για παράδειγμα σε πολλές περιπτώσεις οι χρήστες διαμοιραζουν οικιοθελως προσωπικές πληροφοριες σε ιστορικούς αγνοώντας τον κίνδυνο διαρροής τους ή κλοπής τους από τρίτους. Οι κίνδυνοι είναι διαφορετικοί για κάθε ένα από τα τρία μοντέλα παραδοσης κι επίσης εξαρτώνται από το ακριβές περιεχόμενο.
Νομική προστασία των χρηστών Το συμβόλαιο μεταξύ του χρήστη και του παροχου υπηρεσιών νέφους θα πρέπει να αποσαφινίζει τα παρακάτω: Τις υποχρεώσεις του παρόχου για την εγγύηση της ασφάλειας ευαίσθητων πληροφοριών και τη διασφάλιση της ιδιωτικοτητας του χρήστη. Τις ευθύνες του παροχου σε περίπτωση απώλειας δεδομένων η ευαίσθητων πληροφοριών. Τους κανόνες που θα καθορίζουν την ιδιοκτησία των δεδομενων. Τις γεωγραφικό περιοχές όπου θα μπορούν να αποθηκεύονται τα δεδομένα καθώς και τα αντίγραφα ασφαλείας.
Κανόνες που διέπουν τη συλλογή προσωπικών πληροφοριών Ιστότοποι που συλλέγουν προσωπικές πληροφορίες από ή για τους καταναλωτές πρέπει να συμμορφώνται με τις παρακάτω πρακτικές πληροφόρησης: Ειδοποίηση. Επιλογή. Πρόσβαση. Ασφάλεια.
Κανόνες που διέπουν τη συλλογή προσωπικών πληροφοριών Ειδοποίηση. Επιλογή. Να παρέχουν στους καταναλωτές σαφή ενημέρωση σχετικά με τις πρακτικές διαχείρισης των πληροφοριών που συλλέγουν, με το είδος των πληροφοριών, τον τρόπο συλλογής και χρησιμοποίησής τους, τον τρόπο παροχής «Επιλογής», «Πρόσβασης» και «Ασφάλειας», για το αν οι πληροφορίες θα γίνουν δοθούν σε τρίτους ή για το αν υπάρχουν τρίτοι που συλλέγουν πληροφορίες μέσω του ιστότοπου. Παροχή στους χρήστες της δυνατότητας να επιλέξουν τον τρόπο χρησιμοποίησης των προσωπικών τους στοιχείων. Πρόσβαση. Παροχή στους χρήστες της δυνατοτητας πρόσβασης στις πληροφορίες που συλλέγονται για αυτούς. Ασφάλεια. Λήψη μέτρων για την προστασία των πληροφοριών που συλλέγονται από ή για τους χρήστες.
Εκτίμηση επιπτώσεων απώλειας προσωπικών δεδομένων Privacy Impact Assessment (PIA). Ανάγκη για λογισμικό που να μπορεί να αναγνωρίσει τα ζητήματα ιδιωτικότητας που εμφανίζονται σε ένα πληροφοριακό σύστημα. Δεν υπάρχουν διεθνή πρότυπα, παρότι διαφορετικά κράτη ή οργανισμοί απαιτούν την έκδοση εκθέσεων σχετικά με επιπτώσεων απώλειας προσωπικών δεδομένων. Ένα εργαλείο PIA βασίζεται κυρίως σε μία υπηρεσία SaaS. Οι χρήστες της υπηρεσίας SaaS που παρέχει πρόσβαση στο εργαλείο PIA πρέπει να συμπληρώσουν ένα ερωτηματολόγιο. Το σύστημα χρησιμοποιεί μία γνωσιακή βάση δεδομένων που δημιουργείται και συντηρείται από ειδικούς. Το σύστημα χρησιμοποιεί πρότυπα για να δημιουργήσει πρόσθετα ερωτήματα που είναι απαραίτητα για τη συμπλήρωση της έκθεσης PIA.
Εμπιστοσύνη Εμπιστοσύνη: Διαβεβαιώνει τον χαρακτήρα, την ικανότητα, τη δύναμη η γενικά κάποια αλήθεια για κάποιον ή κάτι. Σύνθετα φαινόμενα: Κάνουν εφικτή τη συνεργατική συμπεριφορά, προωθούν τους προσαρμοστικούς τρόπου οργάνωσης, μειώνουν τις επιβλαβείς συγκρούσεις, μειώνουν τα κόστη συναλλαγών, προωθούν την αποτελεσματική αντιμετώπιση των κρίσεων. Για το κτίσιμο εμπιστοσύνης πρέπει να καλύπτονται δύο συνθήκες: Ρίσκο. Η αντιληπτή πιθανότητα απωλειών. Η εμπιστοσύνη δεν είναι απαραίτητη σε περιπτώσεις όπου δεν υπάρχει κανένας απολύτως κίνδυνος αποτυχίας. Αλληλεξάρτηση. Οι στόχοι μίας οντότητας δεν μπορούν να επιτευχθούν χωρίς την υποστήριξη μίας άλλης οντότητας και το αντίστροφο.
Εμπιστοσύνη Μία σχέση εμπιστοσύνης χωρίζεται σε τρεις φάσεις: Φάση κτισίματος, όπου δημιουργείται η εμπιστοσύνη. Φάση σταθερότητας, όπου η εμπιστοσύνη πλέον υπάρχει. Φάση διάλυσης, όπου η εμπιστοσύνη παύει να υπάρχει. Μία οντότητα πρέπει να εργαστεί πολύ σκληρά για να κτισει εμπιστοσύνη αλλά μπορεί πολύ εύκολοτερα να χάσει αυτή την εμπιστοσύνη.
Εμπιστοσύνη στο διαδίκτυο Προσφέρει σε ένα άτομο τη δυνατότητα να αποκρύψει την ταυτότητά του. Η ανωνυμία μειώνει την εμπιστοσύνη. Η ταυτότητα είναι κρίσιμη για την ανάπτυξη σχέσεων εμπιστοσύνης. Η ανωνυμία προκαλεί δυσπιστία επειδή η ταυτότητα συνδέεται με την υποχρέωση λογοδοσίας.
Πως προσδιορίζεται η εμπιστοσύνη Οι πολιτικές και η φήμη είναι δύο τρόποι προσδιορισμού της εμπιστοσύνης. Οι πολιτικές καθορίζουν τις προϋποθέσεις για την απόκτηση εμπιστοσύνης, καθώς και τις ενέργειες όταν καλύπτονται κάποιες από τις προϋποθέσεις. Οι πολιτικές απαιτούν τον έλεγχο διαπιστευτηρίων, για τον προσδιορισμό της ταυτότητας της οντότητας. Φήμη είναι ένα ποιοτικό χαρακτηριστικό που αποδίδεται σε μία οντότητα βασιζόμενο σε μία σχετικά μακρά ιστορία αλληλεπιδράσεων ή, ενδεχομένως, σε παρατήρηση της οντότητας. Στον τομέα της επιστήμης των υπολογιστών: Εμπιστοσύνη μίας οντότητας A σε μία οντότητα B για μία υπηρεσία X είναι η μετρήσιμη πεποίθηση της A ότι η B θα συμπεριφέρεται προβλέψιμα για μία προκαθορισμένη περίοδο σε σχέση με την υπηρεσία X. Μία σημαντική λειτουργία ενός λειτουργικού συστήματος είναι η προστασία των εφαρμογών από κακόβουλες επιθέσεις, όπως μη εξουσιοδοτημένη πρόσβαση, παραποίηση του κώδικα κτλ.
Ασφάλεια λειτουργικού συστήματος Τα βασικά συστατικά ασφαλείας ενός λειτουργικό συστήματος: Έλεγχος πρόσβασης. Μηχανισμοί ελέγχου της πρόσβασης στα συστατικά του συστήματος. Χρήση αυθεντικοποίησης. Μηχανισμοί αυθεντικοποίησης της ταυτότητας του χρήστη. Χρήση κρυπτογραφίας. Μηχανισμοί που χρησιμοποιούνται για την προστασία των δεδομένων. Τα εμπορικά λειτουργικά συστήματα δεν υποστηρίζουν πολυεπίπεδη ασφάλεια. Παρέχουν μόνο διάκριση μεταξύ ενός προνομιακού κι ενός μη προνομιακού τομέα ασφάλειας. Μηχανισμοί αξιόπιστων μονοπατιών: Υποστηρίζουν τη διάδραση του χρήστη με έμπιστο λογισμικό. Είναι σημαντικά για την διασφάλιση της ασφάλειας. Αν δεν υπάρχουν τέτοιοι μηχανισμοί, τότε το κακόβουλο λογισμικό μπορεί να μιμηθεί το αξιόπιστο λογισμικό. Μερικά συστήματα παρέχουν αξιόπιστα μονοπάτια για λίγες λειτουργίες, όπως ο έλεγχος ταυτότητας χρήστη και η αλλαγή κωδικού πρόσβασης.
Κλειστές και ανοιχτές πλατφόρμες Οι κλειστές πλατφόρμες (closed-box platforms), όπως τα κυψελωτά τηλέφωνα, οι κονσόλες παιχνιδιών και τα ΑΤΜ μπορούν να διαθέτουν κλειδιά κρυπτογράφησης ώστε να προσδιορίζουν την ταυτότητα τους σε απομακρυσμένα συστήματα και να επικυρώνουν με το λογισμικό που εκτελείται σε αυτά. Αυτοί οι μηχανισμοί δεν είναι διαθέσιμοι σε ανοιχτές πλατφόρμες (open-box platforms), όπως το παραδοσιακό υλικό (hardware) για τα συνηθισμένα λειτουργικά συστήματα. Ένα συνηθισμένο λειτουργικό σύστημα προσφέρει χαμηλή αξιοπιστία. Ένα λειτουργικό σύστημα είναι ένα σύνθετο σύστημα λογισμικού που αποτελείται από εκατομμύρια γραμμές κώδικα και να είναι ευάλωτο σε ένα ευρύ φάσμα των κακόβουλων επιθέσεων. Ένα λειτουργικό σύστημα παρέχει αδύναμους μηχανισμούς που να επιτρέπουν στις εφαρμογές να αυθεντικοποιούν η μία την άλλη και να δημιουργούν αξιόπιστα μονοπάτια με τους χρήστες.
Κλειστές και ανοιχτές πλατφόρμες Ένα λειτουργικό σύστημα απομονώνει ανεπαρκώς μία εφαρμογή από τις υπόλοιπες. Αν μία εφαρμογή βρεθεί σε κίνδυνο, τότε ενδέχεται να επηρεαστούν κι άλλες εφαρμογές. Το επίπεδο της ασφάλειας της πλατφόρμας πέφτει στο επίπεδο ασφάλειας των πιο ευάλωτων εφαρμογών που εκτελούνται στην πλατφόρμα.
Ασφάλεια εικονικών μηχανών Οι υβριδικές και οι φιλοξενούμενες εικονικές μηχανές, εκθέτουν το συνολικό σύστημα στις ευπάθειες του λειτουργικού συστήματος που φιλοξενούν. Σε μία παραδοσιακή εικονική μηχανή, ο ελεγκτής εικονικών μηχανών ελέγχει την πρόσβαση στο υλικό (hardware) και παρέχει αυστηρότερη απομόνωση μεταξύ των εικονικών μηχανών σε σύγκριση με την απομόνωση μεταξύ των εφαρμογών σε ένα παραδοσιακό συνηθισμένο σύστημα. Ένας ελεγκτής εικονικών μηχανών ελέγχει την εκτέλεση προνομιακών εντολών και μπορεί να επιβάλει την απομόνωση της μνήμης, καθώς και του αποθηκευτικού χώρου και της δικτυακής πρόσβασης. Οι ελεγκτές εικονικών μηχανών είναι σημαντικά λιγότερο πολύπλοκοι και καλύτερα οργανωμένοι σε σχέση με τα συνηθισμένα λειτουργικά συστήματα με αποτέλεσμα να μπορούν να ανταποκριθούν καλύτερα σε επιθέσεις ασφαλείας.
Ασφάλεια εικονικών μηχανών Μία σημαντική πρόκληση: Ένας ελεγκτής εικονικών μηχανών αντιλαμβάνεται μόνο ανεπεξέργαστα δεδομένα (raw data) σχετικά με την κατάσταση του ενός φιλοξενούμενου λειτουργικού συστήματος, ενώ οι υπηρεσίες ασφαλείας συνήθως λειτουργούν σε υψηλότερο επίπεδο λογικό, για παράδειγμα, στο επίπεδο ενός αρχείου και όχι επίπεδο μπλοκ δίσκου. Μία ασφαλής Αξιόπιστη Υπολογιστική Βάση (Trusted Computing Base - TCB) αποτελεί απαραίτητη προϋπόθεση για την ασφάλεια στο περιβάλλον μίας εικονικής μηχανής. Αν η TCB τίθεται σε κίνδυνο τότε επηρεάζεται η ασφάλεια όλου του συστήματος.
Απειλές ασφαλείας εικονικών μηχανών Επιθέσεις άρνησης υπηρεσίας (denial of service). Πιθανές αιτίες: Κακή ρύθμιση της ποσότητας των διαθέσιμων πόρων για κάποιες εικονικές μηχανές. Μία «ανέντιμη» εικονική μηχανή με δυνατότητα να παρακάμπτει την ποσότητα πόρων που της έχουν ανατεθεί μέσω του ελεγκτή εικονικών μηχανών και να χρησιμοποιεί περισσότερους. Επιθέσεις side-channel: Κακόβουλη επίθεση σε μία ή περισσότερες εικονικές μηχανές από μία «ανέντιμη» εικονική μηχανή που λειτουργεί κάτω από τον ίδιο ελεγκτή εικονικών μηχανών.
Απειλές ασφαλείας εικονικών μηχανών Επιθέσεις side-channel Πιθανές αιτίες: Αδυναμία αποτελεσματικής απομόνωσης μεταξύ της δικτυακής κίνησης δεδομένων των εικονικών μηχανών, εξαιτίας κακής ρύθμισης του εικονικού διαμοιρασμού του δικτύου στον ελεγκτή εικονικών μηχανών. Περιορισμός των συσκευών επιθεώρησης πακέτων ώστε να επιτευχθεί αποτελεσματική υποστήριξη απαιτητικής κίνησης δεδομένων, όπως κίνησης βίντεο. Εικονικές μηχανές που δημιουργήθηκαν από μη ασφαλείς εικόνες εικονικών μηχανών, όπως για παράδειγμα μία εικόνα που περιέχει ένα λειτουργικό σύστημα χωρίς τις τελευταίες αναβαθμίσεις ασφαλείας. Επιθέσεις buffer overflow. Εγκατάσταση μίας «ανέντιμης» ή μη ασφαλούς εικονικής μηχανής. Μη εξουσιοδοτημένοι χρήστες μπορούν να δημιουργήσουν μη ασφαλείς εικόνες ή μπορούν να αποκτήσουν μη εξουσιοδοτημένες ενέργειες διαχείρισης σε υπάρχουσες εικονικές μηχανές. Πιθανή αιτία: Κακή ρύθμιση του ελέγχου πρόσβασης σε λειτουργίες διαχείρισης μίας εικονικής μηχανής, όπως δημιουργία αντιγράφων, εκκίνηση, αναστολή λειτουργίας κτλ.
Απειλές ασφαλείας εικονικών μηχανών Παρουσία μη ασφαλών ή παραποιημένων εικόνων εικονικών μηχανών στα αποθετήρια των εικόνων εικονικών μηχανών. Πιθανές αιτίες: Έλλειψη αποτελεσματικού ελέγχου πρόσβασης στα αποθετήρια των εικόνων εικονικών μηχανών. Έλλειψη μηχανισμών επαλήθευσης της ακεραιότητας των εικόνων, όπως μηχανισμοί παραγωγής ψηφιακά υπογεγραμμένων εικόνων.
Ασφάλεια εικονοποίησης Η συνολική κατάσταση ενός λειτουργικού συστήματος που εκτελείται κάτω από μία εικονική μηχανή, συλλαμβάνεται (captured) από την εικονική μηχανή. Αυτή η κατάσταση μπορεί να αποθηκευτεί σε ένα αρχεία και στη συνέχεια αυτό το αρχείο μπορεί να αντιγραφεί και να διαμοιραστεί. Επιπτώσεις: Ικανότητα υποστήριξης του μοντέλου παράδοσης IaaS. Σε αυτό το μοντέλο, ο χρήστης επιλέγει μία εικόνα που ταιριάζει στο τοπικό περιβάλλον χρήσης που διαθέτει και στη συνέχεια ανεβάζει (uploads) κι εκτελεί την εφαρμογή του στο νέφος χρησιμοποιώντας την επιλεγμένη εικόνα. Αυξημένη αξιοπιστία. Ένα λειτουργικό σύστημα, μαζί με όλες τις εφαρμογές που εκτελούνται σε αυτό, μπορεί να αντιγραφεί και να μεταφερθεί σε κατάσταση αναμονής (hot standby).
Ασφάλεια εικονοποίησης Βελτιωμένη πρόληψη κι ανίχνευσης εισβολής. Ένας κλώνος μπορεί να ψάχνει για άγνωστα μοτίβα (patterns) στη λειτουργία του συστήματος κι έτσι να ανιχνεύει πιθανές εισβολές. Το λειτουργικό σύστημα μπορεί να μεταβεί σε κατάσταση αναμονής (hot standby) όταν ανιχνευθούν ύποπτα γεγονότα. Πιο αποτελεσματικές κι ευέλικτες δοκιμές του λογισμικού. Αντί για έναν πολύ μεγάλο αριθμό εξειδικευμένων εφαρμογών που εκτελούνται κάτω από διαφορετικό λειτουργικό σύστημα, διαφορετική έκδοση του κάθε λειτουργικού συστήματος, καθώς και διάφορες αναβαθμίσεις ή προσθήκες για κάθε έκδοση, η εικονοποίηση επιτρέπει στο πλήθος των υποστάσεων λειτουργικών συστημάτων να μοιράζονται έναν αριθμό φυσικών συστημάτων.
Περισσότερα πλεονεκτήματα της εικονοποίησης Απλοποιημένοι μηχανισμοί για την υλοποίηση πολιτικών διαχείρισης των πόρων: Για την εξισορρόπηση του φόρτου ενός συστήματος, ένας ελεγκτής εικονικών μηχανών μπορεί να μεταφέρει ένα λειτουργικό σύστημα μαζί με τις εφαρμογές που εκτελούνται σε αυτό, σε έναν άλλο server όταν ο φόρος στον τρέχοντα server ξεπερνά κάποιο προκαθορισμένο άνω όριο. Για τη μείωση της ενεργειακής κατανάλωσης, ο φόρτος των servers που είναι ελαφρός φορτωμένοι, μπορεί να μεταφερθεί σε άλλους servers και οι ελαφρός φορτωμένοι servers να τεθούν σε κατάσταση αναμονής. Όταν οι υπηρεσίες της ασφαλούς καταγραφής (logging) και της προστασίας από εισβολές είναι υλοποιημένες στο επίπεδο του ελεγκτή εικονικών μηχανών, τότε δεν μπορούν να απενεργοποιηθούν ή να τροποποιηθούν. Αντιθέτως, μπορούν να απενεργοποιηθούν ή να τροποποιηθούν όταν υλοποιούνται στο επίπεδο του λειτουργικού συστήματος.
Επιπτώσεις της εικονοποίησης Μειωμένη ικανότητα να διαχειρίζεται τα φυσικά συστήματα και να παρακολουθείτε την κατάστασή τους. Το πλήθος των φυσικών συστημάτων ενός οργανισμού περιορίζεται από το κόστος, το χώρο, την κατανάλωση ενέργειας και την ανθρώπινη υποστήριξη. Η δημιουργία μίας εικονικής μηχανής αποτελεί μία εύκολη διαδικασία και ως εκ τούτου οδηγεί στην απότομη αύξηση του αριθμού των εικονικών μηχανών. Ο μόνος περιορισμός για τον αριθμό των εικόνων εικονικών μηχανών είναι η ποσότητα του διαθέσιμου αποθηκευτικού χώρου. Ποιοτική πτυχή της έκρηξης του αριθμού των εικονικών μηχανών: Παραδοσιακά, οι οργανισμοί εγκαθιστούν και να διατηρούν την ίδια έκδοση λογισμικού συστήματος για μεγάλο χρονικό διάστημα. Σε ένα εικονικό περιβάλλον, ο αριθμός των διαφορετικών λειτουργικών συστημάτων, των εκδόσεων τους, καθώς και των αναβαθμίσεων της κάθε έκδοσης είναι πολύ μεγαλύτερος. Η ετερογένεια αυτή ενδέχεται να επιφέρει δυσκολίες διαχείρισης για την ομάδα υποστήριξης.
Επιπτώσεις της εικονοποίησης Ο κύκλος ζωής του λογισμικού έχει σημαντικές επιπτώσεις στην ασφάλεια: Ο κύκλος ζωής εκφράζεται ως ευθεία γραμμή κι έτσι η διαχείριση των αναβαθμίσεων βασίζεται σε μία μονότονη πρόοδο. Το μοντέλο της εικονικής εκτέλεσης να εκφράζεται με μία δενδρική δομή αντί για μία ευθεία γραμμή. Πράγματι, σε οποιοδήποτε χρονικό σημείο, μπορούν να δημιουργηθούν πολλαπλές εικονικές μηχανές, κάθε μία από τις οποίες μπορεί να αναβαθμίζεται με διαφορετικές ενημερώσεις και σε διαφορετικές χρονικές στιγμές από τις υπόλοιπες.
Επιπτώσεις της εικονοποίησης στην ασφάλεια Η μόλυνση μπορεί να διαρκέσει επ' αόριστον: Μερικές μολυσμένες εικονικές μηχανές μπορεί να είναι σε κατάσταση αδράνειας τη στιγμή που λαμβάνονται τα μέτρα καθαρισμού του συστήματος και στη συνέχεια, σε μεταγενέστερο χρόνο, να ξυπνήσουν και να μολύνουν ξανά το σύστημα. Σε ένα παραδοσιακό υπολογιστικό περιβάλλον, μία κατάσταση ισορροπίας μπορεί να επιτευχθεί. Σε αυτή την κατάσταση ισορροπίας, όλα τα επιμέρους συστήματα βρίσκονται σε μία επιθυμητή κατάσταση. Η επιθυμητή κατάσταση θεωρούμε ότι επιτυγχάνεται εγκαθιστώντας τις τελευταίες εκδόσεις του λογισμικού συμπεριλαμβανομένων και των πιο πρόσφατων αναβαθμίσεων για αυτό. Λόγω της έλλειψης ελέγχου, ένα εικονικό περιβάλλον ίσως να μην επιτευχθεί ποτέ μία τέτοια σταθερή κατάσταση.
Κίνδυνοι ασφαλείας από τη χρήση κοινόχρηστων εικόνων Μία αρνητική επίπτωση της δυνατότητας να καταγράφει σε ένα αρχείο η πλήρης κατάσταση της εικονικής μηχανής, είναι η δυνατότητα να επαναφέρουμε άθελά μας μία εικονική μηχανή που είχε μολυνθεί. Ο διαμοιρασμός εικόνων εικονικών μηχανών είναι σημαντικός για το μοντέλο παράδοσης IaaS. Για παράδειγμα, ένας χρήστης του AWS μπορεί να επιλέξει μεταξύ των: Amazon Machine Images (AMIs) που είναι προσβάσιμες από το Quick Start. AMI που έχουν δημιουργηθεί από την κοινότητα και είναι προσβάσιμες από τα μενού της υπηρεσίας EC2.
Κίνδυνοι ασφαλείας από τη χρήση κοινόχρηστων εικόνων Κάποιες εικόνες εικονικών μηχανών ενδέχεται να επιτρέψουν στο χρήστη να επαναφέρει διαγραμμένα αρχεία, να αναλύσει αποθηκευμένους κωδικούς ή ιδιωτικά κλειδιά ή άλλους τύπους προσωπικών δεδομένων, με μικρή προσπάθεια χρησιμοποιώντας απλά εργαλεία λογισμικού για αυτή τη δουλειά. Ρίσκα ασφαλείας: Πίσω πόρτες (backdoors) και ξεχασμένα στοιχεία σύνδεσης. Αυτόκλητες συνδέσεις. Malware.
Κίνδυνοι ασφαλείας από τη χρήση ενός λειτουργικού συστήματος διαχείρισης Ένας ελεγκτής εικονικών μηχανών, ή επόπτης, είναι σημαντικά μικρότερος από ένα λειτουργικό σύστημα. Για παράδειγμα, ο ελεγκτής εικονικών μηχανών του Xen αποτελείται από περίπου 60000 γραμμές κώδικα. Η TCB ενός νέφους περιλαμβάνει όχι μόνο τον επόπτης, αλλά κι ένα λειτουργικό σύστημα διαχείρισης. Το λειτουργικό σύστημα διαχείρισης υποστηρίζει εργαλεία διαχείρισης, μετεγκατάσταση (live migration), προγράμματα οδήγησης συσκευών και εξομοιωτές συσκευών.
Κίνδυνοι ασφαλείας από τη χρήση ενός λειτουργικού συστήματος διαχείρισης Στο Xen, το λειτουργικό σύστημα διαχείρισης εκτελείται σε Dom0 και διαχειρίζεται την κατασκευή των τομέων των χρηστών (user domains). Αυτή η διαδικασία αποτελείται από τα παρακάτω στάδια: 1. Κατανομή μνήμης στο χώρο διευθύνσεων του domo και φόρτωση του πυρήνα του φιλοξενούμενου λειτουργικού συστήματος από τη δευτερεύουσα μνήμη. Δέσμευση μνήμης για τη νέα εικονική μηχανή και χρησιμοποίηση ξένης (foreign) χαρτογράφησης για τη φόρτωση του πυρήνα της εικονικής μηχανής. Δημιουργία των αρχικών πινάκων σελιδοποίησης για τη νέα εικονική μηχανή. Απελευθέρωση της ξένης χαρτογράφησης, δημιουργία των εικονικών καταχωρητών του επεξεργαστή κι εκκίνηση της εικονικής μηχανής. Η TCB ενός περιβάλλοντος που βασίζεται στο Xen περιλαμβάνει το hardware, το Xen και το λειτουργικό σύστημα διαχείρισης που εκτελείται σε Dom0.
Κίνδυνοι ασφαλείας από τη χρήση ενός λειτουργικού συστήματος διαχείρισης Κατά το χρόνο δημιουργία του DomU: Άρνηση της πραγματοποίησης των βημάτων που απαιτούνται για την εκκίνηση μία νέας εικονικής μηχανής. Τροποποίηση του πυρήνα του φιλοξενούμενου λειτουργικού συστήματος ώστε να επιτρέπει σε τρίτους να ελέγχουν της εκτέλεση εφαρμογών που βρίσκονται μέσα σε αυτό. Παραβίαση της ακεραιότητας της νέας εικονικής μηχανής δημιουργώντας λανθασμένους πίνακες σελιδοποίησης ή/και λανθασμένους εικονικούς καταχωρητές του επεξεργαστή. Άρνηση της δημιουργίας της ξένης χαρτογράφησης καθώς και προσπέλασης της μνήμης κατά την διάρκεια της εκτέλεσης της εικονικής μηχανής.
Κίνδυνοι ασφαλείας από τη χρήση ενός λειτουργικού συστήματος διαχείρισης Κατά το χρόνο εκτέλεσης: Το DomO εκθέτει μια σειρά συσκευών στα φιλοξενούμενα λειτουργικά συστήματα χρησιμοποιώντας οδηγών διάσπασης (split drivers) με το frontend τους σε ένα domu και το backend σε domo. Πρέπει να διασφαλιστεί ότι η επικοινωνία κατά το χρόνο εκτέλεσης μέσα στο domo είναι κρυπτογραφημένη. Η ασφάλεια επιπέδου μεταφοράς (Transport Layer Security - TLS) δεν εγγυάται ότι το domo δεν θα μπορεί να εξαγάγει τα κλειδιά κρυπτογράφησης από τη μνήμη του λειτουργικού συστήματος και των εφαρμογών που τρέχουν σε domu.
Xen Η συνολική κατάσταση του συστήματος διατηρείται στο XenStore. Μία κακόβουλη εικονική μηχανή μπορεί να εμποδίσει άλλες εικονικές μηχανές να έχουν πρόσβαση στο XenStore. Επίσης, μπορεί να αποκτήσει πρόσβαση στη μνήμη ενός DomU.
Αντιμετώπιση μίας ευπάθειας που εμφανίζεται κατά τη λειτουργία του Dom0 Για να υλοποιήσουμε ένα ασφαλές σύστημα εκτέλεσης, θα πρέπει να παρακολουθούμε και να ελέγχουμε τις υπερκλήσεις (hypercalls) που χρησιμοποιούνται για την επικοινωνία μεταξύ ενός μη έμπιστου domo κι ενός domu που θέλουμε να προστατεύσουμε. Είναι αναγκαία η προστασία: Της ιδιωτικότητας και της ακεραιότητας του εικονικού επεξεργαστή μίας εικονικής μηχανής. Όταν το Dom0 θέλει να αποθηκεύσει την κατάσταση της εικονικής μηχανής, η υπερκλήση θα πρέπει να διακόπτεται και τα περιεχόμενα των εικονικών καταχωρητών του επεξεργαστή πρέπει να κρυπτογραφούνται. Όταν το DomU επαναφέρεται, τα περιεχόμενα του εικονικού επεξεργαστή πρέπει να αποκρυπτογραφούνται και να πραγματοποιείται έλεγχος ακεραιότητας.
Αντιμετώπιση μίας ευπάθειας που εμφανίζεται κατά τη λειτουργία του Dom0 Της ιδιωτικότητας και της ακεραιότητας της εικονικής μνήμης μίας εικονικής μηχανής. Η υπερκλήση για ανανέωση του πίνακα σελιδοποίησης θα πρέπει να διακόπτεται και τα δεδομένα της σελιδοποίησης θα πρέπει να κρυπτογραφούνται ώστε το Dom0 να διαχειρίζεται μόνο κρυπτογραφημένες σελίδες της εικονικής μηχανής. Για την εγγύηση της ακεραιότητας, ο επόπτης πρέπει να υπολογίζει ένα hash από όλες της σελίδες της μνήμης πριν αυτές αποθηκευτούν από το Dom0. Είναι απαραίτητη η μετάφραση των διευθύνσεων της μνήμης, όταν επανέρχεται ένα παλιό domu και του χορηγείται μία διαφορετική περιοχή μνήμης. Είναι αναγκαία η προστασία (Συνέχεια): Της φρεσκάδας του εικονικού επεξεργαστή και της μνήμη της εικονικής μηχανής. Ως λύση προτείνεται η προσθήκη ενός αριθμοί έκδοσης στο hash.
Xoar - ξεπερνώντας τον μονολιθικό σχεδιασμό του TCB Το Xoar είναι μία έκδοση του Xen σχεδιασμένη για την παροχή ενισχυμένης ασφάλειας. Οι σχεδιαστικοί της στόχοι είναι: Διατηρεί τη λειτουργικότητα που παρέχεται από το Xen. Εξασφαλίζει διαφάνεια με την υπάρχουσα διαχείριση και τις διεπαφές των εικονικών μηχανών. Εφαρμόζει αυστηρό έλεγχο των προνομίων, με το σκεπτικό ότι κάθε στοιχείο θα πρέπει να έχει μόνο τα δικαιώματα που απαιτούνται για τη λειτουργία του. Μειώνει τις διεπαφές όλων των συστατικών ώστε να μειώσει την πιθανότητα ένα συστατικό να χρησιμοποιηθεί από κάποιον επιτιθέμενο. Μειώνει την κοινή χρήση πόρων, η οποία πραγματοποιείται μόνο όταν κρίνεται απολύτως απαραίτητη. Μειώνει την ευκαιρία μίας επίθεσης με στόχο ένα συστατικό του συστήματος, περιορίζοντας το χρονικό παράθυρο (time window ) όταν το συστατικό χρησιμοποιείται.
Xoar - ξεπερνώντας τον μονολιθικό σχεδιασμό του TCB Το μοντέλο ασφάλειας του Xoar υποθέτει ότι οι απειλές προέρχονται από: Μία φιλοξενούμενη εικονική μηχανή που προσπαθεί να παραβιάσει την ακεραιότητα των δεδομένων ή την εμπιστευτικότητα μίας άλλης εικονικής μηχανής που βρίσκεται στην ίδια πλατφόρμα ή να εκμεταλλευτεί κώδικα της. Λάθη στον κώδικα αρχικοποίησης της εικονικής μηχανής διαχείρισης.
Συστατικά του Xoar Μόνιμα συστατικά: Το XenStore-State διατηρεί όλη την πληροφορία σχετικά με την κατάσταση του συστήματος. Συστατικά που χρησιμοποιούνται για εκκίνηση του συστήματος: Αυτοκαταστρέφονται πριν από την εκκίνηση μίας εικονικής μηχανής του χρήστη. Διαπιστώνουν τη διαμόρφωση του υλικού του server και στη συνέχεια εκκινούν το σύστημα: PCIBack: Εικονοποιεί την πρόσβαση στις ρυθμίσεις του PCI bus. Bootstrapper: Συντονίζει την εκκίνηση του συστήματος.
Συστατικά του Xoar Συστατικά που επανεκκινούνται ύστερα από τη λήξη κάποιου χρονομέτρου. Blk-Back. Εξάγει τους οδηγούς του φυσικού χώρου αποθήκευσης χρησιμοποιώντας κανόνες udev. NetBack. Εξάγει τους οδηγούς του φυσικού δικτύου. Μία φιλοξενούμενη εικονική μηχανή αρχικοποιείται από τον Builder χρησιμοποιώντας το Toolstack.
Η αρχιτεκτονική του Xoar Η διαδικασία αυτή ελέγχεται από το XenStore- Logic. Οι συσκευές που χρησιμοποιούνται από την εικονική μηχανή, εξομοιώνονται από το συστατικό Qemu. Κοινή χρήση συστατικών μεταξύ φιλοξενούμενων εικονικών μηχανών στο Xoar. Δύο εικονικές μηχανές κάνουν κοινή χρήση μόνο των συστατικών του XenStore. Κάθε μία διαθέτει μία ιδιωτική έκδοση των BlkBack, NetBack και Toolstack.
Έμπιστοι ελεγκτές εικονικών μηχανών Νέες ιδέες για έμπιστους ελεγκτές εικονικών μηχανών: Πρέπει να επιτρέπει σε μία εφαρμογή να μπορεί να δημιουργεί τη δική της στοίβα λογισμικού σύμφωνα με τις απαιτήσεις της. Εφαρμογές που απαιτούν πολύ υψηλό επίπεδο ασφάλειας, θα πρέπει να εκτελούνται κάτω από ένα πολύ απλό λειτουργικό σύστημα το οποίο να υποστηρίζει μόνο τη λειτουργικότητα που απαιτείται από την εφαρμογή και την ικανότητα εκκίνησης, περιορίζοντας έτσι τα πιθανά κενά ασφαλείας. Εφαρμογές που απαιτούν χαμηλό επίπεδο ασφάλειας, θα πρέπει να εκτελούνται κάτω από ένα πλήρες λειτουργικό σύστημα, διότι οι απαιτήσεις τους καλύπτονται ακόμα κι από τα συνηθισμένα λειτουργικά συστήματα του εμπορίου. Πρέπει να παρέχει αξιόπιστα μονοπάτια μεταξύ των χρηστών και των εφαρμογών. Ένα τέτοιο μονοπάτι θα επιτρέπει στο χρήστη να προσδιορίσει με βεβαιότητα την ταυτότητα της εικονικής μηχανής και το αντίστροφο. Υποστήριξη πιστοποιήσεων, δηλαδή της ικανότητας μίας εφαρμογής που εκτελείται σε ένα κλειστό κουτί να κερδίζει την εμπιστοσύνη από ένα απομακρυσμένο συστατικό ή χρήστη, με χρήση κρυπτογραφίας.
Αναφορές Το παρών υλικό βασίστηκε πάνω στην δράση «Ανοικτά Ψηφιακά Μαθήματα στο Πανεπιστήμιο Δυτικής Μακεδονίας» http://creativecommons.org/licenses/by-nc-sa/4.0/ http://openclass.teiwm.gr/courses/informatic122/