|
|
|
Το
μοντέλο ασφάλειας της Java
Επανερχόμαστε στα είδη προβλημάτων και εξετάζουμε την περίπτωση
δημιουργίας επίτηδες ενός εχθρικού applet. Όταν εισάγει στο
μηχάνημα μας έναν ιό, έναν δούρειο ίππο (trojan horse) ή όταν
αυτό το applet αρχίζει να κάνει πράγματα που δεν θα έπρεπε
να κάνει. Τα πιο χαρακτηριστικά απ’ αυτά είναι να διαβάσει
αρχεία του Η/Υ μας, να διαγράψει αρχεία, να μεταφέρει αρχεία
μας, να δημιουργήσει καινούργια σύνδεση με άλλο μηχάνημα εκτός
απ’ τον server απ’ τον οποίο προήλθε. Πως αντιμετωπίζουμε
εμείς αυτές τις καταστάσεις.
Ευτυχώς η ίδια η αρχιτεκτονική της Java προέβλεψε όλες αυτές
τις περιπτώσεις ή τουλάχιστον τις περισσότερες απ’ αυτές.
Έτσι μέσα στις θεμελιώδεις αρχές της Java είναι ότι ΤΟ ΚΑΘΕ
APPLET ΚΑΝΕΙ ΣΥΓΚΕΚΡΙΜΕΝΑ ΠΡΑΓΜΑΤΑ ΣΕ ΣΥΓΚΕΚΡΙΜΕΝΟΥΣ ΧΩΡΟΥΣ
ΚΑΙ ΔΕΝ ΜΠΟΡΕΙ ΝΑ ΚΑΝΕΙ ΚΑΤΙ ΠΟΥ ΔΕΝ ΘΑ ΕΠΡΕΠΕ ΠΟΤΕ ΝΑ ΚΑΝΕΙ.
Υπάρχει εδώ η μεταφορική έννοια του αμμοδοχείου (sandbox)
όπου το κάθε applet λειτουργεί μέσα σε αυτό το αμμοδοχείο
και πουθενά αλλού. Η Java με αυτόν τον απλό τρόπο επιτρέπει
το download και την εκτέλεση μη - ασφαλή κώδικα χωρίς να εκθέτει
το σύστημα μας σε ανώφελα ρίσκα. Ένα applet μπορεί να προκαλέσει
το “χάος” στο δικό του αμμοδοχείο αλλά θα αφήσει ανεπηρέαστα
όλα τα άλλα αμμοδοχεία. Ακόμη και μέσα στο δικό του αμμοδοχείο,
μπορούμε να καθορίσουμε τι μπορεί και τι δε μπορεί να κάνει
το applet. Έτσι λοιπόν η Java με απλά λόγια επιτρέπει “ύποπτο”
κώδικα να εκτελείται σε ένα ασφαλές περιβάλλον χωρίς το παραμικρό
πρόβλημα. Ας δούμε όμως με λεπτομέρεια πως ακριβώς δουλεύει
το μοντέλο ασφάλειας της Java.
|
|
|
|