Πίνακας περιεχομένων:
- Ορισμός - Τι σημαίνει η ασφάλεια πρόσβασης στο κώδικα (CAS);
- Η Techopedia εξηγεί την ασφάλεια πρόσβασης κώδικα (CAS)
Ορισμός - Τι σημαίνει η ασφάλεια πρόσβασης στο κώδικα (CAS);
Η ασφάλεια πρόσβασης σε κώδικα (CAS) είναι ένας μηχανισμός ασφαλείας με τον οποίο η κοινή γλώσσα χρόνου εκτέλεσης (CLR) του πλαισίου .NET μπορεί να περιορίσει τον διαχειριζόμενο κώδικα για να εκτελέσει λειτουργίες με περιορισμένο σύνολο δικαιωμάτων.
Η CAS επιβάλλει πολιτικές ασφάλειας στο πλαίσιο .NET εμποδίζοντας την μη εξουσιοδοτημένη πρόσβαση σε προστατευμένους πόρους και λειτουργίες. Σε αντίθεση με τις παραδοσιακές μεθόδους ασφαλείας, όπου τα διαπιστευτήρια χρήστη προέρχονται από το χρήστη, το CAS σχεδιάζεται για να αντιμετωπίζει τα προβλήματα που αντιμετωπίζουν όταν αποκτά κώδικα από εξωτερικές πηγές, οι οποίες περιέχουν σφάλματα και ευπάθειες. Αυτά τα σφάλματα και τα τρωτά σημεία ενδέχεται να καταστήσουν το σύστημα ενός χρήστη ευάλωτο σε κακόβουλο κώδικα, ο οποίος μπορεί να εκτελεί εργασίες χωρίς να το γνωρίζει ο χρήστης. Το CAS πράγματι γνωρίζει και επιτρέπει μόνο σε εκείνες τις λειτουργίες τον κωδικό δεδομένου χρήστη που μπορεί και δεν μπορεί να εκτελέσει. Αυτή η δυνατότητα ισχύει για όλους τους στοχευμένους κώδικες που διαχειρίζονται το CLR.
Το CAS παρέχει ασφάλεια βασισμένη σε αποδεικτικά στοιχεία που βασίζεται σε ένα επίπεδο πάνω από την ασφάλεια που παρέχεται από το λειτουργικό σύστημα Windows. Ενώ τα Windows βασίζονται στα δικαιώματα του χρήστη, η CAS βασίζεται στα στοιχεία για τη συναρμολόγηση. Το συγκρότημα περιέχει τα δικαιώματα που ορίζονται στην πολιτική ασφάλειας και αποτελεί τη βάση για να επιτρέπεται στον κώδικα να εκτελεί τις απαραίτητες ενέργειες.
Η Techopedia εξηγεί την ασφάλεια πρόσβασης κώδικα (CAS)
Το CAS βασίζεται στα ακόλουθα στοιχεία, μεταξύ άλλων:
- Δικαιώματα: Αυτά είναι τα βασικά δικαιώματα που απαιτούνται για την πρόσβαση σε προστατευμένο πόρο ή την εκτέλεση προστατευόμενης ενέργειας.
- Set Permissions: Αυτό είναι ένα σύνολο δικαιωμάτων, όπως "πλήρης εμπιστοσύνη", "τίποτα", "Internet", "τοπικό intranet" και άλλα.
- Ομάδα κωδικών: Αυτή είναι μια λογική ομαδοποίηση κώδικα με μια καθορισμένη προϋπόθεση για την ένταξη, όπως LocalIntranet_zone και Internet_zone.
- Αποδεικτικά στοιχεία: Πρόκειται για πληροφορίες σχετικές με τη συναρμολόγηση, όπως κατάλογο εφαρμογών, εκδότης, διεύθυνση URL και ζώνη ασφαλείας.
- Πολιτική Ασφαλείας: Πρόκειται για ένα σύνολο κανόνων που έχουν διαμορφωθεί από διαχειριστή για να καθορίσουν τα δικαιώματα που έχουν χορηγηθεί για έναν κώδικα που εκφράζεται ιεραρχικά σε τέσσερα επίπεδα ως τομέας επιχείρησης, μηχανής, χρήστη και τομέα εφαρμογής.
Η προνομιακή λειτουργία εκτέλεσης κώδικα απαιτεί το CLR για ένα ή περισσότερα δικαιώματα. Η πραγματική άδεια υπολογίζεται χρησιμοποιώντας την ένωση δικαιωμάτων που έχει οριστεί στις ομάδες κωδικών και στη συνέχεια μια διασταύρωση σε επίπεδο πολιτικής. Το CLR εξασφαλίζει ότι τα απαιτούμενα δικαιώματα είναι στα χορηγούμενα δικαιώματα της μεθόδου αυτής της συναρμολόγησης. Αν δεν δοθεί άδεια, θα ριχτεί μια εξαίρεση ασφαλείας.
Το CAS παρέχει δύο λειτουργίες ασφαλείας για τον καθορισμό των δικαιωμάτων για κωδικό:
- Η δηλωτική ασφάλεια υλοποιείται καθορίζοντας χαρακτηριστικά ασφαλείας σε επίπεδο συναρμολόγησης, επίπεδο τάξης ή επίπεδο μέλους. Η δηλωτική λειτουργία χρησιμοποιείται όταν οι κλήσεις πρέπει να αξιολογούνται κατά τον χρόνο σύνταξης.
- Η επιτακτική ασφάλεια χρησιμοποιεί κλήσεις μεθόδων χρόνου εκτέλεσης για τη δημιουργία στιγμιότυπων τάξεων ασφαλείας. Η λειτουργία Imperative χρησιμοποιείται όταν οι κλήσεις πρέπει να αξιολογούνται κατά την ώρα εκτέλεσης.
Η CAS έχει περιορισμούς, συμπεριλαμβανομένης της δυσλειτουργίας μιας εφαρμογής που μεταφέρεται σε άλλο σύστημα όταν η πολιτική ασφαλείας είναι διαφορετική. Επιπλέον, δεν υπάρχει έλεγχος στον μη διαχειριζόμενο κώδικα και κανένας έλεγχος στην ανάπτυξη εφαρμογών για την κάλυψη των αναγκών των διαφορετικών σεναρίων των ρυθμίσεων ασφαλείας στα συστήματα χρηστών.
Για να χρησιμοποιήσουν αποτελεσματικά την λεπτή τεχνολογία ασφαλείας της CAS, οι προγραμματιστές πρέπει να γράψουν κώδικα ασφαλούς τύπου, να χρησιμοποιήσουν δηλωτική ή επιτακτική σύνταξη βάσει περιβάλλοντος, να ζητήσουν δικαιώματα από το χρόνο εκτέλεσης για εκτέλεση κώδικα και να χρησιμοποιήσουν ασφαλείς βιβλιοθήκες.