Κατέβασμα παρουσίασης
Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε
1
ΑΣΦΑΛΕΙΑ ΠΛΗΡΟΦΟΡΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ
Μηχανισμοί ελέγχου προσπέλασης Σωκράτης Κ. Κάτσικας Ταυτοποίηση και αυθεντικοποίηση
2
Agenda Εισαγωγή - Ορισμοί Εννοιολογική θεμελίωση
Λειτουργίες προσπέλασης Πίνακας ελέγχου προσπέλασης Λίστες Ελέγχου Δικαιωμάτων Προσπέλασης Λίστες Δυνατοτήτων Ομάδες και Αρνητικά Δικαιώματα Προστατευτικοί Δακτύλιοι Έλεγχος Βασισμένος σε Ρόλους
3
Εισαγωγή (1/2) Έλεγχος Προσπέλασης: σύνολο μηχανισμών που υλοποιεί κάποιο υπολογιστικό σύστημα, με σκοπό να προστατεύσει από μη εξουσιοδοτημένη προσπέλαση τα δεδομένα εκείνα τα οποία επηρεάζουν την ασφάλεια του συστήματος και είναι αποθηκευμένα στη μνήμη, στους καταχωρητές ή σε οποιοδήποτε άλλο τμήμα του συστήματος.
4
Εισαγωγή (2/2) Παραδοσιακά λειτουργικά συστήματα:
προσφέρουν διαφορετικούς γενικούς τρόπους προσπέλασης των διαθέσιμων πόρων, που είναι κοινοί για όλες τις κατηγορίες χρηστών και ανεξάρτητοι του τύπου των δεδομένων. Σύγχρονα λειτουργικά συστήματα: προσφέρουν λειτουργίες προσπέλασης προσανατολισμένες στις συγκεκριμένες ανάγκες κάθε ανεξάρτητου χρήστη.
5
Ορισμοί Kt=η κατάσταση ενός συστήματος τη χρονική στιγμή t
Κατάσταση προστασίας: το υποσύνολο των τιμών που σχετίζεται με την προστασία του συστήματος P=το σύνολο όλων των πιθανών καταστάσεων προστασίας Q⊂ P =το σύνολο των καταστάσεων προστασίας στις οποίες το σύστημα είναι εξουσιοδοτημένο να βρίσκεται. Κάθε φορά που η κατάσταση του συστήματος ανήκει στο Q το σύστημα είναι ασφαλές. Κάθε φορά που η κατάσταση του συστήματος ανήκει στο [P-Q] το σύστημα είναι ανασφαλές
6
Agenda Εννοιολογική θεμελίωση
7
Εννοιολογική Θεμελίωση (1/3)
Ένα υποκείμενο προσπαθεί να προσπελάσει ένα αντικείμενο αξιοποιώντας κάποια λειτουργία προσπέλασης που προσφέρει το υπολογιστικό σύστημα. Ένα σύνολο υποκειμένων S (χρήστες, διεργασίες) Ένα σύνολο αντικειμένων O (αρχεία και άλλοι υπολογιστικοί πόροι) Ένα σύνολο λειτουργιών προσπέλασης Α
8
Εννοιολογική Θεμελίωση (2/3)
Κάθε οντότητα του υπολογιστικού συστήματος μπορεί να δρα ως υποκείμενο (ενεργή οντότητα) ή ως αντικείμενο (παθητική οντότητα). Δικαιώματα προσπέλασης: Οι ενέργειες που επιτρέπεται να εκτελέσει κάποιο υποκείμενο Οι ενέργειες που επιτρέπεται να υποστεί κάποιο αντικείμενο Ιδιοκτήτης (owner) & ιδιοκτησία Διαχειριστής (administrator) = ή ≠ Ιδιοκτήτης ;
9
Εννοιολογική Θεμελίωση (3/3)
Ο καθορισμός και ο έλεγχος των τρόπων εκχώρησης δικαιωμάτων προσπέλασης, καθώς και των τρόπων που τα υποκείμενα μπορούν να προσπελάσουν κάποια αντικείμενα, υλοποιείται μέσω της πολιτικής ελέγχου προσπέλασης. Πολιτική Διακριτικού Ελέγχου Προσπέλασης, Discretionary Access Control – DAC Πολιτική Υποχρεωτικού Ελέγχου Προσπέλασης, Mandatory Access Control – MAC Άλλες πολιτικές
10
Agenda Λειτουργίες προσπέλασης Τρόποι προσπέλασης
Λειτουργίες προσπέλασης στο μοντέλο Bell-LaPadula Λειτουργίες προσπέλασης στο ΛΣ Multics Λειτουργίες προσπέλασης στο ΛΣ Unix
11
Λειτουργίες Προσπέλασης
Λειτουργίες για την προσπέλαση των πόρων του υπολογιστικού συστήματος: Λειτουργίες ανάγνωσης/εγγραφής της μνήμης Κλήσεις μεθόδων σε αντικειμενοστραφή συστήματα κ.λπ. Σημαντικές διαφοροποιήσεις των λειτουργιών προσπέλασης μεταξύ υπολογιστικών συστημάτων. Περιπτώσεις λειτουργιών που φαίνονται ίδιες, ενώ στην πράξη υλοποιούνται διαφορετικά σε κάθε υπολογιστικό σύστημα.
12
Τρόποι Προσπέλασης (Access Modes)
Τρόποι προσπέλασης: Παρατήρηση (Observe): Ανάγνωση των περιεχομένων του αντικειμένου Τροποποίηση (Alter): Τροποποίηση των περιεχομένων του αντικειμένου Αν και η πλειονότητα των πολιτικών ελέγχου προσπέλασης θα μπορούσαν να εκφραστούν μέσω των δύο αυτών τρόπων προσπέλασης, το πρόβλημα είναι ότι η περιγραφή μιας τέτοιας πολιτικής είναι εξαιρετικά δύσκολο να συσχετιστεί με τις εφαρμογές στις οποίες αναφέρεται. Προκύπτει λοιπόν η ανάγκη για ένα ευρύτερο φάσμα λειτουργιών προσπέλασης.
13
Λειτουργίες Προσπέλασης στο μοντέλο Bell-LaPadula (1/2)
Εκτέλεση (Execute) Ανάγνωση (Read) Προσθήκη (Append) Εγγραφή (Write)
14
Λειτουργίες Προσπέλασης στο μοντέλο Bell-LaPadula (2/2)
Η συσχέτισή τους με τους δύο βασικούς τρόπους προσπέλασης είναι: Παρατήρηση Τροποποίηση Εκτέλεση Προσθήκη Χ Ανάγνωση Εγγραφή
15
Λειτουργίες Προσπέλασης στο ΛΣ Multics
Για τα τμήματα δεδομένων ορίζονται οι: Ανάγνωση (Read) Εγγραφή (Write) Εκτέλεση (Execute) ενώ για τους καταλόγους οι: Κατάσταση (Status) Προσθήκη (Append) Εύρεση (Search) Αλλαγή (Modify)
16
Multics Τμήματα Δεδομένων
Συσχέτιση των δικαιωμάτων προσπέλασης του Multics με εκείνα του μοντέλου Bell-LaPadula Multics Τμήματα Δεδομένων Bell-LaPadula Ανάγνωση Εκτέλεση Εκτέλεση, Ανάγνωση Ανάγνωση, Εγγραφή Εγγραφή Προσθήκη Multics Κατάλογοι Bell-LaPadula Κατάσταση Ανάγνωση Κατάσταση, Αλλαγή Εγγραφή Προσθήκη Εύρεση Εκτέλεση
17
Λειτουργίες Προσπέλασης στο ΛΣ UNIX (1/2)
Ανάγνωση: Ανάγνωση από κάποιο αρχείο Εγγραφή: Εγγραφή σε κάποιο αρχείο Εκτέλεση: Εκτέλεση ενός προγράμματος – αρχείου Οι λειτουργίες αυτές διαφέρουν από αυτές που ορίζει το μοντέλο Bell-LaPadula. Για παράδειγμα, στο Unix η λειτουργία εγγραφής δε σημαίνει ότι αυτομάτως κάποιος αποκτά και δικαίωμα ανάγνωσης του αντικειμένου.
18
Λειτουργίες Προσπέλασης στο ΛΣ UNIX (2/2)
Το νόημα των λειτουργιών προσπέλασης που αναφέρονται σε καταλόγους διαφοροποιείται: Ανάγνωση: Ανάγνωση των περιεχομένων του καταλόγου Εγγραφή: Δημιουργία νέου αρχείου ή μετονομασία ενός υπάρχοντος αρχείου στον κατάλογο Εκτέλεση: Αναζήτηση στον κατάλογο Το UNIX δεν υποστηρίζει τη λειτουργία Διαγραφή, καθώς την υλοποιεί μέσω της λειτουργίας Εγγραφή στον κατάλογο.
19
Agenda Πίνακας ελέγχου προσπέλασης Ορισμός Παραδείγματα χρήσης
Προβλήματα
20
Πίνακας Ελέγχου Προσπέλασης
Το μοντέλο του Πίνακα Ελέγχου Προσπέλασης (Access Control Matrix Model) είναι το πλέον ακριβές για την περιγραφή μιας Κατάστασης Προστασίας ενός υπολογιστικού συστήματος. Προσδιορίζει τα δικαιώματα κάθε υποκειμένου σε σχέση με όλα τα αντικείμενα του συστήματος. Προτάθηκε από τον B. Lampson και βελτιώθηκε από τους G. Graham και P. Denning.
21
Πίνακας Ελέγχου Προσπέλασης
Τα δικαιώματα προσπέλασης απεικονίζονται μέσω ενός Πίνακα Μ = (Mso) sS, oO όπου Mso Α Ο όρος Mso που είναι υποσύνολο του συνόλου των λειτουργιών προσπέλασης Α που υποστηρίζονται από το σύστημα, καθορίζει όλα τα δικαιώματα - λειτουργίες προσπέλασης που το υποκείμενο s μπορεί να εκτελέσει στο αντικείμενο ο. Συνεπώς οι καταστάσεις προστασίας του εν λόγω συστήματος αποδίδονται από την ομάδα (S, O, M)
22
Πίνακας Ελέγχου Προσπέλασης
Το ακριβές νόημα των λειτουργιών προσπέλασης - δικαιωμάτων που απαντώνται σε έναν Πίνακα Ελέγχου Προσπέλασης, εξαρτάται από τον τρόπο υλοποίησής τους από το συγκεκριμένο σύστημα στο οποίο αναφέρονται. Συνεπώς ο Πίνακας Ελέγχου Προσπέλασης αποτελεί ένα αφηρημένο μοντέλο της κατάστασης προστασίας κάποιου συστήματος, το οποίο αποκτά πρακτική σημασία μόνον αν μελετηθεί αναφορικά με κάποιο συγκεκριμένο υπολογιστικό σύστημα.
23
Παράδειγμα 1 Έστω σύστημα με μία διεργασία Δ, ένα χρήστη Χ, δύο αρχεία και ένα σύνολο λειτουργιών προσπέλασης Α = {Ανάγνωση, Εγγραφή, Εκτέλεση, Προσθήκη}. Έστω ότι Η διεργασία Δ έχει δικαίωμα Ανάγνωσης και στα δύο αρχεία και Εγγραφής μόνο στο αρχείο 1. Ο χρήστης Χ έχει δικαίωμα Προσθήκης στο αρχείο 1 και Ανάγνωσης στο αρχείο 2. Επίσης η διεργασία Δ έχει δικαίωμα επικοινωνίας και συγκεκριμένα Ανάγνωσης δεδομένων από το χρήστη Χ, ενώ ο χρήστης Χ μπορεί να επικοινωνήσει με τη διεργασία Δ Εγγράφοντας δεδομένα.
24
Παράδειγμα 1 Ενδιαφέρον παρουσιάζει το γεγονός ότι η διεργασία Δ και ο χρήστης Χ αντιμετωπίζονται τόσο ως υποκείμενα (γραμμές του πίνακα) όσο και ως αντικείμενα (στήλες του πίνακα).
25
Παράδειγμα 2 Τα αντικείμενα που εμφανίζονται σε έναν Πίνακα Ελέγχου Προσπέλασης είναι, συνήθως, αρχεία και διεργασίες. Θα μπορούσαν, χωρίς κανένα πρόβλημα, να είναι και μηνύματα που ανταλλάσσουν κάποιες διεργασίες μεταξύ τους, ή ακόμη και υπολογιστικά συστήματα.
26
Παράδειγμα 2 Πίνακας Ελέγχου Προσπέλασης για τρία συστήματα ενός τοπικού δικτύου: Το σύνολο των λειτουργιών προσπέλασης Α αφορά στο πρωτόκολο επικοινωνίας που χρησιμοποιείται στο τοπικό δίκτυο και περιλαμβάνει τις λειτουργίες: ftp (δυνατότητα προσπέλασης του συστήματος χρησιμοποιώντας το πρωτόκολο ftp) nfs (δυνατότητα προσπέλασης του συστήματος χρησιμοποιώντας το πρωτόκολο nfs) mail (δυνατότητα αποστολής και λήψης ηλεκτρονικών μηνυμάτων χρησιμοποιώντας το πρωτόκολο SMTP)
27
Παράδειγμα 2 Το υποκείμενο Κόμβος 1 είναι ένα υπολογιστικό σύστημα, το οποίο δεν είναι προσπελάσιμο από άλλα συστήματα του τοπικού δικτύου, ενώ εκείνο μπορεί να προσπελάσει τα συστήματα Κόμβος 2 και Κόμβος 3 μέσω του πρωτοκόλου ftp. Το σύστημα Κόμβος 2 προσφέρει υπηρεσίες nfs σε κάποιους κόμβους του δικτύου που όμως δεν περιλαμβάνουν τον Κόμβο 1 και τον Κόμβο 3. Αντίστοιχα, ο Κόμβος 3 προσφέρει nfs υπηρεσίες σε κάποια ομάδα υπολογιστών στην οποία συμπεριλαμβάνεται και ο Κόμβος 2. Επίσης, τα συστήματα Κόμβος 2 και Κόμβος 3 μπορούν να ανταλλάξουν ηλεκτρονικά μηνύματα και να επικοινωνήσουν μέσω ftp.
28
Παράδειγμα 2
29
Παράδειγμα 3 Ο Πίνακας Ελέγχου Προσπέλασης μπορεί να αξιοποιηθεί για τη μοντελοποίηση γλωσσών προγραμματισμού. Στην περίπτωση αυτή, ως αντικείμενα νοούνται οι μεταβλητές, ενώ ως υποκείμενα οι διάφορες ρουτίνες (procedures, functions και modules).
30
Παράδειγμα 3 Έστω ένα πρόγραμμα το οποίο περιλαμβάνει δύο συναρτήσεις shift-left και shift-right για την αριστερή και δεξιά ολίσθηση, αντιστοίχως, των περιεχομένων μιας τοπικής μεταβλητής του προγράμματος. Επίσης υποθέτουμε ότι υπάρχει μία τρίτη ρουτίνα shift-variable, από την οποία γίνονται οι κλήσεις των shift-left και shift-right και ότι το σύνολο των λειτουργιών προσπέλασης είναι A = { <, >, κλήση} όπου < και > αναπαριστούν το δικαίωμα εκτέλεσης αριστερής και δεξιάς ολίσθησης αντιστοίχως και κλήση το δικαίωμα κλήσης κάποιας συνάρτησης.
31
Παράδειγμα 3 Τοπική μεταβλητή Shift-Left Shift-Right > <
Shift-Variable κλήση
32
Προβλήματα Πρακτικά προβλήματα στην υλοποίηση:
Μεγάλο πλήθος υποκειμένων και αντικειμένων. Τα περισσότερα στοιχεία του πίνακα είναι είτε κενά, είτε όμοια. Δημιουργία νέων ή διαγραφή υπαρχόντων υποκειμένων και αντικειμένων – Πολυπλοκότητα. Παρά τα προβλήματα αυτά, η πλειονότητα των μηχανισμών ελέγχου προσπέλασης που εφαρμόζονται σήμερα αξιοποιούν βελτιστοποιημένες εκδόσεις του μοντέλου του Πίνακα Ελέγχου Προσπέλασης.
33
Agenda Λίστες Ελέγχου Δικαιωμάτων Προσπέλασης Ορισμοί Παράδειγμα
Υποκείμενα που μπορούν να τροποποιήσουν τη λίστα ενός αντικειμένου Προνομιούχοι χρήστες Ομάδες υποκειμένων – wildcards Συγκρούσεις δικαιωμάτων Ανάκληση δικαιωμάτων
34
Λίστες Ελέγχου Δικαιωμάτων Προσπέλασης
Η Λίστα Ελέγχου Δικαιωμάτων Προσπέλασης (Access Control List – acl) αποθηκεύει τα δικαιώματα προσπέλασης σε κάποιο αντικείμενο μαζί με το ίδιο το αντικείμενο. Μία Λίστα Ελέγχου Δικαιωμάτων Προσπέλασης αντιστοιχεί με μία στήλη του Πίνακα Ελέγχου Προσπέλασης. Κάθε αντικείμενο του συστήματος συσχετίζεται με μία ομάδα από ζεύγη. Κάθε ζεύγος αποτελείται από ένα υποκείμενο και ένα σύνολο λειτουργιών - δικαιωμάτων προσπέλασης.
35
Λίστες Ελέγχου Δικαιωμάτων Προσπέλασης
Η Λίστα Ελέγχου Δικαιωμάτων Προσπέλασης (acl), l ορίζεται ως: όπου S το σύνολο των υποκειμένων του συστήματος και A το σύνολο των υποστηριζόμενων λειτουργιών προσπέλασης - δικαιωμάτων. Αν υποθέσουμε ότι η acl είναι μία συνάρτηση που συνθέτει τη Λίστα Ελέγχου Δικαιωμάτων Προσπέλασης l κάποιου συγκεκριμένου αντικειμένου o, η παράσταση σημαίνει ότι το υποκείμενο si μπορεί να προσπελάσει το αντικείμενο o αξιοποιώντας οποιαδήποτε λειτουργία προσπέλασης - δικαίωμα αποτελεί μέλος του συνόλου ai
36
Παράδειγμα Οι Λίστες Ελέγχου Δικαιωμάτων για τα αντικείμενα του Παραδείγματος 1 του Πίνακα Ελέγχου Προσπέλασης είναι: Υπ. / Αντικ. Αρχείο 1 Αρχείο 2 Διεργασία Δ Χρήστης Χ Ανάγνωση Εγγραφή Ανάγνωση Ανάγνωση Εγγραφή Εκτέλεση Προσθήκη Εγγραφή Ανάγνωση Εγγραφή Εκτέλεση
37
Λίστες Ελέγχου Δικαιωμάτων Προσπέλασης
Εξ ορισμού δικαιώματα προσπέλασης (By default). “wildcards”
38
Παράδειγμα Η λίστα αναφέρεται σε κάποιο σύστημα με τριάντα υποκείμενα, εκ των οποίων το υποκείμενο 1 (Υπ1) έχει δικαίωμα Ανάγνωσης και Εγγραφής στο Αντικείμενο 1, ενώ τα υποκείμενα 2 έως και 30 (Υπ2,..., Υπ30) έχουν μόνο δικαίωμα Ανάγνωσης του Αντικειμένου 1. Χρησιμοποιώντας τα εξ ορισμού δικαιώματα προσπέλασης η παραπάνω λίστα θα μπορούσε να γίνει: όπου το ‘*’ αντιπροσωπεύει όλα τα υπόλοιπα υποκείμενα του συστήματος τα οποία δεν αναφέρονται ονομαστικά στη λίστα.
39
Υποκείμενα που μπορούν να τροποποιήσουν τη λίστα ενός αντικειμένου
Όταν δημιουργείται μία Λίστα Ελέγχου Δικαιωμάτων Προσπέλασης, αρχικοποιείται ταυτόχρονα και το σύνολο των λειτουργιών προσπέλασης - δικαιωμάτων Α, που υποστηρίζει το συγκεκριμένο σύστημα. Το ισχυρότερο δικαίωμα, μέλος του συνόλου Α, είναι αυτό της Ιδιοκτησίας. Όποιο υποκείμενο διαθέτει το δικαίωμα της Ιδιοκτησίας μπορεί να τροποποιήσει τη Λίστα Ελέγχου Δικαιωμάτων Προσπέλασης του αντικειμένου. Συνήθως ο δημιουργός ενός αντικειμένου θεωρείται ιδιοκτήτης του Υπάρχουν αρκετά συστήματα που επιτρέπουν την τροποποίηση της λίστας ενός αντικειμένου από όλους όσοι έχουν το δικαίωμα προσπέλασης στο αντικείμενο.
40
Εφαρμογή της λίστας σε προνομιούχους χρήστες
Όλα τα συστήματα υποστηρίζουν κάποιους χρήστες με αυξημένα προνόμια, που συνήθως είναι υπεύθυνοι για τη διαχείριση των συστημάτων (root στο UNIX και administrator στα Windows). Η εφαρμογή της λίστας σε προνομιούχους χρήστες αυτού του τύπου είναι περιορισμένη. Για παράδειγμα, ο administrator θα μπορέσει να προσπελάσει κάποιο αρχείο ακόμη και αν, σύμφωνα με τη λίστα του συγκεκριμένου αντικειμένου – αρχείου, το δικαίωμα Ανάγνωσης έχει εκχωρηθεί μόνο στον ιδιοκτήτη του αρχείου. Υπάρχουν περιπτώσεις όπου οι περιορισμοί προσπέλασης του αντικειμένου, όπως προκύπτουν από τη σχετική λίστα, εφαρμόζονται ακόμη και σε προνομιούχους χρήστες.
41
Υποστήριξη Ομάδων Υποκειμένων και Wild Cards
Με την αυστηρή έννοια του ορισμού της Λίστας Ελέγχου Δικαιωμάτων Προσπέλασης δεν υποστηρίζονται ούτε οι Ομάδες Υποκειμένων (Groups) ούτε τα Wildcards. Στην πράξη, σχεδόν το σύνολο των υπολογιστικών συστημάτων υποστηρίζουν είτε το ένα, είτε το άλλο, είτε κάποιο συνδυασμό τους. Ο στόχος είναι να διατηρηθεί το μέγεθος της λίστας όσο το δυνατόν μικρότερο και να απλοποιηθεί η διαχείρισή της.
42
Διαχείριση Συγκρούσεων Δικαιωμάτων
Σύγκρουση δικαιωμάτων προκύπτει όταν δύο ή περισσότερες καταχωρήσεις στη Λίστα Ελέγχου Δικαιωμάτων Προσπέλασης έχουν ως αποτέλεσμα την εκχώρηση διαφορετικών δικαιωμάτων στο ίδιο υποκείμενο. Συνήθως τα συστήματα διαχειρίζονται συγκρούσεις δικαιωμάτων ως εξής: Το υποκείμενο έχει δικαίωμα προσπέλασης στο αντικείμενο αν υπάρχει τουλάχιστον μία καταχώρηση στη λίστα που εκχωρεί το δικαίωμα αυτό. Το υποκείμενο δεν έχει δικαίωμα προσπέλασης στο αντικείμενο αν υπάρχει τουλάχιστον μία καταχώρηση στη λίστα που απαγορεύει το δικαίωμα αυτό. Η δυνατότητα προσπέλασης του υποκειμένου στο αντικείμενο καθορίζεται από την πρώτη σχετική καταχώρηση στη λίστα.
43
Ανάκληση Δικαιωμάτων Προσπέλασης
Η ανάκληση (revocation) των δικαιωμάτων προσπέλασης ενός υποκειμένου σε κάποιο αντικείμενο προϋποθέτει τη διαγραφή της σχετικής καταχώρησης, που εκχωρούσε τα δικαιώματα στο εν λόγω υποκείμενο, από τη Λίστα Ελέγχου Δικαιωμάτων Προσπέλασης του συγκεκριμένου αντικειμένου. Αν η ανάκληση αφορά μόνο σε συγκεκριμένα δικαιώματα τότε αρκεί να διαγραφούν τα δικαιώματα αυτά από την καταχώρηση που αφορά το εν λόγω υποκείμενο. Η πολυπλοκότητα της ανάκλησης δικαιωμάτων έγκειται στο γεγονός ότι έχει αναδρομικό χαρακτήρα. Αυτό σημαίνει ότι αν ανακληθούν κάποια δικαιώματα από κάποιο υποκείμενο Α, θα πρέπει να ανακληθούν τα ίδια δικαιώματα και από όλα τα υπόλοιπα υποκείμενα του συστήματος στα οποία δευτερογενώς είχαν εκχωρηθεί τα συγκεκριμένα δικαιώματα από το υποκείμενο Α.
44
Παράδειγμα Ας υποθέσουμε ότι τη χρονική στιγμή t = 0, μόνον ο Χρήστης 1 έχει δικαίωμα προσπέλασης (Ανάγνωση και Εγγραφή) στο Αρχείο. Στη συνέχεια εκχωρούνται, στους Χρήστες 2 και 3, δικαιώματα προσπέλασης στο ίδιο Αρχείο, ως εξής:
45
Παράδειγμα Τη χρονική στιγμή t = 20, ο Χρήστης 1 αποφασίζει να ανακαλέσει τα δικαιώματα που είχε εκχωρήσει στο Χρήστη 3. Επακόλουθο είναι και η ανάκληση των δικαιωμάτων που είχαν εκχωρηθεί στο Χρήστη 2 από το Χρήστη 3. Όμως από το Χρήστη 2 ανακαλείται τελικά μόνο το δικαίωμα της Ανάγνωσης, καθώς αυτό της Εγγραφής του είχε εκχωρηθεί εκτός από το Χρήστη 3 και από το Χρήστη 1 και συνεπώς το διατηρεί.
46
Παράδειγμα
47
Agenda Λίστες Δυνατοτήτων Ορισμοί Υλοποίηση
Αντιγραφή και Ενίσχυση Δυνατοτήτων Ανάκληση Δικαιωμάτων Προσπέλασης Σύγκριση με τις Λίστες Ελέγχου Δικαιωμάτων Προσπέλασης
48
Λίστες Δυνατοτήτων Η Λίστα Δυνατοτήτων (Capabilities) αποθηκεύει τα δικαιώματα προσπέλασης κάποιου υποκειμένου. Μία Λίστα Δυνατοτήτων αντιστοιχεί με μία γραμμή του Πίνακα Ελέγχου Προσπέλασης. περιέχει πληροφορίες σχετικά με τα αντικείμενα, τα οποία μπορεί να προσπελάσει κάποιο συγκεκριμένο υποκείμενο. Κάθε υποκείμενο του συστήματος συσχετίζεται με μία ομάδα από ζεύγη. κάθε ζεύγος αποτελείται από ένα αντικείμενο και ένα σύνολο λειτουργιών προσπέλασης - δικαιωμάτων προσπέλασης. Το συσχετιζόμενο υποκείμενο έχει τη δυνατότητα να προσπελάσει το συγκεκριμένο αντικείμενο με οποιαδήποτε από τις αναφερόμενες λειτουργίες προσπέλασης.
49
Λίστες Δυνατοτήτων Η Λίστα Δυνατοτήτων, c, ορίζεται ως:
όπου Ο το σύνολο των αντικειμένων του συστήματος και A το σύνολο των υποστηριζόμενων λειτουργιών προσπέλασης - δικαιωμάτων. Αν υποθέσουμε ότι η cap είναι μία συνάρτηση που συνθέτει τη Λίστα Δυνατοτήτων c κάποιου συγκεκριμένου υποκειμένου s, η παράσταση σημαίνει ότι το υποκείμενο s μπορεί να προσπελάσει το αντικείμενο oi αξιοποιώντας οποιαδήποτε λειτουργία προσπέλασης - δικαίωμα αποτελεί μέλος του συνόλου ai.
50
Παράδειγμα Οι Λίστες Δυνατοτήτων για τα αντικείμενα του Παραδείγματος 1 του Πίνακα Ελέγχου Προσπέλασης είναι: Υπ. / Αντ. Αρχείο 1 Αρχείο 2 Διεργασία Δ Χρήστης Χ Ανάγνωση Εγγραφή Ανάγνωση Ανάγνωση Εγγραφή Εκτέλεση Προσθήκη Εγγραφή Ανάγνωση Εγγραφή Εκτέλεση
51
Λίστες Δυνατοτήτων Οι δυνατότητες εμπεριέχουν την ταυτότητα των αντικειμένων. Παράδειγμα: αν κάποιο υποκείμενο έχει δικαίωμα ανάγνωσης κάποιας μεταβλητής στη μνήμη του υπολογιστή, η διεύθυνση της θέσης μνήμης στην οποία είναι αποθηκευμένη η συγκεκριμένη μεταβλητή - αντικείμενο εμπεριέχεται στη δυνατότητα. Συνεπώς, το λειτουργικό σύστημα, μετά τη γνωστοποίηση κάποιας δυνατότητας, είναι σε θέση να ελέγξει τόσο το ίδιο το αντικείμενο, όσο και τα συγκεκριμένα δικαιώματα προσπέλασης του υποκειμένου.
52
Λίστες Δυνατοτήτων vs Λίστες ελέγχου δικαιωμάτων
Αντίθετα, η λίστα ελέγχου δικαιωμάτων προσπέλασης και η ταυτότητα κάποιας διεργασίας δε συσχετίζονται με κανένα τρόπο. Επομένως, τροποποιήσεις της λίστας από κάποια διεργασία είναι δυνατές μόνο μέσω των σχετικών υπηρεσιών του λειτουργικού συστήματος και φυσικά με την προϋπόθεση ότι η διεργασία έχει εξουσιοδότηση για κάτι τέτοιο.
53
Λίστες Δυνατοτήτων vs Λίστες ελέγχου δικαιωμάτων
Στην περίπτωση όμως των Δυνατοτήτων, υπάρχει κάποια στοιχειώδης συσχέτιση δυνατοτήτων – διεργασιών: μία διεργασία πρέπει να μπορεί να αναγνωρίσει τις δυνατότητές της ώστε να μπορεί να τις αξιοποιήσει Έμμεσα, αυτό σημαίνει ότι οι διεργασίες έχουν εξ ορισμού κάποιο βαθμό ελέγχου των δυνατοτήτων. Αν κάποια διεργασία καταφέρει να τροποποιήσει με μη εξουσιοδοτημένο τρόπο τις δυνατότητές της και στη συνέχεια να τις χρησιμοποιήσει, είναι σαφές ότι ο μηχανισμός ελέγχου προσπέλασης έχει αποτύχει. Είναι προφανές ότι οι δυνατότητες χρήζουν προστασίας με σκοπό τη διατήρηση της ακεραιότητας των δεδομένων τους.
54
Υλοποίηση Μηχανισμοί υλοποίησης και προστασίας των δυνατοτήτων:
οι ετικέτες (tags), η προστατευμένη μνήμη (protected memory) και η κρυπτογράφηση (cryptography). Ετικέτες (tags): Μία ομάδα bits συσχετίζεται με τις λέξεις μνήμης που χρησιμοποιούνται για την αποθήκευση των δυνατοτήτων. Το κάθε bit (ετικέτα) έχει δύο καταστάσεις: set και unset. Αν η ετικέτα βρίσκεται στην κατάσταση set, οι διεργασίες μπορούν να προσπελάσουν - για ανάγνωση - τη λέξη μνήμης που έχει συσχετισθεί με τη συγκεκριμένη ετικέτα, αλλά δεν μπορούν να τροποποιήσουν τα περιεχόμενά της. Αν η ετικέτα βρίσκεται στην κατάσταση unset, τότε οι διεργασίες μπορούν να προσπελάσουν τόσο για ανάγνωση όσο και για τροποποίηση τη συγκεκριμένη λέξη. Οι διεργασίες δεν έχουν δικαίωμα αλλαγής της κατάστασης της ετικέτας, εκτός αν έχουν σχετική εξουσιοδότηση.
55
Υλοποίηση Μία πιο διαδεδομένη τεχνική είναι η χρήση των bits προστασίας των σελίδων (pages) και τμημάτων (segments) της μνήμης. Όλες οι δυνατότητες αποθηκεύονται σε μία σελίδα ή σε ένα τμήμα, ανάλογα με τον τρόπο διαχείρισης μνήμης του συστήματος, όπου οι διεργασίες έχουν δικαίωμα ανάγνωσης αλλά όχι τροποποίησης. Για την υλοποίηση της συγκεκριμένης τεχνικής δεν απαιτείται εξειδικευμένο υλικό, πέραν αυτού που αξιοποιείται για την υλοποίηση των μηχανισμών διαχείρισης μνήμης. Υπάρχει το μειονέκτημα ότι τις περισσότερες φορές οι διεργασίες μπορούν να προσπελάσουν τις δυνατότητες μόνο έμμεσα (indirect access), δηλαδή με χρήση δεικτών.
56
Υλοποίηση Η προστασία της ακεραιότητας των δυνατοτήτων μπορεί να εξασφαλιστεί με χρήση κρυπτογραφικών αθροισμάτων ελέγχου. Μαζί με κάθε δυνατότητα αποθηκεύεται και ένα άθροισμα ελέγχου το οποίο έχει πρώτα κρυπτογραφηθεί από κάποιο κρυπτοσύστημα, το κλειδί του οποίου είναι γνωστό στο λειτουργικό σύστημα. Όταν κάποια διεργασία παρουσιάζει μία δυνατότητά της στο λειτουργικό σύστημα, αυτό υπολογίζει το άθροισμα ελέγχου για τη συγκεκριμένη δυνατότητα. Στη συνέχεια, είτε κρυπτογραφεί το άθροισμα ελέγχου που υπολόγισε με το κλειδί που γνωρίζει και συγκρίνει το αποτέλεσμα με αυτό που ήταν αποθηκευμένο με τη δυνατότητα, είτε αποκρυπτογραφεί το άθροισμα ελέγχου της δυνατότητας και το συγκρίνει με αυτό που υπολόγισε. Αν τα αθροίσματα ελέγχου ταυτίζονται, η δυνατότητα γίνεται αποδεκτή, διαφορετικά απορρίπτεται.
57
Αντιγραφή και Ενίσχυση Δυνατοτήτων
Η αντιγραφή δυνατοτήτων είναι μία ενέργεια αντίστοιχη με αυτή της εκχώρησης δικαιωμάτων. Για να προληφθεί η ανεξέλεγκτη εκχώρηση δικαιωμάτων από κάποια διεργασία, κάθε δυνατότητα συσχετίζεται με ένα ενδεικτικό bit αντιγραφής. Μία διεργασία μπορεί να αντιγράψει μία δυνατότητά της σε κάποια άλλη διεργασία μόνον αν το ενδεικτικό bit αντιγραφής είναι 1 (set). Σε περίπτωση που πραγματοποιηθεί η αντιγραφή, η κατάσταση του ενδεικτικού bit αντιγραφής μπορεί να αλλαχθεί σε 0 (reset), είτε από τη διεργασία, είτε από το λειτουργικό σύστημα, απαγορεύοντας έτσι στη διεργασία-παραλήπτη να αντιγράψει δευτερογενώς τη δυνατότητα που της εκχωρήθηκε σε κάποια άλλη διεργασία.
58
Αντιγραφή και Ενίσχυση Δυνατοτήτων
Η ενίσχυση δυνατοτήτων αφορά περιπτώσεις αύξησης των δικαιωμάτων κάποιου υποκειμένου. Τις περισσότερες φορές η ενίσχυση των δυνατοτήτων είναι προσωρινή, έχοντας ως στόχο την ολοκλήρωση κάποιας συγκεκριμένης λειτουργίας.
59
Παράδειγμα Ας θεωρήσουμε την παρακάτω κλάση:
και ότι σε κάποιο σημείο του προγράμματος υπάρχουν οι εντολές:
60
Παράδειγμα Το αντικείμενο i, μπορεί να προσπελασθεί μόνον από την κλάση Integer. Αν θεωρήσουμε τις δύο μεθόδους setValue και addValue ως δύο διεργασίες, αυτές δεν έχουν κανένα δικαίωμα προσπέλασης στο αντικείμενο i όσο είναι ανενεργές. Όταν όμως ενεργοποιηθούν (i.setValue(1) και i.addValue(10)), είναι απαραίτητο να αποκτήσουν δικαιώματα Ανάγνωσης και Εγγραφής στο αντικείμενο i. Συνεπώς οι δυνατότητές τους πρέπει να ενισχυθούν προσωρινά, όσο διάστημα είναι ενεργές, με τα προαναφερόμενα δικαιώματα.
61
Αντιγραφή και Ενίσχυση Δυνατοτήτων
Ένα από τα βασικότερα προβλήματα των δυνατοτήτων είναι ο έλεγχος αντιγραφής τους σε λίστες δυνατοτήτων τρίτων υποκειμένων.
62
Αντιγραφή και Ενίσχυση Δυνατοτήτων
Μια τεχνική που έχει προταθεί για την αντιμετώπιση του προβλήματος προϋποθέτει την κατηγοριοποίηση των υποκειμένων και αντικειμένων του συστήματος σε μία ιεραρχία επιπέδων ασφάλειας. Ας υποθέσουμε, στα πλαίσια του προηγούμενου παραδείγματος, ότι ο Χρήστης 1 βρίσκεται στο χαμηλότερο επίπεδο ασφάλειας Χ, ενώ ο Χρήστης 2 και το Αρχείο στο υψηλότερο επίπεδο ασφάλειας Υ Όταν δημιουργείται μία δυνατότητα, κατατάσσεται στο ίδιο επίπεδο ασφάλειας με την αιτούμενη διεργασία και περιέχει δικαιώματα Ανάγνωσης, ή Ανάγνωσης και Εγγραφής, ή Εγγραφής, ανάλογα με το αν το επίπεδο ασφάλειάς της είναι ανώτερο, το ίδιο, ή χαμηλότερο από το επίπεδο ασφάλειας του αντικειμένου στο οποίο αναφέρεται.
63
Αντιγραφή και Ενίσχυση Δυνατοτήτων
Ακριβώς η ίδια λογική ισχύει για την αντιγραφή των δυνατοτήτων. Όταν ο Χρήστης 1 αντιγράψει τη δυνατότητα c2 από το Αρχείο στη δική του λίστα δυνατοτήτων, ισχύουν τα ακόλουθα: Η δυνατότητα c2 ανήκει στο επίπεδο ασφάλειας Υ, δηλαδή ίδιο επίπεδο ασφάλειας με το Χρήστη 2 από τον οποίο δημιουργήθηκε. Κατά την αντιγραφή, το επίπεδο ασφάλειας του προορισμού (Χρήστης 1) είναι κατώτερο από το επίπεδο ασφάλειας της πηγής (Αρχείο). Συνεπώς η δυνατότητα που τελικά θα αντιγραφεί στη λίστα δυνατοτήτων του Χρήστη 1 θα περιλαμβάνει μόνο δικαίωμα Ανάγνωσης.
64
Αντιγραφή και Ενίσχυση Δυνατοτήτων
Μια άλλη τεχνική που έχει προταθεί είναι πριν επιτραπεί η αντιγραφή μιας δυνατότητας σε κάποιο άλλο υποκείμενο - διεργασία, το λειτουργικό σύστημα να ελέγχει πιθανές παραβιάσεις των παραμέτρων ασφάλειας. Μία τρίτη, απλούστερη προσέγγιση είναι η διαφοροποίηση μεταξύ των δικαιωμάτων Αντιγραφή Δυνατότητας και Ανάγνωση Δυνατότητας. Στο παράδειγμά μας, η τεχνική αυτή θα είχε ως αποτέλεσμα ο Χρήστης 1 να έχει δικαίωμα Ανάγνωσης της δυνατότητας c2 από το Αρχείο, αλλά να μην έχει δικαίωμα Αντιγραφής της, στη Λίστα Δυνατοτήτων του.
65
Ανάκληση Δικαιωμάτων Προσπέλασης
Η ανάκληση δικαιωμάτων προσπέλασης σε κάποιο αντικείμενο προϋποθέτει ότι όλες οι δυνατότητες που εξασφαλίζουν σε κάποια υποκείμενα προσπέλαση στο συγκεκριμένο αντικείμενο πρέπει να ανακληθούν. Θεωρητικά ο μόνος τρόπος να επιτευχθεί κάτι τέτοιο είναι να ελεγχθούν οι Λίστες Δυνατοτήτων όλων των υποκειμένων του συστήματος και να διαγραφούν οι σχετικές δυνατότητες. Επειδή το κόστος μιας τέτοιας διαδικασίας είναι εξαιρετικά υψηλό έχουν υιοθετηθεί εναλλακτικές τεχνικές.
66
Ανάκληση Δικαιωμάτων Προσπέλασης
Η απλούστερη τεχνική στηρίζεται στην αρχή της έμμεσης (indirect) αναφοράς των αντικειμένων από τις δυνατότητες. Συγκεκριμένα, δημιουργείται ένας ή περισσότεροι καθολικοί (global) πίνακες αντικειμένων και κάθε αντικείμενο του συστήματος συσχετίζεται με μία καταχώρηση σε έναν από τους πίνακες αυτούς. Οι δυνατότητες, αντί να αναφέρονται στο αντικείμενο άμεσα, αναφέρονται στις σχετικές καταχωρήσεις του καθολικού πίνακα αντικειμένων. Για την ανάκληση των δικαιωμάτων προσπέλασης σε κάποιο αντικείμενο, αρκεί να ακυρωθεί η σχετική καταχώρηση στον πίνακα αντικειμένων.
67
Σύγκριση με τις Λίστες Ελέγχου Δικαιωμάτων Προσπέλασης
Τα βασικά ερωτήματα στα οποία προσπαθούν να απαντήσουν οι μηχανισμοί ελέγχου προσπέλασης είναι: Ποια είναι τα αντικείμενα που μπορεί να προσπελάσει κάποιο συγκεκριμένο υποκείμενο και με ποιο τρόπο; Ποια είναι τα υποκείμενα που μπορούν να προσπελάσουν κάποιο συγκεκριμένο αντικείμενο και με ποιο τρόπο; Για την πρώτη περίπτωση οι Λίστες Δυνατοτήτων είναι οι καταλληλότερες (απαιτείται απλώς να ελεγχθούν οι καταχωρήσεις της Λίστας Δυνατοτήτων του συγκεκριμένου υποκειμένου) Για τη δεύτερη περίπτωση η απλούστερη λύση είναι οι Λίστες Ελέγχου Δικαιωμάτων Προσπέλασης (απαιτείται απλώς να ελεγχθούν οι καταχωρήσεις της Λίστας Ελέγχου Δικαιωμάτων Προσπέλασης του συγκεκριμένου αντικειμένου)
68
Agenda Ομάδες και Αρνητικά Δικαιώματα
69
Ομάδες και Αρνητικά Δικαιώματα
Για την αντιμετώπιση της πολυπλοκότητας που δημιουργεί ο πολύ μεγάλος αριθμός των Υποκειμένων ενός συστήματος, αξιοποιούνται οι Ομάδες Υποκειμένων. Όλοι οι χρήστες που έχουν παρόμοια δικαιώματα προσπέλασης στους πόρους ενός συστήματος δημιουργούν μία ομάδα και τα δικαιώματα για προσπέλαση των αντικειμένων του συστήματος εκχωρούνται πλέον στην ομάδα και όχι ανεξάρτητα σε κάθε χρήστη. Οι χρήστες μπορεί να έχουν δικαίωμα συμμετοχής μόνο σε μία ή σε περισσότερες από μία ομάδες. Οι ομάδες μπορεί να αποτελέσουν ένα ενδιάμεσο επίπεδο ελέγχου μέσω του οποίου εκχωρούνται δικαιώματα προσπέλασης στα αντικείμενα του συστήματος.
70
Παράδειγμα Στο μέλος κάποιας ομάδας μπορεί να γίνει απευθείας εκχώρηση κάποιου δικαιώματος ή απευθείας αφαίρεση κάποιου δικαιώματος που απέκτησε ως μέλος της ομάδας (Αρνητικό Δικαίωμα). Το Υ3 έχει δικαίωμα προσπέλασης στο Α3, ενώ το Υ1 δεν έχει δικαίωμα προσπέλασης στο Α1 κι ας είναι μέλος της Ομάδας 1. Τα υποκείμενα Y1, Y2, Y3 απαρτίζουν την Ομάδα 1, ενώ τα υποκείμενα Υ3, Υ4, Υ5 την Ομάδα 2. Τα Υ1, Υ2 έχουν δικαίωμα προσπέλασης στα αντικείμενα Α1 και Α2, τα Υ4, Υ5 στα Α2 και Α3, και το Υ3 σε όλα τα αντικείμενα.
71
Αξιοποίηση των Ομάδων Οι Ομάδες μπορούν να αξιοποιηθούν για την απλοποίηση της διαχείρισης στις Λίστες Ελέγχου Δικαιωμάτων Προσπέλασης. Τυπικό παράδειγμα αποτελεί η χρήση τους στο μηχανισμό ελέγχου προσπέλασης στα αρχεία του συστήματος, από το λειτουργικό σύστημα UNIX. Το UNIX κατατάσσει όλους τους χρήστες στις παρακάτω κατηγορίες: Ιδιοκτήτης του αρχείου (Owner) Ομάδα Ιδιοκτήτη του αρχείου (Group Owner), που είναι η ομάδα στην οποία ανήκει ο Ιδιοκτήτης του αρχείου Ομάδα όλων των υπόλοιπων χρηστών (Others) του συστήματος
72
Αξιοποίηση των Ομάδων Οι λειτουργίες προσπέλασης που υποστηρίζονται από το λειτουργικό σύστημα UNIX είναι: Ανάγνωση, Εγγραφή και Εκτέλεση, τα δικαιώματα προσπέλασης σε κάποιο αρχείο αντιπροσωπεύονται από τρεις τριμελείς ομάδες γραμμάτων, μία για κάθε κατηγορία, ως εξής: Το πρώτο στοιχείο κάθε τριάδας, r, αντιπροσωπεύει το δικαίωμα της Ανάγνωσης του αρχείου, το δεύτερο, w, το δικαίωμα Εγγραφής στο αρχείο και το τρίτο, x, το δικαίωμα Εκτέλεσης του αρχείου
73
Παράδειγμα Αν ο χρήστης Χ, που ανήκει στην Ομάδα ΑΠΣ, δημιουργήσει ένα αρχείο test, και επιθυμεί: ο ίδιος να έχει το σύνολο των δικαιωμάτων προσπέλασης στο αρχείο, η ομάδα του μόνο δικαίωμα Ανάγνωσης και οι υπόλοιποι χρήστες να μην έχουν κανένα δικαίωμα προσπέλασης, τα δικαιώματα προσπέλασης του αρχείου test θα είναι:
74
Αξιοποίηση των Ομάδων Η χρήση Ομάδων Υποκειμένων εισάγει και κάποια προβλήματα με πιο σημαντικό την αδυναμία εκχώρησης διαφορετικών δικαιωμάτων σε περισσότερες ομάδες υποκειμένων από το μέγιστο αριθμό που υποστηρίζει το σύστημα. Θεωρείστε ότι στο προηγούμενο παράδειγμα ο χρήστης Χ επιθυμούσε να εκχωρήσει και το δικαίωμα Εγγραφής σε ένα χρήστη Υ που ανήκει στην ομάδα ΑΠΣ, αφαιρώντας του όμως το δικαίωμα Ανάγνωσης, καθώς και το δικαίωμα Εκτέλεσης σε ένα χρήστη Ζ που ανήκει στην ομάδα των Υπολοίπων Χρηστών. Στο UNIX δεν είναι δυνατόν να υλοποιηθεί, καθώς υποστηρίζονται μόνο τρεις κατηγορίες δικαιωμάτων, ενώ τώρα απαιτούνται πέντε.
75
Αξιοποίηση των Ομάδων Κάποια λειτουργικά συστήματα όπως το AIX της IBM επιλύει το πρόβλημα αυτό διευρύνοντας ή τροποποιώντας τα δικαιώματα προσπέλασης που εκχωρούνται μέσω των βασικών κατηγοριών που υποστηρίζει το σύστημα. Επανερχόμενοι στο προηγούμενο παράδειγμα, τα δικαιώματα προσπέλασης του αρχείου test, όπως θα καθοριστούν από το λειτουργικό σύστημα AIX, θα είναι:
76
Agenda Προστατευτικοί Δακτύλιοι
77
Προστατευτικοί Δακτύλιοι
Ένας άλλος τρόπος απλοποίησης της διαδικασίας εκχώρησης δικαιωμάτων προσπέλασης, είναι η χρήση των προστατευτικών δακτυλίων. Μπορούμε να φανταστούμε τους προστατευτικούς δακτυλίους ως ομόκεντρους κύκλους, με το δακτύλιο r0 στο κέντρο, να παρέχει το μεγαλύτερο βαθμό προστασίας
78
Προστατευτικοί Δακτύλιοι
Κάθε υποκείμενο και αντικείμενο του συστήματος συσχετίζεται με κάποιο Δακτύλιο rn ανάλογα με το πόσο σημαντικό είναι. Για παράδειγμα, ο πυρήνας του λειτουργικού συστήματος συσχετίζεται με το Δακτύλιο r0. Αν κάποιο υποκείμενο έχει συσχετισθεί με το Δακτύλιο ri και το αντικείμενο με το Δακτύλιο rj, δικαίωμα προσπέλασης έχουν μόνον τα υποκείμενα για τα οποία ισχύει i j.
79
Δακτύλιοι στο Multics Ο αριθμός των Προστατευτικών Δακτυλίων που υποστηρίζει το συγκεκριμένο λειτουργικό σύστημα είναι 64 (0 έως 63). Ας υποθέσουμε ότι κάποια διαδικασία που εκτελείται στο δακτύλιο r, χρειάζεται να προσπελάσει κάποιο τμήμα δεδομένων. Για κάθε τμήμα δεδομένων, το Multics ορίζει ένα ζεύγος δακτυλίων (r1, r2) με r1<= r2, το οποίο ονομάζεται αγκύλη προσπέλασης. Επίσης ας υποθέσουμε ότι τα δικαιώματα προσπέλασης (Ανάγνωση, Εγγραφή, Εκτέλεση, Προσθήκη) του τμήματος δεδομένων, τα οποία εκχωρούνται μέσω σχετικής λίστας ελέγχου δικαιωμάτων προσπέλασης, επιτρέπουν στη συγκεκριμένη διαδικασία να εκτελέσει τις λειτουργίες προσπέλασης που επιθυμεί. Οι προστατευτικοί δακτύλιοι, μέσω της αγκύλης προσπέλασης, εισάγουν έναν ακόμα περιορισμό.
80
Δακτύλιοι στο Multics Συγκεκριμένα αν: r <= r1, η προσπέλαση επιτρέπεται r1 < r <= r2, επιτρέπεται μόνο η προσπέλαση για Ανάγνωση και Εκτέλεση r2 <= r, η προσπέλαση απαγορεύεται Αν η ίδια διαδικασία εκτελείται ξανά στο δακτύλιο r και χρειάζεται να προσπελάσει κάποια άλλη διαδικασία, σε αντιστοιχία με τα τμήματα δεδομένων, το λειτουργικό σύστημα ορίζει για κάθε διαδικασία μία αγκύλη προσπέλασης και επιπροσθέτως μπορεί να ορίσει και μία αγκύλη κλήσης (c1, c2) με c1<= c2 και c1 = r2. Όταν για μία διαδικασία έχει οριστεί αγκύλη κλήσης, χρησιμοποιείται ο συμβολισμός (r1, r2, r3) όπου (r1, r2) είναι η αγκύλη προσπέλασης και (r2, r3) είναι η αγκύλη κλήσης (άρα c2 = r3).
81
Δακτύλιοι στο Multics Οι περιορισμοί δικαιωμάτων προσπέλασης που προκύπτουν στην περίπτωση αυτή διαφοροποιούνται ελαφρά από τους αντίστοιχους για προσπέλαση σε τμήμα δεδομένων. Συγκεκριμένα, αν: r < r1, η προσπέλαση επιτρέπεται, αλλά ταυτόχρονα σηματοδοτείται ένα λάθος διασταύρωσης δακτυλίων r1 <= r <= r2, η προσπέλαση επιτρέπεται r2 < r <= r3, η προσπέλαση επιτρέπεται μόνον αν διενεργηθεί μέσω μιας έγκυρης πύλης r3 < r, η προσπέλαση απαγορεύεται
82
Δακτύλιοι στο Multics Υπάρχουν περιπτώσεις όπου οι διαδικασίες μπορούν να διασταυρώσουν τα όρια των δακτυλίων. Στην περίπτωση μάλιστα που ο δακτύλιος r της εκτελούμενης διαδικασίας βρίσκεται εσωτερικά της αγκύλης προσπέλασης της καλούμενης διαδικασίας, σηματοδοτείται λάθος διασταύρωσης δακτυλίων το οποίο εξετάζεται από τον πυρήνα του λειτουργικού συστήματος με στόχο την τελική αποδοχή ή απόρριψη της επιχειρούμενης προσπέλασης. Ένας ακόμα περιορισμός είναι όταν ο δακτύλιος r της εκτελούμενης διαδικασίας βρίσκεται μέσα στην αγκύλη κλήσης της καλούμενης διαδικασίας. Η προσπέλαση θα επιτραπεί μόνον αν διενεργηθεί μέσω κάποιου συγκεκριμένου σημείου εισόδου, που πρέπει να έχει δηλωθεί στον πηγαίο κώδικα της καλούμενης διαδικασίας, γνωστό ως πύλη.
83
Agenda Έλεγχος Βασισμένος σε Ρόλους
84
Έλεγχος Βασισμένος σε Ρόλους
Οι μηχανισμοί ελέγχου προσπέλασης που εξετάστηκαν εξειδικεύονται στο σύστημα στο οποίο θα εφαρμοστούν καθώς επικοινωνούν άμεσα. Απαιτούν γνώση των υποκειμένων, αντικειμένων και των υποστηριζόμενων λειτουργιών προσπέλασης. Η νέα τάση είναι η υλοποίηση μηχανισμών που είναι ανεξάρτητοι από τα συστήματα στα οποία εφαρμόζονται, με στόχο την υλοποίηση του ελέγχου προσπέλασης σε επίπεδο εφαρμογών και όχι συστημάτων. Στη περίπτωση αυτή θα πρέπει να επικεντρωθούμε στις λειτουργίες (operations) του συστήματος και όχι στα αντικείμενά του.
85
Έλεγχος Βασισμένος σε Ρόλους
Με οποιαδήποτε εφαρμογή, η ολοκλήρωση μιας εργασίας από κάποιο χρήστη προϋποθέτει την εκτέλεση, με αυστηρά προκαθορισμένη σειρά, κάποιας ομάδας λειτουργιών. Αυτές οι ομάδες λειτουργιών ονομάζονται ρόλοι. Τα δικαιώματα προσπέλασης των υποκειμένων του συστήματος καθορίζονται από τους ρόλους που έχουν εξουσιοδοτηθεί να εκτελούν (συσχέτιση υποκειμένων – ρόλων). Προκύπτει λοιπόν ένας νέος μηχανισμός ελέγχου προσπέλασης βασισμένος σε ρόλους (Role-Based Access Control – RBAC), ο οποίος εστιάζει στους χρήστες και στις εργασίες που αυτοί εκτελούν. Κάποιος χρήστης μπορεί να συσχετισθεί με περισσότερους από ένα ρόλους και φυσικά κάποιος ρόλος μπορεί να συσχετισθεί με περισσότερους από ένα χρήστες
Παρόμοιες παρουσιάσεις
© 2024 SlidePlayer.gr Inc.
All rights reserved.