Μηχανισµοί Ελέγχου Προσπέλασης

Σχετικά έγγραφα
ΑΣΦΑΛΕΙΑ ΔΕΔΟΜΕΝΩΝ ΣΤΗΝ ΚΟΙΝΩΝΙΑ ΤΗΣ ΠΛΗΡΟΦΟΡΙΑΣ (Μηχανισμοί Ελέγχου Προσπέλασης)

Μηχανισμοί Ελέγχου Προσπέλασης

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΑΣΦΑΛΕΙΑ ΠΛΗΡΟΦΟΡΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ. Ασκήσεις

Ασφάλεια Πληροφοριακών και Επικοινωνιακών Συστημάτων

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

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ ΙΙ - UNIX. Συστήματα Αρχείων. Διδάσκoντες: Καθ. Κ. Λαμπρινουδάκης Δρ. Α. Γαλάνη

Ασφάλεια Υπολογιστικών Συστηµάτων

Υπάρχουν δύο τύποι μνήμης, η μνήμη τυχαίας προσπέλασης (Random Access Memory RAM) και η μνήμη ανάγνωσης-μόνο (Read-Only Memory ROM).

Κεφάλαιο 5. Κεφ. 5 Λειτουργικά Συστήματα 1

Κεφάλαιο 10 ο Υποπρογράµµατα

Τεχνολογία Υπολογιστικών Συστηµάτων & Λειτουργικά Συστήµατα Κεφάλαιο 10

Αντικειμενοστραφής Προγραμματισμός

Κεφάλαιο 4: Λογισμικό Συστήματος

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ

Λειτουργικά Συστήματα (Λ/Σ)

Ασφάλεια Υπολογιστικών Συστηµάτων

Εισαγωγή. E-03: Λειτουργικά Συστήµατα ΙΙ 6. Εαρινό Εξάµηνο Κατανεµηµένα συστήµατα αρχείων. Μέρη κατανεµηµένου συστήµατος αρχείων

Μάθημα 3: Αρχιτεκτονική Υπολογιστών

Περιεχόμενα. Κεφάλαιο 1 Εισαγωγή στην Access...9. Κεφάλαιο 2 Χειρισμός πινάκων... 25

Πληροφορική 2. Δομές δεδομένων και αρχείων

ΚΕΦΑΛΑΙΟ 7 ο. Έτσι ο προγραµµατισµός µε τη ΓΛΩΣΣΑ εστιάζεται στην ανάπτυξη του αλγορίθµου και τη µετατροπή του σε σωστό πρόγραµµα.

διεύθυνση πρώτου στοιχείου διεύθυνση i-οστού στοιχείου T t[n]; &t[0] είναι t &t[i] είναι t + i*sizeof(t)

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

Απλοποιεί τα γεγονότα έτσι ώστε να περιγράφει τι έχει γίνει και όχι πως έχει γίνει.

Αρχιτεκτονική του πληροφοριακού συστήµατος Cardisoft Γραµµατεία 2003 ιαχείριση Προσωπικού

Λειτουργικά. Τεχνολογικό Εκπαιδευτικό Ίδρυμα Δυτικής Μακεδονίας Σιώζιος Κων/νος - Πληροφορική Ι

ΕΛΛΗΝΙΚΗ ΗΜΟΚΡΑΤΙΑ Αθήνα 18/ 10/ 2001

Προγραµµατισµός Ι (ΗΥ120)

Εισαγωγή στη Σχεδίαση Λογισμικού

ΑΔΙΕΞΟΔΑ. Λειτουργικά Συστήματα Ι. Διδάσκων: Καθ. Κ. Λαμπρινουδάκης ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2015

Συνεργείο Αυτοκινήτων

Εισαγωγή στο λειτουργικό σύστηµα Unix

09/04/2014 ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι. Μάθηµα: Α ΙΕΞΟ Α. ιδάσκων: Λειτουργικά Συστήµατα Ι Αν. Καθ. Κ. Λαµπρινουδάκης Α ΙΕΞΟ Α

Προγραμματισμός Ι (ΗΥ120)

Πληροφορική ΙΙ Εισαγωγή στις Βάσεις Δεδομένων. Τμήμα Λογιστικής

ΕΓΧΕΙΡΙ ΙΟ ΧΡΗΣΗΣ MODULE: ΠΡΟΚΗΡΥΞΕΙΣ

Περιεχόµενα. 1 Tο βιβλίο "µε µια µατιά" Εισαγωγή στη Microsoft Access Γνωριµία µε τις βάσεις δεδοµένων της Access...

a = 10; a = k; int a,b,c; a = b = c = 10;

Εργαστήριο Λειτουργικών Συστημάτων 8o εξάμηνο, Ροή Υ, ΗΜΜΥ

Οπτική αντίληψη. Μετά?..

Ε-85: Ειδικά Θέµατα Λογισµικού

Κατανεµηµένασυστήµατα αρχείων

Ειδικά θέματα Αλγορίθμων και Δομών Δεδομένων (ΠΛΕ073) Απαντήσεις 1 ου Σετ Ασκήσεων

Μάθημα 3.2: Κεντρική Μονάδα Επεξεργασίας

ΕΓΧΕΙΡΙ ΙΟ ΧΡΗΣΗΣ MODULE: NEWSLETTER

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ ΙΙ - UNIX. Συστήματα Αρχείων. Διδάσκoντες: Καθ. Κ. Λαμπρινουδάκης Δρ. Α. Γαλάνη

Κεφάλαιο 3. Διδακτικοί Στόχοι

ΕΓΧΕΙΡΙ ΙΟ ΧΡΗΣΗΣ MODULE: ΘΕΣΕΙΣ ΕΡΓΑΣΙΑΣ

Ενότητες 3 & 4: Δένδρα, Σύνολα & Λεξικά Ασκήσεις και Λύσεις

Βασικές δοµές δεδοµένων. Ορολογία λιστών. 8.1 Βασικές έννοιες δοµών δεδοµένων 8.2 Υλοποίηση δοµών δεδοµένων 8.3 Μια σύντοµη υπόθεση εργασίας

Συχνές ερωτήσεις - απαντήσεις για τη χρήση του λογισµικού

Βάσεις Δεδομένων. Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα

ΑΣΚΗΣΗ 1.1. ωστε παραδειγµατα απαιτησεων εµπιστευτικοτητας, ακεραιοτητας και διαθεσιµοτητας που υπαρχουν στο συγκεκριµενο συστηµα.

ΕΡΓΑΣΙΑ. (στο µάθηµα: Τεχνολογίες Εφαρµογών ιαδικτύου του Η εξαµήνου σπουδών του Τµήµατος Πληροφορικής & Τηλ/νιών)

Το Πρόβληµα Οµοφωνίας Σύγχρονα Συστήµατα Μεταβίβασης Μηνύµατος Μοντέλο Κατάρρευσης (crash model) Οι διεργασίες µπορούν να σταµατούν να εκτελούνται σε

ΣΥΣΚΕΥΕΣ ΑΠΟΘΗΚΕΥΣΗΣ (ΜΝΗΜΗ)

Γενική οργάνωση υπολογιστή «ΑΒΑΚΑ»

Τμήμα Χρηματοοικονομικής & Ελεγκτικής ΤΕΙ Ηπείρου Παράρτημα Πρέβεζας. Πληροφορική Ι. Μάθημα 4 ο Πράξεις με bits. Δρ.

ΗΛΕΚΤΡΟΝΙΚΗ ΥΠΗΡΕΣΙΑ ΑΠΟΚΤΗΣΗΣ ΑΚΑΔΗΜΑΪΚΗΣ ΤΑΥΤΟΤΗΤΑΣ

Αλγόριθμοι και Δομές Δεδομένων (IΙ) (γράφοι και δένδρα)

ENOTHTA 9 AΣΦAΛEIA KAI ΠPOΣTAΣIA

Μελέτη περίπτωσης συστήµατος διαχείρισης οπτικοακουστικού περιεχοµένου δηµιουργηµένου από χρήστες Flickr

Λειτουργικά Συστήματα (Λ/Σ)

Πνευµατικά ικαιώµατα 2002 Ίδρυµα ECDL 1

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι. Λειτουργικά Συστήματα Ι ΔΙΑΧΕΙΡΙΣΗ ΜΝΗΜΗΣ. Επ. Καθ. Κ. Λαμπρινουδάκης

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ

Unix: Εντολές, οργάνωση και χειρισµός αρχείων, διεργασίες

EUROPEAN COMPUTER DRIVING LICENCE

Βάσεις εδοµένων. Βασίλειος Βεσκούκης, Εµµ. Στεφανάκης ΜΟΝΤΕΛΟΠΟΙΗΣΗ Ε ΟΜΕΝΩΝ, ΚΛΑΣΙΚΑ ΜΟΝΤΕΛΑ Ε ΟΜΕΝΩΝ

ιεργασίες και Επεξεργαστές στα Κατανεµηµένων Συστηµάτων

ΔΙΑΧΕΙΡΙΣΗ ΜΝΗΜΗΣ. Λειτουργικά Συστήματα Ι. Διδάσκων: Καθ. Κ. Λαμπρινουδάκης ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι

Ενότητα 3 - Θέματα Εφαρμοσμένης Επιστήμης Υπολογιστών. Κοντογιάννης Βασίλειος ΠΕ19

Εργαστήριο «Τεχνολογία Πολιτισμικού Λογισμικού» Ενότητα. Σχεδίαση Βάσεων Δεδομένων

Εισαγωγή στις βάσεις δεδομένων - Η ανατομία μιας βάσης δεδομένων

e-κπαίδευση Πλατφόρµα Ασύγχρονης Τηλε-κπαίδευσης Οδηγίες χρήσης για τους σπουδαστές του ΤΕΙ Αθήνας και τους επισκέπτες της δικτυακής πύλης e-κπαίδευση

Λίγα λόγια από το συγγραφέα...7

Βάσεις εδοµένων. Βασίλειος Βεσκούκης, Εµµ. Στεφανάκης ΣΥΣΤΗΜΑΤΑ ΙΑΧΕΙΡΙΣΗΣ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ

Διαδικτυακό Περιβάλλον Διαχείρισης Ασκήσεων Προγραμματισμού

ENOTHTA 8 IAXEIPIΣH KAI ΣYΣTHMATA APXEIΩN

Κεφάλαιο 4 Σύνδεση Μικροεπεξεργαστών και Μικροελεγκτών ΕΡΩΤΗΣΕΙΣ ΑΣΚΗΣΕΙΣ

Certified Data Base Designer (CDBD)

Ενότητα. Σχεδίαση Βάσεων Δεδομένων

Εργαστήριο «Τεχνολογία Πολιτισμικού Λογισμικού» Ενότητα. Επεξεργασία πινάκων

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

