Τι είναι η Java Security;

 


Η ασφάλεια της γλώσσας προγραμματισμού Java


Τα προβλήματα ασφάλειας χωρίζονται σε δύο μεγάλες κατηγορίες, αυτά που γίνονται κατά λάθος και αυτά που δημιουργούνται ηθελημένα και χαρακτηρίζονται ως “κακόβουλα”. Ας ξεκινήσουμε απ’ τα πρώτα και να πούμε ότι όσοι έχουν γράψει έστω και ένα μικρό πρόγραμμα γνωρίζουν τι θα πει πρόβλημα. Ένας βρόγχος που δεν τερματίζει ποτέ, μια συνθήκη που είναι πάντα σωστή ή πάντα λάθος, ένας τύπος δεδομένων ασύμβατος, μια μεταβλητή που της αποθηκεύεται λάθος τύπος τιμής ή τιμή εκτός ορίων, μια μη αρχικοποιημένη μεταβλητή είναι τα πιο συνηθισμένα λάθη που κάνουν αρχάριοι αλλά ακόμη και έμπειροι προγραμματιστές.

Ένα τέτοιο λάθος κάνει συνήθως το πρόγραμμα μας να “κρεμάσει”, τον Η/Υ να “παγώσει” και εμάς να καθόμαστε με αμηχανία μπροστά στην οθόνη μας. Φανταστείτε λοιπόν ότι το ίδιο πράγμα κάνει και μια κακογραμμένη εφαρμογή σε Java η οποία συντακτικά μοιάζει με την C++. Βεβαίως τέτοιου είδους σφάλματα γίνονται από την άγνοια αυτού που τα γράφει και όχι από κακή πρόθεση, πάντως το πρόβλημα έχει δημιουργηθεί.

Ευτυχώς που η Java μοιάζει με την γλώσσα προγραμματισμού C++ αλλά διαφέρει στο ότι η δεύτερη είναι πιο επιρρεπής στα σφάλματα. Η Java είναι κατασκευασμένη εκ’ θεμελίων με τους κανόνες ασφαλείς υπ’ όψη και έτσι αποφεύγει πολλές απ’ τις κακοτοπιές στις οποίες θα μπορούσε να πέσει κάποιος προγραμματιστής που χρησιμοποιούσε την C++. Χαρακτηριστικά παραδείγματα είναι για την Java, ο έλεγχος ορίων πίνακα, η ισχυρή τυποποίηση των μεταβλητών και η αυτόματη απελευθέρωση της μνήμης που δεν χρησιμοποιείται.

Έτσι αποφεύγονται καταστάσεις δημιουργίας εξαιρέσεων (exceptions) όταν π.χ. πάμε να καταχωρήσουμε τιμή στην ενδέκατη θέση ενός πίνακα δέκα θέσεων, ή όταν πάμε να αποθηκεύσουμε μια πραγματική τιμή σε μια ακέραιη μεταβλητή ή όταν εξαντλήσουμε τα αποθέματα μνήμης του Η/Υ μας γιατί ξεχάσαμε να απελευθερώσουμε την μνήμη που καταλάμβαναν οι δείκτες αλλά το έκανε για μας η ίδια η γλώσσα Java με τον μηχανισμό περισυλλογής “σκουπιδιών” (garbage collector). Βέβαια καμία γλώσσα προγραμματισμού δεν είναι 100% ασφαλής απέναντι σε σφάλματα, π.χ. ούτε η Java μπορεί να μας προστατεύσει από έναν βρόγχο που δεν τελειώνει ποτέ αλλά περιορίζει τις πιθανότητες.

 

 

Η ασφάλεια των applets της Java


Η λογική με την οποία λειτουργεί το applet είναι απ’ την φύση της επικίνδυνη. Ενώ επενδύονται τεράστια ποσά για την δημιουργία μηχανισμών ασφαλείας που θα προστατεύουν τα δίκτυα και τους Η/Υ τον καθένα ξεχωριστά, με τον ερχομό των applets και της Java ανατρέπονται όλα όσα ξέραμε. Οι μέθοδοι προστασίας πρέπει να αναθεωρηθούν και αν ειδωθούν μέσα από το πρίσμα των νέων τεχνολογιών. Για να το κάνουμε πιο κατανοητό οι κλασσικές μέθοδοι ασφάλειας επικεντρώνουν στην αποτροπή της εισβολής στο δίκτυο, στο να κρατάνε δηλαδή μακριά οποιονδήποτε εισβολέα. Εδώ επιτρέπουμε στον εισβολέα να μπει θεωρώντας τον ακίνδυνο και στην συνέχεια εξετάσουμε την επικινδυνότητα του. Ενώ μέχρι τώρα κλειδώναμε την πόρτα μας και βάζαμε συναγερμούς και συστήματα ασφάλειας, τώρα ανοίγουμε την πόρτα μας διάπλατα σε ένα αθώο μικρό παιδάκι που μπορεί όμως στην πορεία να αποδειχθεί μανιακός δολοφόνος.

 

 

Τελικά αξίζει τον κόπο να χρησιμοποιήσουμε την Java;


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

Δυστυχώς τα πράγματα δεν είναι ακριβώς έτσι. Αναφέρουμε μόνο το γεγονός ότι η παγκοσμιοποίηση της αγοράς και ο ανταγωνισμός που είναι καθημερινά και πιο έντονος αναγκάζει τις επιχειρήσεις να καινοτομούν και να βρίσκονται ή να προσπαθούν τουλάχιστον να βρίσκονται στην αιχμή της τεχνολογίας. Αιχμή της τεχνολογίας σήμερα είναι το Internet. Σε μερικά χρόνια όποιος δεν έχει βρει το ρόλο του και την θέση του σ’ αυτό το παγκόσμιο χωριό είναι καταδικασμένος σε μαρασμό και αποτυχία. ¶ρα θα πρέπει η κάθε επιχείρηση να εξερευνά και να ενημερώνεται για τις εξελίξεις σε αυτόν τον τεχνολογικό χώρο.

Αιχμή του δόρατος στο Internet είναι οι εμπορικές, τραπεζικές και λοιπές συναλλαγές μέσα στο δίκτυο. Προκειμένου να επιτευχθούν τα παραπάνω θα πρέπει να υπάρχουν τα εργαλεία που θα δημιουργήσουν αυτές τις εφαρμογές. Τα εργαλεία αυτά θα πρέπει να είναι εύχρηστα, user-friendly αλλά το σπουδαιότερο θα πρέπει να παράγουν προγράμματα που θα εκτελούνται σε ΟΛΩΝ ΤΩΝ ΕΙΔΩΝ τα μηχανήματα που είναι συνδεδεμένα στο Internet, PC, Apple, Unix systems κ.λ.π.

Το μόνο εργαλείο που έχει τις παραπάνω προϋποθέσεις σήμερα είναι η Java και αυτή η διαπλατφορμική της ιδιότητα, δηλαδή να εκτελείται σε οποιονδήποτε τύπο μηχανήματος την έκανε το de facto development standard στο Internet, τόσο διάσημη και απαραίτητη σε τόσο μικρό χρονικό διάστημα. Για να αποδείξουμε ότι κάπως έτσι είναι τα πράγματα οι δύο μεγάλες εταιρείες κατασκευής browsers η Microsoft και η Netscape έχουν κάνει τις τελευταίες εκδόσεις των browsers τους Java-enabled δηλαδή έχουν την δυνατότητα να χειριστούν applets.

 

 
 
     

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