..


Σύνδεσμοι διαφημιζόμενων

Ασφάλεια στην Java sandbox μοντέλο

Το άρθρο γράφτηκε από τον Mark Frison
Σελίδα 1 από 3

Από την εισαγωγή του, Java έχει δεσμεύσει ένα σημαντικό ρόλο σε θέματα ασφάλειας. Αν και με ανάμεικτα αποτελέσματα, οι σχεδιαστές έχουν προσπαθήσει να παρέχουν τα συστήματα ασφαλείας πλατφόρμα εφαρμοστεί άμεσα όσον αφορά τη γλώσσα, διαθέσιμη για τους προγραμματιστές.

Σε μια συνεχή διαδικασία εξέλιξης και βελτίωσης της JVM έχει γίνει ένα από τα σημαντικότερα έργα υποδομής για stand-alone, διαδίκτυο, κινητά και πολλά άλλα, σε αυτό το άρθρο θα επικεντρωθεί στην εξέλιξη του μοντέλου της ασφάλειας, που κοινώς ονομάζεται sandbox, σχολιάζοντας τα λάθη του σχεδιασμού και την τρέχουσα κατάσταση.

Προϋποθέσεις

Αυτό το άρθρο απευθύνεται σε όλους, είτε αυτοί είναι έμπειροι Java προγραμματιστές που νηστείες εντελώς αναγνώστες του θέματος. Ορισμένες εκτιμήσεις θα είναι πιο κατανοητό σε όσους έχουν ήδη κάποια εμπειρία με αυτή τη γλώσσα, ωστόσο, η ανάγνωση αυτού του άρθρου είναι κατάλληλο για κάθε αναγνώστη.

Το sandbox

Το αρχικό μοντέλο

Το αρχικό μοντέλο, γνωστό ως sandbox είχε ως σκοπό να περιορίσει δυνητικά κακόβουλο κώδικα σε ένα απομονωμένο περιβάλλον, και ιδιαίτερα περιοριστική. Java από τη γέννησή του, είχε στραφεί στο δίκτυο και αυτή η εξέταση οδήγησε να επινοήσουν ένα μοντέλο εκτέλεσης με τον οποίο ο κώδικας είχε κατεβάσει απευθείας από το τηλεχειριστήριο, εκθέτοντας τον πελάτη για σημαντικά θέματα ασφάλειας.

Στην πρώτη εφαρμογή του, φαίνεται σχηματικά στο σχήμα, το sandbox μόνο κατά προσέγγιση διάκριση μεταξύ τοπικών και απομακρυσμένων τον Κωδ: η πρώτη ήταν με πλήρη πρόσβαση σε όλους τους πόρους "κρίσιμες" σύστημα, όπως, για παράδειγμα, συστήματα αρχείων και διάφορες συσκευές, το απομακρυσμένο κώδικα Αντίθετα, είχαν περιορισμένη πρόσβαση σε πόρους, με τη μεσολάβηση της ίδιας sandbox: applets, τώρα σε μεγάλο βαθμό εξαφανιστεί από το διαδίκτυο, έχω το πιο γνωστό παράδειγμα.

Αυτό το μοντέλο ασφάλειας sandbox στο JDK 1.0

Αυτό το μοντέλο περιλαμβάνει ένα σύνολο μηχανισμών ασφάλειας σε διάφορα επίπεδα. Πρώτα απ 'όλα, Java είναι τύπου ασφαλής, δηλαδή υπάρχει μια σαφής σχέση μεταξύ μιας μεταβλητής και ελέγχονται και τον τύπο του (ακέραιος, κινητής υποδιαστολής, string, κλπ. ..).
Εκείνοι που έχουν προγραμματιστεί για τις γλώσσες με χαμηλές / μεσαίου επιπέδου, όπως η C και C + + γνωρίζουν πόσα προβλήματα μπορούν να αποφευχθούν αυτού του ελέγχου: το σύνολο των σιωπηρών μετατροπές μεταξύ τύπων, όπως ακέραιος ή boolean δείκτες κενό σε άλλους δείκτες, που είναι χαρακτηριστικά της αυτές τις γλώσσες ταυτόχρονα γίνει η κύρια πηγή σφαλμάτων προγραμματισμού, επίσης αναλάβει τη δέσμευση τόσο για αρχάριους και εμπειρογνώμονες. Για να ελαχιστοποιήσετε την πιθανότητα ότι τα έργα που έκανε λάθη, οι σχεδιαστές της Sun εισήγαγε ορισμένες πτυχές έως τώρα βρίσκονται μόνο στη θέση ή στις γλώσσες πανεπιστημιακό επίπεδο, όπως, για παράδειγμα, η αυτόματη διαχείριση μνήμης (συλλογής απορριμμάτων) και οι έλεγχοι κατά το χρόνο εκτέλεσης προσπέλασης (δείκτες, στοιχεία πίνακα, κ.λπ. ...).

Το δεύτερο επίπεδο προστασίας που εξασφαλίζεται από τον compiler και run-time, με την εικονική μηχανή. Αυτό εξασφαλίζει ότι το bytecode, ο assembler της Java VM εκτελείται με τα κατάλληλα δικαιώματα εκτέλεσης. Ειδικότερα, δύο βασικά συστατικά, το SecurityManager και ClassLoader, ορίζονται οι τοπικές χώρο ονόματος για την αποφυγή παρεμβολών μεταξύ των διαφορετικών περιπτώσεων του VM και να διαχειρίζονται την πρόσβαση των ελέγχων σε κρίσιμες πόρων.

JDK 1.1 - κωδικός υπέγραψε

Το μοντέλο που παρουσιάζεται είναι πολύ ευέλικτη και στην πρώτη ενημέρωση του JDK (έκδοση 1.1), εισήχθη η έννοια της εμπιστοσύνης κώδικα για να επιτρέψει την απομακρυσμένη εφαρμογές, εφόσον συνοδεύονται από ηλεκτρονική υπογραφή που αναγνωρίζεται από τον πελάτη, η πρόσβαση σε πόρους του συστήματος. Η λύση, που περιγράφεται στο παρακάτω σχήμα, είναι κάτι περισσότερο από μια αμυχή της προηγούμενης αρχιτεκτονικής και ως εκ τούτου απαιτείται μια πλήρης επανασυγγραφή σε επόμενες εκδόσεις.

Αυτό το μοντέλο ασφάλειας sandbox στο JDK 1.1

Στην ίδια κατηγορία ...
E-Learning
ASP Zero (ebook) ASP Zero (ebook)
Μαθαίνοντας Microsoft ASP και VBScript από το μηδέν. Σε μόνο 29 €.
HTML (Μάθημα) HTML (Μάθημα)
Η γλώσσα σήμανσης για τον Παγκόσμιο Ιστό από 29 €.
Javascript (Μάθημα) Javascript (Μάθημα)
Πλήρης οδηγός για δέσμες ενεργειών στην πλευρά του πελάτη. Από 39 €.
Σύνδεσμοι διαφημιζόμενων