ΕΙΣΑΓΩΓΗ ΣΤΙΣ Β ΣΕ Ε Σ Ι ΟΜΕΝ

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

Εισαγωγή στην C. Μορφή Προγράµµατος σε γλώσσα C

ΛΟΓΙΣΜΙΚΟ (software)

1 Παραστατικών Πωλήσεων

Πανεπιστήμιο Θεσσαλίας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων

1. Πότε χρησιμοποιούμε την δομή επανάληψης; Ποιες είναι οι διάφορες εντολές (μορφές) της;

Αδιέξοδα (Deadlocks)

Εργαστήριο Ασφάλεια Πληροφοριακών Συστημάτων. PGP (Pretty Good Privacy)

ΗΜΟΚΡΙΤΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΡΑΚΗΣ ΥΠΕΥΘΥΝΟΣ ΈΡΓΟΥ AΝ.KΑΘ.Χ. ΚΟΥΚΟΥΡΛΗΣ ΤΗΛ: , FAX :

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

Επισκόπηση Μαθήµατος

Σε αυτό το µάθηµα θα ασχοληθούµε µε τη βελτίωση της εµφάνισης ενός ιστοτόπου, αλλά και τον εύκολο χειρισµό όλων των αλλαγών στην εµφάνιση της σελίδας

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ. Συστήματα Αρχείων. Διδάσκoντες: Καθ. Κ. Λαμπρινουδάκης Δρ. Α. Γαλάνη

Transcript:

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ ΙΙ - UNIX Μάθηµα: Λειτουργικά Συστήµατα ΙΙ UNIX Μηχανισµοί Ελέγχου Προσπέλασης ιδάσκων: Αναπλ.Καθ. Κ. Λαµπρινουδάκης clam@unipi.gr Λειτουργικά Συστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 1 Περίληψη Περιεχόµενα 1(3) εδοµένης της ανάγκης προστασίας των ψηφιακών δεδοµένων από µη εξουσιοδοτηµένους χρήστες είναι απαραίτητη κάποια γλώσσα έκφρασης της επιθυµητής πολιτικής ελέγχου προσπέλασηςτωνυπολογιστικώνπόρων, καθώς και συγκεκριµένων µηχανισµών για την εφαρµογή και παρακολούθηση της πολιτικής αυτής. Αρχικά περιγράφονται τα βασικά χαρακτηριστικά της έννοιας του Ελέγχου Προσπέλασης καθώς και η συσχέτιση του όρου µε την προστασία ενός υπολογιστικού συστήµατος. Λειτουργικά Συστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 2 1

Περίληψη Περιεχόµενα 2(3) Στη συνέχεια παρουσιάζεται η βασική εννοιολογική θεµελίωση των όρων που έχουν καθιερωθεί για την περιγραφή των µηχανισµών ελέγχου προσπέλασης. Η ενότητα Λειτουργίες Προσπέλασης επικεντρώνεται στην περιγραφή των λειτουργιών που υποστηρίζουν τα διάφορα υπολογιστικά συστήµατα για την προσπέλαση των πόρων τους, µε έµφαση στις σηµαντικές διαφοροποιήσεις που προκύπτουν στις επιµέρους υλοποιήσεις τους σε διαφορετικά συστήµατα Λειτουργικά Συστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 3 Περίληψη Περιεχόµενα 3(3) Ακολουθεί η περιγραφή των πλέον διαδεδοµένων µηχανισµών ελέγχου προσπέλασης και συγκεκριµένα του µοντέλου του Πίνακα Ελέγχου Προσπέλασης, των Λιστών Ελέγχου ικαιωµάτων Προσπέλασης και των Λιστών ικαιωµάτων. Η παρουσίαση ολοκληρώνεται µε συνοπτικά συµπεράσµατα ανακεφαλαίωσης Λειτουργικά Συστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 4 2

Εισαγωγή 1(3) Ο όρος Έλεγχος Προσπέλασης αφορά τους συγκεκριµένους µηχανισµούς που υλοποιεί κάποιο υπολογιστικό σύστηµα, µε σκοπό να προστατεύσει από µη εξουσιοδοτηµένη προσπέλαση τα δεδοµένα εκείνα, τα οποία επηρεάζουν την ασφάλεια του συστήµατος και είναι αποθηκευµένα στη µνήµη, στους καταχωρητές ή σε οποιοδήποτε άλλο τµήµα του. Με τον τρόπο αυτό τα υπολογιστικά συστήµατα προσπαθούν να προστατεύσουν τόσο την ακεραιότητα όσο και την εµπιστευτικότητα των δεδοµένων που ανακτούν, αποθηκεύουν ή γενικότερα επεξεργάζονται. Λειτουργικά Συστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 5 Εισαγωγή 2(3) Οι µηχανισµοί ελέγχου προσπέλασης είναι άµεσα εξαρτηµένοι από τις συγκεκριµένες λειτουργίες προσπέλασης που υποστηρίζουν τα λειτουργικά συστήµατα. Τα παραδοσιακά λειτουργικά συστήµατα που υποστηρίζουν πολλούς ταυτόχρονους χρήστες προσφέρουν διαφορετικούς γενικούς τρόπους προσπέλασης των διαθέσιµων πόρων, που όµως είναι κοινοί για όλες τις κατηγορίες χρηστών και ανεξάρτητοι του τύπου των δεδοµένων. Λειτουργικά Συστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 6 3

Εισαγωγή 3(3) Τα σύγχρονα λειτουργικά συστήµατα ακολουθούν ένα διαφορετικό µοντέλο καθώς προσφέρουν λειτουργίες προσπέλασης που είναι προσανατολισµένες στις συγκεκριµένες ανάγκες κάθε ανεξάρτητου χρήστη. Λειτουργικά Συστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 7 Εννοιολογική Θεµελίωση 1(5) Ο όρος προσπέλαση υποδηλώνει ότι υπάρχει κάποιο υποκείµενο που προσπαθεί να προσπελάσει κάποιο αντικείµενο αξιοποιώντας κάποια λειτουργία προσπέλασης που προσφέρει το υπολογιστικό σύστηµα. Υποκείµενο Αίτηση Προσπέλασης Ελεγκτής Αιτήσεων Αντικείµενο Λειτουργικά Συστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 8 4

Εννοιολογική Θεµελίωση 2(5) Ο όρος υποκείµενο αντιπροσωπεύει τους χρήστες και τις διεργασίες ενός συστήµατος. Ο όρος αντικείµενο αντιπροσωπεύει τα αρχεία και άλλους υπολογιστικούς πόρους όπως µνήµη, εκτυπωτές κ.λπ. Κάθε οντότητα του υπολογιστικού συστήµατος δεν εντάσσεται αποκλειστικά σε µια από τις παραπάνω κατηγορίες, καθώς ανάλογα µε τις εκτελούµενες λειτουργίες µπορεί να δρα ως υποκείµενο (ενεργή οντότητα) αιτείται προσπέλασης σε κάποιον πόρο ή ως αντικείµενο(παθητική οντότητα). Λειτουργικά Συστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 9 Εννοιολογική Θεµελίωση 3(5) Συνεπώς είναι δυνατόν να προσδιοριστούν: Οι ενέργειες που επιτρέπεται να εκτελέσει κάποιο υποκείµενο Οι ενέργειες που επιτρέπεται να εκτελεστούν σε κάποιο αντικείµενο Στις ενότητες που ακολουθούν θα αναφερθούµε σε: Ένα σύνολο υποκειµένων S (χρήστες, διεργασίες) Ένα σύνολο αντικειµένων O που σχετίζονται µε την κατάσταση προστασίας του συστήµατος Ένα σύνολο λειτουργιών προσπέλασης Α Λειτουργικά Συστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 10 5

Εννοιολογική Θεµελίωση 4(5) Ο ιδιοκτήτης ενός αντικειµένου έχει τη δυνατότητα να τροποποιείταδικάτουδικαιώµατακαιναεκχωρείήνα ανακαλεί δικαιώµατα προσπέλασης σε/από άλλα υποκείµενα. Ο διαχειριστής ενός συστήµατος θα µπορούσε να θεωρηθεί ως ιδιοκτήτης όλων των αντικειµένων, καθώς µπορεί να τα προσπελάσει ανεξάρτητα από τα δικαιώµατα που του έχουν εκχωρηθεί από τους ιδιοκτήτες. Εξασθένιση Προνοµίων: Ένα υποκείµενο δε θα πρέπει να διαθέτειδυνατότηταεκχώρησης, σεάλλουποκείµενο, δικαιωµάτων που δεν κατέχει Λειτουργικά Συστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 11 Εννοιολογική Θεµελίωση 5(5) Ο καθορισµός και ο έλεγχος των τρόπων εκχώρησης δικαιωµάτων προσπέλασης, καθώς και των τρόπων που τα υποκείµεναµπορούνναπροσπελάσουνκάποιααντικείµενα, υλοποιείται µέσω της πολιτικής ασφάλειας. Ποιος είναι υπεύθυνος για τον καθορισµό της πολιτικής ασφάλειας? Οι Ιδιοκτήτες των υπολογιστικών πόρων (Πολιτική ιακριτικού Ελέγχου Προσπέλασης) Κεντρική απόφαση σε επίπεδο συστήµατος (Πολιτική Υποχρεωτικού Ελέγχου Προσπέλασης) Λειτουργικά Συστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 12 6

Λειτουργίες Προσπέλασης Κάθε υπολογιστικό σύστηµα υποστηρίζει συγκεκριµένες λειτουργίες για την προσπέλαση των πόρων του, όπως: Λειτουργίες ανάγνωσης/εγγραφής της µνήµης Κλήσεις µεθόδων σε αντικειµενοστραφή συστήµατα κ.λπ. Οι διαφοροποιήσεις των λειτουργιών προσπέλασης µεταξύ υπολογιστικών συστηµάτων είναι σηµαντικές. Υπάρχουν περιπτώσεις λειτουργιών που σε εξωτερικούς παρατηρητές εµφανίζονται ταυτόσηµες, ενώ στη πράξη υλοποιούνται διαφορετικά σε κάθε υπολογιστικό σύστηµα Λειτουργικά Συστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 13 Λειτουργίες Προσπέλασης Τρόποι Προσπέλασης Σε βασικό επίπεδο, ένα υποκείµενο µπορεί να παρατηρήσει ή να τροποποιήσει κάποιο αντικείµενο. Ορίζονται λοιπόν δύο τρόποι προσπέλασης: Παρατήρηση: Ανάγνωση των περιεχοµένων του αντικειµένου Τροποποίηση: Τροποποίηση των περιεχοµένων του αντικειµένου Αν και η πλειονότητα των πολιτικών ελέγχου προσπέλασης θα µπορούσαν να εκφραστούν µέσω των δύο αυτών τρόπων προσπέλασης, το πρόβληµα είναι ότι η περιγραφή µιας τέτοιας πολιτικής είναι εξαιρετικά δύσκολο να συσχετιστεί µε τις εφαρµογές στις οποίες αναφέρεται. Προκύπτει λοιπόν η ανάγκη για ένα ευρύτερο φάσµα λειτουργιών προσπέλασης Λειτουργικά Συστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 14 7

