Το μοντέλο ασφάλειας της Java

 


Επανερχόμαστε στα είδη προβλημάτων και εξετάζουμε την περίπτωση δημιουργίας επίτηδες ενός εχθρικού applet. Όταν εισάγει στο μηχάνημα μας έναν ιό, έναν δούρειο ίππο (trojan horse) ή όταν αυτό το applet αρχίζει να κάνει πράγματα που δεν θα έπρεπε να κάνει. Τα πιο χαρακτηριστικά απ’ αυτά είναι να διαβάσει αρχεία του Η/Υ μας, να διαγράψει αρχεία, να μεταφέρει αρχεία μας, να δημιουργήσει καινούργια σύνδεση με άλλο μηχάνημα εκτός απ’ τον server απ’ τον οποίο προήλθε. Πως αντιμετωπίζουμε εμείς αυτές τις καταστάσεις.

Ευτυχώς η ίδια η αρχιτεκτονική της Java προέβλεψε όλες αυτές τις περιπτώσεις ή τουλάχιστον τις περισσότερες απ’ αυτές. Έτσι μέσα στις θεμελιώδεις αρχές της Java είναι ότι ΤΟ ΚΑΘΕ APPLET ΚΑΝΕΙ ΣΥΓΚΕΚΡΙΜΕΝΑ ΠΡΑΓΜΑΤΑ ΣΕ ΣΥΓΚΕΚΡΙΜΕΝΟΥΣ ΧΩΡΟΥΣ ΚΑΙ ΔΕΝ ΜΠΟΡΕΙ ΝΑ ΚΑΝΕΙ ΚΑΤΙ ΠΟΥ ΔΕΝ ΘΑ ΕΠΡΕΠΕ ΠΟΤΕ ΝΑ ΚΑΝΕΙ.

Υπάρχει εδώ η μεταφορική έννοια του αμμοδοχείου (sandbox) όπου το κάθε applet λειτουργεί μέσα σε αυτό το αμμοδοχείο και πουθενά αλλού. Η Java με αυτόν τον απλό τρόπο επιτρέπει το download και την εκτέλεση μη - ασφαλή κώδικα χωρίς να εκθέτει το σύστημα μας σε ανώφελα ρίσκα. Ένα applet μπορεί να προκαλέσει το “χάος” στο δικό του αμμοδοχείο αλλά θα αφήσει ανεπηρέαστα όλα τα άλλα αμμοδοχεία. Ακόμη και μέσα στο δικό του αμμοδοχείο, μπορούμε να καθορίσουμε τι μπορεί και τι δε μπορεί να κάνει το applet. Έτσι λοιπόν η Java με απλά λόγια επιτρέπει “ύποπτο” κώδικα να εκτελείται σε ένα ασφαλές περιβάλλον χωρίς το παραμικρό πρόβλημα. Ας δούμε όμως με λεπτομέρεια πως ακριβώς δουλεύει το μοντέλο ασφάλειας της Java.

 

 
 
     

Αρχή σελίδας
 
(c) 2001 created by Magnet Internet Services