Λειτουργίες Προσπέλασης ικαιώµατα Προσπέλασης του µοντέλου Bell-LaPadula Σε επόµενο επίπεδο πολυπλοκότητας κατατάσσονται τα δικαιώµατα προσπέλασης του Bell-LaPadula µοντέλου ασφαλείας που είναι: Εκτέλεση Ανάγνωση Προσθήκη Εγγραφή Η συσχέτισή τους µε τους δύο βασικούς τρόπους προσπέλασης είναι: Εκτέλεση Προσθήκη Ανάγνωση Εγγραφή Παρατήρηση Χ Χ Τροποποίηση Χ Χ Λειτουργικά Συστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 15 Λειτουργίες Προσπέλασης Χαρακτηριστικά Προσπέλασης του ΛΣ Multics 1(2) Το λειτουργικό σύστηµα Multics διαφοροποιεί τα χαρακτηριστικά προσπέλασης για τα τµήµατα δεδοµένων και τους καταλόγους. Συγκεκριµένα, για τα τµήµατα δεδοµένων ορίζονται τα: Ανάγνωση Εγγραφή Εκτέλεση ενώ για τους καταλόγους τα: Κατάσταση Προσθήκη Εύρεση Αλλαγή Λειτουργικά Συστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 16 8

Λειτουργίες Προσπέλασης Χαρακτηριστικά Προσπέλασης του ΛΣ Multics 2(2) Η συσχέτιση των χαρακτηριστικών προσπέλασης του λειτουργικού συστήµατος Multics µε τα δικαιώµατα προσπέλασης του µοντέλου Bell-LaPadula παρουσιάζεται στον παρακάτω πίνακα Multics Bell-LaPadula Multics Bell-LaPadula Τµήµατα εδοµένων Κατάλογοι Ανάγνωση Ανάγνωση Κατάσταση Ανάγνωση Εκτέλεση Εκτέλεση, Κατάσταση, Εγγραφή Ανάγνωση Αλλαγή Ανάγνωση, Εγγραφή Προσθήκη Προσθήκη Εγγραφή Εγγραφή Προσθήκη Εύρεση Εκτέλεση Λειτουργικά Συστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 17 Λειτουργίες Προσπέλασης Λειτουργικό Σύστηµα UNIX 1(2) Ένα τυπικό παράδειγµα είναι ο µηχανισµός ελέγχου προσπέλασης του ΛΣ UNIX που υποστηρίζει τρεις λειτουργίες προσπέλασης: Ανάγνωση: Ανάγνωση από κάποιο αρχείο Εγγραφή: Εγγραφή σε κάποιο αρχείο Εκτέλεση: Εκτέλεση ενός προγράµµατος αρχείου Οι προαναφερόµενες λειτουργίες διαφέρουν από αυτές που ορίζειτοµοντέλο Bell-LaPadula. Γιαπαράδειγµα, στο Unix η λειτουργία εγγραφής δε σηµαίνει ότι αυτοµάτως κάποιος αποκτά και δικαίωµα ανάγνωσης του αντικειµένου. Λειτουργικά Συστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 18 9

Λειτουργίες Προσπέλασης Λειτουργικό Σύστηµα UNIX 2(2) Όταν οι λειτουργίες προσπέλασης αναφέρονται σε καταλόγους, τότε το νόηµα τους διαφοροποιείται: Ανάγνωση: Ανάγνωση των περιεχοµένων του καταλόγου Εγγραφή: ηµιουργία νέου αρχείου ή µετονοµασία ενός υπάρχοντος αρχείου στον κατάλογο Εκτέλεση: Αναζήτηση στον κατάλογο Το UNIX δεν υποστηρίζει τη λειτουργία ιαγραφή, καθώς την υλοποιεί µέσω της λειτουργίας Εγγραφή στον κατάλογο Λειτουργικά Συστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 19 Λειτουργίες Προσπέλασης Λειτουργικό Σύστηµα Windows NT 1(2) Το λειτουργικό σύστηµα Windows NT για την υλοποίηση µηχανισµών ελέγχου προσπέλασης αξιοποιεί τις παρακάτω Άδειες Προσπέλασης: Ανάγνωση Εγγραφή Εκτέλεση ιαγραφή Αλλαγή Άδειας Προσπέλασης Αλλαγή Ιδιοκτησίας Το λειτουργικό σύστηµα υποστηρίζει νέες λειτουργίες για την αλλαγή των δικαιωµάτων προσπέλασης (Αλλαγή Άδειας Προσπέλασης και Αλλαγή Ιδιοκτησίας) Λειτουργικά Συστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 20 10

Λειτουργίες Προσπέλασης Λειτουργικό Σύστηµα Windows NT 2(2) Οι λειτουργίες για τη διαχείριση των δικαιωµάτων προσπέλασης ενός υποκειµένου, συνήθως ονοµάζονται: Εκχώρηση (Grant) και Ανάκληση (Revoke), όταν τα δικαιώµατα του υποκειµένου τροποποιούνται από κάποιον τρίτο Επιβολή (Assert) και Απάρνηση (Deny), όταν το ίδιο το υποκείµενο αλλάζει τα δικαιώµατά του Λειτουργικά Συστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 21 Πίνακας Ελέγχου Προσπέλασης 1(9) Τοµοντέλοτου Πίνακα Ελέγχου Προσπέλασης (Access Control Matrix Model) είναι το πλέον ακριβές για την περιγραφή µιας Κατάστασης Προστασίας ενός υπολογιστικούσυστήµατος. Συγκεκριµένα, προσδιορίζει τα δικαιώµατα κάθε υποκειµένου σε σχέση µε όλα τα αντικείµενα του συστήµατος. Το συγκεκριµένοµοντέλοπροτάθηκεαπότον B. Lampson και βελτιώθηκε από τους G. Graham και P. Denning. Λειτουργικά Συστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 22 11

Πίνακας Ελέγχου Προσπέλασης 2(9) Τα δικαιώµατα προσπέλασης απεικονίζονται µέσω ενός Πίνακα Μ = (M so ) s S, o O όπου M so Α Οόρος M so πουείναιυποσύνολοτουσυνόλουτωνλειτουργιών προσπέλασης Α που υποστηρίζονται από το σύστηµα, καθορίζει όλα τα δικαιώµατα - λειτουργίες προσπέλασης που το υποκείµενο s µπορεί να εκτελέσει στο αντικείµενο ο. Συνεπώς οι καταστάσεις προστασίας του εν λόγω συστήµατος αποδίδονται από την οµάδα (S, O, M) Λειτουργικά Συστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 23 Πίνακας Ελέγχου Προσπέλασης 3(9) Ο Πίνακας που ακολουθεί απεικονίζει την κατάσταση προστασίας για ένα σύστηµα µε µία διεργασία, ένα χρήστη Χ, δύοαρχείακαιένασύνολολειτουργιώνπροσπέλασης Α = {Ανάγνωση, Εγγραφή, Εκτέλεση, Προσθήκη}. Αρχείο 1 Αρχείο 2 ιεργασία Χρήστης Χ ιεργασία Ανάγνωση Ανάγνωση Ανάγνωση - Εγγραφή - Ανάγνωση Εγγραφή Εκτέλεση Χρήστης Χ Προσθήκη Ανάγνωση Εγγραφή Ανάγνωση - Εγγραφή - Εκτέλεση Λειτουργικά Συστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 24 12

Πίνακας Ελέγχου Προσπέλασης 4(9) Η διεργασία έχει δικαίωµα Ανάγνωσης και στα δύο αρχεία και Εγγραφής µόνο στο αρχείο 1. Ο χρήστης Χ έχει δικαίωµα Προσθήκης στο αρχείο 1 και Ανάγνωσης στο αρχείο 2. Επίσης η διεργασία έχει δικαίωµα επικοινωνίας και συγκεκριµένα Ανάγνωσης δεδοµένων από το χρήστη Χ, ενώ ο χρήστης Χ µπορεί ναεπικοινωνήσειµετηδιεργασία Εγγράφονταςδεδοµένα. Ενδιαφέρον παρουσιάζει το γεγονός ότι η διεργασία και ο χρήστης Χ αντιµετωπίζονται τόσο ως υποκείµενα (γραµµές του πίνακα) όσο και ως αντικείµενα (στήλες του πίνακα). Λειτουργικά Συστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 25 Πίνακας Ελέγχου Προσπέλασης 5(9) Το ακριβές νόηµα των λειτουργιών προσπέλασης - δικαιωµάτων που απαντώνται σε έναν Πίνακα Ελέγχου Προσπέλασης, εξαρτάται από τον τρόπο υλοποίησής τους από το συγκεκριµένο σύστηµα στο οποίο αναφέρονται. Συνεπώς ο Πίνακας Ελέγχου Προσπέλασης αποτελεί ένα αφηρηµένο µοντέλο της κατάστασης προστασίας κάποιου συστήµατος, το οποίο αποκτά πρακτική σηµασία µόνον αν µελετηθεί αναφορικά µε κάποιο συγκεκριµένο υπολογιστικό σύστηµα, για το οποίο είναι γνωστοί και λεπτοµερώς καταγεγραµµένοι οι τρόποι υλοποίησης των υποστηριζόµενων λειτουργιών προσπέλασης. Λειτουργικά Συστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 26 13

Πίνακας Ελέγχου Προσπέλασης 6(9) Τα αντικείµενα που εµφανίζονται σε έναν Πίνακα Ελέγχου Προσπέλασηςείναι, συνήθως, αρχείακαιδιεργασίες. Παρόλα αυτά, θα µπορούσαν χωρίς κανένα πρόβληµα να είναι και µηνύµατα που ανταλλάσσουν κάποιες διεργασίες µεταξύ τους, ή ακόµηκαιυπολογιστικάσυστήµατα. Ακολουθεί ένα παράδειγµα ενός Πίνακα Ελέγχου Προσπέλασης για τρία συστήµατα ενός τοπικού δικτύου. Το σύνολο των λειτουργιών προσπέλασης, Α, αφορά το πρωτόκολλο επικοινωνίας που χρησιµοποιείται στο τοπικό δίκτυο και περιλαµβάνει τις λειτουργίες: ftp (δυνατότητα προσπέλασης του συστήµατος χρησιµοποιώντας το πρωτόκολλο ftp), nfs (δυνατότητα προσπέλασης του συστήµατος χρησιµοποιώντας το πρωτόκολλο nfs) και mail (δυνατότητα αποστολής και λήψης ηλεκτρονικών µηνυµάτωνχρησιµοποιώνταςτοπρωτόκολλο SMTP). Λειτουργικά Συστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 27 Πίνακας Ελέγχου Προσπέλασης 7(9) Κόµβος 1 Κόµβος 2 Κόµβος 3 Κόµβος 1 ftp ftp Κόµβος 2 ftp, nfs, mail ftp, nfs, mail Κόµβος 3 ftp, mail ftp, nfs, mail Το υποκείµενο Κόµβος 1 είναι ένα υπολογιστικό σύστηµα, το οποίο δενείναιπροσπελάσιµοαπόάλλασυστήµατατουτοπικούδικτύου, ενώ εκείνο µπορεί να προσπελάσει τα συστήµατα Κόµβος 2και Κόµβος 3 µέσω του πρωτοκόλλου ftp. Το σύστηµα Κόµβος 2 προσφέρει υπηρεσίες nfs σε κάποιους κόµβους του δικτύου που όµως δεν περιλαµβάνουν τον Κόµβο 1 και τον Κόµβο 3. Αντίστοιχα, ο Κόµβος 3 προσφέρει nfs υπηρεσίες σε κάποια οµάδα υπολογιστών στην οποία συµπεριλαµβάνεται και ο Κόµβος 2. Επίσης, τα συστήµατα Κόµβος 2 και Κόµβος 3 µπορούν να ανταλλάξουν ηλεκτρονικά µηνύµατα και να επικοινωνήσουν µέσω ftp. Λειτουργικά Συστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 28 14

Πίνακας Ελέγχου Προσπέλασης 8(9) Σε πιο χαµηλό επίπεδο, ο Πίνακας Ελέγχου Προσπέλασης µπορεί νααξιοποιηθείγιατη µοντελοποίηση γλωσσών προγραµµατισµού. Στη περίπτωση αυτή, ως αντικείµενα νοούνται οι µεταβλητές, ενώ ως υποκείµενα οι διάφορες ρουτίνες (procedures, functions και modules). Για παράδειγµα, ας θεωρήσουµε ένα πρόγραµµα το οποίο περιλαµβάνει δύο συναρτήσεις shift-left leftκαι shift-right rightγιατην αριστερή και δεξιά ολίσθηση, αντιστοίχως, των περιεχοµένων µιας τοπικής µεταβλητής του προγράµµατος. Επίσης υποθέτουµε ότι υπάρχει µία τρίτη ρουτίνα shift-variable variable, από την οποία γίνονται οι κλήσεις των shift-left leftκαι shift-right και ότι το σύνολο των λειτουργιώνπροσπέλασηςείναι A = { <, >, κλήση} όπου <και > αναπαριστούν το δικαίωµα εκτέλεσης αριστερής και δεξιάς ολίσθησης αντιστοίχως και κλήση το δικαίωµα κλήσης κάποιας συνάρτησης Λειτουργικά Συστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 29 Πίνακας Ελέγχου Προσπέλασης 9(9) Ο Πίνακας Ελέγχου Προσπέλασης για το προαναφερόµενο παράδειγµα ακολουθεί: Τοπική Μεταβλητή Shift-left Shift-Right Shift-left < Shift-Right > Shift-variable κλήση κλήση Λειτουργικά Συστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 30 15

Μηχανισµοί Ελέγχου Προσπέλασης 1(2) Το µοντέλο του Πίνακα Ελέγχου Προσπέλασης παρουσιάζει διάφορα πρακτικά προβλήµατα στην υλοποίησή του: Ο αριθµός των υποκειµένων και αντικειµένων ενός τυπικού συστήµατος είναι ιδιαίτερα αυξηµένος, µε αποτέλεσµα ο χώρος που απαιτείται για την αποθήκευση του Πίνακα Ελέγχου Προσπέλασηςναείναιιδιαίτεραµεγάλος. Ταπερισσότεραστοιχείατουπίνακαείναιείτεκενά, υποδηλώνοντας απαγόρευση προσπέλασης, είτε όµοια, ως αποτέλεσµα των αρχικών προκαθορισµένων ρυθµίσεων του συστήµατος. Η δηµιουργία νέων ή η διαγραφή υπαρχόντων υποκειµένων και αντικειµένων, δηλαδή η µεταβλητότητα των συνόλων S και O, αυξάνει σηµαντικά την πολυπλοκότητα διαχείρισης του πίνακα και του απαιτούµενου αποθηκευτικού χώρου. Λειτουργικά Συστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 31 Μηχανισµοί Ελέγχου Προσπέλασης 2(2) Παρόλα τα προβλήµατα, η πλειονότητα των µηχανισµών ελέγχου προσπέλασης που εφαρµόζονται σήµερα αξιοποιούν βελτιστοποιηµένες εκδόσεις του µοντέλου του Πίνακα Ελέγχου Προσπέλασης, προσπαθώντας να καρπωθούν των πλεονεκτηµάτων του, εξαλείφοντας ταυτόχρονα όποια πρακτικά προβλήµατα παρουσιάζει. Λειτουργικά Συστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 32 16

Λίστες Ελέγχου ικαιωµάτων Προσπέλασης 1(5) Η Λίστα Ελέγχου ικαιωµάτων Προσπέλασης (Access Control List acl) αποθηκεύει τα δικαιώµατα προσπέλασης σε κάποιο αντικείµενο µαζίµετοίδιοτοαντικείµενο. Μία Λίστα Ελέγχου ικαιωµάτων Προσπέλασης αντιστοιχεί µε µία στήλη του Πίνακα Ελέγχου Προσπέλασης και εµπεριέχει πληροφορίες σχετικά µε το ποιος µπορεί να προσπελάσει κάποιο συγκεκριµένοαντικείµενο. Κάθε αντικείµενο του συστήµατος συσχετίζεται µε µία οµάδα από ζεύγη, κάθε ζεύγους αποτελούµενου από ένα υποκείµενο και ένα σύνολο λειτουργιών - δικαιωµάτων προσπέλασης. Το συγκεκριµένο υποκείµενο έχει τη δυνατότητα να προσπελάσει το συσχετιζόµενο αντικείµενο µε οποιεσδήποτε από τις αναφερόµενες λειτουργίες προσπέλασης Λειτουργικά Συστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 33 Λίστες Ελέγχου ικαιωµάτων Προσπέλασης 2(5) Η Λίστα Ελέγχου ικαιωµάτων Προσπέλασης (acl), l, ορίζεται ως: l = {(s, a) : s S, a A } όπου S το σύνολο των υποκειµένων του συστήµατος και A το σύνολο των υποστηριζόµενων λειτουργιών προσπέλασης - δικαιωµάτων. Ανυποθέσουµεότιη acl είναι µία συνάρτηση που συνθέτει τη Λίστα Ελέγχου ικαιωµάτων Προσπέλασης l κάποιου συγκεκριµένου αντικειµένου o, η παράσταση acl (o) = { (s i, a i ) : 1 i n } σηµαίνειότιτουποκείµενο s i µπορείναπροσπελάσειτοαντικείµενο o αξιοποιώντας οποιαδήποτε λειτουργία προσπέλασης - δικαίωµα αποτελείµέλοςτουσυνόλου a i. Λειτουργικά Συστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 34 17

Λίστες Ελέγχου ικαιωµάτων Προσπέλασης 3(5) Οι Λίστες Ελέγχου ικαιωµάτων για τα αντικείµενα του παραδείγµατος του Πίνακα Ελέγχου Προσπέλασης που είχαµε δει, θαήταν: acl (Αρχείο 1) = { ( ιεργασία, {Ανάγνωση, Εγγραφή}), (Χρήστης Χ, {Προσθήκη}) } acl (Αρχείο 2) = { ( ιεργασία, {Ανάγνωση}), (Χρήστης Χ, {Ανάγνωση}) } acl ( ιεργασία ) = { ( ιεργασία, {Ανάγνωση, Εγγραφή, Εκτέλεση}), (Χρήστης Χ, {Εγγραφή}) } acl (Χρήστης Χ) = { ( ιεργασία, {Ανάγνωση}), (Χρήστης Χ, { Ανάγνωση, Εγγραφή, Εκτέλεση }) } Λειτουργικά Συστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 35 Λίστες Ελέγχου ικαιωµάτων Προσπέλασης 4(5) Λαµβάνοντας υπόψη ότι ένα σύστηµα έχει µεγάλο αριθµό υποκειµένων, κάποιος θα µπορούσε να ισχυριστεί ότι η λίστα ελέγχου δικαιωµάτων προσπέλασης καθίσταται πρακτικά µη αξιοποιήσιµη. Αυτό που συµβαίνει στην πράξη, είναι ότι πολλά υποκείµενα έχουν ακριβώς τα ίδια δικαιώµατα προσπέλασης αναφορικά µε κάποιο συγκεκριµένο αντικείµενο, εισάγοντας την έννοια των εξ ορισµού δικαιωµάτων προσπέλασης. Σε συνδυασµό µε το γεγονός ότι αν κάποιο υποκείµενο δεν αναφέρεται στη λίστα δεν έχει δικαιώµατα προσπέλασης στο συγκεκριµένο αντικείµενο, µπορούν να οριστούν wildcards για την αντιπροσώπευση όλων των υποκειµένων που δεν αναφέρονται ονοµαστικά στη λίστα και τον καθορισµό εξ ορισµού δικαιωµάτων προσπέλασης. Λειτουργικά Συστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 36 18

Λίστες Ελέγχου ικαιωµάτων Προσπέλασης 5(5) Για παράδειγµα η λίστα acl (Αντικείµενο 1) = {(Υπ1, {Ανάγνωση, Εγγραφή}), (Υπ2, {Ανάγνωση}), (Υπ3, {Ανάγνωση}),..., (Υπ30, {Ανάγνωση}) } αναφέρεται σε κάποιο σύστηµα µε τριάντα υποκείµενα, εκ των οποίων το υποκείµενο 1 (Υπ1) έχει δικαίωµα Ανάγνωσης και Εγγραφής στο Αντικείµενο 1, ενώταυποκείµενα 2 έωςκαι 30 (Υπ2,..., Υπ30 30) έχουν µόνο δικαίωµα Ανάγνωσης του Αντικειµένου 1. Χρησιµοποιώντας τα εξ ορισµού δικαιώµατα προσπέλασης η παραπάνω λίστα θα µπορούσε να γίνει: acl (Αντικείµενο 1) = {(Υπ1, {Ανάγνωση, Εγγραφή}), (*, {Ανάγνωση}) } όπου το * αντιπροσωπεύει όλα τα υπόλοιπα υποκείµενα του συστήµατος τα οποία δεν αναφέρονται ονοµαστικά στη λίστα. Λειτουργικά Συστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 37 Λίστες Ελέγχου ικαιωµάτων Προσπέλασης ηµιουργία και ιαχείριση 1(4) Υποκείµενα που µπορούν να τροποποιήσουν τη λίστα ενός αντικειµένου Όταν δηµιουργείται µία Λίστα Ελέγχου ικαιωµάτων Προσπέλασης, αρχικοποιείται ταυτόχρονα και το σύνολο των λειτουργιών προσπέλασης - δικαιωµάτων Α, που υποστηρίζει το συγκεκριµένο σύστηµα. Το ισχυρότερο δικαίωµα, µέλος του συνόλου Α, είναι αυτό της Ιδιοκτησίας. Όποιο υποκείµενο διαθέτει το δικαίωµα της Ιδιοκτησίας µπορεί να τροποποιήσει τη Λίστα Ελέγχου ικαιωµάτων Προσπέλασης του αντικειµένου. Συνήθως ο δηµιουργός ενός αντικείµενου θεωρείται ιδιοκτήτης του Υπάρχουν αρκετά συστήµατα που επιτρέπουν την τροποποίηση της λίστας ενός αντικειµένου από όλους όσους έχουν το δικαίωµα προσπέλασης στο αντικείµενο. Λειτουργικά Συστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 38 19

Λίστες Ελέγχου ικαιωµάτων Προσπέλασης ηµιουργία και ιαχείριση 2(4) Εφαρµογή της λίστας σε προνοµιούχους χρήστες Όλα τα συστήµατα υποστηρίζουν κάποιους χρήστες µε αυξηµένα προνόµιαπουσυνήθωςείναιυπεύθυνοιγιατηδιαχείρισήτους. Οι πιο γνωστοί είναι ο root του λειτουργικού συστήµατος UNIX καιοadministratorτουλειτουργικούσυστήµατος Windows NT. Η εφαρµογή της λίστας σε προνοµιούχους χρήστες αυτού του τύπου είναι περιορισµένη. Για παράδειγµα, ο administrator θα µπορέσει να προσπελάσει κάποιο αρχείο ακόµη και αν, σύµφωνα µε τη λίστα του συγκεκριµένου αντικειµένου αρχείου, το δικαίωµα Ανάγνωσης έχει εκχωρηθεί µόνο στον ιδιοκτήτη του αρχείου. Υπάρχουν περιπτώσεις που οι περιορισµοί προσπέλασης του αντικειµένου, όπωςπροκύπτουναπότησχετικήλίστα, εφαρµόζονται ακόµη και σε προνοµιούχους χρήστες Λειτουργικά Συστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 39 Λίστες Ελέγχου ικαιωµάτων Προσπέλασης ηµιουργία και ιαχείριση 3(4) Υποστήριξη Οµάδων Υποκειµένων και Wild Cards Με την αυστηρή έννοια του ορισµού της Λίστας Ελέγχου ικαιωµάτων Προσπέλασης δεν υποστηρίζονται ούτε οι Οµάδες Υποκειµένων (Groups) θα τις εξετάσουµε µε λεπτοµέρεια στη συνέχεια ούτε τα Wildcards. Στην πράξη, σχεδόν το σύνολο των υπολογιστικών συστηµάτων υποστηρίζουν είτε το ένα, είτε το άλλο, είτε κάποιο συνδυασµό τους. Οστόχοςείναιναδιατηρηθείτοµέγεθοςτηςλίσταςόσοτο δυνατόν µικρότερο και να απλοποιηθεί η διαχείρισή της. Λειτουργικά Συστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 40 20

Λίστες Ελέγχου ικαιωµάτων Προσπέλασης ηµιουργία και ιαχείριση 4(4) ιαχείριση Συγκρούσεων ικαιωµάτων Σύγκρουση δικαιωµάτων προκύπτει όταν δύο ή περισσότερες καταχωρίσεις στη Λίστα Ελέγχου ικαιωµάτων Προσπέλασης έχουν ως αποτέλεσµα την εκχώρηση διαφορετικών δικαιωµάτων στο ίδιο υποκείµενο. Συνήθως τα συστήµατα διαχειρίζονται συγκρούσεις δικαιωµάτων µε έναν από τους ακόλουθους τρόπους: Το υποκείµενο έχει δικαίωµα προσπέλασης στο αντικείµενο αν υπάρχει τουλάχιστον µία καταχώριση στη λίστα που εκχωρεί το δικαίωµααυτό. Το υποκείµενο δεν έχει δικαίωµα προσπέλασης στο αντικείµενο αν υπάρχει τουλάχιστον µία καταχώριση στη λίστα που απαγορεύει το δικαίωµα αυτό. Η δυνατότητα προσπέλασης του υποκειµένου στο αντικείµενο καθορίζεται από την πρώτη σχετική καταχώριση στη λίστα. Λειτουργικά Συστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 41 Λίστες Ελέγχου ικαιωµάτων Προσπέλασης Ανάκληση ικαιωµάτων Προσπέλασης 1(3) Η ανάκληση (revocation) των δικαιωµάτων προσπέλασης ενός υποκειµένου σε κάποιο αντικείµενο προϋποθέτει τη διαγραφή της σχετικής καταχώρισης, που εκχωρούσε τα δικαιώµατα στο εν λόγω υποκείµενο, από τη Λίστα Ελέγχου ικαιωµάτων Προσπέλασης του συγκεκριµένουαντικειµένου. Αν η ανάκληση αφορά µόνο συγκεκριµένα δικαιώµατα τότε αρκεί να διαγραφούν τα δικαιώµατα αυτά από την καταχώριση που αφορά το εν λόγω υποκείµενο. Η πολυπλοκότητα της ανάκλησης δικαιωµάτων έγκειται στο γεγονός ότι έχει αναδροµικό χαρακτήρα. Αυτό σηµαίνει ότι αν ανακληθούν κάποια δικαιώµατα από κάποιο υποκείµενο Α, θα πρέπει να ανακληθούν τα ίδια δικαιώµατα και από όλα τα υπόλοιπα υποκείµενα του συστήµατος στα οποία δευτερογενώς είχαν εκχωρηθεί τα συγκεκριµένα δικαιώµατα από το υποκείµενο Α. Λειτουργικά Συστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 42 21

Λίστες Ελέγχου ικαιωµάτων Προσπέλασης Ανάκληση ικαιωµάτων Προσπέλασης 2(3) Για παράδειγµα ας υποθέσουµε ότι τη χρονική στιγµή t = 0, 0 µόνονο Χρήστης 1 έχει δικαίωµα προσπέλασης (Ανάγνωση και Εγγραφή) στο Αρχείο. Στη συνέχεια εκχωρούνται, στους Χρήστες 2και 3, δικαιώµατα προσπέλασης στο ίδιο Αρχείο, ωςεξής: t = 5: Ο Χρήστης 1 εκχωρεί { Ανάγνωση, Εγγραφή} για το Αρχείο στο Χρήστη 3 t = 7: Ο Χρήστης 1 εκχωρεί { Εγγραφή} για το Αρχείο στο Χρήστη 2 t = 10: Ο Χρήστης 3 εκχωρεί { Ανάγνωση, Εγγραφή} για το Αρχείο στο Χρήστη 2 Τηχρονικήστιγµή t = 20, ο Χρήστης 1 αποφασίζει να ανακαλέσει τα δικαιώµατα που είχε εκχωρήσει στο Χρήστη 3. Επακόλουθο είναι και η ανάκληση των δικαιωµάτων που είχαν εκχωρηθεί στο Χρήστη 2 από το Χρήστη 3. Όπως όµως φαίνεται και στο Σχήµα που ακολουθεί, από το Χρήστη 2 ανακαλείται τελικά µόνο το δικαίωµα της Ανάγνωσης, καθώς αυτό της Εγγραφής του είχε εκχωρηθεί εκτός από το Χρήστη 3 και από το Χρήστη 1 και συνεπώς το διατηρεί. Λειτουργικά Συστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 43 Λίστες Ελέγχου ικαιωµάτων Προσπέλασης Ανάκληση ικαιωµάτων Προσπέλασης 3(3) Χρήστης 1 Χρήστης 1 {Ανάγνωση, Εγγραφή (t = 0) } {Ανάγνωση, Εγγραφή (t = 20) } Αρχείο Αρχείο Χρήστης 2 Χρήστης 3 Χρήστης 2 Χρήστης 3 Εκχώρηση από Χρήστη 1 σε χρόνο t = 7 {Εγγραφή (t = 7) } Εκχώρηση από Χρήστη 3 σε χρόνο t = 10 {Ανάγνωση, Εγγραφή (t = 10) } Εκχώρηση από Χρήστη 1 {Εγγραφή (t = 20) } σε χρόνο t = 5 {Ανάγνωση, Εγγραφή (t = 5) } { -- (t = 20) } Λειτουργικά Συστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 44 22

Λίστες υνατοτήτων 1(6) Η Λίστα υνατοτήτων (Capabilities) αποθηκεύει τα δικαιώµατα προσπέλασηςκάποιουυποκειµένου. Μία Λίστα υνατοτήτων αντιστοιχεί µε µία γραµµή του Πίνακα Ελέγχου Προσπέλασης και εµπεριέχει πληροφορίες σχετικά µε τα αντικείµενα, τα οποία µπορεί να προσπελάσει κάποιο συγκεκριµένο υποκείµενο. Κάθε υποκείµενο του συστήµατος συσχετίζεται µε µία οµάδα από ζεύγη, κάθε ζεύγους αποτελούµενου από ένα αντικείµενο και ένα σύνολο λειτουργιών προσπέλασης - δικαιωµάτων προσπέλασης. Το συσχετιζόµενο υποκείµενο έχει τη δυνατότητα να προσπελάσει το συγκεκριµένο αντικείµενο µε οποιαδήποτε από τις αναφερόµενες λειτουργίες προσπέλασης. Λειτουργικά Συστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 45 Λίστες υνατοτήτων 2(6) Η Λίστα υνατοτήτων, c, ορίζεται ως: c = { (o, a) : o O, a A } όπου Ο το σύνολο των αντικειµένων του συστήµατος και A το σύνολο των υποστηριζόµενων λειτουργιών προσπέλασης - δικαιωµάτων. Ανυποθέσουµεότιη cap είναι µία συνάρτηση που συνθέτει τη Λίστα υνατοτήτων c κάποιου συγκεκριµένου υποκειµένου s, η παράσταση cap (s) = { (o i, a i ) : 1 i n } σηµαίνει ότι το υποκείµενο s µπορεί να προσπελάσει το αντικείµενο o i αξιοποιώνταςοποιαδήποτελειτουργίαπροσπέλασης -δικαίωµα αποτελείµέλοςτουσυνόλου a. i Λειτουργικά Συστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 46 23

Λίστες υνατοτήτων 3(6) Οι υνατότητες για τα υποκείµενα του παραδείγµατος του Πίνακα Ελέγχου Προσπέλασης που είχαµε δει, θα ήταν: cap ( ιεργασία ) = { (Αρχείο 1, {Ανάγνωση, Εγγραφή }), (Αρχείο 2, {Ανάγνωση }), ( ιεργασία, {Ανάγνωση, Εγγραφή, Εκτέλεση }), (Χρήστης Χ, {Ανάγνωση}) } cap (Χρήστης Χ) = { (Αρχείο 1, {Προσθήκη }), (Αρχείο 2, {Ανάγνωση }), ( ιεργασία, { Εγγραφή }), (Χρήστης Χ, {Ανάγνωση, Εγγραφή, Εκτέλεση }) } Λειτουργικά Συστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 47 Λίστες υνατοτήτων 4(6) Οι δυνατότητες εµπεριέχουν την ταυτότητα των αντικειµένων. Όταν κάποια διεργασία παρουσιάζει στο λειτουργικό σύστηµα κάποια δυνατότητά της πρέπει µε κάποιο τρόπο να προσδιορίσει και το αντικείµενο το οποίο επιθυµεί να προσπελάσει. Για παράδειγµα, αν κάποιο υποκείµενο έχει δικαίωµα ανάγνωσης κάποιας µεταβλητής στη µνήµη του υπολογιστή, η διεύθυνση της θέσης µνήµης στην οποία είναι αποθηκευµένη η συγκεκριµένη µεταβλητή - αντικείµενο εµπεριέχεταιστη δυνατότητα. Ωςεκτούτουτολειτουργικόσύστηµα, µετά τη γνωστοποίηση κάποιας δυνατότητας, είναι σε θέση να ελέγξει τόσο το ίδιο το αντικείµενο, όσο και τα συγκεκριµένα δικαιώµατα προσπέλασης του υποκειµένου. Λειτουργικά Συστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 48 24

Λίστες υνατοτήτων 5(6) Μια σηµαντική διαφοροποίηση της αρχιτεκτονικής υλοποίησης µεταξύ της Λίστας Ελέγχου ικαιωµάτων Προσπέλασης και των υνατοτήτων είναι η παρακάτω: Η λίστα ελέγχου δικαιωµάτων προσπέλασης και η ταυτότητα κάποιας διεργασίας δε συσχετίζονται µε κανένα τρόπο και ως εκ τούτου τροποποιήσεις της λίστας από κάποια διεργασία είναι δυνατές µόνο µέσω των σχετικών υπηρεσιών του λειτουργικού συστήµατος και φυσικά µε την προϋπόθεση ότι η διεργασία έχει εξουσιοδότηση για κάτι τέτοιο. Στην περίπτωση των υνατοτήτων, υπάρχει κάποια στοιχειώδης συσχέτιση δυνατοτήτων διεργασιών: µία διεργασία πρέπει να έχει την ικανότητα να αναγνωρίσει τις δυνατότητές της ώστε να µπορεί να τις αξιοποιήσει Λειτουργικά Συστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 49 Λίστες υνατοτήτων 6(6) Έµµεσα, αυτό σηµαίνει ότι οι διεργασίες έχουν εξ ορισµού κάποιο βαθµόελέγχουτων δυνατοτήτων. Αν κάποια διεργασία καταφέρει να τροποποιήσει µε µη εξουσιοδοτηµένο τρόπο τις δυνατότητές της και στη συνέχεια να τις χρησιµοποιήσει, είναι σαφές ότι ο µηχανισµός ελέγχου προσπέλασης έχειαποτύχει. Είναι προφανές ότι οι δυνατότητες χρήζουν προστασίας µε σκοπό τη διατήρηση της ακεραιότητας των δεδοµένων τους. Λειτουργικά Συστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 50 25

Λίστες υνατοτήτων Υλοποίηση 1(3) Οι µηχανισµοί υλοποίησης και προστασίας των δυνατοτήτων είναι: οι ετικέτες (tags), η προστατευµένη µνήµη (protected memory) και η κρυπτογράφηση (cryptography). Η υλοποίηση που βασίζεται στις ετικέτες (tags) συσχετίζει µία οµάδα bits µε τις λέξεις µνήµης που χρησιµοποιούνται για την αποθήκευση των δυνατοτήτων. Το κάθε bit (ετικέτα) έχει δύο καταστάσεις: set και unset. Αν η ετικέτα βρίσκεται στην κατάσταση set, οιδιεργασίες µπορούν να προσπελάσουν - για ανάγνωση - τη λέξη µνήµης που έχει συσχετισθεί µε τη συγκεκριµένη ετικέτα, αλλά δεν µπορούν να τροποποιήσουν τα περιεχόµενά της. Αν η ετικέτα βρίσκεται στην κατάσταση unset, τότε οι διεργασίες µπορούν να προσπελάσουν τόσογιαανάγνωσηόσοκαιγιατροποποίησητησυγκεκριµένηλέξη. Οι διεργασίες δεν έχουν δικαίωµα αλλαγής της κατάστασης της ετικέτας, εκτός αν έχουν σχετική εξουσιοδότηση. Λειτουργικά Συστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 51 Λίστες υνατοτήτων Υλοποίηση 2(3) Μία πιο διαδεδοµένη τεχνική είναι η χρήση των bits προστασίας των σελίδων (pages) και τµηµάτων (segments) τηςµνήµης. Όλεςοι δυνατότητεςαποθηκεύονταισεµίασελίδαήσεένατµήµα, ανάλογα µε τον τρόπο διαχείρισης µνήµης του συστήµατος, όπου οι διεργασίεςέχουνδικαίωµαανάγνωσηςαλλάόχιτροποποίησης. Για την υλοποίηση της συγκεκριµένης τεχνικής δεν απαιτείται εξειδικευµένο υλικό, πέραν αυτού που αξιοποιείται για την υλοποίησητωνµηχανισµώνδιαχείρισηςµνήµης. Υπάρχει το µειονέκτηµα ότι τις περισσότερες φορές οι διεργασίες µπορούν να προσπελάσουν τις δυνατότητες µόνο έµµεσα (indirect access), δηλαδή µε χρήση δεικτών. Λειτουργικά Συστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 52 26

Λίστες υνατοτήτων Υλοποίηση 3(3) Η προστασία της ακεραιότητας των δυνατοτήτων µπορεί να εξασφαλιστείµεχρήση κρυπτογραφικών αθροισµάτων ελέγχου. Μαζί µε κάθε δυνατότητα αποθηκεύεται και ένα άθροισµα ελέγχου το οποίο έχει πρώτα κρυπτογραφηθεί από κάποιο κρυπτοσύστηµα, το κλειδίτουοποίουείναιγνωστόστολειτουργικόσύστηµα. Όταν κάποια διεργασία παρουσιάζει µία δυνατότητά της στο λειτουργικό σύστηµα, αυτό υπολογίζει το άθροισµα ελέγχου για τη συγκεκριµένη δυνατότητα. Στη συνέχεια, είτε κρυπτογραφεί το άθροισµα ελέγχου που υπολόγισε µε το κλειδί που γνωρίζει και συγκρίνει το αποτέλεσµα µε αυτό που ήταν αποθηκευµένο µε τη δυνατότητα, είτε αποκρυπτογραφεί το άθροισµα ελέγχου της δυνατότητάς και το συγκρίνει µε αυτό που υπολόγισε. Αν τα αθροίσµαταελέγχουταυτίζονται, η δυνατότηταγίνεταιαποδεκτή, διαφορετικά απορρίπτεται. Λειτουργικά Συστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 53 Λίστες υνατοτήτων Αντιγραφή και Ενίσχυση υνατοτήτων 1(7) Η αντιγραφή δυνατοτήτων είναι µία ενέργεια αντίστοιχη µε αυτή της εκχώρησηςδικαιωµάτων. Για να προληφθεί η ανεξέλεγκτη εκχώρηση δικαιωµάτων από κάποια διεργασία, κάθε δυνατότητα συσχετίζεται µε ένα ενδεικτικό bit αντιγραφής. Μία διεργασία µπορεί να αντιγράψει µία δυνατότητά της σε κάποια άλλη διεργασία µόνον αν το ενδεικτικό bit αντιγραφής είναι 1 (set). Σε περίπτωση που πραγµατοποιηθεί η αντιγραφή, η κατάσταση του ενδεικτικού bit αντιγραφής µπορεί να αλλαχθεί σε 0 (reset), είτε από τη διεργασία, είτε από το λειτουργικό σύστηµα, απαγορεύοντας έτσι στη διεργασία-παραλήπτη να αντιγράψει δευτερογενώς τη δυνατότητα που της εκχωρήθηκε σε κάποια άλλη διεργασία. Λειτουργικά Συστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 54 27

Λίστες υνατοτήτων Αντιγραφή και Ενίσχυση υνατοτήτων 2(7) Η ενίσχυση δυνατοτήτων αφορά περιπτώσεις αύξησης των δικαιωµάτων κάποιου υποκειµένου. Τις περισσότερες φορές η ενίσχυση των δυνατοτήτων είναι προσωρινή, έχοντας ως στόχο την ολοκλήρωσηκάποιαςσυγκεκριµένηςλειτουργίας. Για παράδειγµα ας θεωρήσουµε την παρακάτω κλάση: Class Integer { attributes: int i methods: setvalue(int n) Integer addvalue(integer j) } καιότισεκάποιοσηµείοτουπρογράµµατοςυπάρχουνοιεντολές: Λειτουργικά Συστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 55 Λίστες υνατοτήτων Αντιγραφή και Ενίσχυση υνατοτήτων 3(7) Integer i; i.setvalue(1); // i = 1 i.addvalue(10); // i = 1 + 10 // δηµιουργία ενός αντικειµένου i (στιγµιότυπο της κλάσης Integer) Το αντικείµενο i, µπορεί να προσπελασθεί µόνον από την κλάση Integer. Αν θεωρήσουµε τις δύο µεθόδους setvalue και addvalue ως δύο διεργασίες, αυτές δεν έχουν κανένα δικαίωµα προσπέλασης στο αντικείµενο i όσο είναι ανενεργές. Όταν όµως ενεργοποιηθούν (i.setvalue(1) και i.addvalue(10)), είναι απαραίτητο να αποκτήσουν δικαιώµατα Ανάγνωσης και Εγγραφής στο αντικείµενο i. Συνεπώς οι δυνατότητές τους πρέπει να ενισχυθούν προσωρινά, όσο διάστηµα είναι ενεργές, µε τα προαναφερόµενα δικαιώµατα. Λειτουργικά Συστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 56 28

Λίστες υνατοτήτων Αντιγραφή και Ενίσχυση υνατοτήτων 4(7) Ένα από τα βασικότερα προβλήµατα των δυνατοτήτων είναι ο έλεγχος αντιγραφής τους σε λίστες δυνατοτήτων τρίτων υποκειµένων. Αυτό φαίνεται στο σχήµα που ακολουθεί. Χρήστης 1 c1 = { (Αρχείο,{Ανάγνωση}) } Χρήστης 1 c1 = { (Αρχείο,{Ανάγνωση}), (Αρχείο, {Ανάγνωση, Εγγραφή}) } Αρχείο Αρχείο Χρήστης 2 Αν το c2 αποθηκευτεί από τον Χρήστη 2 στο Αρχείο, µπορεί ο Χρήστης 1 να αποκτησει δικαίωµα Εγγραφής c2 = { (Αρχείο, {Ανάγνωση, Εγγραφή}) } Χρήστης 2 c2 = { (Αρχείο, {Ανάγνωση, Εγγραφή}) } Λειτουργικά Συστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 57 Λίστες υνατοτήτων Ανάκληση ικαιωµάτων Προσπέλασης 1(2) Η ανάκληση δικαιωµάτων προσπέλασης σε κάποιο αντικείµενο προϋποθέτει ότι όλες οι δυνατότητες που εξασφαλίζουν σε κάποια υποκείµενα προσπέλαση στο συγκεκριµένο αντικείµενο πρέπει να ανακληθούν. Θεωρητικά ο µόνος τρόπος να επιτευχθεί κάτι τέτοιο είναι να ελεγχθούν οι Λίστες υνατοτήτων όλων των υποκειµένων του συστήµατος και να διαγραφούν οι σχετικές δυνατότητες. Καθώς το κόστος µιας τέτοιας διαδικασίας είναι εξαιρετικά υψηλό έχουν υιοθετηθεί εναλλακτικές τεχνικές. Λειτουργικά Συστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 58 29

Λίστες υνατοτήτων Ανάκληση ικαιωµάτων Προσπέλασης 2(2) Ηαπλούστερητεχνικήστηρίζεταιστηναρχήτης έµµεσης (indirect) αναφοράςτωναντικειµένωναπότις δυνατότητες. Συγκεκριµένα, δηµιουργείται ένας ή περισσότεροι καθολικοί (global) πίνακες αντικειµένων και κάθε αντικείµενο του συστήµατος συσχετίζεται µε µίακαταχώρισησεέναναπότουςπίνακεςαυτούς. Οιδυνατότητες, αντίνααναφέρονταιστοαντικείµενοάµεσα, αναφέρονται στις σχετικές καταχωρήσεις του καθολικού πίνακα αντικειµένων. Για την ανάκληση των δικαιωµάτων προσπέλασης σε κάποιο αντικείµενο, αρκεί να ακυρωθεί η σχετική καταχώριση στον πίνακα αντικειµένων. Λειτουργικά Συστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 59 Λίστες υνατοτήτων Σύγκριση µε τις Λίστες Ελέγχου ικαιωµάτων Προσπέλασης Τα βασικά ερωτήµατα στα οποία προσπαθούν να απαντήσουν οι µηχανισµοί ελέγχου προσπέλασης είναι: Ποια είναι τα αντικείµενα που µπορεί να προσπελάσει κάποιο συγκεκριµένο υποκείµενο και µε ποιο τρόπο; Ποια είναι τα υποκείµενα που µπορούν να προσπελάσουν κάποιο συγκεκριµένο αντικείµενο και µε ποιο τρόπο; Για την πρώτη περίπτωση οι Λίστες υνατοτήτων είναι οι καταλληλότερες (απαιτείται απλώς να ελεγχθούν οι καταχωρίσεις της Λίστας υνατοτήτων του συγκεκριµένου υποκειµένου) Για τη δεύτερη περίπτωση η απλούστερη λύση είναι οι Λίστες Ελέγχου ικαιωµάτων Προσπέλασης (απαιτείται απλώς να ελεγχθούν οι καταχωρίσεις της Λίστας Ελέγχου ικαιωµάτων Προσπέλασης του συγκεκριµένου αντικειµένου) Λειτουργικά Συστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 60 30

Οµάδες και Αρνητικά ικαιώµατα 1(2) Για την αντιµετώπιση της πολυπλοκότητας που δηµιουργεί ο πολύ µεγάλος αριθµός των Υποκειµένων ενός συστήµατος, αξιοποιούνται οι Οµάδες Υποκειµένων. Όλοι οι χρήστες που έχουν παρόµοια δικαιώµατα προσπέλασης στους πόρους ενός συστήµατος δηµιουργούν µία οµάδα και τα δικαιώµατα για προσπέλαση των αντικειµένων του συστήµατος εκχωρούνται πλέον στην οµάδα και όχι ανεξάρτητα σε κάθε χρήστη. Οιχρήστεςµπορείναέχουνδικαίωµασυµµετοχήςµόνοσεµίαήσε περισσότερες από µία οµάδες. Οι οµάδες µπορεί να αποτελέσουν ένα ενδιάµεσο επίπεδο ελέγχου µέσω του οποίου εκχωρούνται δικαιώµατα προσπέλασης στα αντικείµενα του συστήµατος Λειτουργικά Συστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 61 Οµάδες και Αρνητικά ικαιώµατα 2(2) Y1 Y2 Y3 Y4 Y5 Y1 Y2 Y3 Οµάδα 1 Οµάδα 2 Οµάδα 1 Α1 Α2 Α3 Α1 Α2 Α3 Ταυποκείµενα Y1, Y2, Y3 απαρτίζουν την Οµάδα 1, ενώ ταυποκείµεναυ3, Υ4, Υ5 την Οµάδα 2. ΤαΥ1, Υ2 έχουνδικαίωµα προσπέλασης στα αντικείµενα Α1 καια2, ταυ4, Υ5 σταα2 καια3, καιτου3 σεόλατα αντικείµενα (α) Λειτουργικά Συστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 62 (β) Στο µέλος κάποιας οµάδας µπορεί να γίνει απευθείας εκχώρηση κάποιου δικαιώµατος ή απευθείας αφαίρεση κάποιου δικαιώµατος που απέκτησε ως µέλος της οµάδας (Αρνητικό ικαίωµα). Το Υ3 έχει δικαίωµα προσπέλασης στο Α3, ενώ το Υ1 δεν έχει δικαίωµα προσπέλασης στο Α1 αν και είναι µέλος της Οµάδας 1. 31

Αξιοποίηση των Οµάδων στις Λίστες Ελέγχου ικαιωµάτων Προσπέλασης 1(5) Οι Οµάδες µπορούν να αξιοποιηθούν για την απλοποίηση της διαχείρισης στις Λίστες Ελέγχου ικαιωµάτων Προσπέλασης. Τυπικό παράδειγµα αποτελεί η χρήση τους στο µηχανισµό ελέγχου προσπέλασης στα αρχεία του συστήµατος, από το λειτουργικό σύστηµα UNIX. Το UNIX κατατάσσει όλους τους χρήστες στις παρακάτω κατηγορίες: Ιδιοκτήτης του αρχείου (Owner) Οµάδα Ιδιοκτήτη του αρχείου (Group Owner), που είναι η οµάδα στην οποία ανήκει ο Ιδιοκτήτης του αρχείου Οµάδα όλων των υπόλοιπων χρηστών (Others) του συστήµατος Λειτουργικά Συστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 63 Αξιοποίηση των Οµάδων στις Λίστες Ελέγχου ικαιωµάτων Προσπέλασης 2(5) Επειδή οι λειτουργίες προσπέλασης που υποστηρίζονται από το λειτουργικό σύστηµα UNIX είναι αυτές της Ανάγνωσης, Εγγραφής και Εκτέλεσης, τα δικαιώµατα προσπέλασης σε κάποιο αρχείο αντιπροσωπεύονται από τρεις τριµελείς οµάδες γραµµάτων, µία για κάθε κατηγορία, όπως παρουσιάζεται ακολούθως. ικαιώµατα Ιδιοκτήτη ικαιώµατα Οµάδας Ιδιοκτήτη ικαιώµατα Οµάδας Υπολοίπων Χρηστών r w x r w x r w x Το πρώτο στοιχείο κάθε τριάδας, r, αντιπροσωπεύει το δικαίωµα της Ανάγνωσης του αρχείου, το δεύτερο, w, το δικαίωµα Εγγραφής στο αρχείο και το τρίτο, x, το δικαίωµα Εκτέλεσης του αρχείου Λειτουργικά Συστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 64 32

Αξιοποίηση των Οµάδων στις Λίστες Ελέγχου ικαιωµάτων Προσπέλασης 3(5) Για παράδειγµα αν ο χρήστης Χ, που ανήκει στην Οµάδα ΑΠΣ, δηµιουργήσει ένα αρχείο test, και επιθυµεί: ο ίδιος να έχει το σύνολο των δικαιωµάτων προσπέλασης στο αρχείο, η οµάδα του µόνο δικαίωµα Ανάγνωσης και οι υπόλοιποι χρήστες να µην έχουν κανένα δικαίωµα προσπέλασης, τα δικαιώµατα προσπέλασης του αρχείου testθαείναι: ικαιώµατα Ιδιοκτήτη (Χρήστης Χ) ικαιώµατα Οµάδας Ιδιοκτήτη (ΑΠΣ) ικαιώµατα Οµάδας Υπολοίπων Χρηστών r w x r - - - - - Λειτουργικά Συστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 65 Αξιοποίηση των Οµάδων στις Λίστες Ελέγχου ικαιωµάτων Προσπέλασης 4(5) Βέβαια η χρήση Οµάδων Υποκειµένων εισάγει και κάποια προβλήµατα µε πιο σηµαντικό την αδυναµία εκχώρησης διαφορετικών δικαιωµάτων σε περισσότερες οµάδες υποκειµένων από το µέγιστο αριθµό που υποστηρίζει το σύστηµα. Θεωρείστε ότι στο προηγούµενο παράδειγµα ο χρήστης Χ επιθυµούσε να εκχωρήσει και το δικαίωµα Εγγραφής σε ένα χρήστη Υπουανήκειστηνοµάδα ΑΠΣ, αφαιρώντας του όµως το δικαίωµα Ανάγνωσης, καθώς και το δικαίωµα Εκτέλεσης σε ένα χρήστη Ζ που ανήκει στην οµάδα των Υπολοίπων Χρηστών. Στο UNIX δεν είναι δυνατόν να υλοποιηθεί, καθώς υποστηρίζονται µόνο τρεις κατηγορίες δικαιωµάτων, ενώ τώρα απαιτούνται πέντε. Λειτουργικά Συστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 66 33

Αξιοποίηση των Οµάδων στις Λίστες Ελέγχου ικαιωµάτων Προσπέλασης 5(5) Κάποια λειτουργικά συστήµατα όπως το AIX της IBM επιλύει το πρόβληµα αυτό διευρύνοντας ή τροποποιώντας τα δικαιώµατα προσπέλασης που εκχωρούνται µέσω των βασικών κατηγοριών που υποστηρίζει το σύστηµα. Επανερχόµενοι στο προηγούµενο παράδειγµα, τα δικαιώµατα προσπέλασης του αρχείου test, όπως θα καθοριστούν από το λειτουργικό σύστηµα AIX, θα είναι: ικαιώµατα Ιδιοκτήτη (Χρήστης Χ) ικαιώµατα Οµάδας Ιδιοκτήτη (ΑΠΣ) ικαιώµατα Οµάδας Υπολοίπων Χρηστών r w x r - - - - - ιεύρυνση / Τροποποίηση ικαιωµάτων Προσπέλασης Permit - w - u: Y, g: ΑΠΣ Deny r - - u: Y, g: ΑΠΣ Specify - - x u: Z Λειτουργικά Συστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 67 Προστατευτικοί ακτύλιοι 1(2) Άλλος ένας τρόπος απλοποίησης της διαδικασίας εκχώρησης δικαιωµάτων προσπέλασης, είναι η χρήση των προστατευτικών δακτυλίων. r0 r4 r5 r3 r2 r1 Μπορούµε να φανταστούµε τους προστατευτικούς δακτυλίους ως οµόκεντρους κύκλους, µε το δακτύλιο r0 στο κέντρο, να παρέχει το µεγαλύτερο βαθµό προστασίας Λειτουργικά Συστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 68 34

Προστατευτικοί ακτύλιοι 2(2) Κάθε υποκείµενο και αντικείµενο του συστήµατος συσχετίζεται µε κάποιο ακτύλιο r n ανάλογαµετοπόσο σηµαντικόείναι. Για παράδειγµα, ο πυρήνας του λειτουργικού συστήµατος συσχετίζεται µετο ακτύλιο r0. Ανκάποιο υποκείµενοέχεισυσχετισθείµετο ακτύλιο r i καιτο αντικείµενοµετο ακτύλιο r j, δικαίωµα προσπέλασης έχουν µόνον τα υποκείµενα για τα οποία ισχύει i j. Λειτουργικά Συστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 69 Προστατευτικοί ακτύλιοι Λειτουργικό Σύστηµα Multics 1(4) Ο αριθµός των Προστατευτικών ακτυλίων που υποστηρίζει το συγκεκριµένολειτουργικόσύστηµαείναι 64 (0 έως 63). Ας υποθέσουµε ότι κάποια διαδικασία που εκτελείται στο δακτύλιο r, χρειάζεται να προσπελάσει κάποιο τµήµα δεδοµένων. Για κάθε τµήµα δεδοµένων, το Multics ορίζει ένα ζεύγος δακτυλίων (r1, r2) µε r1<= r2, το οποίο ονοµάζεται αγκύλη προσπέλασης. Επίσης ας υποθέσουµε, ότιταδικαιώµαταπροσπέλασης (Ανάγνωση, Εγγραφή, Εκτέλεση, Προσθήκη) τουτµήµατοςδεδοµένων, ταοποία εκχωρούνται µέσω σχετικής λίστας ελέγχου δικαιωµάτων προσπέλασης, επιτρέπουν στη συγκεκριµένη διαδικασία να εκτελέσει τις λειτουργίες προσπέλασης που επιθυµεί. Οι προστατευτικοί δακτύλιοι, µέσω της αγκύλης προσπέλασης, εισάγουν έναν ακόµα περιορισµό. Συγκεκριµένα αν: Λειτουργικά Συστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 70 35

Προστατευτικοί ακτύλιοι Λειτουργικό Σύστηµα Multics 2(4) r <= r1, ηπροσπέλασηεπιτρέπεται r1 < r <= r2, επιτρέπεται µόνο η προσπέλαση για Ανάγνωση και Εκτέλεση r2 < r, ηπροσπέλασηαπαγορεύεται Αν η ίδια διαδικασία εκτελείται ξανά στο δακτύλιο r και χρειάζεται να προσπελάσει κάποια άλλη διαδικασία, σε αντιστοιχία µε τα τµήµατα δεδοµένων, το λειτουργικό σύστηµα ορίζει για κάθε διαδικασία µία αγκύλη προσπέλασης και επιπροσθέτως µπορεί να ορίσει και µία αγκύλη κλήσης (c1, c2)µε c1<= c2και c1 = r2. Ότανγιαµίαδιαδικασίαέχειοριστείαγκύληκλήσης, χρησιµοποιείται ο συµβολισµός (r1, r2, r3)όπου (r1, r2) είναι η αγκύλη προσπέλασης και (r2, r3) είναι η αγκύλη κλήσης (άρα c2 = r3). Λειτουργικά Συστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 71 Προστατευτικοί ακτύλιοι Λειτουργικό Σύστηµα Multics 3(4) Οι περιορισµοί δικαιωµάτων προσπέλασης που προκύπτουν στην περίπτωση αυτή διαφοροποιούνται ελαφρά από τους αντίστοιχους για προσπέλαση σε τµήµα δεδοµένων. Συγκεκριµένα, αν: r < r1, η προσπέλαση επιτρέπεται, αλλά ταυτόχρονα σηµατοδοτείται ένα λάθος διασταύρωσης δακτυλίων r1 <= r <= r2, ηπροσπέλασηεπιτρέπεται r2 < r <= r3, ηπροσπέλασηεπιτρέπεταιµόνονανδιενεργηθεί µέσω µιας έγκυρης πύλης r3 < r, ηπροσπέλασηαπαγορεύεται Λειτουργικά Συστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 72 36

Προστατευτικοί ακτύλιοι Λειτουργικό Σύστηµα Multics 4(4) Yπάρχουν περιπτώσεις που οι διαδικασίες µπορούν να διασταυρώσουν τα όρια των δακτυλίων. Στη περίπτωση, µάλιστα, που ο δακτύλιος r της εκτελούµενης διαδικασίας βρίσκεται εσωτερικά της αγκύλης προσπέλασης της καλούµενης διαδικασίας, σηµατοδοτείται το λάθος διασταύρωσης δακτυλίων το οποίο εξετάζεται από τον πυρήνα του λειτουργικού συστήµατος µε στόχο τηντελικήαποδοχήήαπόρριψητηςεπιχειρούµενηςπροσπέλασης. Ένας ακόµα περιορισµός είναι όταν ο δακτύλιος r της εκτελούµενης διαδικασίας βρίσκεται µέσα στην αγκύλη κλήσης της καλούµενης διαδικασίας. Η προσπέλαση θα επιτραπεί µόνον αν διενεργηθεί µέσω κάποιου συγκεκριµένου σηµείου εισόδου, που πρέπει να έχει δηλωθεί στον πηγαίο κώδικα της καλούµενης διαδικασίας, γνωστό ως πύλη. Λειτουργικά Συστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 73 Έλεγχος Βασισµένος σε Ρόλους 1(2) Οι µηχανισµοί ελέγχου προσπέλασης που εξετάστηκαν εξειδικεύονται στο σύστηµα στο οποίο θα εφαρµοστούν καθώς επικοινωνούνάµεσακαιαπαιτούνγνώσητωνυποκειµένων, αντικειµένων και των υποστηριζόµενων λειτουργιών προσπέλασης. Η νέα τάση είναι η υλοποίηση µηχανισµών που είναι ανεξάρτητοι από τα συστήµατα στα οποία εφαρµόζονται, µε στόχο την υλοποίηση του ελέγχου προσπέλασης σε επίπεδο εφαρµογών και όχι συστηµάτων. Στη περίπτωση αυτή θα πρέπει να επικεντρωθούµε στις λειτουργίες (operations) του συστήµατος και όχι στα αντικείµενά του. Λειτουργικά Συστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 74 37

Έλεγχος Βασισµένος σε Ρόλους 2(2) Με οποιαδήποτε εφαρµογή, η ολοκλήρωση µιας εργασίας από κάποιο χρήστη προϋποθέτει την εκτέλεση, µε αυστηρά προκαθορισµένη σειρά, κάποιας οµάδας λειτουργιών. Αυτές οι οµάδεςλειτουργιώνονοµάζονται ρόλοι. Τα δικαιώµατα προσπέλασης των υποκειµένων του συστήµατος καθορίζονται από τους ρόλους που έχουν εξουσιοδοτηθεί να εκτελούν (συσχέτισηυποκειµένων ρόλων). Προκύπτει λοιπόν ένας νέος µηχανισµός ελέγχου προσπέλασης βασισµένοςσε ρόλους (Role-Based Access Control RBAC), ο οποίος εστιάζει στους χρήστες και στις εργασίες που αυτοί εκτελούν. Κάποιος χρήστης µπορεί να συσχετισθεί µε περισσότερους από ένα ρόλους και φυσικά κάποιος ρόλος µπορεί να συσχετισθεί µε περισσότερους από ένα χρήστες Λειτουργικά Συστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 75 Σύνοψη Οι µηχανισµοί ελέγχου προσπέλασης που µελετήθηκαν έχουν ως στόχο τη διασφάλιση της ορθής εφαρµογής και της αποτελεσµατικής παρακολούθησης της ισχύουσας πολιτικής ελέγχου προσπέλασης ενόςσυστήµατος. Παρουσιάστηκαν διεξοδικά οι λειτουργίες που υλοποιούν τα διάφορα λειτουργικά συστήµατα, γνωστές ως λειτουργίες προσπέλασης, για να υποστηρίξουν την προσπέλαση των πόρων τους. Αναδείχτηκαν τα σηµεία διαφοροποίησης των λειτουργιών προσπέλασης των διαφόρων συστηµάτων, παρά τη φαινοµενική οµοιότητάτουςσεπρώτοεπίπεδοπροσέγγισης. Λειτουργικά Συστήµατα II - UNIX / Αναπλ. Καθ. Κ. Λαµπρινουδάκης 76 38