Ασφάλεια Yπ&

Ασφάλεια Yπ&

Info iconThis preview shows pages 1–5. Sign up to view the full content.

View Full Document Right Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: Aσφάλεια Yπολογιστών Σηµείωση Το ΕΑΠ είναι υπεύθυνο για την επιµέλεια έκδοσης και την ανάπτυξη των κειµένων σύµφωνα µε τη Μεθοδολογία της εξ Αποστάσεως Εκπαίδευσης. Για την επιστηµονική αρτιότητα και πληρότητα των συγγραµµάτων την αποκλειστική ευθύνη φέρουν οι συγγραφείς, κριτικοί αναγνώστες και ακαδηµαϊκοί υπεύθυνοι που ανέλαβαν το έργο αυτό. Ε ΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ Σχολή Θετικών Επιστηµών και Τεχνολογίας Πρόγραµµα Σπουδών ΠΛHPOΦOPIKH Θεµατική Ενότητα ΠPOΣTAΣIA KAI AΣΦAΛEIA ΣYΣTHMATΩN YΠOΛOΓIΣTΩN Τόµος A' Aσφάλεια Yπολογιστών ΣΩΚΡΑΤΗΣ KΑΤΣΙΚΑΣ Kαθηγητής Tµήµατος Mηχανικών Πληροφοριακών και Eπικοινωνιακών Συστηµάτων Πανεπιστηµίου Aιγαίου ΠATPA 2001 ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ Σχολή Θετικών Επιστηµών και Τεχνολογίας Πρόγραµµα Σπουδών ΠΛHPOΦOPIKH Θεµατική Ενότητα ΠPOΣTAΣIA KAI AΣΦAΛEIA ΣYΣTHMATΩN YΠOΛOΓIΣTΩN Τόµος A' Aσφάλεια Yπολογιστών Συγγραφή ΣΩKPATHΣ KATΣIKAΣ Kαθηγητής Tµήµατος Mηχανικών Πληροφοριακών και Eπικοινωνιακών Συστηµάτων Πανεπιστηµίου Aιγαίου Κριτική Ανάγνωση ∆HMHTPIOΣ ΓKPITZAΛHΣ Eπίκ. Kαθηγητής Tµήµατος Πληροφορικής Oικονοµικού Πανεπιστηµίου Aθηνών Ακαδηµαϊκός Υπεύθυνος για την επιστηµονική επιµέλεια του τόµου ΠAYΛOΣ ΣΠYPAKHΣ Καθηγητής Tµήµατος Mηχανικών H/Y & Πληροφορικής Πανεπιστηµίου Πατρών Επιµέλεια στη µέθοδο της εκπαίδευσης από απόσταση AXIΛΛEAΣ KAMEAΣ Γλωσσική Επιµέλεια IΩANNHΣ ΓAΛANOΠOYΛOΣ Τεχνική Επιµέλεια EΣΠI EK∆OTIKH EΠE Καλλιτεχνική Επιµέλεια, Σελιδοποίηση TYPORAMA Συντονισµός ανάπτυξης εκπαιδευτικού υλικού και γενική επιµέλεια των εκδόσεων ΟΜΑ∆Α ΕΚΤΕΛΕΣΗΣ ΕΡΓΟΥ ΕΑΠ / 1997–2001 ISBN: 960–538–226–1 Kωδικός Έκδοσης: ΠΛH 35/1 Copyright 2000 για την Ελλάδα και όλο τον κόσµο ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ Οδός Παπαφλέσσα & Υψηλάντη, 26222 Πάτρα – Τηλ: (0610) 314094, 314206 Φαξ: (0610) 317244 Σύµφωνα µε το Ν. 2121/1993, απαγορεύεται η συνολική ή αποσπασµατική αναδηµοσίευση του βιβλίου αυτού ή η αναπαραγωγή του µε οποιοδήποτε µέσο χωρίς την άδεια του εκδότη. ¶ÂÚȯfiÌÂÓ· Πρόλογος ............................................................................................................................................................................. 11 K∂º∞§∞π√ 1 ∏ ·Ó¿ÁÎË ÚÔÛÙ·Û›·˜ ÙˆÓ ÏËÚÔÊÔÚÈÒÓ Σκοπός, Προσδοκώµενα αποτελέσµατα, Έννοιες κλειδιά, Eισαγωγικές παρατηρήσεις .................................................................................................................................... 13 1.1 Η οικονοµική σηµασία της πληροφορίας ................................................................................ 16 1.1.1 Πληροφορία και παγκοσµιοποίηση της οικονοµίας ......................................... 16 1.1.2 Η πληροφορία ως αγαθό 1.1.3 Η αξία της πληροφορίας 1.2 1.3 .......................................................................................................... .......................................................................................................... .................................................................................. 16 18 21 Η κοινωνική σηµασία της πληροφορίας Ένα πλαίσιο για την προστασία των πληροφοριών ........................................................ 24 1.3.1 Θεσµικές ρυθµίσεις ...................................................................................................................... 24 1.3.2 Οργανωσιακές ρυθµίσεις ......................................................................................................... 33 1.3.3 Κοινωνικές δράσεις ...................................................................................................................... 34 Σύνοψη ................................................................................................................................................................................... ......................................................................................................................................... 37 38 Bιβλιογραφία κεφαλαίου K∂º∞§∞π√ 2 H AÛÊ¿ÏÂÈ· ¶ÏËÚÔÊÔÚÈÒÓ ÛÙ· A˘ÙÔÌ·ÙÔÔÈË̤ӷ ¶ÏËÚÔÊÔÚȷο ™˘ÛÙ‹Ì·Ù· Σκοπός, Προσδοκώµενα αποτελέσµατα, Έννοιες κλειδιά, Eισαγωγικές παρατηρήσεις .................................................................................................................................... 41 2.1 2.2 Οµαδοποίηση εννοιών ............................................................................................................................. 43 Οµάδα εννοιών «αγαθά» ........................................................................................................................ 44 2.2.1 Ένα παράδειγµα .............................................................................................................................. ............................................................................ 46 48 48 2.3 2.4 Οµάδα εννοιών «ιδιοκτήτης και χρήστης» Οµάδα εννοιών «ιδιότητες» ................................................................................................................ 6 A™ºA§EIA Y¶O§O°I™TøN 2.5 2.6 2.7 2.8 Οµάδα εννοιών «κίνδυνοι» .................................................................................................................. 49 Οµάδα εννοιών «στόχοι» ....................................................................................................................... 51 Οµάδα εννοιών «εξασφάλιση» ......................................................................................................... ......................................................................................... 54 54 57 58 Οµάδα εννοιών «µέτρα προστασίας» Σύνοψη ................................................................................................................................................................................... ......................................................................................................................................... Bιβλιογραφία κεφαλαίου K∂º∞§∞π√ 3 TÔ ™¯¤‰ÈÔ AÛÊ¿ÏÂÈ·˜ Σκοπός, Προσδοκώµενα αποτελέσµτα, Έννοιες κλειδιά, Eισαγωγικές παρατηρήσεις .................................................................................................................................... 59 3.1 Ο κύκλος ζωής του σχεδίου ασφάλειας 3.1.1 Φάση σχεδιασµού 3.1.2 Φάση υλοποίησης .................................................................................... 61 61 61 .......................................................................................................................... .......................................................................................................................... 3.1.3 Φάση συντήρησης ........................................................................................................................... 63 3.2 ∆ιαχείριση κινδύνων ................................................................................................................................. 66 3.2.1 Ο ρόλος και η αναγκαιότητα της διαχείρισης κινδύνων ................................ 68 3.2.2 Η διαχείριση κινδύνων ως επιστηµονική µέθοδος και ως τεχνική επικοινωνίας ................................................................................................. 69 3.2.3 Μεθοδολογίες διαχείρισης κινδύνων 3.2.4 Ένα παράδειγµα 3.3 Πολιτικές ασφάλειας ............................................................................ 71 73 87 .............................................................................................................................. ................................................................................................................................. 3.3.1 Η δοµή µιας πολιτικής ασφάλειας: κανόνες, πρότυπα και διαδικασίες ................................................................................... 87 3.3.2 Τα περιεχόµενα µιας πολιτικής ασφάλειας Σύνοψη .............................................................. 89 91 92 ................................................................................................................................................................................... ......................................................................................................................................... Bιβλιογραφία κεφαλαίου ¶EPIEXOMENA 7 K∂º∞§∞π√ 4 ∆·˘ÙÔÔ›ËÛË Î·È A˘ıÂÓÙÈÎÔÔ›ËÛË Σκοπός, Προσδοκώµενα αποτελέσµατα, Έννοιες κλειδιά, Eισαγωγικές παρατηρήσεις .................................................................................................................................... 95 4.1 Εξακρίβωση ταυτότητας ........................................................................................................................ 98 4.1.1 Tαυτοποίηση ........................................................................................................................................ 98 4.1.2 Αυθεντικοποίηση ............................................................................................................................. 99 4.2 Συνθηµατικά .................................................................................................................................................. .......................................................................................................... .................................................................................................... 102 104 110 4.2.1 Εικασία συνθηµατικών 4.2.2 Υποκλοπή συνθηµατικών 4.2.3 Παραβίαση αρχείου σνθηµατικών ............................................................................. 112 4.2.4 Η διαχείριση του µηχανισµού συνθηµατικών Σύνοψη .................................................... 116 116 117 ................................................................................................................................................................................ ...................................................................................................................................... Bιβλιογραφία κεφαλαίου K∂º∞§∞π√ 5 ŒÏÂÁ¯Ô˜ ¶ÚÔۤϷÛ˘ Σκοπός, Προσδοκώµενα αποτελέσµατα, Έννοιες κλειδιά, Eισαγωγικές παρατηρήσεις ................................................................................................................................. 119 5.1 5.2 5.3 Υποκείµενα και αντικείµενα ........................................................................................................... ................................................................................................. 121 124 Πολιτικές ελέγχου προσπέλασης Μοντέλα ελέγχου προσπέλασης ................................................................................................... 130 5.3.1 ∆ικτυώµατα ...................................................................................................................................... ........................................................................................................ 130 130 5.3.2 Μοντέλο Bell-LaPadula 5.3.3 Μοντέλο Biba ................................................................................................................................. 131 5.3.4 Μοντέλο Σινικού Τείχους ..................................................................................................... 131 5.3.5 Μοντέλο Clark-Wilson ........................................................................................................... 132 5.3.6 Μοντέλα πολιτικών RBAC .................................................................................................. 134 5.3.7 Μοντέλο Graham-Denning .................................................................................................. 135 8 A™ºA§EIA Y¶O§O°I™TøN 5.3.8 Μοντέλο Harrison-Ruzzo-Ullman ................................................................................. 135 5.3.9 Μοντέλο ανάκλησης-παραχώρησης ............................................................................ 136 5.4 Μηχανισµοί ελέγχου προσπέλασης ........................................................................................... 138 5.4.1 Ευρετήρια ............................................................................................................................................ 138 5.4.2 Λίστες ελέγχου προσπέλασης ............................................................................................ 141 5.4.3 Πίνακας ελέγχου προσπέλασης ........................................................................................ 142 5.4.4 ∆υνατότητες ...................................................................................................................................... 143 5.4.5 Έλεγχος προσπέλασης µέσω διαδικασίας ............................................................... 145 Σύνοψη ................................................................................................................................................................................ 147 Bιβλιογραφία κεφαλαίου K∂º∞§∞π√ 6 ...................................................................................................................................... 148 AÛÊ¿ÏÂÈ· §ÂÈÙÔ˘ÚÁÈÎÒÓ ™˘ÛÙËÌ¿ÙˆÓ Σκοπός, Προσδοκώµενα αποτελέσµατα, Έννοιες κλειδιά, Eισαγωγικές παρατηρήσεις ................................................................................................................................ 149 6.1 Μηχανισµοί προστασίας 6.1.1 ∆ιεργασίες ..................................................................................................................... 151 151 156 160 161 162 163 164 165 ......................................................................................................................................... .......................................................................................................... ............................................................................................. 6.1.2 Προστασία της µνήµης 6.1.3 Προστασία Εισόδου/Εξόδου 6.1.4 Προστασία αρχείων .................................................................................................................. ............................................................................................................ 6.1.5 Οι πυρήνες ασφάλειας 6.2 Η ασφάλεια του Unix ............................................................................................................................ ..................................................... 6.2.1 Ταυτοποίηση και αυθεντικοποίηση χρηστών 6.2.2 Έλεγχος προσπέλασης ............................................................................................................ 6.2.3 Ίχνος ελέγχου .................................................................................................................................. 170 6.2.4 Περικαλύµµατα ............................................................................................................................. 171 6.2.5 Οι περιορισµοί ασφάλειας του παραδοσιακού Unix 6.3 Η ασφάλεια των Windows NT .................................... 173 175 175 ...................................................................................................... ............................................................................. 6.3.1 Ταυτοποίηση και αυθεντικοποίηση ¶EPIEXOMENA 9 6.3.2 Έλεγχος προσπέλασης ............................................................................................................ 176 Σύνοψη ................................................................................................................................................................................ 179 Bιβλιογραφία κεφαλαίου K∂º∞§∞π√ 7 ...................................................................................................................................... 179 K·Îfi‚Ô˘ÏÔ §ÔÁÈÛÌÈÎfi Σκοπός, Προσδοκώµενα αποτελέσµατα, Έννοιες κλειδιά, Eισαγωγικές παρατηρήσεις ................................................................................................................................ 181 7.1 Ιοµορφικό λογισµικό 7.1.1 ∆οµή ιών 7.1.2 Τύποι ιών 7.1.3 Μακρο-ιοί .............................................................................................................................. 183 185 189 190 ............................................................................................................................................. ............................................................................................................................................ .......................................................................................................................................... 7.1.4 Προστασία ......................................................................................................................................... 192 7.2 Μη ιοµορφικό κακόβουλο λογισµικό 7.2.1 Κερκόπορτες ...................................................................................... 200 200 201 201 ................................................................................................................................... ............................................................................................................................. 7.2.2 Λογικές βόµβες 7.2.3 ∆ούρειοι Ίπποι ............................................................................................................................... 7.2.4 Έλικες .................................................................................................................................................... 202 7.2.5 Βακτήρια ............................................................................................................................................ 203 Σύνοψη ................................................................................................................................................................................ 204 Bιβλιογραφία κεφαλαίου ...................................................................................................................................... 205 Bιβλιογραφικές προτάσεις ................................................................................................................................. 207 Bιβλιογραφία ................................................................................................................................................................. 208 Eπίλογος ............................................................................................................................................................................ 213 Απαντήσεις ασκήσεων αυτοαξιολόγησης ............................................................................................ 215 Aπαντήσεις δραστηριοτήτων Γλωσσάριο .......................................................................................................................... 227 245 ...................................................................................................................................................................... ¶ÚfiÏÔÁÔ˜ Όταν, το 1988, ήρθα για πρώτη φορά σ’ επαφή µε το γνωστικό αντικείµενο της ασφάλειας υπολογιστών, το αντικείµενο αυτό αφενός µεν δεν ήταν ευρέως γνωστό (όταν έλεγες ότι ασχολείσαι µε ασφάλεια υπολογιστών, σε κοίταζαν παράξενα και µερικοί ίσως και λίγο ύποπτα), αφετέρου η αναγνώρισή του ως επιστηµονικού / ερευνητικού αντικειµένου κάθε άλλο παρά καθολική ήταν (οι περισσότεροι το θεωρούσαν περιοχή επαγγελµατικής µάλλον παρά επιστηµονικής δραστηριοποίησης). Επιπλέον, οι γνώσεις µας γύρω από το αντικείµενο ήταν ακόµη αρκετά περιορισµένες σε έκταση. Σήµερα, δώδεκα χρόνια µετά, η ασφάλεια πληροφοριακών και επικοινωνιακών συστηµάτων αποτελεί αναµφισβήτητα ένα από τα κεντρικά αντικείµενα ενδιαφέροντος των επιστηµόνων που σχολούνται µε τα συστήµατα αυτά, τόσο σε τεχνικό όσο και σε οικονοµικό και διοικητικό επίπεδο. Παράλληλα, το επιστηµονικό αντικείµενο της ασφάλειας έχει διευρυνθεί πάρα πολύ. Ήταν, λοιπόν, αναπόφευκτο να γραφούν και σχετικά βιβλία για τις ανάγκες του Ελληνικού Ανοικτού Πανεπιστηµίου. Το πρώτο από τα βιβλία αυτά, που ασχολείται µε την ασφάλεια υπολογιστών συστηµάτων, κρατάτε τώρα στα χέρια σας. Το δεύτερο βιβλίο αναφέρεται στην ασφάλεια δικτύων. Το βιβλίο είναι δοµηµένο σε επτά κεφάλαια. Στο πρώτο κεφάλαιο δίνουµε ορισµούς για τις πρωταρχικές έννοιες «δεδοµένα» και «πληροφορία», όπως επίσης και µια αρχική αίσθηση του τι σηµαίνει «προστασία» της πληροφορίας, και εξηγούµε γιατί υπάρχει πράγµατι ανάγκη για τέτοια προστασία. Ως εισαγωγικό κεφάλαιο, θεωρείται µικρής δυσκολίας. Στο δεύτερο κεφάλαιο θεµελιώνουµε ένα επαρκώς αποδεκτό σύνολο όρων, που θα µας επιτρέψει την αποτελεσµατική και σαφή επικοινωνία µε κοινή γλώσσα. Στο κεφάλαιο αυτό ξεκαθαρίζουµε, λοιπόν, βασικές έννοιες σχετικές µε το αντικείµενο της µελέτης µας δίνοντας αυστηρούς (πια) ορισµούς. Και πάλι, ο βαθµός δυσκολίας δεν είναι µεγάλος, αλλά απαιτείται πολύ προσεκτική µελέτη, ώστε ο αναγνώστης να κάνει κτήµα του τους ορισµούς των βασικών εννοιών και όχι απλώς να τις αποστηθίσει. Στα δύο πρώτα κεφάλαια είδαµε την αναγκαιότητα προστασίας των πληροφοριακών συστηµάτων µιας επιχείρησης. Η προστασία αυτή θα πρέπει, φυσικά, να προκύψει ως αποτέλεσµα ενός συγκροτηµένου σχεδίου. Στο τρίτο κεφάλαιο µαθαίνουµε από τι αποτελείται και πώς αναπτύσσεται ένα τέτοιο σχέδιο. Ο βαθµός δυσκολίας του κεφαλαίου είναι µέτριος. Στο τέταρτο κεφάλαιο µπαίνουµε σε εξειδικευµένα τεχνικά θέµατα και ασχολούµαστε µε την ταυτοποίηση και την αυθεντικοποίηση χρηστών σε σύγχρονα, µη κατα- 12 A™ºA§EIA Y¶O§O°I™TøN νεµηµένα, υπολογιστικά συστήµατα. Η ύλη του κεφαλαίου είναι τεχνική, αλλά όχι ιδιαίτερα δύσκολη. Στο πέµπτο κεφάλαιο ασχολούµαστε µε τον έλεγχο προσπέλασης και γνωρίζουµε πολιτικές, µοντέλα και µηχανισµούς ελέγχου προσπέλασης. Το κεφάλαιο αυτό περιέχει αρκετά θεωρητικά ζητήµατα και έχει έντονο µαθηµατικό φορµαλισµό. Θεωρείται από τα περισσότερο δυσνόητα στην περιοχή της ασφάλειας υπολογιστών. Στο έκτο κεφάλαιο ασχολούµαστε µε την ασφάλεια λειτουργικών συστηµτων. Συζητάµε τους µηχανισµούς προστασίας και πώς αυτοί εξειδικεύονται σε δύο συγκεκριµένα λειτουργικά συστήµατα. Η ύλη εδώ παρουσιάζει µέτριο βαθµό δυσκολίας. Στο έβδοµο και τελευταίο κεφάλαιο ασχολούµαστε µε το κακόβουλο λογισµικό και γνωρίζουµε τους ιούς, τις κερκόπορτες, τις λογικές βόµβες, τους ∆ούρειους Ίππους, τους έλικες και τα βακτήρια. Και πάλι, ο βαθµός δυσκολίας είναι µικρός έως µέτριος. Πριν σας παραδώσω το κείµενο, θα ήθελα να ευχαριστήσω το συνάδελφο και καλό φίλο ∆ηµήτρη Γκρίτζαλη, Επίκουρο Καθηγητή του Τµήµατος Πληροφορικής του Οικονοµικού Πανεπιστηµίου Αθηνών, που, ως Κριτικός Αναγνώστης, είχε την ατυχία να υποστεί πρώτος τα δοκίµιά µου. Εγώ είχα την ευτυχία να υποστώ την –όπως πάντα– εποικοδοµητική κριτική του. Ευχαριστίες επίσης αρµόζουν και στην Οµάδα Εκτέλεσης Έργου του ΕΑΠ για τη µεθοδική τους δουλειά και τις εύστοχες παρατηρήσεις και υποδείξεις τους. Ο συνεργάτης µου και υποψήφιος διδάκτορας του Τµήµατος Πληροφοριακών και Επικοινωνιακών Συστηµάτων του Πανεπιστηµίου Αιγαίου Κώστας Βασιλείου µε βοήθησε δίνοντάς µου ενδεικτικές απαντήσεις σε κάποιες δραστηριότητες, και γι’ αυτό τον ευχαριστώ. Ευχαριστίες όµως πρέπει να αποδοθούν σ’ όλους όσοι υπήρξαν ή είναι φοιτητές µου, που από το 1982, που άρχισα να διδάσκω, µ’ έµαθαν και συνεχίζουν να µε µαθαίνουν πώς να κάνω τη δουλειά αυτή καλύτερα. Τέλος, και ίσως πιο πολύ απ’ όλους, ευχαριστώ τη γυναίκα µου και τα παιδιά µου, που εξακολουθούν να ανέχονται την ενασχόλησή µου µε την επιστήµη σε βάρος ίσως της επαφής µου µ’ αυτούς. Ελπίζω να συνεχίσουν να µε συγχωρούν. Τελειώνοντας, θα ήθελα να σας παρακαλέσω να κρίνετε επιστηµονικά και αντικειµενικά το βιβλίο αυτό και να µου γνωστοποιήσετε την κριτική σας – θετική ή αρνητική. Καλή µελέτη! Σωκράτης Κ. Κάτσικας Ιούνιος 2000 ∫ ∂ ∏ ·Ó¿ÁÎË ÚÔÛÙ·Û›·˜ ÙˆÓ ÏËÚÔÊÔÚÈÒÓ ™ÎÔfi˜ Το εισαγωγικό αυτό κεφάλαιο έχει σκοπό να δώσει ορισµούς για τις έννοιες «δεδοµένα» και «πληροφορία», όπως επίσης και µια αρχική αίσθηση του τι σηµαίνει «προστασία» της πληροφορίας, και να εξηγήσει γιατί υπάρχει πράγµατι ανάγκη για τέτοια προστασία. 1 º ∞ § ∞ π √ ¶ÚÔÛ‰ÔÎÒÌÂÓ· ·ÔÙÂϤÛÌ·Ù· Όταν θα έχετε τελειώσει τη µελέτη του κεφαλαίου αυτού, θα µπορείτε να: • ∆ιακρίνετε τις έννοιες «δεδοµένα» και «πληροφορία». • Αναφέρετε δύο λόγους για τους οποίους η πληροφορία έχει οικονοµική σηµασία. • Αναφέρετε έξι παράγοντες που διαµορφώνουν την αξία της πληροφορίας. • Αναφέρετε δύο λόγους για τους οποίους η πληροφορία έχει κοινωνική σηµασία. • Περιγράψετε τη δοµή ενός πλαισίου προστασίας της πληροφορίας. • Αναφέρετε τρεις νοµικές και µια κανονιστική ρύθµιση σχετικές µε την προστασία της πληροφορίας. • Περιγράψετε τέσσερις βασικές οργανωσιακές ρυθµίσεις που πρέπει να κάνει µια επιχείρηση ή ένας οργανισµός προκειµένου να εξασφαλίσει την προστασία των πληροφοριών που διαχειρίζεται. ŒÓÓÔȘ ÎÏÂȉȿ • δεδοµένα • πληροφορία • προστασία • ασφάλεια ∂ÈÛ·ÁˆÁÈΤ˜ ·Ú·ÙËÚ‹ÛÂȘ Καθηµερινά αυξάνουν οι αναφορές των εφηµερίδων και περιοδικών –για να µη µιλή- 14 K E º A § A I O 1 : ∏ ∞ ¡ ∞ ° ∫ ∏ ¶ ƒ √ ™ ∆∞ ™ π ∞ ™ ∆ ø ¡ ¶ § ∏ ƒ √ º √ ƒ π ø ¡ σουµε για τις σελίδες του κυβερνοχώρου– σε ζητήµατα σχετικά µε την «ασφάλεια» ή την «προστασία» των πληροφοριών και τη σηµασία τους. Είναι όµως πραγµατικά απαραίτητη και σηµαντική η προστασία της πληροφορίας; Αν ναι, γιατί; Πρέπει να προστατεύονται όλες οι πληροφορίες ισότιµα; Το εισαγωγικό αυτό κεφάλαιο έχει σκοπό να δώσει απαντήσεις στα ερωτήµατα αυτά. Η παρουσίαση του κεφαλαίου γίνεται σε τρεις ενότητες, από τις οποίες οι δύο πρώτες συζητούν την οικονοµική και την κοινωνική σηµασία της πληροφορίας, ενώ η τελευταία αναλύει ένα πλαίσιο προστασίας της πληροφορίας. Η ασφάλεια υπολογιστών αναφέρεται στον έλεγχο πρόσβασης σε πληροφορίες. Ωστόσο, το να ελέγξει κανείς την πρόσβαση σε πληροφορίες µπορεί να είναι πολύ δύσκολο ή ακόµη και εντελώς αδύνατο. Για το λόγο αυτό συνήθως αντικαθιστούµε το στόχο αυτό µε τον αµεσότερο και ευκολότερο να επιτευχθεί στόχο, του ελέγχου της πρόσβασης σε δεδοµένα. Η διαφοροποίηση ανάµεσα στις πληροφορίες και στα δεδοµένα είναι πολύ λεπτή, αλλά η έλλειψη κατανόησής της είναι µια από τις συχνότερες αιτίες παρεξηγήσεων. Τα δεδοµένα δεν είναι τίποτε άλλο παρά ένα σύνολο καταγραµµένων συµβόλων. Πληροφορία είναι τα δεδοµένα µαζί µε την (υποκειµενική) ερµηνεία τους. Πιο αναλυτικά και περισσότερο αυστηρά, «δεδοµένα είναι φυσικά φαινόµενα που έχουν επιλεγεί διά συµφωνίας για να αντιπροσωπεύσουν συγκεκριµένες πτυχές του πραγµατικού και νοητού µας κόσµου. Οι ερµηνεες που εµείς αντιστοιχίζουµε στα δεδοµένα ονοµάζονται πληροφορίες. Τα δεδοµένα χρησιµοποιούνται για την αποθήκευση και µετάδοση πληροφορίας και για την παραγωγή νέας πληροφορίας µέσω επεξεργασίας των δεδοµένων σύµφωνα µε αυστηρούς κανόνες». Όταν η συσχέτιση ανάµεσα στα δεδοµένα και στις πληροφορίες είναι µεγάλη, οι δύο διαφορετικοί αυτοί στόχοι µπορεί να επιτευχθούν µε όµοια µέσα. Ωστόσο, αυτό δεν αποτελεί τον κανόνα. Ένα καλό παράδειγµα περίπτωσης όπου αυτό δε συµβαίνει είναι οι δίαυλοι συγκαλυµµένης µετάδοσης πληροφορίας, όπου η εξαγωγή της πληροφορίας µπορεί να γίνει από το γεγονός και µόνο ότι απαγορεύεται η πρόσβαση σε κάποια δεδοµένα ή σε κάποιον πόρο ενός συστήµατος. Ένα άλλο παράδειγµα είναι το πρόβληµα της εξαγωγής συµπερασµάτων σε στατιστικές βάσεις δεδοµένων. Φανταστείτε µια βάση δεδοµένων µε στοιχεία για τις επιστροφές φόρου κάθε φορολογούµενου (όπως θα µπορούσε να είναι ένα υποσύστηµα του συστήµατος TAXIS). Η βάση αυτή δε χρησιµοποιείται µόνο από τους εφοριακούς του Υπουργείου Οικονοµικών, που φυσικά πρέπει να έχουν πρόσβαση στη µεµονω- ∂ π ™ ∞ ° ø ° π ∫ ∂ ™ ¶ ∞ ƒ∞∆ ∏ ƒ ∏ ™ ∂ π ™ 15 µένη εγγραφή του κάθε φορολογούµενου, αλλά και από τους σχεδιαστές πολιτικής του Υπουργείου Εθνικής Οικονοµίας, οι οποίοι, ενώ πρέπει να έχουν πρόσβαση σε στατιστικές περιλήψεις των επιστροφών φόρων, δεν έχουν καµία αρµοδιότητα ανάγνωσης µεµονωµένων εγγραφών. Ας υποθέσουµε ότι το σύστηµα διαχείρισης της βάσης επιτρέπει στατιστικές ερωτήσεις µόνο σε σύνολα δεδοµένων αρκετά µεγάλα, ώστε να προστατεύονται οι µεµονωµένες εγγραφές. Είναι δυνατόν να συνάγει κανείς πληροφορία για µεµονωµένες εγγραφές κάτω απ’ αυτές τις συνθήκες; Και βέβαια είναι: αρκεί να συνδυάσει τα αποτελέσµατα που θα του δώσουν δύο στατιστικές ερωτήσεις σε δύο διαφορετικά, µεγάλα σύνολα εγγραφών, που διαφέρουν όµως µόνο κατά µία εγγραφή. Έτσι είναι δυνατή η συναγωγή πληροφορίας για µια µεµονωµένη εγγραφή, χωρίς καν να γίνει άµεση προσπέλαση των δεδοµένων. Κλείνουµε τα εισαγωγικά µας αυτά σχόλια δίνοντας µια πρώτη αίσθηση του τι σηµαίνει προστασία – είτε δεδοµένων είτε πληροφοριών. Λέγοντας λοιπόν προστασία, εννοούµε συνήθως τη διατήρηση τριών βασικών ιδιοτήτων της πληροφορίας ή των δεδοµένων: της εµπιστευτικότητας, της ακεραιότητας και της διαθεσιµότητας. ∆ε θα προχωρήσουµε σε αυστηρό ορισµό των εννοιών αυτών εδώ, πράγµα που θα αναβάλουµε για το επόµενο κεφάλαιο. Προς το παρόν θα αρκεστούµε στη χρήση των όρων αυτών µε την έννοια που έχουν στην κοινή γλώσσα. 16 K E º A § A I O 1 : ∏ ∞ ¡ ∞ ° ∫ ∏ ¶ ƒ √ ™ ∆∞ ™ π ∞ ™ ∆ ø ¡ ¶ § ∏ ƒ √ º √ ƒ π ø ¡ 1.1 ∏ oÈÎÔÓÔÌÈ΋ ÛËÌ·Û›· Ù˘ ÏËÚÔÊÔÚ›·˜ 1.1.1 ¶ÏËÚÔÊÔÚ›· Î·È ·ÁÎÔÛÌÈÔÔ›ËÛË Ù˘ ÔÈÎÔÓÔÌ›·˜ Ο ατοµικός, επιχειρηµατικός και εθνικός πλούτος εκφράζεται όλο και περισσότερο ως συνάρτηση της πληροφορίας. Η ανάπτυξη και η απόδοση των δύο τρίτων περίπου της οικονοµίας βασίζεται σε τοµείς της βιοµηχανίας ή των υπηρεσιών που εξαρτώνται σε πολύ µεγάλο βαθµό από τις τεχνολογίες πληροφοριών και επικοινωνιών. Αυτό που είναι ίσως σηµαντικότερο δεν είναι τόσο η σηµερινή εξάρτηση της οικονοµίας από την πληροφορία, όσο οι διαµορφούµενες µελλοντικές τάσεις. Σύµφωνα µε εκτιµήσεις, το µακρο–οικονοµικό κλίµα αναµένεται να αλλάξει δραµατικά µέσα στις επόµενες δεκαετίες, προς την κατεύθυνση της ακόµη µεγαλύτερης εξάρτησης από την πληροφορία. Οι εκτιµήσεις αυτές βασίζονται κυρίως στη διαπίστωση ότι η παραγωγή του παγκόσµιου οικονοµικού προϊόντος τείνει να ισοκατανεµηθεί περισσότερο απ’ ό,τι σήµερα. Πράγµατι, το κέντρο βάρους της παγκόσµιας οικονοµικής δραστηριότητας µετατοπίζεται γεωγραφικά µακρύτερα από τη Βόρεια Αµερική και την Ευρώπη, αφού οι αναπτυγµένες χώρες της λεκάνης του Ειρηνικού Ωκεανού, αλλά και οι αναπτυσσόµενες χώρες, συµµετέχουν όλο και περισσότερο σ’ αυτήν. Η προϊούσα αυτή παγκοσµιοποίηση της οικονοµίας βασίζεται σε πολύ µεγάλο βαθµό στις αυξηµένες δυνατότητες συλλογής, επεξεργασίας, αποθήκευσης και µετάδοσης πληροφοριών που παρέχουν οι σύγχρονες τεχνολογίες πληροφοριών και επικοινωνιών. Πρέπει επίσης να σηµειώσουµε το παρατηρούµενο ήδη φαινόµενο της µετατόπισης της οικονοµικής δραστηριότητας των ανεπτυγµένων οικονοµικά χωρών από τοµείς της κατασκευαστικής ή µεταποιητικής βιοµηχανίας σε τοµείς των υπηρεσιών. 1.1.2 ∏ ÏËÚÔÊÔÚ›· ˆ˜ ·Á·ıfi Από τη συζήτηση που κάναµε στην προηγούµενη παράγραφο φαίνεται ότι, σε µακρο–οικονοµικό τουλάχιστον επίπεδο, η σηµασία της πληροφορίας είναι µεγάλη. Έχει όµως οικονοµική αξία η πληροφορία σε επίπεδο επιχείρησης; Είναι δηλαδή η πληροφορία αγαθό, και µάλιστα µε µετρήσιµη αξία; Για να µπορέσουµε να απαντήσουµε πειστικά στο ερώτηµα αυτό, θα πρέπει να ανοίξουµε µια παρένθεση και να συζητήσουµε µερικά χαρακτηριστικά της πληροφορίας, που την κατατάσσουν χωρίς αµφιβολία ανάµεσα στα αγαθά, αλλά ταυτόχρονα τη διαφοροποιούν ουσιαστικά απ’ αυτά. Ακούγοντας τη λέξη αγαθό, κάποιος αµέσως θα σκεφτεί κάτι υλικό. Πράγµατι, είναι πολύ εύκολο να συσχετίσουµε την έννοια αυτή µε υλικά πράγµατα. Το µοντέλο του καταστηµατάρχη µε το µαγαζί του γεµάτο µε υλικά αγαθά (ή πράγµατα), που τα πουλάει, είναι τόσο απλό όσο και κατανοητό για όλους. Παρατηρήστε στο µοντέλο αυτό 1.1 ∏ Oπ∫√¡√ªπ∫∏ ™∏ª∞™π∞ ∆∏™ ¶§∏ƒ√º√ƒπ∞™ 17 ότι ο καταστηµατάρχης έχει αγοράσει αυτά τα αγαθά, πληρώνοντας κάποιο κόστος. Όταν πουλήσει ένα απ’ αυτά, τότε µειώνεται το στοκ του κατά ένα, εισπράττει µια αξία και ενδεχοµένως αποκοµίζει κάποιο κέρδος. Αντίστοιχα, ο πελάτης φεύγει από το κατάστηµα έχοντας πληρώσει µια αξία και παίρνοντας µαζί του «κάτι», το οποίο πολλές φορές µπορεί και να µεταπωλήσει. Προχωρώντας ένα επίπεδο αφαίρεσης πιο πάνω, πάντα όσον αφορά τα αγαθά, σκεφτείτε το µοντέλο του παροχέα υπηρεσιών, δηλαδή του δικηγόρου, του µηχανικού, του γιατρού ή του κουρέα. Ποιο είναι εδώ το αγαθό που πουλιέται – και, κατά συνέπεια, έχει αξία; Μα φυσικά ο χρόνος του παροχέα. ∆εν είναι δύσκολο να διαπιστώσει κανείς ότι και ο χρόνος είναι αγαθό, µε κάποια βέβαια χαρακτηριστικά πολύ διαφορετικά από ένα υλικό αγαθό, αλλά και αρκετές οµοιότητες. Μια σηµαντική οµοιότητα είναι ότι ο χρόνος, όπως και κάθε υλικό αγαθό, µπορεί να πουληθεί από τον εκάστοτε «ιδιοκτήτη» του µια µόνο φορά. Μια σηµαντική διαφορά είναι ότι, σε αντίθεση µε τα υλικά αγαθά, ο χρόνος δεν µπορεί να µεταπωληθεί. Το επόµενο επίπεδο αφαίρεσης µας φέρνει στην έννοια της πληροφορίας ως αγαθού. Αποφεύγοντας τον αυστηρό οικονοµολογικό ορισµό του αγαθού, πιστεύω ότι θα συµφωνήσετε µάλλον άµεσα µε την άποψη ότι κάτι είναι αγαθό αν κάποιος πληρώνει για να το αποκτήσει, ή, διαφορετικά, αν είναι δυνατόν, να αποτελέσει αντικείµενο οικονοµικής συναλλαγής, αν έχει δηλαδή αξία. Συνεχίζοντας µε την υπόθεση ότι συµφωνήσαµε σ’ αυτό, πιστεύω ότι κανείς δε θα διαφωνήσει µε τον ισχυρισµό ότι πολλοί θα πλήρωναν για να αποκτήσουν πληροφορία: οι επενδυτές για να µάθουν σε ποιο ύψος θα διαµορφωθεί η τιµή µιας µετοχής στο χρηµατιστήριο, οι διαφηµιστές για να αποκτήσουν λίστες διευθύνσεων πελατών, οι επιχειρηµατίες για να µάθουν τα σχέδια των ανταγωνιστών τους, οι φοιτητές για να µάθουν τις απαντήσεις στα θέµατα των εξετάσεων κτλ. Αφού, λοιπόν, η πληροφορία αποτελεί αντικείµενο οικονοµικής συναλλαγής, είναι λογικό να δεχτούµε ότι αποτελεί αγαθό και έχει οικονοµική αξία. Αποµένει να συζητήσουµε αν η αξία αυτή είναι µετρήσιµη και –αν είναι– πώς µπορεί να µετρηθεί. Πριν όµως αρχίσουµε τη συζήτηση αυτή, είναι χρήσιµο να επισηµάνουµε ένα ιδιαίτερο χαρακτηριστικό της πληροφορίας που την καθιστά αρκετά διαφορετική από άλλα είδη αγαθών και που παίζει ιδιαίτερο ρόλο στη διαµόρφωση της αξίας της: Η πληροφορία δεν καταναλώνεται. Σε πλήρη αντίθεση µε τα υλικά αγαθά ή το χρόνο, η πληροφορία µπορεί να πουληθεί περισσότερες από µία φορές, από τον ίδιο ιδιοκτήτη. Ο χρηµατιστής µπορεί να πουλήσει σε όλους τους πελάτες του τις πληροφορίες που έχει για τη διαµόρφωση της τιµής µιας µετοχής, ο δυσαρεστηµένος υπάλληλος µπορεί να πουλήσει εσωτερικές πληροφορίες για την επιχείρηση στην οποία απασχολείται σε περισσότερους από έναν αντα- 18 K E º A § A I O 1 : ∏ ∞ ¡ ∞ ° ∫ ∏ ¶ ƒ √ ™ ∆∞ ™ π ∞ ™ ∆ ø ¡ ¶ § ∏ ƒ √ º √ ƒ π ø ¡ γωνιστές της, ο κάτοχος της λίστας πελατών µπορεί να την πουλήσει σε περισσότερους από ένα διαφηµιστές κ.ο.κ. 1.1.3 ∏ ·Í›· Ù˘ ÏËÚÔÊÔÚ›·˜ Επιστρέφοντας τώρα στο ερώτηµα αν η αξία της πληροφορίας είναι µετρήσιµη, παραθέτουµε τρία επιχειρήµατα που συνηγορούν στο να απαντήσουµε καταφατικά: 1. Η συλλογή, δηµιουργία ή συντήρηση της πληροφορίας συνεπάγεται κόστος. 2. Η πληροφορία έχει αξία για αυτούς στους οποίους ανήκει, αυτούς που τη φυλάγουν, αυτούς που τη χρησιµοποιούν και αυτούς που επιθυµούν να την αποκτήσουν. Το κόστος και η αξία της πληροφορίας υπάρχουν ήδη στον πραγµατικό κόσµο. Η πληροφορία, λοιπόν, έχει κόστος ή αξία ή και τα δύο, και το κόστος της µπορεί να αντανακλά σωστά την αξία της ή όχι. Η αξία της πληροφορίας σχεδόν πάντα διαµορφώνεται από µια σειρά παράγοντες, που, ανάλογα και µε την υποκειµενική γνώµη των ενδιαφεροµένων να την αποτιµήσουν, την κάνουν µεγαλύτερη από το αναγνωρίσιµο κόστος. Οι παράγοντες αυτοί είναι: • Η αποκλειστική κατοχή • Η χρησιµότητα • Το κόστς δηµιουργίας (απόκτησης) ή αναδηµιουργίας (επαναπόκτησης) • Η αστική ή άλλη νοµική ευθύνη • Η µετατρεψιµότητα ή διαπραγµατευσιµότητα • Η επιχειρησιακή σηµασία Ο βαθµός στον οποίο µια πληροφορία βρίσκεται στην αποκλειστική κατοχή κάποιου σχετίζεται άµεσα µε την αξία που έχει η πληροφορία για τον κάτοχό της. Αυτό γίνεται αµέσως κατανοητό αν σκεφτούµε το παράδειγµα ενός επιχειρηµατικού µυστικού, που φυσικά έχει µεγάλη αξία για τον κάτοχό του όταν αυτός είναι ο αποκλειστικός κάτοχος. Όλοι οι ιδιοκτήτες πιτσαρίας στην Αθήνα της δεκαετίας του ’70 που σέβονταν τον εαυτό τους είχαν και κάποιο µυστικό συστατικό της ζύµης της πίτσας τους, που υποτίθεται την έκανε µοναδική σε γεύση, τραγανότητα κτλ. Αργότερα, βέβαια, όταν αποµυθοποιήθηκε και η πίτσα στην Ελλάδα, αποκαλύφθηκε ότι δεν υπήρξαν ποτέ τέτοια µυστηριώδη συστατικά, αλλά όλοι τους φύλαγαν τότε ως κόρη οφθαλµού τα επιχειρηµατικά τους αυτά µυστικά. Ο βαθµός αποκάλυψης επίσης επηρεάζει την αξία που µια πληροφορία έχει και για τρίτους, εκτός δηλαδή από τον κάτοχό της. Για παράδειγµα, η αποκάλυψη µιας πληροφορίας σε όλους αυτούς 1.1 ∏ Oπ∫√¡√ªπ∫∏ ™∏ª∞™π∞ ∆∏™ ¶§∏ƒ√º√ƒπ∞™ 19 που µπορούν να τη χρησιµοποιήσουν δε δίνει συγκριτικό πλεονέκτηµα σε κανέναν και, συνεπώς, η πληροφορία έχει µικρότερη αξία απ’ αυτήν που θα είχε αν αποκαλυπτόταν σε έναν και µοναδικό. Η δηµόσια ανακοίνωση των αυριανών τιµών των µετοχών στο χρηµατιστήριο (αν ήταν δυνατός ο καθορισµός τους) απαξιώνει προφανώς την αξία της πληροφορίας αυτής, σε αντίθεση µε την αποκάλυψή της σε έναν (ή ακόµη και σε λίγους) επιλεγµένο επενδυτή. Πληροφορία που είναι χρήσιµη έχει αξία τουλάχιστον ίση µε τη χρήση που θα της γίνει. Αντίστροφα, πληροφορία που δεν µπορεί να χρησιµοποιηθεί απ’ αυτούς που την κατέχουν µπορεί να έχει και αρνητική αξία, να αποτελεί δηλαδή ζηµιογόνο παράγοντα. Η χρησιµότητα της πληροφορίας µπορεί να αποδειχθεί εύκολα αν σκεφτούµε ότι η καταστροφή (ή η µη διαθεσιµότητά) της µπορεί να έχει ως αποτέλεσµα τη θέση της επιχείρησης σε κατάσταση µη λειτουργίας. Έτσι, η συνέχιση της λειτουργίας της επιχείρησης βασίζεται συχνά στην ύπαρξη της πληροφορίας. Φανταστείτε πόσο αποτελεσµατική θα ήταν µια υπηρεσία παροχής πληροφοριών τηλεφωνικού καταλόγου αν για κάποιο λόγο ο υπολογιστής που χρησιµοποιεί βρισκόταν εκτός λειτουργίας, κάνοντας µη διαθέσιµη την απαιτούµενη πληροφορία. Η «αντίστροφη» αυτή λογική χρησιµοποιείται επίσης για να εκτιµήσει την τάξη µεγέθους της αξίας της πληροφορίας. Μια από τις ευκολότερες και πιο συντηρητικές µεθόδους καθορισµού της αξίας µιας οντότητας είναι ο καθορισµός τού πόσο κόστισε στην επιχείρηση η δηµιουργία ή απόκτησή της, όταν η διαδικασία αυτή µπορεί να επαναληφθεί µε περίπου το ίδιο κόστος. Ωστόσο, αν η διαδικασία δεν µπορεί να επαναληφθεί (ή η επανάληψή της είναι απαγορευτικά δαπανηρή), το αρχικό κόστος πιθανόν να µην είναι καλός δείκτης της τρέχουσας αξίας. Το κόστος έκδοσης του τηλεφωνικού καταλόγου της Αττικής σε ηλεκτρονική µορφή αποτελεί πολύ καλή ένδειξη της αξίας της πληροφορίας που περιέχει, ενώ, αντίθετα, το κόστος συλλογής πληροφοριών από τον Άρη αποτελεί πιθανόν κακή εκτίµηση της αξίας τους. Όταν η πληροφορία ενέχει µια σχέση εµπιστοσύνης, πιθανόν λόγω της προσωπικής, επιχειρηµατικής ή εθνικής φύσης της, ο κάτοχός της µπορεί να φέρει νοµική ευθύνη για αστοχία της προστασίας της. Ο γιατρός που αποκαλύπτει πληροφορίες ιατρικής φύσης που του έγιναν γνωστές κατά την εξάσκηση του λειτουργήµατός του υπέχει ποινική ευθύνη. Ήδη ο όρκος του Ιπποκράτη, λειτουργώντας ως κώδικας δεοντολογίας, απαγορεύει ρητά την πράξη αυτή. Αν η πληροφορία είναι ανακριβής ή ανεπίκαιρη ή σε µορφή ακατάλληλη ή ακατάληπτη από το χρήστη της, είναι δυνατόν να προκύψουν ευθύνες για παραβίαση της ακεραιότητας ή της διαθεσιµότητάς της. Πρέπει πάντως να σηµειώσουµε ότι η ευθύνη είναι πολύπλοκη ως στοιχείο απο- 20 K E º A § A I O 1 : ∏ ∞ ¡ ∞ ° ∫ ∏ ¶ ƒ √ ™ ∆∞ ™ π ∞ ™ ∆ ø ¡ ¶ § ∏ ƒ √ º √ ƒ π ø ¡ τίµησης της πληροφορίας, λόγω της εξαιρετικά πιθανοτικής φύσης της. Πράγµατι, για να αποτιµηθεί έτσι µια πληροφορία, θα πρέπει να συµβεί η αστοχία της προστασίας, θα πρέπει ένας τρίτος να υποστεί ζηµιά και επίσης θα πρέπει αυτός ο τρίτος να απαιτήσει αποζηµίωση από τον κάτοχο της πληροφορίας. Μέχρις ότου η διαδικασία αυτή οδηγήσει σε πραγµατοποίηση εξόδων, η ύπαρξη µιας θεωρητικής ευθύνης δεν είναι εύκολο να ποσοτικοποιηθεί πρακτικά. Όταν η πληροφορία αντιπροσωπεύει οικονοµική αξία, όπως, π.χ., σε περιπτώσεις ηλεκτρονικής µεταφοράς χρηµάτων, η αξία της είναι τουλάχιστον ίση µε την αξία ου αντιπροσωπεύει, αφού η τροποποίησή της προκαλεί αντίστοιχη τροποποίηση σε οικονοµική αξία. Συχνά µπορούµε να αποτιµήσουµε την αξία µιας πληροφορίας µε βάση τις επιπτώσεις που έχει στην επιχείρηση η απουσία της. Αν η απουσία της πληροφορίας έχει επιπτώσεις στην επιχειρηµατική λειτουργία, η ποσοτικοποίηση αυτών των επιπτώσεων δίνει ένα µέτρο της αξίας που έχει η πληροφορία για την επιχείρηση. Μπορούµε τώρα να συνοψίσουµε την ενότητα αυτή, λέγοντας ότι η πληροφορία είναι αγαθό που έχει οικονοµική αξία, η οποία µπορεί µάλιστα να µετρηθεί. Εποµένως, ως αγαθό µε αξία, η πληροφορία χρήζει προστασίας των τριών βασικών ιδιοτήτων της: της εµπιστευτικότητας, της ακεραιότητας και της διαθεσιµότητάς της. ÕÛÎËÛË A˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 1.1 Χαρακτηρίστε τις παρακάτω προτάσεις ως σωστές ή λάθος: Σωστό 1. Η συµβολοσειρά ΥΙΙ2214 είναι πληροφορία. 2. Η συµβολοσειρά ΥΙΙ2214 είναι ένα δεδοµένο. 3. Ο αριθµός αυτοκινήτου ΥΙΙ2214 είναι ένα δεδοµένο. 4. Ο αριθµός αυτοκινήτου ΥΙΙ2214 είναι πληροφορία. 5. Ο αριθµός αυτοκινήτου ΥΙΙ2214 του συγγραφέα είναι ένα δεδοµένο. 6. Ο αριθµός αυτοκινήτου ΥΙΙ2214 του συγγραφέα είναι πληροφορία. ❏ ❏ ❏ ❏ ❏ ❏ Λάθος ❏ ❏ ❏ ❏ ❏ ❏ 1.2 ∏ ∫√π¡ø¡π∫∏ ™∏ª∞™π∞ ∆∏™ ¶§∏ƒ√º√ƒπ∞™ 21 ÕÛÎËÛË A˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 1.2 Η πληροφορία έχει µακρο–οικονοµική σηµασία γιατί (επιλέξτε µια από τις ακόλουθες απαντήσεις): 1. Η οικονοµία έχει αυξανόµενους δεσµούς εξάρτησης από την πληροφορία. 2. Το παγκόσµιο προϊόν τείνει να ισοκατανεµηθεί. 3. Η οικονοµική δραστηριότητα στις ανεπτυγµένες χώρες µετατοπίζεται προς τον τοµέα των υπηρεσιών. 4. Κανένα από τα παραπάνω. ÕÛÎËÛË A˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 1.3 Η πληροφορία έχει µικρο–οικονοµική σηµασία γιατί (επιλέξτε µια από τις ακόλουθες απαντήσεις): 1. ∆εν καταναλώνεται. 2. Eίναι αγαθό. 3. H συλλογή, δηµιουργία και συντήρησή της κοστίζουν. 4. Kανένα από τα παραπάνω. ¢Ú·ÛÙËÚÈfiÙËÙ· 1.1 Στην Παράγραφο 1.1.3 συζητήσαµε έξι παράγοντες που διαµορφώνουν την αξία µιας πληροφορίας και δώσαµε αντίστοιχα παραδείγµατα. Προσπαθήστε να δώσετε ένα δικό σας σύνολο παραδειγµάτων, δίνοντας ένα παράδειγµα για κάθε παράγοντα. Αν νοµίζετε ότι υπάρχουν και άλλοι παράγοντες διαµόρφωσης αξίας της πληροφορίας, αναφέρετέ τους και δώστε παραδείγµατα. 1.2 ∏ ÎÔÈÓˆÓÈ΋ ÛËÌ·Û›· Ù˘ ÏËÚÔÊÔÚ›·˜ Η πληροφορία δεν αποτελεί, όπως φάνηκε στην προηγούµενη ενότητα, µόνο πηγή πλούτου. Πράγµατι, η αυξανόµενη εξάρτηση της οικονοµίας από την πληροφορία, σε συνδυασµό µε την παρατήρηση ότι οι τεχνολογικά ανεπτυγµένες χώρες βρίσκονται σε πλεονεκτική θέση ως προς τη δυνατότητα εκµετάλλευσης της πληροφορίας 22 K E º A § A I O 1 : ∏ ∞ ¡ ∞ ° ∫ ∏ ¶ ƒ √ ™ ∆∞ ™ π ∞ ™ ∆ ø ¡ ¶ § ∏ ƒ √ º √ ƒ π ø ¡ σε σχέση µε τις τεχνολογικά εξαρτηµένες, οδηγεί στο συµπέρασµα ότι η άναρχη αξιοποίηση της πληροφορίας καταλήγει νοµοτελειακά στη διεύρυνση του υφιστάµενου χάσµατος ανάµεσα στις δύο αυτές κατηγορίες χωρών, µε ταυτόχρονη ανάπτυξη πελατειακών σχέσεων ή σχέσεων ελέγχου και εξάρτησης. Μπορεί, λοιπόν, η πληροφορία να αποτελέσει και ισχυρό όργανο κοινωνικού ελέγχου. Βέβαια, η παραπάνω διαπίστωση ήταν ισχυρή σε οποιαδήποτε χρονική στιγµή της ανθρώπινης ιστορίας, µετά τη συγκρότηση της τελευταίας γύρω από οργανωµένες κοινωνικές οµάδες. Πάντα η κατοχή πληροφορίας αποτελούσε συγκριτικό πλεονέκτηµα για το άτοµο ή την κοινωνική οµάδα που κατείχε την πληροφορία. ∆ιαχρονικά, ωστόσο, µεταβάλλεται ο βαθµός στον οποίο µπορεί να αξιοποιηθεί η πληροφορία, λόγω της µεταβολής των δυνατοτήτων της τεχνολογικής υποδοµής που χρησιµοποιείται για το σκοπό αυτό. Πράγµατι, σε αντίθεση µε το παρελθόν, οι σηµερινές δυνατότητες των τεχνολογιών πληροφοριών και επικοινωνιών, µέσα στις δεδοµένες κοινωνικές συνθήκες, επιτρέπουν τη συγκέντρωση, επεξεργασία, αποθήκευση και µετάδοση µεγάλου όγκου πληροφοριών, γεγονός που µπορεί να οδηγήσει: • στην ενοποίηση και ολοκληρωµένη παράθεση αυτών, • στη συνδυασµένη χρήση πληροφοριών που συλλέχθηκαν ενδεχοµένως για διαφορετικούς σκοπούς ή • στη λήψη αποφάσεων αποκλειστικά µε βάση αυτοµατοποιηµένη επεξεργασία πληροφοριών, επιτρέποντας έτσι την άσκηση ελέγχου ή επίβλεψης των δραστηριοτήτων ατόµων ή ακόµη και ολόκληρων κοινωνικών οµάδων. Η ανθρώπινη ιστορία είναι γεµάτη µε παραδείγµατα καταχρηστικής ή ακόµη και εγκληµατικής αξιοποίησης πληροφοριών που συλλέχθηκαν αρχικά για κάποιο κοινωνικά αποδεκτό σκοπό. Σε πολλές περιπτώσεις οι θιγόµενοι δεν ήταν απλώς µέλη µιας κοινωνικής ή επαγγελµατικής οµάδας, ούτε καν πολίτες µιας και µόνης χώρας. Το Εβραϊκό Ολοκαύτωµα, η γενοκτονία των Ποντίων και οι κάθε λογής διώξεις των «πολιτικά αντιφρονούντων» σε όλα τα µήκη και τα πλάτη της γης και σε όλες τις εποχές αποτελούν κλασικά παραδείγµατα καταχρηστικής αξιοποίησης πληροφοριών σχετικών µε τις θρησκευτικές πεποιθήσεις, την εθνική ταυτότητα ή τη φιλοσοφική/πολιτική τοποθέτηση ατόµων ή οµάδων. Πληροφορίες που αφορούν την οικονοµική κατάσταση, το ποινικό µητρώο, τις επαγγελµατικές δραστηριότητες, τις συνδικαλιστικές δραστηριότητες, την κατάσταση της υγείας, τα γενετικά χαρακτηριστι- 1.2 ∏ ∫√π¡ø¡π∫∏ ™∏ª∞™π∞ ∆∏™ ¶§∏ƒ√º√ƒπ∞™ 23 κά, τις σεξουαλικές προτιµήσεις ατόµων γίνονται επίσης, πολύ συχνά, αντικείµενο καταχρηστικής αξιοποίησης. Τα καταδικαστέα απ’ όλους αυτά κρούσµατα θα µπορούσαν, βέβαια, να είχαν αποφευχθεί µε έναν πολύ απλό αλλά ελάχιστα πρακτικό τρόπο: αν οι σχετικές πληροφορίες δε συλλέγονταν ποτέ. Αν και η επιλογή αυτή είναι δυνατή όσον αφορά κάποιες τέτοιες προσωπικές πληροφορίες (π.χ. θρησκευτικές, φιλοσοφικές, πολιτικές πεποιθήσεις), θα συµφωνήσουµε όλοι εύκολα, πιστεύω, ότι το κοινωνικό όφελος που προκύπτει από τη σωστή χρήση και αξιοποίηση άλλων τέτοιων, επίσης προσωπικών, πληροφοριών είναι ανυπολόγιστο. Έτσι, λοιπόν, η «λύση» της αποχής από τη συλλογή πληροφοριών δεν αποτελεί, στην πραγµατικότητα, λύση στο πρόβληµα της κατάχρησης της πληροφορίας για καµία σύγχρονη κοινωνία. Πού βρίσκεται λοιπόν η λύση; Η λύση πιστεύω ότι βρίσκεται όχι στην άκριτη απαγόρευση συλλογής ή χρήσης των πληροφοριών, αλλά στην επιβολή κανόνων και πρακτικών που θα εξασφαλίζουν (στο µέτρο του δυνατού) την κοινωνικά αποδεκτή χρήση τους. Με άλλα λόγια, η λύση βρίσκεται στην υιοθέτηση, από κάθε διακριτή κοινωνία, ενός πλαισίου δράσεων προστασίας των πληροφοριών και της χρήσης τους. Ένα τέτοιο πλαίσιο θα συζητήσουµε στην επόµενη ενότητα. ÕÛÎËÛË A˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 1.4 Χαρακτηρίστε τις παρακάτω προτάσεις ως σωστές ή λάθος: Σωστό 1. Η πληροφορία έχει κοινωνική σηµασία, επειδή µπορεί να οδηγήσει σε διεύρυνση του χάσµατος ανάµεσα στις τεχνολογικά ανεπτυγµένες και τις τεχνολογικά αναπτυσσόµενες χώρες. 2. Η πληροφορία έχει κοινωνική σηµασία, επειδή η κατοχή της αποτελεί συγκριτικό πλεονέκτηµα. 3. Η πληροφορία έχει κοινωνική σηµασία, επειδή επιτρέπει την άσκηση ελέγχου ή επίβλεψης των δραστηριοτήτων ατόµων ή οµάδων. 4. Η πληροφορία έχει κοινωνική σηµασία επειδή χρησιµοποιεται καταχρηστικά. Λάθος ❏ ❏ ❏ ❏ ❏ ❏ ❏ ❏ 24 K E º A § A I O 1 : ∏ ∞ ¡ ∞ ° ∫ ∏ ¶ ƒ √ ™ ∆∞ ™ π ∞ ™ ∆ ø ¡ ¶ § ∏ ƒ √ º √ ƒ π ø ¡ 1.3 ŒÓ· Ï·›ÛÈÔ ÁÈ· ÙËÓ ÚÔÛÙ·Û›· ÙˆÓ ÏËÚÔÊÔÚÈÒÓ Ένα αποτελεσµατικό πλαίσιο προστασίας των πληροφοριών σε µια σύγχρονη κοινωνία πρέπει να έχει τα εξής, τουλάχιστον, βασικά χαρακτηριστικά: • Να είναι κοινωνικά αποδεκτό, δηλαδή η ανάπτυξή του να έχει βασιστεί στις απόψεις του κοινωνικού συνόλου. • Να είναι πολυδύναµο, δηλαδή η ανάπτυξή του να έχει βασιστεί στην ανάλογη διεθνή εµπειρία και πρακτική. • Να είναι πολυδιάστατο, δηλαδή να συνδυάζει θεσµικές ρυθµίσεις, οργανωσιακές ρυθµίσεις και κοινωνικές δράσεις. Είναι αυτονόητο ότι ένα τέτοιο πλαίσιο δεν είναι δυνατόν να είναι ταυτόχρονα αρκετά χρήσιµο στην πράξη και αρκετά γενικό ώστε να µπορεί να καλύψει όλα τα είδη της πληροφορίας και όλα τα είδη των συστηµάτων που συλλέγουν, αποθηκεύουν, επεξεργάζονται και µεταδίδουν πληροφορίες. Η κατάσταση, λοιπόν, αποτυπώνεται σε δύο άξονες, όπως φαίνεται και στο Σχήµα 1.1: Ο ένας αντιπροσωπεύει τοµεακά πληροφοριακά συστήµατα (π.χ. Πληροφοριακά Συστήµατα Υγείας, Πληροφοριακά Συστήµατα ∆ηµόσιας ∆ιοίκησης, Πληροφοριακά Συστήµατα Κοινωνικής Ασφάλισης, Νοµικά Πληροφοριακά Συστήµατα κτλ.) και ο άλλος δράσεις που πρέπει να αναληφθούν ώστε να αναγνωριστούν και να ικανοποιηθούν οι ανάγκες και απαιτήσεις προστασίας των σχετικών πληροφοριών. ΤΟΜΕΙΣ ΕΦΑΡΜΟΓΗΣ Υγεία Θεσµικές Ρυθµίσεις Οργανωσιακές Ρυθµίσεις Κοινωνικές ∆ράσεις ∆ηµόσια ∆ιοίκηση Κοινωνική Ασφάλιση ∆ικαιοσύνη ™¯‹Ì· 1.1 Πλαίσιο προστασίας πληροφοριών Κάποιες από τις δράσεις αυτές, καθώς και οι συνακόλουθες ρυθµίσεις, µπορούν, και πρέπει, να είναι κοινές ανάµεσα στα διάφορα τοµεακά πληροφοριακά συστήµατα. Είναι αυτά τα κοινά σηµεία που θα µας απασχολήσουν στη συνέχεια. 1.3.1 £ÂÛÌÈΤ˜ Ú˘ıÌ›ÛÂȘ ∆ιακρίνουµε τις θεσµικές ρυθµίσεις σε κανονιστικές και νοµικές. Πέρα από αυτή τη –λειτουργική– διάκριση, οι θεσµικές ρυθµίσεις διακρίνονται και ανάλογα µε το γεω- 1 . 3 ∂ ¡ ∞ ¶ § ∞ π ™ π √ ° π ∞ ∆ ∏ ¡ ¶ ƒ √ ™ ∆∞ ™ π ∞ ∆ ø ¡ ¶ § ∏ ƒ √ º √ ƒ π ø ¡ 25 γραφικό πεδίο εφαρµογής τους σε διεθνείς, εθνικές και τοπικές, δηλαδή αυτές που ισχύουν µόνο σε ορισµένες περιοχές µιας χώρας (π.χ. σε ένα οµόσπονδο κρατίδιο της Γερµανίας). Τέλος, διακρίνονται και ανλογα µε το τοµεακό πεδίο εφαρµογής τους σε οριζόντιες, δηλαδή µε πεδίο εφαρµογής µεγαλύτερο του ενός τοµέα και σε κατακόρυφες, δηλαδή µε πεδίο εφαρµογής ένα µόνο τοµέα (π.χ. µόνο στην Υγεία). Ο σκοπός µας εδώ δεν είναι να δώσουµε µια αναλυτική περιγραφή όλων των θεσµικών ρυθµίσεων που αφορούν την προστασία των πληροφοριών, αλλά απλώς να τοποθετήσουµε την υπόλοιπη συζήτησή µας µέσα στο κατάλληλο θεσµικό πλαίσιο. Θα περιοριστούµε, λοιπόν, µόνο στη σύντοµη αναφορά του ισχύοντος στην Ευρωπαϊκή Ένωση και στην Ελλάδα νοµικού πλαισίου, παραπέµποντας τον ενδιαφερόµενο για περισσότερες λεπτοµέρειες αναγνώστη στην (πλούσια) σχετική βιβλιογραφία. Πρέπει να διευκρινίσω ότι το κανονιστικό πλαίσιο για το θέµα που µας ενδιαφέρει εδώ είναι ακόµα αρκετά ρευστό σε διεθνές επίπεδο και ανύπαρκτο σε ελληνικό, γι’ αυτό και δε θεωρώ σκόπιµη τη λεπτοµερή αναφορά σ’ αυτό, µε εξαίρεση µια σύντοµη συζήτηση σχετικά µε τις οδηγίες ασφάλειας πληροφοριακών συστηµάτων του Οργανισµού Οικονοµικής Συνεργασίας και Ανάπτυξης (ΟΟΣΑ). ∏ ™Àªµ∞™∏ 108 ∆√À ™Àªµ√À§π√À ∆∏™ ∂Àƒø¶∏™ Η πρώτη σε ευρωπαϊκό επίπεδο ρύθµιση σχετική µε την επεξεργασία προσωπικών δεδοµένων ήταν η σύµβαση 108 του Συµβουλίου της Ευρώπης περί «Προστασίας των ατόµων από την αυτοµατοποιηµένη επεξεργασία προσωπικών δεδοµένων» της 28 Ιανουαρίου 1981. Ο τίτλος και µόνο της σύµβασης µας ωθεί στο να κάνουµε δύο πολύ ενδιαφέρουσες παρατηρήσεις: 1. Η σύµβαση µιλά για δεδοµένα και όχι για πληροφορίες. Βλέπουµε, λοιπόν, αµέσως µια εφαρµογή της παρατήρησης που κάναµε στην εισαγωγή του κεφαλαίου ότι ο στόχος της προστασίας πληροφοριών συχνά αντικαθίσταται µε το στόχο της προστασίας δεδοµένων. 2. Η σύµβαση αναφέρεται σε προστασία δεδοµένων προσωπικού χαρακτήρα. Η ίδια η σύµβαση ορίζει τα δεδοµένα αυτά ως κάθε πληροφορία που αναφέρεται σε φυσικό πρόσωπο του οποίου η ταυτότητα είναι γνωστή ή µπορεί να εξακριβωθεί. Είναι φανερό ότι ανώνυµες, συγκεντρωτικές ή στατιστικές πληροφορίες δεν εντάσσονται στο πεδίο εφαρµογής της σύµβασης. Τα συµβαλλόµενα κράτη–µέλη δηλώνουν καταρχήν ότι επιθυµούν να ενισχύσουν τα µέτρα προστασίας των δικαιωµάτων και των θεµελιωδών ελευθεριών των πολι- 26 K E º A § A I O 1 : ∏ ∞ ¡ ∞ ° ∫ ∏ ¶ ƒ √ ™ ∆∞ ™ π ∞ ™ ∆ ø ¡ ¶ § ∏ ƒ √ º √ ƒ π ø ¡ τών τους, και ειδικότερα ου δικαιώµατος της προστασίας της προσωπικής ζωής, ενόψει της αυξανόµενης διασυνοριακής ροής προσωπικών δεδοµένων, τα οποία µάλιστα υφίστανται αυτοµατοποιηµένη επεξεργασία. Ταυτόχρονα επιβεβαιώνουν την προσήλωσή τους στην αρχή της ελεύθερης διακίνησης της πληροφορίας µεταξύ τους και διαπιστώνουν ότι υπάρχει ανάγκη υιοθέτησης κανόνων σεβασµού και των δύο αυτών αρχών. Στη συνέχεια, η σύµβαση καθορίζει το σκοπό και το στόχο της, ορίζει βασικές έννοιες (προσωπικά δεδοµένα, αυτοµατοποιηµένο αρχείο, αυτοµατοποιηµένη επεξεργασία, ελεγκτής αρχείου) και καθορίζει το πεδίο εφαρµογής της: αυτοµατοποιηµένα αρχεία προσωπικών δεδοµένων του δηµόσιου και του ιδιωτικού τοµέα, επιτρέποντας στους συµβαλλόµενους να επεκτείνουν ή –υπό όρους– να περιορίσουν αυτό το πεδίο εφαρµογής και σε άλλες κατηγορίες αρχείων ή δεδοµένων. Στο κεφάλαιο ΙΙ, η σύµβαση • αναφέρεται στην απαιτούµενη ποιότητα των δεδοµένων, • απαγορεύει την αυτοµατοποιηµένη επεξεργασία ειδικών κατηγοριών δεδοµένων (φυλετικής προέλευσης, πολιτικών ή θρησκευτικών ή άλλων πεποιθήσεων, υγείας, σεξουαλικής ζωής, ποινικού µητρώου), • απαιτεί τη λήψη κατάλληλων µέτρων ασφάλειας των αυτοµατοποιηµένων αρχείων, • κατοχυρώνει το δικαίωµα του υποκειµένου των δεδοµένων να γνωρίζει την ύπαρξη του αρχείου που περιέχει δικά του δεδοµένα, να πληροφορείται τα καταχωρισµένα δεδοµένα που την/τον αφορούν, να αιτείται τη διόρθωση ή διαγραφή λανθασµένων δεδοµένων που την/τον αφορούν και να αποζηµιώνεται αν αυτό δε συµβεί, • ορίζει συγκεκριµένες περιπτώσεις εξαίρεσης εφαρµογής των παραπάνω, • θεµελιώνει την υποχρέωση των συµβαλλόµενων µερών να νοµοθετήσουν ποινές για την παραβίαση των οριζοµένων σ’ αυτήν και • επιτρέπει τη θεσµοθέτηση ευρύτερων (µε την έννοια των ισχυρότερων) σχετικών ρυθµίσεων από τα συµβαλλόµενα µέρη. Το Κεφάλαιο ΙΙΙ της σύµβασης είναι αφιερωµένο στη διασυνοριακή ροή δεδοµένων, την οποία επιτρέπει, δίνοντας όµως ταυτόχρονα στα συµβαλλόµενα µέρη το δικαίωµα να αρνηθούν τέτοια ροή αν η χώρα προορισµού των δεδοµένων ή κάποια ενδιάµεση κατά τη µεταφορά των δεδοµένων χώρα δεν έχει επαρκή µέτρα προστασίας τους. Το Κεφάλαιο IV αναφέρεται στην παροχή αµοιβαίας βοήθειας µεταξύ των συµβαλλόµενων µερών, καθορίζει τις ρυθµίσεις που τα συµβαλλόµενα έρη πρέπει να ανα- 1 . 3 ∂ ¡ ∞ ¶ § ∞ π ™ π √ ° π ∞ ∆ ∏ ¡ ¶ ƒ √ ™ ∆∞ ™ π ∞ ∆ ø ¡ ¶ § ∏ ƒ √ º √ ƒ π ø ¡ 27 λάβουν προκειµένου να καταστεί δυνατή η αλληλοβοήθεια στην υλοποίηση της σύµβασης, θεµελιώνει την υποχρέωση των µερών να βοηθούν υποκείµενα δεδοµένων που διαµένουν στο εξωτερικό, δίνει το δικαίωµα άρνησης παροχής βοήθειας σε συγκεκριµένες περιπτώσεις και, τέλος, ρυθµίζει την οικονοµική πλευρά του θέµατος. Το Κεφάλαιο V ιδρύει Συµβουλευτική Επιτροπή σχετική µε τη σύµβαση, καθορίζει τις αρµοδιότητές της και ρυθµίζει τις διαδικασίες σύγκλησής της. Το Κεφάλαιο VI αναφέρεται στη διαδικασία τροποποίησης της σύµβασης. Τέλος, το Κεφάλαιο VII περιέχει τις τελικές ρυθµίσεις της σύµβασης. ∏ ∂Àƒø¶∞π∫∏ √¢∏°π∞ 95/46 (95/C 93/01) Η πιο γενική και πρόσφατη θεσµική ρύθµιση για την προστασία των πληροφοριών σε επίπεδο Ευρωπαϊκής Ένωσης είναι η οδηγία 95/46 (ή 95/C 93/01) του Ευρωπαϊκού Κοινοβουλίου και του Συµβουλίου της Ευρωπαϊκής Ένωσης «για την προστασία των φυσικών προσώπων έναντι της επεξεργασίας δεδοµένων προσωπικού χαρακτήρα και για την ελεύθερη κυκλοφορία των δεδοµένων αυτών». Η οδηγία διαπιστώνει καταρχήν ότι • τα συστήµατα επεξεργασίας δεδοµένων υπηρετούν τον άνθρωπο και πρέπει να σέβονται τις θεµελιώδεις ελευθερίες και τα δικαιώµατά του, ιδιαίτερα δε την ιδιωτική ζωή, συµβάλλοντας ταυτόχρονα στην ευηµερία του, • απαιτείται µεν η εξασφάλιση της ελεύθερης διακίνησης των δεδοµένων προσωπικού χαρακτήρα, µε ταυτόχρονη όµως εξασφάλιση της προστασίας των θεµελιωδών δικαιωµάτων του ατόµου, • η επεξεργασία και η ανταλλαγή –ακόµη και η διασυνοριακή– δεδοµένων προσωπικού χαρακτήρα προβλέπεται να αυξηθεί και πρέπει να ενθαρρυνθεί, • υπάρχει ανάγκη διεθνούς (ευρωπαϊκής) νοµοθετικής ρύθµισης σχετικής µε την προστασία δεδοµένων προσωπικού χαρακτήρα, προκειµένου να διασφαλιστεί η µε ίσο βαθµό προστασίας επεξεργασία τέτοιων πληροφοριών που διακινούνται µεταξύ κρατών–µελών, • η οποιαδήποτε επεξεργασία δεδοµένων προσωπικού χαρακτήρα πρέπει να εκτελείται κατά τρόπο θεµιτό και σύννοµο, και στη συνέχεια προχωρεί στον ορισµό προϋποθέσεων σχετικά µε τη θεµιτή επεξεργασία δεδοµένων προσωπικού χαρακτήρα, οι κυριότερες από τις οποίες είναι οι εξής: 28 K E º A § A I O 1 : ∏ ∞ ¡ ∞ ° ∫ ∏ ¶ ƒ √ ™ ∆∞ ™ π ∞ ™ ∆ ø ¡ ¶ § ∏ ƒ √ º √ ƒ π ø ¡ • Τα δεδοµένα πρέπει να συλλέγονται για καθορισµένους, σαφείς και νόµιµους σκοπούς και η µεταγενέστερη επεξεργασία τους να συµβιβάζεται µε τους σκοπούς αυτούς. Πρέπει επίσης να είναι κατάλληλα, συναφή προς το θέµα, ακριβή και να διατηρούνται µε µορφή που επιτρέπει τον προσδιορισµό του ατόµου στο οποίο αναφέρονται µόνο για όσο χρονικό διάστηµα είναι απαραίτητο. • Επεξεργασία δεδοµένων προσωπικού χαρακτήρα επιτρέπεται µόνο όταν υπάρχει η ρητή συγκατάθεση του υποκειµένου των δεδοµένων ή είναι απαραίτητη για την εκτέλεση συµβατικών υποχρεώσεων του υποκειµένου ή είναι απαραίτητη για την τήρηση του νόµου ή είναι απαραίτητη για τη διαφύλαξη βιοτικού συµφέροντος του υποκειµένου, ή είναι απαραίτητη για την εκπλήρωση έργου δηµόσιου συµφέροντος ή είναι απαραίτητη για την επίτευξη του έννοµου συµφέροντος τρίτων, µε την προϋπόθεση ότι δεν υπερισχύει το συµφέρον ή οι θεµελιώδεις ελευθερίες και δικαιώµατα του υποκειµένου. • Απαγορεύεται η επεξεργασία δεδοµένων προσωπικού χαρακτήρα σχετικών µε τη φυλετική ή την εθνική καταγωγή, τα πολιτικά φρονήµατα, τις θρησκευτικές ή φιλοσοφικές πεποιθήσεις, εκτός αν πληρούνται κάποιες ρητά αναφερόµενες προϋποθέσεις. Ειδικά, η τήρηση πλήρους ποινικού µητρώου επιτρέπεται µόνο κάτω από τον έλεγχο της δηµόσιας αρχής. • Προκειµένου να συλλεχθούν και καταχωριστούν ή µεταδοθούν δεδοµένα προσωπικού χαρακτήρα, επιβάλλεται η πλήρης ενηµέρωση του υποκειµένου σχετικά µε την ταυτότητα του υπεύθυνου της επεξεργασίας, τους σκοπούς της επεξεργασίας, τους αποδέκτες των δεδοµένων, την υποχρέωση ή όχι παροχής των δεδοµένων και τις πιθανές συνέπειες σε περίπτωση άρνησης συµµόρφωσης, την ύπαρξη δικαιώµατος πρόσβασης και πιθανής διόρθωσης των δεδοµένων. • Κατοχυρώνεται το δικαίωµα του υποκειµένου των δεδοµένων να πληροφορείται αν υπάρχει επεξεργασία δεδοµένων που το αφορούν, να λαµβάνει γνώση, σε εύληπτη µορφή, των δεδοµένων που το αφορούν, να διορθώνει, διαγράφει ή δεσµεύει δεδοµένα ελλιπή ή ανακριβή και να αντιτάσσεται σε αποφάσεις που βασίζονται αποκλειστικά σε αυτοµατοποιηµένη επεξεργασία δεδοµένων που αξιολογεί ορισµένες πτυχές της προσωπικότητάς του. • Καθορίζονται οι υποχρεώσεις του υπεύθυνου για την επεξεργασία των δεδοµένων προσωπικού χαρακτήρα, προκειµένου να διασφαλιστεί το απόρρητο και η ασφάλεια της επεξεργασίας. Οι προϋποθέσεις αυτές περιλαµβάνουν την υποχρέωση του υπεύθυνου της επεξεργασίας να λάβει κατάλληλα τεχνικά και οργανωτικά µέτρα και να λαµβάνει άδεια επεξεργασίας από την αρµόδια εθνική αρχή ελέγχου. 1 . 3 ∂ ¡ ∞ ¶ § ∞ π ™ π √ ° π ∞ ∆ ∏ ¡ ¶ ƒ √ ™ ∆∞ ™ π ∞ ∆ ø ¡ ¶ § ∏ ƒ √ º √ ƒ π ø ¡ 29 √ ¡√ª√™ 2472/97 Παρ’ όλο που η χώρα µας επικύρωσε τη σύµβαση 108 του Συµβουλίου της Ευρώπης µε το νόµο 2068/1992, δεν προχώρησε ωστόσο άµεσα στη θέσπιση αντίστοιχης εθνικής νοµοθεσίας. Αυτό έγινε στις 10 Απριλίου 1997, όταν δηµοσιεύτηκε στην Εφηµερίδα της Κυβερνήσεως ο νόµος 2472 περί «Προστασίας του ατόµου από την επεξεργασία δεδοµένων προσωπικού χαρακτήρα». Αντικείµενο του νόµου αυτού είναι «η θέσπιση των προϋποθέσεων για την επεξεργασία δεδοµένων προσωπικού χαρακτήρα προς προστασία των δικαιωµάτων και των θεµελιωδών ελευθεριών των φυσικών προσώπων και ιδίως της ιδιωτικής ζωής». Η φιλοσοφία του νόµου ακολουθεί εκείνη της κοινοτικής οδηγίας που συζητήσαµε στην προηγούµενη παράγραφο, αλλά µε µια σηµαντική διαφορά: Ο νόµος 2472 διαχωρίζει µια ειδική κατηγορία δεδοµένων προσωπικού χαρακτήρα, τα οποία ονοµάζει ευαίσθητα δεδοµένα. Αυτά είναι «τα δεδοµένα που αφορούν τη φυλετική ή εθνική προέλευση, τα πολιτικά φρονήµατα, τις θρησκευτικές ή φιλοσοφικές πεποιθήσεις, τη συµµετοχή σε ένωση, σωµατείο και συνδικαλιστική οργάνωση, την υγεία, την κοινωνική πρόνοια και την ερωτική ζωή, καθώς και τα σχετικά µε ποινικές διώξεις ή καταδίκες». Η επεξεργασία δεδοµένων προσωπικού χαρακτήρα επιτρέπεται υπό την προϋπόθεση ότι το υποκείµενο των δεδοµένων έχει δώσει τη συγκατάθεσή του προς τούτο. Αντίθετα, η συλλογή και επεξεργασία των ευαίσθητων δεδοµένων γενικά απαγορεύεται, εκτός εάν συντρέχουν πολύ συγκεκριµένες προϋποθέσεις και δοθεί η άδεια προς τούτο από την Αρχή Προστασίας ∆εδοµένων Προσωπικού Χαρακτήρα. Ο νόµος, επίσης, καθορίζει τους όρους υπό τους οποίους είναι νόµιµη η διασύνδεση αρχείων, επιτρέπει τη διασυνοριακή ροή δεδοµένων προσωπικού χαρακτήρα προς χώρες της Ευρωπαϊκής Ένωσης ελεύθερα και προς τρίτες χώρες υπό προϋποθέσεις, θεσπίζει ρυθµίσεις που εξασφαλίζουν το απόρρητο και την ασφάλεια της επεξεργασίας, καθορίζει τα δικαιώµατα του υποκειµένου των δεδοµένων, θεσπίζει την ανεξάρτητη Αρχή Προστασίας ∆εδοµένων Προσωπικού Χαρακτήρα και περιγράφει τις αρµοδιότητές της και, τέλος, ορίζει κυρώσεις σε περιπτώσεις µη συµµόρφωσης µε τις διατάξεις του. Ο νόµος 2472 αποτελεί ένα σχετικά πλήρες νοµοθετικό πλαίσιο για την προστασία πληροφοριών στη χώρα µας. Πέρα από τις νοµικές του ρυθµίσεις, περιέχει και σειρά διατάξεων οι οποίες είτε άµεσα είτε έµµεσα παραπέµπουν σε τεχνικές ρυθµίσεις που ο υπεύθυνος της επεξεργασίας πρέπει να έχει υπόψη του και να εφαρµόσει. 30 K E º A § A I O 1 : ∏ ∞ ¡ ∞ ° ∫ ∏ ¶ ƒ √ ™ ∆∞ ™ π ∞ ™ ∆ ø ¡ ¶ § ∏ ƒ √ º √ ƒ π ø ¡ √π √¢∏°π∂™ °π∞ ∆∏¡ ∞™º∞§∂π∞ ¶§∏ƒ√º√ƒπ∞∫ø¡ ™À™∆∏ª∞∆ø¡ ∆√À √ƒ°∞¡π™ª√À √π∫√¡√ªπ∫∏™ ™À¡∂ƒ°∞™π∞™ ∫∞π ∞¡∞¶∆À•∏™ Οι οδηγίες αυτές, που εκδόθηκαν το 1992 και αναθεωρήθηκαν το 1998, αποτελούν το πιο σηµαντικό παράδειγµα κανονιστικής ρύθµισης, δηλαδή ρύθµισης που, ενώ δεν έχει ισχύ νόµου και συνεπώς δεν έχει και υποχρεωτικό χαρακτήρα, εντούτοις αποτελεί κανονισµό, µε τον οποίο τα ενδιαφερόµενα µέρη καλό είναι να συµµορφώνονται. Οι οδηγίες αυτές έχουν τους εξής στόχους: • Να αυξήσουν την ευαισθητοποίηση του κοινού στους κινδύνους που αντιµετωπίζουν τα πληροφοριακά συστήµατα και στα µέτρα ασφάλειας που µπορούν να µειώσουν τους κινδύνους αυτούς. • Να παράσχουν ένα γενικό πλαίσιο που θα βοηθήσει αυτούς που έχουν την ευθύνη, στο δηµόσιο και στον ιδιωτικό τοµέα, της ανάπτυξης και υλοποίησης µέτρων ασφάλειας πληροφοριακών συστηµάτων. • Να ενισχύσουν τη συνεργασία µεταξύ του δηµόσιου και του ιδιωτικού τοµέα στην ανάπτυξη και υλοποίηση τέτοιων µέτρων. • Να αυξήσουν την εµπιστοσύνη του κοινού στα πληροφοριακά συστήµατα και στον τρόπο µε τον οποίο αυτά χρησιµοποιούνται. • Να διευκολύνουν την ανάπτυξη και χρήση πληροφοριακών συστηµάτων σε εθνικό και διεθνές επίπεδο. • Να ενισχύσουν τη διεθνή συνεργασία στην ασφάλεια πληροφοριακών συστηµάτων. Οι οδηγίες αφορούν τόσο το δηµόσιο όσο και τον ιδιωτικό τοµέα και όλα τα πληροφοριακά συστήµατα. Στηρίζονται σε εννέα βασικές αρχές. Η αρχή της απόδοσης ευθύνης απαιτεί ότι οι τοµείς ευθύνης των ιδιοκτητών, παροχέων και χρηστών πληροφοριακών συστηµάτων, καθώς και όλων των µερών που σχετίζονται µε την ασφάλειά τους, πρέπει να είναι σαφώς διατυπωµένοι. Η έκφραση «όλων των µερών που σχετίζονται µε την ασφάλειά τους» εµπεριέχει τις διοικήσεις των οργανισµών ή επιχειρήσεων, τους προγραµµατιστές, τους παροχείς υπηρεσιών συντήρησης, τους υπεύθυνους λειτουργίας των πληροφοριακών συστηµάτων, τους υπεύθυνους ανάπτυξης λογισµικού, τους υπεύθυνους ασφάλειας των πληροφοριακών συστηµάτων και τους εσωτερικούς και εξωτερικούς ελεγκτές πληροφοριακών συστηµάτων. Η αρχή της ενηµέρωσης ορίζει ότι οι ιδιοκτήτες, παροχείς και χρήστες πληροφοριακών συστηµάτων, καθώς και όλα τα µέρη που σχετίζονται µε την ασφάλειά τους, 1 . 3 ∂ ¡ ∞ ¶ § ∞ π ™ π √ ° π ∞ ∆ ∏ ¡ ¶ ƒ √ ™ ∆∞ ™ π ∞ ∆ ø ¡ ¶ § ∏ ƒ √ º √ ƒ π ø ¡ 31 πρέπει να είναι συνεχώς ενήµεροι περί των µέτρων, πρακτικών και διαδικασιών ασφάλειας πληροφοριακών συστηµάτων. Η αρχή αυτή στοχεύει στο να βοηθήσει αυτούς που έχουν έννοµο συµφέρον να πληροφορηθούν τα µέτρα ασφάλειας ενός πληροφοριακού συστήµατος. ∆εν πρέπει να χρησιµοποιηθεί ως επιχείρηµα για την απόκτηση πρόσβασης στο ίδιο το πληροφοριακό σύστηµα ή στις υπηρεσίες ασφάλειάς του και δε θα πρέπει, συνεπώς, να ερµηνευτεί ως παράγοντας διακύβευσης της ίδιας της ασφάλειας του συστήµατος, λόγω του επιπέδου της πληροφορίας που πρέπει να δοθεί για την ικανοποίηση της αρχής αυτής. Η αρχή της ηθικής ορίζει ότι τα πληροφοριακά συστήµατα και τα µέτρα ασφάλειάς τους πρέπει να παρέχονται και να χρησιµοποιούνται έτσι ώστε να διατηρείται ο σεβασµός των δικαιωµάτων και των έννοµων συµφερόντων όλων. Όπως έχουµε πει, τα πληροφοριακά συστήµατα εισβάλλουν µαζικά στις κοινωνίες µας και στον πολιτισµό µας. Οι κανόνες και οι προσδοκίες του ανθρώπου εξελίσσονται σε σχέση µε την κατάλληλη παροχή και χρήση των πληροφοριακών συστηµάτων και της ασφάλειάς τους. Η αρχή αυτή υποστηρίζει την ανάπτυξη κοινωνικών προτύπων στις περιοχές αυτές. Σηµαντικά σχετικά θέµατα είναι η έκφραση των προτύπων αυτών σ’ όλα τα µέλη της κοινωνίας µας και η γαλούχηση των νέων µ’ αυτά. Η αρχή του πολυδύναµου ορίζει ότι τα µέτρα, οι πρακτικές και οι διαδικασίες ασφάλειας πληροφοριακών συστηµάτων πρέπει να είναι πολυδύναµες, να παίρνουν δηλαδή υπόψη τους και να αναφέρονται σε όλες τις σχετικές όψεις του ζητήµατος, που περιλαµβάνουν την τεχνική, τη διοικητική, την οργανωσιακή, την επιχειρησιακή, την εµπορική, την εκπαιδευτική και τη νοµική άποψη. Όταν αναπτύσσουµε ή συντηρούµε µέτρα, πρακτικές και διαδικασίες ασφάλειας πληροφοριακών συστηµάτων, είναι σηµαντικό να αναλύουµε όλο το φάσµα των απαιτήσεων ασφάλειας και των διαθέσιµων επιλογών. Για παράδειγµα, σ’ έναν οργανισµό η ικανοποίηση της αρχής αυτής θα απαιτούσε τη συνεργασία τεχνικών, νοµικών, της διοίκησης και των χρηστών. Όλες αυτές οι οµάδες έχουν διαφορετικές οπτικές, απαιτήσεις και πόρους, που πρέπει να συνδυαστούν προκειµένου να παραχθεί το βέλτιστο επίπεδο ασφάλειας για το πληροφοριακό σύστηµα. Όµοια, σε επίπεδο πολιτικής, τα τεχνικά πρότυπα, οι κώδικες καλής πρακτικής, η νοµοθεσία, η ενηµέρωση του κοινού, η εκπαίδευση στην ασφάλεια πληροφοριακών συστηµάτων είναι παράγοντες που µπορούν να αλληλοσυµπληρώνονται. Η αρχή της αναλογικότητας ορίζει ότι τα µέτρα ασφάλειας ενός πληροφοριακού συστήµατος πρέπει να είναι ανάλογα µε την αξία του συστήµατος, το βαθµό εξάρτησης από το σύστηµα και τη σοβαρότητα, πιθανότητα εµφάνισης και έκταση της ζηµιάς που µπορεί να συµβεί σ’ αυτό. ∆εν απαιτούν όλα τα πληροφοριακά συστή- 32 K E º A § A I O 1 : ∏ ∞ ¡ ∞ ° ∫ ∏ ¶ ƒ √ ™ ∆∞ ™ π ∞ ™ ∆ ø ¡ ¶ § ∏ ƒ √ º √ ƒ π ø ¡ µατα τον ύψιστο βαθµό ασφάλειας. Όσο σηµαντικό είναι να µην έχουµε πληροφοριακά συστήµατα ανεπαρκώς προστατευµένα, άλλο τόσο µάταιο είναι να παρέχουµε ασφάλεια πέρα από την απαιτούµενη. Το πώς θα µπορέσουµε να διακρίνουµε τις απαιτήσεις ασφάλειας ενός πληροφοριακού συστήµατος και να αποφασίσουµε για τα κατάλληλα µέτρα ασφάλειάς του θα το δούµε αργότερα, στο Κεφάλαιο 3. Η αρχή της ολοκλήρωσης ορίζει ότι τα µέτρα ασφάλειας ενός πληροφοριακού συστήµατος πρέπει να σχηµατίζουν ένα ολοκληρωµένο και ενιαίο σύνολο. Η αρχή αυτή αναφέρεται συχνά ως το puzzle της ασφάλειας. Η αποσπασµατική εφαρµογή µέτρων ασφάλειας δεν εξασφαλίζει συνήθως τίποτε, εκτός από την αύξηση των εξόδων. Σχετική είναι και η συνήθης παρατήρηση ότι η ασφάλεια ενός συστήµατος προσιδιάζει σε αλυσίδα και, συνεπώς, είναι τόσο ισχυρή όσο ο ασθενέστερος κρίκος της. Η αρχή της άµεσης δράσης ορίζει ότι ο δηµόσιος και ο ιδιωτικός τοµέας, σε εθνικό και διεθνές επίπεδο, πρέπει να δρουν άµεσα για να προλαµβάνουν ή να αντιµετωπίζουν παραβιάσεις ασφάλειας πληροφοριακών συστηµάτων. Στην εποχή της παγκοσµιοποίησης, η σηµασία των γεωγραφικών και χρονικών περιορισµών µιώνεται µέχρις ολοκληρωτικής εξαφάνισης. Η αρχή αυτή αναγνωρίζει το γεγονός αυτό και τη συνακόλουθη ανάγκη για την εγκαθίδρυση µηχανισµών άµεσης αντίδρασης σε περιπτώσεις παραβίασης ασφάλειας. Η αρχή της επανεξέτασης ορίζει ότι η αποδοτικότητα των µέτρων ασφάλειας πληροφοριακών συστηµάτων πρέπει να επανεξετάζεται περιοδικά. Τα πληροφοριακά συστήµατα είναι δυναµικοί σχηµατισµοί. Η τεχνολογία των συστηµάτων, οι χρήστες, τα δεδοµένα και οι πληροφορίες και, συνακόλουθα, οι απαιτήσεις ασφάλειας ενός πληροφοριακού συστήµατος µετασχηµατίζονται διαρκώς. Εποµένως, η επανεξέταση των µέτρων ασφάλειας και η συντήρησή τους είναι εξίσου σηµαντικές µε την υλοποίηση των µέτρων. Η αρχή της δηµοκρατίας ορίζει ότι η ασφάλεια των πληροφοριακών συστηµάτων πρέπει να είναι συµβατή µε τη σύννοµη χρήση και ροή των δεδοµένων και πληροφοριών σε µια δηµοκρατική κοινωνία. Τα έννοµα συµφέροντα των ιδιοκτητών, κατασκευαστών, χειριστών και χρηστών των πληροφοριακών συστηµάτων πρέπει πάντα να σταθµίζονται σε σχέση µε τα έννοµα συµφέροντα του κοινωνικού συνόλου ως προς τη χρήση και τη ροή των πληροφοριών, στα πλαίσια των αρχών της δηµοκρατικής µας κοινωνίας. Είναι συχνή η εσφαλµένη αντίληψη ότι η ύπαρξη µέτρων ασφάλειας οδηγεί σε περιορισµούς στην πρόσβαση και στη ροή των πληροφοριών. Ωστόσο, η πραγµατικότητα είναι εντελώς αντίθετη, αφού η ύπαρξη µέτρων ασφάλειας µπορεί να αυξήσει την πρόσβαση και τη ροή σε πληροφορίες, µέσω της παροχής 1 . 3 ∂ ¡ ∞ ¶ § ∞ π ™ π √ ° π ∞ ∆ ∏ ¡ ¶ ƒ √ ™ ∆∞ ™ π ∞ ∆ ø ¡ ¶ § ∏ ƒ √ º √ ƒ π ø ¡ 33 ακριβέστερων, πιο αξιόπιστων και πιο διαθέσιµων συστηµάτων. Για την υλοποίηση των αρχών αυτών, οι οδηγίες αναφέρουν ότι οι κυβερνήσεις, ο δηµόσιος και ο ιδιωτικός τοµέας πρέπει τουλάχιστον: • Nα αναπτύξουν κατάλληλες πολιτικές ασφάλειας πληροφοριακών συστηµάτων. • Nα παράσχουν εκπαίδευση και κατάρτιση στην ασφάλεια πληροφοριακών συστηµάτων. • Nα φροντίσουν για την εφαρµογή των οδηγιών αυτών. • Nα διευκολύνουν τη µεταξύ τους ανταλλαγή πληροφοριών σχετικά µε την υλοποίηση των οδηγιών. • Nα συνεργαστούν προς την κατεύθυνση της αποτελεσµατικότερης υλοποίησης των οδηγιών. 1.3.2 √ÚÁ·ÓˆÛȷΤ˜ Ú˘ıÌ›ÛÂȘ Οι οργανωσιακές ρυθµίσεις αφορούν τα µέτρα εκείνα οργάνωσης που κάθε επιχείρηση ή οργανισµός πρέπει να πάρει, προκειµένου να διασφαλίσει την προστασία των πληροφοριών που διαχειρίζεται. Τέτοια µέτρα είναι τα εξής: • Η αναγνώριση των γενικών αρχών που διέπουν την προστασία των πληροφοριών στα πληροφοριακά συστήµατα της επιχείρησης ή του οργανισµού. Οι αρχές αυτές εξαρτώνται από τη δοµή και συνείδηση της κοινωνίας µέσα στην οποία (και για την οποία) λειτουργεί το πληροφοριακό σύστηµα. Παράδειγµα µιας τέτοιας γενικής αρχής για ένα πληροφοριακό σύστηµα που λειτουργεί στο χώρο της υγείας σε χώρα της Ευρωπαϊκής Ένωσης είναι «το δικαίωµα του κάθε ασθενή να του παρασχεθούν, όταν το ζητήσει, οι ποιοτικά καλύτερες δυνατές ιατρικές υπηρεσίες». • Η διαµόρφωση µιας πολιτικής ασφάλειας, σύµφωνα µε την οποία η επιχείρηση ή ο οργανισµός θα λειτουργήσει προκειµένου να προστατεύσει τις πληροφορίες του. Μια τέτοια πολιτική αποτελείται από αρχές και οδηγίες. Οι αρχές προκύπτουν ως αποτέλεσµα της εξειδίκευσης των γενικών αρχών σε συγκεκριµένο θεσµικό περιβάλλον. Παράδειγµα µιας τέτοιας αρχής, που αποτελεί εξειδίκευση της παραπάνω γενικής αρχής, για ένα πληροφοριακό σύστηµα που λειτουργεί στο χώρο της υγείας σε χώρα της Ευρωπαϊκής Ένωσης είναι: «Τα πληροφοριακά συστήµατα στο χώρο της υγείας υπάρχουν και λειτουργούν για την εξυπηρέτηση των ασθενών, σύµφωνα µε τα ανθρώπινα δικαιώµατα και τις θεµελιώδεις ελευθερίες και σύµφωνα µε τις συνταγµατικές επιταγές περί πολιτικών δικαιωµάτων». Οι οδηγίες προκύπτουν ως αποτέλεσµα της θεώρησης των αρχών σε συγκεκριµένο τεχνο- 34 K E º A § A I O 1 : ∏ ∞ ¡ ∞ ° ∫ ∏ ¶ ƒ √ ™ ∆∞ ™ π ∞ ™ ∆ ø ¡ ¶ § ∏ ƒ √ º √ ƒ π ø ¡ λογικό περιβάλλον. Παράδειγµα µιας τέτοιας οδηγίας, που αποτελεί εξειδίκευση της παραπάνω αρχής, για ένα αυτοµατοποιηµένο πληροφοριακό σύστηµα που λειτουργεί στο χώρο της υγείας σε χώρα της Ευρωπαϊκής Ένωσης είναι: «Οποιοσδήποτε κανονισµός, πολιτική ή µέτρο που αφορά την προστασία των πληροφοριών ιατρικής φύσης πρέπει να σέβεται τα ανθρώπινα δικαιώµατα, τις θεµελιώδεις ελευθερίες και τις συνταγµατικές επιταγές. Σε καµιά περίπτωση δεν πρέπει αυτά να αγνοούνται προκειµένου να εξασφαλιστεί η προστασία της πληροφορίας». • Η διαµόρφωση των τεχνικών και διαδικαστικών µέτρων που απαιτούνται προκειµένου να επιτευχθεί συµµόρφωση µε την πολιτική ασφάλειας. Τα µέτρα αυτά προκύπτουν ως αποτέλεσµα της εξειδίκευσης των οδηγιών σε συγκεκριµένο τεχνολογικό περιβάλλον. Παράδειγµα ενός τέτοιου µέτρου, που αποτελεί εξειδίκευση της προηγούµενης οδηγίας, για ένα αυτοµατοποιηµένο πληροφοριακό σύστηµα που λειτουργεί στο χώρο της υγείας σε χώρα της Ευρωπαϊκής Ένωσης και χρησιµοποιεί σύστηµα διαχείρισης βάσης δεδοµένων είναι: «Πρέπει να υπάρχουν κατάλληλοι µηχανισµοί ελέγχου, ώστε να είναι δυνατή η διερεύνηση µη εξουσιοδοτηµένων προσπελάσεων στα στοιχεία της βάσης δεδοµένων. Οι µηχανισµοί αυτοί πρέπει να παρέχουν αρκετά λεπτοµερείς πληροφορίες, ώστε να είναι πρακτικά χρήσιµοι, αλλά και να µην επηρεάζουν πολύ την απόδοση του όλου συστήµατος». • Η διαµόρφωση ενός κώδικα δεοντολογίας, που θα συµπληρώνει την υπάρχουσα νοµοθεσία και θα δεσµεύει όλους αυτούς που ασχολούνται µε την ανάπτυξη, λειτουργία, συντήρηση ή χρήση του πληροφοριακού συστήµατος. 1.3.3 ∫ÔÈÓˆÓÈΤ˜ ‰Ú¿ÛÂȘ Οι κοινωνικές δράσεις, µε κυρίαρχες ανάµεσά τους την εκπαιδευτική διαδικασία και τις πολυποίκιλες διαδικασίες ενηµέρωσης, πρέπει να στοχεύουν στην καλλιέργεια της ευαισθητοποίησης και στη διαµόρφωση κοινωνικής εγρήγορσης για την αναγκαιότητα προστασίας των πληροφοριών, έτσι ώστε οι πολίτες να ενηµερώνονται, να προβληµατίζονται και, τελικά, να συµµετέχουν στις διαδικασίες που αφορούν τη χρήση πληροφοριών. Η διαδικασία αυτή αύξησης της κοινωνικής εγρήγορσης ούτε εύκολη ούτε απλή αλλά ούτε και σύντοµη είναι. Επιπλέον, αργεί πολύ να αποφέρει ορατά αποτελέσµατα. Στη χώρα µας, δυστυχώς, λείπουν ακόµη παντελώς δράσεις που θα βοηθούσαν στην κατεύθυνση της διαµόρφωσης µιας κοινωνικής συνείδησης ευαίσθητης στην προστασία των πληροφοριών. Αντίθετα, κρίνοντας από τη βάναυση, πολλές φορές, και δηµόσια κατάχρηση πληροφοριών προσωπικού χαρακτήρα που γίνεται στη χώρα µας, θα µπορούσε κανείς µάλλον δίκαια να ισχυριστεί ότι η κοινωνία µας όχι µόνο δεν είναι ευαίσθητη 1 . 3 ∂ ¡ ∞ ¶ § ∞ π ™ π √ ° π ∞ ∆ ∏ ¡ ¶ ƒ √ ™ ∆∞ ™ π ∞ ∆ ø ¡ ¶ § ∏ ƒ √ º √ ƒ π ø ¡ 35 στην αναγκαιότητα προστασίας τέτοιων πληροφοριών, αλλά ότι εγγίζει τα όρια της αναισθησίας. Απαιτούνται, λοιπόν, γενναίες και συστηµατικές δράσεις για να φτάσουµε κάποτε στο σηµείο, για παράδειγµα, να θεωρούµε την προστασία των πληροφοριών (ιατρικής φύσης) που δίνουµε στο γιατρό µας εξίσου ααραίτητη, αλλά και εξίσου αυτονόητη, όσο και τη χρήση αποστειρωµένων ιατρικών εργαλείων. ÕÛÎËÛË A˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 1.5 Η οδηγία 95/46 είναι (επιλέξτε µια από τις ακόλουθες απαντήσεις): 1. Θεσµική ρύθµιση διεθνούς επιπέδου. 2. Nοµική ρύθµιση διεθνούς επιπέδου. 3. Oριζόντια θεσµική ρύθµιση. 4. Oριζόντια νοµική ρύθµιση. 5. Όλα τα παραπάνω. ÕÛÎËÛË A˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 1.6 Ο νόµος 2472/97 είναι (επιλέξτε µια από τις ακόλουθες απαντήσεις): 1. Θεσµική ρύθµιση εθνικού επιπέδου. 2. Nοµική ρύθµιση τοπικού επιπέδου. 3. Oριζόντια κανονιστική ρύθµιση. 4. Kατακόρυφη νοµική ρύθµιση. 5. Όλα τα παραπάνω. ÕÛÎËÛË A˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 1.7 Η οδηγία 95/46 και ο νόµος 2472/97 (επιλέξτε µια από τις ακόλουθες απαντήσεις): 1. Aφορούν µόνο δεδοµένα προσωπικού χαρακτήρα. 2. Aφορούν µόνο ευαίσθητα δεδοµένα. 3. Aπαγορεύουν την επεξεργασία δεδοµένων προσωπικού χαρακτήρα. 4. Kανένα από τα παραπάνω. 36 K E º A § A I O 1 : ∏ ∞ ¡ ∞ ° ∫ ∏ ¶ ƒ √ ™ ∆∞ ™ π ∞ ™ ∆ ø ¡ ¶ § ∏ ƒ √ º √ ƒ π ø ¡ ÕÛÎËÛË A˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 1.8 Επιλέξτε, από τον παρακάτω κατάλογο, ποια είναι τα τέσσερα βασικά µέτρα οργάνωσης που κάθε οργανισµός πρέπει να πάρει προκειµένου να διασφαλίσει αποτελεσµατικά τις πληροφορίες που διαχειρίζεται: 1. Η αναγνώριση των γενικών αρχών προστασίας. 2. Η µελέτη της δοµής και συνείδησης της κοινωνίας. 3. Η αναγνώριση των δικαιωµάτων των υποκειµένων της πληροφορίας. 4. Η διαµόρφωση µιας πολιτικής ασφάλειας. 5. Η εξειδίκευση των γενικών αρχών στο συγκεκριµένο τεχνολογικό περιβάλλον. 6. Ο σεβασµός των ανθρώπινων δικαιωµάτων. 7. Η εξασφάλιση της πληροφορίας. 8. Η διαµόρφωση των απαιτούµενων τεχνικών και διαδικαστικών µέτρων. 9. Η ύπαρξη κατάλληλων µηχανισµών ελέγχου. 10. Η εξειδίκευση των οδηγιών στο συγκεκριµένο τεχνολογικό περιβάλλον. 11. Η διαµόρφωση ενός κώδικα δεοντολογίας. 12. Η συµπλήρωση της υπάρχουσας νοµοθεσίας. ¢Ú·ÛÙËÚÈfiÙËÙ· 1.2 Μελετήστε προσεκτικά τα πλήρη κείµενα της ευρωπαϊκής οδηγίας 95/46 (95/C 93/01) και του νόµου 2472/97, τα οποία σας δίνονται συνοδευτικά. Εντοπίστε τα κοινά τους σηµεία και τις διαφορές τους. ¢Ú·ÛÙËÚÈfiÙËÙ· 1.3 Υποθέστε ότι είστε ο υπεύθυνος επεξεργασίας ενός αρχείου (µε την έννοια του ν. 2472/97). Γράψτε µια αναφορά προς τη διοίκηση της επιχείρησης ή του οργανισµού σας εξηγώντας τι πρέπει να κάνει για να συµµορφωθεί µε τις διατάξεις του νόµου (και βέβαια τονίζοντας τι θα συµβεί αν δεν το κάνι). 1 . 3 ∂ ¡ ∞ ¶ § ∞ π ™ π √ ° π ∞ ∆ ∏ ¡ ¶ ƒ √ ™ ∆∞ ™ π ∞ ∆ ø ¡ ¶ § ∏ ƒ √ º √ ƒ π ø ¡ 37 ¢Ú·ÛÙËÚÈfiÙËÙ· 1.4 Υποθέστε ότι είστε ο υπεύθυνος επεξεργασίας ενός αρχείου (µε την έννοια του ν. 2472/97). Εντοπίστε τα σηµεία εκείνα του νόµου που παραπέµπουν σε τεχνικές ρυθµίσεις οι οποίες εµπίπτουν στην αρµοδιότητά σας. ¢Ú·ÛÙËÚÈfiÙËÙ· 1.5 Μελετήστε τις οδηγίες του Ο.Ο.Σ.Α. για την ασφάλεια των πληροφοριακών συστηµάτων και την αναθεώρησή τους το 1998. Ποια είναι τα βασικά σας συµπεράσµατα; ¢Ú·ÛÙËÚÈfiÙËÙ· 1.6 ∆οκιµάστε να βρείτε θέσεις στον παγκόσµιο ιστό που αναφέρονται στο θέµα «προστασία πληροφοριών». Ο αγγλικός όρος που πρέπει να χρησιµοποιήσετε είναι data protection. Πόσες θέσεις βρήκατε; Ποιες ήταν οι πιο ενδιαφέρουσες; Γιατί; ™‡ÓÔ„Ë Στο κεφάλαιο αυτό συζητήσαµε πρώτα πρώτα την οικονοµική και κοινωνική σηµασία της πληροφορίας και καταλήξαµε στο συµπέρασµα ότι η σηµασία αυτή υπάρχει και ότι η πληροφορία αποτελεί αγαθό που έχει οικονοµική αξία και που, κατά συνέπεια, πρέπει να προστατευτεί. Στη συνέχεια εισαγάγαµε ένα ολοκληρωµένο πλαίσιο προστασίας της πληροφορίας, το οποίο περιλαµβάνει µια σειρά δράσεων που πρέπει να αναληφθούν προκειµένου να προστατευτούν αποτελεσµατικά οι πληροφορίες. Κλείσαµε το κεφάλαιο περιγράφοντας µε λεπτοµέρεια ορισµένα από τα συστατικά του πλαισίου αυτού, και συγκεκριµένα τις ισχύουσες στη χώρα µας νοµικές ρυθµίσεις και τις οργανωσιακές ρυθµίσεις που πρέπει µια επιχείρηση ή οργανισµός να κάνει προκειµένου να προστατεύσει αποτελεσµατικά τις πληροφορίες που διαχειρίζεται. 38 K E º A § A I O 1 : ∏ ∞ ¡ ∞ ° ∫ ∏ ¶ ƒ √ ™ ∆∞ ™ π ∞ ™ ∆ ø ¡ ¶ § ∏ ƒ √ º √ ƒ π ø ¡ BÈ‚ÏÈÔÁÚ·Ê›· Bowyer K., Ethics & Computing, IEEE Computer Society Press, 1996. Convention Νο. 108 of the Council of Europe, Στρασβούργο 28/1/1981. European Commission, Green Book on the Security of Information Systems, 1993. Gollmann D., Computer Security, John Wiley & Sons, 1999. Guidelines for the Security of Information Systems, Organisation for Economic Co–operation and Development, Paris 1992. Hansen P. Brinch, Operating Systems Principles, Prentice–Hall, Englewood Cliffs, NJ, 1973. Hoffman L. (Ed.), Building in Big Brother, Springer–Verlag, 1994. Information Systems Security Association (ISSA), Guideline for Information Valuation, Newport Beach, CA, 1992. Katsikas S. and Gritzalis D., «High Level Security Policy Guidelines», in Data Security for Health Care, Volume II: Technical Guidelines, SEISMED Consortium (Eds), IOS Press, 1996. Katsikas S. K. and Gritzalis D. A., «The need for a security policy in health care institutions», in Int. J. of Bio–Medical Computing, Vol. 35, 1994, pp. 73–80. Pfleeger C. P., Security in Computing, Prentice Hall, Saddle River, NJ, 1997. Review of the 1992 guidelines for the Security of Information Systems, Organisation for Economic Co–operation and Development, Paris 1998. Schneier B. and Banisar D., The Electronic Privacy Papers, J. Wiley, 1997. Αλεξανδρής Ν., Γκρίτζαλης ∆., Κιουντούζης Ε., «Μια προσέγγιση της κοινωνικά αποδεκτής αξιοποίησης της Πληροφορικής», στο Ασφάλεια Πληροφοριών: Τεχνικά, Νοµικά και Κοινωνικά Θέµατα, Ν. Αλεξανδρή, Ε. Κιουντούζη, Β. Τραπεζάνογλου (επιµέλεια έκδοσης), Αθήνα, Ελληνική Εταιρεία Επιστηµόνων Η/Υ & Πληροφορικής (ΕΠΥ), 1995, σελ. 381–396. Γκρίτζαλης ∆. (επιστ. επιµέλεια), Ασφάλεια στις τεχνολογίες πληροφοριών και επικοινωνιών: Εννοιολογική θεµελίωση, (µτφρ. Σ. Κοκολάκης), Αθήνα, Εκδόσεις Νέων Τεχνολογιών, 1996. Γκρίτζαλης ∆., Ασφάλεια Πληροφοριακών Συστηµάτων, Αθήνα, Ελληνική Εταιρεία Επιστηµόνων Η/Υ & Πληροφορικής (ΕΠΥ), 1989. B I B § I O ° PA º I A 39 Ευρωπαϊκή οδηγία 95/C 93/01, Επίσηµη εφηµερίδα των Ευρωπαϊκών Κοινοτήτων, C93, 13/4/1995. Κάτσικας Σ., Γκρίτζαλης ∆., «Ασφάλεια Πληροφοριακών Συστηµάτων Υγείας», στο Ασφάλεια Πληροφοριών: Τεχνικά, Νοµικά και Κοινωνικά Θέµατα, Ν. Αλεξανδρή, Ε. Κιουντούζη, Β. Τραπεζάνογλου (επιµέλεια έκδοσης), Αθήνα, Ελληνική Εταιρεία Επιστηµόνων Η/Υ & Πληροφορικής (ΕΠΥ), 1995, σελ. 179–205. Κιουντούζης Ε., Ασφάλεια Πληροφοριακών Συστηµάτων, Αθήνα, Εκδόσεις Ευγ. Μπένου, 1993. Νόµος 2472/97 περί «Προστασίας του ατόµου από την επεξεργασία δεδοµένων προσωπικού χαρακτήρα», ΦΕΚ αρ. 50, 10/4/1997. Χαλαζωνίτης Κ., «Οι ευαίσθητες πληροφορίες», στο Ασφάλεια Πληροφοριών: Τεχνικά, Νοµικά και Κοινωνικά Θέµατα, Ν. Αλεξανδρή, Ε. Κιουντούζη, Β. Τραπεζάνογλου (επιµέλεια έκδοσης), Αθήνα, Ελληνική Εταιρεία Επιστηµόνων Η/Υ & Πληροφορικής (ΕΠΥ), 1995, σελ. 303–319. ∫ ∂ H AÛÊ¿ÏÂÈ· ¶ÏËÚÔÊÔÚÈÒÓ ÛÙ· A˘ÙÔÌ·ÙÔÔÈË̤ӷ ¶ÏËÚÔÊÔÚȷο ™˘ÛÙ‹Ì·Ù· ™ÎÔfi˜ Η ενασχόληση µε οποιαδήποτε επιστηµονική περιοχή απαιτεί την κατανόηση των βασικών εννοιών της περιοχής. Για να συµβεί αυτό, απαιτείται η καθιέρωση ενός επαρκώς αποδεκτού συνόλου όρων, που θα µας επιτρέψει την αποτελεσµατική και σαφή επικοινωνία. Σκοπός του κεφαλαίου αυτού είναι να ξεκαθαρίσει βασικές έννοιες σχετικές µε το αντικείµενο µελέτης µας δίνοντας αυστηρούς (πια) ορισµούς. 2 º ∞ § ∞ π √ ¶ÚÔÛ‰ÔÎÒÌÂÓ· ·ÔÙÂϤÛÌ·Ù· Όταν θα έχετε τελειώσει τη µελέτη του κεφαλαίου αυτού, θα µπορείτε να: • ∆ώσετε ακριβείς ορισµούς για τις εξής βασικές έννοιες της Ασφάλειας Πληροφοριών: Αγαθό, Ιδιοκτήτης, Χρήστης, Κίνδυνος, Μέτρο Προστασίας, Υπολογιστικό Σύστηµα, Πληροφοριακό Σύστηµα, Ασφάλεια, Εµπιστευτικότητα, Ακεραιότητα, ∆ιαθεσιµότητα. • Αναφέρετε τις διαφορές µεταξύ των εννοιών: Υπολογιστικό Σύστηµα, Πληροφοριακό Σύστηµα, Υπολογιστικό Συγκρότηµα, Υπολογιστικοί Πόροι. • ∆ώσετε ένα παράδειγµα εφαρµογής των εννοιών. ŒÓÓÔȘ ÎÏÂȉȿ • αγαθό • ιδιοκτήτης • χρήστης • κίνδυνος • µέτρο προστασίας • υπολογιστικό σύστηµα • πληροφοριακό σύστηµα • ασφάλεια πληροφοριών • εµπιστευτικότητα • ακεραιότητα • διαθεσιµότητα 42 K E º A § A I O 2 : H A ™ º ∞ § ∂ π ∞ ¶ § ∏ ƒ √ º √ ƒ π ø ¡ ™ ∆∞ AÀ ∆ √ ª ∞ ∆ √ ¶ √ π ∏ ª ∂ ¡ ∞ ¶ § ∏ ƒ √ º √ ƒ π ∞ ∫ ∞ ™ À ™ ∆ ∏ ª ∞∆ ∞ ∂ÈÛ·ÁˆÁÈΤ˜ ·Ú·ÙËÚ‹ÛÂȘ Στο προηγούµενο κεφάλαιο κάναµε µια γενική εισαγωγή στο θέµα της προστασίας των πληροφοριών. Θα προσέξατε ότι, αν και χρησιµοποίησα τον όρο «πληροφοριακό σύστηµα» (του οποίου τον ακριβή ορισµό ακόµη σας οφείλω), πουθενά δε χρησιµοποιήθηκε η υπόθεση ότι τα πληροφοριακά συστήµατα βασίζονται υποχρεωτικά σε υπολογιστικά συστήµατα. Ο λόγος είναι απλός: Ένα πληροφοριακό σύστηµα µπορεί κάλλιστα να µη χρησιµοποιεί την τεχνολογία των υπολογιστών, αλλά να είναι, για παράδειγµα, χειρογραφικό. Το γεγονός αυτό δε σηµαίνει, βέβαια, ότι οι πληροφορίες τις οποίες διαχειρίζεται δεν πρέπει να προστατευτούν. Όλη η συζήτησή µας του προηγούµενου κεφαλαίου παραµένει ισχυρή και για τέτοια συστήµατα. Ωστόσο, στόχος µας είναι να περιοριστούµε σε συστήµατα αυτοµατοποιηµένα. Η επιστηµονική περιοχή της Πληροφορικής στην Ελλάδα υποφέρει, όπως είναι γνωστό, από έλλειψη γενικότερα αποδεκτής ορολογίας. ∆εν είναι δύσκολο να αντιληφθεί κανείς γιατί η δυσκολία αυτή είναι ακόµη εντονότερη στην επιστηµονική περιοχή της ασφάλειας πληροφοριών, αφού η ίδια η λέξη «ασφάλεια» αποδίδει στα ελληνικά το (διαφορετικό) νόηµα τριών τουλάχιστον λέξεων της αγγλικής γλώσσας: security, safety και insurance. Το ίδιο συµβαίνει και µε την ελληνική λέξη «κίνδυνος», που αποδίδει επίσης τρεις διαφορετικού νοήµατος αγγλικές λέξεις: risk, danger και hazard. Είναι βέβαιο ότι δε θα χρειαστεί να προσπαθήσετε πολύ για να βρείτε και άλλα τέτοια παραδείγµατα, και όχι µόνο µεταξύ ελληνικών - αγγλικών. Αναγνωρίζοντας ότι η δυσκολία αυτή εµφανίζεται και µεταξύ άλλων ζευγών γλωσσών, η Ευρωπαϊκή Επιτροπή ανέθεσε, στα πλαίσια του προγράµµατος Έρευνας και Ανάπτυης INFOSEC, την εκπόνηση ενός έργου εννοιολογικής θεµελίωσης όρων σχετικών µε την ασφάλεια πληροφοριών και απόδοσής τους από τα αγγλικά σε άλλες ευρωπαϊκές γλώσσες. ∆υστυχώς, τα ελληνικά δεν ήταν ανάµεσα στις γλώσσες στις οποίες έγινε πρωτογενώς η απόδοση των όρων. Το έργο αυτό αναλήφθηκε, µε την άδεια της Ευρωπαϊκής Επιτροπής, στα πλαίσια ενός προγράµµατος ERASMUS που συντόνιζε το Πανεπιστήµιο Αιγαίου, το 1996. Οι ορισµοί που ακολουθούν είναι παρµένοι, στην πλειοψηφία τους, από την ελληνική αυτή απόδοση (Σ. Κοκολάκη, ∆. Γκρίτζαλη, Ασφάλεια στις τεχνολογίες πληροφοριών και επικοινωνιών: Εννοιολογική θεµελίωση, Αθήνα, Εκδόσεις Νέων Τεχνολογιών, 1996). Κλείνω τις εισαγωγικές αυτές παρατηρήσεις µε την επισήµανση ότι, στη συνέχεια, θα δοθούν µεν πολλοί όροι (τόσο πολλοί που αισθάνοµαι την ανάγκη να απολογηθώ εκ των προτέρων για την ποσότητα της πληροφορίας του κεφαλαίου), αλλά όχι όλοι όσοι θα µας χρειαστούν στο µέλλον. Θα εισαγάγουµε νέους όρους και στα επόµενα κεφάλαια, όταν και αν τους χρειαστούµε. Προς το παρόν, θυµηθείτε ότι απλώς προσπαθούµε να καθιερώσουµε µια γλώσσα επικοινωνίας. 2.1 √ª∞¢√¶√π∏™∏ ∂¡¡√πø¡ 43 2.1 √Ì·‰ÔÔ›ËÛË ÂÓÓÔÈÒÓ Η Ασφάλεια Πληροφοριών σχετίζεται µε την προστασία πραγµάτων που αξίζουν να προστατευτούν. Κάτι που αξίζει να προστατευτεί ονοµάζεται Αγαθό. Τα Αγαθά πρέπει να προστατευτούν µόνο και µόνο επειδή έχουν κάποια Αξία, η οποία θα µπορούσε να µειωθεί αν υπάρξει κάποιου είδους Ζηµιά. Οι Ζηµιές δεν αφορούν τα ίδια τα Αγαθά, αλλά κάποιες Ιδιότητες που αυτά έχουν, οι οποίες χρειάζονται προστασία µόνο αν υπάρχουν Κίνδυνοι που είναι πιθανόν να τους προκαλέσουν Ζηµιά. Τα Αγαθά χρησιµοποιούνται από Χρήστες. Ο Ιδιοκτήτης ενός Αγαθού (που µπορεί να είναι ή να µην είναι και Χρήστης του) χρησιµοποιεί συγκεκριµένα Μέτρα Προστασίας, προσπαθώντας να µειώσει τον Κίνδυνο να προκληθεί Ζηµιά σε ένα Αγαθό ή, τουλάχιστον, να µειώσει τις Επιπτώσεις της Ζηµιάς στον εαυτό του. Η χρήση των Μέτρων Προστασίας συνεπάγεται κάποιο Κόστος (τόσο σε χρήµα όσο και σε ενόχληση). Απ’ τη στιγµή που κανένα από τα Μέτρα Προστασίας δεν µπορεί ποτέ να εγγυηθεί πλήρη προστασία, είναι σηµαντικό το Κόστος τους να αναλογεί στην Επισφάλεια του Αγαθού και στις Επιπτώσεις που θα έχει στον Ιδιοκτήτη του µια Ζηµιά. Ο Ιδιοκτήτης είναι εκείνος που θα κρίνει ποια είναι η πιο επωφελής ισορροπία ανάµεσα στο Κόστος, την Επισφάλεια και τις Επιπτώσεις, όταν θέτει το δικό του Στόχο Ασφάλειας. Μπορεί, επίσης, να ζητήσει κάποια Εξασφάλιση ότι ο Στόχος του θα επιτευχθεί µε τα Μέτρα Προστασίας που χρησιµοποιούνται. Όλα αυτά φαίνονται διαγραµµατικά στο Σχήµα 2.1. ΕΞΑΣΦΑΛΙΣΗ απαιτούν ότι τα καθορίζουν Ι∆ΙΟΚΤΗΤΕΣ Ή ΧΡΗΣΤΕΣ έχουν ΜΕΣΑ ΠΡΟΣΤΑΣΙΑΣ ΣΤΟΧΟΥΣ καταγράφουν ΑΓΑΘΑ επιτυγχάνουν τους για προστασία I∆IOTHTEΣ έχουν εξουδετερώνουν KIN∆YNOYΣ εκτίθενται σε ™¯‹Ì· 2.1 Οι βασικές έννοιες 44 K E º A § A I O 2 : H A ™ º ∞ § ∂ π ∞ ¶ § ∏ ƒ √ º √ ƒ π ø ¡ ™ ∆∞ AÀ ∆ √ ª ∞ ∆ √ ¶ √ π ∏ ª ∂ ¡ ∞ ¶ § ∏ ƒ √ º √ ƒ π ∞ ∫ ∞ ™ À ™ ∆ ∏ ª ∞∆ ∞ Όλες οι έννοιες που θα χρειαστούµε στη συνέχεια µπορούν να οµαδοποιηθούν γύρω από τις επτά βασικές έννοιες που φαίνονται σε ορθογώνια στο Σχήµα 2.1. Η συζήτησή µας, λοιπόν, θα ακολουθήσει αυτό το σχήµα. 2.2 √Ì¿‰· ÂÓÓÔÈÒÓ «·Á·ı¿» Τα Αγαθά που µας ενδιαφέρουν στα πλαίσια της Ασφάλειας Πληροφοριών είναι δύο ειδών: οι Πληροφορίες (ή τα ∆εδοµένα) και οι Υπολογιστικοί Πόροι που χρησιµοποιούµε για να χειριστούµε τις Πληροφορίες και τα ∆εδοµένα. Η ταξινόµηση αυτή είναι σηµαντική, επειδή οι Κίνδυνοι που αντιµετωπίζει το κάθε Αγαθό, η Ζηµιά που µπορεί να προκληθεί και τα κατάλληλα Μέτρα Προστασίας για να αντιµετωπιστούν οι Κίνδυνοι και οι Ζηµιές είναι διαφορετικά για κάθε είδος Αγαθού. Ένα Υπολογιστικό Συγκρότηµα αποτελείται από Υπολογιστικούς Πόρους. Οι Πληροφορίες, όπως ήδη είδαµε στο προηγούµενο κεφάλαιο, σχηµατίζονται από τα ∆εδοµένα µαζί µε την ερµηνεία τους. Ένα Υπολογιστικό Συγκρότηµα που λειτουργεί µέσα σε συγκεκριµένο περιβάλλον για να εξυπηρετήσει ένα σκοπό γίνεται Υπολογιστικό Σύστηµα. Τέλος, ένα Υπολογιστικό Σύστηµα µαζί µε τις Πληροφορίες που διαχειρίζεται και τους ανθρώπους που σχετίζονται µ’ αυτό, µε οποιονδήποτε τρόπο, είναι ένα Πληροφοριακό Σύστηµα. Οι σχέσεις µεταξύ των εννοιών αυτών φαίνονται στο Σχήµα 2.2. ™¯‹Ì· 2.2 Οµάδα εννοιών «Αγαθά» ΥΠΟΛΟΓΙΣΤΙΚΟ ΣΥΣΤΗΜΑ ΠΛΗΡΟΦΟΡΙΑΚΟ ΣΥΣΤΗΜΑ “+” ΠΛHPOΦOPIEΣ ANΘPΩΠOI ΠEPIBAΛΛON KAI ΣKOΠOΣ “+” ΥΠΟΛΟΓΙΣΤΙΚΟ ΣYΓKPOTHMA ∆E∆OMENA “+” EPMHNEIA ΥΠΟΛΟΓΙΣΤΙΚΟI ΠOPOI 2 . 2 √ ª ∞ ¢ ∞ ∂ ¡ ¡ √ π ø ¡ « ∞ °∞ £ ∞ » 45 Η ουσία της έννοιας «Υπολογιστικό Συγκρότηµα» είναι ότι αποτελεί απλώς και µόνο µια συλλογή από υπολγιστικά στοιχεία (όπως υλικό, λογισµικό, τηλεπικοινωνιακός εξοπλισµός κ.ά.), από διαδικασίες και από άλλα στοιχεία, τα οποία ως σύνολο είναι από µόνα τους ικανά να δώσουν τη δυνατότητα στις Πληροφορίες (ή στα ∆εδοµένα) να τύχουν επεξεργασίας και να παράσχουν ένα γενικό επίπεδο λειτουργικότητας. Η έννοια του Υπολογιστικού Συγκροτήµατος είναι ανεξάρτητη από τη φυσική θέση του, από το λειτουργικό του περιβάλλον και το σκοπό του. Η έννοια του «Υπολογιστικού Συστήµατος» περιλαµβάνει, εκτός από τα τεχνικά συστατικά, τα οποία µπορούν να επεξεργαστούν Πληροφορίες, και το λειτουργικό περιβάλλον, (π.χ. στην επιχείρηση) καθώς και το σκοπό τον οποίο εξυπηρετεί το Υπολογιστικό Σύστηµα. Το λειτουργικό περιβάλλον περιλαµβάνει και εκείνους τους ανθρώπους που είναι απαραίτητοι για τη λειτουργία των τεχνικών µερών του συστήµατος (π.χ. προγραµµατιστές, χειριστές) και που, γι’ αυτό το λόγο, θεωρούνται Υπολογιστικοί Πόροι. Ο σκοπός του Υπολογιστικού Συστήµατος εκφράζεται µέσω του Λογισµικού Εφαρµογών (οι περισσότερες από τις λειτουργίες του οποίου δε σχετίζονται ιδιαίτερα µε την ασφάλεια). Η έννοια του «Πληροφοριακού Συστήµατος» περιλαµβάνει το Υπολογιστικό Σύστηµα και επιπλέον τις Πληροφορίες, που αποτελούν το λόγο ύπαρξης του Πληροφοριακού Συστήµατος. Στο βαθµό που οι άνθρωποι είναι υπεύθυνοι για τη µεταφορά της Πληροφορίας µέσα στο Υπολογιστικό Σύστηµα, και συνεπώς εκτελούν λειτουργίες απαραίτητες για την επεξεργασία των Πληροφοριών, αποτελούν και αυτοί µέρος του Πληροφοριακού Συστήµατος. Η έννοια του «Υπολογιστικού Πόρου» περιλαµβάνει κάθε στοιχείο του Υπολογιστικού Συστήµατος, εκτός από τις Πληροφορίες ή τα ∆εδοµένα, τα οποία διαχειρίζεται. Αντίθετα µε το Υπολογιστικό Συγκρότηµα, ένας Υπολογιστικός Πόρος δεν είναι απαραίτητο να µπορεί να διαχειρίζεται Πληροφορίες από µόνος του. Μπορεί, ωστόσο, να το κάνει αν συνεργαστεί µε άλλους Υπολογιστικούς Πόρους. Ένα Υπολογιστικό Συγκρότηµα και ένα Υπολογιστικό Σύστηµα είναι και τα δύο παραδείγµατα Υπολογιστικών Πόρων. Όµως, ένα Πληροφοριακό Σύστηµα δεν είναι Υπολογιστικός Πόρος. Μπορούµε τώρα, λοιπόν, να διατυπώσουµε τους αυστηρούς µας ορισµούς. Υπολογιστικό Συγκρότηµα είναι µια συλλογή από υπολογιστικό υλικό, λογισµικό, τηλεπικοινωνιακό εξοπλισµό, εγχειρίδια και άλλα υπολογιστικά εξαρτήµατα, ικανή να χρησιµοποιηθεί για το χειρισµό Πληροφοριών. Υπολογιστικό Σύστηµα είναι ένα Υπολογιστικό Συγκρότηµα εγκατεστηµένο σε µια συγκεκριµένη τοποθεσία(–ες), µε ένα συγκεκριµένο λειτουργικό περιβάλλον, που εξυ- 46 K E º A § A I O 2 : H A ™ º ∞ § ∂ π ∞ ¶ § ∏ ƒ √ º √ ƒ π ø ¡ ™ ∆∞ AÀ ∆ √ ª ∞ ∆ √ ¶ √ π ∏ ª ∂ ¡ ∞ ¶ § ∏ ƒ √ º √ ƒ π ∞ ∫ ∞ ™ À ™ ∆ ∏ ª ∞∆ ∞ πηρετεί ένα συγκεκριµένο σύνολο σκοπών. Πληροφοριακό Σύστηµα είναι ένα Υπολογιστικό Σύστηµα, οι Πληροφορίες που χειρίζεται και οι Άνθρωποι που σχετίζονται µ’ αυτό. Υπολογιστικός Πόρος είναι ο,τιδήποτε χρησιµοποιείται από ένα Υπολογιστικό Σύστηµα για να χειριστεί Πληροφορίες. Για λόγους συνεκτικότητας είναι χρήσιµο να ορίσουµε και τον όρο Υπολογιστικό Αντικείµενο. Υπολογιστικό Αντικείµενο, λοιπόν, είναι ένα Υπολογιστικό Συγκρότηµα, ένα Υπολογιστικό Σύστηµα, ένα Πληροφοριακό Σύστηµα, ένα υπολογιστικό εξάρτηµα ή ένα υπολογιστικό προϊόν. Τέλος, οι δύο όροι που µένει να οριστούν στα πλαίσια της οµάδας των Αγαθών είναι τα ίδια τα Αγαθά και η Αξία. Αξία, λοιπόν, είναι η σπουδαιότητα, εκφραζόµενη σε χρηµατικούς ή µη χρηµατικούς όρους, ενώ Αγαθά είναι οι Πληροφορίες, τα ∆εδοµένα και οι Υπολογιστικοί Πόροι που έχουν µια αξία. Για να καταλάβετε καλύτερα τις έννοιες που µόλις ορίσαµε, εκείνες που θα ορίσουµε στη συνέχεια, και για να σπάσει λίγο και η (αναπόφευκτη) µονοτονία του κεφαλαίου, θα εφαρµόζουµε κάθε οµάδα εννοιών που ορίζουµε σε ένα πληροφοριακό σύστηµα, που θα περιγράψουµε αµέσως τώρα. 2.2.1 ŒÓ· ·Ú¿‰ÂÈÁÌ· Φανταστείτε το λογιστήριο µιας επιχείρησης, που έχει έδρα στη Σάµο και υποκατάστηµα στην Αθήνα. (Γιατί άραγε θα πρέπει πάντα οι επιχειρήσεις να έχουν έδρα στην Αθήνα και υποκατάστηµα κάπου αλλού;) Το λογιστήριο είναι «µηχανογραφηµένο», όπως λένε οι λογιστές, όρος που κανένας σοβαρός Πληροφορικός δε θα χρησιµοποιούσε ποτέ. Χρησιµοποιεί, λοιπόν, ένα σύνολο προσωπικών υπολογιστών, συνδεµένων σε τοπικό δίκτυο στα γραφεία της εταιρείας, ενώ τα δύο τοπικά δίκτυα είναι µεταξύ τους συνδεδεµένα µε δεσµευµένη γραµµή (leased line). Εννοείται ότι υπάρχει το κατάλληλο λογισµικό συστήµατος και εφαρµογών, καθώς και όλα τα παρελκόµενα του υπολογιστικού εξοπλισµού, όπως εκτυπωτές, scanners, modems, εγχειρίδια κτλ. Το καθένα απ’ αυτά είναι υπολογιστικός πόρος, ενώ όλα µαζί αποτελούν ένα υπολογιστικό συγκρότηµα. Θεωρώντας το υπολογιστικό αυτό συγκρότηµα στο περιβάλλον που περιγράψαµε στο παράδειγµά µας (λογιστήριο επιχείρησης) και προσθέτοντας το σκοπό της ύπαρξής του (που είναι η υποστήριξη της λειτουργίας του 2 . 2 √ ª ∞ ¢ ∞ ∂ ¡ ¡ √ π ø ¡ « ∞ °∞ £ ∞ » 47 λογιστηρίου), έχουµε το υπολογιστικό µας σύστηµα. Τα δεδοµένα είναι, βέβαια, οικονοµικά δεδοµένα της επιχείρησης κάθε φύσης. Μαζί µε την ερµηνεία τους (π.χ. αν πρόκειται για έσοδα, έξοδα, κέρδη, ζηµιές κτλ.), σχηµατίζουν τις πληροφορίες του λογιστηρίου, οι οποίες, µαζί µε το υπολογιστικό συγκρότηµα και τους ανθρώπους του λογιστηρίου, σχηµατίζουν πια το πληροφοριακό µας σύστηµα. ÕÛÎËÛË A˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 2.1 Ένας προσωπικός υπολογιστής είναι (επιλέξτε µια από τις ακόλουθες απαντήσεις): 1. Yπολογιστικό συγκρότηµα. 2. Yπολογιστικός πόρος. 3. Yπολογιστικό αντικείµενο. 4. Όλα τα παραπάνω. ÕÛÎËÛË A˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 2.2 Ένα σύστηµα διαχείρισης βάσεων δεδοµένων είναι (επιλέξτε µια από τις ακόλουθες απαντήσεις): 1. Yπολογιστικό συγκρότηµα. 2. Yπολογιστικός πόρος. 3. Yπολογιστικό σύστηµα. 4. Όλα τα παραπάνω. ÕÛÎËÛË A˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 2.3 Το (χειρογραφικό) σύστηµα παρακολούθησης τίτλων ιδιοκτησίας ενός υποθηκοφυλακείου είναι (επιλέξτε µια από τις ακόλουθες απαντήσεις): 1. Υπολογιστικό συγκρότηµα. 2. Υπολογιστικός πόρος. 3. Υπολογιστικό σύστηµα. 4. Πληροφοριακό σύστηµα. 5. Κανένα από τα παραπάνω. 48 K E º A § A I O 2 : H A ™ º ∞ § ∂ π ∞ ¶ § ∏ ƒ √ º √ ƒ π ø ¡ ™ ∆∞ AÀ ∆ √ ª ∞ ∆ √ ¶ √ π ∏ ª ∂ ¡ ∞ ¶ § ∏ ƒ √ º √ ƒ π ∞ ∫ ∞ ™ À ™ ∆ ∏ ª ∞∆ ∞ 2.3 √Ì¿‰· ÂÓÓÔÈÒÓ «È‰ÈÔÎÙ‹Ù˘ Î·È ¯Ú‹ÛÙ˘» Αφού τα Αγαθά έχουν Αξία, ανήκουν σε κάποιον και θα χρησιµοποιηθούν για να εξυπηρετηθεί ένας σκοπός. Η σκέψη αυτή εισάγει τις έννοιες του Ιδιοκτήτη και του Χρήστη. Μη βιαστείτε να φανταστείτε τον Ιδιοκτήτη ή το Χρήστη ως φυσικό πρόσωπο: Ούτε οι Ιδιοκτήτες ούτε οι Χρήστες είναι απαραίτητο να είναι φυσικά πρόσωπα. Ιδιοκτήτης µπορεί να είναι ένα νοµικό πρόσωπο, ενώ Χρήστης µπορεί να είναι µια διεργασία. Λέµε, λοιπόν, ότι Ιδιοκτήτης είναι η οντότητα που κατέχει ή που είναι υπεύθυνη για ολόκληρο ή για ένα µέρος ενός Αγαθού και που, συνεπώς, έχει το δικαίωµα να καθορίσει πώς αυτό µπορεί να χρησιµοποιηθεί, να µεταβληθεί ή να διατεθεί µε άλλον τρόπο. Η έννοια του Ιδιοκτήτη οδηγεί στην έννοια της Εξουσιοδότησης. Εξουσιοδότηση είναι µια άδεια που παρέχεται από τον Ιδιοκτήτη για ένα συγκεκριµένο σκοπό. Εκτός από τους Ιδιοκτήτες, τα Αγαθά τα χρησιµοποιούν και οι Χρήστες (που µπορεί να ταυτίζονται ή να µην ταυτίζονται µε τους Ιδιοκτήτες). Χρήστης είναι µια οντότητα που χρησιµοποιεί ολόκληρο το Πληροφοριακό Σύστηµα ή ένα µέρος του. Στο παράδειγµα του πληροφοριακού µας συστήµατος, ιδιοκτήτης του είναι η επιχείρηση, η οποία έχει δώσει εξουσιοδότηση στους υπαλλήλους του λογιστηρίου να το χρησιµοποιούν, καθιστάµενοι έτσι χρήστες του. 2.4 √Ì¿‰· ÂÓÓÔÈÒÓ «È‰ÈfiÙËÙ˜» Παρ’ όλο που υπάρχουν πολλές προσεγγίσεις στο ζήτηµα των ιδιοτήτων των Πληροφοριών που πρέπει να προστατευτούν, πιστεύω ότι η κλασική προσέγγιση είναι, τελικά, και η καλύτερη. Σύµφωνα µ’ αυτήν, τρεις είναι οι ιδιότητες της Πληροφορίας που πρέπει να προστατευτούν: Η Εµπιστευτικότητα, η Ακεραιότητα και η ∆ιαθεσιµότητα. Εµπιστευτικότητα είναι η ιδιότητα της Πληροφορίας να είναι προσπελάσιµη µόνο από οντότητες που είναι εξουσιοδοτηµένες προς τούτο. Ακεραιότητα είναι η ιδιότητα της Πληροφορίας να τροποποιείται µόνο από εξουσιοδοτηµένες προς τούτο οντότητες. Τέλος, ∆ιαθεσιµότητα είναι η ιδιότητα της Πληροφορίας να είναι διαθέσιµη στις εξουσιοδοτηµένες προς τούτο οντότητες µέσα σε λογικό χρονικό διάστηµα από την υποβολή της σχετικής αίτησης διάθεσης. Είµαστε τώρα σε θέση να πούµε ότι 2.5 √ª∞¢∞ ∂¡¡√πø¡ «∫π¡¢À¡√π» 49 Ασφάλεια Πληροφοριών είναι ο συνδυασµός της Εµπιστευτικότητας, της Ακεραιότητας και της ∆ιαθεσιµότητάς τους. Πολλοί συγγραφείς συµπληρώνουν το τρίπτυχο αυτό µε την έννοια της Εγκυρότητας, δηλαδή της απόλυτης ακρίβειας και πληρότητας της Πληροφορίας, και µε την έννοια της Αυθεντικότητας, δηλαδή της έλλειψης ατελειών και ανακριβειών κατά τη διάρκεια των εξουσιοδοτηµένων τροποποιήσεων µιας Πληροφορίας. Ελάχιστα ωφελεί να έχουµε Αγαθά αν δεν µπορούµε να τα χρησιµοποιήσουµε για κάποιο σκοπό. Τα περισσότερα Αγαθά που έχουν σχέση µε την Τεχνολογία της Πληροφορικής χρησιµοποιούνται για να παράσχουν κάποια Υπηρεσία, δηλαδή ένα σύνολο από λειτουργίες, που παρέχει ένα Υπολογιστικό Σύστηµα σε ένα Χρήστη. Μεγάλο µέρος της Ασφάλειας Πληροφοριών ασχολείται µε την εξασφάλιση της συνεχούς παροχής Υπηρεσιών στους Εξουσιοδοτηµένους Χρήστες και την άρνησή τους στους Μη Εξουσιοδοτηµένους Χρήστες. Θυµηθείτε ότι τα Αγαθά δεν είναι µόνο οι Πληροφορίες, αλλά και οι Υπολογιστικοί Πόροι. Μέχρι τώρα µιλήσαµε µόνο για τις ιδιότητες των Πληροφοριών που πρέπει να προστατευτούν. Υπάρχουν τέτοιες ιδιότητες και για τους Υπολογιστικούς Πόρους; Η απάντηση είναι ότι υπάρχουν µόνο δύο κύριες έννοιες σχετικές µε την προστασία των Ιδιοτήτων των Υπολογιστικών Πόρων. Αυτές είναι η ∆ιαθεσιµότητα Συστήµατος και η Ασφάλεια Υπολογιστικού Συστήµατος. ∆ιαθεσιµότητα Συστήµατος είναι η ιδιότητα του συστήµατος να µπορεί να κάνει διαθέσιµους τους Υπολογιστικούς του Πόρους σε εκείνες τις οντότητες που έχουν σχετική Εξουσιοδότηση. Ασφάλεια Υπολογιστικού Συστήµατος είναι ο συνδυασµός της ∆ιαθεσιµότητας Συστήµατος και της Ασφάλειας Πληροφοριών του λογισµικού, καθώς και των παραµέτρων που αποτελούν τµήµα του ίδιου του Υπολογιστικού Συστήµατος. Τέλος, Ασφάλεια Πληροφοριακού Συστήµατος είναι ο συνδυασµός της Ασφάλειας Πληροφοριών και της Ασφάλειας Υπολογιστικού Συστήµατος για ένα δεδοµένο Πληροφοριακό Σύστηµα. 2.5 √Ì¿‰· ÂÓÓÔÈÒÓ «Î›Ó‰˘ÓÔÈ» Η έννοια του Κινδύνου σχετίζεται µε οτιδήποτε θα µπορούσε να προξενήσει Ζηµιά σε οποιαδήποτε ιδιότητα ενός Αγαθού που χρειάζεται προστασία. Ζηµιά είναι η µερική ή ολική απώλεια µιας ή περισσότερων από τις Ιδιότητες των Αγαθών που χρήζουν προστασίας. 50 K E º A § A I O 2 : H A ™ º ∞ § ∂ π ∞ ¶ § ∏ ƒ √ º √ ƒ π ø ¡ ™ ∆∞ AÀ ∆ √ ª ∞ ∆ √ ¶ √ π ∏ ª ∂ ¡ ∞ ¶ § ∏ ƒ √ º √ ƒ π ∞ ∫ ∞ ™ À ™ ∆ ∏ ª ∞∆ ∞ Ρήγµα Ασφάλειας είναι η απώλεια µιας ή περισσότερων από τις Ιδιότητες που εµπεριέχονται στην έννοια της Ασφάλειας Υπολογιστικού (ή Πληροφοριακού) Συστήµατος. Απειλή είναι µια πιθανή πράξη ή γεγονός που µπορεί να προκαλέσει Ζηµιά σε ένα Αγαθό. Αδυναµία είναι ένα αδύνατο σηµείο σε ένα Αγαθό που µπορεί να επιτρέψει σε µια Απειλή να προκαλέσει ένα Ρήγµα Ασφάλειας. Είναι σηµαντικό να σηµειώσουµε ότι µια Απειλή µπορεί να προκαλέσει Ζηµιά µόνο αν υπάρχει µια αντίστοιχη Αδυναµία για να εκµεταλλευτεί. Θα πρέπει, επίσης, να σηµειωθεί ότι, ακόµα και όταν υπάρχει συνδυασµός Απειλής και Αδυναµίας, δεν προκύπτει απαραίτητα Ρήγµα Ασφάλειας. Αυτό αποτελεί ένα σηµαντικό χαρακτηριστικό της Ασφάλειας Πληροφοριών, ότι δηλαδή τα περισσότερα πράγµατα είναι ιθανά ενδεχόµενα µάλλον παρά ντετερµινιστικά καθορισµένα. Η διαπίστωση αυτή οδηγεί στις έννοιες της Επισφάλειας και του Περιστατικού. Επισφάλεια είναι η πιθανότητα να συµβεί ένα Ρήγµα Ασφάλειας. Περιστατικό είναι ένα γεγονός που ενδεχοµένως συνέβη εξαιτίας της υλοποίησης µιας Απειλής. Στο παράδειγµά µας, µια απειλή θα µπορούσε να είναι η ηθεληµένη ή αθέλητη εισαγωγή λαθεµένων οικονοµικών δεδοµένων στο σύστηµα από ένα µη εξουσιοδοτηµένο υπάλληλο του λογιστηρίου. Η απειλή αυτή θα µπορούσε να οδηγήσει σε απώλεια της ακεραιότητας των δεδοµένων, δηλαδή σε ρήγµα ασφάλειας. Αυτό, βέβαια, θα συνέβαινε µόνο αν υπήρχε αδυναµία στο υποσύστηµα ελέγχου προσπέλασης, αδυναµία την οποία η απειλή εκµεταλλεύτηκε. Αν η απειλή πράγµατι εκδηλωνόταν, τότε θα είχαµε ένα περιστατικό. ÕÛÎËÛË A˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 2.4 Αντιστοιχίστε τα γεγονότα της αριστερής στήλης µε τις έννοιες της δεξιάς: 1. Φωτιά 2. Αστοχία της CPU 3. Παρουσία εύφλεκτων υλικών στους χώρους 1. Απειλή 2. Αδυναµία 2.6 √ª∞¢∞ ∂¡¡√πø¡ «™∆√Ã√π» 51 4. Χειροκίνητος χειρισµός συστήµατος 5. Λάθος χειριστή 6. Κλοπή 7. Απουσία εναλλακτικής CPU 8. Ελεύθερη πρόσβαση όλων σε όλους τους χώρους 9. Εγκατάσταση µέτρων προστασίας 10. Εκπαίδευση και ευαισθητοποίηση 11. Εκπόνηση σχεδίου εγκατάστασης µέτρων προστασίας 12. Πραγµατοποίηση ελέγχων εγκατάστασης, καταλληλότητας και συµµόρφωσης µε τα µέτρα προστασίας 13. Καθορισµός στρατηγικής 14. Εκθέσεις αξιολόγησης εγκατάστασης µέτρων προστασίας 2.6 √Ì¿‰· ÂÓÓÔÈÒÓ «ÛÙfi¯ÔÈ» Τίποτε δεν είναι απόλυτο στο πεδίο της Ασφάλειας Πληροφοριών. Οι Κίνδυνοι δεν προκαλούν πάντα Ζηµιές στις Ιδιότητες των Αγαθών, αλλά ποτέ δεν µπορεί να υπάρξει απόλυτη εγγύηση ότι δε θα προκαλέσουν τελικά Ζηµιές. Η προστασία των Αγαθών στοιχίζει ακριβά τόσο σε χρόνο όσο και σε χρήµα στους Ιδιοκτήτες τους. Η Ασφάλεια Πληροφοριών στοχεύει στην αντιµετώπιση των Κινδύνων, που µπορεί να επιτευχθεί είτε µειώνοντας την έκταση των Επιπτώσεων είτε µειώνοντας την πιθανότητα να προκληθούν Ζηµιές. Αυτό πρέπει να επιτευχθεί µε ένα αποδεκτό Κόστος, δηλαδή µια αποδεκτή ποσότητα των πόρων που ξοδεύονται για την πραγµατοποίηση µιας ενέργειας. Η έννοια του Στόχου σχετίζεται µε το ποιος είναι ο αποδεκτός συµβιβασµός µεταξύ του Κόστους, από τη µια πλευρά, και της προστασίας των Αγαθών, από την άλλη. Η προστασία των Αγαθών (ή των Ιδιοτήτων τους) επιτυγχάνεται µε τη χρήση των Μέτρων Προστασίας, δηλαδή µέτρων σχεδιασµένων έτσι ώστε να εµποδίζουν την εµφάνιση Ρηγµάτων Ασφάλειας ή να µειώνουν τις επιπτώσεις τους αν εµφανιστούν. 52 K E º A § A I O 2 : H A ™ º ∞ § ∂ π ∞ ¶ § ∏ ƒ √ º √ ƒ π ø ¡ ™ ∆∞ AÀ ∆ √ ª ∞ ∆ √ ¶ √ π ∏ ª ∂ ¡ ∞ ¶ § ∏ ƒ √ º √ ƒ π ∞ ∫ ∞ ™ À ™ ∆ ∏ ª ∞∆ ∞ Είναι σηµαντικό να σηµειώσουµε εδώ ότι τα Μέτρα Προστασίας επιχειρούν αφενός µεν να αποτρέψουν τα Ρήγµατα Ασφάλειας, αφετέρου όµως να αντιµετωπίσουν τα επακόλουθά τους. Πώς όµως θα καθορίσει κάποιος τους Στόχους του και πώς, στη συνέχεια, θα επιλέξει τα Μέτρα Προστασίας; Αν φανταστούµε κάποιον µε απεριόριστους πόρους στη διάθεσή του (ή, ισοδύναµα, κάποιον που δεν παίρνει υπόψη του το Κόστος), τότε η απάντηση είναι απλή: Επιλέγει κανείς τα αποτελεσµατικότερα Μέτρα Προστασίας, ανεξαρτήτως Κόστους. ∆υστυχώς όµως, η πραγµατικότητα είναι πολύ διαφορετική: Το Κόστος όχι µόνο δεν είναι αµελητέος, αλλά, αντίθετα, είναι καθοριστικός παράγοντας για τη διαµόρφωση απόφασης σχετικά µε τους Στόχους και, συνακόλουθα, για την επιλογή των Μέτρων Προστασίας. Καθένας συνήθως θέτει ένα αποδεκτό Κόστος και, µε βάση αυτό, διαµορφώνει τους Στόχους του και επιλέγει τα Μέτρα Προστασίας. Τότε όµως δηµιουργείται το ερώτηµα: Ποιοι είναι οι παράγοντες εκείνοι που καθορίζουν το επίπεδο του αποδεκτού Κόστους; Σε ένα πρώτο επίπεδο προσέγγισης, η κατάσταση µπορεί να απεικονιστεί όπως στο Σχήµα 2.3. Επιπτώσεις ΣΟΒΑΡΕΣ Γ A E B ΜΙΚΡΕΣ 0 ™¯‹Ì· 2.3 ∆ Πιθανότητα Ρήγµατος ΥΨΗΛΗ Αποδεκτό κόστος ΧΑΜΗΛΗ Ως Επίπτωση ορίζεται η απώλεια µιας Αξίας, η αύξηση του Κόστους ή άλλη απώλεια, που θα µπορούσε να προκύψει ως συνέπεια ενός Ρήγµατος Ασφάλειας. Αν ούτε οι (ανεπιθύµητες) Επιπτώσεις ούτε η πιθανότητα να συµβεί Ρήγµα είναι 2.6 √ª∞¢∞ ∂¡¡√πø¡ «™∆√Ã√π» 53 υψηλές (δηλ. είµαστε κοντά στο σηµείο 0 στο Σχήµα 2.3), ο Ιδιοκτήτης δεν έχει λόγους να θέλει να πληρώσει σηµαντικό Κόστος για την προστασία των Αγαθών. Από την άλλη πλευρά, όταν η πιθανότητα Ρήγµατος (δηλαδή η Επισφάλεια) είναι υψηλότερη, για παράδειγµα δεξιά της ευθείας Γ∆, ο Ιδιοκτήτης µπορεί να ενδιαφέρεται για τη χρήση Μέτρων Προστασίας υψηλού Κόστους, για να µειώσει την πιθανότητα να συµβεί Ρήγµα. Αντίστοιχα, αν οι Επιπτώσεις είναι οβαρές (π.χ. πάνω από την ευθεία ΑΒ), µπορεί ο Ιδιοκτήτης να είναι διατεθειµένος να υποστεί ένα σηµαντικό Κόστος για να τις µειώσει. Πρέπει να είναι ήδη φανερό ότι τελικά δεν ενδιαφερόµαστε µόνο για την Επισφάλεια ή για τις Επιπτώσεις, αλλά για το συνδυασµό τους. Για να διευκολυνθούµε λοιπόν, ορίζουµε την Επικινδυνότητα ως το γινόµενο της Επίπτωσης και της Επισφάλειας. Το µέγεθος αυτό είναι που καθορίζει τους Στόχους µας και τα Μέτρα Προστασίας που θα επιλέξουµε. Στην πράξη, αυτό που ενδιαφέρει τον Ιδιοκτήτη δεν είναι απλώς η Επικινδυνότητα που προκύπτει από ένα µόνο συνδυασµό Απειλής – Αδυναµίας. Ο Ιδιοκτήτης ανησυχεί περισσότερο για το σύνολο της Επικινδυνότητας (αυτής δηλαδή που προκύπτει απ’ όλους τους δυνατούς συνδυασµούς Απειλής – Αδυναµίας) και για το Κόστος που απαιτείται για να περιοριστεί η Επικινδυνότητα σε αποδεκτά επίπεδα. Η παρατήρηση αυτή εισάγει την έννοια της Συνολικής Επικινδυνότητας, η οποία ορίζεται ως το σύνολο όλων των Επικινδυνοτήτων. Η Συνολική Επικινδυνότητα µπορεί να υπολογιστεί πριν ή µετά από τη χρήση των σχετικών Μέτρων Προστασίας. Χρειάζεται, λοιπόν, ένας όρος που θα περιγράφει τη Συνολική Επικινδυνότητα µετά την εγκατάσταση των σχετικών Μέτρων Προστασίας. Ο όρος αυτός, η Αποµένουσα Συνολική Επικινδυνότητα ορίζεται ως η Συνολική Επικινδυνότητα που αποµένει µετά την εγκατάσταση των σχετικών Μέτρων Προστασίας. Η µέγιστη Αποµένουσα Συνολική Επικινδυνότητα την οποία είναι διατεθειµένος να αποδεχτεί ένας Ιδιοκτήτης ορίζεται ως Αντικειµενικός Σκοπός. Τέλος, Απαίτηση Ασφάλειας είναι τα επίπεδα της Εµπιστευτικότητας, της Ακεραιότητας και της ∆ιαθεσιµότητας που ο Ιδιοκτήτης καθορίζει ότι πρέπει να υποστηρίζονται από το Πληροφοριακό Σύστηµα. Στο παράδειγµά µας και πάλι, ένα µέτρο προστασίας που αντιµετωπίζει την απειλή που αναφέραµε στην Ενότητα 2.5 είναι η χρήση συστήµατος επαλήθευσης ταυτότη- 54 K E º A § A I O 2 : H A ™ º ∞ § ∂ π ∞ ¶ § ∏ ƒ √ º √ ƒ π ø ¡ ™ ∆∞ AÀ ∆ √ ª ∞ ∆ √ ¶ √ π ∏ ª ∂ ¡ ∞ ¶ § ∏ ƒ √ º √ ƒ π ∞ ∫ ∞ ™ À ™ ∆ ∏ ª ∞∆ ∞ τας χρήστη (πιθανόν µε συνθηµατικό). Μια επίπτωση που θα µπορούσε να έχει η υλοποίηση της απειλής της Ενότητας 2.5 είναι η οικονοµική απώλεια για την επιχείρηση. 2.7 √Ì¿‰· ÂÓÓÔÈÒÓ «ÂÍ·ÛÊ¿ÏÈÛË» ∆ε θα άξιζε να ξοδεύουµε χρόνο και χρήµα στην προσπάθεια να προλάβουµε Ρήγµατα Ασφάλειας ή να µειώσουµε τις Επιπτώσεις τους χωρίς κάποιας µορφής Εξασφάλιση ότι τα µέτρα που υιοθετήθηκαν ήταν κατάλληλα για τη συγκεκριµένη περίπτωση. Η Εξασφάλιση ορίζεται ως η εµπιστοσύνη, βασισµένη σε κάποιας µορφής ανάλυση, ότι ένας Αντικειµενικός Σκοπός ή µια Απαίτηση ή ένα σύνολο Αντικειµενικών Σκοπών ή/και ένα σύνολο Απαιτήσεων επιτυγχάνονται. Η χρήση κάποιας µορφής ανάλυσης είναι κρίσιµος παράγοντας για την Εξασφάλιση. Αυτή η ανάλυση µπορεί να είναι τριών κυρίως τύπων: • (µαθηµατική) απόδειξη ότι οι λειτουργίες που υποστηρίζονται από ένα Υπολογιστικό Αντικείµενο πράγµατι λειτουργούν κάτω από τις συνθήκες που προδιαγράφονται, • έλεγχος, σε δειγµατοληπτική βάση, για να δούµε αν οι λειτουργίες του Υπολογιστικού Αντικειµένου είναι οι αναµενόµενες ή όχι, • επιθεώρηση της κατασκευής του Υπολογιστικού Αντικειµένου και του τρόπου ανάπτυξης και λειτουργίας του. 2.8 √Ì¿‰· ÂÓÓÔÈÒÓ «Ì¤ÙÚ· ÚÔÛÙ·Û›·˜» Για να πετύχει τους Αντικειµενικούς Σκοπούς του, όσον αφορά το Πληροφοριακό του Σύστηµα, ο Ιδιοκτήτης θα χρειαστεί να αναπτύξει ένα σύνολο σχεδίων υψηλού επιπέδου. Αυτό το σύνολο σχεδίων πραγµατοποίησης των Αντικειµενικών Σκοπών ενός συγκεκριµένου Πληροφοριακού Συστήµατος ή ενός συνόλου Πληροφοριακών Συστηµάτων ονοµάζεται Στρατηγική. Η Στρατηγική θα καθορίσει τις Απαιτήσεις Ασφάλειας ενός Πληροφοριακού Συστήµατος και πώς αυτές θα ικανοποιηθούν από τα διοικητικά µέτρα και τα τεχνικά ή άλλα Μέτρα Προστασίας. Στο υψηλότερο επίπεδο των διοικητικών µέτρων βρίσκεται η Πολιτική, δηλαδή µια περιγραφή του συνόλου των κανόνων, των προτύπων και των διαδικασιών που καθορίζουν τα φυσικά, διαδικαστικά, τεχνικά και προσωπικά Μέτρα Προστασίας που λαµβάνονται στη διοίκηση, τη διανοµή και την προστασία των Αγαθών. Η Πολιτική περιλαµβάνει, επίσης, γενικές συστάσεις, που ονοµάζονται Οδηγίες. Αυτές καλύπτουν, µεταξύ άλλων, την προσδοκώµενη συµπεριφορά των ατόµων µέσα σε έναν 2 . 8 √ ª ∞ ¢ ∞ ∂ ¡ ¡ √ π ø ¡ « ª ∂ ∆ ƒ∞ ¶ ƒ √ ™ ∆∞ ™ π ∞ ™ » 55 οργανισµό και το πώς θα παρασχεθεί σ’ αυτά ένας ικανοποιητικός βαθµός Ενηµέρωσης. Επίσης, περιλαµβάνει τις διαδικασίες που θα υιοθετηθούν για τη στελέχωση του οργανισµού, δηλαδή την Πολιτική Προσωπικού, τις διαδικασίες που θα ακολουθηθούν πριν το Πληροφοριαό Σύστηµα τύχει Αποδοχής και πώς οι αλλαγές και οι τροποποιήσεις θα ελέγχονται στο εξής. Το τελευταίο ονοµάζεται Έλεγχος Μεταβολών. Η Στρατηγική ορίζει το βαθµό στον οποίο τα Μέτρα Προστασίας θα πρέπει να ικανοποιούν τις Απαιτήσεις (π.χ. αντιµετωπίζοντας µια Ζηµιά). Επίσης, ορίζει το βαθµό στον οποίο η Επισφάλεια θα είναι αποδεκτή ή ποια µέσα µείωσης των Επιπτώσεων θα χρησιµοποιηθούν. Ο σκοπός των Μέτρων Προστασίας είναι η εξασφάλιση ότι οι Αντικειµενικοί Σκοποί του Ιδιοκτήτη, όσον αφορά το Πληροφοριακό Σύστηµα, θα επιτευχθούν. Για να καταλάβουµε τη διαφορά των εννοιών που σχετίζονται µε τα Μέτρα Προστασίας, θα ήταν χρήσιµο να λάβουµε υπόψη µας τη χρονική στιγµή που παρουσιάζεται µια πιθανή αστοχία της Ασφάλειας του Πληροφοριακού Συστήµατος, η οποία προκαλείται από την απουσία των κατάλληλων ή επαρκών Μέτρων Προστασίας. Η ακολουθία των γεγονότων που οδηγεί σε τέτοια αστοχία παρουσιάζεται στο Σχήµα 2.4. ΑΠΕΙΛΕΣ εκµεταλλεύονται Α∆ΥΝΑΜΙΕΣ ΡΗΓΜΑΤΑ οδηγούν σε προκαλούν ΕΠΙΠΤΩΣΕΙΣ στον ™¯‹Ì· 2.4 Ι∆ΙΟΚΤΗΤΗ ή στο ΧΡΗΣΤΗ Ακολουθία γεγονότων που οδηγεί σε αστοχία 56 K E º A § A I O 2 : H A ™ º ∞ § ∂ π ∞ ¶ § ∏ ƒ √ º √ ƒ π ø ¡ ™ ∆∞ AÀ ∆ √ ª ∞ ∆ √ ¶ √ π ∏ ª ∂ ¡ ∞ ¶ § ∏ ƒ √ º √ ƒ π ∞ ∫ ∞ ™ À ™ ∆ ∏ ª ∞∆ ∞ Ένα Μέτρο Προστασίας µπορεί να δράσει σε οποιοδήποτε στάδιο της διαδικασίας που παρουσιάζεται στο Σχήµα 2.4. Υπάρχουν τρεις βασικές κατηγοριοποιήσεις των Μέτρων Προστασίας, ανάλογα µε τη χρονική στιγµή δράσης τους: • Μέτρα πρόληψης • Μέτρα ανίχνευσης • Μέτρα αντίδρασης Τα µέτρα πρόληψης είναι σχεδιασµένα έτσι ώστε να αποτρέπουν την εµφάνιση µιας Απειλής ή την κατάληξή της σε Ρήγµα Ασφάλειας. Το Μέτρο Προστασίας που αναφέραµε ως παράδειγµα στην Ενότητα 2.6 είναι µέτρο πρόληψης. Τα µέτρα ανίχνευσης είναι σχεδιασµένα ώστε να ανιχνεύουν την εµφάνιση Ρηγµάτων Ασφάλειας και να τα αναλύουν. Ένα µέτρο αντιµετώπισης της ίδιας απειλής που είναι µέτρο ανίχνευσης είναι το ίχνος ελέγχου (audit trail) του συστήµατος. Τα µέτρα αντίδρασης είναι σχεδιασµένα ώστε να επιτρέπουν την (ολική ή µερική) ανάκαµψη µετά από την εµφάνιση ενός Ρήγµατος Ασφάλειας. Ένα µέτρο αντιµετώπισης της ίδιας απειλής που είναι µέτρο αντίδρασης είναι η ύπαρξη συστηµατικής διαδικασίας διόρθωσης των λαθεµένων εγγραφών. ÕÛÎËÛË A˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 2.5 Χαρακτηρίστε α παρακάτω µέτρα προστασίας ως µέτρα πρόληψης, ανίχνευσης ή αντίδρασης: 1. Τοποθέτηση συστήµατος πυρανίχνευσης. 2. Τοποθέτηση υπολογιστικού εξοπλισµού σε επίπεδο πάνω από τον υδροφόρο ορίζοντα. 3. Χρήση συστήµατος ελέγχου προσπέλασης. 4. Ενεργοποίηση µηχανισµού ίχνους ελέγχου συστήµατος. 5. Φύλαξη εφεδρικών αντιγράφων ασφάλειας (backups). 6. ∆ιαµόρφωση σχεδίου έκτακτης ανάγκης. 7. Απαγόρευση εγκατάστασης και χρήσης «πειρατικού» λογισµικού. 2 . 8 √ ª ∞ ¢ ∞ ∂ ¡ ¡ √ π ø ¡ « ª ∂ ∆ ƒ∞ ¶ ƒ √ ™ ∆∞ ™ π ∞ ™ » 57 ¢Ú·ÛÙËÚÈfiÙËÙ· 2.1 Σκεφτείτε ένα πληροφοριακό σύστηµα που γνωρίζετε σε επαρκή βαθµό. ∆ώστε πρώτα µια ελεύθερη περιγραφή του συστήµατος και µετά εφαρµόστε τους ορισµούς του κεφαλαίου για να βρείτε ποια είναι τα αγαθά, ποιοι είναι οι ιδιοκτήτες, ποιοι οι χρήστες κτλ. του συστήµατος αυτού. Όσους περισσότερους από τους ορισµούς του κεφαλαίου καταφέρετε να χρησιµοποιήσετε, τόσο το καλύτερο. ¢Ú·ÛÙËÚÈfiÙËÙ· 2.2 Αν και οι παραλληλισµοί ανάµεσα σε πληροφοριακά συστήµατα και φυσικά ανάλογα µπορεί να οδηγήσουν σε παρεξηγήσεις, µερικές φορές είναι χρήσιµοι. Σκεφτείτε, λοιπόν, ότι το σύστηµα (όχι βέβαια πληροφοριακό) που έχετε να προστατεύσετε είναι το σπίτι σας. Χρησιµοποιώντας τους ορισµούς του κεφαλαίου, εξηγήστε και πάλι ποιοι είναι οι ιδιοκτήτες, ποιοι οι χρήστες κτλ. του συστήµατος αυτού. Όσους περισσότερους από τους ορισµούς του κεφαλαίου καταφέρετε να χρησιµοποιήσετε, τόσο το καλύτερο. ¢Ú·ÛÙËÚÈfiÙËÙ· 2.3 Για το παραπάνω σύστηµα (το σπίτι σας) δώστε παραδείγµατα µέτρων πρόληψης, µέτρων ανίχνευσης και µέτρων αντίδρασης. ¢Ú·ÛÙËÚÈfiÙËÙ· 2.4 Bρείτε σηµεία στον παγκόσµιο ιστό που αναφέρονται σε ορισµούς βασικών αρχών ασφάλειας. Καλά σηµεία εκκίνησης είναι τα http://www.itsec.gov.uk και http://www.radium.ncsc.mil/tpep/process/faq.html. ™‡ÓÔ„Ë Στο κεφάλαιο αυτό δώσαµε ορισµούς για τις βασικές έννοιες τις σχετικές µε την ασφάλεια πληροφοριών. Στηρίξαµε τη συζήτησή µας σε µια οµαδοποίηση των εννοιών αυτών γύρω από επτά βασικές έννοιες (εξασφάλιση, ιδιοκτήτες/χρήστες, µέτρα προστασίας, στόχοι, αγαθά, ιδιότητες, κίνδυνοι) και αναφέραµε συνοπτικά και σχέσεις µεταξύ των βασικών εννοιών. Χρησιµοποιώντας ένα απλό παράδειγµα ενός πληροφοριακού συστήµατος, εφαρµόσαµε τους ορισµούς που δώσαµε. 58 K E º A § A I O 2 : H A ™ º ∞ § ∂ π ∞ ¶ § ∏ ƒ √ º √ ƒ π ø ¡ ™ ∆∞ AÀ ∆ √ ª ∞ ∆ √ ¶ √ π ∏ ª ∂ ¡ ∞ ¶ § ∏ ƒ √ º √ ƒ π ∞ ∫ ∞ ™ À ™ ∆ ∏ ª ∞∆ ∞ BÈ‚ÏÈÔÁÚ·Ê›· Amoroso E., Fundamentals of Computer Security Technology, Prentice–Hall International, Englewood Cliffs, NJ, 1994. Canadian System Security Centre, The Canadian Trusted Computer Product Evaluation Criteria, Ver. 3.0e, 1993. CCEB, Common Criteria for Information Technology Security Evaluation, Ver. 0.9, 1994. Clark D. R. and Wilson D. R., «A comparison of commercial and military computer security policies», in Proceedings, 1987 IEEE Symposium on Security and Privacy, IEEE Press, 1987, pp. 184–194. Commission of the European Communities, Information Technology Security Evaluation Criteria (ITSEC), Ver. 1.2, 1991. Commission of the European Communities, Information Technology Security Evaluation Manual (ITSEM), 1993. Gollmann D., Computer Security, John Wiley & Sons, 1999. Laprie J. – C., Basic Concepts and terminology, Springer–Verlag, Vienna, 1992. Pfleeger C. P., Security in Computing, Prentice Hall, Saddle River, NJ, 1997. Smith M., Commonsense Computer Security, London, McGraw–Hill, 1993. US Dept. of Defense, DoD Trusted Computer System Evaluation Criteria, 1985. Γκρίτζαλης ∆. (επιστ. επιµέλεια), Ασφάλεια στις τεχνολογίες πληροφοριών και επικοινωνιών: Εννοιολογική θεµελίωση, (µτφρ. Σ. Κοκολάκης), Αθήνα, Εκδόσεις Νέων Τεχνολογιών, 1996. Γκρίτζαλης ∆., Ασφάλεια Πληροφοριακών Συστηµάτων, Ελληνική Εταιρεία Επιστηµόνων Η/Υ & Πληροφορικής (ΕΠΥ), Αθήνα, 1989. Κιουντούζης Ε., Ασφάλεια Πληροφοριακών Συστηµάτων, Εκδόσεις Ευγ. Μπένου, Αθήνα, 1993. ∫ ∂ TÔ ™¯¤‰ÈÔ AÛÊ¿ÏÂÈ·˜ ™ÎÔfi˜ Στο προηγούµενα κεφάλαια είδαµε την αναγκαιότητα προστασίας των πληροφοριακών συστηµάτων µιας επιχείρησης. Η προστασία αυτή θα πρέπει, φυσικά, να προκύτι αποτελείται και πώς αναπτύσσεται ένα τέτοιο σχέδιο. 3 º ∞ § ∞ π √ ψει ως αποτέλεσµα ενός συγκροτηµένου σχεδίου. Στο κεφάλαιο αυτό θα µάθουµε από ¶ÚÔÛ‰ÔÎÒÌÂÓ· ·ÔÙÂϤÛÌ·Ù· Όταν θα έχετε τελειώσει τη µελέτη του κεφαλαίου αυτού, θα µπορείτε να: • Περιγράψετε τις τρεις φάσεις του κύκλου ζωής του σχεδίου ασφάλειας. • Αναφέρετε επτά τίτλους περιεχοµένων του σχεδίου εγκατάστασης µέτρων προστασίας. • Αναφέρετε οκτώ τίτλους περιεχοµένων του προγράµµατος εκπαίδευσης και ευαισθητοποίησης προσωπικού στην πολιτική ασφάλειας. • Αναφέρετε πέντε προϋποθέσεις διατήρησης του προβλεπόµενου επιπέδου ασφάλειας µετά την εγκατάσταση των µέτρων προστασίας. • Αναφέρετε επτά χαρακτηριστικά των µεθοδολογιών διαχείρισης κινδύνων. • Αναφέρετε πέντε λόγους για τους οποίους δεν είναι εύκολη η επιλογή µεθοδολογίας διαχείρισης κινδύνων. • Περιγράψετε τη µεθοδολογία CRAMM. • Περιγράψετε τη δοµή µιας πολιτικής ασφάλειας. • Αναφέρετε τρία τµήµατα που πρέπει να περιλαµβάνει µια πολιτική ασφάλειας. • Αναφέρετε κτώ τίτλους περιεχοµένων που πρέπει να περιλαµβάνει το τµήµα κανόνων, προτύπων και διαδικασιών µιας πολιτικής ασφάλειας. ŒÓÓÔȘ ÎÏÂȉȿ σχέδιο ασφάλειας κύκλος ζωής ανάλυση και διαχείριση κινδύνων πολιτικές ασφάλειας 60 KEºA§AIO 3: T√ ™Ã∂¢π√ A™º∞§∂π∞™ ∂ÈÛ·ÁˆÁÈΤ˜ ·Ú·ÙËÚ‹ÛÂȘ Στα προηγούµενα κεφάλαια είδαµε την εξάρτηση της σύγχρονης επιχείρησης, και γενικότερα της σύγχρονης κοινωνίας, από την πληροφορία και τις τεχνολογίες διαχείρισής της. Για να γίνει δυνατή, λοιπόν, η επίτευξη των στόχων µιας σύγχρονης επιχείρησης, πρέπει τα πληροφοριακά της συστήµατα να λειτουργούν σωστά και αξιόπιστα. Έτσι, η υποχρέωση διατήρησης της ασφάλειας των πληροφοριακών συστηµάτων της επιχείρησης πρέπει να θεωρηθεί ως αναπόσπαστο τµήµα της υποχρέωσης λειτουργίας της επιχείρησης. Με το ίδιο σκεπτικό, η ευθύνη για τη διατήρηση της ασφάλειας των πληροφοριακών συστηµάτων της επιχείρησης ανήκει στη διοίκηση της επιχείρησης. Πολλοί λένε ότι η ασφάλεια πληροφοριών είναι πρόβληµα ανθρώπων, ενώ άλλοι λένε ότι είναι πρόβληµα τεχνικό. Και οι µεν και οι δε έχουν δίκιο, αλλά, διαπιστώνοντας ότι τίποτε δε γίνεται σε µια επιχείρηση αν δεν το αποφασίσει η διοίκηση, καταλήγουµε στο συµπέρασµα ότι η ασφάλεια πληροφοριών είναι πρόβληµα της διοίκησης. Ο υπ’ αριθµόν ένα παράγοντας επιτυχίας οποιασδήποτε προσπάθειας σχετικής µε ασφάλεια πληροφοριών σε µια επιχείρηση είναι η ενεργός εµπλοκή της διοίκησης. Χωρίς την υποστήριξη της διοίκησης, τα χρηµατικά ποσά που θα διατεθούν για την ασφάλεια θα είναι µικρά και η προσοχή που θα της δοθεί θα είναι επίσης µικρή. Χωρίς τους απαραίτητους πόρους δεν είναι δυνατόν να γίνουν οι απαιτούµενες από τα µέτρα προστασίας αλλαγές. Αντίστοιχα, η έλλειψη της απαραίτητης σηµασίας και προσοχής θα οδηγήσει σε αγνόηση των όποιων µέτρων προστασίας. Φυσικά, καµία διοίκηση δεν είναι δυνατόν να ασχοληθεί µε διαδικασίες καθηµερινής πρακτικής. Για το λόγο αυτό, σε κάθε επιχείρηση συγκροτείται µια οµάδα διαχείρισης διαδικασιών ασφάλειας πληροφοριακών συστηµάτων, η οποία ορίζεται από τη διοίκηση και έχει την ευθύνη του συντονισµού της οργάνωσης των διαδικασιών ασφάλειας, της ανάθεσης αρµοδιοτήτων σχετικών µε τις διαδικασίες ασφάλειας και της εφαρµογής των µέτρων προστασίας. Πώς όµως πρέπει να κινηθεί η οµάδα αυτή προκειµένου συστηµατικά να προχωρήσει στη συγκρότηση ενός ολοκληρωµένου σχεδίου προστασίας των πληροφοριακών συστηµάτων της επιχείρησης; Αυτό ακριβώς θα συζητήσουµε στο παρόν κεφάλαιο. Η παρουσίαση του κεφαλαίου γίνεται σε τρεις ενότητες, από τις οποίες στην πρώτη θα κάνουµε µια σύντοµη επισκόπηση όλων των φάσεων του κύκλου ζωής του σχεδίου ασφάλειας, ενώ στις επόµενες δύο θα επικεντρωθούµε στη συζήτηση της πρώτης φάσης. Θα κλείσω αυτές τις εισαγωγικές παρατηρήσεις µε µια ρεαλιστική, αλλά δυσάρεστη παρατήρηση. Απ’ όσα είπαµε, φαίνεται ότι ο ρόλος της διοίκησης σε όλα όσα θα ανα- 3.1 √ ∫À∫§√™ ∑ø∏™ ∆√À ™Ã∂¢π√À ∞™º∞§∂π∞™ 61 φερθούν στη συνέχεια πρέπει να είναι ενεργός, συνεχής και ουσιαστικός. Όσο κι αν αυτό είναι εύκολο να το λέµε, θα διαπιστώσετε στην πράξη ότι δεν είναι και τόσο εύκολο να το κάνουµε. Οι πρώτες δυσκολίες παρουσιάζονται όταν προσπαθούµε να πείσουµε τη διοίκηση για τη σηµασία της προσπάθειάς µας και κλιµακώνονται όταν θα προσπαθήσουµε να αντλήσουµε απ’ αυτήν κονδύλια ή απλώς χρόνο. ∆ε θα πρέπει, ωστόσο, οι δυσκολίες αυτές να µας αποκαρδιώσουν. 3.1 √ ·ÎÏÔ˜ ˙ˆ‹˜ ÙÔ˘ ۯ‰›Ô˘ ·ÛÊ¿ÏÂÈ·˜ Το όλο εγχείρηµα της ανάπτυξης του σχεδίου ασφάλειας µπορεί να γίνει σε τρεις βασικές φάσεις, οι οποίες αποτελούν και το λεγόµενο «κύκλο ζωής» ενός σχεδίου ασφάλειας: Σχεδιασµός, Υλοποίηση και Συντήρηση. Καθεµιά από τις φάσεις αυτές αναλύεται σε επιµέρους στάδια και κάθε στάδιο σε επιµέρους βήµατα. 3.1.1 º¿ÛË Û¯Â‰È·ÛÌÔ‡ Η φάση του σχεδιασµού περιλαµβάνει δύο στάδια: το στάδιο του καθορισµού της στρατηγικής και το στάδιο της ανάπτυξης της πολιτικής ασφάλειας. Για απλά σχετικά συστήµατα, χωρίς ιδιαίτερες απαιτήσεις ασφάλειας, η ανάπτυξη της πολιτικής ασφάλειας µπορεί να γίνει χρησιµοποιώντας εµπειρικές τεχνικές και προκατασκευασµένες πολιτικές, που έχουν σχεδιαστεί για να εφαρµόζονται σε µια µεγάλη γκάµα συστηµάτων. Η προσέγγιση αυτή είναι γνωστή ως «βασική προστασία». Για να µπορέσουµε όµως να καθορίσουµε τόσο τη στρατηγική όσο και την πολιτική ασφάλειας σε πολυπλοκότερα συστήµατα ή σε συστήµατα µε αυξηµένες απαιτήσεις ασφάλειας, απαιτείται η αναγνώριση και αποτίµηση των κινδύνων που αντιµετωπίζει το πληροφοριακό µας σύστηµα. Αυτό µπορεί να γίνει µε την εκπόνηση µελέτης ανάλσης κινδύνων, στα αποτελέσµατα της οποίας θα στηριχτούν η στρατηγική και η πολιτική ασφάλειας. 3.1.2 º¿ÛË ˘ÏÔÔ›ËÛ˘ Η φάση της υλοποίησης περιλαµβάνει δύο στάδια: το στάδιο της εγκατάστασης µέτρων προστασίας και το στάδιο της εκπαίδευσης και ευαισθητοποίησης. Όταν πια έχει ληφθεί η απόφαση για το ποια µέτρα προστασίας θα υλοποιηθούν σε κάθε πληροφοριακό σύστηµα της επιχείρησης, έρχεται πλέον η σειρά της εγκατάστασής τους, η οποία πρέπει να γίνει συντεταγµένα και οργανωµένα, µε βάση συγκεκριµένο σχέδιο. Το σχέδιο αυτό περιλαµβάνει όλες τις µικρο–, µεσο– και µακροπρόθεσµες ενέργειες που απαιτούνται για την εγκατάσταση των επιλεγµένων µέτρων. Ειδικότερα, το σχέδιο περιλαµβάνει: 62 KEºA§AIO 3: T√ ™Ã∂¢π√ A™º∞§∂π∞™ • κατάλογο µέτρων προστασίας που θα εγκατασταθούν σε κάθε πληροφοριακό σύστηµα, • το σχετικό κόστος επένδυσης, εργασίας, εκπαίδευσης κτλ., • τις προτεραιότητες της εγκατάστασης, τον προϋπολογισµό και το χρονοδιάγραµµα, • κατάλογο δράσεων, έργων κτλ. που απαιτούνται να γίνουν για να γίνει δυνατή η εγκατάσταση των µέτρων προστασίας, • την ανάθεση αρµοδιοτήτων και πόρων, • τον καθορισµό µηχανισµών ελέγχου της εγκατάστασης, • τα απαιτούµενα σεµινάρια ευαισθητοποίησης και εκπαίδευσης προσωπικού. Κατά την εκτέλεση του σχεδίου αυτού θα πρέπει να εξασφαλίσουµε ότι τόσο οι αρµοδιότητες όσο και οι πόροι ανατίθενται εµπρόθεσµα, ότι τα κόστη παραµένουν εντός των προεκτιµηθέντων ορίων, ότι τα µέτρα προστασίας υλοποιούνται ορθά και ότι τηρείται το προδιαγεγραµµένο χρονοδιάγραµµα. Στην περίπτωση που η εγκατάσταση των µέτρων προστασίας προκαλεί αλλαγές (π.χ. στον τρόπο εργασίας), θα πρέπει να γίνεται αφού πρώτα το εµπλεκόµενο προσωπικό εκπαιδευτεί κατάλληλα. Επιπλέον, σηµειώνω και πάλι ότι τα περισσότερα από τα τεχνικά µέτρα προστασίας προαπαιτούν την ύπαρξη κατάλληλου οργανωτικού περιβάλλοντος προκειµένου να επιτευχθεί ο µέγιστος βαθµός αποδοτικότητας. Το πρόγραµµα εκπαίδευσης και ευαισθητοποίησης απευθύνεται σε όλο το προσωπικό της επιχείρησης, από τη διοίκηση µέχρι τους απλούς χρήστες τεχνολογιών πληροφοριών και επικοινωνιών. Το πρόγραµµα αυτό πρέπει να εξηγεί αναλυτικά την πολιτική ασφάλειας της επιχείρησης και να εξασφαλίζει ότι οι κανόνες και οι κανονισµοί οι σχετικοί µε την ασφάλει πληροφοριών είναι κατανοητοί απ’ όλους, αφού η κατανόηση και η παρακίνηση είναι τα δύο πιο σηµαντικά στοιχεία επιτυχίας των στόχων ασφάλειας της επιχείρησης. Τι περιλαµβάνει ένα τέτοιο πρόγραµµα; • Τους στόχους ασφάλειας και την πολιτική της επιχείρησης, µαζί µε τις περιγραφές τους. • Τους λόγους για τους οποίους η ασφάλεια πληροφοριών είναι σηµαντική για την επιχείρηση. • Τις αρµοδιότητες καθενός και τις διαδικασίες τις σχετικές µε την ασφάλεια πληροφοριών. • Τα αποτελέσµατα της µελέτης ανάλυσης κινδύνων. 3.1 √ ∫À∫§√™ ∑ø∏™ ∆√À ™Ã∂¢π√À ∞™º∞§∂π∞™ 63 • Τα σχέδια εγκατάστασης και ελέγχου των µέτρων προστασίας. • Τις επιπτώσεις των ρηγµάτων ασφάλειας στους χρήστες και στην επιχείρηση. • Την αναγκαιότητα αναφοράς περιστατικών. • Τις συνέπειες µη συµµόρφωσης µε τους κανονισµούς ασφάλειας. Τι σκοπούς όµως εξυπηρετεί το πρόγραµµα εκπαίδευσης και ευαισθητοποίησης; Ο βασικός του στόχος είναι να ευαισθητοποιήσει όλο το προσωπικό της επιχείρησης και να το κάνει να συνειδητοποιήσει τις ευθύνες που έχει σχετικά µε την ασφάλεια πληροφοριών. Φυσικά, το πρώτο και σηµαντικότερο βήµα προς την επίτευξη του στόχου αυτού είναι να συνειδητοποιήσει η διοίκηση τις ευθύνες της. Ένας άλλος στόχος του προγράµµατος είναι να ενηµερωθεί όλο το προσωπικό για τη σηµασία των εφαρµογών πληροφορικής και της πληροφορίας και να αντιληφθεί ότι ένα ρήγµα ασφάλειας µπορεί να έχει σοβαρές επιπτώσεις στην επιχείρηση και στο προσωπικό της. Κάθε πότε όµως θα πρέπει να εκτελείται το πρόγραµµα εκπαίδευσης και ευαισθητοποίησης; Είναι αρκετό να το εφαρµόσουµε µια και µόνη φορά, όταν ξεκινάµε την εφαρµογή του σχεδίου ασφάλειας; Ασφαλώς όχι! Το πρόγραµµα πρέπει να επαναλαµβάνεται σε τακτά διαστήµατα, έτσι ώστε να ανανεώνεται η ήδη υπάρχουσα γνώση αλλά και να ενηµερώνονται οι νέοι υπάλληλοι που στο µεταξύ ανέλαβαν υπηρεσία. Επιπλέον, κάθε νέος υπάλληλος ή υπάλληλος που προάγεται ή αλλάζει θέση πρέπει να επανεκπαιδεύεται στις απαιτήσεις ασφάλειας της νέας του θέσης. Πέρα όµως από τα περιεχόµενα και τη συχνότητα εκτέλεσης του προγράµµατος εκπαίδευσης και ευαισθητοποίησης, ίσως πιο σηµαντικό είναι να σχεδιαστεί και να εκτελεστεί έγκαιρα. Ούτε η εκπαίδευση ούτε η ευαισθητοποίηση δε θα βοηθήσουν και πολύ αν περιµένουµε να τις πραγµατοποιήσουµε µερικά χρόνια µετά την εγκατάσταση των µέτρων προστασίας. 3.1.3 º¿ÛË Û˘ÓÙ‹ÚËÛ˘ Η σηµαντική αυτή πλευρά της ασφάλειας πληροφοριών συνήθως παραγνωρίζεται. Αυτό δεν είναι παράξενο, αφού η φάση συντήρησης πληροφοριακών συστηµάτων γενικά είναι παραγνωρισµένη, αν και αντιπροσωπεύει –σε οικονοµικά µεγέθη– τουλάχιστον ισόποση αξία µε τη φάση ανάπτυξης. Τα αποτελέσµατα της παραγνώρισης αυτής; Είναι, δυστυχώς, έκδηλα. Μέτρα προστασίας που προτάθηκαν και αποφασίστηκε να εγκατασταθούν αλλά δεν εγκαταστάθηκαν ποτέ. Μέτρα προστασίας τεχνολογικά παρωχηµένα, στοιχειώδη µέτρα που δεν τηρούνται, όπως συνθηµατικά που αφήνονται κολληµένα πάνω στις οθόνες και 64 KEºA§AIO 3: T√ ™Ã∂¢π√ A™º∞§∂π∞™ πόρτες πυρασφάλειας που µένουν ανοικτές και µάλιστα στερεωµένες. Είναι, λοιπόν, απαραίτητος ο έλεγχος για το κατά πόσο τα µέτρα προστασίας έχουν εγκατασταθεί, για το κατά πόσο ακολουθούνται, για το κατά πόσο πληρούν τις προϋποθέσεις κατά την τρέχουσα λειτουργία της επιχείρησης και για το κατά πόσο παραµένουν κατάλληλα ή θα ’πρεπε να αντικατασταθούν. Θα µπορούσε κανείς να αναρωτηθεί γιατί είναι τόσο σηµαντική η συντήρηση του σχεδίου ασφάλειας. Ο βασικός λόγος είναι πως το επίπεδο ασφάλειας που προβλέπει η στρατηγική ότι πρέπει να υπάρχει µετά την εγκατάσταση των µέτρων προστασίας µπορεί να διατηρηθεί µόνον αν: • οι οργανωσιακοί κανονισµοί επιτρέπουν τη συντήρηση των µέτρων προστασίας κατά τη διάρκεια της λειτουργίας της επιχείρησης, • έχει γίνει ξεκάθαρη ανάθεση αρµοδιοτήτων στο προσωπικό, • τα µέτρα προστασίας ελέγχονται τακτικά για να διαπιστωθεί ότι λειτουργούν σωστά, • τα µέτρα προστασίας ενισχύονται αν εµφανιστούν νέες ευπάθειες, • τα µέτρα προστασίας επανεκτιµώνται και πιθανόν αλλάζουν αν υπάρξουν αλλαγές σε προσωπικό, οργανωτική δοµή ή λειτουργία, υλικό ή λογισµικό. Για να επιτευχθεί, λοιπόν, το απαιτούµενο επίπεδο ασφάλειας, πρέπει να είµαστε βέβαιοι ότι όλα τα µέτρα προστασίας χρησιµοποιούνται ακριβώς µε τον τρόπο που περιγράφεται στο σχέδιο εγκατάστασής τους. Αυτό πρέπει να ισχύει για όλα τα πληροφοριακά συστήµατα και έργα ανάπτυξης πληροφοριακών συστηµάτων, τόσο κατά τη φάση σχεδιασµού όσο και κατά τη φάση λειτουργίας τους. Πώς µπορούµε να διασφαλίσουµε την ικανοποίηση των παραπάνω απιτήσεων; Ο τρόπος είναι να πραγµατοποιούµε ελέγχους για το κατά πόσο τα σωστά µέτρα προστασίας έχουν εγκατασταθεί σωστά και πλήρως. Αυτό όµως δεν αρκεί. Πρέπει, επιπλέον, να γίνονται και τακτικοί περιοδικοί έλεγχοι για το κατά πόσο αυτά τα µέτρα προστασίας χρησιµοποιούνται σωστά, κατά πόσο γίνονται σεβαστά και κατά πόσο είναι αποδεκτά από το προσωπικό. Το να κρεµάσει κανείς µια πινακίδα που απαγορεύει το κάπνισµα είναι µάλλον απλό. Το δύσκολο είναι να εξασφαλίσει ότι πράγµατι κανείς δεν καπνίζει στο συγκεκριµένο χώρο. Πέρα από τους προγραµµατισµένους τακτικούς ελέγχους, και οι δειγµατοληπτικοί τυχαίοι έλεγχοι µπορούν επίσης να αποδειχθούν χρήσιµοι. Ευνόητο είναι ότι όλοι αυτοί οι έλεγχοι θα καταλήγουν µε τη σύνταξη εκθέσεων αξιολόγησης, εκθέσεων που, έτσι κι αλλιώς, συνήθως συντάσσονται αυτόµατα, ως αποτέλεσµα κάποιων µέτρων προστασίας. Οι εκθέσεις αυτές 3.1 √ ∫À∫§√™ ∑ø∏™ ∆√À ™Ã∂¢π√À ∞™º∞§∂π∞™ 65 προωθούνται στη συνέχεια κατάλληλα, έτσι ώστε να αναλαµβάνονται οι απαραίτητες πρωτοβουλίες. Οι έλεγχοι που περιγράψαµε προηγουµένως εξυπηρετούν και έναν ακόµη στόχο: Οι εκθέσεις αξιολόγησης των µέτρων προστασίας παρέχουν στη διοίκηση µια καθαρή εικόνα του τι πέτυχαν τα µέτρα προστασίας σε σχέση µε τους –προκαθορισµένους– αντικειµενικούς σκοπούς. Αν οι έλεγχοι αποδείξουν ότι ο εναποµένων κίνδυνος είναι µεγαλύτερος απ’ αυτόν που αναφέρεται στη στρατηγική, η διοίκηση καλά θα κάνει να σκεφτεί σοβαρά το πρόβληµα προκειµένου να αλλάξει την κατάσταση αυτή. Σπάνια µια επιχείρηση ή οργανισµός παραµένει στατικός ή αµετάβλητος για µεγάλα χρονικά διαστήµατα. Το γεγονός αυτό έχει επιπτώσεις στο σχέδιο ασφάλειας; Ασφαλώς ναι! Όλες οι επιχειρησιακές αλλαγές που επιδρούν, έστω και έµµεσα, στην ασφάλεια του πληροφοριακού συστήµατος πρέπει να γίνονται άµεσα γνωστές. Για παράδειγµα: • αλλαγές στις εργασίες που επιτελούνται ή στη σηµασία τους για την επιχείρηση, • φυσικές αλλαγές (π.χ. αλλαγή γραφείων), • αλλαγές στην αξιολόγηση των τεχνολογιών πληροφοριών και επικοινωνιών που χρησιµοποιούνται και στα χαρακτηριστικά ασφάλειάς τους, • αλλαγές στις απειλές ή/και στις ευπάθειες επηρεάζουν σηµαντικά τους κινδύνους και πρέπει να ανιχνεύονται όσο το δυνατόν πιο σύντοµα, ώστε να γίνεται δυνατή η έγκαιρη αντµετώπισή τους. Τελειώνω τη συζήτηση για τη φάση συντήρησης επισηµαίνοντας ότι, ακόµα και όταν έχουν εγκατασταθεί τα πιο αποτελεσµατικά µέτρα προστασίας, είναι αναπόφευκτο να εµφανιστούν περιστατικά (µε την έννοια που ορίσαµε στο Κεφάλαιο 2). Αυτά πρέπει να αντιµετωπίζονται γρήγορα και αποτελεσµατικά. Επιπλέον, πρέπει να αξιοποιούνται διδακτικά, ώστε παρόµοια περιστατικά να αποφευχθούν στο µέλλον, αφού είναι δυνατόν να µάθει κανείς απ’ τα περιστατικά, αναγνωρίζοντας τις ευπάθειές του και ενισχύοντας τα µέτρα προστασίας, όπου αυτό απαιτείται. Βέβαια, για να περιοριστεί ο χρόνος αντίδρασης και οι ζηµιές, πρέπει να υπάρχει οργανωµένο σχέδιο αντιµετώπισης περιστατικών. 66 KEºA§AIO 3: T√ ™Ã∂¢π√ A™º∞§∂π∞™ ÕÛÎËÛË A˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 3.1 Αντιστοιχίστε τις ενέργειες της αριστερής στήλης µε τις τρεις φάσεις ζωής του σχεδίου ασφάλειας, που φαίνονται στη δεξιά στήλη: 1. Αντιµετώπιση περιστατικών 2. Καθορισµός κόστους εγκατάστασης µέτρων προστασίας 3. Ανάπτυξη πολιτικής ασφάλειας 4. Καθορισµός µηχανισµών ελέγχου εγκατάστασης µέτρων προστασίας 5. Μελέτη ανάλυσης κινδύνων 6. Καθορισµός προγράµµατος εκπαίδευσης και ευαισθητοποίησης 7. Αναγνώριση και αποτίµηση κινδύνων 8. Γνωστοποίηση και αντιµετώπιση επιχειρησιακών αλλαγών 9. Εγκατάσταση µέτρων προστασίας 10. Εκπαίδευση και ευαισθητοποίηση 11. Εκπόνηση σχεδίου εγκατάστασης µέτρων προστασίας 12. Πραγµατοποίηση ελέγχων εγκατάστασης, καταλληλότητας και συµµόρφωσης µε τα µέτρα προστασίας 13. Καθορισµός στρατηγικής 14. Εκθέσεις αξιολόγησης εγκατάστασης µέτρων προστασίας 1. Φάση σχεδιασµού 2. Φάση υλοποίησης 3. Φάση συντήρησης 3.2 ¢È·¯Â›ÚÈÛË ÎÈÓ‰‡ÓˆÓ Ο όρος διαχείριση κινδύνων συχνά χρησιµοποιείται εναλλακτικά αντί του όρου ανάλυση κινδύνων. Επειδή το επιστηµονικό πεδίο της ανάλυσης κινδύνων είναι σχετικά νέο, ταυτοποιήσεις σηµασίας διαφορετικών όρων είναι συχνές και ίσως αναπόφευκτες. Στα ακόλουθα, θα χρησιµοποιώ τον όρο διαχείριση κινδύνων, αφού οι περισσότεροι συγγραφείς συµφωνούν ότι αυτός εµπεριέχει την έννοια της ανάλυσης κινδύνων. 3.2 ¢π∞Ã∂πƒπ™∏ ∫π¡¢À¡ø¡ 67 Ένα οποιοδήποτε πληροφοριακό σύστηµα αποτελείται από υλικό, λογισµικό, εξοπλισµό επικοινωνιών, εξοπλισµό περιβαλλοντικού ελέγχου και υλικό τεκµηρίωσης. Επιπλέον, διαχειρίζεται, δηλαδή επεξεργάζεται, µεταδίδει και αποθηκεύει πληροφορίες. Όλα τα παραπάνω, όπως ήδη ξέρουµε, αποτελούν τα περιουσιακά στοιχεία του συστήµατος, τα οποία πρέπει να προστατευτούν. Κάθε σύστηµα, όσο καλά και αν είναι σχεδιασµένο, έχει αναπόφευκτες ευπάθειες. Εξάλλου, το σύστηµα υπόκειται σε διάφορες απειλές. Μια απειλή εκµεταλλεύεται κάποια ή κάποιες ευπάθειες του συστήµατος και οδηγεί σε µια ή περισσότερες επιπτώσεις, που µε τη σειρά τους επιφέρουν συνέπειες στο σύστηµα και, κατ’ επέκταση, στον οργανισµό ή επιχείρηση που το χρησιµοποιεί. Οι συνέπειες προφανώς είναι συνάρτηση της αξίας (όχι µόνο στενά χρηµατικής) των περιουσιακών στοιχείων που βλάπτονται. Ο στόχος της πολιτικής ασφάλειας του οργανισµού ή της επιχείρησης είναι να ελαχιστοποιήσει την πιθανότητα εµφάνισης επιπτώσεων (προφανώς µειώνοντας είτε τις ευπάθειες του συστήµατος είτε την πιθανότητα επιτυχούς εκµετάλλευσης µιας ευπάθειας από κάποια απειλή, αφού δεν είναι δυνατόν να υπάρξει έλεγχος επί των απειλών) ή, τουλάχιστον, να ελαχιστοποιήσει τις συνέπειές τους. Για να γίνει αυτό, απαιτείται η επιλογή και εγκατάσταση αποτελεσµατικών µέτρων προστασίας. Ο βαθµός προστασίας που παρέχει κάθε µέτρο προστασίας συναρτάται άµεσα µε το κόστος υλοποίησής του. Λόγω αυτού του γεγονότος, η επιλογή των µέτρων προστασίας γίνεται πάντα, και όχι µόνο στην ασφάλεια πληροφοριακών συστηµάτων, µε κριτήριο το βαθµό προστασίας που παρέχουν σε σχέση µε το λογικά αναµενόµενο κίνδυνο. Ο βαθµός κινδύνου καθορίζεται ως συνάρτηση της πιθανότητας εµφάνισης µιας απειλής, του βαθµού ευπάθειας του συστήµατος ως προς την απειλή και της σοβαρότητας των συνεπειών που θα προκύψουν αν η απειλή εκµεταλλευτεί επιτυχώς την ευπάθεια. Έτσι, µπορούµε φορµαλιστικά να γράψουµε ότι R = f(Α, T, V, I), όπου R είναι ο βαθµός κινδύνου, Α η αξία του περιουσιακού στοιχείου, T η πιθανότητα εµφάνισης µιας απειλής, V ο βαθµός ευπάθειας και Ι η σοβαρότητα των συνεπειών. Η διαχείριση κινδύνων είναι η διαδικασία που: • αναπτύσσει ένα αφηρηµένο µοντέλο του πραγµατικού πληροφοριακού περιβάλλοντος που µελετάται, ορίζοντας έτσι σαφώς τα όριά του. Ένα τέτοιο περιβάλλον µπορεί να αποτελείται από ένα ή περισσότερα πληροφοριακά συστήµατα και να εµπεριέχει τόσο ανοικτά διασυνδεµένα συστήµατα όσο και κλειστά συστήµατα, • καταγράφει και αποτιµά (όχι µε στενά χρηµατικούς όρους) τα περιουσιακά στοιχεία του συστήµατος, 68 KEºA§AIO 3: T√ ™Ã∂¢π√ A™º∞§∂π∞™ • εκτιµά πιθανές συνέπειες λόγω της χρήσης της (ή της εξάρτησης από αυτήν την τεχνολογία) των αυτοµατοποιηµένων πληροφοριακών συστηµάτων, • αναλύει ευπάθειες του συστήµατος που, σε συνδυασµό µε πιθανές επιθέσεις εναντίον του, διαµορφώνουν τις συνέπειες, • υπολογίζει το βαθµό κινδύνου του συστήµατος, • επιλέγει και προτείνει αποτελεσµατικά (µε την έννοια της βελτιστοποίησης του λόγου κόστος/απόδοση) µέτρα προστασίας που ελαττώνουν τον κίνδυνο σε αποδεκτά επίπεδα, • παρακολουθεί την υλοποίηση των µέτρων προστασίας, καθώς και το βαθµό αποτελεσµατικότητάς τους, τη συµφωνία τους µε διεθνή πρότυπα, την επικαιρότητά τους και την καταλληλότητά τους στο συγκεκριµένο επιχειρησιακό περιβάλλον και προτείνει, κατά καιρούς, αλλαγές, αν αυτό κριθεί απαραίτητο. Το προτελευταίο από τα παραπάνω χαρακτηριστικά δίνει και τη διάσταση της διαχείρισης κινδύνων: Η διαχείριση κινδύνων είναι η τεχνική που χρησιµοποιείται κατά κύριο λόγο από ειδικούς της ασφάλειας πληροφοριακών συστηµάτων προκειµένου να διερευνήσουν τη σκοπιµότητα εφαρµογής µέτρων προστασίας. Ειδικότερα, η διαχείριση κινδύνων θεωρείται ως τεχνική που µπορεί να χρησιµοποιηθεί για την αιτιολόγηση της αναγκαιότητας εφαρµογής µέτρων προστασίας (και συνεπώς της σχετικής δαπάνης) προς τη διοίκηση του οργανισµού ή της επιχείρησης. Από µια άλλη –περισσότερο τεχνική– οπτική γωνία, η διαχείριση κινδύνων θεωρείται ως ένα εργαλείο για τη σχεδίαση της ασφάλειας πληροφοριακών συστηµάτων µε χρήση µέτρων προστασίας που επιλέγονται µε βάση στατιστικές µεθόδους. Η διαχείριση κινδύνων είναι µια συνεχής κυκλική διαδικασία, που συνήθως ξεκινά από το πρώτο στάδιο του ορισµού των ορίων ενός πληροφοριακού συστήµατος. Τα υπόλοιπα στάδια συµπληρώνουν τη διαδικασία, της οποίας τελικός στόχος είναι το λεγόµενο «ασφαλές υπολογιστικό περιβάλλον». 3.2.1 √ ÚfiÏÔ˜ Î·È Ë ·Ó·ÁηÈfiÙËÙ· Ù˘ ‰È·¯Â›ÚÈÛ˘ ÎÈÓ‰‡ÓˆÓ Η διοίκηση ενός οργανισµού ή επιχείρησης συχνά αντιµετωπίζει το ζήτηµα της απόκτησης ή ανάπτυξης πληροφοριακών συστηµάτων ανταγωνιστικά ως προς άλλες, εναλλακτικές, επενδύσεις κεφαλαίου. Για το λόγο αυτό, οι περισσότερες προτάσεις απόκτησης ανάπτυξης πληροφοριακών συστηµάτων εµπεριέχουν µια οικονοµική µελέτη σκοπιµότητας ή µια ανάλυση κόστους/απόδοσης. Ένας από τους ρόλους αυτών των µελετών ή αναλύσεων είναι να αποδείξουν τον ισχυρισµό ότι το σύστηµα θα παραγάγει απόδοση ίση ή µεγαλύτερη από το κόστος του. Ωστόσο, ο πιο σηµα- 3.2 ¢π∞Ã∂πƒπ™∏ ∫π¡¢À¡ø¡ 69 ντικός τους ρόλος είναι να υποβοηθήσουν τη διοίκηση στη λήψη της απόφασης του κατά πόσο η επένδυση στο πληροφοριακό σύστηµα είναι συµφέρουσα, σε σύγκριση µε άλλες εναλλακτικές επενδύσεις. Η µέτρηση της απόδοσης ενός πληροφοριακού συστήµατος δεν είναι εύκολη υπόθεση, αφού κάποιες µορφές απόδοσης δεν µπορούν να µεταφραστούν άµεσα σε οικονοµικά µεγέθη. Τέτοιες µορφές απόδοσης δεν µπορούν, βέβαια, να χρησιµοποιηθούν άµεσα σε συγκρίσεις επενδύσεων, γεγονός που κάνει άκρως επιθυµητή τη –µε κάποιον τρόπο– ποσοτικοποίησή τους. Ένας τέτοιος τρόπος ποσοτικοποίησης, που χρησιµοποιείται στην οικονοµία της πληροφορίας και στην οικονοµία της τεχνολογίας λογισµικού, είναι η χρήση της στατιστικής θεωρίας αποφάσεων. Η διαχείριση κινδύνων, δηµιούργηµα της στατιστικής θεωρίας αποφάσεων, χρησιµοποιείται επίσης ως τεχνική ποσοτικοποίησης, στα πλαίσια της ασφάλειας πληροφοριακών συστηµάτων. Παρέχει έναν τρόπο ποσοτικοποίησης άυλων χαρακτηριστικών ενός συστήµατος, όπως, π.χ., πιθανότητα µη εξουσιοδοτηµένης προσπέλασης και µετάφρασής τους σε χρηµατικά µεγέθη. Έτσι, ο βαθµός στον οποίο τα χαρακτηριστικά αυτά είναι επιθυµητά µπορεί να συγκριθεί άµεσα µε το κόστος τους, και το αποτέλεσµα να χρησιµοποιηθεί για τη λήψη της απόφασης επένδυσης. Τέλος, πρέπει να σηµειώσουµε ότι τόσο η ισχύουσα (ν. 2472/97) όσο και η υπό ψήφιση (νόµος για την ασφάλεια των επικοινωνιών) ελληνική νοµοθεσία αποδίδει ιδιαίτερη σηµασία στον εντοπισµό των κατάλληλων (σε σχέση µε το κόστος τους και µε τους κινδύνους που καλούνται να αντιµετωπίσουν) µέτρων ασφάλειας. Πράγµατι, σύµφωνα µε το άρθρο 10, παρ. 3 του ν. 2472/97, «Ο υπεύθυνος επεξεργασίας οφείλει να λαµβάνει τα κατάλληλα οργανωτικά και τεχνικά µέτρα για την ασφάλεια των δεδοµένων και την προστασία τους από τυχαία ή αθέµιτη καταστροφή, τυχαία απώλεια, αλλοίωση, απαγορευµένη διάδοση ή πρόσβαση και κάθε άλλη µορφή αθέµιτης επεξεργασίας. Αυτά τα µέτρα πρέπει να εξασφαλίζουν επίπεδο ασφάλειας ανάλογο προς τους κινδύνους που συνεπάγεται η επεξεργασία και η φύση των δεδοµένων που είναι αντικείµενο της επεξεργασίας». Είναι φανερό ότι η ανάλυση επικινδυνότητας αποκτά βαρύνουσα σηµασία, αφού στην ουσία αποτελεί υποχρέωση του υπεύθυνου επεξεργασίας που απορρέει από το νόµο. 3.2.2 ∏ ‰È·¯Â›ÚÈÛË ÎÈÓ‰‡ÓˆÓ ˆ˜ ÂÈÛÙËÌÔÓÈ΋ ̤ıÔ‰Ô˜ Î·È ˆ˜ Ù¯ÓÈ΋ ÂÈÎÔÈÓˆÓ›·˜ Η διαχείριση κινδύνων είναι πολύ σηµαντικό εργαλείο στη σχεδίαση ασφαλών πληροφοριακών συστηµάτων, επειδή συστηµατικά ταξινοµεί και καθοδηγεί τη διαδικασία της απόφασης για το ποιο υποσύνολο από το σύνολο των πιθανών µέτρων προ- 70 KEºA§AIO 3: T√ ™Ã∂¢π√ A™º∞§∂π∞™ στασίας θα υλοποιηθεί. Είναι, λοιπόν, απαραίτητη για την υποστήριξη της προσπάθειας ανάπτυξης ασφαλών πληροφοριακών συστηµάτων από τη διοίκηση του οργανισµού ή της επιχείρησης. Όπως ειπώθηκε ήδη, η διαχείριση κινδύνων στηρίζεται πάνω στην επιστηµονική βάση της στατιστικής θεωρίας αποφάσεων. Το βασικό θεώρηµα της θεωρίας αυτής (θεώρηµα Bayes) αναφέρεται στη στατιστική αναθεώρηση a–priori (εκ των προτέρων) πιθανοτήτων, παρέχοντας a–posteriori (εκ των υστέρων) πιθανότητες. Εφαρµόζεται στη θεωρία αποφάσεων όταν ζητείται κάποια απόφαση µε βάση ατελείς πληροφορίες. Στη διαχείριση κινδύνων, η απόφαση για την ποσοτικοποίηση ενός γεγονότος µπορεί να είναι συνάρτηση και άλλων παραγόντων, εκτός από την πιθανότητα εµφάνισης του γεγονότος αυτού καθαυτού. Για παράδειγµα, οι πιθανότητες εµφάνισης διαδηλώσεων P(S1) και µη εµφάνισης διαδηλώσεων P(S2) σε µια χώρα µπορεί να σχετίζονται µε την ευστάθεια του πολιτικού καθεστώτος. Έτσι, ο υπολογισµός οποιασδήποτε από τις παραπάνω πιθανότητες πρέπει να εµπλέκει και ποσοτικοποιηµένες πληροφορίες σχετικές µε την ευστάθεια του πολιτικού καθεστώτος. Το όλο µοντέλο δέχεται την πιθανότητα ότι οποιαδήποτε πληροφορία (π.χ. «το πολιτικό καθεστώς είναι ευσταθές») µπορεί να είναι ανακριβής. Σε σύγκριση µε το φορµαλιστικό αυτό πλαίσιο, η διαχείριση κινδύνων, όπως εφαρµόζεται από τους ειδικούς και επαγγελµατίες που ασχολούνται µε την ασφάλεια πληροφοριακών συστηµάτων, απλοποιεί το πρόβληµα. Πράγµατι, αποφεύγοντας την πολυπλοκότητα που συνοδεύει την αυστηρή πιθανοτική µοντελοποίηση κινδύνων και αβεβαιότητας, η διαχείριση κινδύνων µετατρέπεται σε διαδικαία που προσπαθεί µάλλον να «µαντέψει», παρά να προβλέψει φορµαλιστικά µε βάση στατιστικά δεδοµένα. Ωστόσο, η διαχείριση κινδύνων, θεωρούµενη ως επιστηµονική µέθοδος καθαυτή, αναδεικνύεται αβαθής. Ο κύριος λόγος της αυστηρής αυτής κριτικής είναι ότι η διαχείριση κινδύνων δεν παρέχει τη δυνατότητα ανατροφοδότησης των αποτελεσµάτων της προδιαγραφής, της σχεδίασης και της υλοποίησης των µέτρων προστασίας που προτείνει. Στις περισσότερες περιπτώσεις –αν και η κατάσταση πρόσφατα τείνει να αλλάξει– η ασφάλεια των πληροφοριακών συστηµάτων είναι χαµηλής προτεραιότητας έργο για τη διοίκηση ενός οργανισµού ή επιχείρησης, µέχρι να συµβεί κάποιο σοβαρό περιστατικό. Τότε, η διοίκηση επιδίδεται σε µια πραγµατικά σοβαρή προσπάθεια βελτίωσης των µηχανισµών ασφάλειας, πραγµατοποιώντας µελέτες ανάλυσης κινδύνων, καλώντας ειδικούς ασφάλειας και προβαίνοντας σε αγορά και εγκατάσταση –ακριβού πολλές φορές– υλικού και λογισµικού. Ωστόσο, µετά από λίγο καιρό, το πρόβληµα παύει να βρίσκεται στο επίκεντρο του ενδιαφέροντος και αυτό που παραµένει είναι µόνο κάποια µέτρα προστασίας, κάποιο εξειδικευµένο 3.2 ¢π∞Ã∂πƒπ™∏ ∫π¡¢À¡ø¡ 71 υλικό και λογισµικό και ένα επιχειρησιακά πολυπλοκότερο σύστηµα. Στις περισσότερες περιπτώσεις το πληροφοριακό σύστηµα λειτουργούσε άψογα για χρόνια, χωρίς τις «βελτιώσεις» ασφάλειας που πρότειναν οι ειδικοί. Εκτός και αν η καταστροφή ξανασυµβεί, η διοίκηση στην πραγµατικότητα ποτέ δεν µπορεί να ξέρει αν οι προσπάθειές της πράγµατι απέδωσαν. Αν πράγµατι οι επικριτές της διαχείρισης κινδύνων έχουν δίκιο όσον αφορά την έλλειψη «επιστηµοσύνης» στις µεθοδολογίες διαχείρισης κινδύνων, το ερώτηµα «γιατί τότε η διαχείριση κινδύνων έχει επιζήσει ως πρακτική για τόσο µεγάλο διάστηµα;» καθίσταται αναµφίβολα καίριο. Ένας κύριος λόγος που συνιστά µερική απάντηση στο παραπάνω ερώτηµα είναι ότι δεν υπάρχει άλλος –επαρκής– τρόπος πραγµατοποίησης του έργου που επιτελεί η διαχείριση κινδύνων. Πράγµατι, έχει αποδειχθεί ότι, χρησιµοποιώντας απλώς τη νοµική ή/και τη λογιστική επιστήµη, δεν είναι δυνατόν να καταλήξουµε σε συµπεράσµατα επαρκή για την αιτιολόγηση της όποιας λύσης ασφάλειας πληροφοριακών συστηµάτων. Ένας άλλος λόγος –και ίσως ο κυριότερος– είναι ότι η διαχείριση κινδύνων λειτυργεί ως επιτυχές κανάλι επικοινωνίας µεταξύ των τεχνικών εµπειρογνωµόνων και της διοίκησης. Πράγµατι, αφού η απόφαση εξασφάλισης πληροφοριακών συστηµάτων πρέπει από κοινού να ληφθεί µεταξύ των δύο αυτών µερών, είναι κρίσιµο να υπάρχει ένα µέσο επικοινωνίας κατανοητό και από τα δύο µέρη. Η διαχείριση κινδύνων, µε την απλή αριθµητική που χρησιµοποιεί (αντί πολύπλοκων πιθανοτικών τύπων), επιτρέπει την έκφραση του προβλήµατος της ασφάλειας σε µια γλώσσα κατανοητή από τη διοίκηση, που σπάνια διαθέτει εξειδικευµένες τεχνικές γνώσεις. Επίσης, η έκφραση των κινδύνων σε χρηµατικά ποσά διευκολύνει την –από πλευράς διοίκησης– σύγκριση µε άλλες εναλλακτικές τοποθετήσεις κεφαλαίου. 3.2.3 ªÂıÔ‰ÔÏÔÁ›Â˜ ‰È·¯Â›ÚÈÛ˘ ÎÈÓ‰‡ÓˆÓ Σήµερα υπάρχουν διαθέσιµες πολλές µεθοδολογίες διαχείρισης κινδύνων. Οι περισσότερες απ’ αυτές διατίθενται και σε αυτοµατοποιηµένη µορφή, δηλαδή επιτρέπουν τη χρήση υπολογιστή. Η επιλογή της πιο κατάλληλης µεθόδου για το συγκεκριµένο περιβάλλον και τις ανάγκες µιας επιχείρησης ή οργανισµού είναι πολύ σηµαντική αλλά και καθόλου εύκολη. Οι παράγοντες που δυσκολεύουν µια τέτοια επιλογή είναι οι εξής: • ∆εν υπάρχει διαθέσιµος πλήρης κατάλογος όλων των διαθέσιµων µεθοδολογιών, µε τα ιδιαίτερα χαρακτηριστικά τους. • ∆εν υπάρχει κοινά αποδεκτό σύνολο κριτηρίων αξιολόγησης για τις µεθοδολο- 72 KEºA§AIO 3: T√ ™Ã∂¢π√ A™º∞§∂π∞™ γίες. • Κάποιες µεθοδολογίες καλύπτουν τµήµατα µόνο της όλης διαδικασίας διαχείρισης κινδύνων. Για παράδειγµα, µερικές µεθοδολογίες αναφέρονται µόνο στον υπολογισµό του βαθµού κινδύνου και καθόλου στην επιλογή των κατάλληλων µέτρων προστασίας. Άλλες επικεντρώνονται σε κάποιο µόνο µικρό τµήµα της όλης διαδικασίας, όπως, π.χ., στο σχεδιασµό διαδικασιών ανάκαµψης µετά από καταστροφή. Κάποιες µέθοδοι ασχολούνται µόνο µε τον έλεγχο των µέτρων προστασίας και όχι µε τον υπολογισµό του βαθµού ευπάθειας κ.ο.κ. • Οι µεθοδολογίες διαφέρουν πολύ στο επίπεδο ανάλυσης που χρησιµοποιούν. Κάποιες χρησιµοποιούν υψηλού επιπέδου περιγραφές του πληροφοριακού συστήµατος που µελετούν, ενώ κάποιες άλλες απαιτούν λεπτοµερειακές περιγραφές. • Κάποιες µέθοδοι δε διατίθενται στην ελεύθερη αγορά, γεγονός που κάνει την αξιολόγησή τους πολύ δύσκολη, αν όχι αδύνατη. ÕÛÎËÛË A˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 3.2 Χαρακτηρίστε τις παρακάτω προτάσεις ως σωστές ή λάθος: Σωστό 1. Η έννοια της ανάλυσης κινδύνων είναι γενικότερη από την έννοια της διαχείρισης κινδύνων. 2. Το κόστος εφαρµογής ενός µέτρου προστασίας είναι ευθέως ανάλογο του βαθµού προστασίας που παρέχει. 3. Ο βαθµός κινδύνου εξαρτάται από την αξία του περιουσιακού στοιχείου, την πιθανότητα επιτυχίας µιας απειλής και των συνεπειών της. 4. Οι µεθοδολογίες διαχείρισης κινδύνων βασίζουν τις αναλύσεις τους σε καθαρά αιτιοκρατικά και όχι σε στατιστικά στοιχεία. 5. Οι µεθοδολογίες διαχείρισης κινδύνων χρησιµοποιούν φορµαλιστικά πλαίσια πιθανοτικής ανάλυσης. ❏ ❏ Λάθος ❏ ❏ ❏ ❏ ❏ ❏ ❏ ❏ 3.2 ¢π∞Ã∂πƒπ™∏ ∫π¡¢À¡ø¡ 73 6. Οι µεθοδολογίες διαχείρισης κινδύνων δεν παρέχουν τη δυνατότητα ανατροφοδότησης των αποτελεσµάτων τους. 7. Οι µεθοδολογίες διαχείρισης κινδύνων δηµιουργούν κανάλι επικοινωνίας τεχνικών – διοίκησης. 8. Οι διαθέσιµες µεθοδολογίες διαχείρισης κινδύνων είναι παρόµοιες. ❏ ❏ ❏ ❏ ❏ ❏ 3.2.4 ŒÓ· ·Ú¿‰ÂÈÁÌ· Ως παράδειγµα αυτοµατοποιηµένης µεθοδολογίας διαχείρισης κινδύνων παρουσιάζουµε εδώ τη µεθοδολογία CRAMM (CCTA RISK ANALYSIS AND MANAGEMENT METHODOLOGY). H CRAMM αναπτύχθηκε από την Κεντρική Υπηρεσία Υπολογιστών και Τηλεπικοινωνιών (Central Computer and Telecommunications Agency – CCTA) της Βρετανίας, αποτελεί πρότυπο στη χώρα αυτή και χρησιµοποιείται ως βάση για τη διαµόρφωση ενός διεθνούς προτύπου διαχείρισης κινδύνων. Το 1986, η CCTA, υπηρεσία υπεύθυνη για την παροχή συµβουλευτικών υπηρεσιών προς όλους τους κυβερνητικούς οργανισµούς σε θέµατα υπολογιστών και τηλεπικοινωνιών, αποφάσισε να υιοθετήσει µια µεθοδολογία διαχείρισης κινδύνων και να τη συστήσει προς χρήση σε όλους τους δηµόσιους οργανισµούς. Η υπηρεσία εξέτασε πολλές τότε διαθέσιµες µεθοδολογίες και διαπίστωσε ότι καµία δεν πληρούσε τα προκαθορισµένα κριτήρια της CCTA. Τα κριτήρια αυτά ήταν: 1. ∆υνατότητα χρήσης από σχετικά άπειρα άτοµα. 2. Ευκολία κατανόησης και χρήσης. 3. Ταχύτητα στη χρήση. 4. Παροχή δυνατότητας εξέτασης σεναρίων τύπου «εάν – τι». 5. Παροχή λίστας ελέγχου δυνατών κινδύνων. 6. Παροχή λίστας ελέγχου µέτρων προστασίας. Με βάση την παραπάνω διαπίστωση και τα κριτήρια που προαναφέρθηκαν, η CCTA αποφάσισε να προχωρήσει στη σχεδίαση και ανάπτυξη µιας ολοκληρωµένης µεθόδου, ξεκινώντας από βασικές αρχές. Η CRAMM δοκιµάτηκε αρχικά σε λίγες κυβερνητικές υπηρεσίες το 1987, µε τη µη αυτοµατοποιηµένη µορφή της. Τα αποτελέσµατα ήταν ενθαρρυντικά και οδήγησαν στην ανάπτυξη της αυτοµατοποιηµένης έκδοσης αµέσως µετά. Παρ’ όλο που 74 KEºA§AIO 3: T√ ™Ã∂¢π√ A™º∞§∂π∞™ είναι δύσκολο να κρατηθούν τέτοιου είδους στοιχεία, υπολογίζεται ότι η CRAMM έχει χρησιµοποιηθεί σε αρκετές εκατοντάδες µελέτες διαχείρισης κινδύνων. ∞Ó·Ï˘ÙÈ΋ ÂÚÈÁÚ·Ê‹ Ù˘ ÌÂıfi‰Ô˘ CRAMM Κατά την έναρξη της µελέτης και κατά την πρώτη σύσκεψη της οµάδας µελέτης µε τη διοίκηση προσδιορίζονται: • Τα όρια της µελέτης. • Οι χρήστες των δεδοµένων και τα άτοµα που θα συνεργαστούν για τη µελέτη. • Η εξασφάλιση εξουσιοδότησης για άντληση των απαιτούµενων στοιχείων και για διεξαγωγή των συνεντεύξεων. • Το χρονοδιάγραµµα και το πλάνο διεξαγωγής της µελέτης. Η CRAMM αποτελείται από τρία βασικά στάδια: 1. Προσδιορισµός και αξιολόγηση των περιουσιακών στοιχείων. 2. Ανάλυση κινδύνων. 3. ∆ιαχείριση κινδύνων. Κάθε στάδιο εκτελείται σε συγκεκριµένα βήµατα. Τα στάδια και τα βήµατα τα οποία περιλαµβάνονται στη µεθοδολογία CRAMM φαίνονται στον Πίνακα 3.1 και περιγράφονται αναλυτικά στη συνέχεια. Στάδιο 1 ¶ƒ√™¢π√ƒπ™ª√™ ∫∞π ∞•π√§√°∏™∏ ∆ø¡ ¶∂ƒπ√À™π∞∫ø¡ ™∆√πÃ∂πø¡ Το πρώτο στάδιο αναφέρεται στον προσδιορισµό και στην αξιολόγηση των στοιχείων του ΠΣ που χρήζουν προστασίας. Αποτελείται από τα εξής βήµατα: Βήµα 1.1 ¢∏ªπ√Àƒ°π∞ ∆√À ª√¡∆∂§√À ∆√À ¶™ Το πρώτο βήµα αναφέρεται στον προσδιορισµό των περιουσιακών στοιχείων του ΠΣ που απαιτούν προστασία. Τα στοιχεία αυτά είναι πρωτίστως τα δεδοµένα που χειρίζεται το ΠΣ, όπως επίσης το λογισµικό και το υλικό του ΠΣ. Τα στοιχεία αυτά βρίσκονται σε αλληλεπίδραση. Για παράδειγµα, τα δεδοµένα τυγχάνουν επεξεργασίας από το λογισµικό, το οποίο υποστηρίζεται από το υλικό, όπως υπολογιστές, δικτυακός εξοπλισµός και περιφερειακά. Η προστασία των δεδοµένων προϋποθέτει την προστασία του λογισµικού και του υλι- 3.2 ¢π∞Ã∂πƒπ™∏ ∫π¡¢À¡ø¡ 75 κού που αποθηκεύει και επεξεργάζεται τα δεδοµένα. Επιπλέον, αναγκαία είναι και η προστασία των επικοινωνιακών µέσων που χρησιµοποιούνται για τη µεταφορά των δεδοµένων. Για το λόγο αυτό, στα πλαίσια της µεθοδολογίας CRAMM, δηµιουργούµε ένα µοντέλο του συστήµατος που παρουσιάζει όλες αυτές τις συσχετίσεις µεταξύ των στοιχείων του ΠΣ. Η δηµιουργία του µοντέλου ακολουθεί τα εξής στάδια: • Προσδιορισµός των δεδοµένων που επεξεργάζεται το ΠΣ και δηµιουργία οµάδων δεδοµένων. • Προσδιορισµός των υλικών περιουσιακών στοιχείων που υποστηρίζουν την επεξεργασία των δεδοµένων. • Προσδιορισµός των χώρων όπου βρίσκονται τα υλικά περιουσιακά στοιχεία. • Προσδιορισµός του λογισµικού που χρησιµοποιείται στην επεξεργασία των δεδοµένων. • ∆ηµιουργία των µοντέλων που συσχετίζουν τα παραπάνω. ¶›Ó·Î·˜ 3.1 Στάδια και επιµέρους βήµατα εκπόνησης µελέτης διαχείρισης κινδύνων Στάδιο Στάδιο 1 Προσδιορισµός και αξιολόγηση των Περιουσιακών στοιχείων Στάδιο 2 Ανάλυση κινδύνων Βήµατα ανά Στάδιο Βήµα 1.1: ∆ηµιουργία του µοντέλου του ΠΣ Βήµα 1.2: Αποτίµηση των στοιχείων – Περιουσιακών στοιχείων του ΠΣ Βήµα 1.3: Επιβεβαίωση και επικύρωση της αποτίµησης Βήµα 2.1: Προσδιορισµός των Απειλών που αφορούν το κάθε Περιουσιακό στοιχείο Βήµα 2.2: Εκτίµηση Απειλών και Ευπαθειών – Σηµείων Ευπάθειας Βήµα 2.3: Υπολογισµός Κινδύνου για κάθε συνδυασµό Περιουσιακό στοιχείο – Απειλή – Ευπάθεια Βήµα 2.4: Επιβεβαίωση και επικύρωση του Βαθµού Κινδύνου 76 KEºA§AIO 3: T√ ™Ã∂¢π√ A™º∞§∂π∞™ Στάδιο 3 ∆ιαχείριση κινδύνων Βήµα 3.1: Προσδιορισµός της λίστας των προτεινόµενων µέτρων προστασίας. Βήµα 3.2: Σχεδιασµός του Σχεδίου – Πλάνου Ασφάλειας Η συλλογή των παραπάνω στοιχείων βασίζεται στην τεκµηρίωση του συστήµατος και στον πρώτο κύκλο συνεντεύξεων, που αφορά το τεχνικό προσωπικό και τους κύριους χρήστες του συστήµατος. Αυτές οι δύο κατηγορίες προσωπικού µπορούν να προσφέρουν σηµαντικά στοιχεία στην κατεύθυνση της απόκτησης πλήρους εικόνας για τα δεδοµένα που χειρίζεται το σύστηµα και για τη διάρθρωση του συστήµατος. Το µοντέλο του συστήµατος εισάγεται στο λογισµικό CRAMM και ελέγχεται η ορθότητά του. Βήµα 1.2 ∞¶√∆πª∏™∏ ∆ø¡ ™∆√πÃ∂πø¡ ∆√À ¶™ Όπως είναι λογικό, κατά την αποτίµηση των περιουσιακών στοιχείων του ΠΣ ιδιαίτερη έµφαση δίνεται στην αποτίµηση των δεδοµένων που διαχειρίζεται το ΠΣ. Ο στόχος είναι να προσδιοριστεί η σπουδαιότητα που έχουν τα δεδοµένα για τον οργανισµό. Έτσι, µπορούµε να εντοπίσουµε εκείνες τις κατηγορίες δεδοµένων που χρήζουν ιδιαίτερης προστασίας, και ειδικότερα το είδος της προστασίας που χρειάζεται. Η αξία κάθε οµάδας/κατηγορίας δεδοµένων αποτιµάται µε βάση την επίπτωση που θα είχε η απώλεια των δεδοµένων. Πιο συγκεκριµένα, εξετάζεται το µέγεθος της επίπτωσης στις περιπτώσεις της καταστροφής, της µη εξουσιοδοτηµένης τροποποίησης, της αποκάλυψης και της µη διαθεσιµότητας. Εξετάζονται οι εξής περιπτώσεις: • Μη διαθεσιµότητα [Λιγότερο από 15 λεπτά, 1 ώρα, 3 ώρες, 12 ώρες, 1 µέρα, 2 µέρες, 1 εβδοµάδα, 2 εβδοµάδες, 1 µήνα, 2 µήνες και περισσότερο]. • Καταστροφή [Απώλεια των δεδοµένων µετά την τελευταία λήψη εφεδρικού αντιγράφου, Απώλεια όλων των δεδοµένων µαζί µε το τηρούµενο αντίγραφο]. • Αποκάλυψη [Αποκάλυψη των δεδοµένων σε άτοµα εντός του οργανισµού, Αποκάλυψη των δεδοµένων σε άτοµα εκτός του οργανισµού, Αποκάλυψη των δεδοµένων σε παροχείς υπηρεσιών]. • Μη εξουσιοδοτηµένη µεταβολή [Μικρής έκτασης λάθη, Μεγάλης έκτασης λάθη]. • Ηθεληµένη µεταβολή των δεδοµένων. • Λάθη µετάδοσης δεδοµένων [Παρεµβολή λανθασµένων µηνυµάτων, Άρνηση της 3.2 ¢π∞Ã∂πƒπ™∏ ∫π¡¢À¡ø¡ 77 αποστολής του µηνύµατος, Άρνηση της παραλαβής του µηνύµατος, Αποτυχία αποστολής του µηνύµατος, Επανεκποµπή του µηνύµατος, Λανθασµένη δροµολόγηση, Παρακολούθηση της κίνησης, Απώλεια της ακολουθίας µηνυµάτων]. Για κάθε περίπτωση εκτιµάται το χειρότερο πιθανό σενάριο και υπολογίζονται οι επιπτώσεις από την πραγµατοποίησή του. Το µέγεθος της επίπτωσης εκτιµάται αριθµητικά µε βάση κλίµακα 1–10. Η CRAMM παρέχει οδηγίες για την αποτίµηση των επιπτώσεων που ανήκουν στις παρακάτω κατηγορίες: • Επιπτώσεις που αφορούν τη σωµατική ακεραιότητα και τη ζωή φυσικών προσώπων. • Επιπτώσεις από την αποκάλυψη προσωπικών πληροφοριών. • Νοµικές επιπτώσεις. • Παρεµπόδιση της εφαρµογής της δικαιοσύνης και της εξιχνίασης εγκληµάτων και παραβάσεων. • Οικονοµικές απώλειες. • Πρόκληση διατάραξης της δηµόσιας τάξης. • ∆ιεθνείς σχέσεις. • Άµυνα και εθνική ασφάλεια. • Εφαρµογή της πολιτικής του οργανισµού. • Απώλεια της εµπιστοσύνης του κοινού στον οργανισµό. Επίσης, αποτιµώνται και το λογισµικό και το υλικό του ΠΣ. Η αποτίµησή τους γίνεται βάσει του κόστους αντικατάστασής τους. Τέλος, η CRAMM, διαµέσου του λογισµικού της και βάσει του µοντέλου του ΠΣ, υπολογίζει την έµµεση αξία των στοιχείων του ΠΣ. Για παράδειγµα, η απώλεια ενός υπολογιστή (π.χ. κλοπή) συνεπάγεται και απώλεια, έστω προσωρινή, των δεδοµνων που επεξεργάζεται, και η αξία των τελευταίων θα πρέπει να προστεθεί στην αξία του υπολογιστή. Η αποτίµηση των στοιχείων του ΠΣ βασίζεται σε συνεντεύξεις που γίνονται µε χρήση δοµηµένων ερωτηµατολογίων που παρέχει η CRAMM. Στην περίπτωση αυτή συνεντεύξεις πρέπει να γίνουν τόσο µε το τεχνικό προσωπικό όσο και µε το διοικητικό προσωπικό, καθώς και τους «χρήστες» των υπηρεσιών του συστήµατος (π.χ. τους υπαλλήλους που εισάγουν και επεξεργάζονται τα δεδοµένα του συστήµατος). Το λογισµικό της CRAMM αποθηκεύει και επεξεργάζεται όλα τα δεδοµένα που συλλέγονται. Επίσης, το λογισµικό πραγµατοποιεί το συσχετισµό της αποτίµησης των 78 KEºA§AIO 3: T√ ™Ã∂¢π√ A™º∞§∂π∞™ επιµέρους στοιχείων του συστήµατος µε το µοντέλο (δηλαδή µε την αλληλοσυσχέτιση των στοιχείων του ΠΣ) του συστήµατος. Έτσι, υπολογίζει την έµµεση αξία των στοιχείων του συστήµατος, υπολογισµός που θα ήταν πρακτικά αδύνατο να διεξαχθεί µε χειρόγραφες ή εµπειρικές µεθόδους. Βήµα 1.3 ∂¶πµ∂µ∞πø™∏ ∫∞π ∂¶π∫Àƒø™∏ ∆∏™ ∞¶√∆πª∏™∏™ Η αποτίµηση των στοιχείων του ΠΣ αποτελεί κρίσιµο παράγοντα για την εκπόνηση της µελέτης ανάλυσης κινδύνων. Γι’ αυτό το λόγο, πριν διεξαχθούν τα παρακάτω στάδια, θα πρέπει η αποτίµηση να επιβεβαιωθεί και να επικυρωθεί από τη διοίκηση του οργανισµού. Η οµάδα µελέτης παρουσιάζει µε τη µορφή αναλυτικής έκθεσης τα αποτελέσµατα του πρώτου σταδίου στη διοίκηση. Τα αποτελέσµατα εξετάζονται από κοινού κατά τη διάρκεια σύσκεψης και επικυρώνονται από τη διοίκηση. Η CRAMM παράγει µια σειρά από εκθέσεις που διευκολύνουν τη σύνταξη της αναλυτικής έκθεσης του πρώτου σταδίου. Οι κυριότερες από αυτές είναι η έκθεση της αποτίµησης των περιουσιακών στοιχείων του ΠΣ, η έκθεση επιπτώσεων και το µοντέλο του συστήµατος. Τέλος, η CRAMM προσφέρει τη δυνατότητα αναζήτησης της πηγής, µε την οποία τονίζονται οι παράγοντες οι οποίοι οδήγησαν στα συγκεκριµένα συµπεράσµατα, έτσι ώστε να µην υπάρχουν αδιαφανείς λειτουργίες λόγω της αυτοµατοποίησης ορισµένων από τις διαδικασίες της CRAMM. Το κύριο προϊόν αυτού του σταδίου είναι η αποτίµηση των περιουσιακών στοιχείων του ΠΣ, η οποία περιλαµβάνει: • Τον ορισµό τού προς ανάλυση συστήµατος και των ορίων του. • Τη µέθοδο εργασίας που ακολουθήθηκε. • Την αποτίµηση των δεδοµένων του ΠΣ. • Την αποτίµηση του υλικού του ΠΣ. • Την αποτίµηση του λογισµικού του ΠΣ. • Γενικά συµπεράσµατα του πρώτου σταδίου. Στάδιο 2 ∞¡∞§À™∏ ∫π¡¢À¡ø¡ Στο πρώτο στάδιο υπολογίστηκε ο ένας από τους τρεις παράγοντες που συνθέτουν την επικινδυνότητα. Συγκεκριµένα, αποτιµήθηκε η αξία των περιουσιακών στοιχεί- 3.2 ¢π∞Ã∂πƒπ™∏ ∫π¡¢À¡ø¡ 79 ων του ΠΣ. Στο δεύτερο στάδιο υπολογίζονται οι άλλοι δύο παράγοντες, που είναι η πιθανότητα εµφάνισης των απειλών και ο βαθµός ευπάθειας του συστήµατος. Ο συνδυασµός αυτών των τριών παραγόντων θα µας δώσει το βαθµό κινδύνου του συστήµατος, έτσι ώστε να επιλεγούν τα κατάλληλα µέτρα προστασίας. Βήµα 2.1 ¶ƒ√™¢π√ƒπ™ª√™ ∆ø¡ ∞¶∂π§ø¡ ¶√À ∞º√ƒ√À¡ ∆√ ∫∞£∂ ¶∂ƒπ√À™π∞∫√ ™∆√πÃ∂π√ Η µεθοδολογία CRAMM δεν περιορίζεται στον προσδιορισµό των πιθανών απειλών που αντιµετωπίζει ένα ΠΣ, αλλά επικεντρώνεται στον προσδιορισµό συγκεκριµένων απειλών για κάθε περιουσιακό στοιχείο του ΠΣ. Η CRAMM παρέχει µια ενδεικτική κατάσταση απειλών, καθώς και συστάσεις για το ποιες κατηγορίες περιουσιακών στοιχείων ενός ΠΣ αντιµετωπίζουν συνήθως τη συγκεκριµένη απειλή. Σηµειώνω ότι η CRAMM, έχοντας ένα πλήρες µοντέλο του ΠΣ, µπορεί και «αντιλαµβάνεται» ότι, όταν ένα από τα περιουσιακά στοιχεία του ΠΣ αντιµετωπίζει µια απειλή, τότε και τα δεδοµένα ή οι υπηρεσίες που αυτό υποστηρίζει αντιµετωπίζουν την ίδια απειλή. Για παράδειγµα, όταν ένας υπολογιστής αντιµετωπίζει την απειλή της κλοπής, τότε και τα δεδοµένα που αυτός έχει αποθηκευµένα θα κλαπούν µαζί του. Έτσι, ο αναλυτής δε χρειάζεται να υπολογίζει ο ίδιος όλες τις συσχετίσεις και τις αλληλεπιδράσεις. Οι κατηγορίες απειλών που περιλαµβάνει η CRAMM φαίνονται στον παρακάτω Πίνακα 3.2. ¶›Ó·Î·˜ 3.2 Απειλές στην CRAMM Πλαστοπροσωπία από άτοµα εντός του οργανισµού Πλαστοπροσωπία από παροχείς υπηρεσιών Πλαστοπροσωπία από τρίτους Μη εξουσιοδοτηµένη χρήση µιας εφαρµογής Εισαγωγή ιοµορφικού λογισµικού και γενικότερα κακόβουλου λογισµικού Κατάχρηση των πόρων του συστήµατος ∆ιείσδυση στις επικοινωνίες από άτοµα εντός του οργανισµού ∆ιείσδυση στις επικοινωνίες από παροχείς υπηρεσιών (contracted service providers) ∆ιείσδυση στις επικοινωνίες από τρίτους Ακούσια λανθασµένη δροµολόγηση Τεχνική αστοχία υπολογιστή εκτός δικτύου 80 KEºA§AIO 3: T√ ™Ã∂¢π√ A™º∞§∂π∞™ Τεχνική αστοχία υπολογιστή δικτύου Τενική αστοχία µέσου αποθήκευσης Τεχνική αστοχία µέσου εκτύπωσης Τεχνική αστοχία δροµολογητή δικτύου Τεχνική αστοχία πύλης δικτύου Τεχνική αστοχία σταθµού διαχείρισης δικτύου Τεχνική αστοχία διεπαφής δικτύου Τεχνική αστοχία υπηρεσίας δικτύου Αστοχία συστήµατος παροχής ενέργειας Αστοχία συστήµατος κλιµατισµού Αστοχία λογισµικού συστήµατος / δικτύου Αστοχία λογισµικού εφαρµογών Λάθος χειρισµού Λανθασµένη συντήρηση υλικού Λανθασµένη συντήρηση λογισµικού Λανθασµένη χρήση Πυρκαγιά Καταστροφή από νερό/πληµµύρα Φυσική καταστροφή/σεισµός Έλλειψη προσωπικού Κλοπή από άτοµα εντός του οργανισµού Κλοπή από τρίτους ∆ολιοφθορά από άτοµα εντός του οργανισµού ∆ολιοφθορά, καταστροφή από τρίτους Τροµοκρατική ενέργεια Το λογισµικό της CRAMM ζητάει από τους αναλυτές να συσχετίσουν τα περιουσιακά στοιχεία µε κατηγορίες απειλών από την παραπάνω λίστα. Το λογισµικό προβαίνει από µόνο του σε συµπεράσµατα µε βάση το µοντέλο του συστήµατος. Έτσι, αν µια απειλή (π.χ. πυρκαγιά) συσχετιστεί από τον αναλυτή µε µια τοποθεσία (π.χ. υπολογιστικό κέντρο), τότε το λογισµικό της CRAMM συµπεραίνει ότι η απειλή αυτή αφορά και όλο το υλικό που βρίσκεται στη συγκεκριµένη τοποθεσία (π.χ. υπολογιστικές συσκευές, περιφερειακά, δικτυακό εξοπλισµό). 3.2 ¢π∞Ã∂πƒπ™∏ ∫π¡¢À¡ø¡ 81 Βήµα 2.2 ∞¶√∆πª∏™∏ ∞¶∂π§ø¡ ∫∞π ∂À¶∞£∂πø¡ Για κάθε συνδυασµό απειλής – περιουσιακού στοιχείου γίνεται εκτίµηση της πιθανότητας εµφάνισης της απειλής και της σοβαρότητας των ευπαθειών που µπορεί να οδηγήσουν στην πραγµατοποίηση της απειλής. Η εκτίµηση αυτή γίνεται µε βάση δοµηµένα ερωτηµατολόγια που παρέχει η CRAMM. Η CRAMM υπολογίζει αυτόµατα την πιθανότητα εµφάνισης της απειλής µε βάση τις απαντήσεις στα ερωτηµατολόγια των απειλών. Η αποτίµηση της απειλής γίνεται σε µια κλίµακα από 1–5 (very low, low, medium, high, very high). Ο αναλυτής έχει τη δυνατότητα να παρέµβει και να αλλάξει τις τιµές που δίνει αυτόµατα η CRAMM, όποτε και αν το κρίνει σκόπιµο. Αντίστοιχα, για τις ευπάθειες συµπληρώνονται τα ερωτηµατολόγια των ευπαθειών και υπολογίζεται η σοβαρότητα της ευπάθειας σε κλίµακα 1–3 (low, medium, high). Οι απαντήσεις που θα δοθούν στα ερωτηµατολόγια προκύπτουν από τα στοιχεία που συλλέγουν οι αναλυτές από τους χρήστες του συστήµατος. Το λογισµικό της CRAMM παρέχει ερωτηµατολόγια για κάθε συνδυασµό Απειλής – Περιουσιακού στοιχείου. Οι απαντήσεις των ερωτηµατολογίων εισάγονται στο λογισµικό της CRAMM και η CRAMM υπολογίζει την πιθανότητα εµφάνισης των απειλών και το βαθµό των ευπαθειών. Επίσης, παρέχει τη δυνατότητα στους αναλυτές να αλλάξουν τις τιµές που υπολογίστηκαν αυτοµατοποιηµένα. Τέλος, µας παρέχει µια αναφορά για την εκτίµηση των Απειλών – Ευπαθειών, ώστε να αξιολογηθούν τα αποτελέσµατα αυτής της διαδικασίας. Βήµα 2.3 À¶√§√°π™ª√™ µ∞£ª√À ∫π¡¢À¡√À °π∞ ∫∞£∂ ™À¡¢À∞™ª√ ¶∂ƒπ√À™π∞∫√ ™∆√πÃ∂π√ – ∞¶∂π§∏ – ∂À¶∞£∂π∞ Η CRAMM υπολογίζει για κάθε συνδυασµό Περιουσιακό στοιχείο – Απειλή – Ευπάθεια το βαθµό κινδύνου. ∆εν έχουµε, δηλαδή, απλώς ένα βαθµό κινδύνου για το ΠΣ στο σύνολό του, αλλά έχουµε συγκεκριµένη αποτίµηση του κινδύνου για κάθε επιµέρους συνδυασµό Περιουσιακό στοιχείο – Απειλή – Ευπάθεια. Για το σκοπό αυτό χρησιµοποιεί τόσο τα αποτελέσµατα της αποτίµησης των απειλών και των ευπαθειών όσο και το µοντέλο του συστήµατος που έχει δηµιουργηθεί από το πρώτο στάδιο. Έτσι, ο βαθµός κινδύνου λαµβάνει υπόψη και τη συσχέτιση και τις εξαρτήσεις µεταξύ των περιουσιακών στοιχείων του ΠΣ. Ουσιαστικά ο βαθµός κινδύνου απεικονίζει τις απαιτήσεις ασφάλειας για κάθε περιουσιακό στοιχείο του ΠΣ, καθώς µεγαλύτερος κίνδυνος συνεπάγεται και υψηλότερη απαίτηση για ασφάλεια. Ο βαθµός κινδύνου µετριέται σε κλίµακα 1–7. 82 KEºA§AIO 3: T√ ™Ã∂¢π√ A™º∞§∂π∞™ Ο βαθµός κινδύνου για κάθε συνδυασµό Περιουσιακό στοιχείο – Απειλή – Ευπάθεια υπολογίζεται από το λογισµικό της CRAMM. Ο αναλυτής έχει τη δυνατότητα να παρέµβει και να αλλάξει κάποιες τιµές, αν το θεωρεί σκόπιµο. Το πλήθος των συνδυασµών Περιουσιακό στοιχείο – Απειλή – Ευπάθεια και η πολυπλοκότητα της αλληλοσυσχέτισης των περιουσιακών στοιχείων στα πλαίσια ενός ΠΣ κάνουν πρακτικά αδύνατο τον εµπειρικό και χειρογραφικό υπολογισµό του κινδύνου. Βήµα 2.4 ∂¶πµ∂µ∞πø™∏ ∫∞π ∂¶π∫Àƒø™∏ ∆√À µ∞£ª√À ∫π¡¢À¡√À Ο βαθµός κινδύνου θα χρησιµοποιηθεί στο επόµενο στάδιο για την επιλογή των µέτρων προστασίας. Συνεπώς, η ορθότητα των εκτιµήσεων που έγιναν κατά τη διάρκεια του δεύτερου σταδίου θα πρέπει να ελεγχθεί πριν προχωρήσουµε στο επόµενο στάδιο της µεθοδολογίας. Η οµάδα µελέτης µπορεί να χρησιµοποιήσει τις αναφορές που παράγει το λογσµικό της CRAMM και το εργαλείο αναζήτησης πηγής για να εξετάσει συνολικά το βαθµό κινδύνου. Σε περίπτωση που κριθεί ότι χρειάζεται να γίνουν αλλαγές, τότε οι αναλυτές έχουν τη δυνατότητα είτε να αλλάξουν απευθείας τις τιµές του βαθµού κινδύνου είτε να αλλάξουν τις τιµές που έχουν προκύψει από την εκτίµηση των απειλών και ευπαθειών και να υπολογίσουν εκ νέου το βαθµό κινδύνου. Σε οποιαδήποτε περίπτωση, τα αποτελέσµατα του δεύτερου σταδίου θα πρέπει να εγκριθούν από τη διοίκηση του οργανισµού πριν προχωρήσουµε στο τρίτο στάδιο. Για το σκοπό αυτό η οµάδα µελέτης παρουσιάζει µε τη µορφή αναλυτικής έκθεσης τα αποτελέσµατα του δεύτερου σταδίου στη διοίκηση. Τα αποτελέσµατα εξετάζονται από κοινού µε τη διοίκηση, κατά τη διάρκεια σύσκεψης, και επικυρώνονται από αυτή. Το λογισµικό της CRAMM παρέχει δύο κατηγορίες λειτουργιών που µπορούν να χρησιµοποιηθούν για την επιβεβαίωση των βαθµών κινδύνου. Η πρώτη είναι το εργαλείο αναζήτησης της πηγής, που επιτρέπει στους αναλυτές να εξετάσουν εκ νέου τη λογική µε την οποία η CRAMM υπολόγισε τις συγκεκριµένες τιµές για το βαθµό κινδύνου του συστήµατος. Έτσι, αν κάποιες τιµές φαίνονται ιδιαίτερα υψηλές ή ιδιαίτερα χαµηλές, είναι δυνατό για το µελετητή να αναζητήσει αν αυτό οφείλεται στην αποτίµηση κάποιων συγκεκριµένων απειλών, ευπαθειών ή στην αποτίµηση κάποιων συγκεκριµένων περιουσιακών στοιχείων του ΠΣ. Έτσι, οι αναλυτές µπορούν είτε να αποδεχτούν, αφού αιτιολογήσουν, τα αποτελέσµατα του δεύτερου σταδίου είτε να προβούν στις απαιτούµενες αλλαγές και να υπολογίσουν εκ νέου το βαθµό κινδύνου. 3.2 ¢π∞Ã∂πƒπ™∏ ∫π¡¢À¡ø¡ 83 Η δεύτερη ευκολία που παρέχει το λογισµικό της CRAMM είναι µια σειρά από αναφορές που βοηθούν στη µελέτη των αποτελεσµάτων της ανάλυσης κινδύνου και στη σύνταξη της αναλυτικής αναφοράς δεύτερου σταδίου, που θα δοθεί στη διοίκηση του οργανισµού. Το κύριο προϊόν αυτού του σταδίου είναι η Αποτίµηση του Βαθµού Κινδύνου, η οποία περιλαµβάνει: • Περιγραφή των απειλών και των ευπαθειών. • Την εκτίµηση της σοβαρότητας κάθε απειλής και ευπάθειας. • Την εκτίµηση του βαθµού κινδύνου για κάθε συνδυασµό Περιουσιακό στοιχείο – Απειλή – Ευπάθεια. • Γενικά συµπεράσµατα σχετικά µε τους κινδύνους που αντιµετωπίζει το ΠΣ. Στάδιο 3 ¢π∞Ã∂πƒπ™∏ ∫π¡¢À¡√À Στηριζόµενη στα αποτελέσµατα της ανάλυσης κινδύνου (2ο στάδιο), η CRAMM παράγει ένα προτεινόµενο σχέδιο ασφάλειας για το ΠΣ. Αυτό αποτελείται από µια σειρά µέτρων προστασίας τα οποία θεωρούνται απαραίτητα για τη διαχείριση του κινδύνου και τα οποία θα πρέπει να εφαρµοστούν στο ΠΣ. Το σχέδιο ασφάλειας περιλαµβάνει και µια σειρά επιλογών και εναλλακτικών λύσεων, ώστε να παρέχεται ευελιξία στην εφαρµογή του. Για συστήµατα τα οποία έχουν αναπτυχθεί και λειτουργούν ήδη, το προτεινόµενο σχέδιο ασφάλειας µπορεί να συσχετιστεί µε τα υπάρχοντα µέτρα προστασίας. Η τελική επιλογή των µέτρων προστασίας που θα εφαρµοστούν λαµβάνει υπόψη και το κόστος που έχουν τα µέτρα προστασίας για τον οργανισµό. Βήµα 3.1 ¶ƒ√™¢π√ƒπ™ª√™ ∆∏™ §π™∆∞™ ∆ø¡ ¶ƒ√∆∂π¡√ª∂¡ø¡ ª∂∆ƒø¡ ¶ƒ√™∆∞™π∞™ Η CRAMM περιλαµβάνει µια ευρεία βάση µέτρων προστασίας, γνωστή ως βιβλιοθήκη µέτρων προστασίας. Τα µέτρα αυτά είναι τεχνικά, διοικητικά και οργανωτικά. Το λογισµικό της CRAMM µπορεί να επιλέξει αυτόµατα µια λίστα προτεινόµενων µέτρων, µε βάση τα αποτελέσµατα της ανάλυσης κινδύνου. Τα µέτρα αυτά χωρίζονται σε οµάδες ανάλογα µε το είδος των απειλών που καλούνται να αντιµετωπίσουν και το είδος των περιουσιακών στοιχείων που καλούνται να προστατεύσουν. Η λίστα των µέτρων προστασίας περιλαµβάνει τόσο τις εναλλακτικές λύσεις, δηλαδή ποιο 84 KEºA§AIO 3: T√ ™Ã∂¢π√ A™º∞§∂π∞™ µέτρο προστασίας µπορεί να χρησιµοποιηθεί στη θέση ενός άλλου, καθώς και επιλογές υλοποίησης των µέτρων προστασίας. Από την προτεινόµενη λίστα θα πρέπει να γίνουν συγκεκριµένες επιλογές. Οι επιλογές αυτές βασίζονται σε µεγάλο βαθµό στην εµπειρία των αναλυτών. Η CRAMM όµως βοηθάει ώστε οι επιλογές αυτές να ακολουθούν µια δοµηµένη προσέγγιση και να αιτιολογούνται επαρκώς. Τα κριτήρια που λαµβάνονται υπόψη στην τελική επιλογή συµπεριλαµβάνουν τα εξής: • Την επίδραση που θα έχουν τα µέτρα προστασίας στη λειτουργία του οργανισµού. • Τον υπάρχοντα προϋπολογισµό για την ασφάλεια του ΠΣ. • Το κόστος εγκατάστασης και λειτουργίας των µέτρων προστασίας, τόσο ως προς το χρηµατικό κόστος όσο και ως προς το κόστος σε ανθρώπινους πόρους. • Τα µελλοντικά σχέδια του οργανισµού για ανάπτυξη ή επέκταση του συστήµατος. • Την άποψη της διοίκησης και τους στόχους της. • Τις ενδείξεις ότι οι απειλές θα αυξηθούν το µέλλον. • Την αποτελεσµατικότητα των µέτρων προστασίας. • Αναφορικά µε το τελευταίο κριτήριο, τα µέτρα προστασίας χωρίζονται στις εξής κατηγορίες: • Μείωση των απειλών. • Μείωση των ευπαθειών. • Μείωση της επίπτωσης. • Ανίχνευση της παραβίασης της ασφάλειας. • Ανάκαµψη. Η παραπάνω κατηγοριοποίηση παρουσιάζει τα µέτρα προστασίας κατά φθίνουσα σειρά αποτελεσµατικότητας. Τέλος, τα προτεινόµενα µέτρα προστασίας συγκρίνονται µε τα υπάρχοντα. Είναι πάντα προτιµότερο να παραµείνει ένα από τα υπάρχοντα µέτρα προστασίας παρά να αντικατασταθεί από κάποιο ισοδύναµό του. Το λογισµικό της CRAMM περιέχει µια δοµηµένη βάση µέτρων προστασίας, η οποία περιέχει περισσότερα από 2.000 µέτρα. Τα µέτρα προστασίας είναι χωρισµένα σε οµάδες και ιεραρχηµένα ανάλογα µε το επίπεδο ασφάλειας που προσφέρουν. Το λογισµικό της CRAMM επιλέγει αυτόµατα τα µέτρα προστασίας σύµφωνα µε τα αποτελέσµατα της ανάλυσης κινδύνου. ∆ίνει τη δυνατότητα να παρακολουθήσουµε την 3.2 ¢π∞Ã∂πƒπ™∏ ∫π¡¢À¡ø¡ 85 εφαρµογή τους µέσω της λειτουργίας «Κατάσταση υλοποίησης µέτρων προστασίας – Maintain Countermeasure Implementation State». Ένα µέτρο προστασίας µπορεί να βρίσκεται σε µια από τις ακόλουθες καταστάσεις: • Εγκατεστηµένο • Προς εγκατάσταση • Υπό υλοποίηση • Προτεινόµενο για υλοποίηση • Έχει ήδη καλυφθεί • Αποδεκτός εναποµένων βαθµός κινδύνου – δεν εγκαθίσταται • Υπό συζήτηση • Μη εφαρµόσιµο Τέλος, το λογισµικό της CRAMM παρέχει δυνατότητα να δοθούν προτεραιότητες στα µέτρα προστασίας. Βήµα 3.2 ™Ã∂¢π∞™ª√™ ∆√À ™Ã∂¢π√À ∞™º∞§∂π∞™ Τέλος, σχεδιάζεται το σχέδιο ασφάλειας. Το σχέδιο ασφάλειας περιλαµβάνει: • Την πολιτική ασφάλειας. • Τους ρόλους και τις υποχρεώσεις του κάθε ρόλου. • Το σχέδιο εφαρµογής των µέτρων προστασίας. • Τα συµπληρωµατικά έργα που απαιτούνται για την υλοποίηση της ασφάλειας. H CRAMM παρέχει µια δοµή πολιτικής ασφάλειας. Για τη δηµιουργία της πολιτικής ασφάλειας µπορεί να χρησιµοποιηθούν οι οδηγίες πολιτικής που παράγονται µαζί µε τη λίστα των µέτρων προστασίας. Μια πρώτη ενέργεια είναι να προσδιοριστούν οι ρόλοι (π.χ. υπεύθυνος ασφάλειας, διαχειριστής συστήµατος κτλ.) και να περιγραφούν οι αρµοδιότητες καθενός απ’ αυτούς. Το σχέδιο εφαρµογής των µέτρων προστασίας περιέχει τις περαιτέρω κινήσεις που πρέπει να γίνουν για την ασφάλεα του ΠΣ. Κεντρικό του στοιχείο είναι το σύνολο των µέτρων προστασίας, τα οποία όµως ιεραρχούνται µε βάση τις προτεραιότητες εφαρµογής τους. Τέλος, προτείνονται οι µελέτες, τα έργα και άλλες συγκεκριµένες ενέργειες, τεχνικές παρεµβάσεις, οργανωτικές βελτιώσεις και διοικητικές ρυθµίσεις 86 KEºA§AIO 3: T√ ™Ã∂¢π√ A™º∞§∂π∞™ που απαιτούνται για την ασφάλεια του συστήµατος. Το λογισµικό της CRAMM παρέχει αναφορές και εργαλεία για το σχεδιασµό του σχεδίου ασφάλειας. Συγκεκριµένα, το λογισµικό της CRAMM παρέχει τα εξής: • Βιβλιοθήκη µέτρων προστασίας. • Αναφορά προτεινόµενων µέτρων προστασίας. • Αναφορά υλοποίησης µέτρων προστασίας. • Προτεραιότητες µέτρων προστασίας. • Ρόλοι ασφάλειας. • ∆ιαδικασίες ασφαλών λειτουργιών. • Πολιτική ασφάλειας συστήµατος. • ∆υνατότητες αναζήτησης πηγής. • What – if. Το κύριο προϊόν του τρίτου σταδίου είναι το Σχέδιο Ασφάλειας. Στην «Τελική Αναλυτική Έκθεση» περιλαµβάνονται τα περιεχόµενα των δύο προηγούµενων αναλυτικών εκθέσεων και επιπλέον: • Τα προτεινόµενα µέτρα προστασίας. • Οι προτεραιότητες υλοποίησης µέτρων προστασίας. • Οι ρόλοι ασφάλειας και οι υποχρεώσεις του κάθε ρόλου. • Οι προτεινόµενες ενέργειες. ÕÛÎËÛË A˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 3.3 Χαρακτηρίστε τις παρακάτω προτάσεις ως σωστές ή λάθος: Σωστό 1. Η CRAMM είναι µεθοδολογία ανάλυσης και όχι διαχείρισης κινδύνων. 2. Η CRAMM θεωρεί και τα δεδοµένα ως περιουσιακά στοιχεία του συστήµατος. 3. Τα άυλα περιουσιακά στοιχεία δεν µπορούν να αποτιµηθούν από την CRAMM. ❏ ❏ ❏ Λάθος ❏ ❏ ❏ 3.3 ¶√§π∆π∫∂™ ∞™º∞§∂π∞™ 87 4. Η αποτίµηση όλων των περιουσιακών στοιχείων στην CRAMM γίνεται µε βάση την αξία κτήσης τους. 5. H CRAMM παρέχει τη δυνατότητα αυτόµατης αναγνώρισης των απειλών που µπορούν να εκδηλωθούν κατά των περιουσιακών στοιχείων του συστήµατος. 6. Η µέτρηση της πιθανότητας εµφάνισης µιας απειλής και του αντίστοιχου βαθµού ευπάθειας στην CRAMM γίνεται µε αυστηρό µαθηµατικό φορµαλισµό. 7. Η CRAMM προτείνει µέτρα προστασίας, αφού υπολογιστεί ο βαθµός κινδύνου. 8. Η εκτέλεση µιας µελέτης διαχείρισης κινδύνων µε την CRAMM δεν απαιτεί ενεργό εµπλοκή της διοίκησης. ❏ ❏ ❏ ❏ ❏ ❏ ❏ ❏ ❏ ❏ 3.3 ¶ÔÏÈÙÈΤ˜ ·ÛÊ¿ÏÂÈ·˜ Έχουµε ήδη δει, στο δεύτερο κεφάλαιο, τον αυστηρό ορισµό της πολιτικής ασφάλειας, σύµφωνα µε τον οποίο πολιτική είναι µια περιγραφή του συνόλου τω κανόνων, των προτύπων και των διαδικασιών που καθορίζουν τα φυσικά, διαδικαστικά, τεχνικά και προσωπικά µέτρα ασφάλειας που λαµβάνονται στη διοίκηση, τη διανοµή και την προστασία των περιουσιακών στοιχείων. Έχοντας ολοκληρώσει την ανάλυση κινδύνων, είµαστε πλέον έτοιµοι να αναπτύξουµε την πολιτική ασφάλειας, η οποία και θα καθορίσει πώς θα αντιµετωπίσουµε τους κινδύνους που αναγνωρίσαµε και αποτιµήσαµε. 3.3.1 ∏ ‰ÔÌ‹ ÌÈ·˜ ÔÏÈÙÈ΋˜ ·ÛÊ¿ÏÂÈ·˜: ηÓfiÓ˜, ÚfiÙ˘· Î·È ‰È·‰Èηۛ˜ Μια πολιτική ασφάλειας, είτε εταιρική είτε συστήµατος, ακολουθεί µια ιεραρχική δοµή που αποτελείται από κανόνες, πρότυπα και διαδικασίες. Μερικές φορές, κάποιες πολιτικές περιέχουν και οδηγίες. Κανόνες είναι ευρείες και υψηλού επιπέδου διατυπώσεις που περιγράφουν σκοπούς της διοίκησης. Οι κανόνες απαντούν σε ερωτήσεις της µορφής «τι;», όπως, για παράδειγµα, «Τι θέλουµε να πετύχουµε;» ή «Με τι ρυθµιστικό πλαίσιο θέλουµε να λειτουργούµε;». Τα πρότυπα είναι πιο συγκεκριµένες διατυπώσεις, που απαντούν σε ερωτήσεις της µορφής «πώς;», ενώ οι διαδικασίες είναι ακόµη λεπτοµερέστερες δια- 88 KEºA§AIO 3: T√ ™Ã∂¢π√ A™º∞§∂π∞™ τυπώσεις, που απαντούν σε ερωτήσεις της µορφής «πώς, µε λεπτοµέρεια;». Οι οδηγίες είναι συστάσεις για το πώς να γίνει κάτι – η συµµόρφωση λοιπόν µ’ αυτές δεν είναι υποχρεωτική. Για παράδειγµα, ένας κανόνας θα µπορούσε να αναφέρεται στην αναγκαιότητα δηµιουργίας εφεδρικών αντιγράφων, ένα σχετικό πρότυπο θα µπορούσε να ορίζει τα διάφορα είδη εφεδρικών αντιγράφων, το χρονοπρογραµµατισµό τους, τη φύλαξή τους κτλ., ενώ µια σχετική διαδικασία θα µπορούσε να αναφέρεται στον τρόπο χρήσης του προγράµµατος cron του Unix. Η ιεραρχική αυτή δοµή συνήθως υλοποιείται και παρουσιάζεται δηµιουργώντας έναν κανόνα υψηλού επιπέδου που αναφέρεται σε πρότυπα, αλλά δεν τα συγκεκριµενοποιεί, και περιγράφοντας τις λεπτοµέρειες στα πρότυπα και στις διαδικασίες. Ένας τέτοιος κανόνας θα µπορούσε επίσης, εναλλακτικά, να οδηγεί σε ένα σύνολο υποκανόνων, που µε τη σειρά τους αναφέρονται σε πρότυπα και διαδικασίες. Πάντως, χρήσιµο είναι να πούµε ότι δεν υπάρχει ένας και µοναδικός τρόπος σύνταξης πολιτικών. Ο συντάκτης πρέπει να προσπαθήσει να ισορροπήσει ανάµεσα στο πόση λεπτοµέρεια και πόση γενικότητα θα δώσει στην πολιτική του, καθώς επίσης και να αποφασίσει πώς θα δοµήσει την παρουσίασή του. Ωστόσο, κάποιες καλές συνταγές για µια επιτυχηµένη πολιτική ακολουθούν παρακάτω: • Μια καλή συνταγή είναι ίσως να βάζει κανείς τα τεχνικά πρότυπα και τις τεχνικές λεπτοµέρειες της πολιτικής σε ξεχωριστό τµήµα του κειµένου, αφού αυτό διευκολύνει πολύ τη συντήρησή του. Επειδή η τεχνολογία αλλάζει πολύ γρήγορα, τα τεχνικά πρότυπα και οι τεχνικές λεπτοµέρειες µάλλον θα αλλάζουν πολύ συχνότερα απ’ ό,τι οι υψηλού επιπέδου κανόνες. Η δοµή, λοιπόν, αυτή επιτρέπει την αλλαγή µόνο του τµήµατος που αφορά τα πρότυπα και τις λεπτοµέρειες όταν συντελείται τεχνολογική αλλαγή, χωρίς να απαιτεί την αναθεώρηση ολόκληρης της πολιτικής. • Αν και οι κανόνες συνήθως συντάσσονται από τον υπεύθυνο ασφάλειας ή κάποιο άλλο παρόµοιο πρόσωπο, τα πρότυπα και οι διαδικασίες συνήθως συντάσσονται από τεχνικούς, όπως, π.χ., διαχειριστές συστηµάτων. • Μια πολιτική ασφάλειας πρέπει να τα περιλαµβάνει όλα. Ποτέ δεν παραλείπουµε κάτι επειδή θεωρούµε ότι είναι προφανές. • ∆εν είναι απαραίτητο να γράψουµε όλους τους κανόνες, τα πρότυπα και τις διαδικασίες την ίδια στιγµή. Μπορούµε να ιεραρχήσουµε τις ανάγκες της επιχείρησης ή τη σοβαρότητα των κινδύνων και να καθορίσουµε ανάλογα τις προτεραιότητές µας. 3.3 ¶√§π∆π∫∂™ ∞™º∞§∂π∞™ 89 • Η πολιτική που αναπτύσσουµε πρέπει να είναι συµβατή µε τις υπάρχουσες οργανωσιακές πολιτικές, τους υπάρχοντες κανόνες και κανονισµούς, καθώς και µε τη νοµοθεσία στην οποία υπόκειται η λειτουργία της επιχείρησης. Όλοι αυτοί οι παράγοντες θα πρέπει να αναγνωριστούν και να ληφθούν υπόψη στη φάση ανάπτυξης της πολιτικής µας. 3.3.2 ∆· ÂÚȯfiÌÂÓ· ÌÈ·˜ ÔÏÈÙÈ΋˜ ·ÛÊ¿ÏÂÈ·˜ Μια πολιτική ασφάλειας πρέπει τουλάχιστον να περιέχει σκοπό, πεδίο εφαρµογής, κανόνες, πρότυπα και διεργασίες. ™∫√¶√™ Το τµήµα αυτό πρέπει να περιλαµβάνει µια σύντοµη δήλωση σχετική µε το γιατί αναπτύχθηκε η πολιτική και τι πρέπει να προστατευτεί. ¶∂¢π√ ∂º∞ƒª√°∏™ Το τµήµα αυτό περιγράφει το πεδίο εφαρµογής της πολιτικής. Αν η επιχείρηση είναι γεωγραφικά διάσπαρτη ή είναι πολυεθνική, εδώ πρέπει να περιγράφονται µε λεπτοµέρεια οι µονάδες της στις οποίες πρέπει να εφαρµόζεται η πολιτική. Το ίδιο τµήµα πρέπει, επίσης, να περιέχει µια περιγραφή των τύπων της πληροφορίας, τους απραίτητους ορισµούς, καθώς και µια δήλωση περί του τι καλύπτει η πολιτική. Το ίδιο τµήµα µπορεί επίσης να περιγράφει τις τεχνικές πλατφόρµες στις οποίες έχει εφαρµογή η πολιτική, ανάλογα, για παράδειγµα, µε το λειτουργικό σύστηµα ή την πλατφόρµα υλικού. ∫∞¡√¡∂™, ¶ƒ√∆À¶∞ ∫∞π ¢π∞¢π∫∞™π∂™ Ανεξάρτητα από το πώς θα αποφασίσουµε να δοµήσουµε την πληροφορία που σχετίζεται µε τους κανόνες, τα πρότυπα και τις διαδικασίες, τα σχετικά τµήµατα της πολιτικής ασφάλειας πρέπει να περιλαµβάνουν κανόνες, πρότυπα και διαδικασίες για: • Την αγορά υπολογιστικού εξοπλισµού, όπου θα καθορίζονται τα απαιτούµενα ή επιθυµητά χαρακτηριστικά ασφάλειας, • Τη διαφύλαξη της προσωπικής ζωής, όπου θα καθορίζονται τα όρια της προσωπικής ζωής σε σχέση µε την επιχείρηση και θα κανονίζονται ζητήµατα όπως η παρακολούθηση του ηλεκτρονικού ταχυδροµείου, η καταγραφή δακτυλισµών και η πρόσβαση σε αρχεία χρηστών, 90 KEºA§AIO 3: T√ ™Ã∂¢π√ A™º∞§∂π∞™ • Την πρόσβαση σε υπολογιστικά συστήµατα, όπου θα καθορίζονται τα δικαιώµατα πρόσβασης του προσωπικού στους πόρους του συστήµατος. Το τµήµα αυτό θα πρέπει να καλύπτει εξωτερικές συνδέσεις, επικοινωνίες δεδοµένων, σύνδεση συσκευών σε δίκτυα και πρόσθεση νέου λογισµικού, • Την ανάθεση αρµοδιοτήτων και υποχρεώσεων, όπου θα καθορίζονται οι αρµοδιότητες και οι υποχρεώσεις του προσωπικού. Το τµήµα αυτό θα πρέπει να καθορίζει επίσης τα σχετικά µε τον έλεγχο (audit) του συστήµατος, • Την αυθεντικοποίηση χρηστών, όπου θα καθορίζονται τα σχετικά µε τα συνθηµατικά ή µε άλλους, συµπληρωµατικούς ή εναλλακτικούς, µηχανισµούς αυθεντικοποίησης, • Τη διαφύλαξη της διαθεσιµότητας, όπου θα καθορίζονται, αφενός, τα αναµενόµενα από τους χρήστες ποσοστά διαθεσιµότητας των πόρων του συστήµατος και, αφετέρου, ζητήµατα σχετικά µε την πολλαπλότητα πόρων και την ανάκαµψη, τις ώρες λειτουργίας και τις περιόδους µη λειτουργίας λόγω συντήρησης, • Τη συντήρηση του υπολογιστικού συστήµατος, όπου θα καθορίζονται τα καθήκοντα τόσο των εσωτερικών όσο και των εξωτερικών συντηρητών, η δυνατότητα ή απαγόρευση της από απόσταση συντήρησης και, στην περίπτωση όπου αυτή επιτρέπεται, ο τρόπος ελέγχου της πρόσβασης αυτής. Επίσης, εδώ αναφέρονται όλα τα σχετικά µε την ανάθεση εργασιών σε τρίτους, • Το χειρισµό των περιστατικών, όπου θα καθορίζονται ποιοι τύποι περιστατικών και σε ποιον πρέπει να αναφέρονται. ÕÛÎËÛË A˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 3.4 Χαρακτηρίστε τις παρακάτω προτάσεις ως σωστές ή λάθος: Σωστό 1. Μια πολιτική ασφάλειας ακολουθεί µια συγκεκριµένη δοµή. 2. Υπάρχει συγκεκριµένος τρόπος δόµησης και σύνταξης πολιτικών. 3. Όλα τα τµήµατα µιας πολιτικής συντάσσονται από το ίδιο πρόσωπο. ❏ ❏ ❏ Λάθος ❏ ❏ ❏ ™YNOæH 91 4. Όλα τα τµήµατα µιας πολιτικής πρέπει να συνταχθούν ταυτόχρονα. 5. Η πολιτική ασφάλειας περιλαµβάνει διαδικασίες σχετικές µε την αγορά εξοπλισµού. 6. Η πολιτική ασφάλειας προστατεύει την ιδιωτική ζωή των εργαζοµένων. 7. Η πολιτική ασφάλειας δεν ασχολείται µε τη συντήρηση των πληροφοριακών συστηµάτων 8. Το πεδίο εφαρµογής της πολιτικής ασφάλειας είναι όλη η επιχείρηση. ❏ ❏ ❏ ❏ ❏ ❏ ❏ ❏ ❏ ❏ ™‡ÓÔ„Ë Στο κεφάλαιο αυτό ασχοληθήκαµε µε το σχέδιο ασφάλειας µιας επιχείρησης. Είδαµε ότι τη συνολική ευθύνη για την ασφάλεια των πληροφοριακών συστηµάτων µιας επιχείρησης την έχει η διοίκηση της επιχείρησης, η οποία πρέπει να συµµετέχει ενεργά και ουσιαστικά σε οποιαδήποτε σχετική προσπάθεια. Συζητήσαµε σύντοµα τον κύκλο ζωής ενός σχεδίου ασφάλειας, ο οποίος περιλαµβάνει τρεις κύριες φάσεις: τη φάση του σχεδιασµού, τη φάση της υλοποίησης και τη φάση της συντήρησης. Στη συνέχεια ασχοληθήκαµε µε περισσότερη λεπτοµέρεια µε την πρώτη φάση του κύκλου και συζητήσαµε µε λεπτοµέρεια µεθοδολογίες διαχείρισης κινδύνων και πολιτικές ασφάλειας. Σχετικά µε τις πρώτες, είδαµε το ρόλο και την αναγκαιότητά τους, τα γενικά χαρακτηριστικά τους και περιγράψαµε αναλυτικά µια τέτοια µεθοδολογία, τη µεθοδολογία CRAMM. Τέλος, αναφερθήκαµε στη δοµή και στα περιεχόµενα µιας πολιτικής ασφάλειας. 92 KEºA§AIO 3: T√ ™Ã∂¢π√ A™º∞§∂π∞™ BÈ‚ÏÈÔÁÚ·Ê›· Baskerville, R. «Risk analysis: an interpretive feasibility tool in justifying information systems security», Eur. J. Inf. Systs., Vol. 1, No. 2, pp. 121–130, 1991. CRAMM User Manual, CCTA, 1997. Eloff J. H. P., Labuschagne L. and Badenhorst K. P., «A comparative framework for risk analysis methods», Computers & Security, Vol. 12, pp. 597–603, 1993. Fraser B. (Ed.), Site Security Handbook, IETF RFC 2196, September 1997. Guttman E., Leong L., Malkin G., Users’ Security Handbook, IETF Internet–Draft, October 7, 1998. Holbrook P., Reynolds J. (Eds), Site Security Handbook, IETF RFC 1244, July 1991. INFOSEC 1992, Project S2014 – Risk Analysis, Risk Analysis Methods Database, January 1993. IT–Grundschutzhandbuch 1997 (IT Baseline Protection Manual), Bundesamt fur Sicherheit in der Informationstechnik (BSI), Bonn, Germany 1997. Katsikas S. K. and Gritzalis D., «High Level Security Policy Guidelines», in Data Security for Health Care, Vol. I–III, The SEISMED Consortium (Eds), IOS Press, 1996. Moses R., «A European Standard for Risk Analysis», in Proceedings, 10th World Conference on Computer Security, Audit and Control, Elsevier Advanced Technology, pp. 527–541, 1993. Palmer I. C. and Potter G. A., Computer Security Risk Management, London, Jessica Kingsley Publishers, 1989. Swanson M., Guide for Developing Security Plans for Information , Technology Systems, NIST Special Publication 800–18, http://csrc.nist.gov/pubs, December 1998. Wahlgren G., Survey of Computer Aided Risk Analysis Packages for Computer Security, Report 90–4, Dept. of Computer and Systems Science, Stockholm University and Royal Institute of Technology, 1990. Walker K. M., Croswhite Cavanaugh L., Computer Security Policies and SunScreen Firewalls, Sun Microsystems Press, Palo Alto, CA, 1998. Wood C. Cresson, Information Security Policies Made Easy , Baseline Software, USA, 1991. B I B § I O ° PA º I A 93 Wood C. Cresson, Information Security Policies Made Easy , Baseline Software, USA, 1997. Κάτσικας Σ. Κ., «∆ιαχείριση Κινδύνων Πληροφοριακών Συστηµάτων», στο Ασφάλεια Πληροφοριών: Τεχνικά, Νοµικά και Κοινωνικά Θέµατα, ΕΠΥ, 1995. ∫ ∂ ∆·˘ÙÔÔ›ËÛË Î·È A˘ıÂÓÙÈÎÔÔ›ËÛË ™ÎÔfi˜ Στο κεφάλαιο αυτό θα ασχοληθούµε µε την ταυτοποίηση και την αυθεντικοποίηση χρηστών σε σύγχρονα, µη κατανεµηµένα, υπολογιστικά συστήµατα. 4 º ∞ § ∞ π √ ¶ÚÔÛ‰ÔÎÒÌÂÓ· ·ÔÙÂϤÛÌ·Ù· Όταν θα έχετε τελειώσει τη µελέτη του κεφαλαίου αυτού, θα µπορείτε να: • ∆ώσετε τους ορισµούς της ταυτοποίησης και της αυθεντικοποίησης. • Αναφέρετε εννέα τρόπους ταυτοποίησης ανθρώπων. • Περιγράψετε τέσσερις µεθόδους αυθεντικοποίησης. • Αναφέρετε τουλάχιστον ένα πλεονέκτηµα και τουλάχιστον ένα µειονέκτηµα κάθε µεθόδου αυθεντικοποίησης. • Αναφέρετε δέκα ανθρωποµετρικά χαρακτηριστικά και τρία χαρακτηριστικά συµπεριφοράς που µπορούν να χρησιµοποιηθούν για αυθεντικοποίηση ανθρώπων. • Περιγράψετε τρεις απειλές κατά συνθηµατικών. • Περιγράψετε δύο τεχνικές που µπορούν να χρησιµοποιηθούν για την εικασία συνθηµατικών. • Αναφέρετε οκτώ µέσα άµυνας κατά των επιθέσεων εικασίας συνθηµατικών. • Περιγράψετε τρεις τεχνικές βελτίωσης της ασφάλειας των συνθηµατικών µε τη βοήθεια του συστήµατος. • Αναφέρετε τρία µέσα άµυνας κατά επιθέσεων υποκλοπής συνθηµατικών. • Περιγράψετε το µηχανισµό των συνθηµατικών µιας χρήσης. • Περιγράψετε τρία µέσα άµυνας κατά επιθέσεων παραβίασης αρχείου συνθηµατικών. • Περιγράψετε το µηχανισµό κρυπτογραφικής προστασίας του αρχείου συνθηµατικών στα συστήµατα Unix. • Περιγράψετε το µηχανισµό επέκτασης του συνθηµατικού και αναφέρετε τους τρεις σκοπούς που αυτός εξυπηρετεί. • Αναφέρετε έξι βασικές οδηγίες διαχείρισης του µηανισµού συνθηµατικών. 96 K E º A § A I O 4 : ∆ ∞ À ∆ √ ¶ √ π ∏ ™ ∏ ∫ ∞ π AÀ £ ∂ ¡ ∆ π ∫ √ ¶ √ π ∏ ™ ∏ ŒÓÓÔȘ ÎÏÂȉȿ • ταυτοποίηση • αυθεντικοποίηση • συνθηµατικά • βιοµετρικές τεχνικές ∂ÈÛ·ÁˆÁÈΤ˜ ·Ú·ÙËÚ‹ÛÂȘ Ένα ασφαλές σύστηµα οπωσδήποτε πρέπει, µε κάποιον τρόπο, να γνωρίζει ποιοι ζητούν και χρησιµοποιούν τις υπηρεσίες του. Για να γίνει αυτό, πρέπει να υπάρχει κάποιος τρόπος διαχωρισµού των χρηστών και εξακρίβωσης, κατά το δυνατόν χωρίς αµφιβολία, της ταυτότητάς τους. Η εξακρίβωση αυτή συνήθως ακολουθεί δύο στάδια: το στάδιο της ταυτοποίησης, δηλαδή της διαδικασίας αναγνώρισης της ταυτότητας του χρήστη, και το στάδιο της αυθεντικοποίησης, δηλαδή της διαδικασίας επαλήθευσης της ταυτότητάς του. Μια από τις πιο σοβαρές επιθέσεις εναντίον πληροφοριακών συστηµάτων είναι η αντιποίηση ταυτότητας, κατά την οποία κάποιος χρήστης κατορθώνει να πείσει το σύστηµα ότι είναι κάποιος άλλος. Ο σκοπός είναι να χρησιµοποιήσει πόρους του συστήµατος που µε την πραγµατική του ταυτότητα δεν είναι εξουσιοδοτηµένος να προσπελάσει και, επίσης, να παραπλανήσει το σύστηµα καταγραφής συµβάντων (log system) στο ίχνος ελέγχου (audit trail) του συστήµατος. Συµπεραίνουµε, λοιπόν, ότι υπάρχουν δύο σηµαντικοί λόγοι που επιβάλλουν την εξακρίβωση της ταυτότητας ενός χρήστη: Ο πρώτος είναι ότι η ταυτότητα του χρήστη είναι παράµετρος σε αποφάσεις ελέγχου προσπέλασης και ο δεύτερος ότι η ταυτότητα του χρήστη καταγράφεται από το µηχανισµό καταγραφής συµβάντων στο ίχνος ελέγχου. Σε πολλές καταστάσεις της καθηµερινής ζωής συχνά ζητείται εξακρίβωση της ταυτότητας ανθρώπων. Οι τραπεζικοί υπάλληλοι συνήθως ζητούν την ταυτότητα του πελάτη πριν εξαργυρώσουν µια επιταγή, ενώ οι βιβλιοθηκάριοι µιας πανεπιστηµιακής βιβλιοθήκης κανονικά πρέπει να ζητήσουν τη φοιτητική ταυτότητα κάποιου πριν του δανείσουν κάποιο βιβλίο. Τα πανεπιστήµια δεν αποκαλύπτουν βαθµούς από το τηλέφωνο, επειδή οι υπάλληλοι της γραµµατείας δεν µπορούν να γνωρίζουν αν τους καλεί ο ίδιος ο φοιτητής. Ωστόσο, ο καθηγητής, που πιθανόν γνωρίζει τη φωνή του φοιτητή του, µπορεί να του πει το βαθµό του τηλεφωνικά. Οι άνθρωποι, λοιπόν, έχουν αναπτύξει συστήµατα εξακρίβωσης ταυτότητας βασισµένα σε έγγραφα, σε αναγνώριση φωνής ή άλλα έµπιστα µέσα. ∂ π ™ ∞ ° ø ° π ∫ ∂ ™ ¶ ∞ ƒ∞∆ ∏ ƒ ∏ ™ ∂ π ™ 97 Προφανώς µε τους υπολογιστές τα πράγµατα είναι αρκετά διαφορετικά και σίγουρα λιγότερο ασφαλή. Οποιοσδήποτε µπορεί να προσπαθήσει να συνδεθεί µε ένα υπολογιστικό σύστηµα και, σε αντίθεση µε τον καθηγητή που αναγνωρίζει τη φωνή του φοιτητή του, ο υπολογιστής δεν είναι δυνατόν να διακρίνει αν τα ηλεκτρικά σήµατα που δέχεται παράγονται από τον A ή από κάποιο άλλο πρόσωπο που ισχυρίζεται πως είναι ο A. Η πρώτη γραµµή άµυνας ενός οποιουδήποτε υπολογιστικού συστήµατος είναι το σύστηµα εξακρίβωσης ταυτότητας χρηστών που χρησιµοποιεί. Συνήθως η γραµµή αυτή άµυνας είναι και η πιο ισχυρή, αν δεν είναι (σε µη ασφαλή συστήµατα) και η µοναδική. Είναι, λοιπόν, φανερή η µεγάλη σηµασία της. Το κεφάλαιο αυτό είναι οργανωµένο σε δύο ενότητες, από τις οποίες η πρώτη αναφέρεται γενικά στην εξακρίβωση ταυτότητας χρηστών, ενώ η δεύτερη αναφέρεται σε έκταση στον πιο συνηθισµένο µηχανισµό αυθεντικοποίησης υπολογιστικών συστηµάτων: στα συνθηµατικά. 98 K E º A § A I O 4 : ∆ ∞ À ∆ √ ¶ √ π ∏ ™ ∏ ∫ ∞ π AÀ £ ∂ ¡ ∆ π ∫ √ ¶ √ π ∏ ™ ∏ 4.1 ∂Í·ÎÚ›‚ˆÛË Ù·˘ÙfiÙËÙ·˜ Από την πρώτη στιγµή που το ανθρώπινο είδος συγκρότησε οργανωµένες κοινωνίες κάποιου µεγέθους δηµιουργήθηκε η ανάγκη για διαφοροποίηση και αναγνώριση της ταυτότητας των ατόµων της οµάδας. Το πρόβληµα αρχικά λύθηκε µε τη χρήση (µικρών, βαφτιστικών) ονοµάτων, αλλά, καθώς οι πληθυσµοί άρχισαν να γίνονται µεγαλύτεροι, το ένα όνοµα έπαψε να έχει τη δυνατότητα να είναι µοναδικό χαρακτηριστικό κάποιου ατόµου. Τότε άρχισαν να χρησιµοποιούνται και άλλα, επιπρόσθετα, ονόµατα, όπως το πατρώνυµο, ο τόπος καταγωγής και –πολύ αργότερα– το επώνυµο ως στοιχεία ταυτοποίησης ατόµων. Οποιοσδήποτε µπορεί να ισχυριστεί ότι η ταυτότητά του είναι διαφορετική από την πραγµατική, ιδιαίτερα αν ο αποδέκτης του ισχυρισµού δεν είχε προηγούµενη γνωριµία µε τον ταυτοποιούµενο. Αν ο βιβλιοθηκάριος γνωρίζει εξ όψεως το φοιτητή που ζητάει να δανειστεί κάποιο βιβλίο, είναι δυνατόν να αρκεστεί σ’ αυτή τη γνώση και να µη ζητήσει να δει τη φοιτητική του ταυτότητα, η οποία και θα αποδείξει τον ισχυρισµό του. Η πιο συνηθισµένη όµως περίπτωση είναι, µετά την ταυτοποίηση, να ζητείται και αυθεντικοποίηση, δηλαδή απόδειξη της ταυτότητας. Στην ενότητα αυτή θα ασχοληθούµε µε το πώς µπορούµε να πετύχουµε την ταυτποίηση και την αυθεντικοποίηση ατόµων σε υπολογιστικά συστήµατα. 4.1.1 T·˘ÙÔÔ›ËÛË Υπάρχουν πολλές µέθοδοι αναγνώρισης της ταυτότητας ενός ατόµου. Για το σκοπό αυτό µπορεί να χρησιµοποιηθεί: • Η εµφάνιση, δηλαδή το ύψος, το βάρος, το φύλο, η όψη. • Η κοινωνική συµπεριφορά, δηλαδή ο τρόπος αλληλεπίδρασης µε τους άλλους. • Το όνοµα. • Κάποιος κωδικός, όπως, π.χ., ένας αριθµός µητρώου. • Η γνώση που έχει το άτοµο σχετικά µε κάτι. • Η κατοχή κάποιου αντικειµένου. • Η βιοδυναµική, δηλαδή πώς εκτελεί κάτι το άτοµο. • Η φυσιολογία του, όπως αυτή προκύπτει από –για παράδειγµα– τα χαρακτηριστικά του. • Ξένα επιβληθέντα χαρακτηριστικά, όπως, π.χ., βραχιόλια, ταυτότητες κτλ. 4 . 1 ∂ • ∞ ∫ ƒ π µ ø ™ ∏ ∆∞ À ∆ √ ∆ ∏ ∆∞ ™ 99 Όλοι οι παραπάνω τρόποι χρησιµοποιούνται σήµερα στην καθηµερινή ζωή, όπως και διάφοροι συνδυασµοί τους. Ωστόσο, ο συντριπτικά πιο διαδεδοµένος τρόπος ταυτοποίησης ατόµων από υπολογιστικά συστήµατα είναι µε τη χρήση κάποιου κωδικού, που συνήθως αναφέρεται ως όνοµα χρήστη (username). 4.1.2 ∞˘ıÂÓÙÈÎÔÔ›ËÛË Υπάρχουν τέσσερις µέθοδοι για να αποδείξει κάποιος την ταυτότητά του: • Με κάτι που ξέρει. • Με κάτι που έχει. • Με κάτι που αποτελεί µοναδικό ατοµικό χαρακτηριστικό του. • Με το πού βρίσκεται σε σχέση µε το πού αναµένεται να βρίσκεται. Η πρώτη µέθοδος είναι ίσως και η ευκολότερη για χρήση όταν στη διαδικασία αυθεντικοποίησης εµπλέκονται µηχανές. Παραδείγµατα σχετικών µέσων αυθεντικοποίησης είναι τα συνθηµατικά, τα PINs (Personal Identification Numbers), οι συνθηµατικές φράσεις, και πληροφορίες σχετικές µε το άτοµο ή την οικογένεια κάποιου που δεν είναι ευρέως γνωστές. Τα πλεονεκτήµατα της µεθόδου αυτής είναι: • Το µέσο αυθεντικοποίησης είναι πάντα στην κατοχή του χρήστη. • Το µέσο αυθεντικοποίησης µπορεί να αλλάξει εύκολα. • Η προστασία του µέσου αυθεντικοποίησης είναι σχετικά εύκολη. Το µέσο αυθεντικοποίησης εισάγεται εύκολα στο µηχανισµό αυθεντικοποίησης µέσω πληκτρολογίου, χωρίς να υπάρχει ανάγκη προσθήκης εξειδικευµένου υλικού. Ωστόσο, η µέθοδος έχει και µειονεκτήµατα. Το βασικότερο είναι ότι η φιλοσοφία της στηρίζεται στο ότι ο αυθεντικοποιούµενος γνωρίζει κάτι, κάτι που βέβαια µπορεί να ξεχαστεί, να αντιγραφεί ή ακόµη και να εικαστεί από κάποιον άλλο, µη εξουσιοδοτηµένο να το κάνει. Σε πολλές περιπτώσεις χρήσης τέτοιου µηχανισµού δεν είναι ιδιαίτερα δύσκολο για κάποιον επιτιθέµενο να µάθει το µέσο αυθεντικοποίησης, απλώς παρακολουθώντας τον εξουσιοδοτηµένο χρήστη να το εισάγει στο σύστηµα. Επιπλέον, δεν απαιτούνται ειδικά εργαλεία, γνώσεις ή µέθοδοι για να αντιγράψει κανείς το µέσο αυθεντικοποίησης. Παρ’ όλο, λοιπόν, που η µέθοδος αυτή είναι σε ευρύτατη χρήση σήµερα σε υπολογιστές, αυτόµατες τραπεζικές µηχανές, τηλεφωνικές κάρτες κτλ., εκτιµάται ως ατελής. Η δεύτερη µέθοδος δεν είναι τόσο επιρρεπής σε αντιγραφή όσο η πρώτη. Η µέθοδος αυτή βασίζεται στην κατοχή από τον αυθεντικοποιούµενο ενός αντικειµένου, π.χ. µιας 100 K E º A § A I O 4 : ∆ ∞ À ∆ √ ¶ √ π ∏ ™ ∏ ∫ ∞ π AÀ £ ∂ ¡ ∆ π ∫ √ ¶ √ π ∏ ™ ∏ κάρτας (απλής, µαγνητικής, έξυπνης), ενός κλειδιού ή µιας γεννήτριας πρόκλησης – απάντησης. Είναι φανερό ότι ο ιδιοκτήτης των αντικειµένων αυτών πρέπει να καταβάλει προσπάθεια να τα προστατεύσει από κλοπή η απώλεια. Ακριβώς αυτά τα δύο προβλήµατα είναι και τα βασικά µειονεκτήµατα αυτής της µεθόδου αυθεντικοποίησης. Από την άλλη πλευρά, τέτοια αντικείµενα δεν είναι εύκολο να αντιγραφούν, χωρίς ωστόσο να είναι και εντελώς αδύνατη η αντιγραφή τους. Για να αποφύγουµε εκτεταµένο κίνδυνο αντιγραφής, θα πρέπει το κόστος της να είναι αρκετά µεγαλύτερο από το αναµενόµενο όφελος. Αν και η πρακτική αυτή αποτρέπει τον ευκαιριακό επιτιθέµενο, δεν αποτελεί ωστόσο σοβαρό εµπόδιο για τον αποφασισµένο. Η τρίτη µέθοδος βασίζεται στην αναγνώριση και επαλήθευση ατοµικών χαρακτηριστικών του αυθεντικοποιούµενου. Χαρακτηριστικά που έχουν κατά καιρούς προταθεί ως πιθανά για τέτοια χρήση κατηγοριοποιούνται σε φυσιολογικά (ή ανθρωποµετρικά) χαρακτηριστικά και σε χαρακτηριστικά συµπεριφοράς. Τα ανθρωποµετρικά χαρακτηριστικά που έχουν χρησιµοποιηθεί περιλαµβάνουν: • ∆ακτυλικό αποτύπωµα. • Ίριδα. • Φυσιογνωµία προσώπου. • Γεωµετρία χειρός – φλεβικά πρότυπα. • Αµφιβληστροειδής χιτώνας. • ∆οµή DNA. • Κατανοµή ιδρωτοποιών πόρων στο δάκτυλο. • Σχήµα και µέγεθος αυτιών. • Οσµή. • Ηλεκτρική αγωγιµότητα σώµατος. Ενώ τα χαρακτηριστικά συµπεριφοράς που έχουν χρησιµοποιηθεί περιλαµβάνουν: • Χαρακτηριστικά χειρόγραφης υπογραφής. • Χαρακτηριστικά φωνής. • Χαρακτηριστικά τρόπου πληκτρολόγησης. Η µέθοδος αυτή είναι πολύ αποτελεσµατικότερη από τις άλλες δύο και πλησιάζει περισσότερο στον ανθρώπινο τρόπο της επαλήθευσης της ταυτότητας κάποιου. Ωστόσο, έχει το µειονέκτηµα ότι απαιτεί ειδικό εξοπλισµό, ο οποίος µάλιστα κοστίζει πολύ, ενώ επίσης υποβάλλει τους χρήστες σε ελέγχους που µπορεί να µην είναι εύκολα αποδεκτοί. Η τελευταία µέθοδος αυθεντικοποίησης απαιτεί από το χρήστη να συνδέεται µε το 4 . 1 ∂ • ∞ ∫ ƒ π µ ø ™ ∏ ∆∞ À ∆ √ ∆ ∏ ∆∞ ™ 101 σύστηµα από ένα σηµείο που ανήκει σε µια προκαθορισµένη λίστα σηµείων. Παραδείγµατα της µεθόδου αυτής αποτελούν η απαίτηση των συστηµάτων Unix ο διαχειριστής να συνδέεται µόνο από την κονσόλα ή από ένα συγκεκριµένο τερµατικό. Η µέθοδος αυτή θα αρχίσει να γίνεται περισσότερο διαδεδοµένη καθώς µετακινούµαστε στην εποχή της κατανεµηµένης επεξεργασίας και του κινητού υπολογισµού. Στη φάση αυτή είναι πολύ πιθανή η χρήση συστηµάτων GPS για τον ακριβή εντοπισµό της γεωγραφικής θέσης του χρήστη που προσπαθεί να συνδεθεί στο σύστηµα. ÕÛÎËÛË A˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 4.1 Αντιστοιχίστε τα χαρακτηριστικά της δεξιάς στήλης µε τις µεθόδους αυθεντικοποίησης της αριστερής στήλης. Προσέξτε! Η αντιστοίχιση δεν είναι απαραίτητα ένα προς ένα. 1. Με κάτι που ο χρήστης ξέρει. 2. Με κάτι που ο χρήστης έχει. 3. Με κάτι που αποτελεί µοναδικό ατοµικό χαρακτηριστικό του χρήστη. 4. Με το πού βρίσκεται ο χρήστης σε σχέση µε το πού αναµένεται να βρίσκεται. 1. Ευκολία χρήσης. 2. ∆υσκολία χρήσης. 3. Απαιτεί ειδικό εξοπλισµό. 4. ∆εν απαιτεί ειδικό εξοπλισµό. 5. Tο µέσο αυθεντικοποίησης αλλάζει εύκολα. 6. Το µέσο αυθεντικοποίησης δεν αλλάζει εύκολα. 7. Το µέσο αυθεντικοποίησης αντιγράφεται εύκολα. 8. Το µέσο αυθεντικοποίησης αντιγράφεται δύσκολα. 9. Το µέσο αυθεντικοποίησης υποκλέπτεται εύκολα. 10. Το µέσο αυθεντικοποίησης υποκλέπτεται δύσκολα. 11. Η µέθοδος είναι εύκολα αποδεκτή από τους χρήστες. 12. Η µέθοδος είναι δύσκολα αποδεκτή από τους χρήστες. 102 K E º A § A I O 4 : ∆ ∞ À ∆ √ ¶ √ π ∏ ™ ∏ ∫ ∞ π AÀ £ ∂ ¡ ∆ π ∫ √ ¶ √ π ∏ ™ ∏ ÕÛÎËÛË A˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 4.2 Αντιστοιχίστε τα µέσα αυθεντικοποίησης της δεξιάς στήλης µε τις µεθόδους αυθεντικοποίησης της αριστερής στήλης. Προσέξτε! Η αντιστοίχιση δεν είναι απαραίτητα ένα προς ένα. 1. Με κάτι που ο χρήστης ξέρει. 2. Με κάτι που ο χρήστης έχει. 3. Με κάτι που αποτελεί µοναδικό ατοµικό χαρακτηριστικό του χρήστη. 4. Με το πού βρίσκεται ο χρήστης σε σχέση µε το πού αναµένεται να βρίσκεται. 1. Φυσιογνωµία προσώπου (σχήµα προσώπου, σχήµα και θέση µατιών, σχήµα και θέση αυτιών, σχήµα και θέση µύτης κτλ.). 2. ∆ελτίο ταυτότητας. 3. Μαγνητική κάρτα. 4. PIN. 5. Χαρακτηριστικά φωνής. 6. Χαρακτηριστικά υπογραφής. 7. Συνθηµατικό (password). 8. Τερµατικό απο το οποίο συνδέεται ο χρήστης. ¢Ú·ÛÙËÚÈfiÙËÙ· 4.1 Προσπαθήστε να βρείτε στο διαδίκτυο, περισσότερες λεπτοµέρειες για τις ανθρωποµετρικές τεχνικές που αναφέραµε επιγραµµατικά παραπάνω. 4.2 ™˘ÓıËÌ·ÙÈο Κατά πάσα πιθανότητα, η πρώτη επαφή που είχατε µε την ασφάλεια υπολογιστών ήταν όταν προσπαθήσατε να συνδεθείτε µε έναν υπολογιστή, ο οποίος σας ζήτησε να του δώσετε το όνοµα χρήστη και το συνθηµατικό σας. Τώρα ξέρετε ήδη ότι το πρώτο βήµα (δηλαδή η αίτηση για το όνοµα χρήστη) στοχεύει στην αναγνώριση της ταυτότητάς σας, όπου ανακοινώνετε ποιος είστε. Το δεύτερο βήµα (δηλαδή η αίτηση για το συνθηµατικό) στοχεύει στην επαλήθευση της ταυτότητάς σας, όπου αποδεικνύετε ότι είστε αυτός που ισχυρίζεστε πως είστε. 4 . 2 ™ À ¡ £ ∏ ª ∞∆ π ∫ ∞ 103 Αφού δώσετε το όνοµα χρήστη και το συνθηµατικό σας, ο υπολογιστής θα τα συγκρίνει µε τις εγγραφές ενός αρχείου συνθηµατικών. Η σύνδεση θα πετύχει αν δώσετε ένα έγκυρο όνοµα χρήστη και το αντίστοιχο, επίσης έγκυρο, συνθηµατικό. Αν, όµως, είτε το όνοµα χρήστη είτε το συνθηµατικό είναι λαθεµένα, η απόπειρα σύνδεσης θα αποτύχει. Συνήθως σε µια τέτοια περίπτωση η οθόνη θα καθαριστεί και θα σας ζητηθεί να ξαναπροσπαθήσετε. Ωστόσο, κάποια συστήµατα µετρούν τις αποτυχηµένες προσπάθειες σύνδεσης για κάθε χρήστη και κλειδώνουν τον αντίστοιχο λογαριασµό όταν το πλήθος των αποτυχηµένων προσπαθειών ξεπεράσει κάποιο προκαθορισµένο όριο. Κάποια άλλα συστήµατα µπορεί και να µην επιτρέψουν, µε µικρή πιθανότητα, τη σύνδεση στο χρήστη, ακόµη και αν το ζεύγος (όνοµα χρήστη, συνθηµατικό) που εισήχθη ήταν έγκυρο. Για να ελαττωθεί η πιθανότητα κάποιος επιτιθέµενος να χρησιµοποιήσει ένα τερµατικό ή υπολογιστή που έχει αφεθεί χωρίς επιτήρηση ενώ κάποιος χρήστης παραµένει συνδεµένος, η επαλήθευση ταυτότητας µπορεί να γίνεται όχι µόνο στην αρχή της συνόδου, αλλά και σε διαστήµατα κατά τη διάρκεια της συνόδου. Μπορεί, επίσης, να κλειδώνει η οθόνη όσο δε χρησιµοποιείται ή να τερµατίζεται µια σύνοδος αν δεν υπρξει επικοινωνία για κάποιο διάστηµα. Κάποτε δίναµε το όνοµα χρήστη και το συνθηµατικό σε απάντηση µιας οθόνης που περιείχε ένα φιλικό καλωσόρισµα και πληροφορίες για το σύστηµα στο οποίο προσπαθούσαµε να συνδεθούµε. Σήµερα, ως άλλο σηµάδι των καιρών, το φιλικό καλωσόρισµα έχει αντικατασταθεί µε ένα µήνυµα που προειδοποιεί τους µη εξουσιοδοτηµένους χρήστες να µην επιχειρήσουν πρόσβαση. Όλοι οι χρήστες πρέπει να δηλώσουν ότι διάβασαν το µήνυµα αυτό πριν τους επιτραπεί να επιχειρήσουν να συνδεθούν µε το σύστηµα. Τα περισσότερα σύγχρονα υπολογιστικά συστήµατα χρησιµοποιούν την ταυτοποίηση και αυθεντικοποίηση –µέσω ονοµάτων χρηστών και συνθηµατικών– ως την πρώτη γραµµή άµυνάς τους. Για τους περισσότερους χρήστες, οι µηχανισµοί αυτοί αποτελούν αναπόσπαστο τµήµα της διαδικασίας σύνδεσης µε το σύστηµα. Έχουµε, λοιπόν, εδώ ένα µηχανισµό που είναι ευρύτατα αποδεκτός και σχετικά εύκολος στην υλοποίησή του. Από την άλλη µεριά, η πρόσκτηση ενός έγκυρου ζεύγους ονόµατος χρήστη και συνθηµατικού είναι ένας κοινότατος τρόπος επίτευξης µη εξουσιοδοτηµένης πρόσβασης σε ένα υπολογιστικό σύστηµα. Έχει ενδιαφέρον, λοιπόν, να εξετάσουµε την πραγµατική ασφάλεια των συνθηµατικών ως µηχανισµού αυθεντικοποίησης. Θα το κάνουµε αυτό συζητώντας τρεις απειλές εναντίον συνθηµατικών: • Εικασία συνθηµατικού 104 K E º A § A I O 4 : ∆ ∞ À ∆ √ ¶ √ π ∏ ™ ∏ ∫ ∞ π AÀ £ ∂ ¡ ∆ π ∫ √ ¶ √ π ∏ ™ ∏ • Υποκλοπή συνθηµατικού • Παραβίαση αρχείου συνθηµατικών Μη ξεχνάτε ότι ο χρήστης παίζει ένα σηµαντικό ρόλο στην προστασία των συνθηµατικών. Η αυθεντικοποίηση αποτυγχάνει όταν δίνετε σε άλλους το συνθηµατικό σας, είτε λέγοντάς το σε κάποιον είτε γράφοντας το κάπου και αφήνοντας το σηµείωµα κολληµένο πάνω στον υπολογιστή ή µέσα στο ξεκλείδωτο συρτάρι του γραφείου σας. 4.2.1 ∂Èηۛ· Û˘ÓıËÌ·ÙÈÎÒÓ Η επιλογή των συνθηµατικών είναι ένα κρίσιµο ζήτηµα για την ασφάλεια. Αν και δεν είναι δυνατόν να αποτραπεί τελείως ένας επιτιθέµενος από το να εικάσει τυχαία ένα έγκυρο συνθηµατικό, µπορούµε να προσπαθήσουµε να κρατήσουµε την πιθανότητα να συµβεί ένα τέτοιο γεγονός πολύ χαµηλή. Για να δούµε πώς, πρέπει να πούµε ότι οι επιτιθέµενοι χρησιµοποιούν κυρίως δύο τεχνικές όταν προσπαθούν να εικάσουν συνθηµατικά: • Εξαντλητική έρευνα (brute force): συνίσταται στη δοκιµή όλων των δυνατών συνδυασµών έγκυρων συµβόλων δεδοµένου µήκους. • Έξυπνη έρευνα: συνίσταται στη δοκιµή συνδυασµών έγκυρων συµβόλων επιλεγµένων να ανήκουν σε κάποιον περιορισµένο χώρο έρευνας. Παραδείγµατα αποτελούν η δοκιµή συνθηµατικών που µε κάποιον τρόπο σχετίζονται µε το όνοµα χρήστη, µε ονόµατα φίλων και συγγενών του χρήστη, µε τη µάρκα αυτοκινήτου του χρήστη, µε τον αριθµό κυκλοφορίας του αυτοκινήτου του χρήστη, µε τον αριθµό τηλεφώνου του χρήστη, µε τον τόπο καταγωγής του χρήστη ή η δοκιµή συνθηµατικών που είναι γενικώς δηµοφιλή. Τυπικό παράδειγµα µιας τέτοιας επίθεσης είναι η λεξικογραφική επίθεση, κατά την οποία δοκιµάζονται όλες οι λέξεις που περιέχονται σε κάποιο (ή σε περισσότερα από ένα) ηλεκτρονικό λεξικό. Έχουµε άραγε µέσα άµυνας; Ευτυχώς ναι, µερικά από τα οποία µπορεί να φαίνονται προφανή, αλλά –δυστυχώς– δεν τηρούνται πάντα. Μπορούµε να κάνουµε τα εξής: • Να βάλουµε συνθηµατικό στο λογαριασµό µας. Αν ο διαχειριστής του συστήµατος ή ο χρήστης ξεχάσει να καθορίσει συνθηµατικό για το λογαριασµό του χρήστη, ο επιτιθέµενος δε χρειάζεται καν να µπει στον κόπο να εικάσει το συνθηµατικό. • Να αλλάξουµε τα προκαθορισµένα συνθηµατικά. Όταν παραδίδεται ένα σύστηµα, συνήθως έχει προκαθορισµένους λογαριασµούς (π.χ. system), µε προκαθορισµένα συνθηµατικά (π.χ. manager). Η πρακτική αυτή βοηθάει τους µηχανικούς 4 . 2 ™ À ¡ £ ∏ ª ∞∆ π ∫ ∞ 105 που κάνουν την εγκατάσταση, αλλά, αν το συνθηµατικό παραµείνει αναλλοίωτο, είναι εύκολη υπόθεση για τον επιτιθέµενο να αποκτήσει πρόσβαση στο σύστηµα. Στο συγκεκριµένο παράδειγµα, µάλιστα, ο επιτιθέµενος αποκτά πρόσβαση σε λογαριασµό µε ιδιαίτερα προνόµια. • Να καθορίσουµε ελάχιστο µήκος συνθηµατικού, προκειµένου να αντιµετωπίσουµε επιθέσεις εξαντλητικής έρευνας. ∆υστυχώς, πολλά συστήµατα καθορίζουν και µέγιστο µήκος συνθηµατικού, περιορίζοντας το µήκος των συνθηµατικών σε οκτώ χαρακτήρες. • Να καθορίσουµε µια µορφή συνθηµατικού επιβάλλοντας συνθηµατικά που περιέχουν µικρά και κεφαλαία γράµµατα, αριθµητικούς και µη αλφαριθµητικούς χαρακτήρες. • Να αποφύγουµε τα προφανή συνθηµατικά. Μην παραξενευτείτε αν διαπιστώσετε ότι οι επιτιθέµενοι είναι εφοδιασµένοι µε λίστες δηµοφιλών συνθηµατικών και να ξέρετε ότι οι λεξικογραφικές επιθέσεις έχουν επεκτείει πολύ την έννοια του «προφανούς». Σήµερα µπορείτε να βρείτε ηλεκτρονικά λεξικά για σχεδόν όλες τις γλώσσες. • Να καθορίσουµε, αν το σύστηµά µας το επιτρέπει, ηµεροµηνία λήξης για κάθε συνθηµατικό, αναγκάζοντας έτσι τους χρήστες να αλλάζουν συνθηµατικά σε τακτά διαστήµατα. Μπορούµε, επιπλέον, να έχουµε και µηχανισµούς που απαγορεύουν στους χρήστες να ξαναχρησιµοποιήσουν παλιά συνθηµατικά, όπως, π.χ., µια λίστα των τελευταίων δέκα συνθηµατικών. Φυσικά, οι αποφασιστικοί χρήστες µπορούν πάντα να επαναφέρουν το παλιό αγαπηµένο τους συνθηµατικό κάνοντας τον απαραίτητο αριθµό αλλαγών. • Να διαµορφώσουµε το σύστηµά µας έτσι ώστε να παρακολουθεί τις αποτυχηµένες απόπειρες σύνδεσης και να αντιδρά κλειδώνοντας τελείως ή για κάποιο χρόνο ένα λογαριασµό χρήστη αν το πλήθος τους ξεπεράσει κάποιο όριο, ώστε να αποτρέψει περαιτέρω απόπειρες. • Να διαµορφώσουµε το σύστηµά µας έτσι ώστε, µετά από κάθε επιτυχηµένη σύνδεση, να αναφέρει πότε έγινε η τελευταία επιτυχής σύνδεση και το πλήθος των αποτυχηµένων προσπαθειών σύνδεσης από τότε, ώστε ο χρήστης να προειδοποιείται για πρόσφατες απόπειρες επίθεσης εναντίον του λογαριασµού του. Από τα παραπάνω φαίνεται πόσο σηµαντική είναι η σωστή επιλογή των συνθηµατικών. Το ιδανικό συνθηµατικό είναι πολύ δύσκολο να εικαστεί και εύκολο να αποµνηµονευτεί. Μετά απ’ αυτά που είπαµε, φαίνεται ότι πετυχαίνουµε την καλύτερη 106 K E º A § A I O 4 : ∆ ∞ À ∆ √ ¶ √ π ∏ ™ ∏ ∫ ∞ π AÀ £ ∂ ¡ ∆ π ∫ √ ¶ √ π ∏ ™ ∏ ασφάλεια αν οι χρήστες διαλέγουν µακρά συνθηµατικά, που περιέχουν µικρά και κεφαλαία γράµµατα, αριθµούς και σύµβολα, τα οποία πιθανόν δηµιουργούνται για λογαριασµό τους από το σύστηµα και αλλάζουν τακτικά. Είναι όµως ρεαλιστική η προσέγγιση αυτή; Θα πετύχουµε έτσι στην πράξη το επιθυµητό επίπεδο ασφάλειας; Μάλλον όχι. Κι αυτό γιατί είναι απίθανο οι χρήστες να καταφέρουν να αποµνηµονεύσουν πολύπλοκα συνθηµατικά µεγάλου µήκους (ιδιαίτερα στην περίπτωση που έχουν συνθηµατικά για τραπεζικούς λογαριασµούς, κ.τ.λ). Έτσι, είναι πολύ πιθανό να αναγκαστούν να καταγράψουν κάπου το συνθηµατικό και να το φυλάξουν κοντά στο υπολογιστικό τους σύστηµα, όπου µπορούν να το προσπελάσουν εύκολα, τόσο οι ίδιοι όσο και οι πιθανοί επιτιθέµενοι. Ένα από τα καθήκοντα των υπεύθυνων ασφάλειας είναι και το να ψάχνουν για χαρτάκια µε συνθηµατικά κολληµένα πάνω σε οθόνες τερµατικών. Από την άλλη µεριά, αν απαιτούµε τα συνθηµατικά να αλλάζουν τακτικά και συχνά, είναι πολύ πιθανό οι χρήστες να τείνουν να χρησιµοποιούν ευκολοµνηµόνευτα συνθηµατικά και –κατά συνέπεια– πιο εύκολα να τα εικάσει κάποιος. Μπορεί να επαναχρησιµοποιούν το αγαπηµένο τους συνθηµατικό ή να κάνουν προβλέψιµες αλλαγές στο συνθηµατικό τους. Αν είσαι υποχρεωµένος να αλλάξεις το συνθηµατικό σου κάθε µήνα, η πρόσθεση του µήνα (δύο ψηφία 1–12 ή τρεις χαρακτήρες JAN–DEC) στο συνθηµατικό σου παράγει συνθηµατικά τα οποία µπορείς να θυµάσαι εύκολα. Φυσικά, ο επιτιθέµενος που βρήκε ένα από αυτά τα συνθηµατικά µπορεί εύκολα να προβλέψει το επόµενο. Υπάρχει και κάτι άλλο που πρέπει να σκεφτούµε: Υποθέστε ότι οι χρήστες του συστήµατος παίρνουν όλοι την υπόθεση ασφάλειας πολύ σοβαρά, αποφεύγουν αδύναµα συνθηµατικά που µπορούν να εικαστούν εύκολα, δεν καταγράφουν τα συνθηµατικά τους, αλλά, αναπόφευκτα, πού και πού τα ξεχνούν. Αυτό θα τους εµποδίσει στην εργασία τους και θα τους αναγκάσει να ζητήσουν τη συνδροµή του διαχειριστή του συστήµατος προκειµένου να αποκτήσουν καινούριο συνθηµατικό και να µπορέσουν να συνδεθούν µε το σύστηµα. Η αναγκαστική αυτή ενέργεια θα διακόψει την εργασία του διαχειριστή και θα ανοίξει το δρόµο για µια νέα επίθεση: Αν ο χρήστης και ο διαχειριστής δεν µπορούν να συναντηθούν πρόσωπο µε πρόσωπο, µπορεί να πρέπει να συµφωνήσουν το νέο συνθηµατικό τηλεφωνικά. Είναι σε θέση ο διαχειριστής να επαληθεύσει την ταυτότητα του χρήστη πλήρως; Η παραπλάνηση ενός διαχειριστή συστήµατος προκειµένου να αποκαλύψει τηλεφωνικά κάποιο συνθηµατικό είναι παλιά, δοκιµασµένη και προσφιλής µέθοδος πολλών επιτιθέµενων. Άλλωστε, οι επιτυχείς επιθέσεις τις περισσότερες φορές είναι µάλλον αποτέλεσµα καλής «κοινωνικής µηχανικής» παρά αυξηµένης τεχνικής ικανότητας. Πέρα λοιπόν από τη σωστή εκπαίδευση των χρηστών και την παραίνεση να επιλέ- 4 . 2 ™ À ¡ £ ∏ ª ∞∆ π ∫ ∞ 107 γουν συνθηµατικά µε κάποια επιθυµητά χαρακτηριστικά και να αποφεύγουν κάποια άλλα, µήπως το ίδιο το σύστηµα µπορεί να βοηθήσει ώστε να βελτιωθεί ακόµη περισσότερο ή ασφάλεια των συνθηµατικών; Υπάρχουν τρεις βασικές τεχνικές που µπορούν να χρησιµοποιηθούν για να το πετύχουµε αυτό: • Αυτόµατη δηµιουργία συνθηµατικών από το σύστηµα • Προληπτικός έλεγχος συνθηµατικών • Κατασταλτικός έλεγχος συνθηµατικών Μη νοµίσετε όµως ότι τα συνθηµατικά που δηµιουργούνται αυτόµατα δεν έχουν και αυτά προβλήµατα. Αν είναι αρκετά τυχαία, οι χρήστες δεν µπορούν να τα αποµνηµονεύσουν. Ακόµη και αν το συνθηµατικό µοιάζει µε πραγµατική λέξη, ο χρήστης µπορεί να δυσκολεύεται να το αποµνηµονεύσει και συνεπώς µπαίνει στον πειρασµό να το καταγράψει κάπου. Γενικά, τα συστήµατα αυτόµατης δηµιουργίας συνθηµατικών δεν έχουν τύχει καλής αποδοχής από τους χρήστες. Ο κατασταλτικός έλεγχος συνθηµατικών συνίσταται στην περιοδική εκτέλεση από το ίδιο το σύστηµα ενός προγράµµατος διάρρηξης συνθηµατικών µε σκοπό τον εντοπισµό εύκολων να εικαστούν συνθηµατικών. Το σύστηµα ακυρώνει αµέσως όσα τέτοια συνθηµατικά βρει και ενηµερώνει τους αντίστοιχους χρήστες. Τα µειονεκτήµατα της τακτικής αυτής είναι καταρχήν ότι απαιτεί πολλούς πόρους αν θέλουµε να γίνει σωστά και, επίσης, ότι στο µεσοδιάστηµα µεταξύ των ελέγχων τα αδύναµα συνθηµατικά παραµένουν ενεργά στο σύστηµα. Η πιο πολλά υποσχόµενη τακτική είναι αυτή του προληπτικού ελέγχου, κατά την οποία ο κάθε χρήστης επιλέγει το συνθηµατικό του, το οποίο όµως υπόκειται σε έλεγχο καταλληλότητας κατά τη στιγµή της επιλογής του. Αν βρεθεί ακατάλληλο, ο χρήστης ειδοποιείται και του ζητείται να επιλέξει νέο. Η φιλοσοφία της τακτικής αυτής βασίζεται στην ιδέα ότι οι χρήστες, µε την κατάλληλη υποβοήθηση από το σύστηµα, µπορούν να επιλέξουν καλά συνθηµατικά, τα οποία θα τους είναι και εύκολο να αποµνηµονεύσουν. Το κλειδί της επιτυχίας της τακτικής αυτής είναι να βρεθεί το σηµείο ισορροπίας ανάµεσα στην αποδοχή των χρηστών και στην ισχύ του συνθηµατικού. Μια τέτοια απλή τακτική θα µπορούσε να είναι, για παράδειγµα, να γίνονται αποδεκτά συνθηµατικά µόνο αν έχουν µήκος τουλάχιστον οκτώ χαρακτήρων και περιέχουν, στους πρώτους οκτώ χαρακτήρες, τουλάχιστον ένα κεφαλαίο, ένα µικρό, έναν αριθµό και ένα σηµείο στίξης. Μια άλλη τέτοια τακτική θα µπορούσε να κάνει αποδεκτά µόνο 108 K E º A § A I O 4 : ∆ ∞ À ∆ √ ¶ √ π ∏ ™ ∏ ∫ ∞ π AÀ £ ∂ ¡ ∆ π ∫ √ ¶ √ π ∏ ™ ∏ τα συνθηµατικά που δεν περιέχονται σε κάποιο λεξικό «κακών» συνθηµατικών. Πέρα από τη δυσκολία κατάρτισης ενός τέτοιου λεξικού, δυσκολία που ωστόσο έχει ήδη αποτελέσει αντικείµενο ερευνητικών εργασιών, υπάρχουν δύο προβλήµατα στην εφαρµογή της τακτικής αυτής. Το πρώτο είναι ο χώρος, αφού ένα καλό λεξικό καταλαµβάνει αρκετό χώρο µνήµης. Το δεύτερο είναι ο χρόνος, αφού όσο πιο µεγάλο είναι το λεξικό, τόσο περισσότερος χρόνος απαιτείται για τον έλεγχο των συνθηµατικών που υποβάλλει ο χρήστης. ÕÛÎËÛË A˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 4.3 Υποθέστε ότι επιτρέπεται να χρησιµοποιηθούν µόνο τα 26 γράµµατα της λατινικής αλφαβήτου για τη δηµιουργία συνθηµατικού. Συµπληρώστε τον παρακάτω πίνακα αν 1. τα συνθηµατικά έχουν µήκος από 1 έως 8 χαρακτήρες, 2. δεν υπάρχει διαφορά µεταξύ κεφαλαίων και πεζών χαρακτήρων στο σύστηµά σας, 3. ο απαιτούµενος χρόνος για να δοκιµαστεί ένα συνθηµατικό σε επίθεση ωµής βίας είναι: α) 0.1 sec, β) 1 msec γ) 1 µsec. Μήκος συνθηµατικού Πλήθος διαφορετικών συνθηµατικών Απαιτούµενος χρόνος ÕÛÎËÛË A˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 4.4 Επαναλάβετε την προηγούµενη άσκηση αίροντας την υπόθεση 2. ÕÛÎËÛË A˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 4.5 Επαναλάβετε την προηγούµενη άσκηση υποθέτοντας τώρα ότι µπορείτε να χρησιµοποιήσετε και τα δέκα ψηφία (0–9), καθώς και τους χαρακτήρες «.» και «/» για τη δηµιουργία συνθηµατικού. 4 . 2 ™ À ¡ £ ∏ ª ∞∆ π ∫ ∞ 109 ¢Ú·ÛÙËÚÈfiÙËÙ· 4.2 Χρησιµοποιώντας τα αποτελέσµατα των τριών προηγούµενων ασκήσεων αυτοαξιολόγησης, καθορίστε κανόνες µορφής ελάχιστου µήκους και µέγιστης διάρκειας ζωής για τα συνθηµατικά ενός συστήµατος. Αιτιολογήστε τις επιλογές σας. ÕÛÎËÛË A˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 4.6 Αντιστοιχίστε τις ιδιότητες συνθηµατικών της αριστερής στήλης µε τα χαρακτηριστικά συνθηµατικών της δεξιάς στήλης. Προσέξτε! Η αντιστοίχιση δεν είναι απαραίτητα ένα προς ένα. 1. Μικρό µήκος 2. Μεγάλο µήκος 3. Τυχαιότητα 4. Μπορεί να βρεθεί σε λεξικό 5. Περιέχει µόνο χαρακτήρες 6. ∆εν έχει διάκριση πεζών – κεφαλαίων 7. Είναι πληροφορία που σχετίζεται µε τον ιδιοκτήτη του λογαριασµού 8. Είναι ακολουθία χαρακτήρων πάνω στο πληκτρολόγιο (π.χ. qwerty, asdf) 1. ∆ύσκολο να εικαστεί 2. Εύκολο να εικαστεί 3. ∆ύσκολο να αποµνηµονευτεί 4. Εύκολο να αποµνηµονευτεί ¢Ú·ÛÙËÚÈfiÙËÙ· 4.3 Γράψτε ένα πρόγραµµα που δηµιουργεί τυχαία συνθηµατικά χρησιµοποιώντας ως είσοδο µια τυχαία δυαδική ακολουθία. Χρησιµοποιήστε ακολουθίες µήκους 8, 16, 32 και 64 bits, δηµιουργήστε τα αντίστοιχα συνθηµατικά, κρυπτογραφήστε τα µε τη συνάρτηση του Unix crypt(3) και προσπαθήστε να τα «ανακαλύψετε» µε επίθεση ωµής βίας. Μετρήστε το χρόνο που θα χρειαστείτε γι’ αυτό. 110 K E º A § A I O 4 : ∆ ∞ À ∆ √ ¶ √ π ∏ ™ ∏ ∫ ∞ π AÀ £ ∂ ¡ ∆ π ∫ √ ¶ √ π ∏ ™ ∏ 4.2.2 ÀÔÎÏÔ‹ Û˘ÓıËÌ·ÙÈÎÒÓ Η αναγνώριση και η επαλήθευση ταυτότητας µέσω ονόµατος χρήστη και συνθηµατικού παρέχουν µονοµερή αυθεντικοποίηση. Ο χρήστης εισάγει ένα όνοµα και ένα συνθηµατικό και ο υπολογιστής επαληθεύει την ταυτότητα του χρήστη. Αλλά ξέρει ο χρήστης ποιος έχει λάβει το συνθηµατικό του; Μέχρι τώρα η απάντηση είναι όχι. Ο χρήστης δεν έχει καµιά ένδειξη, πόσο µάλλον εγγύηση, για την ταυτότητα του µέρους που βρίσκεται στην άλλη άκρη της γραµµής. Αυτό είναι πραγµατικό πρόβληµα και οδηγεί στη δεύτερη µέθοδο παραβίασης συνθηµατικών. Σε µια επίθεση υποκλοπής, ο επιτιθέµενος, που µπορεί να είναι νόµιµος χρήστης, τρέχει ένα πρόγραµµα που παρουσιάζει µια ψεύτικη οθόνη σύνδεσης σε κάποιο τερµατικό. Ένας ανυποψίαστος χρήστης έρχεται στο τερµατικό αυτό και προσπαθεί να συνδεθεί. Το θύµα οδηγείται µέσω του κανονικού µενού σύνδεσης και του ζητείται το όνοµα χρήστη και το συνθηµατικό του. Αυτά αποθηκεύονται σε χώρο προσπελάσιµο από τον επιτιθέµενο. Στη συνέχεια, ο έλεγχος είτε περνά στο χρήστη ή εµφανίζεται ένα ψεύτικο µήνυµα λάθους σύνδεσης και το πρόγραµµα υποκλοπής τερµατίζει. Ο έλεγχος µεταφέρεται στο λειτουργικό σύστηµα, που τώρα παρουσιάζει στο χρήστη την αληθινή οθόνη σύνδεσης. Ο χρήστης ξαναπροσπαθεί, πετυχαίνει και µπορεί να µείνει µε παντελή άγνοια του γεγονότος ότι το συνθηµατικό του υποκλάπηκε. Τι µπορούµε να κάνουµε για να αντιµετωπίσουµε µια τέτοια επίθεση υποκλοπής; • Η επίδειξη του πλήθους των αποτυχηµένων προσπαθειών σύνδεσης µπορεί να δείξει στο χρήστη ότι έγινε τέτοια επίθεση. Αν η πρώτη προσπάθεια σύνδεσης αποτύχει, αλλά στη δεύτερη (και πετυχηµένη) απόπειρα το σύστηµά σας πει ότι δεν υπήρξαν αποτυχηµένες προσπάθειες σύνδεσης, πρέπει να αρχίσετε να υποψιάζεστε ότι κάτι συµβαίνει. • Η παροχή κάποιου είδους εγγύησης ότι ο χρήστης επικοινωνεί µε το λειτουργικό σύστηµα και όχι µε ένα πρόγραµµα υποκλοπής επίσης βοηθά. Στα Windows NT, για παράδειγµα, αυτό µπορεί να γίνει µε το ταυτόχρονο πάτηµα των πλήκτρων CTRL+ALT+DEL. • Αν οι χρήστες απαιτούν µεγαλύτερες εγγυήσεις για την ταυτότητα του συστήµατος µε το οποίο επικοινωνούν, όπως, για παράδειγµα, µπορεί να συµβαίνει σε κατανεµηµένα συστήµατα, είναι δυνατόν το σύστηµα να απαιτείται να αυθεντικοποιήσει τον εαυτό του στο χρήστη. Η διαδικασία αυτή της αµοιβαίας αυθεντικοποίησης µπορεί να υλοποιηθεί µε αρκετούς τρόπους, ένας από τους οποίους είναι και η χρήση κρυπτογραφηµένων πρωτοκόλλων περιορισµένης ή µηδενικής γνώσης. 4 . 2 ™ À ¡ £ ∏ ª ∞∆ π ∫ ∞ 111 Πέρα από τις επιθέσεις υποκλοπής, ένας επιτιθέµενος είναι δυνατόν να έχει στη διάθεσή του και άλλους τρόπους για να βρει ένα συνθηµατικό, ειδικά σε περιπτώσεις κατανεµηµένων συστηµάτων, όπου τα συνθηµατικά µεταδίδονται (κρυπτογραφηµένα ή όχι) µέσω δικτυακών συνδέσεων. Στις περιπτώσεις αυτές συνηθισµένη είναι και η χρήση συνθηµατικών µιας χρήσης. Συνθηµατικά µιας χρήσης είναι αυτά που αλλάζουν κάθε φορά που χρησιµοποιούνται. Αντί ο κάθε χρήστης να χρησιµοποιεί µια στατική λέξη (ή φράση), χρησιµοποιεί µια στατική µαθηµατική συνάρτηση. Το σύστηµα παρέχει ένα έντελο στη συνάρτηση και ο χρήστης υπολογίζει και επιστρέφει την τιµή της συνάρτησης. Τα συστήµατα αυτά αναφέρονται και ως συστήµατα πρόκλησης – απάντησης, γιατί το σύστηµα προκαλεί το χρήστη και επαληθεύει ή όχι την ταυτότητά του µε βάση την απάντησή του. Τα συνθηµατικά µιας χρήσης παρέχουν αρκετή προστασία εναντίον υποκλοπών, γιατί η υποκλοπή τους δεν προσφέρει τίποτα στον επιτιθέµενο. Ωστόσο, η χρησιµότητά τους περιορίζεται από την υπολογιστική πολυπλοκότητα των αλγόριθµων που ένας άνθρωπος µπορεί να αποµνηµονεύσει και να χρησιµοποιήσει. Και αυτή η δυσκολία όµως αντιµετωπίζεται, αν οι υπολογισµοί αυτοί εκτελεστούν από µια υπολογιστική µηχανή (π.χ. µια κάρτα) αντί από έναν άνθρωπο. ¢Ú·ÛÙËÚÈfiÙËÙ· 4.4 Για να εκτελέσετε τη δραστηριότητα αυτή σε πραγµατικό σύστηµα, θα πρέπει πρώτα να πάρετε την άδεια του διαχειριστή του, διαφορετικά µπορεί να παραβιάσετε την πολιτική ασφάλειας του συστήµατος ή/και το νόµο. Αν κάποιος χρήστης συστήµατος Unix έχει αφήσει ελεύθερη την πρόσβαση εγγραφής στο αρχείο .profile του λογαριασµού του, είναι πολύ εύκολο να δηµιουργήσουµε ένα δούρειο ίππο, ο οποίος θα µας επιτρέψει να υποκλέψουµε το συνθηµατικό του χρήστη. Οι δούρειοι ίπποι αποτελούν µορφή κακεντρεχούς λογισµικού και είναι προγράµµατα που συνήθως επιτελούν µια χρήσιµη λειτουρία, αλλά, παράλληλα, και χωρίς ο χρήστης να το γνωρίζει, επιτελούν και µια άλλη, κακόβουλη, λειτουργία. Ακόµη χειρότερη είναι η κατάσταση, όταν κάποιος χρήστης έχει αφήσει ελεύθερη την πρόσβαση εγγραφής στο directory του. Ελέγξτε πόσοι χρήστες του συστήµατος που χρησιµοποιείτε έχουν τα παραπάνω χαρακτηριστικά. Θα πρέπει στη συνέχεια να ειδοποιήσετε τόσο αυτούς όσο και το διαχειριστή του συστήµατος. 112 K E º A § A I O 4 : ∆ ∞ À ∆ √ ¶ √ π ∏ ™ ∏ ∫ ∞ π AÀ £ ∂ ¡ ∆ π ∫ √ ¶ √ π ∏ ™ ∏ 4.2.3 ¶·Ú·‚›·ÛË ·Ú¯Â›Ô˘ Û˘ÓıËÌ·ÙÈÎÒÓ Για να επαληθεύσει την ταυτότητα ενός χρήστη, το σύστηµα πρέπει να συγκρίνει το συνθηµατικό που εισάγει ο χρήστης µε µια τιµή που είναι αποθηκευµένη σε κάποιο αρχείο, αναφερόµενο συνήθως ως αρχείο συνθηµατικών. Ένα τέτοιο αρχείο είναι, φυσικά, πολύ ελκυστικός στόχος για υποψήφιους επιτιθέµενους. Η αποκάλυψη, λοιπόν, σε µη κρυπτογραφηµένη µορφή ή η τροποποίηση των περιεχοµένων του αρχείου συνθηµατικών αποτελούν έναν τρίτο πιθανό τρόπο παραβίασης συνθηµατικών. Προσέξτε ότι αναφέρθηκα σε αποκάλυψη περιεχοµένων σε µη κρυπτογραφηµένη µορφή. Αυτό δε σηµαίνει ότι δε θα πρέπει να µας απασχολεί και η αποκάλυψη κρυπτογραφηµένων συνθηµατικών. Πράγµατι, αν αυτό συµβεί, τίποτε δεν µπορεί να αποκλείσει την εκδήλωση µιας λεξικογραφικής επίθεσης σε µη πραγµατικό χρόνο, οπότε µέτρα προστασίας όπως περιορισµός του πλήθους των αποτυχηµένων προσπαθειών σύνδεσης καθίστανται µη εφαρµόσιµα. Καταλήγουµε, λοιπόν, ότι η προστασία του αρχείου συνθηµατικών αποτελεί ακρογωνιαίο λίθο της ασφάλειας του µηχανισµού αυθεντικοποίησης του συστήµατός µας. Για να προστατεύσουµε το αρχείο συνθηµατικών, έχουµε τις εξής επιλογές: • Να το αποθηκεύουµε σε κρυπτογραφηµένη µορφή. • Να ελέγχουµε την πρόσβαση σ’ αυτό µέσω του λειτουργικού συστήµατος. • Να συνδυάσουµε τα δύο παραπάνω και πιθανόν να τα ενισχύσουµε µε άλλα µέτρα που στοχεύουν στην αποτροπή ή την καθυστέρηση λεξικογραφικών επιθέσεων. Η εφαρµογή κρυπτογραφικής προστασίας δεν απαιτεί καν τη χρήση αλγόριθµου κρυπτογράφησης, αφού αρκεί µια µονόδροµη συνάρτηση. Μονόδροµη συνάρτηση είναι µια συνάρτηση που είναι σχετικά εύκολο να υπολογιστεί αλλά πολύ δύσκολο να αντιστραφεί. ∆ηλαδή, δοθέντος του x είναι πολύ εύκολο να υπολογιστεί το f(x), αλλά δοθέντος του f(x) είναι πολύ δύσκολο ν υπολογιστεί το x. Τέτοιες συναρτήσεις έχουν χρησιµοποιηθεί από παλιά για την προστασία αποθηκευµένων συνθηµατικών. Αντί για το συνθηµατικό x, φυλάσσεται στο αρχείο συνθηµατικών η τιµή f(x). Όταν κάποιος χρήστης προσπαθήσει να συνδεθεί και εισάγει ένα συνθηµατικό x΄, το σύστηµα υπολογίζει την τιµή f(x΄) και τη συγκρίνει µε την αποθηκευµένη τιµή f(x). Αν αυτές οι δύο είναι ίδιες, ο χρήστης αυθεντικοποιείται επιτυχώς. Αν χρησιµοποιήσουµε µια τέτοια τεχνική, το αρχείο συνθηµατικών µπορεί να παραµείνει αναγνώσιµο ―αν δε µας απασχολούν ιδιαίτερα οι λεξικογραφικές επιθέσεις. Αν η f είναι καλή µονόδροµη συνάρτηση, δεν είναι εφικτό να ανακατασκευαστεί το συνθηµατικό x από την f(x). Σε µια λεξικογραφική επίθεση, ο επιτιθέµενος κωδικο- 4 . 2 ™ À ¡ £ ∏ ª ∞∆ π ∫ ∞ 113 ποιεί όλες τις λέξεις ενός λεξικού και συγκρίνει τα αποτελέσµατα µε τις κωδικοποιηµένες εγγραφές του αρχείου συνθηµατικών. Αν βρεθεί κάποια που ταιριάζει, ο επιτιθέµενος βρήκε ένα συνθηµατικό. Μήπως η µονόδροµη συνάρτηση µπορεί να σχεδιαστεί έτσι ώστε να καθυστερεί τέτοιες επιθέσεις; Η απάντηση είναι, βέβαια, ναι, αν η συνάρτηση αυτή είναι αρκετά πολύπλοκη να υπολογιστεί. Φυσικά, όσο πιο πολύπλοκος γίνεται ο υπολογισµός της µονόδροµης συνάρτησης, τόσο µεγαλώνει η καθυστέρηση στην αυθεντικοποίηση των νόµιµων χρηστών. Από την άλλη πλευρά, αν βελτιστοποιήσουµε τη µονόδροµη συνάρτηση ως προς την ταχύτητά της, διευκολύνουµε τις λεξικογραφικές επιθέσεις. Όπως σχεδόν πάντα, καλούµαστε να βρούµε το σηµείο ισορροπίας. Οι µηχανισµοί ελέγχου προσπέλασης του λειτουργικού συστήµατος περιορίζουν την πρόσβαση σε αρχεία και άλλους πόρους σ’ εκείνους µόνο τους χρήστες που είναι προς τούτο εξουσιοδοτηµένοι. Μόνο εξουσιοδοτηµένοι (και µάλιστα προνοµιούχοι) χρήστες πρέπει να µπορούν να έχουν πρόσβαση εγγραφής στο αρχείο συνθηµατικών, αλλιώς ο κάθε επιτιθέµενος θα µπορούσε να αποκτήσει πρόσβαση στα αρχεία χρηστών απλώς αλλάζοντας το συνθηµατικό τους, ακόµα και αν αυτό προστατεύεται κρυπτογραφικά. Αν περιοριστεί και η πρόσβαση ανάγνωσης, θεωρητικά τα συνθηµατικά θα µπορούσαν να αποθηκευτούν ακόµη και σε µη κρυπτογραφηµένη µορφή. Αν, όµως, το αρχείο συνθηµατικών περιέχει πληροφορίες που είναι απαραίτητες και σε µη προνοµιούχους χρήστες, τότε πρέπει τα συνθηµατικά να είαι κρυπτογραφηµένα. Ωστόσο, ακόµη και ένα τέτοιο αρχείο, τυπικό παράδειγµα του οποίου είναι το /etc/passwd του Unix, µπορεί να αποτελέσει στόχο λεξικογραφικής επίθεσης. Γι’ αυτό το λόγο, οι πιο πρόσφατες εκδόσεις του Unix αποθηκεύουν τα κρυπτογραφηµένα συνθηµατικά σε ένα αρχείο που δεν είναι δηµόσια διαθέσιµο. Τέτοια αρχεία ονοµάζονται σκιώδη αρχεία συνθηµατικών. Για παράδειγµα, το HP–UX µπορεί να χρησιµοποιήσει ένα σκιώδες αρχείο συνθηµατικών, το /.secure/etc/passwd. Ένα άλλο, όχι τόσο ισχυρό, µέτρο προστασίας ανάγνωσης αρχείου είναι να το αποθηκεύσουµε µε κάποια ειδική, ιδιωτική και µη δηµόσια γνωστή µορφοποίηση. Για παράδειγµα, τα Windows NT αποθηκεύουν τα κρυπτογραφηµένα συνθηµατικά µε µια ιδιωτική δυαδική µορφοποίηση. Το µέτρο αυτό µπορεί να είναι αρκετό για να αντιµετωπίσει τον άπειρο επιτιθέµενο, αλλά ο αποφασισµένος επιτιθέµενος θα αποκτήσει ή θα συµπεράνει την απαραίτητη πληροφορία για να ανιχνεύσει τη θέση των δεδοµένων των σχετικών µε την ασφάλεια. Το συµπέρασµα; Από µόνη της η ασφάλεια µέσω αδιαφάνειας δεν είναι ισχυρός µηχανισµός προστασίας. Αυτό δε σηµαίνει ότι η αδιαφάνεια δεν µπορεί να αποδειχθεί χρήσιµη, σε συνδυασµό µε άλλα µέτρα ασφάλειας. Αν ανησυχούµε για λεξικογραφικές επιθέσεις, αλλά δεν µπορούµε, για κάποιο λόγο, 114 K E º A § A I O 4 : ∆ ∞ À ∆ √ ¶ √ π ∏ ™ ∏ ∫ ∞ π AÀ £ ∂ ¡ ∆ π ∫ √ ¶ √ π ∏ ™ ∏ να κρύψουµε το αρχείο συνθηµατικών, µπορεί να χρησιµοποιήσουµε µια άλλη τεχνική, γνωστή ως επέκταση του συνθηµατικού (salting). Όταν ένα συνθηµατικό κρυπτογραφείται πριν από την αποθήκευση, κάποια επιπλέον πληροφορία (ή επέκταση) προστίθεται σ’ αυτό πριν από την κρυπτογράφηση. Στη συνέχεια, η επέκταση αποθηκεύεται (σε µη κρυπτογραφηµένη µορφή) µαζί µε το συνθηµατικό. Για παράδειγµα, στο Unix ο µηχανισµός επέκτασης λειτουργεί ως εξής: Ο χρήστης επιλέγει ένα συνθηµατικό µήκους µέχρι οκτώ εκτυπώσιµων χαρακτήρων. Το συνθηµατικό αυτό µετατρέπεται, χρησιµοποιώντας ASCII 7 bit, σε µια λέξη µήκους 56 bit, που µε τη σειρά της χρησιµοποιείται ως έντελο σε µια µονόδροµη συνάρτηση. Η συνάρτηση αυτή, γνωστή ως crypt(3), βασίζεται στο DES. Ο πίνακας Ε του DES τροποποιείται χρησιµοποιώντας επέκταση µήκους 12 bit, του οποίου η τιµή σχετίζεται µε την ώρα της δηµιουργίας του συνθηµατικού. Ο τροποποιηµένος αλγόριθµος DES εφαρµόζεται σε είσοδο που αποτελείται πό ένα block 64 µηδενικών. Η έξοδος του αλγόριθµου στη συνέχεια χρησιµοποιείται ως είσοδος στην ίδια συνάρτηση, για δεύτερη κρυπτογράφηση. Η διαδικασία αυτή επαναλαµβάνεται συνολικά 25 φορές. Η τελική έξοδος, µήκους 64 bit, µετατρέπεται σε ακολουθία 11 χαρακτήρων. Το κρυπτογραφηµένο συνθηµατικό αποθηκεύεται στη συνέχεια µαζί µε τη µη κρυπτογραφηµένη, επέκταση στο αρχείο συνθηµατικών. Τι σκοπούς εξυπηρετεί η επέκταση; • Εµποδίζει την ανάγνωση ταυτόσηµων συνθηµατικών στο αρχείο συνθηµατικών. Ακόµη και αν δύο χρήστες επιλέξουν το ίδιο συνθηµατικό, αυτά τα συνθηµατικά θα δηµιουργηθούν σε διαφορετικούς χρόνους, εποµένως η επέκταση θα είναι διαφορετική για κάθε συνθηµατικό και, εποµένως, οι κρυπτογραφηµένες µορφές των συνθηµατικών θα είναι διαφορετικές. • Επιµηκύνει το µήκος του συνθηµατικού χωρίς να απαιτείται ο χρήστης να θυµάται επιπλέον δύο χαρακτήρες. Εποµένως, το πλήθος των πιθανών συνθηµατικών αυξάνεται κατά έναν παράγοντα ίσο µε 4096, αυξάνοντας έτσι τη δυσκολία να εικαστεί το συνθηµατικό. Αποκλείει τη χρήση υλικού για την υλοποίηση του DES, πράγµα που θα διευκόλυνε την εκδήλωση επίθεσης εξαντλητικής έρευνας. 4 . 2 ™ À ¡ £ ∏ ª ∞∆ π ∫ ∞ 115 ÕÛÎËÛË A˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 4.7 Είπαµε παραπάνω ότι η χρήση επέκτασης στο µηχανισµό συνθηµατικών του Unix αυξάνει το πλήθος των πιθανών συνθηµατικών κατά 4096 φορές. Αλλά η επέκταση αποθηκεύεται σε µη κρυπτογραφηµένη µορφή µαζί µε το αντίστοιχο κρυπτογραφηµένο συνθηµατικό. Εποµένως, ο επιτιθέµενος γνωρίζει ήδη τους δύο αυτούς χαρακτήρες του συνθηµατικού και δε χρειάζεται να προσπαθήσει να τους εικάσει. Γιατί, λοιπόν, ισχυριζόµαστε ότι η επέκταση αυξάνει την ασφάλεια; ÕÛÎËÛË A˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 4.8 Αν πράγµατι η επέκταση αυξάνει την ασφάλεια, δε θα ήταν δυνατό να εξουδετερώσουµε τελείως όλες τις επιθέσεις παραβίασης του αρχείου συνθηµατικών αυξάνοντας δραµατικά το µήκος της επέκτασης σε 24 ή ακόµη και 48 bits; ¢Ú·ÛÙËÚÈfiÙËÙ· 4.5 Eντοπίστε στο διαδίκτυο, προγράµµατα διάρρηξης συνθηµατικών (password crackers). Τέτοια προγράµµατα υπάρχουν πολλά, τα περισσότερα από τα οποία διατίθενται ελεύθερα προς χρήση. Ένα καλό σηµείο εκκίνησης για την έρευνά σας είναι το http://members.aol.com/jpeschel/crack.htm. ¢Ú·ÛÙËÚÈfiÙËÙ· 4.5 Για να εκτελέσετε τη δραστηριότητα αυτή σε πραγµατικό σύστηµα, θα πρέπει πρώτα να πάρετε την άδεια του διαχειριστή του, διαφορετικά µπορεί να παραβιάσετε την πολιτική ασφάλειας του συστήµατος ή/και το νόµο. Αποκτήστε αντίγραφο ενός αρχείου συνθηµατικών. Χρησιµοποιήστε τα προγράµµατα που εντοπίσατε στην προηγούµενη δραστηριότητα για να διαρρήξετε τα συνθηµατικά του συστήµατός σας, χρησιµοποιώντας διάφορα λεξικά. Καταγράψτε τα συνθηµατικά που κατορθώσατε να διαρρήξετε και ειδοποιήστε τους αντίστοιχους χρήστες, καθώς και το διαχειριστή του συστήµατός σας. 116 K E º A § A I O 4 : ∆ ∞ À ∆ √ ¶ √ π ∏ ™ ∏ ∫ ∞ π AÀ £ ∂ ¡ ∆ π ∫ √ ¶ √ π ∏ ™ ∏ 4.2.4 ∏ ‰È·¯Â›ÚÈÛË ÙÔ˘ Ì˯·ÓÈÛÌÔ‡ Û˘ÓıËÌ·ÙÈÎÒÓ Κλείνω τη συζήτηση του κεφαλαίου µε την επισήµανση ότι όσα τεχνικά µέτρα και αν πάρει κανείς, ο µηχανισµός αυθεντικοποίησης µε συνθηµατικά δε θα είναι αρκετά ασφαλής, παρά µόνο αν υπάρχει και σωστή διαχείρισή του. Η εξασφάλιση ότι οι χρήστες θα έχουν συνθηµατικά δύσκολα να εικαστούν είναι µια µόνο πλευρά της όλης διαδικασίας διαχείρισης των συνθηµατικών. Η διαχείριση αυτή περιλαµβάνει όλες τις πολιτικές και διαδικασίες που χρησιµοποιούνται για τη διασφάλιση της ασφάλειας των συνθηµατικών. Αν και το θέµα είναι µεγάλο και έχει αποτελέσει αντικείµενο αρκετών προσπαθειών προτυποποίησης, θα περιοριστώ εδώ να παραθέσω µερικές βασικές οδηγίες για την αποτελεσµατική διαχείριση του µηχανισµού αυτού: • Η σύνθεση, το µήκος, η διάρκεια ζωής, ο εκδότης του συνθηµατικού είναι σαφώς καθορισµένα και καταγραµµένα χαρακτηριστικά του συστήµατος, η δε επιλογή των παραµέτρων τους γίνεται σύµφωνα µε τις απαιτήσεις ασφάλειάς του. • Η µέθοδος µετάδοσης του συνθηµατικού προς τον ιδιοκτήτη του και προς όπου αλλού απαιτείται είναι ασφαλής. • Η µέθοδος αποθήκευσης του συνθηµατικού κατά τη διάρκεια της ζωής του είναι ασφαλής. • Η µέθοδος εισαγωγής του συνθηµατικού στο σύστηµα είναι ασφαλής. • Η µέθοδος µετάδοσης του συνθηµατικού από το σηµείο εισαγωγής του στο σηµείο ελέγχου του είναι ασφαλής. • Η αυθεντικοποίηση του χρήστη δε γίνεται µόνο κατά τη φάση σύνδεσής του στο σύστηµα, αλλά και κατά τη διάρκεια της συνόδου, σε διαστήµατα που καθορίζονται ανάλογα µε τις απαιτήσεις ασφάλειας του συστήµατος. ¢Ú·ÛÙËÚÈfiÙËÙ· 4.7 Μελετήστε το µηχανισµό ταυτοποίησης – αυθεντικοποίησης στο σύστηµα που χρησιµοποιείτε. Υπάρχουν κανόνες για το µήκος του συνθηµτικού, τη µορφή του ή τη διάρκεια ισχύος του; Πώς αποθηκεύονται τα συνθηµατικά στο σύστηµά σας; ™‡ÓÔ„Ë Στο κεφάλαιο αυτό ασχοληθήκαµε µε τις έννοιες της ταυτοποίησης και αυθεντικοποίησης χρήστη. Αρχικά συζητήσαµε τις δύο έννοιες και τις ορίσαµε ως τις διαδικασίες αναγνώρισης και επαλήθευσης, αντίστοιχα, της ταυτότητας του χρήστη. Στη συνέ- B I B § I O ° PA º I A 117 χεια, αφού πρώτα αναφερθήκαµε γενικά σε µεθόδους ταυτοποίησης και αυθεντικοποίησης, επικεντρώσαµε το ενδιαφέρον µας στον πιο συνηθισµένο σε υπολογιστικά συστήµατα µηχανισµό ταυτοποίησης και αυθεντικοποίησης του ονόµατος χρήστη και συνθηµατικού. Αναφερθήκαµε µε λεπτοµέρεια στις απειλές που αντιµετωπίζει ο µηχανισµός αυτός, καθώς και στα µέσα άµυνας που µπορούµε εµείς, ως διαχειριστές ενός συστήµατος, να αντιτάξουµε. Τα µέσα αυτά περιλαµβάνουν τεχνικά και διαχειριστικά µέτρα, τα κυριότερα από τα οποία είναι η σωστή επιλογή και διαχείριση συνθηµατικών, η υποβοήθηση του χρήστη στην αναγνώριση αποπειρών παραβίασης του συνθηµατικού του και η προστασία του αρχείου συνθηµατικών µέσω ισχυρής κρυπτογράφησης και ελέγχου της πρόσβασης σ’ αυτό. BÈ‚ÏÈÔÁÚ·Ê›· FIPS PUB 112, Password Usage, 1985. FIPS PUB 46–2, Data Encryption Standard, 1994. Gollmann D., Computer Security, John Wiley & Sons, 1999. Gritzalis D. and Katsikas S. K., «Towards a Formal System–to–System Authentication Protocol», Computer Communications, Vol. 19, pp. 954–961, 1996. Gritzalis D., Katsikas S. K., and Gritzalis S., «A Zero Knowledge Probabilistic Login Protocol», Computers and Security, Vol. 11, no. 8, pp. 733–745, 1992. Pfaffenberger B., Protect your privacy on the Internet, John Wiley & Sons, 1997. Pfleeger C. P., Security in Computing, Prentice Hall, Saddle River, NJ, 1997. Polemi D., Biometric Techniques: Review and evaluation of biometric techniques for identification and authemtication, including an appraisal of the areas where they are most applicable, Final Report, ETS Project, Commission of the European Union, DG XIII, April 1997. Stallings W., Network and Internetwork Security: Principles and Practice , Prentice–Hall, Englewood Cliffs, NJ, 1995. Γκρίτζαλης ∆., Ασφάλεια Πληροφοριακών Συστηµάτων, Αθήνα, Ελληνική Εταιρεία Επιστηµόνων Η/Υ & Πληροφορικής (ΕΠΥ), 1989. Κιουντούζης Ε., Ασφάλεια Πληροφοριακών Συστηµάτων, Αθήνα, Εκδόσεις Ευγ. Μπένου, 1993. ∫ ∂ ŒÏÂÁ¯Ô˜ ¶ÚÔۤϷÛ˘ ™ÎÔfi˜ Στο κεφάλαιο αυτό θα ασχοληθούµε µε τον έλεγχο προσπέλασης και θα γνωρίσουµε πολιτικές, µοντέλα και µηχανισµούς ελέγχου προσπέλασης. 5 º ∞ § ∞ π √ ¶ÚÔÛ‰ÔÎÒÌÂÓ· ·ÔÙÂϤÛÌ·Ù· Όταν θα έχετε τελειώσει τη µελέτη του κεφαλαίου αυτού, θα µπορείτε να: • Αναφέρετε τρεις σκοπούς που εξυπηρετεί ο έλεγχος προσπέλασης. • ∆ώσετε δύο παραδείγµατα υποκειµένων και δύο παραδείγµατα αντικειµένων. • Αναφέρετε τις τέσσερις στοιχειώδεις πράξεις προσπέλασης. • Περιγράψετε τέσσερις πολιτικές ελέγχου προσπέλασης. • Περιγράψετε οκτώ µοντέλα πολιτικών ελέγχου προσπέλασης. • Περιγράψετε πέντε µηχανισµούς ελέγχου προσπέλασης. ŒÓÓÔȘ ÎÏÂȉȿ • έλεγχος προσπέλασης • πολιτικές ελέγχου προσπέλασης • φορµαλιστικά µοντέλα ελέγχου προσπέλασης • µηχανισµοί υλοποίησης πολιτικών ελέγχου προσπέλασης ∂ÈÛ·ÁˆÁÈΤ˜ ·Ú·ÙËÚ‹ÛÂȘ Είδαµε, λοιπόν, στο προηγούµενο κεφάλαιο ποια είναι η πρώτη γραµµή άµυνας ενός υπολογιστικού συστήµατος: η αναγνώριση και η επαλήθευση της ταυτότητας των χρηστών. Είπαµε δε ότι οι δύο αυτές ενέργειες είναι απαραίτητες, µεταξύ άλλων, και γιατί η ταυτότητα του χρήστη αποτελεί παράµετρο στις αποφάσεις ελέγχου προσπέλασης. Πράγµατι, το γεγονός ότι κάποιος είναι εξουσιοδοτηµένος να συνδεθεί µε ένα υπολογιστικό σύστηµα δε σηµαίνει ότι είναι και εξουσιοδοτηµένος να κάνει ό,τι θέλει σ’ αυτό! Είναι, λοιπόν, φανερό ότι πρέπει να υπάρχει κάποιος µηχανισµός που ελέγχει 120 KEºA§AIO 5: ∂§∂°Ã√™ ¶ƒ√™¶∂§∞™∏™ τη δυνατότητα κάποιου να χρησιµοποιεί πληροφορίες ή υπολογιστικούς πόρους, στο πλαίσιο ενός πληροφοριακού συστήµατος. Ο µηχανισµός αυτός είναι γνωστός µε το όνοµα έλεγχος προσπέλασης. Παρ’ όλο που είναι διαισθητικά προφανής η ανάγκη για την ύπαρξη ενός µηχανισµού ελέγχου προσπέλασης σε κάθε υπολογιστικό σύστηµα, δεν είναι εξίσου προφανείς και όλοι οι σκοποί που αυτός εξυπηρετεί. Συνήθως αναφέρονται τρεις τέτοιοι, αλληλοσυµπληρούµενοι, σκοποί: • Ο έλεγχος κάθε προσπέλασης. Όπως και πριν είπαµε, αν έχουµε εξουσιοδοτήσει ένα χρήστη να προσπελάζει πληροφορίες ή υπολογιστικούς πόρους, δεν εννοούµε απαραίτητα ότι ο χρήστης έχει απεριόριστη (µε τη χρονική ή τη χωρική έννοια) πρόσβαση σ’ αυτά. Ακόµη, µπορεί κάποτε να θελήσουµε να αφαιρέσουµε το προνόµιο αυτό του χρήστη, και µάλιστα να εµποδίσουµε κάθε περαιτέρω προσπέλαση αµέσως µετά την αφαίρεση της εξουσιοδότησης. Αυτά µπορούν να γίνουν µόνον αν ελέγχεται κάθε προσπέλαση κάθε χρήστη σε κάθε πληροφορία ή υπολογιστικό πόρο. • Η εφαρµογή της αρχής του ελάχιστου προνοµίου. Η αρχή του ελάχιστου προνοµίου λέει ότι κάθε χρήστης πρέπει να έχει πρόσβαση µόνο στο µικρότερο δυναό πλήθος πληροφοριών και υπολογιστικών πόρων που είναι απαραίτητοι προκειµένου να εκτελεστεί µια εργασία. Ακόµη και αν οι επιπλέον πληροφορίες ή πόροι είναι άχρηστοι για το χρήστη, πάλι δεν επιτρέπεται η παραπανίσια προσπέλαση. Γιατί επιβάλλουµε την αρχή αυτή; Ο λόγος είναι ότι η απαγόρευση προσπέλασης σε µη απαραίτητες πληροφορίες ή υπολογιστικούς πόρους µας προφυλάσσει από πιθανά ρήγµατα ασφάλειας αν αστοχήσει κάποιο τµήµα του µηχανισµού προστασίας. • Επαλήθευση αποδεκτής χρήσης. Η απόφαση χορήγησης δυνατότητας προσπέλασης είναι δίτιµη: επιδέχεται µόνο τις τιµές «ναι – επιτρέπεται η προσπέλαση» και «όχι – απαγορεύεται η προσπέλαση». Πέρα όµως από το αν επιτρέπουµε σε κάποιο χρήστη να προσπελάσει µια πληροφορία ή έναν υπολογιστικό πόρο, µας ενδιαφέρει να ξέρουµε και τι κάνει µε την πληροφορία ή τον πόρο, προκειµένου να διαπιστώσουµε αν οι ενέργειές του είναι νόµιµες. Το κεφάλαιο είναι οργανωµένο σε τέσσερις ενότητες. Η πρώτη ενότητα αναφέρεται σε υποκείµενα και αντικείµενα, δύο έννοιες βασικές για τη συζήτηση στις επόµενες ενότητες, η δεύτερη ενότητα αναφέρεται σε τέσσερις διαφορετικές πολιτικές ελέγχου προσπέλασης, η τρίτη περιγράφει συνοπτικά φορµαλιστικά µοντέλα περιγραφής πολιτικών ελέγχου προσπέλασης, ενώ η τελευταία περιγράφει διάφορους µηχανισµούς υλοποίησης πολιτικών ελέγχου προσπέλασης. 5.1 À¶√∫∂πª∂¡∞ ∫∞π ∞¡∆π∫∂πª∂¡∞ 121 5.1 ÀÔΛÌÂÓ· Î·È ·ÓÙÈΛÌÂÓ· Εννοιολογικά, η λέξη «προσπέλαση» υποδηλώνει ότι υπάρχει ένα ενεργό υποκείµενο που προσπελάζει ένα παθητικό αντικείµενο µε σκοπό την εκτέλεση κάποιας συγκεκριµένης λειτουργίας. Τυπικά παραδείγµατα υποκειµένων είναι οι χρήστες και οι διεργασίες. Τυπικά παραδείγµατα αντικειµένων είναι τα αρχεία ή οι υπολογιστικοί πόροι, όπως η µνήµη, οι εκτυπωτές ή οι κόµβοι ενός δικτύου. Προσέξτε όµως! Μην παρασυρθείτε και νοµίσετε ότι κάθε οντότητα µέσα σ’ ένα σύστηµα κατηγοριοποιείται µοναδικά ως υποκείµενο ή αντικείµενο. Ανάλογα µε τις συνθήκες, µια οντότητα µπορεί να είναι υποκείµενο σε µια αίτηση προσπέλασης και αντικείµενο σε µια άλλη. Εποµένως, οι όροι υποκείµενο και αντικείµενο απλώς διακρίνουν την ενεργό και την παθητική οντότητα σε µια αίτηση προσπέλασης. Για το λόγο αυτό, οι έννοιες «υποκείµενο» και «αντικείµενο» µας προφέρουν δύο βασικές επιλογές για την πολιτική µας ελέγχου προσπέλασης: Μπορούµε είτε να καθορίσουµε τι επιτρέπεται να κάνει κάθε υποκείµενο ή τι επιτρέπεται να πάθει κάθε αντικείµενο. Τι όµως εννοούµε µε την έκφραση «τι επιτρέπεται»; Απλώς σκεπτόµενοι, βρίσκουµε αµέσως ότι, στο πιο στοιχειώδες επίπεδο, ένα υποκείµενο µπορεί είτε να παρατηρεί είτε να τροποποιεί ένα αντικείµενο. Ορίζουµε, λοιπόν, τη στοιχειώδη πράξη observe να αντιστοιχεί σε παρατήρηση ενός αντικειµένου και τη στοιχειώδη πράξη alter να αντιστοιχεί σε τροποποίηση ενός αντικειµένου. Αν και οι περισσότερες πολιτικές ελέγχου προσπέλασης µπορούν να εκφραστούν µε βάση τις δύο αυτές στοιχειώδεις πράξεις, στην πράξη οι επιτρεπόµενες πράξεις προσπέλασης είναι περισσότερες. Για παράδειγµα, στο µοντέλο Bell–LaPadula, που θα το συζητήσουµε αργότερα, ορίζονται τέσσερις τέτοιες πράξεις, οι read, write, append και execute. Για να δούµε από πού προκύπτει η ανάγκη για τις πράξεις αυτές και ποια είναι η αντιστοιχία τους µε τις observe και alter, ας σκεφτούµε πώς ένα λειτουργικό σύστηµα που υποστηρίζει πολλούς χρήστες ελέγχει την προσπέλαση στα αρχεία του. Ο χρήστης πρέπει να ανοίξει το αρχείο πριν επιτραπεί η προσπέλαση. Συνήθως τα αρχεία ανοίγονται µε άδεια προσπέλασης εγγραφής ή άδεια προσπέλασης ανάγνωσης. Με τον τρόπο αυτό το λειτουργικό σύστηµα αποφεύγει πιθανές αντιφάσεις, όπως, π.χ., δύο χρήστες που προσπαθούν να γράψουν ταυτόχρονα στο ίδιο αρχείο. Για λόγους αποτελεσµατικότητας, η άδεια προσπέλασης εγγραφής συνήθως εµπεριέχει και άδεια προσπέλασης ανάγνωσης. Αυτό γίνεται γιατί δε θα πρέπει να ζητηθεί από ένα χρήστη που διορθώνει ένα αρχείο να το ανοίξει δύο φορές, µία για ανάγνωση και µία για εγγραφή. Έτσι, λοιπόν, η πράξη write εµπεριέχει και τις δύο πράξεις: observe και alter. Λίγα συστήµατα χρησιµοποιούν στην πράξη την πράξη append. Το να επιτρέψουµε 122 KEºA§AIO 5: ∂§∂°Ã√™ ¶ƒ√™¶∂§∞™∏™ σε χρήστες να τροποποιούν ένα αντικείµενο χωρίς να µπορούν να παρατηρήσουν τα περιεχόµενά του δεν είναι και πολύ χρήσιµη λειτουργία, στις περισσότερες εφαρµογές. Αυτό δε σηµαίνει ότι δεν υπάρχουν σηµαντικές εφαρµογές όπου η λειτουργία αυτή όχι µόνο είναι χρήσιµη, αλλά επιβάλλεται. Το ίχνος ελέγχου (audit trail), δηλαδή το υποσύστηµα που καταγράφει τη δραστηριότητα των χρηστών του συστήµατος, είναι παράειγµα µιας εφαρµογής όπου η λειτουργία αυτή είναι χρήσιµη. Μια διεργασία που γράφει στο αρχείο αυτό δε χρειάζεται να διαβάσει το αρχείο και µάλλον δεν πρέπει και να το διαβάσει. Με µια πρώτη µατιά φαίνεται ότι η πράξη execute είναι περιττή. Είναι δυνατόν να εκτελεστεί κάτι χωρίς να αναγνωστεί; Η απάντηση είναι ότι το λειτουργικό σύστηµα µπορεί να χρησιµοποιήσει αρχεία (π.χ. προγράµµατα) χωρίς να τα ανοίξει. Το γεγονός αυτό δικαιολογεί την ύπαρξη της πράξης execute, η οποία δεν εµπεριέχει ούτε την πράξη observe ούτε την πράξη alter. Για να δώσουµε και ένα παράδειγµα του πώς εφαρµόζονται οι σκέψεις αυτές σε ένα πραγµατικό και σύγχρονο λειτουργικό σύστηµα, στο Unix ορίζονται τρεις πράξεις ελέγχου προσπέλασης: οι read, write και execute. Οι πράξεις αυτές διαφέρουν απ’ αυτές του µοντέλου Bell–LaPadula σε αρκετά σηµεία. Μια από τις σηµαντικές διαφορές είναι ότι στο Unix άδεια προσπέλασης εγγραφής δε συνεπάγεται άδεια προσπέλασης ανάγνωσης. Επειδή είναι πιθανόν να σας µπέρδεψα και λίγο µε την εναλλάξ χρήση των εννοιών «υποκείµενο» και «χρήστης», καλό είναι να τις ξεκαθαρίσουµε λίγο περισσότερο. Τα υποκείµενα, λοιπόν, είναι διεργασίες του συστήµατος, δηλαδή προγράµµατα σε εκτέλεση, ενώ οι χρήστες είναι άνθρωποι. Κάθε υποκείµενο σχετίζεται µε ένα µοναδικό χρήστη, η δε σχέση τους είναι ότι το υποκείµενο εκτελείται για λογαριασµό του χρήστη. Στη γενική περίπτωση, ένας χρήστης µπορεί να σχετίζεται µε πολλά υποκείµενα, δηλαδή να έχει πολλές διεργασίες, που εκτελούνται παράλληλα, για λογαριασµό του. Η σύνδεση ενός χρήστη µε το σύστηµα τον κάνει, όσον αφορά το σύστηµα, ένα υποκείµενο. Είναι όλα τα υποκείµενα που σχετίζονται µε ένα χρήστη ισοδύναµα; Όχι. ∆ιαφορετικά υποκείµενα που σχετίζονται µε τον ίδιο χρήστη µπορεί να έχουν διαφορετικά δικαιώµατα προσπέλασης σε διαφορετικά αντικείµενα. 5.1 À¶√∫∂πª∂¡∞ ∫∞π ∞¡∆π∫∂πª∂¡∞ 123 ÕÛÎËÛË A˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 5.1 Χαρακτηρίστε τις παρακάτω προτάσεις ως σωστές ή λάθος: Σωστό 1. ∆εν είναι απαραίτητο να ελέγχεται κάθε προσπέλαση κάθε χρήστη σε κάθε υπολογιστικό πόρο. 2. Κάθε χρήστης πρέπει να έχει πρόσβαση σε όλους τους πόρους του συστήµατος, ανεξάρτητα από τις εργασίες που επιτελεί. 3. ∆εν είναι δυνατόν να διαπιστωθεί η νοµιµότητα της χρήσης ενός πόρου µόνο από την απόφαση παραχώρησης ή όχι δικαιώµατος προσπέασης σ’ αυτόν. 4. Κάθε οντότητα σ’ ένα σύστηµα είναι ή υποκείµενο ή αντικείµενο. 5. Οι πολιτικές ελέγχου προσπέλασης µπορούν είτε να καθορίζουν επιτρεπτές ενέργειες υποκειµένων είτε επιτρεπτή χρήση αντικειµένων. 6. Κάθε υποκείµενο σχετίζεται µε ένα και µοναδικό χρήστη του συστήµατος. ❏ Λάθος ❏ ❏ ❏ ❏ ❏ ❏ ❏ ❏ ❏ ❏ ❏ ❏ ❏ 7. Κάθε χρήστης σχετίζεται µε ένα και µοναδικό υποκείµενο. ❏ 8. Κάθε χρήστης είναι ένα και µοναδικό υποκείµενο. ❏ ¢Ú·ÛÙËÚÈfiÙËÙ· 5.1 ∆ώστε δύο παραδείγµατα συστηµάτων όπου η πράξη append είναι απαραίτητη. ¢Ú·ÛÙËÚÈfiÙËÙ· 5.2 ∆ώστε ένα παράδειγµα εκτέλεσης αντικειµένου χωρίς ανάγνωσή του. 124 KEºA§AIO 5: ∂§∂°Ã√™ ¶ƒ√™¶∂§∞™∏™ 5.2 ¶ÔÏÈÙÈΤ˜ ÂϤÁ¯Ô˘ ÚÔۤϷÛ˘ Σύµφωνα µε τον ISO, ο έλεγχος προσπέλασης αποτελείται από δύο τµήµατα: Ένα µηχανισµό που αποφασίζει τη χορήγηση άδειας προσπέλασης υποκειµένων σε αντικείµενα (Access Control Decision Facility) σύµφωνα µε καθορισµένους κανόνες και ένα µηχανισµό που επιβάλλει την απόφαση (Access Control Enforcement Facility). Το σύνολο των κανόνων µε βάση τους οποίους λειτουργεί ο µηχανισµός απόφασης είναι γνωστό ως πολιτική ελέγχου προσπέλασης. Υπάρχουν διάφορες τέτοιες πολιτικές, που έχουν αναπτυχθεί για να καλύψουν τις ανάγκες διαφορετικών χώρων λειτουργίας πληροφοριακών συστηµάτων. Θα συζητήσουµε εδώ τέσσερις τέτοιες πολιτικές. Αν και διαφοροποιήσαµε ήδη τις έννοιες του «χρήστη» και του «υποκειµένου» και τις έννοιες της «πληροφορίας» και του «αντικειµένου», στη συζήτηση της ενότητας αυτής θα χρησιµοποιώ τους όρους «χρήστης» και «πληροφορία», για συνειρµικούς λόγους. Ωστόσο, έχετε υπόψη σας ότι όλη η συζήτηση είναι απολύτως έγκυρη και, αν αντικαταστήσετε τους «χρήστες» µε «υποκείµενα» και τις «πληροφορίες» µε «αντικείµενα». Mόνο µερικά παραδείγµατα και επιχειρήµατα θα φανούν παράξενα. Ο πρώτος χώρος λειτουργίας πληροφοριακών συστηµάτων που ασχολήθηκε µε την ασφάλεια ήταν, για προφανείς λόγους, ο στρατιωτικός. Η πολιτική ελέγχου προσπέλασης σε στρατιωτικής φύσης πληροφοριακά συστήµατα βασίζεται στην ευαισθησία της πληροφορίας που περιέχεται στις πληροφορίες–αντικείµενα και στο βαθµό εµπιστοσύνης που έχουµε στους χρήστες. Η απόφαση χορήγησης άδειας προσπέλασης βασίζεται στο αποτέλεσµα της σύγκρισης µεταξύ του βαθµού εµπιστοσύνης που έχουµε στο χρήστη και της ευασθησίας της πληροφορίας. Το βασικό χαρακτηριστικό της πολιτικής αυτής, γνωστής ως πολιτική Υποχρεωτικού Ελέγχου Προσπέλασης (Mandatory Access Control – MAC) είναι ότι η εφαρµογή της είναι υποχρεωτική για όλους τους χρήστες του συστήµατος. Πώς όµως εκφράζεται η ευαισθησία των πληροφοριών και ο βαθµός εµπιστοσύνης που έχουµε στους χρήστες; Για να απαντήσουµε στις ερωτήσεις αυτές, ας γυρίσουµε λίγο πίσω, στην ανάγκη για ασφάλεια στρατιωτικών πληροφοριακών συστηµάτων. Η ανάγκη αυτή πηγάζει από το γεγονός ότι στα συστήµατα αυτά υπάρχουν πληροφορίες που, αν γίνουν γνωστές στον εχθρό, µπορούν να βλάψουν την εθνική ασφάλεια. Επειδή η προστασία των πληροφοριών αυτών κοστίζει και επειδή δεν είναι ίση η ευαισθησία όλων αυτών των πληροφοριών, διαχωρίζουµε διάφορους βαθµούς ευαισθησίας της πληροφορίας. Οι συνήθως χρησιµοποιούµενοι βαθµοί ευαισθησίας της πληροφορίας, σε σειρά αύξουσας σηµασίας για την εθνική ασφάλεια, είναι αδιαβάθµιστη, εµπι- 5.2 ¶√§π∆π∫∂™ ∂§∂°Ã√À ¶ƒ√™¶∂§∞™∏™ 125 στευτική, απόρρητη και άκρως απόρρητη. Πληροφορία της οποίας ο βαθµός ευαισθησίας είναι ένας από τους τρεις τελευταίους ονοµάζεται και διαβαθµισµένη. Από την άλλη µεριά, οι χρήστες χαρακτηρίζονται από ένα βαθµό εµπιστοσύνης, ο οποίος µετριέται όπως και η ευαισθησία της πληροφορίας. Ο βαθµός αυτός εµπιστοσύνης καθορίζεται µετά από εκτέλεση σειράς ελέγχων σχετικών µε το πρόσωπο του χρήστη. Η σχέση µεταξύ βαθµού ευαισθησίας και βαθµού εµπιστοσύνης είναι ότι κάθε χρήστης µε βαθµό εµπιστοσύνης α θεωρείται έµπιστος να χειρίζεται πληροφορίες µε βαθµό ευαισθησίας µικρότερο ή ίσο µε α. Όσο µικρότερος είναι ο αριθµός των χρηστών που χειρίζονται µια πληροφορία, τόσο ευκολότερος είναι ο έλεγχος της διάχυσής της. Η διαπίστωση αυτή, σε συνδυασµό µε τη διαπίστωση ότι είναι πολύ λίγοι οι χρήστες που χρειάζεται να χειρίζονται όλες τις πληροφορίες ενός δεδοµένου βαθµού ευαισθησίας, οδηγεί στη λεγόµενη αρχή της ανάγκης για γνώση (need–to–know), σύµφωνα µε την οποία ένας χρήστης δεν πρέπει να έχει άδεια προσπέλασης σε µια πληροφορία, παρά µόνο αν τη χρειάζεται για να εκτελέσει κάποια εργασία (εννοείται, βέβαια, ότι θα πρέπει να έχει και τον κατάλληλο βαθµό εµπιστοσύνης). Οδηγούµαστε, λοιπόν, στον ορισµό διαµερισµάτων πληροφορίας, στα οποία κατατάσσεται κάθ πληροφορία ανάλογα µε τη φύση της. Τα διαµερίσµατα αυτά µπορεί να είναι και επικαλυπτόµενα. Ο συνδυασµός του βαθµού ευαισθησίας µιας πληροφορίας και του συνόλου των διαµερισµάτων στα οποία αυτή ανήκει (που µπορεί να είναι και το κενό σύνολο) συγκροτεί τη διαβάθµιση της πληροφορίας. Κατ’ αντιστοιχία, ο βαθµός εµπιστοσύνης κάθε χρήστη συσχετιζόµενος µε διαµερίσµατα συγκροτεί τη διαβάθµιση του χρήστη. Είναι, ελπίζω, φανερό ότι η διαβάθµιση ενός χρήστη µπορεί να είναι διαφορετική για διαφορετικά διαµερίσµατα, αφού είναι δυνατό να διαφέρουν οι αντίστοιχοι βαθµοί εµπιστοσύνης. Ποιοι είναι, λοιπόν, οι κανόνες µε βάση τους οποίους λαµβάνεται η απόφαση χορήγησης ή όχι άδειας προσπέλασης στην πολιτική MAC; Άδεια προσπέλασης χορηγείται αν: • ο βαθµός εµπιστοσύνης του χρήστη που τη ζητάει είναι τουλάχιστον ίσος µε το βαθµό ευαισθησίας της πληροφορίας για τουλάχιστον όλα τα διαµερίσµατα στα οποία ανήκει η προς προσπέλαση πληροφορία και • δε δηµιουργεί δυνατότητα υποβιβασµού του βαθµού ευαισθησίας µιας πληροφορίας µέσω εγγραφής σε πληροφορία χαµηλότερου βαθµού ευαισθησίας. Aν µου πείτε ότι ο πρώτος κανόνας είναι πολύ πιο ξεκάθαρα διατυπωµένος από το δεύτερο, έχετε δίκιο. Σε επίπεδο φορµαλιστικής όµως διατύπωσης και οι δύο κανόνες είναι εξίσου ξεκάθαροι, όπως θα δούµε αργότερα. 126 KEºA§AIO 5: ∂§∂°Ã√™ ¶ƒ√™¶∂§∞™∏™ Ας περάσουµε τώρα στον αντίποδα ενός στρατιωτικού περιβάλλοντος, σε ένα ακαδηµαϊκό περιβάλλον, όπου οι πληροφορίες δεν έχουν και µεγάλη σχέση µε την εθνική ασφάλεια (τουλάχιστον συνήθως) και όπου η βασική αρχή που πρέπει να διέπει τη λειτουργία των πληροφοριακών συστηµάτων είναι η διατήρηση της ακαδηµαϊκής ελευθερίας. Yπάρχουν όµως και πληροφορίες (π.χ. βαθµοί) όπου η προσπέλαση πρέπει να είναι αυστηρά περιορισµένη. Σε ένα τέτοιο περιβάλλον η διακίνηση της πληροφορίας είναι βασικά ελεύθερη, οι δε κανόνες της διακίνησης αυτής καθορίζονται αποκλειστικά και µόνο από τους ιδιοκτήτες (ή παραγωγούς) της πληροφορίας. Επειδή οι χρήστες σε ένα τέτοιο περιβάλλον ανήκουν συνήθως σε οµάδες (ερευνητικές οµάδες, τµήµατα, τοµείς κτλ.), η απόφαση χορήγησης ή όχι άδειας προσπέλασης βασίζεται µόνο στην ταυτότητα των χρηστών ή/και των οµάδων στις οποίες αυτοί ανήκουν. Επιπλέον, η παροχή και ανάκληση δικαιωµάτων πρσπέλασης, όπως και η δυνατότητα ενός χρήστη που έχει ήδη κάποιο συγκεκριµένο δικαίωµα προσπέλασης να το µεταβιβάσει σε έναν άλλο χρήστη (πιθανόν έµµεσα), επαφίεται στη διακριτική ευχέρεια του χρήστη, χωρίς να απαιτείται η διαµεσολάβηση του διαχειριστή συστήµατος. Μια τέτοια πολιτική ελέγχου προσπέλασης αναφέρεται ως πολιτική ∆ιακριτικού Ελέγχου Προσπέλασης (Discretionary Access Control – DAC). Οι πολιτικές MAC και DAC χρονικά ήταν οι πρώτες που διαµορφώθηκαν και µελετήθηκαν. Όπως είπαµε, αποτελούν δύο αντίθετα άκρα. Υπάρχουν όµως και πολλές περιπτώσεις όπου οι πραγµατικές ανάγκες του οργανισµού ή της επιχείρησης στην οποία λειτουργεί το πληροφοριακό σύστηµα δεν µπορούν να καλυφθούν µε µία από τις δύο αυτές πολιτικές. Πράγµατι, σε πολλούς οργανισµούς ο πραγµατικός ιδιοκτήτης της πληροφορίας στην οποία έχει δικαίωµα προσπέλασης ο τελικός χρήστης δεν είναι ο χρήστης αλλά ο οργανισµός. Επιπλέον, η απόφαση για τη χορήγηση ή όχι άδειας προσπέλασης είναι συνήθως συνάρτηση του ρόλου που ο χρήστης έχει µέσα στον οργανισµό και όχι του ποιος είναι ο χρήστης. Η έννοια του ρόλου συµπεριλαµβάνει τα καθήκοντα, τις αρµοδιότητες, αλλά και τα προσόντα που κάποιος έχει. Για παράδειγµα, ρόλοι που κάποιος µπορεί να βρει σε ένα νοσοκοµείο είναι «γιατρός», «νοσοκόµος», «φαρµακοποιός», «διοικητικός υπάλληλος». Ρόλοι που κάποιος µπορεί να βρει σε µια τράπεζα είναι «ταµίας», «προϊστάµενος χορηγήσεων», «λογιστής». Κάθε ρόλος µπορεί να θεωρηθεί ότι είναι ένα σύνολο ενεργειών που ένας χρήστης µπορεί να κάνει. Οι ενέργειες αυτές καθορίζονται, για κάθε ρόλο, από το διαχειριστή συστήµατος. Τέτοιες ενέργειες περιλαµβάνουν, για παράδειγµα, τη δυνατότητα του γιατρού να εισαγάγει µια διάγνωση στο 5.2 ¶√§π∆π∫∂™ ∂§∂°Ã√À ¶ƒ√™¶∂§∞™∏™ 127 σύστηµα, να συνταγογραφήσει και να προσθέσει εγγραφή σε αρχείο θεραπείας ασθενούς. Ο ρόλος του φαρµακοποιού περιλαµβάνει τις ενέργειες τις σχετικές µε τη χορήγηση φαρµάκων, αλλά όχι µε τον καθορισµό της φαρµακευτικής αγωγής. Η ιδιότητα του µέλους ενός ρόλου επίσης καθορίζεται από το διαχειριστή του συστήµατος. Η πολιτική Ρολο–Κεντρικού Ελέγχου Προσπέλασης (Role–based Access Control – RBAC) βασίζει τις αποφάσεις προσπέλασης στις ενέργειες που ένας χρήστης επιτρέπεται να εκτελέσει, ενώ δεν ανήκει στη διακριτική ευχέρει των χρηστών η µεταβίβαση δικαιωµάτων προσπέλασης σε άλλους χρήστες, αφού ένας γιατρός µπορεί να συνταγογραφήσει, αλλά δεν µπορεί να µεταβιβάσει το δικαίωµα αυτό σε µια νοσοκόµα. Αυτή είναι και η θεµελιώδης διαφορά µεταξύ των πολιτικών DAC και RBAC. Φανταστείτε τώρα µια εταιρεία συµβούλων. Η εταιρεία αυτή παρέχει συµβουλές επιχειρηµατικής φύσης σε µια σωρεία εταιρειών, διαφορετικής φύσης, καθεµία από τις οποίες έχει και το πληροφοριακό της σύστηµα. Για να είναι αποτελεσµατική η εταιρεία συµβούλων, πρέπει προφανώς να έχει πρόσβαση στις επιχειρηµατικές πληροφορίες των πελατών της. Από την άλλη µεριά, αν έχει ήδη ως πελάτη µια εταιρεία καλλυντικών, δεν πρέπει να έχει ταυτόχρονα ως πελάτη και µια άλλη, ανταγωνιστική της πρώτης, εταιρεία του ίδιου κλάδου. Ακόµη και για κάποιο χρονικό διάστηµα µετά τη λήξη της πελατειακής σχέσης, η εταιρεία συµβούλων δε θα πρέπει να µπορεί να έχει πρόσβαση σε επιχειρηµατικές πληροφορίες άλλων εταιρειών καλλυντικών. Η πολιτική του Σινικού Τείχους (Chinese Wall Access Control – CWAC) διαµορφώθηκε για να καλύψει την ανάγκη αυτή. Σύµφωνα µε την πολιτική αυτή, η πληροφορία διακρίνεται σε δηµόσια και εταιρική. Ενώ η ανάγνωση δηµόσιας πληροφορίας είναι βασικά ελεύθερη, η ανάγνωση εταιρικής πληροφορίας υπόκειται σε υποχρεωτικούς ελέγχους. Η απόφαση για χορήγηση άδειας εγγραφής δηµόσιας ή εταιρικής πληροφορίας προκύπτει, όπως και στην πολιτική MAC, από τις συνέπειες της πιθανής παροχής έµµεσης προσπέλασης ανάγνωσης, που παραβιάζει τους κανόνες προσπέλασης ανάγνωσης. Γιατί διακρίνουµε την πληροφορία σε δηµόσια και εταιρική; Μα ένα πληροφοριακό σύστηµα που χρησιµοποιείται για υπηρεσίες συµβούλου αναπόφευκτα θα χρησιµοποιεί µεγάλες δηµόσιες βάσεις δεδοµένων. Επιπλέον, η ύπαρξη δηµόσιας πληροφορίας επιτρέπει στο πληροφοριακό σύστηµα να παρέχει διάφορες δηµοφιλείς υπηρεσίες, όπως δηµόσιους πίνακες ανακοινώσεων και ηλεκτρονικό ταχυδροµείο, υπηρεσίες που οι χρήστες περιµένουν να βρουν διαθέσιµες σε κάθε σύγχρονο πληροφοριακό σύστηµα. Η δηµόσια πληροφορία µπορεί να αναγνωστεί απ’ όλους τους 128 KEºA§AIO 5: ∂§∂°Ã√™ ¶ƒ√™¶∂§∞™∏™ χρήστες, µε µόνη επιφύλαξη την εφαρµογή της πολιτικής DAC. Η εταιρική πληροφορία κατηγοριοποιείται σε µη αλληλοκαλυπτόµενες κλάσεις αντικρουόµενων συµφερόντων. Κάθε εαιρεία ανήκει σε ακριβώς µία κλάση αντικρουόµενων συµφερόντων. Η πολιτική του Σινικού Τείχους απαιτεί ότι ένας σύµβουλος δε θα πρέπει να µπορεί να διαβάσει πληροφορίες για περισσότερες από µία εταιρείες σε κάθε δεδοµένη κλάση αντικρουόµενων συµφερόντων. Για να γίνει πιο κατανοητή η απαίτηση αυτή, ας υποθέσουµε ότι µια κλάση αποτελείται από τράπεζες και µια άλλη κλάση από εταιρείες καλλυντικών. Η απαίτηση της πολιτικής είναι ότι ο ίδιος σύµβουλος δεν πρέπει να έχει προσπέλαση ανάγνωσης πληροφοριών σε πληροφοριακά συστήµατα περισσότερων από µία τραπεζών ή περισσότερων από µία εταιρειών καλλυντικών. Η πολιτική Σινικού Τείχους είναι µείγµα ελεύθερης επιλογής και υποχρεωτικών περιορισµών. Όσο ένας σύµβουλος δεν έχει ακόµη διαβάσει καθόλου εταιρική πληροφορία σχετική µε τράπεζες, έχει τη δυνατότητα να διαβάσει εταιρική πληροφορία για οποιαδήποτε τράπεζα. Τη στιγµή όµως που ο σύµβουλος θα διαβάσει πληροφορίες για µια συγκεκριµένη τράπεζα, θα πρέπει να του απαγορευτεί η προσπέλαση σε εταιρική πληροφορία οποιασδήποτε άλλης τράπεζας. Η ελεύθερη επιλογή της πρώτης εταιρείας σε µια κλάση αντικρουόµενων συµφερόντων µπορεί να ασκηθεί µόνο µια φορά και µετά χάνεται για πάντα (ή, τουλάχιστον, για κάποιο µεγάλο χρονικό διάστηµα). Συνοπτικά, οι κανόνες απόφασης για τη χορήγηση άδειας προσπέλασης στην πολιτική CWAC µπορούν να διατυπωθούν ως εξής. Άδεια προσπέλασης χορηγείται αν: • η πληροφορία την οποία αφορά ανήκει στην ίδια κλάση αντικρουόµενων συµφερόντων µε κάποια άλλη πληροφορία που ήδη έχει προσπελάσει ο ίδιος χρήστης ή σε κλάση αντικρουόµενων συµφερόντων για την οποία ο χρήστης δεν έχει ακόµη αποκτήσει άδεια προσπέλασης και • δεν είναι δυνατόν να αναγνωστεί πληροφορία που ανήκει σε διαφορετική κλάση αντικρουόµενων συµφερόντων απ’ αυτή για την οποία ζητείται άδεια εγγραφής. 5.2 ¶√§π∆π∫∂™ ∂§∂°Ã√À ¶ƒ√™¶∂§∞™∏™ 129 ÕÛÎËÛË A˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 5.2 Αντιστοιχίστε τις πολιτικές ελέγχου προσπέλασης της αριστερής στήλης µε τα περιβάλλοντα της δεξιάς στήλης: 1. MAC 2. DAC 3. RBAC 4. CWAC 1. Πανεπιστήµιο 2. Νοσοκοµείο 3. Υπουργείο Άµυνας 4. Σύµβουλοι επιχειρήσεων ¢Ú·ÛÙËÚÈfiÙËÙ· 5.3 Περιγράψτε την πολιτική ελέγχου προσπέλασης του λειτουργικού συστήµατος Unix. ¢Ú·ÛÙËÚÈfiÙËÙ· 5.4 Περιγράψτε την πολιτική ελέγχου προσπέλασης το λειτουργικού συστήµατος Windows NT. ¢Ú·ÛÙËÚÈfiÙËÙ· 5.5 ∆ώστε από ένα παράδειγµα πληροφοριακού συστήµατος (διαφορετικά απ’ αυτά που συζητήσαµε) για καθεµία από τις τέσσερις πολιτικές ελέγχου προσπέλασης του κεφαλαίου. ¢Ú·ÛÙËÚÈfiÙËÙ· 5.6 Πώς θα µπορούσε να υποβιβαστεί ο βαθµός ευαισθησίας µιας πληροφορίας µέσω εγγραφής σε πληροφορία χαµηλότερου βαθµού ευαισθησίας, αν χρησιµοποιείται η MAC; 130 KEºA§AIO 5: ∂§∂°Ã√™ ¶ƒ√™¶∂§∞™∏™ 5.3 ªÔÓ٤Ϸ ÂϤÁ¯Ô˘ ÚÔۤϷÛ˘ Στην προηγούµενη ενότητα είδαµε τέσσερις διαφορετικές πολιτικές ελέγχου προσπέλασης. Αναφερθήκαµε στις πολιτικές αυτές περιγραφικά. Μερικές φορές είναι όµως χρήσιµο, ή και απαραίτητο, να µπορούµε να εκφράσουµε τις πολιτικές και µε µαθηµατικό φορµαλισµό, επειδή, για παράδειγµα, θέλουµε να µπορούµε να αποδείξουµε κάποιες ιδιότητές τους. Για το λόγο αυτό αναπτύχθηκαν, κατά καιρούς, αρκετά φορµαλιστικά µοντέλα πολιτικών ελέγχου προσπέλασης. Τα µοντέλα αυτά µπορούν να κατηγοριοποιηθούν µε διάφορους τρόπους. Ο τρόπος που διάλεξα εγώ είναι να τα κατηγοριοποιήσω ανάλογα µε το µαθηµατικό τους υπόβαθρο και ανάλογα µε τη λειτουργικότητά τους. Θα αρχίσω, λοιπόν, µε τη συζήτηση του µαθηµατικού υπόβαθρου κάποιων απ’ αυτά τα µοντέλα και υπόσχοµαι να κρατήσω το φορµαλισµό αυστηρά στα απαραίτητα –και µόνο– επίπεδα. Ευνόητο είναι ότι οι ενδιαφερόµενοι για περισσότερες µαθηµατικές λεπτοµέρειες αναγνώστες θα πρέπει να ανατρέξουν στη σχετική βιβλιογραφία που παρατίθεται στο τέλος του κεφαλαίου. 5.3.1 ¢ÈÎÙ˘ÒÌ·Ù· ∆ικτύωµα είναι µια µαθηµατική κατασκευή που αποτελείται από στοιχεία και από ένα σχεσιακό τελεστή. Τα στοιχεία του δικτυώµατος µπορούν να διαταχθούν µε µια µερική διάταξη £. Μερική διάταξη είναι µια σχέση που έχει τη µεταβατική και την αντισυµµετρική ιδιότητα. Λέµε ότι το στοιχείο b κυριαρχεί του a αν a £ b. Σε ένα δικτύωµα όµως δεν είναι απαραίτητο όλα τα στοιχεία να είναι ανά δύο συγκρίσιµα. Υπάρχουν δηλαδή στοιχεία a και b για τα οποία δεν ισχύει η σχέση a £ b, αλλά ούτε και η σχέση b £ a. Ωστόσο, για κάθε ζεύγος στοιχείων υπάρχει ένα πάνω φράγµα, δηλαδή ένα στοιχείο τουλάχιστον ίσο µε το a και το b. Έτσι, αν και τα a και b είναι δυνατόν να µην είναι συγκρίσιµα µε τη σχέση £, στο δικτύωµα υπάρχει ένα πάνω φράγµα u τέτοιο ώστε a £ u και b £ u. Αντίστοιχα, υπάρχει και κάτω φράγµα. Η κατασκευή ολοκληρώνεται µε τον ορισµό ενός τελεστή ένωσης, ο οποίος συµβολίζεται µε το σύµβολο ≈ και καθορίζει πώς ορίζεται η ένωση δύο στοιχείων του δικτυώµατος. 5.3.2 ªÔÓÙ¤ÏÔ Bell–LaPadula Θεωρήστε ένα σύστηµα µε ένα σύνολο υποκειµένων S και ένα σύνολο αντικειµένων O. Κάθε υποκείµενο s Œ S και κάθε αντικείµενο o Œ O έχουν, αντίστοιχα, διαβάθµιση C(s) και C(o). Οι διαβαθµίσεις αυτές διατάσσονται µε µια σχέση £ και µπορούν, αν και δεν είναι απαραίτητο, να σχηµατίζουν δικτύωµα. 5.3 ª√¡∆∂§∞ ∂§∂°Ã√À ¶ƒ√™¶∂§∞™∏™ 131 ∆ύο ιδιότητες εξασφαλίζουν την ασφαλή ροή πληροφορίας. Η πρώτη, γνωστή και ως απλή ιδιότητα ασφάλειας, ορίζει ότι «ένα υποκείµενο s µπορεί να αποκτήσει άδεια προσπέλασης ανάγνωσης ενός αντικειµένου ο µόνο αν C(o) £ C(s)». Η δεύτερη, γνωστή και ως ιδιότητα *, ορίζει ότι «ένα υποκείµενο s που έχει άδεια προσπέλασης ανάγνωσης σε ένα αντικείµενο ο µπορεί να αποκτήσει άδεια προσπέλασης εγγραφής σε άλλο αντικείµενο p µόνο αν C(o) £ C(p)». Το µοντέλο συµπληρώνεται µε τον ορισµό του τελεστή ένωσης, ο οποίος ορίζεται ως A ≈ B = max {A,B}. Το µοντέλο Bell–LaPadula µπορεί να περιγράψει φορµαλιστικά την πολιτική MAC ως προς την εµπιστευτικότητα. 5.3.3 ªÔÓÙ¤ÏÔ Biba Το µοντέλο Bell–LaPadula αναφέρεται µόνο στην εµπιστευτικότητα της πληροφορίας. Ο Biba κατασκεύασε ένα αντίστοιχο µοντέλο που αναφέρεται στην ακεραιότητα της πληροφορίας. Το µοντέλο Biba είναι δυϊκό του µοντέλου Bell–LaPadula, µε την έννοια ότι ορίζει βαθµούς ακεραιότητας της πληροφορίας ανάλογους µε τους βαθµούς ευαισθησίας. Τα υποκείµενα και τα αντικείµενα διατάσσονται µε µια µερική σχέση διάταξης ≥. Αντίστοιχα, ορίζεται η διαβάθµιση ακεραιότητας των υποκειµένων I(s) και των αντικειµένων I(o). Οι δύο ιδιότητες του µοντέλου Biba εκφράζονται ως εξής: Η απλή ιδιότητα ακεραιότητας ορίζει ότι «ένα υποκείµενο s µπορεί να αποκτήσει άδεια εγγραφής ενός αντικειµένου ο µόνο αν I(s) ≥ I(o)». Αντίστοιχα, η ιδιότητα ακεραιότητας* ορίζει ότι «ένα υποκείµενο s που έχει άδεια προσπέλασης ανάγνωσης σε ένα αντικείµενο ο µπορεί να αποκτήσει άδεια προσπέλασης εγγραφής σε άλλο αντικείµενο p µόνο αν I(o) ≥ I(p)». Το µοντέλο συµπληρώνεται µε τον ορισµό του τελεστή ένωσης, ο οποίος ορίζεται ως A ≈ B = max {A,B}. Το µοντέλο Biba µπορεί να περιγράψει φορµαλιστικά την πολιτική MAC ως προς την ακεραιότητα. 5.3.4 ªÔÓÙ¤ÏÔ ™ÈÓÈÎÔ‡ ∆›¯Ô˘˜ Αν και η αρχική διατύπωση του µοντέλου αυτού δεν έγινε φορµαλιστικά, ο Sandhu απέδειξε ότι ένα δικτύωµα µπορεί να χρησιµοποιηθεί για το σκοπό αυτό. 132 KEºA§AIO 5: ∂§∂°Ã√™ ¶ƒ√™¶∂§∞™∏™ Πράγµατι, ας θεωρήσουµε ένα σύστηµα µε n κλάσεις αντικρουόµενων συµφερόντων, που τις συµβολίζουµε ως COI1, COI2,...,COIn. Καθεµιά απ’ αυτές περιέχει mi εταιρείες, έτσι ώστε COIi = {1, 2,..., mi}, i = 1, 2,..., n. Κάθε αντικείµενο χαρακτηρίζεται από ένα n–άνυσµα µε τα ονόµατα των εταιρειών των οποίων περιέχει πληροφορία. Έτσι, ένα αντικείµενο που περιέχει πληροφορία για την τράπεζα Α και την εταιρεία καλλυντικών ΕΚ χαρακτηρίζεται από το διάνυσµα {τράπεζα Α, εταιρεία καλλυντικών ΕΚ}. (Υποθέτουµε ότι οι τράπεζες και οι εταιρείες καλλυντικών ανήκουν σε διαφορετικές κλάσεις αντικρουόµενων συµφερόντων.) Εποµένως, για παράδειγµα, το 3–άνυσµα {τράπεζα Α, τράπεζα Β, εταιρεία καλλυντικών ΕΚ} παραβιάζει την πολιτική CWAC. Απαγορεύουµε, λοιπόν, την ύπαρξη τέτοιων n–ανυσµάτων ορίζοντας το βαθµό ασφάλειας ως ένα n–άνυσµα [i1, i2,..., in], όπου ik Œ COIk ή ik = ^, k = 1,..., n. Το σύµβολο ^ σηµαίνει «κενό». Η σχέση διάταξης µεταξύ βαθµών ασφάλειας ορίζεται ως εξής: Ο βαθµός ασφάλειας l1 = [l11, l12,..., l1n] κυριαρχεί του βαθµού ασφάλειας l2 = l21, l22,..., l2n (γράφουµε l1 ≥ l2), αν l1 = l2 Ú l2i = ^, i = 1, 2,..., n. Είναι εύκολο να βρούµε το κάτω φράγµα του δικτυώµατος. Πράγµατι, ο βαθµός ασφάλειας που έχει όλα τα στοιχεία ίσα µε ^ αποτελεί το κάτω φράγµα και αντιστοιχεί µε δηµόσια πληροφορία. Όµως δεν είναι εύκολο να ορίσουµε το άνω φράγµα του δικτυώµατος, γιατί η ύπαρξη ενός τέτοιου φράγµατος θα αντέκρουε την ίδια την πολιτική CWAC. Ωστόσο, µπορούµε να ορίσουµε έναν τέτοιο βαθµό ασφάλειας χωρίς να χαρακτηρίσουµε κανένα αντικείµενο του συστήµατος µ’ αυτόν. Εξ ορισµού, λοιπόν, ο βαθµός αυτός κυριαρχεί όλων των άλλων. Για να συµπληρώσουµε τη δοµή του δικτυώµατος, χρειαζόµαστε και τον τελεστή ένωσης. Λέµε ότι δύο βαθµοί ασφάλειας l1 = [l11, l12,..., l1n] και l2 = [l21, l22,..., l2n] είναι συµβατοί, αν l1i = l2i Ú l1i = ^ Ú l2i = ^, i = 1, 2,..., n. Είναι φανερό ότι συγκρίσιµοι βαθµοί ασφάλειας είναι συµβατοί. Αντίθετα, µη συγκρίσιµοι βαθµοί ασφάλειας µπορεί να είναι ή να µην είναι συµβατοί. Μη συµβατοί βαθµοί ασφάλειας δεν µπορούν να συνδυαστούν στην πολιτική CWAC. Η απαίτηση αυτή εκφράζεται φορµαλιστικά ορίζοντας ότι, αν ο l1 είναι µη συµβατός µε τον l2, τότε l1 ≈ l2 = Syshigh, όπου Syshigh ένας ψευδοβαθµός ασφάλειας που δεν αντιπροσωπεύει κανένα υποκείµενο ή αντικείµενο του συστήµατος, αλλά κυριαρχεί όλων των άλλων βαθµών ασφάλειας. Για συµβατούς βαθµούς, το k–στό στοιχείο της ένωσης υπολογίζεται ως εξής: (l1 ≈ l2)k = if l1k π ^ thenl1k elsel2k. 5.3.5 ªÔÓÙ¤ÏÔ Clark–Wilson Το µοντέλο αυτό χρησιµοποιήθηκε για να περιγράψει µη στρατιωτικές πολιτικές 5.3 ª√¡∆∂§∞ ∂§∂°Ã√À ¶ƒ√™¶∂§∞™∏™ 133 ελέγχου προσπέλασης, όπως είναι η πολιτική DAC, αναφέρεται δε στην ακεραιότητα της πληροφορίας. Πιο συγκεκριµένα, ο σκοπός του µοντέλου είναι να εξασφαλίσει ότι η εσωτερική πληροφορία του συστήµατος είναι συνεπής σε σχέση µε τις προσδοκίες των εξωτερικών χρηστών. Στα, µη στρατιωτικά, εµπορικά περιβάλλοντα η ακεραιότητα είναι –τουλάχιστον– εξίσου σηµαντική µε την εµπιστευτικότητα. Οι Clark και Wilson πρότειναν ένα µοντέλο πολιτικής ελέγχου προσπέλασης βασισµένο σ’ αυτό που ονοµάζουν καλά σχηµατισµένη συναλλαγή, η οποία είναι µια ολοκληρωµένη ενέργεια, που αποτελείται από βήµατα τα οποία εκτελούνται επακριβώς και µε τη σωστή σειρά από κατάλληλα εξουσιοδοτηµένους και ταυτοποιηµένους χρήστες. Η πολιτική παρουσιάζεται συναρτήσει δεδοµένων υπό περιορισµούς, τα οποία υφίστανται επεξεργασία από διαδικασίες µετασχηµατισµού. Οι διαδικασίες αυτές µοιάζουν µε µηχανισµούς παρακολούθησης, µε την έννοια ότι εκτελούν µόνο συγκεκριµένες λειτουργίες επί συγκεκριµένων δεδοµένων, τα οποία µπορούν να τύχουν επεξεργασίας µόνο από τέτοιες διαδικασίες. Οι διαδικασίες επαλήθευσης ακεραιότητας εξασφαλίζουν τη διατήρηση της ακεραιότητας των δεδοµένων. Οι Clark και Wilson πρότειναν τον ορισµό της πολιτικής συναρτήσει τρισδιάστατων διανυσµάτων προσπέλασης, που αποτελούνται από την ταυτότητα χρήστη, τη διαδικασία µετασχηµατισµού και τα δεδοµένα. Το µοντέλο χρησιµοποιεί πέντε κανόνες πιστοποίησης: • Οι διαδικασίες επαλήθευσης ακεραιότητας πρέπει να εξασφαλίζουν το γεγονός ότι όλα τα δεδοµένα υπό περιορισµούς βρίσκονται σε έγκυρη κατάσταση, όταν εκτελείται η διαδικασία επαλήθευσης ακεραιότητας. • Οι διαδικασίες µετασχηµατισµού πρέπει να είναι πιστοποιηµένα έγκυρες, δηλαδή έγκυρα δεδοµένα υπό περιορισµούς πάντα µετασχηµατίζονται σε έγκυρα δεδοµένα υπό περιορισµούς. Κάθε διαδικασία µετασχηµατισµού είναι πιστοποιηµένη για προσπέλαση ενός συγκεκριµένου συνόλου δεδοµένων υπό περιορισµούς. • Οι κανόνες προσπέλασης πρέπει να ικανοποιούν τις απαιτήσεις της αρχής διαχωρισµού καθηκόντων. • Όλες οι διαδικασίες µετασχηµατισµού πρέπει να κάνουν προσθετικές µόνο εγγραφές σε ένα ηµερολόγιο. • Κάθε διαδικασία µετασχηµατισµού που παίρνει δεδοµένα χωρίς περιορισµούς ως είσοδο πρέπει είτε να τα µετατρέψει σε δεδοµένα υπό περιορισµούς είτε να απορρίψει τα δεδοµένα χωρίς περιορισµούς και να µην κάνει κανένα µετασχηµατισµό. 134 KEºA§AIO 5: ∂§∂°Ã√™ ¶ƒ√™¶∂§∞™∏™ 5.3.6 ªÔÓ٤Ϸ ÔÏÈÙÈÎÒÓ RBAC Οι πολιτικές RBAC περιγράφονται φορµαλιστικά από µια οικογένεια τεσσάρων µοντέλων: το µοντέλο RBAC0 είναι το βασικό και περιέχει τις ελάχιστες απαιτήσεις ενός συστήµατος RBAC. Τα πιο πολύπλοκα µοντέλα RBAC1 και RBAC2 εµπεριέχουν το RBAC0, αλλά το RBAC1 προσθέτει ιεραρχίες ρόλων (καταστάσεις όπου οι ρόλοι µπορούν να κληρονοµήσουν άδειες από άλλους ρόλους) και το RBAC2 προσθέτει περιορισµούς (που περιορίζουν τις αποδεκτές συνθέσεις των διαφόρων συστατικών της πολιτικής RBAC). Τα µοντέλα RBAC1 και RBAC2 είναι µεταξύ τους µη συγκρίσιµα. Το συνολικό µοντέλο RBAC3 περιέχει τα RBAC1 και RBAC2 και –λόγω µεταβατικότητας– και το RBAC0. Φορµαλιστικά, το µοντέλο RBAC0 έχει τα εξής στοιχεία: • Τα σύνολα U, R, P και S (χρήστες, ρόλοι, δικαιώµατα και σύνοδοι, αντίστοιχα). • Μια σχέση ανάθεσης δικαιωµάτων σε ρόλους (PA). Πρόκειται για αντιστοιχία πολλά–προς–πολλά τέτοια ώστε PA Õ P ¥ R. • Μια σχέση ανάθεσης ρόλων σε χρήστες ( UA). Πρόκειται για αντιστοιχία πολλά–προς–πολλά τέτοια ώστε UA Õ U ¥ R. • Μια συνάρτηση user: S Æ U, που αντιστοιχεί κάθε σύνοδο si στο µοναδικό χρήστη user(si) (σταθερό για τη διάρκεια ζωής της συνόδου). • Μια συνάρτηση roles:S Æ 2R, που αντιστοιχεί κάθε σύνοδο si σε ένα σύνολο ρόλων roles(si) Õ {r | [user(si), r] Œ UA} (που µπορεί να µεταβάλλεται χρονικά) µε τη σύνοδο si να έχει τα δικαιώµατα » r Œroles( si ) p | ( p, r ) Œ PA . Το µοντέλο RBAC1 έχει τα εξής στοιχεία: • Τα στοιχεία U, R, P, S, PA, UA και user, όπως στο RBAC0. • Μια µερική διάταξη του R, την RH Õ R ¥ R, που ονοµάζεται ιεραρχία ρόλων ή σχέση κυριαρχίας ρόλων και που συµβολίζεται επίσης µε το σύµβολο ≥. • Μια τροποποιηµένη µορφή της συνάρτησης roles του µοντέλου RBAC0, που τώρα ορίζεται ως roles( si ) Õ r | $r ¢ ≥ r (user ( si ), r ¢ ) ŒUA , που µπορεί να µεταβάλλεται χρονικά, και τέτοια ώστε η σύνοδος si να έχει τα δικαιώµατα » r Œroles( si ) p | ( $r ¢¢ £ r )[( p, r ¢¢ ) Œ PA] . Τέλος, το µοντέλο RBAC3 είναι ίδιο µε το RBAC0, µόνο που επιτρέπει την ύπαρξη περιορισµών ως προς την αποδοχή των διαφόρων στοιχείων του RBAC0. Επιτρέ- { } {( )[ } { } 5.3 ª√¡∆∂§∞ ∂§∂°Ã√À ¶ƒ√™¶∂§∞™∏™ 135 πονται, βέβαια, µόνο αποδεκτές τιµές των στοιχείων. 5.3.7 ªÔÓÙ¤ÏÔ Graham–Denning Το µοντέλο αυτό χρησιµοποιεί οκτώ βασικές πράξεις για να ελέγξει τη ροή πληροφοριών µεταξύ υποκειµένων και αντικειµένων σ’ ένα σύστηµα: • ∆ηµιουργία αντικειµένου. Με την πράξη αυτή ένα υποκείµενο µπορεί να δηµιουργήσει ένα νέο αντικείµενο. • ∆ηµιουργία υποκειµένου. Με την πράξη αυτή ένα υποκείµενο µπορεί να δηµιουργήσει ένα νέο υποκείµενο. • ∆ιαγραφή υποκειµένου. Με την πράξη αυτή ένα υποκείµενο µπορεί να διαγράψει ένα υποκείµενο. • ∆ιαγραφή αντικειµένου. Με την πράξη αυτή ένα υποκείµενο µπορεί να διαγράψει ένα αντικείµενο. • Ανάγνωση δικαιώµατος προσπέλασης. Με την πράξη αυτή ένα υποκείµενο µπορεί να πληροφορηθεί τα δικαιώµατα ανάγνωσης ενός άλλου υποκειµένου (ή του εαυτού του) σε κάποιο αντικείµενο. • Παραχώρηση δικαιώµατος προσπέλασης. Με την πράξη αυτή ο ιδιοκτήτης ενός αντικειµένου καθορίζει τα δικαιώµατα προσπέλασης οποιουδήποτε άλλου υποκειµένου στο αντικείµενο. • Ανάκληση δικαιώµατος προσπέλασης. Με την πράξη αυτή ο ιδιοκτήτης ενός αντικειµένου αίρει τα δικαιώµατα προσπέλασης οποιουδήποτε άλλου υποκειµένου στο αντικείµενο. • Μεταβίβαση δικαιώµατος προσπέλασης. Με την πράξη αυτή ένα υποκείµενο µπορεί να µεταβιβάσει τα δικαιώµατα προσπέλασης που έχει σε κάποιο αντικείµενο σε άλλο υποκείµενο. Τα δικαιώµατα που µεταβιβάζονται µπορούν να είναι περαιτέρω µεταβιβάσιµα ή όχι. 5.3.8 ªÔÓÙ¤ÏÔ Harrison–Ruzzo–Ullman Το µοντέλο αυτό αποτελεί γενίκευση του προηγούµενου και βασίζεται σε έξι βασικές πράξεις: • ∆ηµιουργία αντικειµένου. Με την πράξη αυτή ένα υποκείµενο µπορεί να δηµιουργήσει ένα νέο αντικείµενο. • ∆ηµιουργία υποκειµένου. Με την πράξη αυτή ένα υποκείµενο µπορεί να δηµι- 136 KEºA§AIO 5: ∂§∂°Ã√™ ¶ƒ√™¶∂§∞™∏™ ουργήσει ένα νέο υποκείµενο. • ∆ιαγραφή υποκειµένου. Με την πράξη αυτή ένα υποκείµενο µπορεί να διαγράψει ένα υποκείµενο. • ∆ιαγραφή αντικειµένου. Με την πράξη αυτή ένα υποκείµενο µπορεί να διαγράψει ένα αντικείµενο. • Παραχώρηση δικαιώµατος προσπέλασης. Με την πράξη αυτή ο ιδιοκτήτης ενός αντικειµένου καθορίζει τα δικαιώµατα προσπέλασης οποιουδήποτε άλλου υποκειµένου στο αντικείµενο. • Ανάκληση δικαιώµατος προσπέλασης. Με την πράξη αυτή ο ιδιοκτήτης ενός αντικειµένου αίρει τα δικαιώµατα προσπέλασης οποιουδήποτε άλλου υποκειµένου στο αντικείµενο. 5.3.9 ªÔÓÙ¤ÏÔ ·Ó¿ÎÏËÛ˘–·Ú·¯ÒÚËÛ˘ (Take–Grant) Η µαθηµατική δοµή που χρησιµοποιεί το µοντέλο αυτό είναι ο κατευθυνόµενος γράφος. Στο γράφο του µοντέλου κάθε υποκείµενο είναι κόµβος, που συµβολίζεται µε ένα ορθογώνιο, κάθε αντικείµενο είναι επίσης κόµβος, που συµβολίζεται όµως µε κύκλο, και κάθε πράξη είναι ακµή µε κατεύθυνση από το υποκείµενο προς το αντικείµενο και µε αξία τα δικαιώµατα προσπέλασης του υποκειµένου στο αντικείµενο. Το µοντέλο υποστηρίζει τις εξής πράξεις: • ∆ηµιουργία αντικειµένου. Με την πράξη αυτή ένα υποκείµενο µπορεί να δηµιουργήσει ένα νέο αντικείµενο. • Ανάκληση δικαιώµατος προσπέλασης. Με την πράξη αυτή αίρονται τα δικαιώµατα προσπέλασης οποιουδήποτε υποκειµένου σε οποιοδήποτε αντικείµενο. • Παραχώρηση δικαιώµατος προσπέλασης. Με την πράξη αυτή το υποκείµενο που έχει δικαίωµα προσπέλασης σε ένα αντικείµενο παραχωρεί σ’ αυτό (που τώρα γίνεται υποκείµενο) το δικαίωµα προσπέλασης που έχει σε άλλο αντικείµενο. • Ανάκληση δικαιώµατος προσπέλασης. Με την πράξη αυτή αναιρείται η παραχώρηση δικαιώµατος προσπέλασης. 5.3 ª√¡∆∂§∞ ∂§∂°Ã√À ¶ƒ√™¶∂§∞™∏™ 137 ÕÛÎËÛË A˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 5.3 Χαρακτηρίστε τις παρακάτω προτάσεις ως σωστές ή λάθος: Σωστό 1. Όλες οι πολιτικές ελέγχου προσπέλασης µπορούν να περιγραφούν φορµαλιστικά χρησιµοποιώντας δικτυώµατα. 2. Τα µοντέλα Bell–LaPadula και Βiba είναι δυϊκά. 3. Το µοντέλο σινικού τείχους περιγράφεται από δικτύωµα. 4. Το µοντέλο Clark–Wilson αναφέρεται στην ακεραιότητα της πληροφορίας σε πολιτικές MAC. 5. Τα µοντέλα RBAC0–RBAC3 συνδέονται µε ιεραρχική σχέση. 6. Το µοντέλο Harrison–Ruzzo–Ullman είναι γενίκευση του µοντέλου Graham–Denning. ❏ ❏ ❏ ❏ ❏ ❏ Λάθος ❏ ❏ ❏ ❏ ❏ ❏ ÕÛÎËÛË A˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 5.4 Ένας χρήστης συστήµατος στο οποίο ισχύει η πολιτική MAC έχει διαβάθµιση <απόρρητος;{σκύλοι, γάτες, γουρούνια}>. Ο συµβολισµός αυτός σηµαίνει ότι ο χρήστης έχει βαθµό εµπιστοσύνης απόρρητο για τα διαµερίσµατα πληροφορίας σκύλοι, γάτες και γουρούνια. Σε ποια από τα παρακάτω αντικείµενα έχει δικαίωµα προσπέλασης; 1. <άκρως απόρρητο; {σκύλοι}> 2. <απόρρητο; {σκύλοι}> 3. <απόρρητο; {σκύλοι, αγελάδες}> 4. <απόρρητο; {ελάφια}> 5. <εµπιστευτικό; {σκύλοι, γουρούνια, γάτες}> 6. <εµπιστευτικό; {ελάφια}> 138 KEºA§AIO 5: ∂§∂°Ã√™ ¶ƒ√™¶∂§∞™∏™ ¢Ú·ÛÙËÚÈfiÙËÙ· 5.7 Υπάρχει και µια ακόµη αρχή του µοντέλου Bell–LaPadula, που δεν την αναφέραµε. Η αρχή αυτή, που ονοµάζεται αρχή της ηρεµίας (tranquillity principle), ορίζει ότι η διαβάθµιση ενός υποκειµένου ή αντικειµένου δεν αλλάζει όσο γίνεται αναφορά σ’ αυτό. Εξηγήστε την αναγκαιότητα της αρχής αυτής. ¢Ú·ÛÙËÚÈfiÙËÙ· 5.8 Συνδυάστε τις πολιτικές Bell–LaPadula και Biba και σχεδιάστε µια πολιτική που θα εξασφαλίζει και την εµπιστευτικότητα και την ακεραιότητα των αντικειµένων. Περιγράψτε φορµαλιστικά τους κανόνες της πολιτικής αυτής. 5.4 ªË¯·ÓÈÛÌÔ› ÂϤÁ¯Ô˘ ÚÔۤϷÛ˘ Αφού είδαµε τις διάφορες πολιτικές ελέγχου προσπέλασης και τα φορµαλιστικά µοντέλα που τις περιγράφουν, θα κλείσουµε τη συζήτησή µας στο κεφάλαιο αυτό µε µια παρουσίαση των µηχανισµών που µπορούµε να χρησιµοποιήσουµε για να υλοποιήσουµε κάποια, οποιαδήποτε, πολιτική ελέγχου προσπέλασης. Η παρουσίαση αυτή θα γίνει σε σειρά αύξουσας πολυπλοκότητας, αλλά και –ταυτόχρονα– αύξουσας λειτουργικότητας των µηχανισµών. 5.4.1 ∂˘ÚÂÙ‹ÚÈ· Μια απλή δοµή ελέγχου προσπέλασης λειτουργεί όπως ένα ευρετήριο. Φανταστείτε ότι το σύνολο των αντικειµένων είναι αρχεία και το σύνολο των υποκειµένων χρήστες ενός υπολογιστικού συστήµατος. Κάθε αρχείο έχει ένα µοναδικό ιδιοκτήτη, ο οποίος έχει το δικαίωµα να καθορίζει τα δικαιώµατα προσπέλασης, συµπεριλαµβανοµένου του δικαιώµατος να καθορίζει ποιος έχει ποια δικαιώµατα και να αφαιρεί το δικαίωµα προσπέλασης από οποιονδήποτε, όποτε θέλει. Κάθε χρήστης έχει ένα ευρετήριο αρχείων, που περιέχει κατάλογο όλων των αρχείων για τα οποία ο χρήστης έχει κάποιο δικαίωµα προσπέλασης. Ένα παράδειγµα ευρετηρίου φαίνεται στο Σχήµα 5.1. 5.4 ª∏Ã∞¡π™ª√π ∂§∂°Ã√À ¶ƒ√™¶∂§∞™∏™ 139 Ευρετήριο Χρήστη Α Ευρετήριο Χρήστη B TEST.C TEST.EXE REFS.DOC LIST.TXT TEMP.XLS ORW OX ORW R ORW REFS.DOC PRIV.XLS LIST.TXT TEST1.EXE R ORW R OX ™¯‹Ì· 5.1 Ευρετήρια Προφανώς σε κανένα χρήστη δεν µπορεί να επιτρέπεται να κάνει εγγραφή στο ευρετήριο αρχείων, γιατί έτσι θα µπορούσε να παραχαράξει δικαιώµατα προσπέλασης σε κάποιο(–α) αρχείο(–α). Εποµένως, το λειτουργικό σύστηµα πρέπει να επιτρέπει την εκτέλεση πράεων σε όλα τα ευρετήρια αρχείων µόνο µε εντολές των ιδιοκτητών των αρχείων. Αυτό µπορεί να γίνει προσθέτοντας στα γνωστά δικαιώµατα προσπέλασης αρχείων (read – R, write – W, execute – X) ένα ακόµη δικαίωµα, το owner – O, που δίνεται στον ιδιοκτήτη και του επιτρέπει να χορηγεί και να αφαιρεί δικαιώµατα προσπέλασης. 140 KEºA§AIO 5: ∂§∂°Ã√™ ¶ƒ√™¶∂§∞™∏™ Η προσέγγιση αυτή υλοποιείται εύκολα, γιατί χρησιµοποιεί µια λίστα ανά χρήστη, λίστα που έχει καταγραµµένα όλα τα αντικείµενα τα οποία ο χρήστης επιτρέπεται να προσπελάσει. Ωστόσο, η λίστα γίνεται πολύ µεγάλη αν υπάρχουν πολλά αντικείµενα που πρέπει να είναι προσπελάσιµα από όλους τους χρήστες, όπως, για παράδειγµα, βιβλιοθήκες υποπρογραµµάτων. Τότε, το ευρετήριο κάθε χρήστη πρέπει να έχει µια εγγραφή για κάθε τέτοιο αντικείµενο, ακόµη και αν ο χρήστης δεν έχει την πρόθεση να το προσπελάσει. Μια άλλη δυσκολία είναι η αφαίρεση δικαιωµάτων προσπέλασης. Αν κάποιος ιδιοκτήτης ενός αρχείου έχει χορηγήσει σ’ ένα χρήστη δικαίωµα ανάγνωσης ενός αρχείου, θα γίνει µια εγγραφή για το αρχείο στο ευρετήριο του χρήστη. Η πράξη αυτή σηµαίνει ότι υπάρχει κάποια εµπιστοσύνη ανάµεσα στον ιδιοκτήτη και στο χρήστη. Αν, όµως, αργότερα ο ιδιοκτήτης χάσει την εµπιστοσύνη αυτή, µπορεί να θελήσει να αφαιρέσει το δικαίωµα προσπέλασης του χρήστη στο αρχείο. Το λειτουργικό σύστηµα µπορεί εύκολα να ικανοποιήσει τη µοναδική αίτηση διαγραφής του δικαιώµατος κάποιου χρήστη να προσπελάζει κάποιο αρχείο, γιατί αυτό απλώς σηµαίνει τη διαγραφή µιας εγγραφής από ένα συγκεκριµένο ευρετήριο. Μέχρι εδώ, λοιπόν, κανένα πρόβληµα. Αν, όµως, ο ιδιοκτήτης θελήσει να αφαιρέσει το δικαίωµα προσπέλασης από όλους όσοι έχουν το δικαίωµα να προσπελάζουν το αρχείο, το λειτουργικό σύστηµα πρέπει να ψάξει µέσα σε όλα τα ευρετήρια, πράγµα που µπορεί να πάρει πάρα πολύ χρόνο σε ένα µεγάλο σύστηµα. Για να γίνουν τα πράγµατα χειρότερα, σκεφτείτε ότι ο ιδιοκτήτης δεν έχει τρόπο να γνωρίζει αν ο χρήστης µεταβίβασε το δικαίωµα προσπέλασης του αρχείου και σε κάποιον άλλο. Το πρόβληµα αυτό είναι εντονότερο σε κατανεµηµένα συστήµατα. Μια τρίτη δυσκολία είναι τα ψευδώνυµα. Θεωρήστε δύο ιδιοκτήτες, Α και Β, που έχουν δύο διαφορετικά αρχεία τα οποία συµβαίνει να έχουν το ίδιο όνοµα, Γ, και που θέλουν να παραχωρήσουν δικαίωµα προσπέλσης σ’ αυτά στο χρήστη ∆. Προφανώς το ευρετήριο του ∆ δεν µπορεί να περιέχει δύο εγγραφές µε το ίδιο όνοµα αρχείου. Εποµένως, ο ∆ πρέπει να είναι σε θέση να ξεχωρίσει το Γ του Α από το Γ του Β. Μια λύση σ’ αυτό είναι να συµπεριλάβει κανείς και το όνοµα του ιδιοκτήτη στο πλήρες όνοµα του αρχείου, για παράδειγµα χρησιµοποιώντας το συµβολισµό Α:Γ και Β:Γ. Ας υποθέσουµε όµως ότι ο ∆ έχει αδύνατη µνήµη –κάτι πολύ συνηθισµένο– και δεν µπορεί να θυµηθεί τι περιέχει το αρχείο µόνο από το όνοµά του (Γ). Θα πρέπει, για να µην απογοητεύσουµε τέτοιους χρήστες, να επιτρέψουµε στον ∆ να ονοµάσει το Γ µε κάποιο άλλο όνοµα, µοναδικό στο δικό του ευρετήριο, που να θυµίζει µε κάποιον τρόπο τα περιεχόµενά του. Αν, όµως, το κάνουµε αυτό, τότε το Γ του Α µπορεί να ονοµάζεται Ε στο ευρετήριο του ∆. Ο ∆ όµως µπορεί να ξεχάσει ότι το Ε ανήκει στον Α (θυµηθείτε ότι ήδη έχουµε υποθέσει ότι είναι και λίγο ξεχασιάρης) και µπορεί να 5.4 ª∏Ã∞¡π™ª√π ∂§∂°Ã√À ¶ƒ√™¶∂§∞™∏™ 141 ξαναζητήσει δικαιώµατα προσπέλασης του Γ από τον Α. Αλλά, στο µεταξύ, λόγω καλής συµπεριφοράς, ο Α εµπιστεύεται τον ∆ περισσότερο, οπότε του δίνει περισσότερα δικαιώµατα προσπέλασης στο Γ από πριν. Τι έχει γίνει τώρα; Ο ίδιος χρήστης έχει δύο διαφορετικά σύνολα δικαιωµάτων προσπέλασης για το ίδιο αρχείο! Βλέπουµε, λοιπόν, ότι, επιτρέποντας τη χρήση ψευδωνύµων, κινδυνεύουµε να καταλήξουµε σε πολλαπλά δικαιώµατα προσπέλασης, όχι απαραίτητα συµβατά µεταξύ τους. Μετά απ’ όλ’ αυτά, θα πρέπει, φοβάµαι, να συµπεράνουµε ότι η προσέγγιση του ευρετηρίου είναι πολύ απλοϊκή για να αποτελέσει σοβαρό υποψήφιο υλοποίησης πολιτικών ελέγχου προσπέλασης. 5.4.2 §›ÛÙ˜ ÂϤÁ¯Ô˘ ÚÔۤϷÛ˘ Η επόµενη δοµή που θα κοιτάξουµε είναι η λίστα ελέγχου προσπέλασης. Ορίζεται µια τέτοια λίστα για κάθε αντικείµενο και περιέχει όλα τα υποκείµενα που έχουν δικαιώµατα προσπέλασης στο αντικείµενο και τα δικαιώµατα του καθενός. Η δοµή αυτή διαφέρει από το ευρετήριο, γιατί υπάρχει µια λίστα ανά αντικείµενο, ενώ το ευρετήριο κατασκευάζεται ανά υποκείµενο. Αν και η διαφορά µοιάζει µικρή, υπάρχουν ωστόσο σηµαντικές διαφορές. Ένα παράδειγµα λίστας ελέγχου προσπέλασης φαίνεται στο Σχήµα 5.2. Για παράδειγµα, αν δύο υποκείµενα έχουν δικαίωµα προσπέλασης σε κάποιο αντικείµενο, το λειτουργικό σύστηµα θα κρατήσει µόνο µία λίστα για το αντικείµενο που περιέχει τα δικαιώµατα προσπέλασης και για τα δύο υποκείµενα. Η λίστα µπορεί, µάλιστα, να έχει γενικές προκαθορισµένες εγγραφές για οποιοδήποτε υποκείµενο. Με τον τρόπο αυτό συγκεκριµένα υποκείµενα µπορούν να έχουν ρητά καθορισµένα δικαιώµατα και όλα τα άλλα υποκείµενα ένα σύνολο προκαθορισµένων δικαιωµάτων. Με την οργάνωση αυτή ένα δηµόσιο αρχείο ή πρόγραµµα µπορεί να διαµοιράζεται ανάµεσα σε όλους τους δυνατούς χρήστες του συστήµατος χωρίς να χρειάζεται να γίνει εγγραφή για το αντικείµενο στο ατοµικό ευρετήριο κάθε χρήστη. 142 KEºA§AIO 5: ∂§∂°Ã√™ ¶ƒ√™¶∂§∞™∏™ Ευρετήριο TEST.C TEST.EXE REFS.DOC LIST.TXT USER A ORW USER A USER B USER C ORW R RW USER A USER C ORW R USER A USER B USER C USER D ™¯‹Ì· 5.2 R R R R RW O SYSADM USER E Λίστα ελέγχου προσπέλασης Η λίστα ελέγχου προσπέλασης λύνει τα προβλήµατα των ευρετηρίων, αλλά δηµιουργεί ένα άλλο: το να βρούµε όλα τα δικαιώµατα που έχει ένα υποκείµενο (κάτι που θα χρειαστούµε αν, για παράδειγµα, θελήσουµε να τα αφαιρέσουµε) είναι πολύ δύσκολο, αφού θα πρέπει να ψάξουµε στις λίστες προσπέλασης όλων των αντικειµένων του συστήµατός µας. 5.4.3 ¶›Ó·Î·˜ ÂϤÁ¯Ô˘ ÚÔۤϷÛ˘ Το ευρετήριο και η λίστα ελέγχου προσπέλασης είναι στην ουσία ισοδύναµες δοµές (περιέχουν την ίδια πληροφορία) που διαφέρουν µόνο ως προς την οργάνωσή τους. Το µεν ευρετήριο είναι οργανωµένο ως προς τα υποκείµενα, ενώ η λίστα ελέγχου προσπέλασης είναι οργανωµένη ως προς τα αντικείµενα. Η διαφοροποίηση αυτή κάνει τη χρήση τους ευκολότερη σε διαφορετικές καταστάσεις. Μια εναλλακτική λύση είναι ο πίνακας ελέγχου προσπέλασης. Αυτός είναι ένας πίνακας του οποίου 5.4 ª∏Ã∞¡π™ª√π ∂§∂°Ã√À ¶ƒ√™¶∂§∞™∏™ 143 κάθε γραµµή αντιπροσωπεύει ένα υποκείµενο και κάθε στήλη ένα αντικείµενο. Κάθε εγγραφή είναι το σύνολο των δικαιωµάτων προσπέλασης που έχει το υποκείµενο στο αντικείµενο. Ένα παράδειγµα πίνακα ελέγχου προσπέλασης φαίνεται στο Σχήµα 5.3. TEST.C USER A USER B USER C USER D USER E SYSADM ORW R RW ― ― ― TEST.EXE ORW ― ― ― ― ― REFS.DOC ORW ― R ― ― ― LIST.TXT R R R R O RW ™¯‹Ì· 5.3 Πίνακας ελέγχου προσπέλασης Γενικά, οι πίνακες αυτοί είναι αραιοί, επειδή τα περισσότερα υποκείµενα δεν έχουν δικαιώµατα προσπέλασης στα περισσότερα αντικείµενα. Ο πίνακας αυτός µπορεί να αναπαρασταθεί ως ένα σύνολο τριάδων της µορφής {υποκείµενο, αντικείµενο, δικαιώµατα}. Η έρευνα ’ ένα µεγάλο αριθµό τέτοιων τριάδων είναι τόσο αναποτελεσµατική, που η δοµή αυτή σπάνια χρησιµοποιείται. 5.4.4 ¢˘Ó·ÙfiÙËÙ˜ ∆υνατότητα είναι ένα αντικείµενο που δεν µπορεί να παραχαραχθεί και δίνει στον κάτοχό του δικαιώµατα επί ενός αντικειµένου. Η δυνατότητα είναι το ηλεκτρονικό ανάλογο του εισιτηρίου κινηµατογράφου ή του δελτίου ταυτότητας, που –θεωρητικά– δεν µπορεί να αντιγραφεί. Η ιδέα για τη χρήση δυνατοτήτων οφείλεται στη διαπίστωση ότι –θεωρητικά– ένα υποκείµενο πρέπει να µπορεί να δηµιουργήσει νέα αντικείµενα και να µπορεί να καθορίσει τι λειτουργίες επιτρέπονται πάνω σ’ αυτά τα αντικείµενα. Είναι βέβαιο ότι κάθε υποκείµενο ενός συστήµατος µπορεί να δηµιουργήσει νέα αντικείµενα, όπως αρχεία, τµήµατα δεδοµένων ή υποδιεργασίες, και να καθορίσει τις επιτρεπόµενες λειτουργίες στα δηµιουργήµατά του, λειτουργίες όπως read, write, execute. Αλλά κάθε υποκείµενο θα πρέπει να µπορεί επίσης να δηµιουργήσει εντελώς νέα αντικείµενα (όπως νέες δοµές δεδοµένων) και να ορίσει τρόπους προσπέλασης που δεν ήταν µέχρι τότε γνωστές στο σύστηµα. Ο χειρισµός αυτών των καταστάσεων 144 KEºA§AIO 5: ∂§∂°Ã√™ ¶ƒ√™¶∂§∞™∏™ δεν είναι δυνατόν να γίνει µε στατικές δοµές ελέγχου προσπέλασης, όπως αυτές που µέχρι τώρα έχουµε συζητήσει. Όπως είπαµε, µια δυνατότητα είναι ένα εισιτήριο που δίνει την άδεια σε ένα υποκείµενο να προσπελάσει µε ένα συγκεκριµένο τρόπο ένα αντικείµενο. Οι δυνατότητες δηµιουργούνται µόνο µετά από ειδική αίτηση ενός υποκειµένου προς το λειτουργικό σύστηµα. Για να είναι αποτελεσµατική η δυνατότητα, πρέπει να µην είναι δυνατόν να πλαστογραφηθεί. Ένας τρόπος για να γίνει αυτό είναι να δώσουµε τη δυνατότητα κατευθείαν στο υποκείµενο. Εναλλακτικά, το λειτουργικό σύστηµα µπορεί να κρατάει όλες τις δυνατότητες για λογαριασµό των υποκειµένων και να επιστρέφει στο υποκείµενο ένα δείκτη σε µια δοµή δεδοµένων του λειτουργικού συστήµατος, που επίσης συνδέεται µε το υποκείµενο. Ένα από τα δικαιώµατα προσπέλασης αντικειµένων είναι το δικαίωµα µεταβίβασης ή διάδοσης. Υποκείµενα που έχουν αυτό το δικαίωµα µπορούν να µεταβιβάσουν αντίγραφα των δυνατοτήτων τους σε άλλα υποκείµενα. Θυµηθείτε ότι καθεµιά απ’ αυτές τις δυνατότητες περιέχει µια λίστα δικαιωµάτων προσπέλασης, ένα από τα οποία µπορεί να είναι επίσης το δικαίωµα µεταβίβασης. Αν είναι έτσι, µια διεργασία µπορεί να µεταβιβάσει ένα αντίγραφο δυνατότητας σε µια άλλη διεργασία, που µε τη σειρά της µπορεί να τη µεταβιβάσει σε µια τρίτη. Η δεύτερη διεργασία µπορεί να απαγορεύσει περαιτέρω διανοµή της δυνατότητας (και, κατά συνέπεια, περαιτέρω διάχυση του δικαιώµατος προσπέλασης) παραλείποντας το δικαίωµα µεταβίβασης από τα δικαιώµατα που µεταβιβάζει στη δυνατότητα για την τρίτη διεργασία. Έτσι, η δεύτερη διεργασία µπορεί ακόµη να µεταβιβάσει κάποια δικαιώµατα στην τρίτη διεργασία, αλλά όχι το δικαίωµα να διαδώσει δικαιώµατα προσπέλασης σε άλλα υποκείµενα. Επιχειρησιακά, οι δυνατότητες µας επιτρέπουν να κρατάµε εύκολα λογαριασµό των δικαιωµάτων υποκειµένων σε αντικείµενα κατά τη διάρκεια της εκτέλεσης. Οι δυνατότητες συνήθως υποστηρίζονται και από ένα πιο εύληπτο πίνακα, όπως είναι ένας πίνακας ελέγχου προσπέλασης ή µια λίστα ελέγχου προσπέλασης. Κάθε φορά που µια διεργασία ζητάει να χρησιµοποιήσει ένα νέο αντικείµενο, το λειτουργικό σύστηµα εξετάζει την κύρια λίστα αντικειµένων και υποκειµένων για να καθορίσει αν το αντικείµενο είναι προσπελάσιµο. Αν ναι, το λειτουργικό σύστηµα δηµιουργεί µια δυνατότητα για το αντικείµενο. Προκειµένου να προστατευτεί η µνήµη, κατά την εκτέλεση µόνο οι δυνατότητες αντικειµένων που έχουν ήδη προσπελαστεί από την τρέχουσα διεργασία κρατιούνται έτοιµες για χρήση. Ο περιορισµός αυτός βελτιώνει την ταχύτητα ελέγχου προσπέλασης. Οι δυνατότητες µπορούν και να ανακαλούνται. Όταν το υποκείµενο που εξέδωσε 5.4 ª∏Ã∞¡π™ª√π ∂§∂°Ã√À ¶ƒ√™¶∂§∞™∏™ 145 µια δυνατότητα την ανακαλεί, δεν πρέπει να επιτρέπεται περαιτέρω προσπέλαση µε βάση τη δυνατότητα αυτή. Αυτό µπορεί να εξασφαλιστεί κρατώντας έναν πίνακα δυνατοτήτων µε δείκτες προς τις ενεργές δυνατότητες, έτσι ώστε το λειτουργικό σύστηµα να µπορεί να ιχνηλατήσει ποια δικαιώµατα προσπέλασης πρέπει να αναιρεθούν αν ανακληθεί µια δυνατότητα. Παρόµοιο είναι και το πρόβληµα της διαγραφής δυνατοτήτων µη ενεργών υποκειµένων. 5.4.5 ŒÏÂÁ¯Ô˜ ÚÔۤϷÛ˘ ̤ۈ ‰È·‰Èηۛ·˜ Ένας στόχος του ελέγχου προσπέλασης είναι να περιορίσουµε όχι µόνο ποια υποκείµενα έχουν πρόσβαση σε ένα αντικείµενο, αλλά και τι κάνουν µε το αντικείµενο αυτό. Η προσπέλαση ανάγνωσης ή εγγραφής µπορεί εκολα να ελεγχθεί από τα περισσότερα λειτουργικά συστήµατα, αλλά πιο πολύπλοκος έλεγχος είναι δύσκολο να επιτευχθεί. Με τον όρο έλεγχος προσπέλασης µέσω διαδικασίας εννοούµε ότι υπάρχει µια διαδικασία που ελέγχει την προσπέλαση σε αντικείµενα. Νοητά, η διαδικασία αυτή σχηµατίζει µια προστατευτική κάψουλα γύρω από το αντικείµενο και επιτρέπει µόνο συγκεκριµένους και καθορισµένους τύπους προσπέλασης σ’ αυτό. Οι διαδικασίες µπορούν να εξασφαλίσουν ότι οι προσπελάσεις σε ένα αντικείµενο θα γίνονται µόνο µέσω µιας έµπιστης διεπαφής. Για παράδειγµα, ούτε χρήστες ούτε γενικές ρουτίνες του λειτουργικού συστήµατος επιτρέπεται να έχουν απευθείας πρόσβαση στον πίνακα έγκυρων χρηστών. Οι µόνες προσπελάσεις µπορούν να γίνουν µέσω τριών διαδικασιών, µία για να προσθέτει ένα χρήστη, µία για να διαγράφει ένα χρήστη και µία για να ελέγχει αν ένα συγκεκριµένο όνοµα αντιστοιχεί σε έγκυρο χρήση. Οι διαδικασίες αυτές µπορεί να χρησιµοποιούν τους δικούς τους ελέγχους για να διαπιστώσουν αν οι κλήσεις που τους γίνονται είναι νόµιµες. Ο µηχανισµός αυτός αποτελεί υλοποίηση της ιδέας της ασφάλειας µέσω απόκρυψης πληροφορίας, επειδή ο τρόπος υλοποίησης ενός αντικειµένου είναι γνωστός µόνο στη διαδικασία ελέγχου του αντικειµένου. Φυσικά, υπάρχει και τίµηµα αποτελεσµατικότητας: δεν είναι δυνατόν να υπάρξει απλή, γρήγορη προσπέλαση, ακόµη και αν το αντικείµενο χρησιµοποιείται συχνά. 146 KEºA§AIO 5: ∂§∂°Ã√™ ¶ƒ√™¶∂§∞™∏™ ÕÛÎËÛË A˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 5.5 Χαρακτηρίστε τις παρακάτω προτάσεις ως σωστές ή λάθος: Σωστό 1. Κάθε χρήστης έχει δικαίωµα εγγραφής σε κάθε ευρετήριο αρχείων. 2. Η διαγραφή δικαιωµάτων από όλους όσοι τα έχουν δεν είναι εύκολη πράξη αν χρησιµοποιούµε ευρετήριο. 3. Οι λίστες ελέγχου προσπέλασης είναι οργανωµένες ανά υποκείµενο. 4. Ο καθορισµός όλων των δικαιωµάτων ενός υποκειµένου δεν είναι εύκολος όταν χρησιµοποιούµε λίστα ελέγχου προσπέλασης. ❏ ❏ ❏ Λάθος ❏ ❏ ❏ ❏ ❏ ❏ ❏ ❏ 5. Οι πίνακες ελέγχου προσπέλασης είναι δύσχρηστες δοµές. ❏ 6. Η δυνατότητα δεν µπορεί να µεταβιβαστεί. 7. Ο έλεγχος προσπέλασης µέσω διαδικασίας γίνεται εύκολα και γρήγορα. ❏ ❏ ¢Ú·ÛÙËÚÈfiÙËÙ· 5.9 Κατατάξτε τους παρακάτω τέσσερις µηχανισµούς ελέγχου προσπέλασης: 1. Λίστα ελέγχου προσπέλασης οργανωµένη ως προς υποκείµενο. 2. Λίστα ελέγχου προσπέλασης οργανωµένη ως προς αντικείµενο. 3. Πίνακας ελέγχου προσπέλασης. 4. ∆υνατότητα. ως προς 1. Την ευκολία καθορισµού δικαιωµάτων προσπέλασης κατά την εκτέλεση. 2. Την ευκολία πρόσθεσης δικαιωµάτων για ένα νέο υποκείµενο. 3. Την ευκολία διαγραφής δικαιωµάτων ενός υποκειµένου. 4. Την ευκολία δηµιουργίας ενός νέου αντικειµένου στο οποίο έχουν δικαιώµατα προσπέλασης όλα τα υποκείµενα. ™YNOæH 147 ¢Ú·ÛÙËÚÈfiÙËÙ· 5.10 Υποθέστε ότι χρησιµοποιούµε µια λίστα ελέγχου προσπέλασης οργανωµένη ως προς υποκείµενα. Το να διαγράψουµε ένα αντικείµενο σ’ ένα τέτοιο σύστηµα είναι πολύ δύσκολο, γιατί πρέπει να κάνουµε αλλαγές στις λίστες όλων των υποκειµένων που είχαν δικαίωµα προσπέλασης στο αντικείµενο. Προτείνετε ένα διαφορετικό αλλά ευκολότερο τρόπο χειρισµού της διαγραφής αντικειµένου. ¢Ú·ÛÙËÚÈfiÙËÙ· 5.11 ∆ώστε ένα παράδειγµα κατάστασης στην οποία πρέπει µια διεργασία να µεταβιβάσει µια δυνατότητα σε µια άλλη διεργασία. ™‡ÓÔ„Ë Στο κεφάλαιο αυτό ασχοληθήκαµε µε τον έλεγχο προσπέλασης. Αφού πρώτα συζητήσαµε γιατί είναι απαραίτητη η ύπαρξη ενός µηχανισµού ελέγχου προσπέλασης σε κάθε υπολογιστικό σύστηµα, επεκτείναµε το πεδίο εφαρµογής του µηχανισµού αυτού από τους «χρήστες» και τις «πληροφορίες» στα «υποκείµενα» και τα «αντικείµενα» ενός συστήµατος. Έχοντας διακρίνει τις έννοιες αυτές, προχωρήσαµε να δούµε τέσσερις διαφορετικές πολιτικές ελέγχου προσπέλασης, καθεµιά από τις οποίες αναπτύχθηκε για να καλύψει τις ανάγκες ενός διαφορετικού τύπου περιβάλλοντος. Συγκεκριµένα, αναπτύξαµε την πολιτική υποχρεωτικού ελέγχου προσπέλασης, την πολιτική διακριτικού ελέγχου προσπέλασης, τη ρολοκεντρική πολιτική ελέγχου προσπέλασης και την πολιτική Σινικού Τείχους. Στη συνέχεια είδαµε πώς αυτές οι πολιτικές µπορούν να περιγραφούν και φορµαλιστικά, χρησιµοποιώντας µαθηµατικά µοντέλα, και περιγράψαµε τα πιο σηµαντικά απ’ αυτά, δηλαδή τα µοντέλα Bell–LaPadula, Biba, Σινικού Τείχους, Clark–Wilson, µοντέλα πολιτικών RBAC, Graham–Denning, Harrison–Ruzzo–Ullman και Ανάκλησης–Παραχώρησης. Κλείσαµε τη συζήτησή µας µε αναφορά σε µια ποικιλία µηχανισµών που µπορούν να χρησιµοποιηθούν για να υλοποιηθεί µια πολιτική ελέγχου προσπέλασης, οι κυριότεροι από τους οποίους είναι τα ευρετήρια, οι λίστες ελέγχου προσπέλασης, οι πίνακες ελέγχου προσπέλασης, οι δυνατότητες και ο έλεγχος προσπέλασης µέσω διαδικασίας. 148 KEºA§AIO 5: ∂§∂°Ã√™ ¶ƒ√™¶∂§∞™∏™ BÈ‚ÏÈÔÁÚ·Ê›· Department of Defense, National Computer Security Center, Department of Defense Trusted Computer Systems Evaluation Criteria, DoD 5200.28–STD, 1985. Ferraiolo D. and Kuhn R., «Role–Based Access Controls», in Proceedings, 15th National Compute Security Conference, NIST, NCSC, 1992, pp. 554–563. Gollmann D., Computer Security, John Wiley & Sons, 1999. International Standards Organisation, Security Frameworks Part 3: Access Control, ISO/IEC CD 10181–3, 1991. Landwehr C. E., «Formal models for computer security», ACM Computing Surveys, Vol. 13, no. 3, pp. 247–278, 1981. Pfleeger C. P., Security in Computing, Prentice Hall, , Saddle River, NJ, 1997. Sandhu R. S., «A Lattice Interpretation of the Chinese Wall Policy», in Proceedings, 15th National Compute Security Conference, NIST, NCSC, pp. 329–393, 1992. Sandhu R. S., «Lattice–Based Access Control Models», IEEE Computer, Vol. 26, no. 11, pp. 9–19, 1993. Sandhu R. S., Coyne E. J., Feinstein H. L. and Youman C. E., «Role–Based Access Control Models», IEEE Computer, Vol. 29, no. 2, pp. 38–56, 1996. Γκρίτζαλης ∆., Γκρίτζαλης Σ., Ασφάλεια Λειτουργικών Συστηµάτων, Εκπαιδευτική Εταιρεία Νέων Τεχνολογιών, Αθήνα, 1991. Κιουντούζης Ε. Α., Ασφάλεια Πληροφοριακών Συστηµάτων, Εκδόσεις Ευγ. Μπένου, Αθήνα, 1993. ∫ ∂ AÛÊ¿ÏÂÈ· §ÂÈÙÔ˘ÚÁÈÎÒÓ ™˘ÛÙËÌ¿ÙˆÓ ™ÎÔfi˜ Στο κεφάλαιο αυτό θα ασχοληθούµε µε την ασφάλεια λειτουργικών συστηµάτων. Θα συζητήσουµε τους µηχανισµούς προστασίας και πώς αυτοί εξειδικεύονται σε δύο συγκεκριµένα λειτουργικά συστήµατα. 6 º ∞ § ∞ π √ ¶ÚÔÛ‰ÔÎÒÌÂÓ· ·ÔÙÂϤÛÌ·Ù· Όταν θα έχετε τελειώσει τη µελέτη του κεφαλαίου αυτού, θα µπορείτε να: • Περιγράψετε τη λειτουργία του σχήµατος προστασίας διεργασιών µε δακτυλίους. • Περιγράψετε δύο µεθόδους προστασίας της µνήµης. • Αναφέρετε τρεις τρόπους προστασίας του συστήµατος Ε/Ε. • Περιγράψετε δύο τρόπους προστασίας αρχείων. • Περιγράψετε το µηχανισµό ταυτοποίησης και αυθεντικοποίησης χρηστών του Unix. • Περιγράψετε το µηχανισµό ελέγχου προσπέλασης του Unix. • Περιγράψετε πώς λειτουργεί το ίχνος ελέγχου και τα περικαλύµµατα στο Unix. • Εξηγήσετε τους περιορισµούς ασφάλειας του Unix. • Περιγράψετε το µηχανισµό ταυτοποίησης και αυθεντικοποίησης χρηστών των Windows NT. • Περιγράψετε το µηχανισµό ελέγχου προσπέλασης των Windows NT. ŒÓÓÔȘ ÎÏÂȉȿ • διεργασίες, µνήµη • περιοχές προστασίας • λειτουργίες Εισόδου/Εξόδου • λειτουργικό σύστηµα Unix • λειτουργικό σύστηµα Windows NT 150 K E º A § A I O 6 : ∆ ∞ À ∆ √ ¶ √ π ∏ ™ ∏ ∫ ∞ π AÀ £ ∂ ¡ ∆ π ∫ √ ¶ √ π ∏ ™ ∏ ∂ÈÛ·ÁˆÁÈΤ˜ ·Ú·ÙËÚ‹ÛÂȘ Στο Κεφάλαιο 5 γνωρίσαµε την έννοια του ελέγχου προσπέλασης και συζητήσαµε διεξοδικά τόσο τις διάορες πολιτικές όσο και τους µηχανισµούς επιβολής των πολιτικών ελέγχου προσπέλασης. Ίσως όµως να προσέξατε ότι δεν αναφέρθηκα καθόλου (τουλάχιστον όχι ευθαρσώς) στο ποιος έχει την ευθύνη υλοποίησης όλων αυτών. Βέβαια, φαντάζοµαι πως οι πιο προσεκτικοί αναγνώστες θα διέγνωσαν τον κυρίαρχο ρόλο του λειτουργικού συστήµατος στο όλο ζήτηµα του ελέγχου προσπέλασης. Περιορίζεται όµως στον έλεγχο προσπέλασης και µόνο ο ρόλος του λειτουργικού συστήµατος στην όλη προσπάθεια ασφάλειας του υπολογιστικού συστήµατος; Ασφαλώς όχι! Το λειτουργικό σύστηµα, το πιο θεµελιώδες τµήµα του λογισµικού συστήµατος, που ελέγχει όλους τους πόρους του υπολογιστικού συστήµατος και αποτελεί τη βάση πάνω στην οποία στηρίζονται όλα τα προγράµµατα εφαρµογής, παίζει πολύ σηµαντικό ρόλο στην ασφάλεια του υπολογιστικού συστήµατος. Το ρόλο αυτό θα εξετάσουµε στο κεφάλαιο αυτό. Το κεφάλαιο είναι οργανωµένο σε τρεις ενότητες. Στην πρώτη ασχολούµαστε µε τη γενική συζήτηση των µηχανισµών προστασίας σ’ ένα οποιοδήποτε λειτουργικό σύστηµα. Στις δύο επόµενες ενότητες εξειδικεύουµε τη συζήτησή µας σε δύο συγκεκριµένα και δηµοφιλή λειτουργικά συστήµατα: το Unix και τα Windows NT. Πριν ξεκινήσουµε, θέλω να προτρέψω τους αναγνώστες να ξεσκονίσουν τις γνώσεις τους γύρω από λειτουργικά συστήµατα. Αν και θα αναφερθώ πολύ σύντοµα σε βασικούς όρους, για λόγους εσωτερικής συνοχής της ύλης, πιστεύω ότι καλό θα κάνει µια επανάληψη, χρησιµοποιώντας τα βιβλία του ΕΑΠ «Λειτουργικά Συστήµατα Ι» και «Λειτουργικά Συστήµατα ΙΙ» ή το βιβλίο «Σύγχρονα Λειτουργικά Συστήµατα» του A. S. Tanenbaum (επιµέλεια µετάφρασης Π. Γεωργιάδη). Οι αποδόσεις των αγγλικών όρων που χρησιµοποιώ στο κεφάλαιο αυτό είναι, σε µεγάλο βαθµό, ευθυγραµµισµένες µ’ αυτές του τελευταίου βιβλίου. 6 . 1 ª ∏ à ∞ ¡ π ™ ª √ π ¶ ƒ √ ™ ∆∞ ™ π ∞ ™ 151 6.1 ªË¯·ÓÈÛÌÔ› ÚÔÛÙ·Û›·˜ Προκειµένου να οργανώσουµε τη συζήτησή µας καλύτερα, ας θυµηθούµε τα βασικά συστατικά ενός λειτουργικού συστήµατος: Τις διεργασίες, το (υπο)σύστηµα διαχείρισης µνήµης, το (υπο)σύστηµα αρχείων και το (υπο)σύστηµα Εισόδου/Εξόδου (Ε/Ε). Σε αντιστοιχία µε την κατάταξη αυτή, οι βασικοί µηχανισµοί προστασίας ενός λειτουργικού συστήµατος αναφέρονται στις διεργασίες, στη µνήµη, στα αρχεία και στο σύστηµα Ε/Ε. 6.1.1 ¢ÈÂÚÁ·Û›Â˜ Υπάρχουν διάφορο εναλλακτικοί τρόποι για να ορίσει κανείς µια διεργασία. Οι συνηθέστεροι είναι να ορίζουµε µια διεργασία ως έναν εικονικό επεξεργαστή, ως ένα πρόγραµµα σε εκτέλεση ή ως την ενεργό οντότητα συστήµατος µέσω της οποίας εκτελούνται τα προγράµµατα. Αν και όλοι οι παραπάνω ορισµοί µάς εξυπηρετούν, ας προχωρήσουµε λίγο τη σκέψη µας ως προς τον τρίτο εναλλακτικό ορισµό. Αφού, λοιπόν, η διεργασία είναι η ενεργός οντότητα του συστήµατος µέσω της οποίας εκτελούνται τα προγράµµατα, είναι και εκείνη η οντότητα του συστήµατος προς την οποία δίνονται εξουσιοδοτήσεις. Συνεπώς, είναι και η µονάδα ελεγξιµότητας στο σύστηµα. Ο ορισµός, λοιπόν, αυτός µάς οδηγεί στο συµπέρασµα ότι η ελεγξιµότητα εξαρτάται άµεσα από την έννοια της διεργασίας. Πράγµατι, κάθε διεργασία δρα για λογαριασµό κάποιου χρήστη ή κάποιας άλλης οντότητας, όπως, π.χ., για λογαριασµό ενός χρήστη που παίζει ένα συγκεκριµένο ρόλο. Ο κύριος (principal) είναι το πρόσωπο ή η οντότητα που έχει την ευθύνη για το τι κάνει η διεργασία. To λειτουργικό σύστηµα, µε την υποστήριξη του υλικού, διατηρεί την κατάσταση κάθε διεργασίας και επιτρέπει στις διεργασίες να χρησιµοποιούν από κοινού το υλικό. Η κατάσταση της διεργασίας συνήθως περιλαµβάνει ένα µετρητή εντολών, καταχωρητές, µια δεσµίδα (stack) ή εγγραφή ενεργοποίησης και τον αντίστοιχο δείκτη και άλλες πληροφορίες, όπως, για παράδειγµα, περιγραφείς της προσπελάσιµης µνήµης. Η κατάσταση περιλαµβάνει επίσης πληροφορίες λογιστικής φύσης. Το διαµοιράσιµο υλικό περιλαµβάνει τους επεξεργαστές, τη µνήµη και τους καταχωρητές, αν και κάποιες µηχανές έχουν πολλαπλά σύνολα καταχωρητών. Κάθε διεργασία έχει τη δική της δεσµίδα στη µη διαµοιράσιµη µνήµη, όπως και ιδιωτική µνήµη δεδοµένων. Η µνήµη που περιέχει κώδικα, ιδίως κώδικα συστήµατος, είναι συχνά διαµοιράσιµη. Ένας µεταγωγέας περιβάλλοντος (context switch), που ενεργοποιείται όταν ένας επεξεργαστής αρχίζει να εκτελεί µια διεργασία διακόπτοντας την εκτέλεση µιας άλλης, φροντίζει για τη διατήρηση της κατάστασης της παλιάς διεργασίας και για την επα- 152 K E º A § A I O 6 : ∆ ∞ À ∆ √ ¶ √ π ∏ ™ ∏ ∫ ∞ π AÀ £ ∂ ¡ ∆ π ∫ √ ¶ √ π ∏ ™ ∏ ναφόρτωση της κατάστασης της νέας. Τέλος, οι διεργασίες µπορούν να δηµιουργήσουν άλλες διεργασίες, που εκτελούνται (τουλάχιστον στην αρχή) στην ίδια περιοχή µνήµης ε τη µητρική διεργασία. Πρέπει, ακόµη και απ’ αυτή τη σύντοµη ανασκόπηση, να έχει γίνει φανερό ότι η διαχείριση των διεργασιών δεν είναι καθόλου απλή υπόθεση. Αυτός είναι και ο λόγος που τα σύγχρονα λειτουργικά συστήµατα, που είναι σχεδιασµένα για να εκµεταλλεύονται πολλαπλούς επεξεργαστές, υποστηρίζουν και µονάδες παραλληλισµού απλούστερες από τις διεργασίες. Οι µονάδες αυτές είναι γνωστές ως νήµατα (threads). Η διατήρηση της κατάστασης ενός νήµατος και η εναλλαγή εκτέλεσης νηµάτων προκαλεί πολύ λιγότερη διαχειριστική επιβάρυνση στο λειτουργικό σύστηµα απ’ ό,τι οι αντίστοιχες λειτουργίες για τις διεργασίες, επειδή πολλά νήµατα µπορούν να εκτελούνται στην περιοχή µιας διεργασίας, χρησιµοποιώντας έναν κοινό χώρο διευθύνσεων. Για τους λόγους αυτούς, τα νήµατα αναφέρονται µερικές φορές και ως διεργασίες µικρού βάρους (leightweight processes). Οι διεργασίες επικοινωνούν είτε µέσω της διαµοιράσιµης µνήµης είτε µε την ανταλλαγή µηνυµάτων. Ο δεύτερος τρόπος επικοινωνίας, δηλαδή η ανταλλαγή µηνυµάτων, λειτουργεί ακόµη και όταν οι διεργασίες εκτελούνται σε διαφορετικές µηχανές, που δεν µπορούν βέβαια να έχουν κοινή φυσική µνήµη. Σε συστήµατα που χρησιµοποιούν αυτό τον τρόπο επικοινωνίας διεργασιών, η προσπέλαση ενός αντικειµένου γίνεται µε την αποστολή ενός µηνύµατος σε µια θύρα (port), δηλαδή ένα δίαυλο επικοινωνίας µιας κατεύθυνσης, που αντιπροσωπεύει το αντικείµενο. Πώς λοιπόν προστατεύουµε τις διεργασίες; Η έννοια της περιοχής (domain) είναι κεντρική στην απάντηση της ερώτησης αυτής. Περιοχή είναι ένα σύνολο αντικειµένων µε ίδια δικαιώµατα προσπέλασης. Ας θυµηθούµε από το προηγούµενο κεφάλαιο ότι κάθε εγγραφή του πίνακα ελέγχου προσπέλασης αναφέρεται σ’ ένα ζεύγος (υποκείµενο, αντικείµενο). Εξειδικεύοντας τις έννοιες αυτές για τις διεργασίες, θα λέγαµε ότι κάθε εγγραφή του πίνακα ελέγχου προσπέλασης αναφέρεται σ’ ένα ζεύγος (διεργασία, περιοχή). Όταν µια διεργασία µπει σε άλλη περιοχή, το αντικείµενο αλλάζει και, συνεπώς, µια διαφορετική γραµµή του πίνακα ελέγχου προσπέλασης θα καθορίζει πια τα δικαιώµατα προσπέλασης του υποκειµένου, δηλαδή της διεργασίας. Βλέποντας το ίδιο θέµα λίγο διαφορετικά, µπορούµε να δούµε µια περιοχή ως ένα αντικείµενο, το οποίο µπορούµε να προσπελάσουµε εισερχόµενοι σ’ αυτό. Άρα, ένα σύστηµα µπορεί να υποστηρίξει την αρχή του ελάχιστου προνοµίου έχοντας πολλές µικρές περιοχές. Είναι φανερό ότι όσο µικρότερο είναι το µέγεθος των περιοχών, τόσο πιο καλά προστατεύεται η εµπιστευτικότητα και η ακεραιότητα των διεργασιών. 6 . 1 ª ∏ à ∞ ¡ π ™ ª √ π ¶ ƒ √ ™ ∆∞ ™ π ∞ ™ 153 Η περιοχή είναι έννοια συνυφασµένη µε το λογισµικό. Η υλοποίησή της από το υλικό γίνεται µέσω των περιοχών εκτέλεσης, γνωστών επίσης και ως καταστάσεων λειτουργίας (modes). Μερικές αρχιτεκτονικές έχουν µόνο δύο τέτοιες καταστάσεις: την κατάσταση επιβλέποντος (supervisor mode) και την κατάσταση χρήστη (user mode). Η κατάσταση λειτουργίας καθορίζει ποιες εντολές έχει δικαίωµα να εκτελέσει το εκτελούµενο πρόγραµµα. Για παράδειγµα, εντολές Εισόδου/Εξόδου (Ε/Ε) µπορούν να εκτελεστούν µόνο σε κατάσταση επιβλέποντος, είναι δηλαδή προνοµιούχες εντολές. Προκειµένου να εκτελέσει λειτουργίες Ε/Ε ένα πρόγραµµα, εκδίδει µια κλήση προς επιβλέποντα, που το µεταφέρει σε κατάσταση λειτουργίας επιβλέποντος. Στη συνέχεια, ο επιβλέπων εκδίδει την πραγµατική εντολή Ε/Ε. Οι κλήσεις αυτές είναι διακοπές που προέρχονται από το λογισµικό, δηλαδή σύγχρονες διακοπές. Ωστόσο, ασύγχρονες διακοπές µπορούν επίσης να προκαλέσουν µεταγωγή σε κατάσταση λειτουργίας επιβλέποντος. Μετά τη διακοπή, η διεργασία συνεχίζει να εκτελείται από το σηµείο το οποίο καθορίζεται στο διάνυσµα διακοπής, που είναι αποθηκευµένο στην προστατευµένη µνήµη. Έτσι, η διεργασία δεν µπορεί να κάνει κακή χρήση των προνοµίων που έχει λόγω λειτουργίας σε κατάσταση επιβλέποντος, εκτελώντας αυθαίρετα τµήµατα του κώδικα του επιβλέποντος. Θα µου πείτε πως η µέθοδος αυτή προστασίας είναι µάλλον χονδροειδής. Πράγµατι, έτσι είναι. Ευτυχώς όµως, µπορεί να γενικευτεί σ’ ένα πολύ γενικότερο σχήµα, γνωστό ως δακτύλιοι προστασίας (protection rings). Το Σχήµα 6.1 δείχνει τέσσερις οµόκεντρους δακτυλίους µε τον πιο προνοµιούχο στο κέντρο και το λιγότερο προνοµιούχο στην περιφέρεια. Ο δακτύλιος 0, ο πιο προνοµιούχος, είναι κατάλληλος για χρήση από τον πυρήνα του λειτουργικού συστήµατος. Ο εξωτερικός δακτύλιος, ο δακτύλιος 3, είναι ο λιγότερο προνοµιούχος και χρησιµοποιείται από προγράµµατα εφαρµογής. Κώδικας συστήµατος εκτός πυρήνα χρησιµοποιεί το δακτύλιο 1, ενώ τα υποσυστήµατα το δακτύλιο 2. Ας επισηµάνουµε εδώ ότι λα τα σχήµατα προστασίας µε δακτυλίους είναι, από τη φύση τους, ιεραρχικά. Έτσι, τα δικαιώµατα κάθε δακτυλίου περιλαµβάνουν τα δικαιώµατα όλων των δακτυλίων µεγαλύτερης τάξης. Το σχήµα επιβλέποντος/χρήστη είναι, βέβαια, σχήµα προστασίας δακτυλίου µε δύο µόνο δακτυλίους. 3 2 1 0 ™¯‹Ì· 6.1 ∆ακτύλιοι προστασίας 154 K E º A § A I O 6 : ∆ ∞ À ∆ √ ¶ √ π ∏ ™ ∏ ∫ ∞ π AÀ £ ∂ ¡ ∆ π ∫ √ ¶ √ π ∏ ™ ∏ Οι διεργασίες µετακινούνται σε εσωτερικότερους (πιο προνοµιούχους) δακτυλίους µέσω πυλών. Ο µηχανισµός της πύλης, που χρησιµοποιείται όταν γίνει κλήση σε διαφορετικό τµήµα, εξασφαλίζει ότι το καλούµενο τµήµα είναι προσπελάσιµο από το δακτύλιο του καλούντος τµήµατος. Ο µηχανισµός αυτός, επίσης, εξαναγκάζει τις διεργασίες να αρχίζουν την εκτέλεσή τους σε συγκεκριµένα σηµεία – σηµεία προστατευµένης εισόδου. Η ρύθµιση αυτή είναι απαραίτητη, γιατί, αν µια διεργασία µπορούσε να εισέλθει σε οποιοδήποτε σηµείο µιας πιο προνοµιούχου διεργασίας, θα µπορούσε να την «εξαπατήσει», οδηγώντας τη να υπερβεί τις εξουσιοδοτήσεις της. Ωστόσο, οι πύλες δεν είναι ο µόνος τρόπος για να αλλάξει περιοχή µια διεργασία. Παράδειγµα εναλλακτικής προσέγγισης αποτελεί το Unix, οι περιοχές του οποίου αντιστοιχούν σε χρήστες, και στο οποίο µια διεργασία µπορεί να αλλάξει περιοχή αλλάζοντας προσωρινά την ταυτότητα χρήστη. Σε άλλα συστήµατα ο µόνος τρόπος αλλαγής περιοχής είναι ν’ αλλάξει η διεργασία, δηλαδή η διεργασία που επιθυµεί αλλαγή περιοχής στέλνει ένα µήνυµα ζητώντας εξυπηρέτηση από µια πιο προνοµιούχο διεργασία. Η µέθοδος αυτή είναι εξίσου ασφαλής όπως και η πύλη, αφού η διεργασία–αποστολέας δεν ελέγχει το σηµείο απ’ όπου θ’ αρχίσει να εκτελείται, όταν λάβει το µήνυµα, η διεργασία–παραλήπτης. Απ’ όσα είπαµε φαίνεται, λοιπόν, ότι το σχήµα προστασίας µε δακτυλίους είναι αποτελεσµατικό. Πού όµως, δηλαδή σε ποιο σηµείο της δοµής των δακτυλίων, πρέπει να τοποθετηθεί κάθε επιµέρους συστατικό και υποσύστηµα του λειτουργικού συστήµατος; Φυσικά, αυτός που πρέπει να αποφασίσει είναι ο κατασκευαστής του λειτουργικού συστήµατος. Ένα καλό σηµείο εκκίνησης είναι να χρησιµοποιηθεί η αρχή του ελάχιστου προνοµίου: κάθε συστατικό ή υποσύστηµα πρέπει να έχει το ελάχιστο προνόµιο που απαιτείται προκειµένου να µπορεί να κάνει τη δουλειά του. Μια ακόµη παρατήρηση είναι ότι τα πιο έµπιστα συστατικά ή υποσυστήµατα δικαιούνται περισσότερα προνόµια. Προσέξτε όµως! Άκριτη προσήλωση σ’ αυτές τις αρχές σχεδίασης µπορεί να οδηγήσει στη χρήση πολλών δακτυλίων, επιλογή που µπορεί να αποβεί απαγορευτικά δαπανηρή. Επίσης, ας µην ξεχνάµε ότι η διάσχιση δακτυλίων αυξάνει σηµαντικά το χρόνο εκτέλεσης που απαιτεί µια κλήση. Αυτό συµβαίνει επειδή ο κώδικας που τρέχει µε διαφορετικά προνόµια πρέπει να βρίσκεται σε διαφορετικά τµήµατα µνήµης και επειδή µια διεργασία χρειάζεται µια δεσµίδα τµήµατος για κάθε δακτύλιο. Έτσι, η περιοχή εργασίας στη µνήµη ενός προγράµµατος του οποίου η εκτέλεση απαιτεί διάσχιση πολλών δακτυλίων µπορεί να µεγαλώσει πολύ. Ας έρθουµε τώρα και στο πώς υλοποιεί το σχήµα των δακτυλίων το υλικό. Ευτυχώς, η απλή ιεραρχική διάταξη των προνοµίων οδηγεί σε πρακτική και αποτελεσµατική υλοποίηση. Ωστόσο, η ίδια αυτή αυστηρή ιεραρχία δε βοηθάει στην καλύτερη υπο- 6 . 1 ª ∏ à ∞ ¡ π ™ ª √ π ¶ ƒ √ ™ ∆∞ ™ π ∞ ™ 155 στήριξη της αρχής του ελάχιστου προνοµίου, αφού κάθε αντικείµενο που είναι προσπελάσιµο από το δακτύλιο τάξης δ πρέπει να είναι προσπελάσιµο και από το δακτύλιο τάξης δ–1. Μια άλλη δυσκολία είναι ότι το πλήθος των δακτυλίων που παρέχεται από το υλικό πολύ σπάνια ταιριάζει µε το απαιτούµενο από τη σχεδίαση του λογισµικού. Όπως πάντα, η λύση βρίσκεται στο συµβιβασµό. Έτσι, αν και η αρχική σχεδίαση του Multics προέβλεπε 64 δακτυλίους, µόνο 8 χρησιµοποιήθηκαν τελικά. Για τους ασυµβίβαστους, καλό είναι να πούµε πως, αν το υλικό παρέχει πολύ λίγους δακτυλίους, είναι δυνατή η προσοµοίωση περισσότερων µέσω του λογισµικού. Γενικά όµως, η προσοµοίωση δακτυλίων µε λογισµικό είναι και πολύπλοκη και αναποτελεσµατική. Κλείνω την παράγραφο αυτή µε µια πολύ σύντοµη παρατήρηση. Εκτός από τις ίδιες τις διεργασίες, πρέπει να ελέγχεται και η επικοινωνία µεταξύ τους, τόσο επειδή περιλαµβάνει ροή πληροφορίας όσο και επειδή είναι ένας τρόπος προσπέλασης αντικειµένων. Στα συστήµατα στα οποία οι διεργασίες επικοινωνούν µε αποστολή µηνυµάτων ο έλεγχος αυτός επιτυγχάνεται ελέγχοντας τα δικαιώµατα προσπέλασης στις θύρες. Στα συστήµατα στα οποία η επικοινωνία διεργασιών γίνεται µέσω της διαµοιράσιµης µνήµης ισχύουν όσα θα δούµε στην αµέσως επόµενη παράγραφο για προστασία της µνήµης. ÕÛÎËÛË A˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 6.1 Χαρακτηρίστε τις παρακάτω προτάσεις ως σωστές ή λάθος: Σωστό 1. Τα νήµατα προκαλούν λιγότερο διαχειριστικό φόρτο από τις διεργασίες, επειδή πολλά νήµατα µπορούν να εκτελούνται στον ίδιο χώρο διευθύνσεων µιας διεργασίας. 2. Οι διεργασίες επικοινωνούν µεταξύ τους µόνο µέσω της διαµοιράσιµης µνήµης. 3. Όσο µεγαλύτερο µέγεθος έχουν οι περιοχές, τόσο καλύτερη είναι η παρεχόµενη προστασία. 4. Οι εντολές που εκτελούνται σε κατάσταση χρήστη είναι πιο προνοµιούχες. 5. Μεταγωγή σε κατάσταση επιβλέποντος γίνεται τόσο από σύγχρονες όσο και από ασύγχρονες διακοπές. 6. Το σχήµα προστασίας επιβλέποντος – χρήστη είναι ειδική περίπτωση του σχήµατος προστασίας µε δακτυλίους. Λάθος ❏ ❏ ❏ ❏ ❏ ❏ ❏ ❏ ❏ ❏ ❏ ❏ 156 K E º A § A I O 6 : ∆ ∞ À ∆ √ ¶ √ π ∏ ™ ∏ ∫ ∞ π AÀ £ ∂ ¡ ∆ π ∫ √ ¶ √ π ∏ ™ ∏ 7. Όσο πιο εξωτερικός είναι ένας δακτύλιος, τόσο πιο προνοµιούχος είναι. 8. Μια διεργασία µπορεί να κάνει αλλαγή δακτυλίου µόνο µέσω του µηχανισµού της πύλης. 9. Όσο περισσότεροι δακτύλιοι υπάρχουν σ’ ένα σύστηµα, τόσο το καλύτερο. 10.∆ε χρειάζεται να ελέγχουµε την επικοινωνία µεταξύ διεργασιών. ❏ ❏ ❏ ❏ ❏ ❏ ❏ ❏ ¢Ú·ÛÙËÚÈfiÙËÙ· 6.1 Όταν συνδέεστε µ’ ένα σύστηµα, προκαλείτε την εκκίνηση µιας διεργασίας που εκτελείται µε την ταυτότητά σας. Είναι δυνατή η συνέχιση της εκτέλεσης διεργασιών µε τη δική σας ταυτότητα ακόµη και αφού αποσυνδεθείτε από το σύστηµα; Εξετάστε το ζήτηµα αυτό στο δικό σας σύστηµα. 6.1.2 ¶ÚÔÛÙ·Û›· Ù˘ ÌÓ‹Ì˘ Αφού τα περισσότερα αντικείµενα που διαχειρίζονται τα λειτουργικά συστήµατα αναπαρίστανται στη µνήµη, είναι λογικό η προστασία της µνήµης να είναι από τα πιο κεντρικά ζητήµατα της προστασίας του όλου λειτουργικού συστήµατος. Επειδή η µνήµη διαµοιράζεται µεταξύ των προγραµµάτων, σε κανένα πρόγραµµα δεν πρέπει να επιτρέπεται να τροποποιήσει το τµήµα της µνήµης το οποίο χρησιµοποιεί ένα άλλο πρόγραµµα. Προκειµένου να επιτευχθεί η απαίτηση αυτή, στους πρώτους πολυπρογραµµατιζόµενους υπολογιστές χρησιµοποιήθηκαν δύο µέθοδοι: Η µέθοδος των καταχωρητών βάσης–ορίου (base–limit registers) και η µέθοδος των κλειδαριών (locks). Κάθε καταχωρητής υλικού βάσης–ορίου περιέχει δύο αριθµούς: τη διεύθυνση βάσης (τη χαµηλότερη διεύθυνση που επιτρέπεται να χρησιµοποιήσει το πρόγραµµα) και την τιµή ορίου (το ποσό µνήµης πάνω από τη βάση που επιτρέπεται να χρησιµοποιήσει το πρόγραµµα). Όταν ένα πρόγραµµα αποκτήσει τον έλεγχο του επεξεργαστή, ο καταχωρητής φορτώνεται µε τη βάση και την τιµή ορίου γι’ αυτό το πρόγραµµα. Στη συνέχεια, το υλικό ελέγχει κάθε αναφορά στη µνήµη, προκειµένου να εξασφαλιστεί ότι η αιτούµενη διεύθυνση είναι µέσα στην περιοχή που καθορίζεται από τις 6 . 1 ª ∏ à ∞ ¡ π ™ ª √ π ¶ ƒ √ ™ ∆∞ ™ π ∞ ™ 157 τιµές αυτές. Σχηµατικά η µέθοδος φαίνεται στο Σχήµα 6.2. ∆ΙΕΥΘΥΝΣΕΙΣ ΜΝΗΜΗ 0 ΛΕΙΤΟΥΡΓΙΚΟ ΣΥΣΤΗΜΑ n ΚΑΤΑΧΩΡΗΤΗΣ ΒΑΣΗΣ - ΟΡΙΟΥ n+1 p p+1 q q+1 ΧΡΗΣΤΗΣ Α΄ ΧΩΡΟΣ ΠΡΟΓΡΑΜΜΑΤΟΣ ΧΡΗΣΤΗΣ B΄ ΧΩΡΟΣ ΠΡΟΓΡΑΜΜΑΤΟΣ ™¯‹Ì· 6.2 ΧΡΗΣΤΗΣ Γ΄ ΧΩΡΟΣ ΠΡΟΓΡΑΜΜΑΤΟΣ ΥΨΗΛΗ Προστασία µνήµης µε καταχωρητή βάσης–ορίου Η µέθοδος της κλειδαριάς συσχετίζει µια κλειδαριά µε κάθε µονάδα µνήµης. Η προσπέλαση επιτρέπεται µόνο αν ο επεξεργαστής εκτελεί πρόγραµµα χρησιµοποιώντας το αντίστοιχο κλειδί. Η µέθοδος αυτή δεν είναι πια χρήσιµη, επειδή οι µνήµες είναι πολύ µεγάλες και οι διεργασίες πολυπληθείς. Ωστόσο, οι καταχωρητές βάσης–ορίου επιζούν και σήµερα ως περιγραφείς σε συστήµατα εικονικής µνήµης. Η εικονική µνήµη επιτρέπει στα προγράµµατα να είναι µεγαλύτερα από την πραγµατική φυσική µνήµη και να εκτελούνται, ενώ βρίσκονται στη µνήµη µόνο µερικώς. Αφού, λοιπόν, η εικονική µνήµη είναι αυτή που χρησιµοποιούν τα προγράµµατα, είναι και το πιο λογικό µέρος για να υλοποιηθεί η προστασία της µνήµης. Η πραγµατική µνήµη ανατίθεται σε µονάδες σταθερού µεγέθους, που λέγονται σελίδες (pages). Κάποια συστήµατα παρέχουν προστασία στο επίπεδο σελίδας, αλλά η προστασία σε επίπεδο τµήµατος (segment) είναι συνηθέστερη. Ο απλούστερος τύπος εικονικής µνήµης είναι ένας µοναδικός χώρος εικονικών διευθύνσεων που διαµοιράζεται σε πολλαπλά προγράµµατα. Τα προγράµµατα µπορεί να είναι φορτωµένα οπουδήποτε στη µνήµη, είτε γιατί δεν περιέχουν απόλυτες διευθύνσεις είτε γιατί η διαδικασία φόρτωσης µετατρέπει αυτόµατα τις απόλυτες διευ- 158 K E º A § A I O 6 : ∆ ∞ À ∆ √ ¶ √ π ∏ ™ ∏ ∫ ∞ π AÀ £ ∂ ¡ ∆ π ∫ √ ¶ √ π ∏ ™ ∏ θύνσεις σε σχετικές. Ο τύπος όµως αυτός εγκαταλείφθηκε πολύ σύντοµα, προς χάρη της εικονικής µνήµης πολλαπλών χώρων διευθύνσεων, που παρέχει πολύ µεγαλύτερο συνολικό χώρο διευθύνσεων. Η εικονική µνήµη πολλαπλών χώρων διευθύνσεων µπορεί να παράσχει ισχυρότατη ποστασία, αφού κάθε διεργασία έχει τη δική της εικονική µνήµη, που οι άλλες διεργασίες δεν επιτρέπεται να προσπελάσουν. Αυτό δε σηµαίνει ότι οι διεργασίες δεν µπορούν να διαµοιράζονται τµήµατα των εικονικών χώρων µνήµης. Κάθε άλλο. Για παράδειγµα, ένα τµήµα κάθε χώρου διευθύνσεων µπορεί να είναι αφιερωµένο στην αποθήκευση διαµοιράσιµου κώδικα συστήµατος. Οι χρησιµοποιούµενες αρχιτεκτονικές εικονικής µνήµης διαφέρουν αρκετά από σύστηµα σε σύστηµα. Για παράδειγµα, το µέγεθος του τµήµατος µπορεί να είναι σταθερό ή µεταβλητό. Για να κρατήσουµε τη συζήτησή µας αρκετά γενική, θα περιγράψουµε ένα απλοποιηµένο, µη υπαρκτό, σύστηµα. Στις επόµενες ενότητες θα έχουµε όµως την ευκαιρία να γνωρίσουµε δύο συγκεκριµένες, υπαρκτές αρχιτεκτονικές. Στο µη υπαρκτό σύστηµα, που φαίνεται στο Σχήµα 6.3, κάθε διεργασία σχετίζεται µε έναν πίνακα που περιγράφει όλα τα τµήµατα που µπορεί να χρησιµοποιήσει η διεργασία. Κάθε εγγραφή στον πίνακα είναι ένας περιγραφέας τµήµατος, που περιέχει τη διεύθυνση βάσης της πραγµατικής µνήµης και το όριο. Επίσης, περιέχει πληροφορίες σχετικές µε τον έλεγχο προσπέλασης, και συγκεκριµένα τον πιο προνοµιούχο δακτύλιο που µπορεί να προσπελάσει το τµήµα σε καθεµιά από τις λειτουργίες read, write και execute. Φυσικά, το λειτουργικό σύστηµα υποστηρίζει τις απαραίτητες λειτουργίες για τη δηµιουργία και την καταστροφή τµηµάτων, όπως επίσης και για την αλλαγή της πληροφορίας ελέγχου προσπέλασής τους. Όταν εκτελείται µια διεργασία, οι τιµές κάποιων από τους περιγραφείς τµήµατός της φορτώνονται σε καταχωρητές τµήµατος του υλικού. Bάση Όριο R ∆ακτύλιος W ∆ακτύλιος E ∆ακτύλιος Περιγραφέας τµήµατος ™¯‹Ì· 6.3 …… … Πίνακας τµηµάτων διεργασίας 6 . 1 ª ∏ à ∞ ¡ π ™ ª √ π ¶ ƒ √ ™ ∆∞ ™ π ∞ ™ 159 Η εικονική διεύθυνση που περιέχεται σε µια αναφορά µνήµης µεταφράζεται ως αριθµός τµήµατος και ως µετατόπιση (offset) µέσα στο τµήµα. Ο αριθµός τµήµατος χρησιµοποιείται ως δείκτης για την επιλογή ενός περιγραφέα τµήµατος από τον πίνακα τµηµάτων. Η διεύθυνση βάσης του περιγραφέα χρησιµοποιείται στη συνέχεια για τη µετάφραση της εικονικής διεύθυνσης σε πραγµατική, που είναι το άθροισµα της βάσης και της µετατόπισης. Βέβαια, στις περισσότερες περιπτώσεις αναφοράς στη µνήµη η µετάφραση δε χρειάζεται να γίνει χρησιµοποιώντας ον πίνακα τµηµάτων. Σε αναλογία µε την τεχνική της ενδιάµεσης µνήµης µετάφρασης (cache), αντί γι’ αυτόν, χρησιµοποιείται ένας ενδιάµεσος καταχωρητής µετάφρασης (translation lookaside buffer – TLB) που περιέχει µόνο τις πιο πρόσφατα χρησιµοποιηθείσες διευθύνσεις, επιτρέποντας έτσι την πραγµατοποίηση γρήγορων παραποµπών. Μόνο αν η εικονική διεύθυνση δε βρεθεί στον TLB, χρησιµοποιείται ο πίνακας περιγραφέων τµήµατος. Ολοκληρώσαµε στο σηµείο αυτό την περιγραφή της φανταστικής µας αρχιτεκτονικής. Αν κάνατε, όµως, καλό ξεσκόνισµα των γνώσεών σας για λειτουργικά συστήµατα πριν αρχίσετε να µελετάτε το κεφάλαιο αυτό, θα έχετε διαπιστώσει ότι, για λόγους απλότητας, στην περιγραφή αυτή αγνόησα δύο πράγµατα: τη σελιδοποίηση µνήµης και το χειρισµό τµηµάτων που δεν υπάρχουν στην πραγµατική µνήµη. Πού µπαίνει όµως η προστασία της µνήµης στην αρχιτεκτονική αυτή; Για να απαντήσουµε στην ερώτηση αυτή, ας υποθέσουµε ότι µια νέα διεργασία, µε ένα νέο χώρο εικονικής µνήµης, δηµιουργείται µόλις ένας χρήστης συνδεθεί µε το σύστηµα. Έστω ότι ο χρήστης λέγεται Κώστας και η διεργασία ∆Κ. Για να προσπελάσει ένα τµήµα Τ1, η διεργασία ∆Κ πρέπει να προσθέσει το Τ1 στην εικονική της µνήµη. Με την πρώτη αναφορά της ∆Κ στο Τ1 προστίθεται ένας περιγραφέας τµήµατος για το Τ1 στον πίνακα τµηµάτων και τα bits προστασίας στον περιγραφέα καθορίζονται µε βάση τα χαρακτηριστικά προστασίας του Τ1 και των δικαιωµάτων του Κώστα στη λίστα ελέγχου προσπέλασης για το Τ1. Φυσικά, η διεργασία κάποιου άλλου χρήστη µπορεί να έχει άλλα δικαιώµατα προσπέλασης ή κανένα δικαίωµα προσπέλασης στο Τ1. Η ύπαρξη της τιµής ορίου στον περιγραφέα τµήµατος προλαµβάνει αναφορές σε διευθύνσεις µνήµης που βρίσκονται έξω από το τµήµα, κάτι που θα µπορούσε να συµβεί από λογικό λάθος σε κάποιο δείκτη. Και ο ρόλος του υλικού; Από τη στιγµή που το λογισµικό καθορίζει τον περιγραφέα τµήµατος αναλαµβάνει δράση το υλικό. ∆ηλαδή το λογισµικό έχει την ευθύνη διατήρησης της πληροφορίας προστασίας για τα ενεργά τµήµατα της µνήµης, ενώ το υλικό ερµηνεύει την πληροφορία αυτή και παρέχει την προστασία. 160 K E º A § A I O 6 : ∆ ∞ À ∆ √ ¶ √ π ∏ ™ ∏ ∫ ∞ π AÀ £ ∂ ¡ ∆ π ∫ √ ¶ √ π ∏ ™ ∏ ÕÛÎËÛË A˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 6.2 Χαρακτηρίστε τις παρακάτω προτάσεις ως σωστές ή λάθος: Σωστό 1. Είναι δυνατόν να επιτρέπεται η τροποποηση µιας περιοχής µνήµης που χρησιµοποιεί ένα πρόγραµµα από κάποιο άλλο πρόγραµµα. 2. Η µέθοδος προστασίας της µνήµης µε κλειδαριές έχει εγκαταλειφθεί, επειδή οι µνήµες είναι πια µεγάλες και οι διεργασίες πολλές. 3. Στην εικονική µνήµη πολλαπλών χώρων διευθύνσεων δεν υπάρχει διαµοιράσιµο τµήµα εικονικής µνήµης. 4. Η ύπαρξη τιµής ορίου στον περιγραφέα τµήµατος αποτρέπει αναφορές σε διευθύνσεις εκτός τµήµατος. 5. Η προστασία της µνήµης υλοποιείται καλύτερα στο επίπεδο της φυσικής µνήµης. Λάθος ❏ ❏ ❏ ❏ ❏ ❏ ❏ ❏ ❏ ❏ 6.1.3 ¶ÚÔÛÙ·Û›· ∂ÈÛfi‰Ô˘/∂Ífi‰Ô˘ Οι λειτουργίες Ε/Ε είναι οι πιο αδύνατοι κρίκοι στην αλυσίδα προστασίας του λειτουργικού συστήµατος κι αυτό γιατί είναι λειτουργίες πολύπλοκες και περιλαµβάνουν πολύ ασύγχρονη επεξεργασία. Έτσι, δεν προκαλεί έκπληξη το γεγονός ότι αναλύσεις ασφάλειας λειτουργικών συστηµάτων δείχνουν συχνά αδυναµίες ασφάλειας στο υποσύστηµα Ε/Ε. Η προστασία των λειτουργιών Ε/Ε έρχεται ως συνδυασµός τεχνικών προστασίας διεργασιών, προστασίας µνήµης και προστασίας συσκευών. Πράγµατι, σε πολλά συστήµατα µόνο η πιο προνοµιούχος περιοχή έχει το δικαίωµα εκτέλεσης λειτουργιών Ε/Ε. Εξάλλου, οι µεταφορές δεδοµένων από και προς τη µνήµη πρέπει να διέπονται από την κατάσταση προστασίας των τµηµάτων της µνήµης που εµπλέκονται στη διαδικασία µεταφοράς. Τα τµήµατα αυτά δεν περιλαµβάνουν µόνο ενδιάµεσες µνήµες Ε/Ε, αλλά και θέσεις µνήµης που περιέχουν εντολές Ε/Ε, οι οποίες θα λάβουν πληροφορίες κατάστασης. Τέλος, η προσπέλαση σε συγκεκριµένες συσκευές πρέπει να ελέγχεται. 6 . 1 ª ∏ à ∞ ¡ π ™ ª √ π ¶ ƒ √ ™ ∆∞ ™ π ∞ ™ 161 Οι εντολές Ε/Ε µπορούν είτε να εκτελέσουν λειτουργίες Ε/Ε απευθείας και ασύγχρονα είτε να ενεργοποιήσουν µια λειτουργία Ε/Ε που εξελίσσεται παράλληλα µε κάποια άλλη χρησιµοποιώντας απευθείας προσπέλαση µνήµης (Direct Memory Access – DMA), κατά την οποία η συσκευή «απευθείας» προσπελάζει τη µνήµη. Ειδικές εντολές για το χειρισµό των λειτουργιών Ε/Ε δε χρειάζονται όταν οι λειτουργίες αυτές γίνονται µε απεικόνιση στη µνήµη (memory–mapped Ι/Ο), τεχνική κατά την οποία ένα τµήµα του χώρου διευθύνσεων αντιπροσωπεύει θύρες Ε/Ε. Στην περίπτωση αυτή, οι λειτουργίες Ε/Ε µπορούν να εκτελεστούν από οποιαδήποτε εντολή που κάνει αναφορά στη µνήµη. Βέβαια, η απεικονιζόµενη στη µνήµη Ε/Ε υπόκειται στυς ίδιους ελέγχους µε κάθε άλλη αναφορά στη µνήµη. Μερικά συστήµατα χρησιµοποιούν και τις δύο µεθόδους προσπέλασης Ε/Ε. Μερικά συστήµατα χρησιµοποιούν διαύλους Ε/Ε, που είναι (τουλάχιστον σε αφαιρετικό επίπεδο) ξεχωριστοί επεξεργαστές που εκτελούν τα δικά τους προγράµµατα, ασύγχρονα µε τους κεντρικούς επεξεργαστές. Τα προγράµµατα αυτά ενεργοποιούνται από προνοµιούχες εντολές Ε/Ε. Εποµένως, αν το υλικό δεν παρέχει προστασία στη µνήµη Ε/Ε, η προσπελασιµότητα κάθε διεύθυνσης µέσα στο πρόγραµµα διαύλου πρέπει να ελεγχθεί πριν ενεργοποιηθεί η λειτουργία Ε/Ε. Πώς µπορεί να υλοποιηθεί η απαίτηση αυτή; Ένας τρόπος είναι, αντί να πραγµατοποιήσει έλεγχο, το λειτουργικό σύστηµα να µετακινήσει το πρόγραµµα διαύλου στην προστατευµένη µνήµη συστήµατος για να αποτρέψει την τροποποίησή του µετά την εκκίνηση της λειτουργίας Ε/Ε. Εναλλακτικά, το λειτουργικό σύστηµα µπορεί να επικυρώνει κάθε διεύθυνση όταν αυτή χρησιµοποιείται. Και µια σηµείωση σχετικά µε το χειρισµό των διακοπών: Όταν ολοκληρωθεί η λειτουργία Ε/Ε, προκαλείται µια διακοπή. ∆ιακοπές µπορούν επίσης να εµφανιστούν κατά την πρόοδο της εκτέλεσης ενός προγράµµατος διαύλου. Ο χειρισµός των διακοπών αυτών πρέπει να γίνει µε προσοχή, γιατί, αν και το λογισµικό χειρισµού διακοπών περιέχει κώδικα ειδικό για κάθε συσκευή που δεν περιέχεται στον πυρήνα, πρέπει να εκτελεστεί µε υψηλά προνόµια. Η απαίτηση αυτή προκύπτει επειδή το λογισµικό αυτό –ενδεχοµένως– να χρειαστεί να επανεκκινήσει τη λειτουργία Ε/Ε. Τέλος, κάποια συστήµατα παρέχουν προστασία συσκευών. Η αξία όµως της προστασίας αυτής είναι συζητήσιµη, δεδοµένου ότι –δυστυχώς– κανένας µηχανισµός επεξεργαστή δεν µπορεί να προστατεύσει το σύστηµα από συσκευές που δεν εκτελούν τις εντολές τους σωστά. 6.1.4 ¶ÚÔÛÙ·Û›· ·Ú¯Â›ˆÓ Αν και ξεκινήσαµε τη συζήτηση της ενότητας µε την παραδοχή ότι η προστασία 162 K E º A § A I O 6 : ∆ ∞ À ∆ √ ¶ √ π ∏ ™ ∏ ∫ ∞ π AÀ £ ∂ ¡ ∆ π ∫ √ ¶ √ π ∏ ™ ∏ αρχείων περιέχεται στους βασικούς µηχανισµούς προστασίας ενός συστήµατος, η θέση αυτή δεν είναι καθολικά αποδεκτή. Υπάρχουν δύο βασικοί τρόποι µε τους οποίους τα αρχεία (και, εποµένως, η προστασία τους) σχετίζονται µε τη µνήµη (και, εποµένως, µε την προστασία της). Στην κοµψότερη προσέγγιση, τα αρχεία είναι τµήµατα µνήµης και, εποµένως, ακριώς η ίδια προστασία ισχύει για τα αρχεία και τη µνήµη. Όταν ανοίξει ένα αρχείο, γίνεται ενεργό, προσπελάσιµο τµήµα της µνήµης. Στη συνηθέστερη όµως προσέγγιση, το σύστηµα αρχείων είναι υποσύστηµα και, εποµένως, έχει τη δική του προστασία. Τα πλεονεκτήµατα αυτής της προσέγγισης είναι ότι οι βασικοί µηχανισµοί προστασίας παραµένουν απλοί και µπορούν να υποστηρίζουν διαφορετικά συστήµατα αρχείων. Στην περίπτωση αυτή χρησιµοποιούνται οι µηχανισµοί ελέγχου προσπέλασης που συζητήθηκαν στο Κεφάλαιο 5. 6.1.5 √È ˘Ú‹Ó˜ ·ÛÊ¿ÏÂÈ·˜ Πώς υλοποιούνται στην πράξη οι παραπάνω βασικοί µηχανισµοί; Η πιο συνηθισµένη επιλογή είναι να βρίσκονται διάσπαρτοι σε διάφορα τµήµατα του λειτουργικού συστήµατος. Ωστόσο, υπάρχει και η επιλογή της συγκέντρωσης όλων των µηχανισµών σε ένα και µόνο τµήµα. Ο πυρήνας ασφάλειας (security kernel) αρχικά ορίστηκε ως εκείνο το τµήµα του λογισµικού και του υλικού που έχει την ευθύνη της ασφάλειας, ακόµη και αν το υπόλοιπο του συστήµατος παρέχεται από άλλον κατασκευαστή. Ο ορισµός αυτός υπονοεί ότι ο πυρήνας ασφάλειας είναι τόσο µια αρχιτεκτονική όσο και ένα σύνολο µηχανισµών προστασίας. Η µεν αρχιτεκτονική διαχωρίζει το µηχανισµό επικύρωσης αναφορών από το υπόλοιπο σύστηµα, φτάνοντας έτσι σ’ ένα µικρότερο, πιο επαληθεύσιµο πυρήνα, οι δε µηχανισµοί προστασίας του πυρήνα υποστηρίζουν τις λειτουργίες του και τον προστατεύουν από τα µη έµπιστα συστατικά. Αν και η έννοια του πυρήνα έχει νόηµα για οποιαδήποτε σχεδόν πολιτική ασφάλειας, έχει στενά συνδεθεί µε την πολιτική Υποχρεωτικού Ελέγχου Προσπέλασης (MAC) και το TCSEC[1]. [1] Trusted Computer Systems Evaluation Criteria, γνωστό και ως Orange Book. Αποτελεί το πρώτο (1985) πρότυπο της αµερικανικής κυβέρνησης το σχετικό µε ασφάλεια πληροφοριακών συστηµάτων. Επεκτάθηκε (1987) µε το Trusted Network Interpretation, προκειµένου να καλύψει δικτυακά περιβάλλοντα. Αργότερα (1992) αντικαταστάθηκε από τα Federal Criteria. Το ευρωπαϊκό αντίστοιχό του, που εκδόθηκε το 1991, είναι το ITSEC (Information Technology Security Evaluation Criteria), ενώ µάλλον έχει αρχίσει να επέρχεται διεθνής σύγκλιση όλων αυτών των κριτηρίων αξιολόγησης ασφάλειας πληροφοριακών συστηµάτων µε την έκδοση των νέων Common Criteria (1998). 6.2 ∏ ∞™º∞§∂π∞ ∆√À UNIX 163 ÕÛÎËÛË A˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 6.3 Χαρακτηρίστε τις παρακάτω προτάσεις ως σωστές ή λάθος: Σωστό 1. Οι µηχανισµοί προστασίας των λειτουργιών Ε/Ε σε συστήµατα που χρησιµοποιούν Ε/Ε µε απεικόνιση στη µνήµη είναι ακριβώς ίδιοι µε τους µηχανισµούς προστασίας της µνήµης. 2. Οι δίαυλοι Ε/Ε ενεργοποιούνται µόνο από προνοµιούχες εντολές. 3. ∆εν είναι δυνατόν να εµφανιστούν διακοπές κατά την εκτέλεση ενός προγράµµατος διαύλου. 4. Η συνηθέστερη σχεδιαστική επιλογή είναι να θεωρούνται τα αρχεία ως τµήµατα µνήµης. 5. Ο πυρήνας ασφάλειας χρησιµοποιείται µόνο σε συστήµατα που υλοποιούν την πολιτική MAC. Λάθος ❏ ❏ ❏ ❏ ❏ ❏ ❏ ❏ ❏ ❏ 6.2 ∏ ·ÛÊ¿ÏÂÈ· ÙÔ˘ Unix Το Unix είναι σύστηµα «ανοικτό», µε πολλές έννοιες της λέξης. Το γεγονός αυτό το κάνει συνάµα ελκυστικό αλλά και ευάλωτο. Ο πηγαίος κώδικάς του διατίθεται ελεύθερα εδώ και πολλά χρόνια, ενώ ως λειτουργικό σύστηµα καλύπτει πολλά συστήµατα υλικού, που προσφέρονται από διάφορους κατασκευαστές. Τα αρχικά χαρακτηριστικά ασφάλειας του Unix ήταν ελάχιστα και σχεδιασµένα έτσι ώστε να παρεµβαίνουν όσο το δυνατόν λιγότερο, αφού ο απώτερος σκοπός ήταν να εκτελούνται οι λειτουργίες. Η φιλοσοφία αυτή σχεδίασης του Unix το οδήγησε σε εύκολη µεν ανάπτυξη προγραµµάτων αλλά εξίσου εύκολη δηµιουργία προβληµάτων. Η δικτύωση συστηµάτων Unix είναι επίσης εύκολη, αλλά ριψοκίνδυνη. Από τη µεριά των χρηστών, οι χρήστες του Unix είναι συχνά προγραµµατιστές και οι ίδιοι, και ως προγραµµατιστές έχουν δηµιουργήσει επίσης µια ανοικτή παράδοση, ενώ οι διαχειριστές συστηµάτων Unix συχνά είναι προγραµµατιστές ή χρήστες που αναλαµβάνουν την επιπλέον ευθύνη της διαχείρισης του συστήµατος σε βάση µερικής απασχόλησης. Παρ’ όλο όµως που το Unix δεν αναπτύχθηκε αρχικά για εµπορική χρήση, η δεκαετία του 1990 το έφερε να προωθείται (και να προηγείται των ανταγωνιστών 164 K E º A § A I O 6 : ∆ ∞ À ∆ √ ¶ √ π ∏ ™ ∏ ∫ ∞ π AÀ £ ∂ ¡ ∆ π ∫ √ ¶ √ π ∏ ™ ∏ του) σε µια εµπορική σκηνή που απέχει πολύ από την παραδοσιακή του κουλτούρα. Έτσι, σηµαντικό ποσοστό νέων επιχειρηµατικών εφαρµογών αναπτύσσονται τώρα για το Unix. Το Unix αναπτύχθηκε στα AT&T Labs, κυρίως από τον Ken Thompson και τον Dennis Ritchie. Ο πηγαίος κώδικας έγινε ελεύθερα διαθέσιµος και τροποποιήθηκε σηµαντικά από το University of California at Berkeley, που διένειµε το δικό του πηγαίο κώδικα. Αυτές οι δύο εκδόσεις (System V για την AT&T και 4.3BSD για το Berkeley) σιγά σιγά απέκλιναν και δηµιούργησαν ακόµη περισσότερο αποκλίνοντες απογόνους. Αναγνωρίοντας τις δυσκολίες που προκαλούν οι αποκλίσεις αυτές στην αγορά, πολλοί κατασκευαστές Unix προσπάθησαν να συµφωνήσουν σε µια κοινή έκδοση, αλλά –δυστυχώς– µε µικρή επιτυχία. Όσον αφορά ειδικά τα χαρακτηριστικά ασφάλειας, η µεγαλύτερη επιρροή στο Unix ήλθε από το TCSEC. Έχουν γίνει προσπάθειες δηµιουργίας έµπιστου Unix επί αρκετά χρόνια και πρόσφατα εµφανίστηκαν εκδόσεις του µε ενισχυµένα χαρακτηριστικά ασφάλειας. Η συζήτησή µας όµως στη συνέχεια θα περιοριστεί στο λεγόµενο «παραδοσιακό» Unix, όρος που αποδίδει είτε το System V είτε το 4.3BSD, χωρίς επεκτάσεις των χαρακτηριστικών ασφάλειας. 6.2.1 ∆·˘ÙÔÔ›ËÛË Î·È ·˘ıÂÓÙÈÎÔÔ›ËÛË ¯ÚËÛÙÒÓ Προκειµένου να συνδεθεί µ’ ένα σύστηµα Unix, ο χρήστης παρέχει στο σύστηµα ένα όνοµα χρήστη (login name) και ένα συνθηµατικό. Συσχετισµένη µε το όνοµα χρήστη είναι µια ταυτότητα χρήστη ή αριθµός uid (user ID), που τον καθόρισε ο διαχειριστής όταν πρόσθεσε το χρήστη στη λίστα χρηστών του συστήµατος. Ο αριθµός αυτός χρησιµοποιείται εσωτερικά για να ταυτοποιήσει ποιος εκκινεί διεργασίες και σε ποιον ανήκουν τα αρχεία. Οι ταυτότητες χρηστών υποτίθεται πως είναι µοναδικές, αλλά προσοχή! Το παραδοσιακό Unix δεν το εγγυάται αυτό. Το συνθηµατικό που έδωσε ο χρήστης συγκρίνεται µ’ αυτό που συσχετίζεται µε το όνοµα χρήστη στο αρχείο συνθηµατικών. Αν το συνθηµατικό είναι σωστό, η διεργασία σύνδεσης ενεργοποιεί την εντολή –συνήθως ένα φλοιό (shell)–, της οποίας το όνοµα εµφανίζεται στο αρχείο συνθηµατικών. Ένας χρήστης µπορεί προσωρινά να πάρει την ταυτότητα ενός άλλου εκτελώντας ένα πρόγραµµα µε το χαρακτηρισµό set user ID (SUID). Το πρόγραµµα τότε εκτελείται µε την ταυτότητα χρήστη και τα δικαιώµατα του ιδιοκτήτη του και όχι του χρήστη που το ενεργοποίησε. Όταν το πρόγραµµα τελειώσει, επανέρχεται η αρχική ταυτότητα χρήστη. Η δυνατότητα SUID απλοποιεί τη συγγραφή προγραµµάτων συστήµατος και φαίνεται πως τα κάνει πιο ασφαλή, αλλά στην πραγµατικότητα απο- 6.2 ∏ ∞™º∞§∂π∞ ∆√À UNIX 165 τελεί µια σηµαντική ευπάθεια. Πράγµατι, αν το πρόγραµµα SUID δε γραφεί σχολαστικά, τα προνόµιά του µπορούν να αποτελέσουν αντικείµενο εκµετάλλευσης για παράνοµη χρήση. Το παραδοσιακό Unix αναγνωρίζει έναν υπερ–χρήστη (superuser), που έχει όλα τα προνόµια και είναι τελείως ανεξέλεγκτος από το µηχανισµό ελέγχου προσπέλασης. Ο υπερ–χρήστης έχει το όνοµα χρήστη root και την ταυτότητα χρήστη 0. Η ταυτότητα αυτή δεν είναι µοναδική, αφού και άλλα ονόµατα χρήστη προορισµένα για διαχειριστική χρήση µπορούν να έχουν ταυτότητα χρήστη 0. Η δυνατότητα SUID µπορεί να χρησιµοποιηθεί για να αλλάξει προσωρινά την ταυτότητα χρήστη σε 0. Μια από τις εντολές που λειτουργούν έτσι είναι και η εντολή για την αλλαγή των συνθηµατικών (passwd). Το αντίστοιχο πρόγραµµα είναι SUID και ανήκει στον root. Ωστόσο, κάθε διεργασία µπορεί να εκτελέσει το πρόγραµµα αυτό και να τροποποιήσει το αρχείο συνθηµατικών. Το Unix υποστηρίζει και ταυτοποίηση οµάδων χρηστών. Ωστόσο, το System V και το 4.3BSD χειρίζονται διαφορετικά τις οµάδες χρηστών. Στο 4.3 BSD κάθε διεργασία ανήκει σε όλες τις οµάδες στις οποίες ανήκει ο χρήστης που την ενεργοποίησε. Αντίθετα, στο System V ο χρήστης διαλέγει µια οµάδα κάθε φορά, χρησιµοποιώντας την εντολή newgrp. Σε αναλογία µε τα προγράµµατα SUID, προγράµµατα µπορούν να χαρακτηριστούν ως set group id (SGID). Προσέξτε ότι οι οµάδες χρηστών είναι πολύ σηµαντικές για τον έλεγχο προσπέλασης του παραδοσιακού Unix, επειδή το σύστηµα αυτό δεν υποστηρίζει λίστες ελέγχου προσπέλασης. 6.2.2 ŒÏÂÁ¯Ô˜ ÚÔۤϷÛ˘ Το Unix έχει ένα αναστραµµένο δενδροειδές σύστηµα αρχείων µε µια ιεραρχία καταλόγων. Ο κατάλογος που βρίσκεται στην κορυφή (ή στη ρίζα – ανάλογα πώς το βλέπει κανείς) ορίζεται ως /, ενώ και το δεύτερο επίπεδο καταλόγων είναι σχετικά προτυποποιηµένο. Για παράδειγµα, ο κατάλογος /bin περιέχει εντολές συστήµατος και ο κατάλογος /etc περιέχει πληροφορίες ελέγχου, όπως τα αρχεία συνθηµατικών και οµάδων. Οι χρήστες και τα προγράµµατα αναφέρονται σ’ ένα αρχείο χρησιµοποιώντας ένα όνοµα διαδροµής (pathname), που περιέχει τα ονόµατα όλων των καταλόγων που πρέπει να διασχίσουµε για να φτάσουµε στο αρχείο, ξεκινώντας από την κορυφή. Κάθε κατάλογος ή αρχείο περιλαµβάνει µια περιγραφική εγγραφή, που λέγεται δ–κόµβος (inode), που περιέχει πληροφορίες ελέγχου. Προσέξτε όµως ότι η αντιστοιχία αρχείων και δ–κόµβων δεν είναι ένα–προς–ένα, αφού ο ίδιος δ–κόµβος µπορεί να αντιστοιχεί σε πολλαπλά ονόµατα αρχείων. Αυτό σηµαίνει ότι υπάρχουν πολλαπλοί δεσµοί (links) στον ίδιο δ–κόµβο. Όταν ανοίγει ένας κατάλογος ή αρχείο, ο 166 K E º A § A I O 6 : ∆ ∞ À ∆ √ ¶ √ π ∏ ™ ∏ ∫ ∞ π AÀ £ ∂ ¡ ∆ π ∫ √ ¶ √ π ∏ ™ ∏ δ–κόµβος του φορτώνεται στη µνήµη. Το Unix µεταχειρίζεται επίσης και τις συσκευές Ε/Ε και τη µνήµη ως αρχεία, όσον αφορά τον έλεγχο προσπέλασης. Η έννοια πάνω στην οποία βασίζεται ο έλεγχος προσπέλασης του Unix είναι οι άδειες (permissions), έννοια ανάλογη µε τα δικαιώµατα προσπέλασης. Για να περιγράψουµε καλύτερα τις άδειες, ας φανταστούµε έναν πίνακα προσπέλασης µε µόνο τρία υποκείµενα: τον ιδιοκτήτη του αρχείου, την οµάδα στην οποία ανήκει το αρχείο και οποιονδήποτε άλλο (υπόλοιπος κόσµος). Επίσης, υπάρχουν τρία δικαιώµατα προσπέλασης: δικαίωµα ανάγνωσης (read), δικαίωµα εγγραφής (write) και δικαίωµα εκτέλεσης (execute). Κάθε στήλη του πίνακα, που αντιστοιχεί σε ένα αρχείο, αντιστοιχίζεται σε εννιά bits άδειας, από τρία για τον ιδιοκτήτη, την οµάδα και τον υπόλοιπο κόσµο. Κάθε bit αναπαριστά ένα από τα δικαιώµατα: read, write, execute και είναι 1, αν παρέχεται το δικαίωµα, και 0, αν δεν παρέχεται. Αν, για παράδειγµα, όπως φαίνεται στο Σχήµα 6.4, ο ιδιοκτήτης του Αρχείου 1 έχει δικαιώµατα εγγραφής και ανάγνωσης, η οµάδα έχει δικαίωµα ανάγνωσης και ο υπόλοιπος κόσµος κανένα δικαίωµα, τα bits της άδειας θα είναι 110100000, αναπαριστώντας τα δικαιώµατα rw–r– – – – –. Αντίστοιχα, η άδεια για το Αρχείο 2 θα είναι 111101001. Εναλλακτικά, οι άδειες εµφανίζονται επίσης τόσο σε εντολές όσο και στην τεκµηρίωση του συστήµατος ως αριθµοί του οκταδικού συστήµατος. Οι άδειες του προηγούµενου παραδείγµατός µας αντιστοιχούν στον οκταδικό αριθµό 640. Φυσικά, ο ιδιοκτήτης του αρχείου µπορεί να αλλάξει τις άδειες µε την εντολή chmod. Aρχείο 1 Read Iδιοκτήτης Oµάδα ™¯‹Ì· 6.4 Aρχείο 2 Execute 0 0 0 Read 1 1 0 Write 1 0 0 Execute 1 1 1 Write 1 0 0 1 1 0 Άδειες στο Unix Yπόλοιπος Kόσµος Ποιος όµως είναι ο ιδιοκτήτης ενός αρχείου και η οµάδα στην οποία ανήκει το αρχείο; Τόσο στο System V όσο και στο 4.3 BSD ιδιοκτήτης κάθε αρχείου είναι ο δηµιουργός του. Οι χρήστες όµως του System V µπορούν να αποποιηθούν την ιδιοκτησία ενός αρχείου, µε την εντολή chown. Στο System V η οµάδα στην οποία ανήκει κάθε νέο αρχείο είναι η οµάδα στην οποία ανήκει η διεργασία που το δηµιουργεί. Αντίθετα, στο BSD η οµάδα ενός νέου αρχεί- 6.2 ∏ ∞™º∞§∂π∞ ∆√À UNIX 167 ου είναι η ίδια µ’ αυτή στην οποία ανήκει ο κατάλογος στον οποίο βρίσκεται το αρχείο. Όσο για τις άδειες ενός νέου αρχείου, αυτές βασίζονται σε δύο πηγές: αφενός σε παραµέτρους της κλήσης συστήµατος που δηµιουργεί το αρχείο και αφετέρου σε µια εταβλητή συστήµατος, που λέγεται µάσκα χρήστη (umask). Προγράµµατα όπως επεξεργαστές κειµένου και συνδέτες συνήθως καθορίζουν πολύ χαλαρές άδειες, οι οποίες όµως περιορίζονται από την umask. Η umask έχει τα ίδια bits όπως και οι άδειες και κάθε bit της umask που είναι 1 αίρει την αντίστοιχη άδεια για το νέο αρχείο. Για παράδειγµα, η τιµή umask 077 αίρει κάθε δικαίωµα προσπέλασης απ’ όλους, εκτός από τον ιδιοκτήτη, ο οποίος απολαµβάνει και τα τρία δικαιώµατα. Κάθε σύνολο αδειών ελέγχεται ανεξάρτητα από τα άλλα σύνολα, εξετάζονται δε πρώτα οι άδειες του ιδιοκτήτη, µετά της οµάδας και, τέλος, του υπόλοιπου κόσµου. Αν ο τρέχων χρήστης που αιτείται την προσπέλαση είναι ο ιδιοκτήτης, η αίτηση προσπέλασης ελέγχεται σε σχέση µε τις άδειες που έχει ο ιδιοκτήτης και µόνο. Ανάλογα, αν ο τρέχων χρήστης ανήκει στην οµάδα του αρχείου, η αίτηση προσπέλασης ελέγχεται σε σχέση µε τις άδειες που έχει η οµάδα και µόνο. Τέλος, αν ο τρέχων χρήστης δεν ανήκει σε καµιά από τις κατηγορίες αυτές, η αίτηση προσπέλασης ελέγχεται σε σχέση µε τις άδειες που έχει ο υπόλοιπος κόσµος. Αν και φαίνεται απόλυτα λογική, η µέθοδος αυτή µπορεί να φέρει παράλογα αποτελέσµατα. Για παράδειγµα, ο ιδιοκτήτης ενός αρχείου µπορεί να είναι το µόνο µέλος µιας οµάδας που δεν έχει δικαιώµατα προσπέλασης. Πώς λειτουργεί ο µηχανισµός των αδειών για τους καταλόγους; Ας µην ξεχνάµε ότι, όσον αφορά το λειτουργικό σύστηµα, οι κατάλογοι δεν είναι τίποτ’ άλλο παρά αρχεία, ειδικού όµως τύπου, που περιέχουν ονόµατα αρχείων και τους αντίστοιχους δ–κόµβους. Οι κατάλογοι έχουν τα ίδια bits άδειας όπως και τα κανονικά αρχεία, αλλά µε διαφορετικό νόηµα. Συγκεκριµένα, επειδή το δικαίωµα εκτέλεσης δεν έχει νόηµα για έναν κατάλογο, τα bits που αναπαριστούν το δικαίωµα εκτέλεσης χρησιµοποιούνται για την αναπαράσταση του δικαιώµατος αναζήτησης µέσα στον κατάλογο. Τι είναι όµως το δικαίωµα αναζήτησης; Η άδεια ανάγνωσης επιτρέπει την ανάγνωση ονοµάτων αρχείων και αριθµών δ–κόµβων στον κατάλογο. ∆εν επιτρέπει όµως την ανάγνωση των ίδιων των δ–κόµβων. Η άδεια αναζήτησης επιτρέπει την ανάγνωση τόσο των εγγραφών του καταλόγου όσο και των δ–κόµβων στις οποίες αυτές αναφέρονται. Η σχέση µεταξύ αδειών καταλόγου και αδειών αρχείων του καταλόγου είναι λίγο περίεργη. Σκεφτείτε ότι ένας χρήστης µε άδεια εγραφής και αναζήτησης σε έναν κατάλογο µπορεί να διαγράψει οποιοδήποτε όνοµα αρχείου από τον κατάλογο. Στην 168 K E º A § A I O 6 : ∆ ∞ À ∆ √ ¶ √ π ∏ ™ ∏ ∫ ∞ π AÀ £ ∂ ¡ ∆ π ∫ √ ¶ √ π ∏ ™ ∏ περίπτωση που ένας δ–κόµβος έχει πολλαπλούς δεσµούς, αφού οι άδειες βρίσκονται στον δ–κόµβο, όλοι οι δεσµοί θα έχουν τις ίδιες άδειες. Όταν διαγραφεί και ο τελευταίος δεσµός του δ–κόµβου, διαγράφεται και ο ίδιος ο δ–κόµβος. Πού καταλήγουµε λοιπόν; Ένας χρήστης που δεν έχει κανένα δικαίωµα προσπέλασης στο ίδιο το αρχείο µπορεί, ωστόσο, να το διαγράψει. Για να γίνει, ελπίζω, περισσότερο κατανοητός ο µηχανισµός των αδειών στο Unix, φανταστείτε µια εφαρµογή µισθοδοσίας προσωπικού που λειτουργεί στο περιβάλλον ενός πληροφοριακού συστήµατος µιας επιχείρησης. Για να κρατήσουµε το παράδειγµά µας απλό, έστω ότι η εφαρµογή αποτελείται µόνο από ένα εκτελέσιµο πρόγραµµα, το misthos.exe, του οποίου ο πηγαίος κώδικας βρίσκεται στο αρχείο misthos.c, και από ένα µόνο αρχείο δεδοµένων, το misthos.dat. Ας υποθέσουµε, επίσης, πάλι για χάρη της απλότητας, ότι µε τη λειτουργία της όλης διαδικασίας της µισθοδοσίας εµπλέκονται: • ο προγραµµατιστής που έχει την ευθύνη ανάπτυξης και συντήρησης της εφαρµογής, µε όνοµα χρήστη programmer, • ο χειριστής που την εκτελεί όποτε χρειάζεται, µε όνοµα χρήστη operator, • ο διοικητικός υπάλληλος που συντηρεί το αρχείο δεδοµένων, µε όνοµα χρήστη maintenance, • το διευθυντικό στέλεχος της εταιρείας που επιθυµεί να γνωρίζει τα δεδοµένα µισθοδοσίας της επιχείρησης, µε όνοµα χρήστη manager. Τι άδειες πρέπει να έχει ο καθένας απ’ αυτούς ώστε να µπορεί να εκτελεί τις λειτουργίες αρµοδιότητάς του; Ο προγραµµατιστής, που είναι και ο ιδιοκτήτης της εφαρµογής, πρέπει προφανώς να έχει άδεια πλήρους πρόσβασης στο misthos.c, άδεια εκτέλεσης στο misthos.exe και καµία άδεια στο misthos.dat. Ο χειριστής πρέπει να έχει άδεια εκτέλεσης στο misthos.exe, καµία άδεια στο misthos.c και καµία άδεια στο misthos.dat. Ο διοικητικός υπάλληλος δεν πρέπει να έχει καµία άδεια στο misthos.exe, καµία άδεια στο misthos.c και άδεια εγγραφής στο misthos.dat. Τέλος, το διευθυντικό στέλεχος δεν πρέπει να έχει καµία άδεια στο misthos.exe, καµία άδεια στο misthos.c και άδεια ανάγνωσης στο misthos.dat, του οποίου µπορεί να είναι και ο ιδιοκτήτης. Πώς µπορούµε τώρα να υλοποιήσουµε την πολιτική αυτή σ’ ένα σύστηµα Unix; Μια 6.2 ∏ ∞™º∞§∂π∞ ∆√À UNIX 169 αλή ιδέα είναι να οµαδοποιήσουµε τους programmer και operator σε µια οµάδα χρηστών µε το όνοµα application και τους maintenance και manager σε µια άλλη οµάδα χρηστών µε το όνοµα data. Πώς τώρα θα µεταφράσουµε όλα τα παραπάνω σε άδειες κατανοητές από ένα σύστηµα Unix; Αρχίζοντας από το αρχείο misthos.c, βλέπουµε ότι ο ιδιοκτήτης του χρειάζεται πλήρη πρόσβαση, η οµάδα χρηστών στην οποία ανήκει δεν πρέπει να έχει καµία πρόσβαση, οι δε υπόλοιποι χρήστες επίσης καµία πρόσβαση. Συνεπώς, οι άδειες του αρχείου πρέπει να είναι rwx– – – ή 700. Αντίστοιχα, για το αρχείο misthos.exe οι άδειες πρέπει να είναι –x–x– – ή 110, ενώ για το misthos.dat οι άδειες πρέπει να είναι r– –w– – ή 420. ÕÛÎËÛË A˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 6.4 Ένας χρήστης Unix επιθυµεί να καθορίσει τα ακόλουθα δικαιώµατα προσπέλασης σ’ ένα αρχείο του: Για τον ίδιο όλα τα δικαιώµατα. Για τα µέλη της οµάδας του δικαίωµα ανάγνωσης και εκτέλεσης. Για τον υπόλοιπο κόσµο δικαίωµα εκτέλεσης. Οι άδειες του αρχείου πρέπει να είναι (επιλέξτε µια από τις ακόλουθες απαντήσεις): 1. 777 2. 471 3. 157 4. 751 5. 000 ÕÛÎËÛË A˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 6.5 Αντιστοιχίστε τις άδειες σε οκταδική µορφή της αριστερής στήλης µε τις άδειες σε συµβολική µορφή της δεξιάς: 1. 777 2. 452 3. 644 4. 755 5. 345 1. rwxr–xr–x 2. –wxr–r–x 3. rw–r–r– 4. rwxrwxrwx 5. r–r–x–w– 170 K E º A § A I O 6 : ∆ ∞ À ∆ √ ¶ √ π ∏ ™ ∏ ∫ ∞ π AÀ £ ∂ ¡ ∆ π ∫ √ ¶ √ π ∏ ™ ∏ ¢Ú·ÛÙËÚÈfiÙËÙ· 6.2 Αν έχετε πρόσβαση σε σύστηµα Unix, βρείτε στο on–line εγχειρίδιο εντολές που σχετίζονται µε την ασφάλεια. Βρείτε, επίσης, την εγγραφή που σας αφορά στο αρχείο /etc/passwd και αναγνωρίστε τις άδειες που έχουν τα αρχεία και οι κατάλογοί σας. ¢Ú·ÛÙËÚÈfiÙËÙ· 6.3 Αν έχετε πρόσβαση σε σύστηµα Unix, δηµιουργήστε έναν υποκατάλογο στον κεντρικό κατάλογό σας (home directory) και τοποθετήστε ένα αρχείο µε το όνοµα welcome.txt που θα περιέχει ένα σύντοµο µήνυµα καλωσορίσµατος στον υποκατάλογο αυτό. Καθορίστε τις άδειες του υποκαταλόγου µε τέτοιον τρόπο ώστε ο ιδιοκτήτης να έχει δικαίωµα εκτέλεσης. Προσπαθήστε να: 1. Κάνετε τον υποκατάλογο τρέχοντα κατάλογο, µε την εντολή cd. 2. ∆είτε τα περιεχόµενα του υποκαταλόγου. 3. ∆είτε τα περιεχόµενα του αρχείου welcome.txt. 4. ∆ηµιουργήσετε ένα αντίγραφο του welcome.txt στον υποκατάλογο. Επαναλάβετε τις ίδιες δοκιµές, αλλά µε δικαίωµα ανάγνωσης στον υποκατάλογο. Τέλος, επαναλάβετε µε δικαίωµα εγγραφής. 6.2.3 ÿ¯ÓÔ˜ ÂϤÁ¯Ô˘ Από τη στιγµή που το σύστηµα έχει εγκατασταθεί και λειτουργεί, οι µηχανισµοί ασφάλειάς του υποτίθεται πως αποτρέπουν όλες τις παράνοµες πράξεις. Ωστόσο, οι µηχανισµοί αυτοί µπορεί να µην είναι ικανοί ή να είναι ελαττωµατικοί. Σ’ ένα πολύπλοκο σύστηµα, όπως το Unix, είναι δυνατόν να υποχρεωθούµε σε ανεπιθύµητες ρυθµίσεις ασφάλειας προκειµένου το σύστηµα να συνεχίσει να λειτουργεί, θυσιάζοντας έτσι την ασφάλεια προς χάρη της απόδοσης ―ένα ασυγχώρητο σφάλµα. Σε µια τέτοια περίπτωση είναι χρήσιµο να έχουµε στη διάθεσή µας επιπλέον µηχανισµούς, που να µας επιτρέπουν την ανίχνευση παραβιάσεων ασφάλειας ή άλλων ύποπτων περιστατικών, κατά προτίµηση όταν αυτά συµβαίνουν ή, τουλάχιστον, αφού έχουν συµβεί. Τέτοιοι µηχανισµοί είναι οι µηχανισµοί κατασταλτικού ελέγχου (audit), χειρογραφικοί ή αυτοµατοποιηµένοι. Οι τελευταίοι είναι γνωστοί και ως συστήµατα ανίχνευσης εισβολών (intrusion detection systems). 6.2 ∏ ∞™º∞§∂π∞ ∆√À UNIX 171 Το ίχνος ελέγχου, που το πρωτογνωρίσαµε στο Κεφάλαιο 2, καταγράφει όλα τα περιστατικά που σχετίζονται µε την ασφάλεια. Είναι φανερό ότι αυτό πρέπει να φυλάσσεται σε ασφαλές µέρος, αφού ένας επιτιθέµενος που είναι σε θέση να τροποποιήσει το ίχνος ελέγχου είναι και σε θέση να αποκρύψει τις ―κατά τεκµήριο― παράνοµες πράξεις του. Κλείνω τη συζήτηση της παραγράφου αυτής µε µια σκέψη αρκετά σηµαντική. Μόλις είπαµε ότι το ίχνος ελέγχου καταγράφει όλα τα περιστατικά που σχετίζονται µε την ασφάλεια. Όλα; Ασφαλώς όχι, γιατί τότε οι διαστάσεις του αρχείου αυτού (γιατί και το ίχνος ελέγχου σε αρχείο φυλάσσεται) θα γίνονταν πολύ σύντοµα απαγορευτικά µεγάλες. Φαίνεται, λοιπόν, ότι πρέπει να αποφασίσουµε ποια περιστατικά καταγράφουµε στο ίχνος ελέγχου και πότε. Υπάρχει, φυσικά, µια ισορροπία ανάµεσα στο πλήθος των γεγονότων που καταγράφονται και στη δυνατότητα του διαχειριστή να τα αναλύσει. Όσο περισσότερα γεγονότα καταγράφονται, τόσο εκτενέστερο θα είναι το ίχνος ελέγχου, γεγονός που µπορεί να καταστήσει δύσκολο τον εντοπισµό αποπειρών εισβολής. Από την άλλη µεριά, αν καταγράφουµε λίγα γεγονότα, µπορεί να είναι δύσκολο να ανακαλύψουµε πώς ακριβώς έγινε µια εισβολή από τη στιγµή που την ανιχνεύσαµε. Επιπλέον, υπάρχουν και όρια στο πόση παρακολούθηση είναι διατεθειµένοι να δεχτούν οι χρήστες. ¢Ú·ÛÙËÚÈfiÙËÙ· 6.4 Το ίχνος ελέγχου φυλάσσεται σε κάποιο αρχείο. Τι θα πρέπει να συµβεί, αν το αρχείο αυτό µεγαλώσει περισσότερο από το διατιθέµενο γι’ αυτό χώρο στη µνήµη; 1. Θα πρέπει το ίχνος ελέγχου να αρχίσει να γράφεται στο αρχείο από την αρχή, διαγράφοντας τις πρώτες εγγραφές του. 2. Θα πρέπει το ίχνος ελέγχου να αρχίσει να καταγράφεται σε χώρο που δεν έχει διατεθεί γι’ αυτό το σκοπό. 3. Το σύστηµα θα πρέπει να σταµατάει και να περιµένει κάποια ενέργεια του διαχειριστή. Αξιολογήστε συγκριτικά τις τρεις παραπάνω εναλλακτικές λύσεις. 6.2.4 ¶ÂÚÈηχÌÌ·Ù· TCP Οι µηχανισµοί ασφάλειας του Unix που παρουσιάσαµε µέχρι τώρα δεν είναι ιδιαίτερα εξεζητηµένοι. Αντίθετα, είναι µάλλον προσκολληµένοι στις παραδόσεις της ασφάλειας λειτουργικών συστηµάτων και επικεντρώνονται στο να ελέγχουν την προσπέ- 172 K E º A § A I O 6 : ∆ ∞ À ∆ √ ¶ √ π ∏ ™ ∏ ∫ ∞ π AÀ £ ∂ ¡ ∆ π ∫ √ ¶ √ π ∏ ™ ∏ λαση στους πόρους. Είναι όµως δυνατόν να ξεφύγουµε από την παράδοση, υλοποιώντας ελέγχους σε ένα ενδιάµεσο επίπεδο, χρησιµοποιώντας βέβαια τους βασικούς µηχανισµούς ελέγχου προσπέλασης. Εναλλακτικά, µπορούµε να τροποποιήσουµε το ίδιο το Unix προκειµένου να πετύχουµε το σκοπό µας. Το δύσκολο, βέβαια, εδώ είναι να βρούµε ένα συστατικό του Unix που να µπορεί να τροποποιηθεί µε τέτοιον τρόπο έτσι ώστε να προστίθενται χρήσιµοι έλεγχοι ασφάλειας, ενώ το υπόλοιπο λειτουργικό σύστηµα παραµένει ανεπηρέαστο. Με δεδοµένη την πολυπλοκότητα του Unix, το πρόβληµα αυτό δεν είναι τετριµµένο. ∆εν είναι όµως και άλυτο. Τα περικαλύµµατα TCP (TCP wrappers) αποτελούν µια κοµψή εφαρµογή αυτής της σχεδιαστικής προσέγγισης. Τι είναι τα περικαλύµµατα; Είναι, νοµίζω, καλύτερα να σας δώσω µια περιγραφή µε ένα παράδειγµα. Οι υπηρεσίες δικτύου του Unix, όπως η telnet και η ftp, βασίζονται στην ακόλουθη αρχή: Ο δαίµονας inetd ακροάται τις εισερχόµενες δικτυακές συνδέσεις. Όταν γίνει µια σύνδεση, ο inetd εκκινεί το κατάλληλο πρόγραµµα εξυπηρετητή και επιστρέφει στην ακρόασή του. Ο δαίµονας αυτός είναι γνωστός ως υπερ–εξυπηρετητής (super server), επειδή χειρίζεται πολλά προγράµµατα–εξυπηρετητές µέσω ενός αρχείου διαµόρφωσης που αντιστοιχίζει υπηρεσίες (αριθµούς θυρών) σε προγράµµατα. Κάθε εγγραφή του αρχείου αυτού έχει τη µορφή service type protocol waitflag userid executable command–line Για παράδειγµα, η εγγραφή για το telnet µπορεί να είναι telnet stream tcp nowait root /usr/bin/in.telnetd in.telnet Όταν ο inetd λάβει ια αίτηση για µια από τις υπηρεσίες που χειρίζεται, συµβουλεύεται το αρχείο διαµόρφωσης και δηµιουργεί µια νέα διεργασία η οποία εκτελεί το εκτελέσιµο πρόγραµµα που καθορίζεται από την αντίστοιχη εγγραφή. Το όνοµα της νέας αυτής διεργασίας γίνεται ίδιο µε το όνοµα που καθορίζεται στην εγγραφή του αρχείου διαµόρφωσης. Συνήθως τα δύο αυτά ονόµατα είναι τα ίδια. Η πολλαπλότητα όµως αυτή ανοίγει το δρόµο για µια όµορφη λύση. Πώς; Κάνουµε το δαίµονα inetd να δείχνει σε ένα πρόγραµµα–περικάλυµµα αντί για το αρχικό εκτελέσιµο και χρησιµοποιούµε το όνοµα της διεργασίας για να θυµόµαστε το όνοµα του αρχικού εκτελέσιµου που θέλουµε να εκτελέσουµε, αφού το περικάλυµµα έχει τελειώσει µε τους ελέγχους ασφάλειάς του. Στο παράδειγµά µας, η εγγραφή για το telnet θα µπορούσε να γίνει telnet stream tcp nowait root /usr/bin/tcpd in.telnet Το πρόγραµµα που εκτελείται τώρα είναι το /usr/bin/tcpd, δηλαδή το εκτελέσιµο περικάλυµµα. H διεργασία που εκτελεί το περικάλυµµα θα ονοµάζεται ακόµη 6.2 ∏ ∞™º∞§∂π∞ ∆√À UNIX 173 in.telnet. Μέσα στο περικάλυµµα αυτό µπορούµε να εκτελέσουµε όλους τους ελέγχους προσπέλασης ή να κάνουµε την παρακολούθηση που θέλουµε. Ο χρήστης δεν αντιλαµβάνεται καµία διαφορά και λαµβάνει την ίδια υπηρεσία όπως και πριν. 6.2.5 √È ÂÚÈÔÚÈÛÌÔ› ·ÛÊ¿ÏÂÈ·˜ ÙÔ˘ ·Ú·‰ÔÛÈ·ÎÔ‡ Unix Όπως είπαµε ήδη –δυστυχώς–, η αρχική σχεδίαση του Unix ασχολήθηκε πολύ λίγο µε την ασφάλειά του. Από τότε, αν και πολλές συγκεκριµένες ευπάθειες έχουν διορθωθεί, οι διορθώσεις αυτές δεν µπορούν να αποµακρύνουν τους βασικούς περιορισµούς. Έτσι, σήµερα, οι διαχειριστές συστήµατος και οι χρήστες πρέπει να αντισταθµίσουν τους περιορισµούς αυτούς όπως καλύτερα µπορούν, ενώ οι κατασκευαστές Unix ενισχύουν την ασφάλεια όσο καλύτερα µπορούν, χωρίς να θυσιάζουν ωστόσο τη συµβατότητα και τη χρησιµότητα, χαρακτηριστικά που έκαναν το Unix τόσο δηµοφιλές. Γιατί όµως λέµε ότι η ασφάλεια του Unix δεν είναι τόσο καλή; Ο βασικός λόγος είναι ότι το Unix, εκ κατασκευής, παραβιάζει βασικές αρχές ασφάλειας λειτουργικών συστηµάτων. Πράγµατι, το Unix παραβιάζει την αρχή του ελάχιστου προνοµίου για διάφορους λόγους. Ο πιο θεµελιώδης απ’ αυτούς είναι ότι ο έλεγχος προσπέλασης είναι χονδροειδής και καθόλου ευέλικτος. Το Unix δεν έχει λίστες ελέγχου προσπέλασης, εποµένως δεν είναι δυνατόν να παραχωρηθεί δικαίωµα προσπέλασης σε χρήστες σε ατοµική βάση. Ο µόνος τρόπος να δοθεί επιλεκτικά προσπέλαση είναι µέσω των οµάδων. Ωστόσο, δεν είναι δυνατόν να δώσουµε σε ένα µέλος της οµάδας δικαίωµα ανάγνωσης και σε άλλο µέλος δικαίωµα εγγραφής. Στο µειονέκτηµα αυτό πρέπει να προσθέσουµε και το ενδεχόµενο ότι οι χρήστες που παρέχουν δικαιώµατα προσπέλασης σε οµάδες µπορεί να µην είναι γνώστες αλλαγών που πιθανόν έχουν γίνει στα µέλη της οµάδας. Ένας άλλος λόγος παραβίασης της αρχής του ελάχιστου προνοµίου είναι η ύπαρξη του ρόλου υπερ–χρήστη, που έχει όλα τα δυνατά δικαιώµατα. Πέρα όµως από την παραβίαση της αρχής του ελάχιστου προνοµίου, η εξαίρεση του υπερ–χρήστη από τον έλεγχο προσπέλασης παραβιάζει και την αρχή της πλήρους µεσολάβησης. Επιπλέον, η δυνατότητα αλλαγής της ταυτότητας χρήστη παραβιάζει την αρχή της δυνατότητας απόδοσης ευθυνών. Το Unix, και πιο συγκεκριµένα ο έλεγχος προσπέλασης στο Unix, παραβιάζει, επίσης, και µια σειρά αρχών σχεδίασης λειτουργικών συστηµάτων. Πράγµατι, παραβιάζεται η σχεδιαστική αρχή της διαφοροποίησης µεταξύ πολιτικής και µηχανισµού ασφάλειας, επειδή µια άποψη του πώς δουλεύουν οι άνθρωποι είναι ενσωµατωµένη στους µηχανισµούς ελέγχου προσπέλασης. Τέλος, παραβιάζεται επίσης η σχεδιαστική αρχή της ύπαρξης ασφαλών προκαθορισµένων επιλογών (fail–safe defaults). 174 K E º A § A I O 6 : ∆ ∞ À ∆ √ ¶ √ π ∏ ™ ∏ ∫ ∞ π AÀ £ ∂ ¡ ∆ π ∫ √ ¶ √ π ∏ ™ ∏ Πράγµατι, τα συστήµατα Unix συχνά παραδίδονται µε ανασφαλείς προκαθορισµένες επιλογές –αδειών προσπέλασης σε νέα αρχεία, για παράδειγµα–, αφήνοντας την ευθύνη της αλλαγής στο διαχειριστή συστήµατος και στους χρήστες. Με δεδοµένες όλες τις παραπάνω αδυναµίες του Unix, διάφοροι κατασκευαστές το έχουν ενισχύσει, προκειµένου να µπορέσει να ανταποκριθεί στις απαιτήσεις του TCSEC. Η έκδοση 4.1 του Unix System V είχε ενισχύσεις που σχεδιάστηκαν προκειµένου να ικανοποιήσουν τις απαιτήσεις κλάσης Β2 του TCSEC. Φαίνεται ότι η κλάση Β2 αντιπροσωπεύει πιθανότατα το υψηλότερο εφικτό επίπεδο ασφάλειας που µπορεί ένα σύστηµα Unix να φτάσει χωρίς να χρειάζεται να ξαναγραφεί ολοκληρωτικά, διατηρώντας τόσο τη βασική αίσθηση του Unix όσο και τη συµβατότητα προς τα πίσω για υπάρχουσες εφαρµογές. Οι ενισχύσεις αυτές περιλαµβάνουν µια νέα προσέγγιση των δικαιωµάτων, υποστήριξη πολιτικής MAC, λίστες ελέγχου προσπέλασης, µια έµπιστη διαδροµή και, τέλος, κατασταλτικό έλεγχο. ÕÛÎËÛË A˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 6.6 Χαρακτηρίστε τις παρακάτω προτάσεις ως σωστές ή λάθος: Σωστό Λάθος 1. Όταν χρησιµοποιείται η τεχνική του περικαλύµµατος, οι χρήστες αντιλαµβάνονται διαφορά στο επίπεδο ποιότητας της υπηρεσίας που λαµβάνουν. 2. Η ύπαρξη του ρόλου του υπερ–χρήστη στο Unix παραβιάζει την αρχή του ελάχιστου προνοµίου και την αρχή της πλήρους µεσολάβησης. 3. Το Unix δεν παραβιάζει την αρχή της δυνατότητας απόδοσης ευθυνών. 4. Το Unix παρέχει ασφαλείς προκαθορισµένες επιλογές. 5. Το παραδοσιακό Unix δεν υποστηρίζει την πολιτική MAC. ❏ ❏ ❏ ❏ ❏ ❏ ❏ ❏ ❏ ❏ ¢Ú·ÛÙËÚÈfiÙËÙ· 6.5 Συνοψίστε τα χαρακτηριστικά ασφάλειας του λειτουργικού συστήµατος Unix σε µια έκθεση όχι µεγαλύτερη της µισής σελίδας. 6.3 ∏ ∞™º∞§∂π∞ ∆ø¡ WINDOWS NT 175 6.3 ∏ ·ÛÊ¿ÏÂÈ· ÙˆÓ Windows NT Αντίθετα µε τους προγόνους τους (τα λειτουργικά συστήµατα DOS και Windows), που δεν πολυασχολήθηκαν µε την ασφάλεια, τα Windows NT, που προσανατολίζονται σε δικτυακά περιβάλλοντα, παρέχουν πολλές δυνατότητες ασφάλειας. Εκτός του ότι τρέχουν σε πολλές πλατφόρµες υλικού, επιπλέον υποστηρίζουν πολλές λειτουργικές διεπαφές, συµπεριλαµβανοµένων διεπαφών για τα OS/2 και POSIX. Στα Windows NT ένα στρώµα αφαίρεσης υλικού αποµονώνει το µεγαλύτερο τµήµα του λειτουργικού συστήµατος από το υλικό. Πάνω από το στρώµα αυτό βρίσκεται ο πυρήνας του λειτουργικού συστήµατος, που λέγεται προϊστάµενος (executive). Το µεγαλύτερο µέρος των λειτουργιών του συστήµατος εκτελείται από προστατευµένα υποσυστήµατα που εκτελούνται ως εξυπηρετητές. Υπάρχουν µόνο δύο περιοχές προστασίας: πυρήνας και χρήστης. Ο προϊστάµενος εκτελείται σε κατάσταση λειτουργίας πυρήνα, ενώ τα προστατευµένα υποσυστήµατα σε κατάσταση λειτουργίας χρήστη. Παράλληλα, προστατευµένα υποσυστήµατα περιβάλλοντος υλοποιούν λειτουργίες OS/2 και POSIX και την ιθαγενή (native) λειτουργία Win32. Ολοκληρωµένα προστατευµένα υποσυστήµατα περιλαµβάνουν δικτυακά συστατικά και το υποσύστηµα ασφάλειας, που διατηρεί µια βάση δεδοµένων ασφάλειας, αυθεντικοποιεί τους χρήστες και έχει την ευθύνη του κατασταλτικού ελέγχου. Μέρος του πυρήνα αποτελεί και ο παρατηρητής αναφορών ασφάλειας (security reference monitor). ∆ιαµοιράσιµα δεδοµένα που πρέπει να προστατεύονται αναπαρίστανται ως αντικείµενα. Παραδείγµατα τέτοιων αντικειµένων είναι οι διεργασίες, τα νήµατα, οι θύρες και τµήµατα της µνήµης. Παραδείγµατα αντικειµένων Win32 είναι τα παράθυρα και τα µενού. Τα αρχεία είναι επίσης αντικείµενα. Όλα τα αντικείµενα υφίστανται την ίδια µεταχείριση όσον αφορά την ασφάλεια, αλλά αποτελούν και σηµεία ακύρωσης υπηρεσιών ασφάλειας ειδικού τύπου. Γενικές υπηρεσίες που εφαρµόζονται σε όλους τους τύπους αντικειµένων περιλαµβάνουν τις υπηρεσίες Query security και Set security, που επιτρέπουν την ανάκτηση και καθορισµό παραµέτρων ασφάλειας, αντίστοιχα. 6.3.1 ∆·˘ÙÔÔ›ËÛË Î·È ·˘ıÂÓÙÈÎÔÔ›ËÛË Κάθε χρήστης αναγνωρίζεται από τον αναγνωριστή ασφάλειάς (Security Identifier – SID) του, ο οποίος σχετίζεται µε µια δικτυακή περιοχή. Φυσικά, ο ίδιος χρήστης είναι δυνατόν να θέλει να λειτουργήσει σε περισσότερες από µία περιοχές, αλλά στην περίπτωση αυτή χρειάζεται διαφορετικό SID για καθεµία απ’ αυτές. Το σχήµα αυτό ταυτοποίησης υποστηρίζει µια πολιτική RBAC, όπου, όπως είδαµε στο Κεφάλαιο 5, τα δικαιώµατα ανατίθενται ανάλογα µε τη λειτουργία που επιτελεί ο καθένας. O κάθε SID περιλαµβάνει αναγνωριστικά για την εξουσιοδοτούσα αρχή (Windows NT), την 176 K E º A § A I O 6 : ∆ ∞ À ∆ √ ¶ √ π ∏ ™ ∏ ∫ ∞ π AÀ £ ∂ ¡ ∆ π ∫ √ ¶ √ π ∏ ™ ∏ πρωταρχική περιοχή του χρήστη και το χρήστη µέσα στην περιοχή. Η ρύθµιση αυτή οδηγεί στο συµπέρασµα ότι o κάθε SID είναι µοναδικός για όλο το δίκτυο Windows NT. Ένας SID όµως µπορεί να ανήκει σε µια οµάδα χρηστών. Ο χρήστης συνδέεται στο σύστηµα είτε απευθείας είτε µέσω µιας δικτυακής αίτησης. Θα περιορίσω τη συζήτησή µας εδώ µόνο στο πώς λειτουργεί η απευθείας σύνδεση. Για κάθε περιοχή διατηρείται µια βάση δεδοµένων, που λέγεται ∆ιαχειριστής Λογαριασµών Ασφάλειας (Security Account Manager–SAM) και περιλαµβάνει τους χρήστες που έχουν λογαριασµούς στην περιοχή αυτή. Η διεργασία σύνδεσης ελέγχει το όνοµα χρήστη και το συνθηµατικό µε τα περιεχόµενα της βάσης SAM, όπου τα συνθηµατικά φυλάσσονται σε διπλά κρυπτογραφηµένη µορφή. Αν η απόπειρα σύνδεσης είναι επιτυχής, δηµιουργείται ένα διακριτικό προσπέλασης (access token), το οποίο και επισυνάπτεται στην αρχική διεργασία. Το διακριτικό αυτό περιέχει όλες τις πληροφορίες ασφάλειας τις σχετικές µε το χρήστη αυτό, δηλαδή το SID του, ως SID όλων των οµάδων στις οποίες µετέχει αυτός, την προκαθορισµένη λίστα ελέγχου προσπέλασης για τα αντικείµενα που δηµιουργεί και τα δικαιώµατά του. Τα δικαιώµατα αφορούν προσπέλαση σε λειτουργίες που επηρεάζουν την ασφάλεια του συστήµατος, όπως η φόρτωση οδηγών συσκευών ή η δηµιουργία εγγραφών στο ίχνος ελέγχου. Κάθε θυγατρική διεργασία κληρονοµεί ένα αντίγραφο του διακριτικού προσπέλασης και µπορεί ν’ αλλάξει το αντίγραφό της, χωρίς φυσικά να επηρεαστεί η µητρική διεργασία ή άλλες θυγατρικές της. 6.3.2 ŒÏÂÁ¯Ô˜ ÚÔۤϷÛ˘ Όταν µια διεργασία δηµιουργήσει ένα νέο αντικείµενο, ο διαχειριστής αντικειµένων δηµιουργεί έναν περιγραφέα ασφάλειας για το αντικείµενο και επιστρέφει ένα χειριστή (handle), δηλαδή ένα δείκτη προς τον πίνακα αντικειµένων της διεργασίας, µέσω του οποίου γίνονται όλες οι αναφορές της διεργασίας στο αντικείµενο. Ο περιγραφέας ασφάλειας περιλαµβάνει δείκτες προς το SID του ιδιοκτήτη, µια λίστα διακριτικού ελέγχου προσπέλασης και µια λίστα ελέγχου προσπέλασης συστήµατος που καθορίζει ποιες πράξεις επί των αντικειµένων καταγράφονται στο ίχνος ελέγχου. Ο SID του ιδιοκτήτη για ένα νέο αντικείµενο προέρχεται από το διακριτικό προσπέλασης της διεργασίας–δηµιουργού. Ο ιδιοκτήτης µπορεί να αλλάξει την ιδιοκτησία σε οποιονδήποτε SID του διακριτικού προσπέλασης. Αυτό σηµαίνει ότι η ιδιοκτησία µπορεί να παραχωρηθεί σε οποιαδήποτε από τις οµάδες στις οποίες συµµετέχει ο ιδιοκτήτης. Μόνο ο ιδιοκτήτης µπορεί να αλλάξει τη λίστα DAC. Κάθε εγγραφή στη λίστα DAC είτε παραχωρεί είτε παρακρατεί κάποια δικαιώµατα σε κάποιο SID. Η λίστα DAC για νέο αντικείµενο συνήθως αντιγράφεται από τον κατάλογο στον 6.3 ∏ ∞™º∞§∂π∞ ∆ø¡ WINDOWS NT 177 οποίο ανήκει το αντικείµενο, αλλά η διεργασία που το δηµιουργεί µπορεί επίσης να καθορίσει τη λίστα DAC. Αν ο κατάλογος δεν έχει καµιά αντιγράψιµη λίστα DAC ως εγγραφή και δεν καθορίζεται κάποια λίστα DAC, χρησιµοποιείται η προκαθορισµένη λίστα DAC του διακριτικού προσπέλασης. Σε όλα τα αντικείµενα εφαρµόζεται ένα σύνολο ελάχιστων δικαιωµάτων προσπέλασης, ενώ σε συγκεκριµένους τύπους αντικειµένων εφαρµόζονται και άλλα, ειδικά, δικαιώµατα. Για παράδειγµα, το δικαίωµα διαγραφής (delete) είναι ελάχιστο δικαίωµα, ενώ το δικαίωµα θέσης σε αναµονή (suspend) είναι ειδικό δικαίωµα που εφαρµόζεται σε αντικείµενα τύπου νήµατος. Υπάρχουν, επίσης, και τα γενικευµένα δικαιώµατα generic read, generic write, generic execute και generic all, τα οποία αντιστοιχούν σε διαφορετικά ειδικά δικαιώµατα για κάθε τύπο αντικειµένου. Για παράδειγµα, για ένα αντικείµενο τύπου αρχείου, το γενικευµένο δικαίωµα ανάγνωσης αντιστοιχεί σε δύο ελάχιστα και τρία ειδικά δικαιώµατα. Τα δικαιώµατα που παραχωρούνται ή παρακρατούνται καθορίζονται από µια µάσκα προσπέλασης στην εγγραφή της λίστας DAC. ∆έκα bits της µάσκας αναπαριστούν τα ελάχιστα και 16 bits τα ειδικά δικαιώµατα. Οποιαδήποτε διεργασία ανοίγει ένα αντικείµενο πρέπει να καθορίσει τα επιθυµητά δικαιώµατα προσπέλασης. Για παράδειγµα, είναι δυνατόν µια διεργασία να επιθυµεί ν’ ανοίξει ένα αρχείο µε δικαίωµα ανάγνωσης ή δικαίωµα εκτέλεσης ή ανάγνωσης και εγγραφής ή συνδυασµούς αυτών. Τα επιθυµητά δικαιώµατα εκφράζονται µε την ίδια µορφή της µάσκας προσπέλασης, που εµφανίζεται σε µια εγγραφή λίστας DAC. Αν µια διεργασία αιτείται τα µέγιστα επιτρεπόµενα δικαιώµατα προσπέλασης, λαµβάνει όλα τα δικαιώµατα που έχουν παραχωρηθεί στο αντικείµενο από τις εγγραφές της λίστας DAC του. Τα αιτούµενα δικαιώµατα µεταδίδονται στον παρακολουθητή αναφορών ασφάλειας, που τα ελέγχει και επιστρέφει τα παραχωρηθέντα δικαιώµατα, τα οποία µε τη σειρά τους αποθηκεύονται στον πίνακα αντικειµένων της διεργασίας. Η λίστα DAC ελέγχεται µόνο κατά την πρώτη προσπέλαση, ενώ ο έλεγχος προσπέλασης στη συνέχεια εκτελείται µόνο σε σχέση µε τα δικαιώµατα στην εγγραφή του πίνακα. Κώδικας που εκτελείται σε κατάσταση λειτουργίας πυρήνα και που χρησιµοποιεί δείκτες αντί για χειριστές δεν υπόκειται στον έλεγχο αυτό. 178 K E º A § A I O 6 : ∆ ∞ À ∆ √ ¶ √ π ∏ ™ ∏ ∫ ∞ π AÀ £ ∂ ¡ ∆ π ∫ √ ¶ √ π ∏ ™ ∏ ÕÛÎËÛË A˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 6.6 Χαρακτηρίστε τις παρακάτω προτάσεις ως σωστές ή λάθος: Σωστό 1. Τα προστατευµένα υποσυστήµατα εκτελούνται σε κατάσταση λειτουργίας πυρήνα. 2. Ο παρατηρητής αναφορών ασφάλειας είναι µέρος του πυρήνα. 3. Οµάδες χρηστών δεν µπορούν να έχουν τον ίδιο SID. 4. Όταν µια διεργασία αλλάζει το διακριτικό προσπέλασης, επηρεάζονται και τα διακριτικά άλλων διεργασιών. 5. Οι διεργασίες καθορίζουν µόνες τους τα δικαιώµατα προσπέλασης. ❏ ❏ ❏ ❏ ❏ Λάθος ❏ ❏ ❏ ❏ ❏ ¢Ú·ÛÙËÚÈfiÙËÙ· 6.6 Μια περιοχή στα Windows NT αποτελείται από σταθµούς εργασίας και ελεγκτές περιοχής. Πρέπει ο διαχειριστής συστήµατος να έχει το ίδιο συνθηµατικό για όλες ις µηχανές σε µια περιοχή; ¢Ú·ÛÙËÚÈfiÙËÙ· 6.7 Eπισκεφτείτε τη διεύθυνση http://www. microsoft.com/security και διαβάστε τον τρόπο µε τον οποίο κρυπτογραφούνται τα συνθηµατικά στα Windows NT. Πώς συγκρίνεται αυτός µε τον τρόπο κρυπτογράφησης συνθηµατικών του Unix; ¢Ú·ÛÙËÚÈfiÙËÙ· 6.8 Συνοψίστε τα κύρια χαρακτηριστικά ασφάλειας του λειτουργικού συστήµατος Windows NT σε µια έκθεση όχι µεγαλύτερη της µισής σελίδας. B I B § I O ° PA º I A 179 ™‡ÓÔ„Ë Στο κεφάλαιο αυτό συζητήσαµε ζητήµατα ασφάλειας λειτουργικών συστηµάτων. Είδαµε πρώτα τους βασικούς µηχανισµούς προστασίας που υλοποιούνται σ’ ένα λειτουργικό σύστηµα και το πώς προστατεύονται τα βασικά συστατικά ενός λειτουργικού συστήµατος, δηλαδή οι διεργασίες, η µνήµη, οι λειτουργίες Ε/Ε και τα αρχεία. Στη συνέχεια στραφήκαµε στην εξέταση δύο συγκεκριµένων λειτουργικών συστηµάτων, του Unix και των Windows NT, και περιγράψαµε πώς λειτουργεί ο µηχανισµός ταυτοποίησης και αυθεντικοποίησης και ο µηχανισµός ελέγχου προσπέλασης στα συστήµατα αυτά, όπως και άλλα χαρακτηριστικά ασφάλειάς τους, περιλαµβανοµένων και των περιορισµών της σχεδίασής τους. BÈ‚ÏÈÔÁÚ·Ê›· Garfinkel S. and Spafford G., Practical Unix and Internet Security, O’ Reilly, 1996. Gollmann D., Computer Security, John Wiley & Sons, 1999. Pfleeger C. P., Security in Computing, Prentice Hall, Saddle River, NJ, 1997. Summers R. C., Secure Computing: Threats and Safeguards, Mc Graw–Hill, 1997. Tanenbaum A. S. (επιµέλεια µετάφρασης Π. Γεωργιάδη), Σύγχρονα Λειτουργικά Συστήµατα, Εκδόσεις Παπασωτηρίου, Αθήνα, 1993. Γκρίτζαλης ∆., Γκρίτζαλης Σ., Ασφάλεια Λειτουργικών Συστηµάτων, Εκπαιδευτική Εταιρεία Νέων Τεχνολογιών, Αθήνα, 1993. ∫ ∂ K·Îfi‚Ô˘ÏÔ §ÔÁÈÛÌÈÎfi ™ÎÔfi˜ Στο κεφάλαιο αυτό θα ασχοληθούµε µε το κακόβουλο λογισµικό και θα γνωρίσουµε τους ιούς, τις κερκόπορτες, τις λογικές βόµβες, τους ∆ούρειους Ίππους, τους έλικες και τα βακτήρια. 7 º ∞ § ∞ π √ ¶ÚÔÛ‰ÔÎÒÌÂÓ· ·ÔÙÂϤÛÌ·Ù· Όταν θα έχετε τελειώσει τη µελέτη του κεφαλαίου αυτού, θα µπορείτε να: • ∆ώσετε τον ορισµό των ιών. • Περιγράψετε τις 4 φάσεις της ζωής ενός ιού. • Περιγράψετε τη δοµή και λειτουργία ενός απλού ιού • Περιγράψετε τη δοµή και λειτουργία ενός ιού µε συµπίεση. • Περιγράψετε 5 τύπους ιών. • Περιγράψετε τη λειτουργία ενός µακρο-ιού. • Περιγράψετε τρεις µεθόδους προστασίας από τους ιούς. • Περιγράψετε τη λειτουργία των κερκόπορτων. • Περιγράψετε τη λειτουργία των λογικών βοµβών. • Περιγράψετε τη λειτουργία των ∆ούρειων Ίππων. • Περιγράψετε τη λειτουργία των ελίκων. • Περιγράψετε τη λειτουργία των βακτηρίων. ŒÓÓÔȘ ÎÏÂȉȿ • κακόβουλο λογισµικό • ιοί • κερκόπορτες • λογικές βόµβες • ∆ούρειοι Ίπποι • έλικες • βακτήρια 182 KEºA§AIO 7: K∞∫√µ√À§√ §√°π™ªπ∫√ ∂ÈÛ·ÁˆÁÈΤ˜ ·Ú·ÙËÚ‹ÛÂȘ Ίσως οι πιο εξεζητηµένες απειλές εναντίον πληροφοριακών συστηµάτων να εκδηλώνονται µέσω προγραµµάτων που εκµεταλλεύονται µία ή περισσότερες ευπάθειες ενός ή περισσότερων υπολογιστικών συστηµάτων. Τέτοια προγράµµατα αναφέρονται συνήθως συνεκδοχικά µε τον όρο κακόβουλο λογισµικό (malicious software). Τα προγράµµατα αυτά είναι κατασκευασµένα ειδικά για το σκοπό της παραβίασης της ασφάλειας κάποιου πληροφοριακού συστήµατος ή, συνηθέστερα, συνυπάρχουν µαζί µε κάποιο πρόγραµµα γενικού σκοπού. Είναι φυσικό, λοιπόν, να µας απασχολούν τόσο προγράµµατα εφαρµογών όσο και προγράµµατα γενικής χρήσης, όπως µεταφραστές και εκδότες. Το κακόβουλο λογισµικό διακρίνεται σε δύο κατηγορίες: αυτό που χρειάζεται ένα πρόγραµµα-φορέα και το αυθύπαρκτο. Η πρώτη κατηγορία αποτελείται στην ουσία από τµήµατα προγράµµατος που δεν είναι δυνατόν να υπάρξουν ανεξάρτητα από κάποιο πρόγραµµα εφαρµογής ή λογισµικό συστήµατος. Η δεύτερη κατηγορία αποτελείται από αυθύπαρκτα προγράµµατα, που µπορούν να χρονοπρογραµµατιστούν και να εκτελεστούν κάτω από τον έλεγχο του λειτουργικού συστήµατος, όπως και κάθε άλλο πρόγραµµα. Μπορούµε, επίσης, να κατηγοριοποιήσουµε το κακόβουλο λογισµικό διαφορετικά: στο µη αναπαραγόµενο και στο αναπαραγόµενο. Η πρώτη κατηγορία περιλαµβάνει τµήµατα προγράµµατος που ενεργοποιούνται όταν καλείται το πρόγραµµα-φορέας για να εκτελέσει µια συγκεκριµένη λειτουργία. Η δεύτερη κατηγορία περιλαµβάνει τµήµατα προγράµµατος (ιοί), αλλά και αυθύπαρκτα προγράµµατα (έλικες, βακτήρια), που, όταν εκτελούνται, µπορούν να παραγάγουν ένα ή περισσότερα αντίγραφα του εαυτού τους, τα οποία θα ενεργοποιηθούν αργότερα στο ίδιο ή σε κάποιο άλλο υπολογιστικό σύστηµα. Αν και η ταξινόµηση αυτή είναι χρήσιµη για να οργανώσουµε την πληροφορία που συζητάµε, πρέπει να επισηµάνω ότι δεν περιγράφει ολόκληρη την εικόνα του κακόβουλου λογισµικού. Για παράδειγµα, οι λογικές βόµβες και οι ∆ούρειοι Ίπποι µπορεί να είναι τµήµατα ενός ιού ή ενός έλικα. Αρχίζουε τη συζήτηση µε την πιο γνωστή και διαδεδοµένη κατηγορία κακόβουλου λογισµικού, αφιερώνοντας την πρώτη ενότητα στο ιοµορφικό λογισµικό. Η δεύτερη ενότητα περιγράφει τις υπόλοιπες µορφές κακόβουλου λογισµικού. 7.1 π√ª√ƒºπ∫√ §√°π™ªπ∫√ 183 7.1 πÔÌÔÚÊÈÎfi ÏÔÁÈÛÌÈÎfi Ιός (virus) είναι ένα πρόγραµµα που µπορεί να «µολύνει» άλλα προγράµµατα τροποποιώντας τα. Η τροποποίηση περιλαµβάνει και την εισαγωγή στο πρόγραµµα που µολύνεται ενός αντιγράφου του ιού, που στη συνέχεια µπορεί να συνεχίσει τη διαδικασία και να µολύνει και άλλα προγράµµατα. Ο Fred Cohen ήταν ο πρώτος που µελέτησε τη συµπεριφορά των ιών συστηµατικά. Απέδειξε ότι µόλυνση είναι δυνατόν να υπάρξει όποτε υπάρχει διαµοιράσιµη πληροφορία ή µη ελεγχόµενη ροή πληροφορίας. Αν ένα πρόγραµµα Π που ανήκει στο χρήστη Α είναι µολυσµένο και ένας χρήστης Β το εκτελέσει, τα αρχεία του Β µπορεί να µολυνθούν. Επιπλέον, αν υπάρχει διαδροµή επικοινωνίας από το χρήστη Α στο χρήστη Β και άλλη διαδροµή από το χρήστη Β στο χρήστη Γ, τότε υπάρχει διαδροµή επικοινωνίας από τον Α στον Γ, ακόµη και αν ο Β δεν το γνωρίζει. Τα βασικά πορίσµατα της θεωρητικής ανάλυσης του Cohen είναι τα ακόλουθα: 1. Η ένωση οποιουδήποτε συνόλου ιοµορφών είναι επίσης ιοµορφή. 2. Το πλήθος των διαφορετικών ιών µιας υπολογιστικής µηχανής είναι άπειρο. 3. Το πλήθος των προγραµµάτων που δεν είναι ιοί, για µια συγκεκριµένη υπολογιστική µηχανή, είναι άπειρο. 4. ∆εν είναι δυνατόν να σχεδιαστεί υπολογιστική µηχανή ικανή να αποφανθεί αν µια ακολουθία συµβόλων είναι ιός ή όχι απαριθµώντας όλα τα προγράµµατα που είναι ιοί ή αποκλείοντας όλα εκείνα που δεν είναι. 5. Κάθε πρόγραµµα που αντιγράφει τον εαυτό του είναι ιός. 6. ∆εν είναι δυνατή η σχεδίαση ενός προγράµµατος το οποίο να αποφαίνεται, σε πεπερασµένο χρόνο, αν µια δεδοµένη ακολουθία συµβόλων που αποτελούν ένα πρόγραµµα για µια συγκεκριµένη µηχανή είναι ιός ή όχι. 7. Η διαπίστωση αν µια δεδοµένη ακολουθία συµβόλων που είναι ιός µπορεί να παραχθεί από µια άλλη δεδοµένη ακολουθία συµβόλων που επίσης είναι ιός είναι µη επιλύσιµο (undecidable) πρόβληµα. 8. ∆εν υπάρχει πρόγραµµα το οποίο να µπορεί να ανιχνεύσει όλους τους ιούς µιας συγκεκριµένης υπολογιστικής µηχανής. 9. ∆εν υπάρχει πρόγραµµα το οποίο να µπορεί να εντοπίσει από ποιο πρόγραµµα–φορέα προκλήθηκε η προσβολή νός αρχικά απρόσβλητου προγράµµατος. Σύµφωνα µε τη θεωρητική ανάλυση του Cohen, ο µόνος σίγουρος τρόπος για να 184 KEºA§AIO 7: K∞∫√µ√À§√ §√°π™ªπ∫√ εµποδίσουµε τη διάδοση µιας µόλυνσης που οφείλεται σε ιό είναι να απαγορεύσουµε την ύπαρξη διαµοιράσιµων πόρων και τη ροή πληροφορίας στο σύστηµά µας. Τότε, όµως, στην ουσία θα καταλήξουµε να έχουµε ένα σύστηµα που δε λειτουργεί. Οι βιολογικοί ιοί είναι απειροελάχιστα τµήµατα γενετικού κώδικα –DNA ή RNA– που µπορούν να καταλάβουν το µηχανισµό αναπαραγωγής ενός υγιούς ζωντανού κυττάρου κάποιου οργανισµού και να τον εξαπατήσουν, έτσι ώστε να δηµιουργήσει χιλιάδες τέλεια αντίγραφα του αρχικού ιού. Όπως και τα βιολογικά τους ανάλογα, οι ιοί του υπολογιστή περιέχουν στον κώδικά τους τη «συνταγή» δηµιουργίας τέλειων αντιγράφων του εαυτού τους. Αφού πρώτα εγκατασταθεί σε ένα υπολογιστικό σύστηµα, ο ιός αποκτά, προσωρινά, τον έλεγχο του λειτουργικού συστήµατος. Όταν συµβεί αυτό, οποτεδήποτε ο µολυσµένος υπολογιστής έρθει σε επαφή µε µη µολυσµένο πρόγραµµα, το πρόγραµµα αυτό µολύνεται µε την εισαγωγή στον κώδικά του ενός αντιγράφου του ιού. Είναι φανερό ότι µε τη διαδικασία αυτή η µόλυνση µπορεί να διαδοθεί από υπολογιστή σε υπολογιστή µέσω ανυποψίαστων χρηστών που είτε ανταλλάσσουν δισκέτες είτε προγράµµατα µέσω δικτύου. Τα περιβάλλοντα δικτύου, µάλιστα, µε τη δυνατότητα που παρέχουν στους χρήστες για προσπέλαση εφαρµογών και υπηρεσιών συστήµατος που βρίσκονται σε απόµακρους υπολογιστές, αποτελούν ιδεώδες περιβάλλον για τη διάδοση των ιών. Ένας ιός µπορεί να κάνει ο,τιδήποτε και οποιοδήποτε άλλο πρόγραµµα. Η µόνη διαφορά είναι ότι προσαρτάται σε ένα άλλο πρόγραµµα και εκτελείται κρυφά, όταν εκτελείται το πρόγραµµα–φορέας. Από τη στιγµή που εκτελείται ένας ιός, µπορεί να επιτελέσει οποιαδήποτε λειτουργία, όπως, π.χ., διαγραφή αρχείων και προγραµµάτων. Κατά τη διάρκεια της ζωής του ένας ιός περνάει τις εξής τέσσερις φάσεις: 1. Φάση ύπνωσης. Κατά τη φάση αυτή ο ιός είναι ανενεργός. Ο ιός κάποτε θα ενεργοποιηθεί από κάποιο γεγονός, όπως την έλευση µιας ηµεροµηνίας, την παρουσία ενός άλλου προγράµµατος ή αρχείου ή την υπέρβαση κάποιου αποθηκευτικού ορίου στο δίσκο. Η φάση αυτή δεν είναι απαραίτητο να υπάρχει σε όλους τους ιούς. 2. Φάση διάδοσης. Κατά τη φάση αυτή ο ιός τοποθετεί ένα ακριβές αντίγραφο του εαυτού του σε άλλα προγράµµατα ή σε συγκεκριµένες περιοχές του δίσκου. Κάθε µολυσµένο πρόγραµµα θα περιέχει τώρα έναν κλώνο του ιού, ο οποίος µε τη σειρά του θα µπει σε φάση διάδοσης. 3. Φάση ενεργοποίησης. Ο ιός ενεργοποιείται για να επιτελέσει τη λειτουργία για την οποία έχει σχεδιαστεί. Όπως και µε τη φάση διάδοσης, η φάση ενεργοποίησης µπορεί να πυροδοτηθεί από την εµφάνιση κάποιου γεγονότος σχετικού µε 7.1 π√ª√ƒºπ∫√ §√°π™ªπ∫√ 185 το σύστηµα. Αν και η ποικιλία τέτοιων γεγονότων είναι πολύ µεγάλη, αντανακλώντας και τη φαντασία των δηµιουργών τους, ένα συνηθισµένο τέτοιο γεγονός είναι η δηµιουργία συγκεκριµένου αριθµού αντιγράφων του ιού ή η έλευση µιας συγκεκριµένης ηµεροµηνίας. 4. Φάση εκτέλεσης. Η λειτουργία που προβλέπεται στον κώδικα του ιού επιτελείται. Η λειτουργία µπορεί να είναι ουσιαστικά αβλαβής, όπως η απλή εµφάνιση ενός µηνύµατος στην οθόνη, ή επιβλαβής, όπως η καταστροφή προγραµµάτων και αρχείων δεδοµένων. Οι περισσότεροι ιοί εκτελούν τη δουλειά τους µε τρόπο ειδικά σχεδιασµένο για το συγκεκριµένο λειτουργικό σύστηµα και, σε µερικές περιπτώσεις, ειδικά σχεδιασµένο για συγκεκριµένη πλατφόρµα υλικού. Έτσι, είναι σχεδιασµένοι για να εκµεταλλεύονται τις λεπτοµέρειες και αδυναµίες συγκεκριµένων συστηµάτων. ÕÛÎËÛË A˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 7.1 Βάλτε στη σωστή χρονική σειρά τις παρακάτω φάσεις της ζωής ενός ιού: 1. Φάση εκτέλεσης 2. Φάση διάδοσης 3. Φάση ύπνωσης 4. Φάση ενεργοποίησης 7.1.1 ¢ÔÌ‹ ÈÒÓ Είπαµε στην προηγούµενη παράγραφο ότι οι ιοί απαιτούν την ύπαρξη ενός προγράµµατος–φορέα, στο οποίο και ενσωµατώνονται, προκειµένου να λειτουργήσουν. Πώς όµως γίνεται αυτό; Ένας τρόπος είναι να προσαρτάται ο ιός στην αρχή ή στο τέλος ενός εκτελέσιµου προγράµµατος. Εναλλακτικά, ο ιός µπορεί να ενσωµατώνεται στο πρόγραµµα σε άλλη θέση. Όπου όµως και να βρίσκεται ο ιός σε σχέση µε τον κώδικα του προγράµµατος–φορέα, το κλειδί της λειτουργίας του είναι ότι, όταν ενεργοποιηθεί το πρόγραµµα–φορέας, πρώτα θα εκτελεστεί ο κώδικας του ιού και µετά ο κανονικός, αρχικός κώδικας του προγράµµατος. Μια πολύ γενική περιγραφή της δοµής ενός ιού δίνεται στο Σχήµα 7.1. Στην περίπτωση αυτή, ο κώδικας του ιού, V, προσαρτάται στην αρχή των µολυσµένων προγραµµάτων. Υποτίθεται ότι το σηµείο εισαγωγής στο πρόγραµµα, όταν αυτό κληθεί, είναι η πρώτη γραµµή του κώδικα. 186 KEºA§AIO 7: K∞∫√µ√À§√ §√°π™ªπ∫√ Program V:= {goto main; 1234567; subroutine infect–executable:= {loop: file := get–random–executable–file; if (first–line–of–file = 1234567 ) then goto loop else prepend V to file;} subroutine do–damage := {whatever damage is to be done} subroutine trigger–pulled := {return true if some condition holds} main: main–program := {infect–executable; if trigger–pulled then do–damage; goto next;} next: ™¯‹Ì· 7.1 } Ένας απλός ιός Κάθε µολυσµένο πρόγραµµα αρχίζει µε τον κώδικα του ιού και λειτουργεί ως εξής: Η πρώτη γραµµή του κώδικα δεν είναι τίποτε άλλο παρά µια µεταφορά του απαριθµητή προγράµµατος στην αρχή του κύριου προγράµµατος του ιού. Η δεύτερη γραµµή είναι ένας ειδικός δείκτης, που χρησιµοποιείται από τον ιό για να καθορίσει αν ένα εν δυνάµει πρόγραµµα–θύµα είναι ήδη µολυσµένο από τον ιό ή όχι. Ο δείκτης αυτός αναφέρεται συνήθως ως υπογραφή (signature) του ιού. Όταν ενεργοποιηθεί το µολυσµένο πρόγραµµα, ο έλεγχος αµέσως µεταφέρεται στο κύριο πρόγραµµα του ιού. Το κύριο πρόγραµµα του ιού πρώτα αναζητά µη µολυσµένα εκτελέσιµα αρχεία και µολύνει όσα βρει. Στη συνέχεια, ο ιός µπορεί να επιτελεί κάποια λειτουργία, συνήθως τετριµµένη για το σύστηµα. Η ενέργεια αυτή µπορεί να εκτελείται κάθε φορά που ενεργοποιείται το µολυσµένο πρόγραµµα ή µπορεί να είναι 7.1 π√ª√ƒºπ∫√ §√°π™ªπ∫√ 187 µια λογική βόµβα που πυροδοτείται µόνο όταν εκπληρώνονται ορισµένες συνθήκες. Τέλος, ο ιός µεταφέρει τον έλεγχο πάλι στο αρχικό πρόγραµµα. Αν η φάση µόλυνσης του προγράµµατος εκτελεστεί µε αρκετά µεγάλη ταχύτητα, είναι απίθανο ο χρήστης να αντιληφθεί διαφορά ανάµεσα στην εκτέλεση ενός µολυσµένου και ενός µη µολυσµένου προγράµµατος. Είναι ίσως τώρα εύκολο να προτείνουµε τον πρώτο τρόπο αντιµετώπισης ενός τέτοιου ιού. Πράγµατι, ένας ιός σαν αυτόν που περιγράψαµε µόλις τώρα είναι εύκολα ανιχνεύσιµος, γιατί η µολυσµένη έκδοση του προγράµµατος είναι µεγαλύτερη από τη µη µολυσµένη. Αν, όµως, δεν υπήρχε και απάντηση στην απάντησή µας αυτή, οι ιοί δε θα ήταν τόσο διαδεδοµένοι σήµερα. Ένας τρόπος λοιπόν ν’ αντιµετωπιστεί αυτός ο απλός τρόπος ανίχνευσης του ιού είναι η συµπίεση του εκτελέσιµου κώδικα, έτσι ώστε τόσο η µολυσµένη όσο και η µη µολυσµένη έκδοση του προγράµµατος να έχουν το ίδιο µήκος. Το Σχήµα 7.2 δείχνει τη γενική µορφή της λογικής που απαιτείται να έχει ο ιός για να το πετύχει αυτό. Program I := {goto main; 01234567; subroutine infect–executable:= {loop: file := get–random–executable–file; if (first–line–of–file = 01234567 ) then goto loop; compress file; prepend I to file; } main: main–program := { if ask–permission then infect–executable; uncompress rest of file; run uncompressed file;} } ™¯‹Ì· 7.2 Λογική ιού µε συµπίεση Για να δούµε πώς λειτουργεί, ας υποθέσουµε ότι το πρόγραµµα Π1 είναι µολυσµένο µε τον ιό Ι. Όταν κληθεί το πρόγραµµα, ο έλεγχος περνάει στον ιό, ο οποίος εκτελεί τα εξής βήµατα: 188 KEºA§AIO 7: K∞∫√µ√À§√ §√°π™ªπ∫√ 1. Για κάθε µη µολυσµένο πρόγραµµα Π2 που ανακαλύπτεται, ο ιός πρώτα συµπιέζει το αρχείο αυτό και παράγει το αρχείο Π΄2, που είναι µικρότερο από το αρχικό κατά τόσα bytes όσα και το µήκος του ιού. 2. Ένα αντίγραφο του ιού προσαρτάται στην αρχή του συµπιεσµένου προγράµµατος. 3. Η συµπιεσµένη έκδοση του αρχικά µολυσµένου προγράµµατος Π΄1 αποσυµπιέζεται. 4. Το αρχικό, µη συµπιεσµένο πρόγραµµα εκτελείται. Στο παράδειγµα αυτό ο ιός δεν κάνει τίποτε άλλο παρά να διαδίδεται. Όπως και στο προηγούµενο παράδειγµα, ο ιός θα µπορούσε να περιέχει µια λογική βόµβα. Είδαµε, λοιπόν, ότι από τη στιγµή που ο ιός αποκτά πρόσβαση σε κάποιο σύστηµα µολύνοντας κάποιο πρόγραµµα είναι σε θέση να µολύνει και άλλα ή όλα τα εκτελέσιµα αρχεία στο σύστηµα αυτό όταν εκτελεστεί το µολυσµένο πρόγραµµα. Εποµένως, η µόλυνση από τον ιό µπορεί να αποφευχθεί αν αποφευχθεί η είσοδός του στο σύστηµα. ∆υστυχώς, αυτό είναι πολύ δύσκολο να γίνει πάντα, γιατί ο ιός µπορεί να µεταφέρεται από οποιοδήποτε, εξωτερικό του συστήµατος, αρχείο. Οι περισσότερες µολύνσεις από ιούς ξεκινούν από κάποιο δίσκο από τον οποίο αντιγράφονται αρχεία στο σύστηµα. Τις περισσότερες φορές τα αρχεία αυτά είναι παιχνίδια ή απλώς αλλά χρήσιµα και βολικά προγράµµατα εφαρµογών, που κάποιοι υπάλληλοι αντιγράφουν από τον υπολογιστή τους στο σπίτι και τα φέρνουν στο γραφείο. Ωστόσο, δε λείπουν και οι περιπτώσεις που βρέθηκαν ιοί σε δίσκους που παρέδωσε ο κατασκευαστής και περιείχαν επίσηµα αγορασµένο λογισµικό. Άλλη πηγή µόλυνσης είναι, φυσικά, το διαδίκτυο. ÕÛÎËÛË A˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 7.2 Βάλτε στη σωστή χρονική σειρά τα παρακάτω βήµατα εκτέλεσης ενός ιού µε συµπίεση: 1. Προσάρτηση αντιγράφου του ιού στην αρχή του συµπιεσµένου προγράµµατος. 2. Αποσυµπίεση της συµπιεσµένης έκδοσης του αρχικά µολυσµένου προγράµµατος. 3. Συµπίεση κάθε µη µολυσµένου προγράµµατος. 4. Εκτέλεση του αρχικού προγράµµατος. 7.1 π√ª√ƒºπ∫√ §√°π™ªπ∫√ 189 7.1.2 ∆‡ÔÈ ÈÒÓ Ο αγώνας δρόµου µεταξύ των δηµιουργών ιών και των δηµιουργών αντιβιοτικών έχει αρχίσει από τότε που εµφανίστηκε ο πρώτος ιός, γύρω στο 1984, και συνεχίζεται µε αµείωτη ένταση. Καθώς αναπτύσσονται αποτελεσµατικά αντίµετρα εναντίον συγκεκριµένων τύπων ιών, αναπτύσσονται και νέοι τύποι ιών, που υπερνικούν τα νέα αντίµετρα. Σήµερα µπορούµε να πούµε ότι οι βασικοί τύποι ιών είναι πέντε: • Παρασιτικοί (parasitic). Ο παραδοσιακός αλλά και πιο διαδεδοµένος τύπος ιού. Οι ιοί αυτοί προσαρτώνται σε εκτελέσιµα αρχεία και αναπαράγονται, όταν εκτελεστεί το µολυσµένο πρόγραµµα, βρίσκοντας και άλλα εκτελέσιµα αρχεία για να µολύνουν. • Παραµένοντες στη µνήµη (memory–resident). Οι ιοί αυτοί εγκαθίστανται στην κύρια µνήµη ως τµήµατα προγραµµάτων που παραµένουν στη µνήµη. Από τη στιγµή της εγκατάστασής τους, οι ιοί αυτοί µολύνουν κάθε πρόγραµµα που εκτελείται. • Τοµέα εκκίνησης (boot). Οι ιοί αυτοί µολύνουν τον τοµέα εκκίνησης του δίσκου. ∆ιαδίδονται όταν το σύστηµα εκκινήσει από το δίσκο που περιέχει τον ιό. • ∆υσανιχνεύσιµοι (stealth). Οι ιοί αυτοί είναι ειδικά σχεδιασµένοι ώστε να αποφεύγουν την ανίχνευση από ειδικό αντιβιοτικό λογισµικό. • Πολυµορφικοί (polymorphic). Οι ιοί αυτοί µεταλλάσσονται µε κάθε µόλυνση, αλλάζοντας την υπογραφή τους και καθιστώντας έτσι αδύνατη την ανίχνευσή τους µέσω αυτής. Ένα παράδειγµα δυσανιχνεύσιµου ιού το συζητήσαµε νωρίτερα: Είναι ο ιός που χρησιµοποιεί συµπίεση για να αποφύγει την αύξηση του µεγέθους του µολυσµένου αρχείου. Υπάρχουν όµως και πολύ πιο πολύπλοκες και εξεζητηµένες τεχνικές δηµιουργίας τέτοιων ιών. Για παράδειγµα, είναι δυνατόν ένας ιός να εγκαταστήσει κώδικα υποκλοπής στις ρουτίνες εισόδου – εξόδου ενός συστήµατος, έτσι ώστε, όταν επιχειρηθεί ανάγνωση των µολυσµένων περιοχών του δίσκου, ο ιός να εµφανίζει την αρχική, µη µολυσµένη έκδοση των αρχείων. Εποµένως, ο προσδιορισµός «δυσανιχνεύσιµος» δε χαρακτηρίζει τόσο τον ιό τον ίδιο, όσο την τεχνική που αυτός χρησιµοποιεί για να αποφύγει την ανίχνευσή του. Ο πολυµορφικός ιός δηµιουργεί κατά την αναπαραγωγή του αντίγραφα που είναι λειτουργικά ισοδύναµα µε το πρωτότυπο, αλλά περιέχουν σαφώς διαφορετικές ακολουθίες ψηφίων. Όπως και µε το δυσανιχνεύσιµο ιό, ο σκοπός είναι να εξπατηθεί 190 KEºA§AIO 7: K∞∫√µ√À§√ §√°π™ªπ∫√ το αντιβιοτικό λογισµικό. Στην περίπτωση αυτή, η υπογραφή του ιού θα διαφέρει από αντίγραφο σε αντίγραφο. Για να πετύχει αυτήν τη διαφοροποίηση, ο ιός µπορεί να εισάγει τυχαίες περιττές εντολές ή να αλλάζει τη σειρά εµφάνισης ανεξάρτητων µεταξύ τους εντολών. Όµως, µια πιο αποτελεσµατική τακτική είναι να χρησιµοποιηθεί κρυπτογράφηση. Στην τακτική αυτή, ένα τµήµα του ιού, που συνήθως ονοµάζεται µηχανή µετάλλαξης, δηµιουργεί ένα τυχαίο κλειδί κρυπτογράφησης και κρυπτογραφεί τον υπόλοιπο κώδικα του ιού. Το κλειδί αποθηκεύεται µαζί µε τον ιό και η µηχανή µετάλλαξης µεταλλάσσεται η ίδια. Όταν κληθεί το µολυσµένο πρόγραµµα, ο ιός χρησιµοποιεί το αποθηκευµένο κλειδί για να αυτοαποκρυπτογραφηθεί. Όταν ο ιός αναπαραχθεί, δηµιουργείται νέο κλειδί. Ένα άλλο όπλο στο οπλοστάσιο των δηµιουργών ιών είναι η εργαλειοθήκη δηµιουργίας ιών. Μια τέτοια εργαλειοθήκη επιτρέπει ακόµη και σε σχετικά άπειρους χρήστες να δηµιουργήσουν γρήγορα µια σειρά ιών. Αν και οι ιοί που δηµιουργούνται µε τέτοιες εργαλειοθήκες είναι συνήθως λιγότερο εξεζητηµένοι απ’ αυτούς που σχεδιάζονται επί τούτου, ο αριθµός των ιών που δηµιουργείται είναι τόσο µεγάλος, που από µόνος του δηµιουργεί προβλήµατα. Ακόµη ένα εργαλείο του δηµιουργού ιών είναι ο πίνακας ανακοινώσεων ανταλλαγής ιών. Υπάρχουν διάφοροι τέτοιοι πίνακες στην Αµερική και σε άλλες χώρες, στους οποίους είναι αναρτηµένα πρότυπα ιών που µπορούν να αντιγραφούν, καθώς και υποδείξεις δηµιουργίας άλλων ιών. 7.1.3 ª·ÎÚÔ–ÈÔ› Πρόσφατα αυξήθηκε δραµατικά ο αριθµός των ιών που ανευρίσκονται σε επιχειρηµατικά συστήµατα. Η αύξηση αυτή οφείλεται, κατά κύριο λόγο, σε ένα νέο τύπο ιού, το µακρο–ιό (macro–virus). Σύµφωνα µε τη NCSA, οι µακρο–ιοί σήµερα συνιστούν τα δύο τρίτα του συνόλου των ιών. Οι ιοί αυτοί είναι ιδιαίτερα επικίνδυνοι, επειδή: 1. Είναι ανεξάρτητοι από πλατφόρµες υλικού. Σχεδόν όλοι τους µολύνουν αρχεία Microsoft. Κάθε πλατφόρµα υλικού και λειτουργικό σύστηµα που υποστηρίζει το Word µπορεί να µολυνθεί. 2. Μολύνουν αρχεία κειµένου και όχι εκτελέσιµα προγράµµατα. Η πλειοψηφία της πληροφορίας που εισάγεται σε ένα υπολογιστικό σύστηµα είναι σε µορφή τέτοιων αρχείων και όχι σε µορφή εκτελέσιµων προγραµµάτων. 3. ∆ιαδίδονται εύκολα. Μια πολύ συνηθισµένη µέθοδος διάδοσης είναι µε το ηλεκτρονικό ταχυδροµείο. 7.1 π√ª√ƒºπ∫√ §√°π™ªπ∫√ 191 Οι µακρο–ιοί εκµεταλλεύονται τις µακρο–εντολές του Word, οι οποίες υπάρχουν και σε άλλα προγράµµατα εφαρµογών γραφείου (π.χ. Excel). Η µακρο–εντολή είναι στην ουσία ένα εκτελέσιµο πρόγραµµα ενσωµατωµένο σε ένα αρχείο κειµένου ή ένα λογιστικό φύλλο γραµµένο συνήθως σε κάποια µορφή της Basic. Ο βασικός λόγος της δηµοτικότητάς τους είναι ότι οι χρήστες τις χρησιµοποιούν προκειµένου να αυτοµατοποιήσουν λειτουργίες που εκτελούν συχνά και να µειώσουν έτσι την απαιτούµενη πληκτρολόγηση. Επιπλέον, ο χρήστης µπορεί να ορίσει µια ακολουθία πλήκτρων ως µακρο–εντολή και να την ορίσει έτσι ώστε να ενεργοποιείται όταν πατηθεί ένα ειδικό πλήκτρο ή µια ακολουθία πλήκτρων. Αυτό που κάνει δυνατή τη συγγραφή µακρο–ιών είναι η αυτοεκτελούµενη µακρο–εντολή, δηλαδή η µακρο–εντολή που ενεργοποιείται αυτόµατα, χωρίς να απαιτείται εξωγενής παρέµβαση του χρήστη. Γεγονότα που µπορούν να χρησιµοποιηθούν για να προκαλέσουν την ενεργοποίηση µιας αυτοεκτελούµενης µακρο–εντολής είναι το άνοιγµα ή το κλείσιµο ενός αρχείου ή η εκκίνηση µιας εφαρµογής. Από τη στιγµή που τρέχει η µακρο–εντολή, µπορεί να αντιγράψει τον εαυτό της σε άλλα αρχεία, να διαγράψει αρχεία ή να προκαλέσει άλλου είδους ζηµιές. Στο Microsoft Word υπάρχουν τρία είδη αυτοεκτελούµενων µακρο–εντολών: 1. Autoexecute. Αν υπάρχει µακρο–εντολή µε το όνοµα AutoExec στο αρχείο normal.dot ή σε κάποιο ολικό πρότυπο που είναι αποθηκευµένο στο ευρετήριο εκκίνησης του Word, εκτελείται οποτεδήποτε εκκινεί το Word. 2. Automacro. Μια τέτοια µακρο–εντολή εκτελείται όταν συµβεί κάποιο καθορισµένο γεγονός, όπως το άνοιγµα ή κλείσιµο κάποιου εγγράφου, η δηµιουργία ενός νέου εγγράφου ή το κλείσιµο του Word. 3. Command macro. Αν µια µακρο–εντολή που προσαρτάται σε ολικό µακρο–αρχείο ή σε έγγραφο έχει το όνοµα µιας υπάρχουσας εντολής του Word, εκτελείται όποτε ο χρήστης ενεργοποιήσει την εντολή αυτή. Μια συνηθισµένη τακτική διάδοσης ενός µακρο–ιού είναι η ακόλουθη: Μια automacro ή command macro προσαρτάται σε ένα έγγραφο Word, που εισάγεται στο σύστηµα µέσω ηλεκτρονικού ταχυδροµείου ή µε µεταφορά αρχείου. Κάποια στιγµή, µετά το άνοιγµα του εγγράφου, εκτελείται η µακρο–εντολή, η οποία αντιγράφει τον εαυτό της στο ολικό αρχείο µακρο–εντολών. Όταν επανεκκινήσει το Word, το αρχείο αυτό ενεργοποιείται. Μόλις ενεργοποιηθεί η συγκεκριµένη αυτή µακρο–εντολή, αφενός µεν αναπαράγεται, αφετέρου δε µπορεί να προκαλέσει ζηµιά. Ευτυχώς, οι πρόσφατες εκδόσεις του Word παρέχουν κάποια αυξηµένη (αν και όχι απόλυτη) προστασία έναντι µακρο–ιών. Για παράδειγµα, η Microsoft προσφέρει ένα 192 KEºA§AIO 7: K∞∫√µ√À§√ §√°π™ªπ∫√ προαιρετικό εργαλείο προστασίας από µακρο–ιούς που ανιχνεύει ύποπτα αρχεία Word και επισηµαίνει στο χρήστη τους κινδύνους που διατρέχει ανοίγοντάς τα. Ανάλογα εργαλεία έχουν αναπτύξει και κατασκευαστές αντιβιοτικών. Όπως και µε τα άλλα είδη ιών, ο αγώνας µεταξύ κατασκευαστών ιών και αντιβιοτικών συνεχίζεται αµείλικτος. ÕÛÎËÛË A˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 7.3 Αντιστοιχίστε τους τύπους ιών της αριστερής στήλης µε τα κύρια χαρακτηριστικά της δεξιάς στήλης: 1. Παρασιτικός 2. Παραµένων στη µνήµη 3. Τοµέα εκκίνησης 4. ∆υσανιχνεύσιµος 5. Πολυµορφικός 6. Μακρο–ιός 1. Προσάρτηση σε πρόγραµµα που παραµένει στη µνήµη 2. Μόλυνση µη εκτελέσιµων αρχείων 3. Τροποποίηση υπογραφής 4. Προσάρτηση σε εκτελέσιµο αρχείο 5. Ειδική σχεδίαση για εξαπάτηση αντιβιοτικών 6. Μόλυνση συγκεκριµένου τοµέα του δίσκου 7.1.4 ¶ÚÔÛÙ·Û›· Πρέπει να έχει γίνει ήδη φανερό ότι η ιδανική λύση εναντίον των ιών είναι η πρόληψη της εισαγωγής τους στο σύστηµα. ∆υστυχώς, αυτός ο στόχος είναι γενικά αδύνατον να επιτευχθεί, αν και η πρόληψη µπορεί να ελαττώσει το πλήθος των επιτυχών επιθέσεων ιών. Με δεδοµένο, λοιπόν, ότι δεν είναι δυνατόν να αποφύγουµε τελείως την εισαγωγή ιών στο σύστηµά µας, οι αµέσως καλύτερες επιλογές µας είναι οι εξής: • Ανίχνευση. Από τη στιγµή που συνέβη η µόλυνση, το γεγονός να διαπιστωθεί και να εντοπιστεί ο ιός. • Αναγνώριση. Από τη στιγµή που επιτεύχθηκε η ανίχνευση, να αναγνωριστεί ο συγκεκριµένος ιός που µόλυνε το πρόγραµµα. • Αποµάκρυνση. Από τη στιγµή που έγινε η αναγνώριση, να αποµακρυνθούν όλα τα ίχνη του ιού από το µολυσµένο πρόγραµµα και να αποκατασταθεί η αρχική του κατάσταση. Επιπλέον, να αποµακρυνθεί ο ιός απ’ όλα τα µολυσµένα συστήµατα, έτσι ώστε να µην µπορέσει να εξαπλωθεί παραπέρα. 7.1 π√ª√ƒºπ∫√ §√°π™ªπ∫√ 193 Αν η ανίχνευση πετύχει, αλλά δεν είναι δυνατή η αναγνώριση ή η αποµάκρυνση, η εναλλακτική µας λύση είναι να απορρίψουµε το µολυσµένο πρόγραµµα και να ξαναφορτώσουµε καθαρή (από αντίγραφο ασφάλειας) έκδοση, αν βέβαια διαθέτουµε τέτοια. Όπως έχουµε ήδη πει, οι τεχνολογίες των ιών και των αντιβιοτικών προχωρούν παράλληλα. Οι πρώτοι ιοί ήταν σχετικά απλά προγράµµατα και µπορούσαν να ανιχνευτούν και να αποµακρυνθούν µε σχετικά απλά αντιβιοτικά. Όµως, σήµερα, τόσο οι ιοί όσο και τα αντιβιοτικά έχουν εξελιχθεί σε πολυπλοκότητα. ∆ιακρίνουµε, λοιπόν, τέσσερις γενιές αντιβιοτικού λογισµικού: • Πρώτη γενιά. Απλοί σαρωτές • ∆εύτερη γενιά. Ευρεστικοί σαρωτές • Τρίτη γενιά. Παγίδες δραστηριότητας • Τέταρτη γενιά. Πλήρης προστασία Οι σαρωτές πρώτης γενιάς απαιτούσαν την παρουσία της υπογραφής του ιού για να τον αναγνωρίσουν. Η τεχνική αυτή βασίζεται στο γεγονός ότι ο ιός µπορεί να περιέχει χαρακτήρες µπαλαντέρ, αλλά βασικά είναι ο ίδιος ως προς τη δοµή του και τις ακολουθίες των bit που περιέχει. Είναι όµως φανερό ότι οι δυνατότητες ανίχνευσης που έχουν τέτοιοι σαρωτές περιορίζονται σε γνωστούς ιούς. Ένας άλλος τύπος σαρωτών πρώτης γενιάς κρατάει µια βάση δεδοµένων µε το µέγεθος των προγραµµάτων και ανιχνεύει αλλαγές στο µέγεθος. Οι σαρωτές δεύτερης γενιάς δε βασίζονται στην ύπαρξη συγκεκριµένης υπογραφής. Οι σαρωτές αυτοί χρησιµοποιούν ευρεστικούς κανόνες για να εντοπίσουν προγράµµατα πιθανόν µολυσµένα από ιούς. Μια κλάση τέτοιων σαρωτών αναζητά τµήµατα κώδικα που συχνά σχετίζονται µε ιούς. Για παράδειγµα, ένας σαρωτής µπορεί να ψάχνει για την αρχή ενός βρόχου κρυπτογράφησης που χρησιµοποιείται σε πολυµορφικούς ιούς και να ανακαλύπτει το κλειδί κρυπτογράφησης. Αν ανακαλυφθεί το κλειδί, ο σαρωτής µπορεί να αποκρυπτογραφήσει τον ιό για να τον αναγνωρίσει, µετά να αφαιρέσει τη µόλυνση και να επιτρέψει στο πρόγραµµα να συνεχίσει τη λειτουργία του. Μια άλλη τεχνική δεύτερης γενιάς είναι ο έλεγχος ακεραιότητας, σύµφωνα µε την οποία σε κάθε πρόγραµµα προσαρτάται ένα άθροισµα ελέγχου. Αν ένας ιός µολύνει το πρόγραµµα χωρίς να αλλάξει το άθροισµα ελέγχου, η αλλαγή γίνεται αντιληπτή από τον ελεγκτή ακεραιότητας. Για να αντιµετωπιστούν ιοί που είναι αρκετά εξεζητηµένοι και αλλάζουν και το άθροισµα ελέγχου όταν µολύνουν ένα πρόγραµµα, χρησιµοποιούµε µια συνάρτηση σύνοψης µε κλειδί. Το κλειδί αυτό αποθηκεύεται χωριστά από το πρόγραµµα, έτσι ώστε ο ιός να µην µπορεί να το διαβάσει και να δηµιουργήσει νέα σύνοψη. 194 KEºA§AIO 7: K∞∫√µ√À§√ §√°π™ªπ∫√ Τα αντιβιοτικά τρίτης γενιάς είναι προγράµµατα που παραµένουν στη µνήµη και ανιχνεύουν τους ιούς από τη δράση τους και όχι από τη δοµή των µολυσµένων προγραµµάτων. Το πλεονέκτηµα των προγραµµάτων αυτών είναι ότι δεν απαιτούν την ανάπτυξη υπογραφών και ευρεστικών κανόνων ανίχνευσης για µια µεγάλη ποικιλία ιών. Αντίθετα, αρκεί να αναγνωρίσει κανείς το µικρό σύνολο ενεργειών που υποδεικνύουν µια µόλυνση και να παρέµβει κατάλληλα. Τα προϊόντα τέταρτης γενιάς είναι πακέτα που αποτελούνται από διάφορες τεχνικές αντιβίωσης, οι οποίες χρησιµοποιούνται ταυτόχρονα. Οι τεχνικές αυτές συµπεριλαµβάνουν σάρωση και παγίδευση δραστηριοτήτων. Επιπλέον, τα πακέτα αυτά περιλαµβάνουν και έλεγχο προσπέλασης, που περιορίζει την ικανότητα των ιών να προσβάλουν ένα σύστηµα και στη συνέχεια περιορίζει την ικανότητα του ιού να τροποποιήσει αρχεία, περιορίζοντας έτσι τις ικανότητες επέκτασής του. Περισσότερο εξεζητηµένες τεχνικές αντιβίωσης συνεχίζουν να εµφανίζονται. Οι δύο βασικότερες αποτελούν το αντικείµενο της συζήτησής µας στις επόµενες δύο παραγράφους. °∂¡π∫∂Àª∂¡∏ ∞¶√∫ƒÀ¶∆√°ƒ∞º∏™∏ Η τεχνολογία αυτή επιτρέπει στο αντιβιοτικό να ανιχνεύει εύκολα ακόµη και τον πιο πολύπλοκο πολυµορφικό ιό και ταυτόχρονα να διατηρεί µεγάλες ταχύτητες σάρωσης. Θυµηθείτε ότι, όταν εκτελείται ένα πρόγραµµα που περιέχει έναν πολυµορφικό ιό, ο ιός πρέπει να αποκρυπτογραφηθεί πριν ενεργοποιηθεί. Για να ανιχνευτεί µια τέτοια δοµή, τα εκτελέσιµα αρχεία περνάνε από ένα σαρωτή γενικευµένης αποκρυπτογράφησης, ο οποίος περιλαµβάνει: • Έναν προσοµοιωτή ΚΜΕ, δηλαδή έναν εικονικό υπολογιστή βασισµένο σε λογισµικό. Οι εντολές ενός εκτελέσιµου αρχείου ερµηνεύονται από τον προσοµοιωτή αντί να εκτελούνται από τον πραγµατικό επεξεργαστή. Ο προσοµοιωτής περιλαµβάνει λογικά αντίστοιχα όλων των καταχωρητών και του υπόλοιπου υλικού, έτσι ώστε ο πραγµατικός επεξεργαστής παραµένει ανεπηρέαστος από τα προγράµµατα που ερµηνεύει ο προσοµοιωτής. • Σαρωτή υπογραφής ιών, δηλαδή µια ενότητα λογισµικού που σαρώνει τον υπό έλεγχο κώδικα αναζητώντας υπογραφές γνωστών ιών. • Ελεγκτή προσοµοίωσης, δηλαδή µια ενότητα λογισµικού που ελέγχει την εκτέλεση του υπό έλεγχο κώδικα. Στην αρχή κάθε προσοµοίωσης ο προσοµοιωτής αρχίζει να ερµηνεύει τις εντολές στον υπό έλεγχο κώδικα µία–µία. Έτσι, αν ο κώδικας περιλαµβάνει µια ρουτίνα αποκρυπτογράφησης που αποκρυπτογραφεί και, εποµένως, αποκαλύπτει τον ιό, ο κώδι- XXX 195 κας αυτός διερµηνεύεται. Στην ουσία ο ιός λειτουργεί ως αντιβιοτικό και αυτοαποκαλύπτεται. Περιοδικά, ο ελεγκτής προσοµοίωσης διακόπτει τη διερµηνεία προκειµένου να σαρώσει τον υπό έλεγχο κώδικα για γνωστές ιοµορφικές υπογραφές. Κατά τη διερµηνεία, ο ελεγχόµενος κώδικας δεν µπορεί να βλάψει το πραγµατικό υπολογιστικό περιβάλλον, αφού διερµηνεύεται σε ένα απολύτως ελεγχόµενο περιβάλλον. Βέβαια, δηµιουργείται το ερώτηµα: Για πόσο χρονικό διάστηµα θα εκτελείται κάθε διερµηνεία; Συνήθως τα ιοµορφικά στοιχεία ενεργοποιούνται σχεδόν αµέσως µετά την έναρξη εκτέλεσης του µολυσµένου προγράµµατος, αλλά αυτό δεν είναι καθόλου απαραίτητο να συµβαίνει πάντα. Εποµένως, όσο µεγαλύτερο είναι το χρονικό διάστηµα που ο προσοµοιωτής προσοµοιώνει ένα συγκεκριµένο πρόγραµµα, τόσο µεγαλώνει η πιθανότητα ανίχνευσης κρυµµένων ιοµορφών. Από την άλλη, ο προσοµοιωτής δεν είναι δυνατόν να τρέχει επί µακρόν και να χρησιµοποιεί πόρους του συστήµατος χωρίς να διαµαρτυρηθούν οι χρήστες. Και πάλι, λοιπόν, βρισκόµαστε µπροστά στην ανάγκη να ζυγίσουµε τις απαιτήσεις ασφάλειας σε σχέση µε τις απαιτήσεις λειτουργικότητας. æ∏ºπ∞∫√ ∞¡√™√¶√π∏∆π∫√ ™À™∆∏ª∞ Το σύστηµα αυτό είναι µια ολοκληρωµένη προσέγγιση στην προστασία από ιοµορφικό λογισµικό, που ανέπτυξε η ΙΒΜ. Το κίνητρο για την ανάπτυξη αυτή ήταν οι αυξανόµενοι κίνδυνοι διάδοσης ιών µέσω του διαδικτύου. Οι σηµερινές τάσεις στον τοµέα των ιών είναι η σχετικά αργή διάδοση νέων ιών και νέων µεταλλάξεων. Νέες εκδόσεις των αντιβιοτικών συνήθως διανέµονται σε µηνιαία βάση, και η πολιτική αυτή έχει αποδειχθεί επαρκής για την αντιµετώπιση του προβλήµατος. Ωστόσο, το διαδίκτυο παίζει ένα όλο και αυξανόµενο ρόλο στη διάδοση των ιών σήµερα, λόγω της µεγάλης διάδοσης ολοκληρωµένων συστηµάτων ηλεκτρονικού ταχυδροµείου (Microsoft Outlook, Lotus Notes κτλ.) και των συστηµάτων κινητού κώδικα. Για να απαντήσει στην αυξανόµενη αυτή απειλή, η ΙΒΜ ανέπτυξε το πρωτότυπο ενός ψηφιακού ανοσοποιητικού συστήµατος. Το σύστηµα αυτό επεκτείνει την ιδέα του προσοµοιωτή, που συζητήσαµε στην προηγούµενη παράγραφο, και είναι στην ουσία ένα ολοκληρωµένο σύστηµα προσοµοίωσης και ανίχνευσης ιοµορφών. Ο στόχος του συστήµατος είναι η επίτευξη µικρών χρόνων απόκρισης, έτσι ώστε οι ιοµορφές να εξοντώνονται σχεδόν αµέσως µόλις εµφανιστούν. Όταν ένας νέος ιός εισέλθει σε έναν οργανισµό, το σύστηµα αυτόµατα τον συλλαµβάνει, τον αναλύει, προσθέτει ανίχνευση και προστασία απ’ αυτόν, τον αποµακρύνει και προωθεί τις σχετικές πληροφορίες σε όλα τα συστήµατα που τρέχουν το λογισµικό ΙΒΜ AntiVirus, έτσι ώστε να είναι δυνατή η ανίχνευσή του πριν εισαχθεί οπουδήποτε αλλού. 196 KEºA§AIO 7: K∞∫√µ√À§√ §√°π™ªπ∫√ Τα βασικά βήµατα λειτουργίας του συστήµατος αυτού, όπως φαίνεται στο Σχήµα 7.3, είναι τα εξής: 3 Ανάλυση συµπεριφοράς και δοµής Μηχανή ανάλυσης ιοµορφών 1 ∆ιοικητική µηχανή 5 Μολυσµένος πελάτης Πελάτης 4 6 Πελάτης Ιδιωτικό δίκτυο Πελάτης Εξαγωγή υπογραφής Καθορισµός αντιµετώπισης ∆ιοικητική µηχανή 7 Πελάτης Ανεξάρτητος χρήστης Πελάτης Ιδιωτικό δίκτυο Πελάτης ™¯‹Ì· 7.3 Λειτουργία ψηφιακού ανοσοποιητικού συστήµατος 1. Ένα πρόγραµµα εποπτείας, που βρίσκεται σε κάθε PC, χρησιµοποιεί διάφορους ευρεστικούς κανόνες που βασίζονται στη συµπεριφορά του συστήµατος, ύποπτες αλλαγές σε προγράµµατα ή παρουσία υπογραφών για να συµπεράνει την παρουσία µιας ιοµορφής. Το πρόγραµµα αυτό προωθεί αντίγραφο κάθε προγράµµατος που θεωρείται µολυσµένο σε µια διοικητική µηχανή µέσα στον οργανισµό. 2. Η διοικητική µηχανή κρυπτογραφεί το δείγµα και το στέλνει σε µια κεντρική µηχανή ανάλυσης ιοµορφών. 3. Η µηχανή αυτή δηµιουργεί ένα περιβάλλον στο οποίο το µολυσµένο πρόγραµµα µπορεί να εκτελεστεί µε ασφάλεια, για ανάλυση. Οι τεχνικές που χρησιµοποιούνται για το σκοπό αυτό είναι η προσοµοίωση ή η δηµιουργία ενός προστατευµέ- 7.1 π√ª√ƒºπ∫√ §√°π™ªπ∫√ 197 νου περιβάλλοντος µέσα στο οποίο το ύποπτο πρόγραµµα µπορεί να εκτελεστεί και να παρακολουθηθεί. Η µηχανή ανάλυσης ιοµορφών στη συνέχεια παράγει οδηγίες αναγνώρισης και αποµάκρυνσης της ιοµορφής. 4. Οι οδηγίες αυτές αποστέλλονται πάλι στη διοικητική µηχανή. 5. Η διοικητική µηχανή προωθεί τις οδηγίες στο µολυσµένο πελάτη. 6. Οι οδηγίες επίσης προωθούνται σε άλλους πελάτες µέσα στον οργανισµό. 7. Συνδροµητές σ’ όλο τον κόσµο λαµβάνουν τακτικά τις νέες εκδόσεις του λογισµικού, που τους προστατεύουν από το νέο ιό. Η επιτυχία του ψηφιακού ανοσοποιητικού συστήµατος εξαρτάται από την ικανότητα της µηχανής ανάλυσης ιοµορφών να ανιχνεύει νέες και καινοτόµες ιοµορφές. Η ικανότητα αυτή µπορεί να διατηρηθεί σε υψηλά επίπεδα µε συνεχή ανάλυση και παρακολούθηση των ιοµορφών που ανευρίσκονται. ÕÛÎËÛË A˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 7.4 Αντιστοιχίστε τις τεχνολογίες αντιβιοτικών της αριστερής στήλης µε τα κύρια χαρακτηριστικά της δεξιάς: 1. Απλοί σαρωτές 2. Σαρωτές 2ης γενιάς 3. Πλήρης προστασία 4. Παγίδες δραστηριότητας 1. Έλεγχος ακεραιότητας 2. Ανίχνευση υπογραφής 3. Ανίχνευση της δράσης 4. Ολοκληρωµένα πακέτα 198 KEºA§AIO 7: K∞∫√µ√À§√ §√°π™ªπ∫√ ÕÛÎËÛË A˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 7.5 Βάλτε στη σωστή χρονική σειρά τα παρακάτω βασικά βήµατα λειτουργίας του ψηφιακού ανοσοποιητικού συστήµατος: 1. ∆ηµιουργία περιβάλλοντος για ασφαλή εκτέλεση ύποπτου κώδικα. 2. Αποστολή νέων εκδόσεων λογισµικού σε συνδροµητές σ’ όλο τον κόσµο. 3. Αποστολή οδηγιών στη διοικητική µηχανή. 4. Αποστολή αντιγράφων µολυσµένων προγραµµάτων στη διοικητική µηχανή. 5. Παραγωγή οδηγιών αναγνώρισης και αποµάκρυνσης της ιοµορφής. 6. Κρυπτογράφηση δείγµατος ύποπτου κώδικα. 7. Προώθηση οδηγιών στο µολυσµένο πελάτη. 8. Αποστολή κρυπτογραφηµένου δείγµατος στην κεντρική µηχανή ανάλυσης ιοµορφών. 9. Εκτέλεση και παρακολούθηση λειτουργίας ύποπτου κώδικα στο ασφαλές περιβάλλον. 10.Προώθηση οδηγιών σε άλλους πελάτες µέσα στον οργανισµό. ÕÛÎËÛË A˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 7.6 Χαρακτηρίστε τις παρακάτω προτάσεις ως σωστές ή λάθος: Σωστό 1. Αν ελέγξουµε τη ροή πληροφορίας σ’ ένα σύστηµα, οι ιοί θα µεταδίδονται µόνο κατά τη ροή πληροφορίας που επιτρέπει η πολιτική ασφάλειας του συστήµατος. Λάθος ❏ ❏ ❏ ❏ ❏ ❏ 2. Οι ιοί δεν απαιτούν την ύπαρξη προγραµµάτων–ξενιστών. ❏ 3. Υπάρχουν 4 φάσεις στη ζωή ενός ιού. 4. Ένας ιός µπορεί να ενσωµατωθεί µόνο στην αρχή ενός προγράµµατος. 5. Ένα µολυσµένο αρχείο είναι πάντα µεγαλύτερο από το αντίστοιχο µη µολυσµένο. ❏ ❏ ❏ XXX 199 6. Υπάρχουν 6 τύποι ιών. 7. Οι σαρωτές 2ης γενιάς ανιχνεύουν τους ιούς µε βάση την υπογραφή τους. 8. Τα αντιβιοτικά 3ης γενιάς ανιχνεύουν τους ιούς από τις δραστηριότητές τους. ❏ ❏ ❏ ❏ ❏ ❏ ¢Ú·ÛÙËÚÈfiÙËÙ· 7.1 Τα εκτελέσιµα προγράµµατα σ’ ένα σύστηµα µπορούν να προστατευτούν κρυπτογραφώντας τα. Όταν κληθεί έα τέτοιο πρόγραµµα, το εκτελέσιµο αποκρυπτογραφείται και εκτελείται. Υπάρχουν τρεις δυνατές επιλογές για την αποθήκευση των απαραίτητων κρυπτογραφικών κλειδιών: 1. Το κλειδί είναι κρυµµένο κάπου µέσα στη µηχανή. 2. Το κλειδί φυλάσσεται σε κάτι που βρίσκεται στην κατοχή του ιδιοκτήτη του προγράµµατος (π.χ. µια έξυπνη κάρτα). 3. Το κλειδί φυλάσσεται σε µια συσκευή, ανθεκτική σε επιθέσεις, που αποκρυπτογραφεί και εκτελεί εντολές. Συγκρίνετε την ασφάλεια που παρέχει καθεµιά από τις επιλογές αυτές. Μπορούν να προστατεύσουν οι επιλογές αυτές από ιοµορφικές προσβολές; ¢Ú·ÛÙËÚÈfiÙËÙ· 7.2 Eντοπίστε θέσεις που παρέχουν πληροφορίες σχετικά µε ιούς. Εντοπίστε βάσεις πληροφοριών για ιούς και µελετήστε τες. Ένα καλό σηµείο εκκίνησης είναι η διεύθυνση http://agn–www.informatik.uni– hamburg.de/vtc/. 200 KEºA§AIO 7: K∞∫√µ√À§√ §√°π™ªπ∫√ 7.2 ªË ÈÔÌÔÚÊÈÎfi ηÎfi‚Ô˘ÏÔ ÏÔÁÈÛÌÈÎfi Όπως έχουµε ήδη πει, στην ενότητα αυτή θα συζητήσουµε τις υπόλοιπες, µη ιοµορφικές, µορφές κακόβουλου λογισµικού. Οι µορφές αυτές είναι οι κερκόπορτες, οι λογικές βόµβες, οι ∆ούρειοι Ίπποι, οι έλικες και τα βακτήρια. Σπεύδω να σας προειδοποιήσω ότι, ως συνήθως, η ονοµατολογία αυτή πολύ απέχει από το να είναι καθολικά αποδεκτή. Μην παραξενευτείτε, λοιπόν, αν ο συνοµιλητής σας δεν καταλαβαίνει τι εννοείτε µε τον όρο «έλικας» και εσείς δεν καταλαβαίνετε τι εννοεί µε τον όρο «αναπαραγωγός». Απλώς αποδίδετε διαφορετικά τον αγγλικό όρο worm, που, αν ψάξετε στο λεξικό, πιθανότατα να βρείτε να αποδίδεται ως «σκουλήκι» – µια επιλογή που θα συµφωνήσετε ότι δεν είναι η καταλληλότερη. Αν και το ιοµορφικό λογισµικό είναι η πιο διαδεδοµένη και, συνεπώς, γνωστότερη µορφή κακόβουλου λογισµικού, οι άλλες µορφές κακόβουλου λογισµικού που θα µας απασχολήσουν στην ενότητα αυτή είναι εξίσου επικίνδυνες για την ασφάλεια πληροφοριακών συστηµάτων. Επιπλέον, τα διαθέσιµα αντίµετρα δεν είναι ούτε τόσο πολλά ούτε τόσο προηγµένα όσο στην περίπτωση αντιµετώπισης ιοµορφικού λογισµικού. 7.2.1 ∫ÂÚÎfiÔÚÙ˜ Κερκόπορτα (trapdoor) είναι ένα µυστικό σηµείο εισόδου σ’ ένα πρόγραµµα, που επιτρέπει σε κάποιον που τη γνωρίζει να αποκτήσει δικαιώµατα προσπέλασης στο σύστηµα, παρακάµπτοντας τις συνήθεις διαδικασίες ελέγχου προσπέλασης. Οι κερκόπορτες χρησιµοποιήθηκαν νόµιµα για πολλά χρόνια από τους προγραµµαιστές, για να εκσφαλµατώσουν και να δοκιµάσουν προγράµµατα. Αυτό συνήθως συµβαίνει όταν ο προγραµµατιστής αναπτύσσει µια εφαρµογή που περιέχει µια διαδικασία αυθεντικοποίησης η οποία απαιτεί από το χρήστη την εισαγωγή πολλών διαφορετικών τιµών πριν εκτελεστεί η εφαρµογή. Για να εκσφαλµατώσει το πρόγραµµα, ο προγραµµατιστής µπορεί να θέλει να έχει ειδικά προνόµια ή να αποφύγει όλη την απαραίτητη διαδικασία εγκατάστασης και αυθεντικοποίησης. Ο προγραµµατιστής, επίσης, µπορεί να θέλει να είναι βέβαιος ότι θα υπάρχει τρόπος ενεργοποίησης του προγράµµατος ακόµη και αν κάτι δεν πάει καλά µε τη διαδικασία αυθεντικοποίησης που είναι ενσωµατωµένη στην εφαρµογή. Η κερκόπορτα είναι κώδικας που αναγνωρίζει κάποια συγκεκριµένη ειδική ακολουθία εισόδου ή ενεργοποιείται µε το να τρέξει από κάποιο συγκεκριµένο χρήστη ή µε τη συγκυρία µιας απίθανης ακολουθίας γεγονότων. Ως εδώ τίποτε δε φαίνεται κακό. Ωστόσο, οι κερκόπορτες µεταβάλλονται σε απειλές, όταν χρησιµοποιούνται από κακόβουλους προγραµµατιστές που θέλουν να αποκτήσουν µη εξουσιοδοτηµένη προσπέλαση σε κάποιο σύστηµα. 7.2 ª∏ π√ª√ƒºπ∫√ ∫∞∫√µ√À§√ §√°π™ªπ∫√ 201 Είναι δύσκολο να υλοποιήσουµε ελέγχους µέσω του λειτουργικού συστήµατος για προστασία από τις κερκόπορτες. Τα όποια αντίµετρα πρέπει µάλλον να επικεντρωθούν στις διαδικασίες ανάπτυξης και συντήρησης λογισµικού. 7.2.2 §ÔÁÈΤ˜ ‚fî˜ Μια από τις παλιότερες µορφές κακόβουλου λογισµικού, που εµφανίστηκε πριν ακόµη και από τους ιούς και τους έλικες, είναι η λογική βόµβα. Η λογική βόµβα (logic bomb) είναι κώδικας ενσωµατωµένος σε κάποιο νόµιµο πρόγραµµα εφαρµογής και ρυθµισµένος να «εκραγεί», όταν εκπληρωθούν κάποιες συγκεκριµένες συνθήκες. Παραδείγµατα τέτοιων συνθηκών είναι η παρουσία ή απουσία συγκεκριµένων αρχείων, η έλευση µιας συγκεκριµένης µέρας της εβδοµάδας ή µιας ηµεροµηνίας, ή η εκτέλεση της εφαρµογής από ένα συγκεκριµένο χρήστη. Σε µια περίπτωση, γνωστή στη βιβλιογραφία, η βόµβα ήταν ρυθµισµένη να εκραγεί, αν ο αριθµός ταυτότητας ενός συγκεκριµένου υπαλλήλου (αυτού που έβαλε τη βόµβα) δεν εµφανιζόταν σε δύο συνεχόµενες –χρονικά– καταστάσεις µισθοδοσίας, οπότε η πιθανότητα να είχε απολυθεί ο υπάλληλος ήταν µεγάλη. Από τη στιγµή που θα ενεργοποιηθεί, η βόµβα µπορεί να τροποποιήσι ή να διαγράψει δεδοµένα ή και ολόκληρα αρχεία, να προκαλέσει το σταµάτηµα ενός συστήµατος ή να κάνει οποιαδήποτε άλλη ζηµιά. 7.2.3 ¢Ô‡ÚÂÈÔÈ ÿÔÈ Ο ∆ούρειος Ίππος (Trojan Horse) είναι, ή φαίνεται πως είναι, ένα χρήσιµο πρόγραµµα, που περιέχει κρυµµένο κώδικα ο οποίος, όταν εκτελεστεί, εκτελεί κάποια ανεπιθύµητη ή επιβλαβή λειτουργία. Οι ∆ούρειοι Ίπποι µπορούν να χρησιµοποιηθούν για να πραγµατοποιήσουν έµµεσα λειτουργίες που ο µη εξουσιοδοτηµένος χρήστης δεν µπορεί άµεσα να εκτελέσει. Για παράδειγµα, προκειµένου να αποκτήσει πρόσβαση στα αρχεία ενός άλλου χρήστη σε ένα διαµοιραζόµενο σύστηµα, ένας χρήστης θα µπορούσε να δηµιουργήσει ένα ∆ούρειο Ίππο που, όταν εκτελείται, αλλάζει τις παραµέτρους προστασίας των αρχείων του χρήστη που το εκτελεί έτσι ώστε τα αρχεία να είναι αναγνώσιµα από όλους. Ο δηµιουργός µπορεί µετά να παρασύρει τους άλλους χρήστες να χρησιµοποιήσουν το ∆ούρειο Ίππο βάζοντάς τον σε ένα κοινό ευρετήριο και ονοµάζοντάς τον έτσι ώστε να φαίνεται σαν ένα χρήσιµο πρόγραµµα, όπως, π.χ., ένα πρόγραµµα που εµφανίζει τα αρχεία ενός χρήστη σε µια επιθυµητή και βολική µορφή. Παράδειγµα ενός ∆ούρειου Ίππου που είναι δύσκολο να ανιχνευτεί είναι ένας µεταφραστής που έχει τροποποιηθεί και εισάγει επιπλέον κώδικα σε συγκεκριµένα προγράµµατα, καθώς αυτά 202 KEºA§AIO 7: K∞∫√µ√À§√ §√°π™ªπ∫√ µεταφράζονται. Ένα τέτοιο πρόγραµµα µπορεί να είναι και αυτό που καθορίζει τις διαδικασίες εισόδου στο σύστηµα, στο οποίο ο κώδικας που εισάγεται επιπλέον επιτρέπει στο δηµιουργό να αποκτήσει πρόσβαση στο σύστηµα χρησιµοποιώντας ένα ειδικό συνθηµατικό. Αυτός ο ∆ούρειος Ίππος, που δηµιουργεί µια κερκόπορτα, δεν είναι ποτέ δυνατόν να αποκαλυφθεί µε ανάγνωση του πηγαίου κώδικα του προγράµµατος εισόδου. Ένα άλλο συνηθισµένο κίνητρο για να γράψει κάποιος ∆ούρειο Ίππο είναι η καταστροφή δεδοµένων. Το πρόγραµµα φαινοµενικά εκτελεί µια χρήσιµη λειτουργία (π.χ. ένα πρόγραµµα αριθµοµηχανής), αλλά επίσης, σιωπηρά, διαγράφει τα αρχεία του χρήστη. 7.2.4 ŒÏÈΘ Οι έλικες (worms) χρησιµοποιούν δικτυακές συνδέσεις για να εξαπλωθούν από σύστηµα σε σύστηµα. Από τη στιγµή που θα ενεργοποιηθεί µέσα σ’ ένα σύστηµα, ο έλικας µπορεί να συµπεριφερθεί ως ιός ή ως βακτήριο ή να εισαγάγει ∆ούρειους Ίππους ή να εκτελέσει οποιαδήποτε καταστρφική ενέργεια. Για να αναπαραχθεί, ο έλικας χρησιµοποιεί κάποιο δικτυακό όχηµα. Παραδείγµατα τέτοιων οχηµάτων είναι: • Υπηρεσία ηλεκτρονικού ταχυδροµείου. Ο έλικας ταχυδροµεί ένα αντίγραφο του εαυτού του σε άλλα συστήµατα. • Υπηρεσία από απόσταση εκτέλεσης. Ο έλικας εκτελεί ένα αντίγραφο του εαυτού του σε κάποιο άλλο σύστηµα. • Υπηρεσία από απόσταση σύνδεσης. Ο έλικας συνδέεται µε ένα αποµακρυσµένο σύστηµα ως χρήστης και µετά χρησιµοποιεί εντολές για να αντιγράψει τον εαυτό του από ένα σύστηµα σε άλλο. Το νέο αντίγραφο του έλικα εκτελείται στη συνέχεια στο αποµακρυσµένο σύστηµα, όπου, εκτός των άλλων λειτουργιών που εκτελεί στο σύστηµα αυτό, συνεχίζει να εξαπλώνεται και σ’ άλλα συστήµατα, µε τον ίδιο τρόπο. Οι έλικες έχουν τα ίδια χαρακτηριστικά µε τους ιούς: µια φάση ύπνωσης, µια φάση διάδοσης, µια φάση ενεργοποίησης και µια φάση εκτέλεσης. Κατά τη φάση ύπνωσης ο έλικας είναι ανενεργός. Κάποτε όµως θα ενεργοποιηθεί από κάποιο γεγονός, όπως την έλευση µιας ηµεροµηνίας, την παρουσία ενός άλλου προγράµµατος ή αρχείου ή την υπέρβαση κάποιου αποθηκευτικού ορίου στο δίσκο. Η φάση αυτή δεν είναι απαραίτητο να υπάρχει σε όλους τους έλικες. 7.2 ª∏ π√ª√ƒºπ∫√ ∫∞∫√µ√À§√ §√°π™ªπ∫√ 203 Κατά τη φάση διάδοσης εκτελούνται οι εξής λειτουργίες: 1. Αναζήτηση άλλων συστηµάτων προς µόλυνση, µε εξέταση των πινάκων που περιέχουν διευθύνσεις αποµακρυσµένων συστηµάτων. 2. Εγκατάσταση σύνδεσης µε αποµακρυσµένο σύστηµα. 3. Αντιγραφή του έλικα στο αποµακρυσµένο σύστηµα και εκτέλεσή του. Ο έλικας µπορεί, επίσης, να επιχειρήσει να καθορίσει αν το σύστηµα έχει προηγουµένως µολυνθεί πριν αντιγράψει τον εαυτό του εκεί. Σε ένα πολυπρογραµµατιζόµενο σύστηµα µπορεί, επίσης, να µεταµφιεστεί παίρνοντας το όνοµα µιας διεργασίας συστήµατος ή κάποιο άλλο όνοµα που είναι δύσκολο να εντοπιστεί από το διαχειριστή συστήµατος. Όπως και µε τις ιοµορφές, οι έλικες δικτύων είναι δύσκολο να αντιµετωπιστούν. Ωστόσο, υπάρχουν αντίµετρα προστασίας δικτύων και υπολογιστικών συστηµάτων που, αν εφαρµοστούν σωστά, ελαχιστοποιούν τους κινδύνους επίθεσης από έλικες. 7.2.5 µ·ÎÙ‹ÚÈ· Τα βακτήρια (bacteria) είναι προγράµµατα που δεν καταστρέφουν εµφανώς αρχεία. Ο µοναδικός τους σκοπός είναι να πολλαπλασιάζονται. Ένα τυπικό βακτήριο µπορεί να µην κάνει τίποτε περισσότερο από το να τρέχει ταυτόχρονα δύο αντίγραφά του σε ένα πολυπρογραµµατιζόµενο σύστηµα ή πιθανόν να δηµιουργεί δύο νέα αρχεία, καθένα απ’ τα οποία είναι αντίγραφο του αρχικού αρχείου που περιέχει το βακτήριο. Και τα δύο αυτά προγράµµατα µπορούν στη συνέχεια να αντιγράψουν τον εαυτό τους δύο φορές κ.ο.κ. Τα βακτήρια αναπαράγονται εκθετικά και τελικά καταλαµβάνουν όλη τη χωρητικότητα του επεξεργαστή, της µνήµης ή του δίσκου, στερώντας τους πόρους αυτούς από τους χρήστες. ÕÛÎËÛË A˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 7.7 Αντιστοιχίστε τις µορφές κακόβουλου λογισµικού της αριστερής στήλης µε τα κύρια χαρακτηριστικά της δεξιάς: 1. Κερκόπορτα 2. Λογική βόµβα 3. ∆ούρειος Ίππος 4. Έλικας 5. Βακτήριο 1. Εκτέλεση όταν εκπληρωθούν κάποιες συνθήκες 2. Εκτέλεση ανεπιθύµητων λειτουργιών, πέρα από τις νόµιµες 3. Παράκαµψη µηχανισµού ελέγχου προσπέλασης 4. Απλός πολλαπλασιασµός και, τελικά, εξάντληση πόρων συστήµατος 5. ∆ιάδοση µέσω δικτυακών συνδέσεων 204 KEºA§AIO 7: K∞∫√µ√À§√ §√°π™ªπ∫√ ¢Ú·ÛÙËÚÈfiÙËÙ· 7.3 Ο γνωστότερος έλικας στην ιστορία είναι ο λεγόµενος «Έλικας του διαδικτύου» (Internet Worm). Ο έλικας αυτός περιγράφεται αναλυτικά στο άρθρο του E. H. Spafford, «The Internet Worm: Crisis and Aftermath», Communications of the ACM, Vol. 32, no. 6, 1989, pp. 678–687. Μια περιγραφή βρίσκεται επίσης στη διεύθυνση http://www.cerias.purdue.edu/coast. Μελετήστε είτε τη µία πηγή είτε την άλλη και περιγράψτε το µηχανισµό διάδοσης του έλικα αυτού σε έκταση όχι µεγαλύτερη της µισής σελίδας. ™‡ÓÔ„Ë Στο κεφάλαιο αυτό ασχοληθήκαµε µε το κακόβουλο λογισµικό. Ασχοληθήκαµε πρώτα µε το ιοµορφικό λογισµικό και συζητήσαµε τις 4 φάσεις ζωής του, αναλύσαµε τη γενική δοµή ενός απλού ιού και ενός ιού µε συµπίεση και αναφέραµε τις κυριότερες πηγές µόλυνσης από ιούς. Στη συνέχεια εξετάσαµε τους 6 τύπους ιοµορφικού λογισµικού και δώσαµε ιδιαίτερη βαρύτητα στη συζήτηση των µακρο–ιών, λόγω της µεγάλης διάδοσης που γνωρίζουν αυτοί τελευταία. Κλείσαµε την πρώτη ενότητα του κεφαλαίου αναφέροντας µέτρα προστασίας εναντίον των ιών και εξετάζοντας µε µεγαλύτερη λεπτοµέρεια τα αντιβιοτικά. Στη δεύτερη ενότητα του κεφαλαίου γνωρίσαµε τους ∆ούρειους Ίππους, τις κερκόπορτες, τις λογικές βόµβες, τους έλικες και τα βακτήρια. Τα χαρακτηριστικά των διαφόρων αυτών µορφών κακόβουλου λογισµικού συνοψίζονται στον Πίνακα 7.1. ¶›Ó·Î·˜ 7.1 Βασκά χαρακτηριστικά µορφών κακόβουλου λογισµικού Ιοί ∆ούρειοι Ίπποι Πρόκληση ανεπιθύµητων συνεπειών Καθορισµός έναρξης διαδικασίας πρόκλησης συνεπειών ΝΑΙ ΝΑΙ ΟΧΙ ΝΑΙ ΝΑΙ ΝΑΙ ΝΑΙ ΝΑΙ ΟΧΙ ΝΑΙ ΝΑΙ ΝΑΙ Κερκόπορτες Λογικές βόµβες Έλικες Βακτήρια B I B § I O ° PA º I A 205 Αναπαραγωγή Ένταξη σε άλλο λογικό αντικείµενο ΝΑΙ ΟΧΙ ΟΧΙ ΟΧΙ ΝΑΙ ΝΑΙ ΝΑΙ ΝΑΙ ΝΑΙ ΝΑΙ ΟΧΙ ΝΑΙ BÈ‚ÏÈÔÁÚ·Ê›· Denning P. (Ed.), Computers under attack: Intruders, Worms and Viruses, Addison–Wesley, 1990. Doumas Α., Mavroudakis K., Katsikas S. K. and Gritzalis D., «Design of a Neural Network for Recognition and Classification of Computer Viruses», Computers & Security, Vol. 14, pp. 435–448, 1995. Gollmann D., Computer Security, John Wiley & Sons, 1999. Katsikas S. K., Spyrou T., Gritzalis D. and Darzentas J., «Model for Network Behaviour under Viral Attack», Computer Communications, Vol. 19, 1996, pp. 124–132. Pfleeger C. P., Security in Computing, Saddle River, NJ, Prentice Hall, 1997. Pfleeger C., Security in Computing, Prentice Hall, 1997. Stallings W., Cryptography and Network Security. Principles and Practice, Prentice–Hall Inc., 1999. Summers R. C., Secure Computing: Threats and Safeguards, Mc Graw–Hill, 1997. Γκρίτζαλης ∆., Ασφάλεια Πληροφοριακών Συστηµάτων, Αθήνα, Ελληνική Εταιρεία Επιστηµόνων Η/Υ & Πληροφορικής (ΕΠΥ), 1989. µÈ‚ÏÈÔÁÚ·ÊÈΤ˜ ÚÔÙ¿ÛÂȘ Το βιβλίο του ∆ηµήτρη Γκρίτζαλη, Ασφάλεια Πληροφοριακών Συστηµάτων, Αθήνα, Ελληνική Εταιρεία Επιστηµόνων Η/Υ & Πληροφορικής (ΕΠΥ), 1989, ήταν το πρώτο βιβλίο σχετικό µε ασφάλεια υπολογιστών που γράφτηκε στην ελληνική γλώσσα. Αν και σε πολλά σηµεία είναι τεχνικά ξεπερασµένο τώρα πια, αξίζει τον κόπο να το συµβουλευτεί κανείς. Το βιβλίο των ∆ηµήτρη Γκρίτζαλη και Στέφανου Γκρίτζαλη, Ασφάλεια Λειτουργικών Συστηµάτων, Αθήνα, Εκπαιδευτική Εταιρεία Νέων Τεχνολογιών, 1991, ήταν το δεύτερο χρονικά ελληνικό βιβλίο ασφάλειας. Αποτελεί καλό βιβλίο αναφοράς, ιδιαίτερα επειδή πραγµατεύεται αντικείµενα που, εν πολλοίς, παραµένουν τεχνικά αναλλοίωτα και σήµερα. Το βιβλίο του Ευάγγελου Κιουντούζη, Ασφάλεια Πληροφοριακών Συστηµάτων, Αθήνα, Εκδόσεις Ευγ. Μπένου, 1993, ασχολήθηκε περισσότερο µε την ασφάλεια πληροφοριακών συστηµάτων παρά µε την ασφάλεια υπολογιστών, αντιµετωπίζοντας έτσι το ζήτηµα της ασφάλειας σφαιρικότερα. Χρήσιµο και σήµερα, ιδιαίτερα γιατί αναφέρεται και στο ρόλο του ανθρώπινου παράγοντα, καθώς και σε διαχειριστικά και νοµικά ζητήµατα. Το βιβλίο του Peter Denning (Ed.), Computers under attack: Intruders, Worms and Viruses, AddisonWesley, 1990, αποτελεί απαραίτητο συµπλήρωµα της βιβλιοθήκης οποιουδήποτε αποφασίσει να ασχοληθεί σοβαρά µε την ασφάλεια υπολογιστών. Το βιβλίο του Dieter Gollmann, Computer Security, John Wiley & Sons, 1999, αποτελεί ένα από τα καλύτερα, αν όχι το καλύτερο, βοήθηµα για διδασκαλία του αντικειµένου που έχω διαβάσει. Το συνιστώ ανεπιφύλακτα για συµπληρωµατική µελέτη. Το βιβλίο του Charles Pfleeger, Security in Computing, Prentice Hall, Saddle River, NJ, 1997, αποτελεί τη «βίβλο» των διδακτικών βοηθηµάτων ασφάλειας υπολογιστών. Αν και η πρώτη έκδοση έγινε στη δεκαετία του ’80, εξακολουθεί να παραµένει πολύτιµο βοήθηµα µελέτης. Το βιβλίο του William Stallings, Network and Internetwork Security: Principles and Practice, Prentice-Hall, Englewood Cliffs, NJ, 1999, αναφέρεται κυρίως σε ασφάλεια δικτύων, αλλά περιέχει ένα–δύο κεφάλαια που ασχολούνται µε ταυτοποίηση και αυθεντικοποίηση χρηστών και τη χρήση συνθηµατικών και που αξίζουν να µελετηθούν. Τέλος, το βιβλίο της Rita Summers, Secure Computing: Threats and Safeguards, McGraw-Hill, 1997, αποτελεί τη «µοντέρνα» εκδοχή του βιβλίου του Charles Pfleeger. Καλό είναι να το συµβουλευτείτε στη µελέτη σας. BÈ‚ÏÈÔÁÚ·Ê›· ∂§§∏¡√°§ø™™∏ Tanenbaum A. S., (επιµέλεια µετάφρασης Π. Γεωργιάδη), Σύγχρονα Λειτουργικά Συστήµατα, Εκδόσεις Παπασωτηρίου, Αθήνα, 1993. Αλεξανδρής Ν., Γκρίτζαλης ∆., Κιουντούζης Ε., «Μια προσέγγιση της κοινωνικά αποδεκτής αξιοποίησης της Πληροφορικής», στο Ασφάλεια Πληροφοριών: Τεχνικά, Νοµικά και Κοινωνικά Θέµατα, Ν. Αλεξανδρή, Ε. Κιουντούζη, Β. Τραπεζάνογλου (επιµέλεια έκδοσης), Ελληνική Εταιρεία Επιστηµόνων Η/Υ & Πληροφορικής (ΕΠΥ), Αθήνα, 1995. Γκρίτζαλης ∆. (επιστ. επιµέλεια), Ασφάλεια στις τεχνολογίες πληροφοριών και επικοινωνιών: Εννοιολογική θεµελίωση , Εκδόσεις Νέων Τεχνολογιών (µτφρ. Σ. Κοκολάκης), Αθήνα, 1996. Γκρίτζαλης ∆., Ασφάλεια Πληροφοριακών Συστηµάτων, Ελληνική Εταιρεία Επιστηµόνων Η/Υ & Πληροφορικής (ΕΠΥ), Αθήνα, 1989. Γκρίτζαλης ∆., Γκρίτζαλης Σ., Ασφάλεια Λειτουργικών Συστηµάτων, Εκπαιδευτική Εταιρεία Νέων Τεχνολογιών, Αθήνα, 1991. Ελληνική ∆ηµοκρατία, Νόµος 2472/97 περί «Προστασίας του ατόµου από την επεξεργασία δεδοµένων προσωπικού χαρακτήρα», ΦΕΚ αρ. 50, 10/4/1997. Ευρωπαϊκή Επιτροπή, Ευρωπαϊκή οδηγία 95/C 93/01, Επίσηµη εφηµερίδα των Ευρωπαϊκών Κοινοτήτων, C93, 13/4/1995. Κάτσικας Σ. Κ., «∆ιαχείριση Κινδύνων Πληροφοριακών Συστηµάτων», στο Ασφάλεια Πληροφοριών: Τεχνικά, Νοµικά και Κοινωνικά Θέµατα, Ν. Αλεξανδρή, Ε. Κιουντούζη, Β. Τραπεζάνογλου (επιµέλεια έκδοσης), Ελληνική Εταιρεία Επιστηµόνων Η/Υ & Πληροφορικής (ΕΠΥ), Αθήνα, 1995. Κάτσικας Σ., Γκρίτζαλης ∆., «Ασφάλεια Πληροφορικών Συστηµάτων Υγείας», στο Ασφάλεια Πληροφοριών: Τεχνικά, Νοµικά και Κοινωνικά Θέµατα, Ν. Αλεξανδρή, Ε. Κιουντούζη, Β. Τραπεζάνογλου (επιµέλεια έκδοσης), Ελληνική Εταιρεία Επιστηµόνων Η/Υ & Πληροφορικής (ΕΠΥ), Αθήνα, 1995. Κιουντούζης Ε., Ασφάλεια Πληροφοριακών Συστηµάτων, Εκδόσεις Ευγ. Μπένου, Αθήνα, 1993. Χαλαζωνίτης Κ., «Οι ευαίσθητες πληροφορίες», στο Ασφάλεια Πληροφοριών: Τεχνικά, Νοµικά και Κοινωνικά Θέµατα, Ν. Αλεξανδρή, Ε. Κιουντούζη, Β. Τραπεζά- B I B § I O ° PA º I A 209 νογλου (επιµέλεια έκδοσης), Ελληνική Εταιρεία Επιστηµόνων Η/Υ & Πληροφορικής (ΕΠΥ), Αθήνα, 1995. •∂¡√°§ø™™∏ Amoroso E., Fundamentals of Computer Security Technology, Prentice-Hall International, Englewood Cliffs, NJ, 1994. Baskerville R., «Risk analysis: an interpretive feasibility tool in justifying information systems security», Eur. J. Inf. Systs., Vol. 1, No. 2, pp. 121-130, 1991. Bowyer K., Ethics & Computing, IEEE Computer Society Press, 1996. Brewer D. F. C. and Nash M. J., «The Chinese Wall Security Policy», in Proceedings, IEEE Symposium on Security and Privacy, IEEE CS Press, pp. 215-228, 1989. Bundesamt fur Sicherheit in der Informationstechnik (BSI), IT-Grundschutzhandbuch 1997 (IT Baseline Protection Manual), Bonn, Germany 1997. Canadian System Security Centre, The Canadian Trusted Computer Product Evaluation Criteria, Ver. 3.0e, 1993. CCEB, Common Criteria for Information Technology Security Evaluation, Ver. 0.9, 1994. CCTA, CRAMM User Manual, 1997. Clark D. R. and Wilson D. R., «A comparison of commercial and military computer security policies», in Proceedings, 1987 IEEE Symposium on Security and Privacy, IEEE Press, pp. 184-194, 1987. Commission of the European Communities, Information Technology Security Evaluation Criteria (ITSEC), Ver. 1.2, 1991. Commission of the European Communities, Information Technology Security Evaluation Manual (ITSEM), 1993. Council of Europe, Convention Νο. 108, Strassburg 28 January 1981. Denning P. (Ed.), Computers under attack: Intruders, Worms and Viruses, AddisonWesley, 1990. Doumas Α., Mavroudakis K., Katsikas S. K. and Gritzalis D., «Design of a Neural Network for Recognition and Classification of Computer Viruses», Computers & Security, Vol. 14, pp. 435-448, 1995. Eloff J. H. P., Labuschagne L. and Badenhorst K. P., «A comparative framework for 210 A™ºA§EIA Y¶O§O°I™TøN risk analysis methods», Computers & Security, Vol. 12, 1993, pp. 597-603. European Commission, Green Book on the Security of Information Systems, 1993. Ferraiolo D. and Kuhn R., «Role-Based Access Controls», in Proceedings, 15th National Compute Security Conference, NIST, NCSC, 1992, pp. 554-563. FIPS PUB 112, Password Usage, 1985. FIPS PUB 46-2, Data Encryption Standard, 1994. Fraser B. (Ed.), Site Security Handbook, IETF RFC 2196, September 1997. Garfinkel S. and Spafford G., Practical Unix and Internet Security, O’ Reilly, 1996. Gollmann D., Computer Security, John Wiley & Sons, 1999. Gritzalis D. and Katsikas S. K., «Towards a Formal System-to-System Authentication Protocol», Computer Communications, Vol. 19, pp. 954-961, 1996. Gritzalis D., Katsikas S. K. and Gritzalis S., «A Zero Knowledge Probabilistic Login Protocol», Computers and Security, Vol. 11, no. 8, 1992, pp. 733-745. Guttman E., Leong L., Malkin G., Users’ Security Handbook, IETF Internet-Draft, October 7, 1998. Hansen P. Brinch, Operating Systems Principles, Prentice-Hall, Englewood Cliffs, NJ, 1973. Hoffman L. (Ed.), Building in Big Brother, Springer-Verlag, 1994. Holbrook P., Reynolds J. (Eds), Site Security Handbook, IETF RFC 1244, July 1991. Information Systems Security Association (ISSA), Guideline for Information Valuation, Newport Beach, CA, 1992. INFOSEC 1992, Project S2014 – Risk Analysis, Risk Analysis Methods Database, January 1993. International Standards Organisation, Security Frameworks Part 3: Access Control, ISO/IEC CD 10181-3, 1991. Katsikas S. and Gritzalis D., «High Level Security Policy Guidelines», in Data Security for Health Care, Volume II: Technical Guidelines, SEISMED Consortium (Eds), IOS Press, 1996. Katsikas S. K. and Gritzalis D. A., «The need for a security policy in health care institutions», Int. J. of Bio-Medical Computing, Vol. 35, pp. 73-80, 1994. B I B § I O ° PA º I A 211 Katsikas S. K., Spyrou T., Gritzalis D. and Darzentas J., «Model for Network Behaviour under Viral Attack», Computer Communications, Vol. 19, pp. 124-132, 1996. Landwehr C. E., «Formal models for computer security», ACM Computing Surveys, Vol. 13, no. 3, pp. 247-278 1981. Laprie J.-C., Basic Concepts and terminology, Springer-Verlag, Vienna, 1992. Moses R., «A European Standard for Risk Analysis», in Proceedings, 10th World Conference on Computer Security, Audit and Control, Elsevier Advanced Technology, pp. 527-541, 1993. Organisation for Economic Co-operation and Development, Guidelines for the Security of Information Systems, Paris 1992. Organisation for Economic Co-operation and Development, Review of the 1992 guidelines for the Security of Information Systems, Paris 1998. Palmer I. C. and Potter G. A., Computer Security Risk Management, Jessica Kingsley Publishers, London, 1989. Pfaffenberger B., Protect your privacy on the Internet, John Wiley & Sons, 1997. Pfleeger C. P., Security in Computing, Prentice Hall, Saddle River, NJ, 1997. Polemi D., Biometric Techniques: Review and evaluation of biometric techniques for identification and authemtication, including an appraisal of the areas where they are most applicable, Final Report, ETS Project, Commission of the European Union, DG XIII, April 1997. Sandhu R. S., «A Lattice Interpretation of the Chinese Wall Policy», in Proceedings, 15th National Compute Security Conference, NIST, NCSC, pp. 329-3393 1992. Sandhu R. S., «Lattice-Based Access Control Models», IEEE Computer, Vol. 26, no. 11, pp. 9-19 1993. Sandhu R. S., Coyne E. J., Feinstein H. L. and Youman C. E., «Role-Based Access Control Models», IEEE Computer, Vol. 29, no. 2, pp. 38-56 1996. Schneier B. and Banisar D., The Electronic Privacy Papers, J. Wiley, 1997. Smith M., Commonsense Computer Security, McGraw-Hill, London, 1993. Stallings W., Network and Internetwork Security: Principles and Practice, PrenticeHall, Englewood Cliffs, NJ, 1999. 212 A™ºA§EIA Y¶O§O°I™TøN Summers R. C., Secure Computing: Threats and Safeguards, Mc Graw-Hill, 1997. Swanson M., Guide for Developing Security Plans for Information Technology Systems, NIST Special Publication 800-18, http://csrc.nist.gov/pubs, December 1998. US Department of Defense, National Computer Security Center, Department of Defense Trusted Computer Systems Evaluation Criteria , DoD 5200.28-STD, 1985. Wahlgren G., Survey of Computer Aided Risk Analysis Packages for Computer Security, Report 90-4, Dept. of Computer and Systems Science, Stockholm University and Royal Institute of Technology, 1990. Walker K. M., Cavanaugh L. Croswhite, Computer Security Policies and SunScreen Firewalls, Sun Microsystems Press, Palo Alto, CA, 1998. Wood C. Cresson, Information Security Policies Made Easy , Baseline Software, USA, 1991. Wood C. Cresson, Information Security Policies Made Easy , Baseline Software, USA, 1997. E›ÏÔÁÔ˜ Και τώρα που τελειώσατε, ελπίζω επιτυχώς, τη µελέτη του βιβλίου αυτού πρέπει να είστε εφοδιασµένοι µε τις βασικές γνώσεις γύρω από την ασφάλεια υπολογιστικών συστηµάτων. Πρέπει να ξέρετε, βέβαια, ότι το αντικείµενο δεν εξαντλείται στα πλαίσια ενός τόσο σύντοµου βιβλίου. Πράγµατι, σχεδόν το καθένα κεφάλαιο θα µπορούσε να αποτελέσει ξεχωριστό τόµο ίδιου µεγέθους µε το σύνολο του βιβλίου αυτού. ∆εν καλύψαµε δε καθόλου ολόκληρες περιοχές του κλάδου, όπως, για παράδειγµα, την περιοχή της ασφάλειας των συστηµάτων βάσεων δεδοµένων, την περιοχή των διαύλων συγκαλυµµένης µετάδοσης πληροφορίας (covert channels), την περιοχή της εξασφάλισης της ιδιωτικότητας των πληροφοριών (information privacy), την περιοχή της εξασφάλισης του επιπέδου ασφάλειας πληροφοριακών συστηµάτων (information security assurance), την περιοχή της κρυπτολογίας (cryptology) και την περιοχή της ηθικής των πληροφοριακών συστηµάτων (information systems ethics). Αυτό που προσπάθησα, λοιπόν, να κάνω είναι να σας µυήσω στο αντικείµενο και να σας δώσω τα βασικά εφόδια αλλά και την περιέργεια να εντρυφήσετε περισσότερο στο αντικείµενο αυτό. Ελπίζω να κατάφερα κάτι. Σωκράτης Κ. Κάτσικας Ιούνιος 2000 A·ÓÙ‹ÛÂȘ AÛ΋ÛÂˆÓ A˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 1.1 1. Λάθος 2. Σωστή 3. Λάθος 4. Σωστή 5. Λάθος 6. Σωστή Η συµβολοσειρά από µόνη της είναι απλώς ένα φυσικό φαινόµενο, εποµένως είναι απλώς ένα δεδοµένο. Μαζί όµως µε την ερµηνεία ότι αντιπροσωπεύει έναν αριθµό αυτοκινήτου, γίνεται πληροφορία. Η επιπλέον ερµηνεία ότι πρόκειται για τον αριθµό του (παλιού) αυτοκινήτου µου δεν αλλάζει την κατάσταση, αυξάνει όµως την αξία της πληροφορίας (γιατί;). Πρέπει όµως να σηµειώσω ότι θα ήταν, ενδεχοµένως, σωστό να θεωρήσετε και τις προτάσεις 3 και 5 σωστές, γιατί αφού η πληροφορία είναι «εννοιολογικό υπερσύνολο» του δεδοµένου είναι και δεδοµένο. Η προσωπική µου άποψη όµως δεν είναι αυτή. Σε οποιαδήποτε περίπτωση όµως, αν απαντήσατε σωστά, µπράβο σας! Αν όχι, µην απογοητεύεστε και ξαναπροσπαθήστε να διαχωρίσετε τις έννοιες «δεδοµένα» και «πληροφορίες». 1.2 Η σωστή απάντηση είναι η 1. Οι προτάσεις 2 και 3, παρ’ όλο που είναι σωστές, δεν αποτελούν αιτίες που καταδεικνύουν τη µακρο-οικονοµική σηµασία της πληροφορίας, αλλά απλώς διαπιστώσεις που ενισχύουν την άποψη ότι η εξάρτηση της οικονοµίας από την πληροφορία αυξάνεται. Αν απαντήσατε λάθος, θα πρέπει να προσέξετε λίγο παραπάνω την υποενότητα 1.1.1. 1.3 Η σωστή απάντηση είναι η 2. Οι προτάσεις 1 και 3, παρ’ όλο που είναι σωστές, δεν αποτελούν αιτίες που καταδεικνύουν τη µικρο-οικονοµική σηµασία της πληροφορίας, αλλά απλώς διαπιστώσεις που ενισχύουν την άποψη ότι η πληροφορία είναι αγαθό και έχει µετρήσιµη αξία. Αν απαντήσατε λάθος, θα πρέπει να προσέξετε λίγο παραπάνω την υποενότητα 1.1.2. 1.4 1. Σωστή 2. Σωστή 3. Λάθος 4. Λάθος Οι δύο πρώτες προτάσεις αποτελούν τους βασικούς λόγους για τους οποίους η πληροφορία έχει κοινωνική σηµασία. Η πρόταση 3 είναι λάθος, γιατί η ίδια η πληροφορία δεν επιτρέπει από µόνη της την άσκηση ελέγχου ή επίβλεψης δραστηριοτήτων ατόµων ή οµάδων. Οι σηµερινές δυνατότητες των τεχνολογιών πληροφοριών και επικοινωνιών είναι αυτές που, αν αξιοποιηθούν ανεξέλεγκτα, µπορούν να οδη- 216 A™ºA§EIA Y¶O§O°I™TøN γήσουν σε τέτοια φαινόµενα. Η πρόταση 4 είναι λάθος, γιατί η πληροφορία από µόνη της δε χρησιµοποιείται κατ’ ανάγκη καταχρηστικά. Αν δεν απαντήσατε σωστά στην άσκηση αυτή, θα πρέπει να ξαναδιαβάσετε πιο προσεκτικά την Ενότητα 1.2. 1.5 Η σωστή απάντηση είναι η 5. Η οδηγία είναι νοµική ρύθµιση, άρα αυτόµατα και θεσµική, διεθνούς επιπέδου (αφού αφορά όλη την Ευρωπαϊκή Ένωση) και οριζόντια, αφού αφορά όλα τα πληροφοριακά συστήµατα και όχι µόνο αυτά που λειτουργούν σε συγκεκριµένο τοµέα. Αν δεν απαντήσατε σωστά µε την πρώτη, µην ανησυχείτε. Η κατηγοριοποίηση αυτή δεν είναι και πολύ εύκολη. Ξαναδιαβάστε όµως την υποενότητα 1.3.1. 1.6 Η σωστή απάντηση είναι η 1. Η πρόταση 2 είναι λάθος, γιατί ο νόµος έχει εθνική και όχι τοπική εµβέλεια. Η πρόταση 3 είναι λάθος, γιατί ο νόµος δεν είναι κανονισµός. Η πρόταση 4 είναι λάθος, γιατί ο νόµος αφορά όλα τα πληροφοριακά συστήµατα και όχι µόνο αυτά που λειτουργούν σε συγκεκριµένο τοµέα. Αν δεν απαντήσατε σωστά µε την πρώτη, µην ανησυχείτε. Η κατηγοριοποίηση αυτή δεν είναι και πολύ εύκολη. Ξαναδιαβάστε όµως την υποενότητα 1.3.1. 1.7 Η σωστή απάντηση είναι η 1. Η πρόταση 2 είναι λάθος, γιατί τα ευαίσθητα δεδοµένα αποτελούν υποσύνολο των δεδοµένων προσωπικού χαρακτήρα. Η πρόταση 3 είναι λάθος, γιατί οι ρυθµίσεις αυτές δεν απαγορεύουν την επεξεργασία των δεδοµένων προσωπικού χαρακτήρα, αλλά ρυθµίζουν τις συνθήκες κάτω από τις οποίες η επεξεργασία αυτή είναι νόµιµη. Αν δεν απαντήσατε σωστά, θα πρέπει να ξαναδιαβάσετε την υποενότητα 1.3.1. 1.8 Η σωστή επιλογή είναι οι προτάσεις 1, 4, 8 και 11. Η πρόταση 2 δεν αποτελεί υποχρέωση του οργανισµού, παρά µόνο στο βαθµό που χρειάζεται για να πετύχει η 1. Το ίδιο ισχύει και για την πρόταση 3. Η πρόταση 5 αποτελεί µέος των ενεργειών που πρέπει να γίνουν για να επιτευχθεί η 4, ενώ οι 6 και 7 αποτελούν βασικές παραµέτρους και στόχους της πολιτικής ασφάλειας. Η πρόταση 9 αποτελεί απαραίτητο συστατικό της 8, ενώ η 10 δίνει τον τρόπο µε τον οποίο θα επιτευχθεί η 8. Τέλος, η πρόταση 12 δεν αποτελεί αντικείµενο ευθύνης του κάθε οργανισµού. Αν απαντήσα- A ¶ A N T H ™ E I ™ A ™ K H ™ E ø N AY T O A • I O § O ° H ™ H ™ 217 τε σωστά, τότε µπράβο σας, γιατί φαίνεται ότι µπορείτε να διαχωρίζετε λεπτές έννοιες. Αν όχι, δεν πειράζει. ∆οκιµάστε ξανά, αφού διαβάσετε µε µεγαλύτερη προσοχή την υποενότητα 1.3.2. 2.1 Η σωστή απάντηση είναι η 4. Εφαρµογή του ορισµού δείχνει ότι ένας προσωπικός υπολογιστής είναι υπολογιστικό συγκρότηµα, άρα και υπολογιστικός πόρος, και υπολογιστικό αντικείµενο. Αν απαντήσατε σωστά, µπράβο σας! Αν όχι, µην απογοητεύεστε. Οι ορισµοί αυτοί είναι αρκετά µπερδεµένοι. Πρέπει όµως να τους ξαναµελετήσετε πριν προχωρήσετε παρακάτω. 2.2 Η σωστή απάντηση είναι η 2. Ένα τέτοιο σύστηµα χρησιµοποιείται από ένα υπολογιστικό σύστηµα, µπορεί να χειριστεί πληροφορίες, αλλά δεν αποτελεί υπολογιστικό συγκρότηµα. Αν απαντήσατε σωστά, τότε µπράβο σας! Αν δεν απαντήσατε σωστά, δεν πειράζει. Οι ορισµοί έτσι κι αλλιώς ήταν πάρα πολλοί. Ξαναδοκιµάστε να τους µελετήσετε άλλη µια φορά. 2.3 Η σωστή απάντηση είναι η 4. Αφού το σύστηµα είναι χειρογραφικό, δεν έχει νόηµα να µιλάµε για ο,τιδήποτε υπολογιστικό. Παραµένει όµως πληροφοριακό σύστηµα, µε την ευρεία έννοια. Αν απαντήσατε σωστά, σηµαίνει ότι έχετε πιάσει το νόηµα. Αν όχι, σηµαίνει ότι κατάφερα να σας µπερδέψω. Προσέξτε λίγο περισσότερο και δώστε µεγάλη σηµασία στην κάθε λέξη. Αυτό είναι πολύ σηµαντικό στην περιοχή που µελετάµε. Ξαναπροσπαθήστε! 2.4 Απειλές είναι τα 1, 2, 5, 6 και αδυναµίες τα υπόλοιπα. Αν απαντήσατε σωστά, είστε διορατικοί. Αν όχι, µην ανησυχείτε. Κατά πάσα πιθανότητα δε σκεφτήκατε αρκετά πριν απαντήσετε. Ξαναδοκιµάστε, χρησιµοποιώντας περισσότερο και τη φαντασία σας. Να ξέρετε ότι ακόµη και έµπειροι ειδικοί στην ασφάλεια υπολογιστών µπερδεύουν καµιά φορά τις απειλές µε τις αδυναµίες. Η διάκριση ανάµεσα στις έννοιες αυτές είναι πολύ λεπτή. 2.5 Το 1 είναι µέτρο ανίχνευσης, όπως άλλωστε υποδηλώνει και η ονοµασία του. Η σχε- 218 A™ºA§EIA Y¶O§O°I™TøN τική απειλή είναι η φωτιά. Το 2 είναι µέτρο πρόληψης που αντιµετωπίει την απειλή της πληµµύρας. Το 3 είναι µέτρο πρόληψης για µια σειρά απειλές που όλες βασίζονται στη δυνατότητα προσπέλασης σε υπολογιστικούς πόρους. Το 4 είναι µέτρο ανίχνευσης, όπως άλλωστε είπαµε και στην Ενότητα 2.8, αλλά θα µπορούσε να θεωρηθεί και ως αποτρεπτικό µέτρο πρόληψης καθώς και ως τµήµα µέτρου αντίδρασης. Το µέτρο αυτό αντιµετωπίζει µια σειρά απειλών. Το 5 είναι µέτρο αντίδρασης που αντιµετωπίζει κάθε απειλή η οποία έχει ως επίπτωση την καταστροφή ή αλλοίωση (ολική ή µερική) δεδοµένων. Το 6 είναι µέτρο αντίδρασης που στοχεύει στην ελαχιστοποίηση των απωλειών µετά από κάποιο περιστατικό. Το 7 είναι µέτρο πρόληψης επίσης για σειρά απειλών. 3.1 Η σωστή αντιστοίχιση είναι ως εξής: Στη φάση σχεδιασµού ανήκουν οι ενέργειες 3, 5, 7 και 13, στη φάση υλοποίησης οι ενέργειες 2, 4, 6, 9, 10 και 11 και στη φάση συντήρησης οι ενέργειες 1, 8, 12, 14. Αν απαντήσατε σωστά, µπράβο σας! Συνεχίστε µε τον ίδιο ενθουσιασµό. Αν όχι, θα πρέπει να ξαναδιαβάσετε την Ενότητα 3.1 και να προσέξετε λίγο παραπάνω. 3.2 Σωστές είναι οι προτάσεις 2, 3, 6 και 7, ενώ οι υπόλοιπες είναι λανθασµένες. Η πρόταση 1 είναι λανθασµένη, γιατί, όπως είπαµε στην αρχή της Ενότητας 3.2, η έννοια της διαχείρισης κινδύνων εµπεριέχει την έννοια της ανάλυσης κινδύνων. Η πρόταση 4 είναι λανθασµένη, γιατί, όπως είπαµε στην Ενότητα 3.2.1, η διαχείριση κινδύνων βασίζεται στις αρχές της στατιστικής θεωρίας αποφάσεων. Η πρόταση 5 είναι λανθασµένη, γιατί, όπως είπαµε στην Ενότητα 3.2.2, η διαχείριση κινδύνων αντιµετωπίζει το ζήτηµα της λήψης απόφασης πολύ πιο απλοποιηµένα από το στενό φορµαλιστικό µοντέλο της θεωρίας αποφάσεων. Τέλος, η πρόταση 8 είναι λανθασµένη, γιατί, όπως είπαµε στην Ενότητα 3.2.3, οι διαθέσιµες µεθοδολογίες διαφέρουν τόσο στο επίπεδο ανάλυσης όσο και στο βαθµό κάλυψης όλων των τµηµάτων της διαδικασίας διαχείρισης κινδύνων. Αν βρήκατε τη σωστή απάντηση, τότε µπράβο σας! Αν όχι, θα πρέπει να µελετήσετε λίγο προσεκτικότερα τις υποενότητες 3.2.1 - 3.2.4 και θα τα καταφέρετε σίγουρα την επόµενη φορά. 3.3 Σωστές είναι µόνο οι προτάσεις 2, 5 και 7. Όλες οι άλλες είναι λάθος, όπως προκύπτει από τη συζήτηση στην υποενότητα 3.2.5. Αν τα καταφέρατε, αυτό σηµαίνει ότι A ¶ A N T H ™ E I ™ A ™ K H ™ E ø N AY T O A • I O § O ° H ™ H ™ 219 ασχοληθήκατε ενεργά µε το παράδειγµα της CRAMM. Αν όχι, φοβάµαι ότι θα πρέπει να ξαναγυρίσετε λίγο πίσω και να ξαναδιαβάσετε την υποενότητα 3.2.5 πριν ξαναπροσπαθήσετε την άσκηση. 3.4 Σωστές είναι µόνο οι προτάσεις 1, 5 και 6. Όλες οι άλλες είναι λανθασµένες, όπως φαίνεται από τη συζήτηση στην Ενότητα 3.3. Αν απαντήσατε σωστά, τότε διαβάσατε προσεκτικά. Αν όχι, µη βιάζεστε. Ξαναδιαβάστε την Ενότητα 3.3 και ξαναπροσπαθήστε την άσκηση, δίνοντας µεγαλύτερη προσοχή στο νόηµα των προτάσεων. 4.1 Η σωστή αντιστοίχιση είναι ως εξής: 1Æ1, 1Æ4, 1Æ5, 1Æ7, 1Æ9, 1Æ11, 2Æ1, 2Æ3, 2Æ6, 2Æ8, 2Æ9, 3Æ3, 3Æ6, 3Æ8, 3Æ10, 3Æ12, 4Æ2, 4Æ3, 4Æ6, 4Æ8, 4Æ10, 4Æ11 Αν απαντήσατε σωστά, τότε µπράβο σας! ∆ιαβάσατε προσεκτικά και κατανοήσατε τις µεθόδους ταυτοποίησης. Αν όχι, θα πρέπει να ξαναγυρίσετε λίγο πίσω και να ξαναδιαβάσετε µεθοδικότερα. Την επόµενη φορά θα δείτε ότι η άσκηση δεν είναι πολύ δύσκολη. 4.2 Η σωστή αντιστοίχιση είναι ως εξής: 1Æ4, 1Æ7, 2Æ2, 2Æ3, 3Æ1, 3Æ5, 3Æ6, 4Æ8 Αν απαντήσατε σωστά, πάτε πολύ καλά. Αν όχι, προσέξτε λίγο περισσότερο τη µέθοδο διαβάσµατός σας. Είναι αλήθεια ότι η πληροφορία που σας παρέχεται είναι πολλή για να αφοµοιωθεί εύκολα, οπότε θα πρέπει να οργανώσετε αντίστοιχα τη µελέτη σας. 4.3 Αν το µέγιστο µήκος του συνθηµατικού είναι 1 χαρακτήρας και υπάρχουν 26 διαφορετικοί χαρακτήρες (αφού δεν υπάρχει διαφορά µεταξύ κεφαλαίων και πεζών), υπάρχουν 26 διαφορετικά συνθηµατικά. Αντίστοιχα, αν το µέγιστο µήκος είναι 2, το πλήθος των συνθηµατικών είναι 26 (µήκους ενός χαρακτήρα) και 262 (µήκους 2 χαρακτήρων). Ανάλογα, προκύπτει ότι το πλήθος των συνθηµατικών όταν το µέγιστο µήκος είναι 3 είναι 261 + 262 + 263 και γενικότερα το πλήθος των συνθηµατικών µε µέγιστο µήκος n είναι n  26 . i i =1 220 A™ºA§EIA Y¶O§O°I™TøN Στον παρακάτω πίνακα φαίνονται οι ζητούµενοι χρόνοι αν ο απαιτούµενος χρόνος δοκιµής ενός συνθηµατικού είναι 0.1 sec (3η στήλη), 1 msec (4η στήλη) ή 1 µsec (τελευταία στήλη). Μήκος συνθηµατικού 1 2 3 4 5 6 7 8 Πλήθος διαφορετικών συνθηµατικών 26 702 18,278 475,254 12,356,630 321,272,406 8,353,082,582 217,180,147,158 Απαιτούµενος χρόνος (sec) 2.6 70.2 1,827.8 47,525.4 1,235,663 32,127,240.6 835,308,258.2 21,718,014,715.8 Απαιτούµενος χρόνος (sec) 0.026 0.702 18.278 475.254 12,356.630 321,272.406 8,353,082.582 217,180,147.158 Απαιτούµενος χρόνος (sec) 0.000026 0.000702 0.018278 0.475254 12.356630 321.272406 8,353.082582 217,180.147158 Αν απαντήσατε σωστά, µπράβο σας! Αν όχι, µην ανησυχείτε. Έτσι κι αλλιώς, η άσκηση απαιτούσε µάλλον γνώσεις συνδυαστικής περισσότερο παρά ασφάλειας. Ίσως να είναι καλή ιδέα να ξεσκουριάσετε λίγο τις γνώσεις σς γύρω απ’ αυτό το θέµα. 4.4 Το µόνο που αλλάζει σε σχέση µε την προηγούµενη άσκηση είναι ότι τώρα το πλήθος των έγκυρων χαρακτήρων είναι 52. Εποµένως, το πλήθος των συνθηµατικών µε µέγιστο µήκος n είναι κας της προηγούµενης άσκησης διαµορφώνεται ως εξής: Μήκος συνθηµατικού 1 2 3 4 5 6 Πλήθος διαφορετικών συνθηµατικών 52 2.756 143.364 7.454.980 387.659.012 20.158.268.676 Απαιτούµενος χρόνος (sec) 5,2 275,6 14.336 745.498 38.765.901,2 2.015.826.867,6 Απαιτούµενος χρόνος (sec) 0,052 2,756 143,364 7.454,98 387.659,012 20.158.268,676  52 . Ο πίναi i =1 n Απαιτούµενος χρόνος (sec) 0,000026 0,000702 0,018278 0,475254 12,356630 321,272406 A ¶ A N T H ™ E I ™ A ™ K H ™ E ø N AY T O A • I O § O ° H ™ H ™ 221 7 8 1,04823 ¥ 1012 5,45823 ¥ 1013 1,04823 ¥ 1011 5,45823 ¥ 1013 1,04823 ¥ 109 5,45823 ¥ 1013 1,04823 ¥ 106 5,45823 ¥ 1013 Όσοι απάντησαν σωστά είναι άξιοι επαίνων. Όσοι δεν τα κατάφεραν θα πρέπει να εξασκηθούν λίγο περισσότερο. 4.5 Το µόνο που αλλάζει σε σχέση µε την προηγούµενη άσκηση είναι ότι τώρα το πλήθος των έγκυρων χαρακτήρων είναι 64. Εποµένως, το πλήθος των συνθηµατικών µε µέγιστο µήκος n είναι κας της προηγούµενης άσκησης διαµορφώνεται ως εξής: Μήκος συνθηµατικού 1 2 3 4 5 6 7 8 Πλήθος διαφορετικών συνθηµατικών 64 4.160 266.304 17.043.520 1.090.785.344 69.810.262.080 4,467857 ¥ 10 12  64 . Ο πίναi i =1 n Απαιτούµενος χρόνος (sec) 6,4 416,0 26.630,4 1.704.352,0 109.078.534,4 6.981.026.208.0 4,467857 ¥ 10 11 Απαιτούµενος χρόνος (sec) 0,064 4,160 266,304 17.043,520 1.090.785,344 69.810.262,080 4,467857 ¥ 10 9 Απαιτούµενος χρόνος (sec) 0,000064 0,004160 0,266304 17,043520 1.090,785344 69.810,262080 4,467857 ¥ 106 2,859428 ¥ 108 2,859428 ¥ 1014 2,859428 ¥ 1013 2,859428 ¥ 1011 Μπράβο σε όσους έκαναν σωστά τους (πραγµατικά πολλούς) υπολογισµούς που απαιτούσε η άσκηση! Όσοι δεν τα κατάφεραν χρειάζονται λίγο περισσότερη εξάσκηση. Μην απογοητεύεστε όµως αν δε βρήκατε ακριβώς τα ίδια αποτελέσµατα, αφού ο σκοπός της άσκησης, όπως και των δύο προηγούµενων, δεν ήταν βέβαια να σας βάλει να κάνετε πράξεις, αλλά να διαπιστώσετε πόσο δραµατικά αλλάζουν οι χρόνοι της τελευταίας στήλης µε το πλήθος των έγκυρων χαρακτήρων ενός συνθηµατικού και µε το χρόνο που χρειάζεται για να δοκιµάσουµε κάθε συνθηµατικό. Για να δούµε ειδικότερα την επίδραση του πλήθους των έγκυρων χαρακτήρων, ας υποθέσουµε ότι ο χρόνος δοκιµής ενός συνθηµατικού είναι 1 msec. Τότε, για µήκος συνθηµατικού 6 χαρακτήρων απαιτούνται συνολικά περίπου 3.7 ηµέρες επεξεργασίας προκειµένου να βρούµε ένα συνθηµατικό µε επίθεση ωµής βίας, αν οι έγκυροι χαρακτήρες είναι 26. Ο χρόνος αυτός γίνεται 23.3 ηµέρες, αν οι έγκυροι χαρακτήρες είναι 222 A™ºA§EIA Y¶O§O°I™TøN 52, και 80,8 ηµέρες, αν οι έγκυροι χαρακτήρες είναι 64. Ενώ οι 3,7 ηµέρες είναι χρόνος που θα µπορούσε κάποιος (αν ήταν αρκετά αποφασισµένος) να αφιερώσει, οι 80.8 ηµέρες απαιτούν σίγουρα πολύ περισσότερη αποφασιστικότητα! 4.6 Η σωστή αντιστοίχιση είναι ως εξής: 1Æ2, 1Æ4, 2Æ1, 2Æ3, 3Æ1, 3Æ3, 4Æ2, 4Æ4, 5Æ2, 5Æ4, 6Æ2, 6Æ4, 7Æ2, 7Æ4, 8Æ2, 8Æ4 Αν απαντήσατε σωστά στην άσκηση αυτή, έχετε καταλάβει ότι ένα καλό συνθηµατικό είναι δύσκολο να αποµνηµονευτεί και επίσης δύσκολο να εικαστεί, ενώ το αντίθετο συµβαίνει για ένα κακό συνθηµατικό. Αν δεν τα καταφέρατε, µην απογοητεύεστε. Ξαναπροσπαθήστε και θα δείτε ότι δεν είναι τόσο δύσκολο. 4.7 Θυµηθείτε ότι η επέκταση χρησιµοποιείται προκειµένου να αντιµετωπιστούν λεξικογραφικές επιθέσεις και συγκεκριµένα να τις καθυστερήσει. Το γεγονός ότι οι χαρακτήρες που αντιστοιχούν στην επέκταση είναι γνωστοί στον επιτιθέµενο δεν επιταχύνει τη διαδικασία κρυπτογράφησης των συνθηµατικών που δοκιµάζει, εποµένως δε διευκολύνει την προσπάθειά του. Αντίθετα, το µεγαλύτερο µήκος του συνθηµατικού δρα ως παράγοντας επιβράδυνσης της προσπάθειας αυτής. 4.8 Θεωρητικά θα µπορούσαµε να το κάνουµε κι αυτό (και µάλιστα να αυξήσουµε ακόµη περισσότερο το µήκος της επέκτασης), κάνοντας όλο και δυσκολότερη την εκδήλωση λεξικογραφικής επίθεσης, αλλά µην ξεχνάτε ότι το µεγαλύτερο µήκος συνθηµατικού επιβραδύνει και τη διαδικασία σύνδεσης του νόµιµου χρήστη. Όπως συνήθως, δεν µπορούµε να κερδίσουµε κάτι χωρίς να χάσουµε κάτι άλλο, η δε πρόκληση είναι να βρεθεί το σωστό σηµείο ισορροπίας. 5.1 Οι προτάσεις 3, 5, 6 και 8 είναι σωστές. Οι προτάσεις 1, 2 και 7 είναι λάθος. Η πρόταση 4 µπορεί να είναι και σωστή και λάθος, ανάλογα πώς θα την ερµηνεύσει κανείς. Αν την ερµηνεύσουµε ότι σε κάθε χρονική στιγµή κάθε οντότητα στο σύστηµα είναι ή υποκείµενο ή αντικείµενο, τότε η πρόταση είναι σωστή. ∆ιαχρονικά όµως η πρόταση είναι λάθος. Μια οντότητα µπορεί τώρα να είναι υποκείµενο και σε λίγο να είναι αντικείµενο. Επίσης, η πρόταση είναι σωστή αν θεωρηθεί ότι εννοεί ότι κάθε A ¶ A N T H ™ E I ™ A ™ K H ™ E ø N AY T O A • I O § O ° H ™ H ™ 223 οντότητα στο σύστηµα είναι ή υποκείµενο ή αντικείµενο και δεν µπορεί να είναι τίποτε άλλο. Σε όσες και όσους απάντησαν σωστά αξίζουν συγχαρητήρια! Όσες και όσοι δεν τα κατάφεραν ας µην απογοητεύονται, αλλά ας ξαναδιαβάσουν την Ενότητα 5.1 πιο προσεκτικά. 5.2 Η σωστή αντιστοίχιση είναι 1Æ3, 2Æ1, 3Æ2 και 4Æ4. Μπράβο σας, αν τα καταφέρατε! Αν όχι, δεν πειράζει. Ξαναπροσπαθήστε αφού επαναλάβετε τη µελέτη της Ενότητας 5.2. 5.3 Οι προτάσεις 2, 3 και 6 είναι σωστές. Οι υπόλοιπες είναι λάθος. Αν απαντήσατε σωστά, τότε σας αξίζουν συγχαρητήρια! Αν όχι, µην ανησυχείτε. Κατά πάσα πιθανότητα δεν είχατε απόλυτα συγκεντρωµένη την προσοχή σας όταν µελετούσατε την Ενότητα 5.3. Ξαναπροσπαθήστε και θα δείτε ότι θα τα καταφέρετε. 5.4 Έχει δικαίωµα προσπέλασης στα αντικείµενα 2 και 5. Για όλα τα άλλα αντικείµενα η διαβάθµιση του αντικειµένου κυριαρχεί αυτής του υποκειµένου είτε ως προς το βαθµό ευαισθησίας (αντικείµενο 1) είτε ως προς τα διαµερίσµατα ευαισθησίας (αντικείµενα 3, 4 και 6). Αν τα καταφέρατε να απαντήσετε σωστά σ’ αυτή την άσκηση, τότε µπράβο σας, γιατί πιάνετε εύκολα τη σύνδεση των µαθηµατικών µε την κοινή γλώσσα. Αν όχι, µην ανησυχείτε καθόλου. Κι εγώ ο ίδιος δεν τα πάω πολύ καλά µε το µαθηµατικό φορµαλισµό. ∆οκιµάστε να µετατρέψετε τη µαθηµατική περιγραφή της άσκησης σε απλή γλώσσα και θα δείτε ότι θα σας φανεί πολύ πιο εύκολη. 5.5 Οι προτάσεις 2, 4 και 5 είναι σωστές. Οι υπόλοιπες είναι λάθος. Πολλά µπράβο για όσες και όσους απάντησαν σωστά. Για τους υπόλοιπους απαιτείται, φοβάµαι, επανάληψη της µελέτης της Ενότητας 5.4. Εµπρός! 6.1 Οι προτάσεις 1, 5 και 6 είναι σωστές, ενώ οι υπόλοιπες λάθος. Ειδικότερα, η πρόταση 2 είναι λανθασµένη, γιατί, όπως είπαµε στην Ενότητα 6.1.1, οι διεργασίες µπορούν να επικοινωνούν και µε αποστολή µηνυµάτων. Η πρόταση 3 είναι λανθασµένη, γιατί, όπως είπαµε στην Ενότητα 6.1.1, όσο µικρότερο είναι το µέγεθος των 224 A™ºA§EIA Y¶O§O°I™TøN περιοχών, τόσο πιο καλά προστατεύεται η εµπιστευτικότητα και η ακεραιότητα των διεργασιών. Η πρόταση 4 είναι λανθασµένη, γιατί, όπως είπαµε στην Ενότητα 6.1.1, οι προνοµιούχες εντολές εκτελούνται σε κατάσταση επιβλέποντος. Η πρόταση 7 είναι λανθασµένη, γιατί, όπως είπαµε στην Ενότητα 6.1.1, από τον ορισµό τους, όσο εσωτερικότεροι είναι οι δακτύλιοι, τόσο πιο προνοµιούχοι είναι. Η πρόταση 8 είναι λανθασµένη, γιατί, όπως είπαµε στην Ενότητα 6.1.1, υπάρχουν λειτουργικά συστήµατα (π.χ. Unix) στα οποία η αλλαγή περιοχής γίνεται µέσω προσωρινής αλλαγής της ταυτότητας χρήστη της διεργασίας. Η πρόταση 9 είναι λανθασένη, γιατί, όπως είπαµε στην Ενότητα 6.1.1, η επιλογή αυτή µπορεί να αποβεί απαγορευτικά δαπανηρή, εκτός του ότι η διάσχιση δακτυλίων αυξάνει σηµαντικά το χρόνο εκτέλεσης που απαιτεί µια κλήση. Τέλος, η πρόταση 10 είναι λανθασµένη, γιατί, όπως είπαµε στην Ενότητα 6.1.1, εκτός από τις ίδιες τις διεργασίες, πρέπει να ελέγχεται και η επικοινωνία µεταξύ τους, τόσο επειδή περιλαµβάνει ροή πληροφορίας όσο και επειδή είναι ένας τρόπος προσπέλασης αντικειµένων. Αν δεν τα καταφέρατε σωστά, προτείνω να ξαναµελετήσετε την υποενότητα 6.1.1 και να ξαναπροσπαθήσετε. 6.2 Οι προτάσεις 2 και 4 είναι σωστές, ενώ οι υπόλοιπες λάθος. Η πρόταση 1 είναι λανθασµένη, γιατί, όπως είδαµε στην Ενότητα 6.1.2, επειδή η µνήµη διαµοιράζεται µεταξύ των προγραµµάτων, σε κανένα πρόγραµµα δεν πρέπει να επιτρέπεται να τροποποιήσει το τµήµα της µνήµης το οποίο χρησιµοποιεί ένα άλλο πρόγραµµα. Η πρόταση 3 είναι λανθασµένη, γιατί, όπως είδαµε στην Ενότητα 6.1.2, στα συστήµατα µε εικονική µνήµη πολλαπλών χώρων διευθύνσεων, ένα τµήµα κάθε χώρου διευθύνσεων µπορεί να είναι αφιερωµένο στην αποθήκευση διαµοιράσιµου κώδικα συστήµατος. Τέλος, η πρόταση 5 είναι λανθασµένη, γιατί, όπως είδαµε στην Ενότητα 6.1.2, αφού η εικονική µνήµη είναι αυτή που χρησιµοποιούν τα προγράµµατα, αυτή είναι και το πιο φυσικό µέρος για να υλοποιηθεί η προστασία της µνήµης. Αν δεν τα καταφέρατε σωστά, προτείνω να ξαναµελετήσετε την υποενότητα 6.1.2 και να ξαναπροσπαθήσετε. Θα τα καταφέρετε οπωσδήποτε. 6.3 Οι προτάσεις 1 και 2 είναι σωστές, ενώ οι υπόλοιπες λάθος. Αν δεν τα καταφέρατε σωστά, θα πρέπει να ξαναµελετήσετε τις Παραγράφους 6.1.3, 6.1.4 και 6.1.5 και µετά να ξαναπροσπαθήσετε. Θα τα καταφέρετε οπωσδήποτε αν είστε λίγο πιο προσεκτικοί. A ¶ A N T H ™ E I ™ A ™ K H ™ E ø N AY T O A • I O § O ° H ™ H ™ 225 6.4 Η σωστή απάντηση είναι η 4. Οι άδειες 1 παρέχουν όλα τα δικαιώµατα σε όλους. Οι άδειες 2 δίνουν στον ιδιοκτήτη δικαίωµα ανάγνωσης, στην οµάδα όλα τα δικαιώµατα και στον υπόλοιπο κόσµο δικαίωµα εκτέλεσης. Οι άδειες 3 δίνουν στον ιδιοκτήτη δικαίωµα εκτέλεσης, στην οµάδα δικαίωµα ανάγνωσης και εκτέλεσης και στον υπόλοιπο κόσµο όλα τα δικαιώµατα. Τέλος, οι άδειες 5 δε δίνουν κανένα δικαίωµα σε κανέναν! Σε όσους τα βρήκαν όλα σωστά αξίζουν συγχαρητήρια. Αν, όµως, δεν τα καταφέρατε, µην απογοητεύεστε. Λίγο περισσότερη εξάσκηση θα σας πείσει ότι δεν είναι και τόσο δύσκολη η έκφραση των αδειών στο Unix, αν και αρχικά ξενίζει. 6.5 Η σωστή αντιστοιχία είναι 1Æ4, 2Æ5, 3Æ3, 4Æ1, 5Æ2. Αν κάποιες από τις σωστές σάς ξέφυγαν, ξαναγυρίστε στην Ενότητα 6.2.1 και εξασκηθείτε λίγο. Θα δείτε ότι πολύ γρήγορα θα µπορείτε µε µια µατιά να κάνετε τις αντιστοιχίσεις σωστά. 6.6 Οι προτάσεις 2 και 5 είναι σωστές και οι υπόλοιπες λάθος. Η πρόταση 1 είναι λανθασµένη, γιατί, όπως είδαµε στην Ενότητα 6.2.4, µέσα στο περικάλυµµα µπορούµε να εκτελέσουµε όλους τους ελέγχους προσπέλασης ή να κάνουµε την παρακολούθηση που θέλουµε. Ο χρήστης δεν αντιλαµβάνεται καµία διαφορά και λαµβάνει την ίδια υπηρεσία όπως και πριν. Η πρόταση 3 είναι λανθασµένη, γιατί, όπως είδαµε στην Ενότητα 6.2.5, η δυνατότητα αλλαγής της ταυτότητας χρήστη, που παρέχει το Unix, παραβιάζει την αρχή της δυνατότητας απόδοσης ευθυνών. Τέλος, η πρόταση 4 είναι λανθασµένη, γιατί, όπως είδαµε στην Ενότητα 6.2.5, τα συστήµατα Unix συχνά παραδίδονται µε ανασφαλείς προκαθορισµένες επιλογές –αδειών προσπέλασης σε νέα αρχεία, για παράδειγµα–, αφήνοντας την ευθύνη της αλλαγής στο διαχειριστή συστήµατος και στους χρήστες. Αν δεν καταφέρατε να απαντήσετε σωστά στην άσκηση αυτή, καλό θα ήταν να γυρίσετε λίγο πίσω και να ξαναδιαβάσετε τις Παραγράφους 6.2.4 και 6.2.5. 6.7 Οι προτάσεις 2 και 5 είναι σωστές και οι υπόλοιπες λάθος. Αν δεν καταφέρατε να απαντήσετε σωστά στην άσκηση αυτή, καλό θα ήταν να γυρίσετε λίγο πίσω και να ξαναδιαβάσετε την Ενότητα 6.3. Την επόµενη φορά που θα δοκιµάσετε είναι βέβαιο πως θα τα καταφέρετε. 226 A™ºA§EIA Y¶O§O°I™TøN 7.1 Η σωστή χρονική σειρά είναι 3, 2, 4, 1. Αν απαντήσατε σωστά, µπράβο σας! Αν όχι, καλό θα ήταν να ξαναγυρίσετε πίσω και να ξαναπροσπαθήσετε, αφού πρώτα επαναλάβετε την πρώτη παράγραφο της Ενότητας 7.1. 7.2 Η σωστή σειρά είναι 3, 1, 2, 4. Συγχαρητήρια σ’ όσους απάντησαν σωστά. Οι υπόλοιποι φοβάµαι πως θα πρέπει να ξαναδιαβάσουν προσεκτικότερα την υποενότητα 7.1.1. 7.3 Η σωστή αντιστοίχιση είναι 1Æ4, 2Æ1, 3Æ6, 4Æ5, 5Æ3, 6Æ2. Αν απαντήσατε σωστά, αξίζετε συγχαρητήρια για την παρατηρητικότητά σας. Αν όχι, πρέπει να ξαναδιαβάσετε τις υποενότητες 7.1.2 και 7.1.3 και να ξαναπροσπαθήσετε. Θα τα καταφέρετε σίγουρα την επόµενη φορά. 7.4 Η σωστή αντιστοίχιση είναι 1Æ2, 2Æ1, 3Æ4, 4Æ3. Αν απαντήσατε σωστά, µπράβο σας! Αν όχι, ξαναγυρίστε στην υποενότητα 7.1.4, ξααδιαβάστε την και προσπαθήστε πάλι. 7.5 Η σωστή σειρά είναι 4, 6, 8, 1, 9, 5, 3, 7, 10, 2. Αν δεν καταφέρατε να τη βρείτε, θα πρέπει να ξαναδιαβάσετε την υποενότητα 7.1.4. 7.6 Οι προτάσεις 1, 3, 6 και 8 είναι σωστές. Αν τις βρήκατε, τότε µπράβο σας! Αν όχι, ξαναδιαβάστε προσεκτικά την Ενότητα 7.1 και ξαναδοκιµάστε. Θα δείτε ότι θα τα καταφέρετε. 7.7 Η σωστή αντιστοίχιση είναι 1Æ3, 2Æ1, 3Æ2, 4Æ5 και 5Æ4. Αν δεν καταφέρατε να τη βρείτε σωστά, µην απογοητεύεστε. Ξαναπροσπαθήστε, αφού όµως πρώτα ξαναµελετήσετε (προσεκτικότερα) την Ενότητα 7.2. A·ÓÙ‹ÛÂȘ ¢Ú·ÛÙËÚÈÔÙ‹ÙˆÓ 1.1 Η ενδεικτική απάντηση στη δραστηριότητα αυτή µού δίνει την ευκαιρία να σας τονίσω κάτι που πρέπει πάντα να θυµάστε σχετικά µε την ασφάλεια υπολογιστών: πρόκειται για ένα πεδίο όπου η υποκειµενικότητα παίζει πολύ µεγάλο ρόλο. Το γεγονός αυτό θα το συζητήσουµε εκτενέστερα και αργότερα, όταν θα µιλήσουµε για ανάλυση κινδύνων. Για να έρθω τώρα στη δική µου πρόταση απάντησης της δραστηριότητας, νοµίζω πως δεν υπάρχουν άλλοι παράγοντες πέρα απ’ αυτούς τους έξι που αναφέρθηκαν στο κείµενο. Ωστόσο, δεν αποκλείεται να µπορέσετε να διατυπώσετε εσείς κάποιους άλλους, συµπληρωµατικούς. Συµπληρωµατικά παραδείγµατα που θα µπορούσα να σας δώσω για κάθε παράγοντα είναι η γνώση της επικείµενης υποτίµησης του νοµίσµατος µιας χώρας (αποκλειστική κατοχή), η µη διαθεσιµότητα της πληροφορίας ιστοσυµβατότητας υποψηφίων για µεταµόσχευση οργάνων στο νοσοκοµείο (χρησιµότητα), το κόστος επαναδηµιουργίας του µητρώου εργαζοµένων στο δηµόσιο (κόστος δηµιουργίας), η παραβίαση του φορολογικού απορρήτου (νοµική ευθύνη), η αγορά αγαθών από το διαδίκτυο µε χρήση ηλεκτρονικού χρήµατος (µετατρεψιµότητα) και η απουσία πληροφορίας σχετικά µε τις τιµές κλεισίµατος του χρηµατιστηρίου από µια χρηµατιστηριακή εταιρεία (επιχειρησιακή σηµασία). 1.2 Ο νόµος 2472/97 ψηφίστηκε από τη Βουλή προκειµένου να εξειδικευτεί η ευρωπαϊκή οδηγία 95/46 (95/C 93/01) για τη χώρα µας. Η εξειδίκευση αυτή και η ύπαρξη σχετικού νόµου για την προστασία των προσωπικών πληροφοριών αποτελούσε µια από τις προϋποθέσεις εισδοχής της χώρας στις χώρες της συνθήκης Schengen. Είναι, λοιπόν, φυσικό τα δύο αυτά κείµενα να παρουσιάζουν πολλές οµοιότητες. Έτσι, τόσο η δοµή των δύο κειµένων όσο και οι ορισµοί και οι βασικές διατάξεις τους είναι οι ίδιες. Μια σηµαντική διαφορά είναι ότι ο ν. 2472/97 ορίζει ειδική κατηγορία δεδοµένων µε τίτλο «ευαίσθητα δεδοµένα», στα οποία περιλαµβάνονται τα δεδοµένα που αφορούν τη φυλετική ή εθνική προέλευση, τα πολιτικά φρονήµατα, τις θρησκευτικές ή φιλοσοφικές απαιτήσεις, τη συµµετοχή σε ένωση, σωµατείο και συνδικαλιστική οργάνωση, την υγεία, την κοινωνική πρόνοια και την ερωτική ζωή, καθώς και τα σχετικά µε ποινικές διώξεις ή καταδίκες, η συλλογή και επεξεργασία των οποίων γενικά απαγορεύεται. Άλλες διαφορές µπορούν να εντοπιστούν στην απαίτηση του ν. 2472/97 για τη γνωστοποίηση του υπεύθυνου επεξεργασίας των ενεργειών του στην αρµόδια Αρχή, όπως και στην απαίτηση για άδεια από την αρµόδια Αρχή προκειµένου να διαβιβαστούν διασυνοριακά τα προσωπικά δεδοµένα. Επί- 228 A™ºA§EIA Y¶O§O°I™TøN σης, ο ν. 2472/97 αναφέρεται στο ∆ικαίωµα Προσωρινής ∆ικαστικής Προστασίας ενάντια στην αθέµιτη επεξεργασία των προσωπικών δεδοµένων. Φυσικό είναι, επίσης, ότι ο ν. 2472/97 αναφέρεται στη σύνθεση της Αρχής, κάτι που η οδηγία 95/46 (95/C 93/01) αφήνει στη διακριτική ευχέρεια των κρατών-µελών. 1.3 Οι υποχρεώσεις του υπεύθυνου επεξεργασίας και, κατά συνέπεια, αυτές που πρέπει να επισηµανθούν στη διοίκηση αναφέρονται: • στο άρθρο 3, όπου περιγράφονται οι περιπτώσεις στις οποίες έχει εφαρµογή ο νόµος, • στο άρθρο 4, όπου αναφέρεται η υποχρέωση του υπεύθυνου επεξεργασίας να εξασφαλίζει τη νόµιµη επεξεργασία των προσωπικών δεδοµένων, • στο άρθρο 6, όπου ο υπεύθυνος επεξεργασίας υποχρεούται να γνωστοποιήσει στην Αρχή τη σύσταση και τη λειτουργία του αρχείου και την έναρξη της επεξεργασίας, • στο άρθρο 7, όπου ο υπεύθυνος επεξεργασίας υποχρεούται να ζητήσει άδεια από την Αρχή για να συλλέγει και επεξεργάζεται ευαίσθητα δεδοµένα, • στο άρθρο 8, που αναφέρεται στις υποχρεώσεις των υπεύθυνων επεξεργασίας τις σχετικές µε διασύνδεση αρχείων, • στο άρθρο 9, που αναφέρεται στις υποχρεώσεις των υπεύθυνων επεξεργασίας τις σχετικές µε διασυνοριακή ροή προσωπικών δεδοµένων, • στο άρθρο 11, που αναφέρεται στις υποχρεώσεις των υπεύθυνων επεξεργασίας τις σχετικές µε την ενηµέρωση των υποκειµένων, • στο άρθρο 12, που αναφέρεται στις υποχρεώσεις των υπεύθυνων επεξεργασίας τις σχετικές µε αιτήσεις υποκειµένων για πρόσβαση στα δεδοµένα που τους αφορούν, • στο άρθρο 13, που αναφέρεται στις υπχρεώσεις των υπεύθυνων επεξεργασίας τις σχετικές µε αιτήσεις υποκειµένων για διόρθωση δεδοµένων που τους αφορούν, • στο άρθρο 21, που αναφέρεται στις διοικητικές κυρώσεις που επιβάλλονται στους υπεύθυνους επεξεργασίας σε περιπτώσεις παράβασης του νόµου, • στο άρθρο 22, που αναφέρεται στις ποινικές κυρώσεις που επιβάλλονται στους υπεύθυνους επεξεργασίας σε περιπτώσεις παράβασης του νόµου, • στο άρθρο 23, που αναφέρεται στην αστική ευθύνη του υπεύθυνου επεξεργασίας σε περιπτώσεις παράβασης του νόµου, A ¶ A N T H ™ E I ™ ¢ PA ™ T H P I O T H T ø N 229 • στο άρθρο 24, που αναφέρεται στις υποχρεώσεις των υπεύθυνων επεξεργασίας συστηµάτων τα οποία ήδη λειτουργούν. 1.4 Τα σηµεία του ν. 2472/97 που παραπέµπουν σε τεχνικές ρυθµίσεις που εντάσσονται στην αρµοδιότητά µας είναι: • το άρθρο 4, όπου αναφέρεται η υποχρέωση του υπεύθυνου επεξεργασίας να εξασφαλίζει τη νόµιµη επεξεργασία των προσωπικών δεδοµένων, • το άρθρο 8, που αναφέρεται στις υποχρεώσεις των υπεύθυνων επεξεργασίας τις σχετικές µε διασύνδεση αρχείων, • το άρθρο 10, που αναφέρεται στο απόρρητο και στην ασφάλεια της επεξεργασίας και το πώς πρέπει ο υπεύθυνος επεξεργασίας να τα εξασφαλίσει, • το άρθρο 12, που αναφέρεται στις υποχρεώσεις των υπεύθυνων επεξεργασίας τις σχετικές µε αιτήσεις υποκειµένων για πρόσβαση στα δεδοµένα που τους αφορούν, • το άρθρο 13, που αναφέρεται στις υποχρεώσεις των υπεύθυνων επεξεργασίας τις σχετικές µε αιτήσεις υποκειµένων για διόρθωση δεδοµένων που τους αφορούν. 1.5 Καταρχήν θα παρατηρήσουµε ότι οι οδηγίες δεν αφορούν µόνο το δηµόσιο τοµέα αλλά και τον ιδιωτικό, και γενικότερα όλα τα πληροφοριακά συστήµατα. Η προσέγγιση που επιλέγουν για το θέµα της ασφάλειας των πληροφοριακών συστηµάτων καλύπτει ένα ευρύ φάσµα των αναγκών τους. Είναι πολύ σηµαντική η αναφορά τους όχι µόνο στην απόδοση της ευθύνης, αλλά και στην ενηµέρωση των µερών που σχετίζονται µε την ασφάλειά τους, καθώς, όποια µέτρα και αν παρθούν προκειµένου να προστατευτούν τα συστήµατα δεν επαρκούν, εφόσον τα µέρη στα οποία απευθύνονται δεν είναι ενήµερα ως προς την ύπαρξή τους αλλά και ως προς την ευθύνη που τους αναλογεί. Επίσης, οι διαφορετικές απόψεις των συστηµάτων που λαµβάνουν υπόψη τους οι οδηγίες (π.χ. διοικητική, επιχειρησιακή) συντελούν στη συνολική προστασία ενός συστήµατος, καθώς αυτό εξετάζεται σφαιρικά και όχι µονόπλευρα. Εξίσου σηµαντικές είναι οι αρχές που αναφέρονται στην ολοκληρωµένη µορφή που πρέπει να έχουν τα µέτρα ασφάλειας, όπως και στην επανεξέταση των µέτρων αυτών. Η ολοκληρωµένη µορφή των µέτρων βοηθάει στη συµβατότητα και στην αποφυγή αντικρουόµενων αποφάσεων, ενώ η επανεξέταση συντελεί στην εγγύηση ότι η ασφάλεια του συστήµατος θα διατηρηθεί σε υψηλά επίπεδα µε την πάροδο του χρόνου. Αξίζει να αναφέρουµε ότι, παρ’ όλο που οι οδηγίες συµβάλλουν στη «θωράκιση» 230 A™ºA§EIA Y¶O§O°I™TøN ενός πληροφοριακού συστήµατος από την πλευρά της ασφάλειας, οι απαιτήσεις τους µπορεί να κριθούν αρκετά πολύπλοκες, καθώς απευθύνονται σε πολλά µέρη του κάθε συστήµατος και απαιτούν µια καλή γνώση του. Η αναθεώρηση του 1998 κρίθηκε απαραίτητη, επειδή ανέκυψαν στο µεταξύ σηµαντικά θέµατα, που η πρώτη έκδοση των οδηγιών δεν κάλυπτε. Τα θέµατα αυτά σχετίζονται κυρίως µε: • την εξάπλωση των δικτυωµένων πληροφοριακών συστηµάτων και του διαδικτύου, • µέτρα αντιµετώπισης προβληµάτων που ανακύπτουν έπειτα από φυσικές καταστροφές, • νοµικά ζητήµατα και • την εφαρµογή τεχνικών ψηφιακών υπογραφών, κρυπτογραφίας, υποδοµών δηµόσιου κλειδιού και έµπιστων τρίτων οντοτήτων. 1.6 Κάνοντας µια έρευνα στον παγκόσµιο ιστό µε λέξεις-κλειδιά τις «data protection», βρήκα ούτε λίγο ούτε πολύ 512.183 θέσεις! Ο αριθµός αυτός είναι βέβαιο ότι αυξάνεται µέρα µε τη µέρα, αντανακλώντας τόσο τη σηµασία του ζητήµατος όσο και την αντίληψη του κοινού για το πόσο σηµαντικό είναι. Προφανώς το ενδιαφέρον µιας ιστοσελίδας είναι (και αυτό) ζήτηµα υποκειµενικής αντίληψης. Νοµίζω όµως ότι αξίζει τον κόπο να επισκεφτεί κανείς τον: • ιστόχωρο του Κέντρου Πληροφοριών σχετικών µε την προστασία ηλεκτρονικών προσωπικών δεδοµένων (http://www.epic.org), • ιστόχωρο του Βρετανού Επιτρόπου Προστασίας Προσωπικών ∆εδοµένων (http://www.dataprotection.gov.uk/dprhome.htm), • ιστόχωρο της οµάδας ανθρώπινων δικαιωµάτων µε τίτλο Privacy International (http://www.privacy.org και http://www.privacy.org/pi), χωρίς να παραγνωρίζω καθόλου το γεγονός ότι υπάρχουν και άλλοι πολλοί αξιόλογοι ιστόχωροι. 2.1 Ένα πληροφοριακό σύστηµα που οι περισσότεροι από µας γνωρίζουν, επειδή έχουν έρθει σ’ επαφή µαζί του, και που ταυτόχρονα είναι αρκετά απλό ώστε η περιγραφή του να µην µας πάρει υπερβολικά µεγάλη έκταση είναι αυτό που λειτουργεί σε όλα τα κατα- A ¶ A N T H ™ E I ™ ¢ PA ™ T H P I O T H T ø N 231 στήµατα ενοικίασης βιντεοκασετών. Αποτελείται συνήθως από έναν προσωπικό υπολογιστή, έναν εκτυπωτή και ένα ειδικά κατασκευασµένο λογισµικό, που αποτελούν το υπολογιστικό συγκρότηµα, ενώ το υπολογιστικό σύστηµα περιλαµβάνει επιπλέον το περιβάλλον λειτουργίας, και το πληροφοριακό σύστηµα περιλαµβάνει επιπλέον και τους ανθρώπους που το λειτουργούν και παρέχει κυρίως την υπηρεσία παρακολούθησης των βιντεοκασετών του καταστήµατος. Τα αγαθά του συστήµατος αυτού είναι ο υπολογιστής, ο εκτυπωτής, το λογισµικό, οι πληροφορίες και, αν υπάρχει, το εγχειρίδιο λειτουργίας του όλου συστήµατος. Ιδιοκτήτης είναι, βέβαια, ο ιδιοκτήτης του καταστήµατος. Ο ίδιος καθώς και οι τυχόν υπάλληλοί του είναι οι χρήστες του συστήµατος. Στο σύστηµα αυτό µια συνηθισµένη απειλή είναι η αστοχία υλικού, που µπορεί να εκφραστεί µέσω, για παράδειγµα, αστοχίας του σκληρού δίσκου του υπολογιστή, απειλή που, αν συνδυαστεί µε το γεγονός ότι δεν υπάρχει δεύτερος δίσκος στο σύστηµα (που αποτελεί αδυναµία), µπορεί να οδηγήσει σε περιστατικό απώλειας της διαθεσιµότητας των πληροφοριών του συστήµατος (ρήγµα ασφάλειας), που έχει ως πιθανή επίπτωση την απώλεια εσόδων από το κατάστηµα. Βέβαια, η επισφάλεια του γεγονότος αυτού δεν είναι πολύ µεγάλη, αν και οπωσδήποτε µη µηδενική, γεγονός που, συνδυαζόµενο µε πιθανές µεγάλες τιµές επιπτώσεων, οδηγεί σε καθόλου αµελητέα επικινδυνότητα. Το πιο συνηθισµένο µέτρο προστασίας απέναντι στην απειλή αυτή, το οποίο µάλιστα έχει χαµηλό κόστος, είναι η συστηµατική τήρηση αντιγράφων ασφάλειας (backups). Με το µέτρο αυτό η εναποµείνασα επικινδυνότητα µειώνεται δραστικά. 2.2 Ιδιοκτήτες του οικοδοµήµατος είναι, βέβαια, οι νόµιµοι ιδιοκτήτες του σπιτιού ή διαµερίσµατος, οι οποίοι µπορεί να ταυτίζονται µε τους χρήστες (σε περίπτωση ιδιοκατοίκησης) ή όχι (σε περίπτωση ενοικίασης). Ωστόσο, ακόµη και στη δεύτερη περίπτωση, οι ένοικοι είναι και ιδιοκτήτες όλων των κινητών πραγµάτων που υπάρχουν στο σπίτι. Τα αγαθά στην περίπτωση αυτή είναι τόσο το οικοδόµηµα όσο και τα κινητά αντικείµενα που αυτό περιέχει. Απειλές που µπορεί κανείς να αναφέρει είναι φυσικές καταστροφές (πληµµύρα, φωτιά, σεισµός κτλ.), απόπειρες παραβίασης (κλοπές, ληστείες), αστοχίς εξοπλισµού, δοµικές αστοχίες κ.ά. Αντίστοιχες αδυναµίες του συστήµατος µπορεί να είναι η θέση του (αν, για παράδειγµα, είναι υπόγειο εµφανίζει µεγάλη αδυναµία σε πληµµύρα), το είδος της κατασκευής του (αν είναι ξύλινο, εµφανίζει αυξηµένη αδυναµία σε φωτιά), η φύση της κατασκευής του (αν είναι ψηλό, εµφανίζει αυξηµένη αδυναµία σε σεισµό), τα χαρακτηριστικά κατασκευής του (αν έχει πολλά εύκολα προσβάσιµα ανοίγµατα, εµφανίζει αυξηµένη αδυναµία σε παραβιάσεις), τα υλικά κατασκευής του (κακά υλικά οδηγούν σε δοµικές αστοχίες). Τα ρήγµατα ασφάλειας στην περίπτωση αυτή ορίζονται, βέβαια, κάπως διαφορετικά απ’ 232 A™ºA§EIA Y¶O§O°I™TøN ό,τι στην περίπτωση ενός πληροφοριακού συστήµατος, αλλά οι έννοιες της επισφάλειας (π.χ. της πιθανότητας εκδήλωσης φωτιάς), της επίπτωσης (π.χ. οικονοµική επιβάρυνση για διόρθωση προκληθεισών ζηµιών), της επικινδυνότητας, των µέτρων προστασίας (π.χ. εγκατάσταση συστήµατος πυρασφάλειας) κτλ. παραµένουν ισχυρές. 2.3 Ένα παράδειγµα µέτρου πρόληψης είναι η εγκατάσταση ενός συστήµατος ελέγχου φυσικής προσπέλασης στο σπίτι. Το µέτρο αποσκοπεί στην πρόληψη φυσικών παραβιάσεων. Το ίδιο µέτρο µπορεί να θεωρηθεί και ως µέτρο ανίχνευσης παραβιάσεων. Η εγκατάσταση ενός συστήµατος πυρανίχνευσης είναι προφανώς µέτρο ανίχνευσης που αποσκοπεί στην αντιµετώπιση της απειλής της φωτιάς, ενώ αν πρόκειται για πλήρες σύστηµα πυρασφάλειας που περιλαµβάνει πυρόσβεση, τότε πρόκειται επίσης για µέτρο αντίδρασης. 2.4 Κάνοντας µια έρευνα στον παγκόσµιο ιστό µε λέξεις-κλειδιά τις computer security basics, βρήκα 35.648 σχετικές ιστοσελίδες. Νοµίζω ότι χρήσιµο είναι να προσθέσετε στις προτιµήσεις του browser που χρησιµοποιείτε τις σελίδες του: • ερευνητικού κέντρου CERIAS του Πανεπιστηµίου Purdue (http://www.cerias.purdue.edu), • κέντρου ασφαλείας πληροφοριών του Πανεπιστηµίου Berkeley (http://securityinfo.berkeley.edu), • Αµερικανικού Ινστιτούτου Προτύπων (http://www.csrc.nist.gov/publications/welcome.html), • Internet Engineering Task Force – IETF (http://www.ietf.org, και ειδικότερα τη σελίδα http://www.ietf.org/rfc/rfc2196.txt). 4.1 Κάνοντας µια έρευνα στον παγκόσµιο ιστό µε λέξη-κλειδί τη λέξη biometrics, βρήκα 13.915 σχετικές ιστοσελίδες. Πολλές απ’ αυτές είναι ενδιαφέρουσες, αλλά νοµίζω ότι πρέπει οπωσδήποτε να δείτε τη σελίδα: • του International Biometrics Group (http://www.biometricgroup.com), • της Association for Biometrics (http://www.afb.org.uk), • της International Biometric Industry Association (http://www.ibia.org), A ¶ A N T H ™ E I ™ ¢ PA ™ T H P I O T H T ø N 233 • του Biometric Consortium (http://www.biometrics.org). 4.2 Βασισµένοι στα αποτελέσµατα των τριών ασκήσεων, µπορούµε να καταλήξουµε σε µερικά χρήσιµα συµπεράσµατα σχετικά µε τη χρήση των συνθηµατικών. Είναι προφανές πως η µορφή των συνθηµατικών που θα χρησιµοποιήσουµε πρέπει να είναι όσο το δυνατόν πιο σύνθετη, καθώς αυτό αυξάνει σε πολύ µεγάλο βαθµό το πλήθος των πιθανών συνδυασµών που µπορούµε να χρησιµοποιήσουµε (και, κατά συνέπεια, το έργο που απαιτείται για την ανεύρεσή τους µεγαλώνει). Πρέπει, λοιπόν, να διαλέξουµε το συνθηµατικό µας από µια µεγάλη ποικιλία χαρακτήρων. Το έργο, η προσπάθεια και ο χρόνος που θα απαιτήσει η ανεύρεση του συνθηµατικού µας εξαρτώνται επίσης σηµαντικά από το µήκος που θα επιλέξουµε. Σε αυτό το συµπέρασµα µπορούµε να καταλήξουµε παρατηρώντας στους πίνακες τους χρόνους που απαιτούνται για την ανεύρεση του συνθηµατικού µας, οι οποίοι αυξάνονται µε πολύ µεγάλους ρυθµούς (πολλαπλάσιους σε σχέση µε το µήκος), καθώς το µήκος των συνθηµατικών µεγαλώνει. Όσον αφορά τη µέγιστη διάρκεια του συνθηµατικού µας, αυτή εξαρτάται άµεσα από τους διαθέσιµους πόρους που έχει κάποιος που θέλει να βρει το συνθηµατικό µας. Παρατηρήστε τους πίνακες για να δείτε ότι οι χρόνοι ανεύρεσης ενός συνθηµατικού είναι σαφώς µικρότεροι όταν οι πόροι που έχουµε στη διάθεσή µας επιτρέπουν τη δοκιµή ενός συνθηµατικού σε 1 µsec. Ως αποτέλεσµα της παρατήρησής µας, θα θέσουµε διάρκεια ζωής σε ένα συνθηµατικό (βασισµένοι µόνο στα αποτελέσµατα των πινάκων) λιγότερη από το χρόνο που απαιτείται στο σενάριο χειρότερης περίπτωσης ανεύρεσής του. Για παράδειγµα, η µέγιστη διάρκεια ζωής ενός συνθηµατικού µήκους επτά (7) της 5ης άσκησης δεν πρέπει να ξεπερνάει τα 4,467857 ¥ 106 sec, αν και προτιµότερο θα είναι η µέγιστη διάρκεια ζωής να είναι αρκετά µικρότερη ακόµα και από αυτό το «άνω φράγµα». Συνειδητοποιώντας ότι ο αριθµός αυτός είναι στην ουσία µόνο µία ώρα και δέκα περίπου λεπτά, καταλήγουµε στο συµπέρασµα ότι πρέπει οπωσδήποτε να έχουµε συνθηµατικά µεγαλύτερου µήκους και από µεγαλύτερα σύνολα χαρακτήρων. Μην ξεχνάτε ότι, δοκιµάζοντας όλα τα πιθανά συνθηµατικά ένα προς ένα, δεν υπάρχει καµία εγγύηση ότι το συνθηµατικό που έχουµε επιλέξει θα δοκιµαστεί τελευταίο ή, τουλάχιστον, προς το τέλος. Για συµουλές σχετικές µε το ποια είναι «καλά» συνθηµατικά µπορείτε να συµβουλευτείτε και τη διεύθυνση http://www.cs.umd.edu/faq/Passwords.shtml. 4.3 Αντί να σας δώσω το περίγραµµα του κώδικα ενός προγράµµατος, νοµίζω ότι είναι προτιµότερο να σας παραπέµψω στις διευθύνσεις: 234 A™ºA§EIA Y¶O§O°I™TøN • http://home.flash/net/~kdupree/genpw.html, • http://jdyne.hypermart.net/software/freelicence.html, • http://www.us.stupi.se/Comp/pwd/, όπου µπορείτε να βρείτε αρκετές ιδέες κώδικα που δηµιουργεί τυχαία συνθηµατικά. Αφού δηµιουργήσετε ένα αρχείο µε τέτοια συνθηµατικά, µπορείτε να το κρυπτογραφήσετε (αν έχετε στη διάθεσή σας σύστηµα Unix). Στη συνέχεια, η επίθεση ωµής βίας εκδηλώνεται κάνοντας εξαντλητική έρευνα στο χώρο των δυνατών συνθηµατικών, δηλαδή εξετάζοντας κάθε δυνατό συνθηµατικό, κρυπτογραφώντας το και συγκρίνοντάς το µε την κρυπτογραφηµένη µορφή των συνθηµατικών που ήδη έχουµε δηµιουργήσει. Προφανώς ο χρόνος που θα χρειαστείτε για να ανακαλύψετε ένα τουλάχιστον συνθηµατικό είναι συνάρτηση των χαρακτηριστικών του συνθηµατικού αλλά και των δυνατοτήτων της µηχανής που χρησιµοποιείτε. 4.4 Είναι φανερό ότι δεν είναι δυνατόν να υπάρξει ενδεικτική απάντηση στη δραστηριότητα αυτή. Ωστόσο, θα εκπλαγείτε από το πόσοι χρήστες αµελούν να πάρουν τις στοιχειώδεις αυτές προφυλάξεις – είτε από άγνοια είτε από αδιαφορία. 4.5 Κάνοντας µια έρευνα στον παγκόσµιο ιστό µε λέξεις-κλειδιά «password crackers», βρήκα 8.086 σχετικές ιστοσελίδες. Πολλές απ’ αυτές αφορούν µηνύµατα που ανταλλάσσουν µεταξύ τους hackers. Έχοντας πάντα στο νου σας ότι η παραβίαση συνθηµατικών δεν είναι κάτι που το κάνουµε γι’ αστείο ούτε για να παρενοχλήσουµε τους χρήστες ενός πληροφοριακού συστήµατος ούτε για να προκαλέσουµε βλάβη στο σύστηµα, αλλά µόνο για να δούµε αν οι κανόνες ασφάλειας οι σχετικοί µε τα συνθηµατικά τηρούνται απαρέγκλιτα ή για να ανακτήσουµε ένα ξεχασµένο συνθηµατικό µετά από αίτηση του χρήστη, σας παραπέµπω και στη διεύθυνση http://www.angelfire.com/va/bums/cf.html, όπου θα βρείτε ποικιλία προγραµµάτων διάρρηξης συνθηµατικών, για διάφορες πλατφόρµες υλικού / λογισµικού. 4.6 Και πάλι δεν είναι δυνατόν να σας δώσω ενδεικτική απάντηση. Άλλωστε, ο σκοπός της δραστηριότητας είναι περισσότερο να εξασκηθείτε στη δουλειά που κάνει καθηµερινά ένας υπεύθυνος ασφάλειας ενός πληροφοριακού συστήµατος. Αρκεί µόνο να σας πω ότι σε διάφορες µελέτες που έχουν γίνει σχετικά µε την ασφάλεια των συνθηµατικών έχει βρεθεί ότι ένα ποσοστό 25% µπορεί, σχετικά εύκολα, να ανακαλυφθεί. A ¶ A N T H ™ E I ™ ¢ PA ™ T H P I O T H T ø N 235 4.7 ∆υστυχώς, τέτοιοι κανόνες σπανίζουν. Υπάρχουν µόνο σε επιχειρήσεις και οργανισµούς που πραγµατικά έχουν συνειδητοποιήσει την αξία των πληροφοριακών τους συστηµάτων και την αναγκαιότητα εξασφάλισής τους. Το σύνολο των κανόνων αυτών που σχετίζονται µε τη µορφή των συνθηµατικών, το µήκος τους, τη διάρκεια ζωής τους και τις διαδικασίες αλλαγής και διαχείρισής τους αναφέρεται συνήθως ως «διαχείριση συνθηµατικών». Στη διεύθυνση http://csrc.nist.gov/fips µπορείτε να βρείτε το κείµενο του FIPS (Federal Information Processing Standard) 112, που είναι σχετικό µε τη χρήση των συνθηµατικών και είναι αρκετά διαφωτιστικό και πλήρες ως προς τη διαχείριση των συνθηµατικών. 5.1 Ένα παράδειγµα χρησιµοποίησης της πράξης append είναι το υποσύστηµα καταγραφής συµβάντων σε ένα υπολογιστικό σύστηµα, όπου κάθε συµβάν (έτσι όπως το έχουµε ορίσει) καταγράφεται αυτοµάτως σε ένα αρχείο ελέγχου (log file) χωρίς να απαιτείται η ανάγνωση του ήδη υπάρχοντος τµήµατος του αρχείου. Ένα άλλο παράδειγµα είναι ένα σύστηµα ιατρικού φακέλου ασθενών, όπου επίσης καταγράφονται προσθετικά τα νέα ευρήµατα, χωρίς να είναι δυνατή η διαγραφή ή αλλοίωση των ήδη υπαρχουσών εγγραφών. 5.2 Ένα τέτοιο παράδειγµα είναι η χρήση ενός κρυπτογραφικού κλειδιού, το οποίο µπορεί να χρησιµοποιηθεί χωρίς να απαιτείται η ανάγνωσή του. 5.3 Το Λειτουργικό Σύστηµα Unix αρχικά µπορούσε να υλοποιήσει µόνο την πολιτική DAC. Αργότερα εµφανίστηκαν εκδόσεις του Unix ικανές να υλοποιήσουν και την πολιτική MAC, καθώς και την πολιτική RBAC. Περισσότερες λεπτοµέρειες για την ασφάλεια του λειτουργικού συστήµατος Unix µπορείτε να βρείτε στη διεύθυνση http://www.sri.ucl.ac.be/SRI/documents/unix-secure. 5.4 Το λειτουργικό σύστηµα Windows NT µπορεί να υλοποιήσει την πολιτική DAC, την πολιτική MAC, καθώς και την πολιτική RBAC. Περισσότερες λεπτοµέρειες για την ασφάλεια του λειτουργικού συστήµατος Windows NT µπορείτε να βρείτε στη διεύθυνση http://www.microsoft.com/security. 236 A™ºA§EIA Y¶O§O°I™TøN 5.5 Ένα παράδειγµα συστήµατος που χρησιµοποιεί πολιτική ασφάλειας MAC είναι ένα σύστηµα ελέγχου διαβατηρίων στα σηµεία εισόδου/εξόδου µιας χώρας. Παράδειγµα συστήµατος που χρησιµοποιεί πολιτική ασφάλειας DAC είναι οποιοδήποτε εµπορικό πληροφοριακό σύστηµα µε χαµηλές σχετικά απαιτήσεις ασφάλειας. Παράδειγµα συστήµατος που χρησιµοποιεί πολιτική ασφάλειας RBAC είναι ένα κρατικό σύστηµα διαχείρισης των φορολογικών υποθέσεων πολιτών. Τέλος, παράδειγµα συστήµατος που χρησιµοποιεί πολιτική ασφάλειας CWAC είναι ένα πληροφοριακό σύστηµα χρηµατιστηριακών συναλλαγών. 5.6 Ας πάρουµε, για παράδειγµα, µια εγγραφή «x» µε πληροφορία της οποίας ο βαθµός ευαισθησίας είναι Απόρρητη = Α, και ένα χρήστη «y» µε βαθµό εµπιστοσύνης επίσης Α. Ο χρήστης µπορεί να δηµιουργήσει µια εγγραφή «z» µε βαθµό ευαισθησίας Ευαίσθητη = Ε και να µεταφέρει σ’ αυτήν τα περιεχόµενα της «x». Τώρα κάθε χρήστης µε βαθµό εµπιστοσύνης Ε µπορεί να επεξεργαστεί την πληροφορία «x». Βέβαια, κάτι τέτοιο απαγορεύεται από την ιδιότητα *, αλλά υπάρχουν δύο εξαιρέσεις της ιδιότητας αυτής: Η πρώτη αφορά τη δυνατότητα προσωρινής υποβάθµισης της διαβάθµισης της πληροφορίας και η δεύτερη τη δυνατότητα ορισµένων έµπιστων υποκειµένων να παραβιάζουν την ιδιότητα *. 5.7 Το µοντέλο Bell-LaPadula (BLP) υποθέτει την ηρεµία σε ένα σύστηµα. Η αρχή της ηρεµίας ―όπως την ορίσαµε― εξυπηρετεί µια πολύ σηµαντική λειτουργία: Φανταστείτε ένα σύστηµα το οποίο επιτρέπει την αλλαγή της διαβάθµισης ενός υποκειµένου ή/και ενός αντικειµένου. Mε βάση τη ιδιότητα αυτή του συστήµατος, ας υποθέσουµε ότι υποβιβάζουµε στη χαµηλότερη διαβάθµιση όλα τα υποκείµενα και όλα τα αντικείµενα. Τότε, σύµφωνα µε το BLP, όλα τα αντικείµενα είναι προσπελάσιµα από όλα τα υποκείµενα, κάτι που ασφαλώς δεν εγγυάται την ασφαλή ροή της πληροφορίας. Αυτός είναι ο λόγος που η αρχή της ηρεµίας είναι αναγκαία στο BLP και το BLP προορίζεται για συστήµατα µε επίπεδα ασφάλειας που δε µεταβάλλονται τακτικά (είναι δηλαδή «σχετικά στατικά»). 5.8 Ας θεωρήσουµε ένα σύνολο υποκειµένων S και ένα σύνολο αντικειµένων O. Ακόµα ας θεωρήσουµε ότι κάθε υποκείµενο sŒS και κάθε αντικείµενο oŒO έχουν, αντί- A ¶ A N T H ™ E I ™ ¢ PA ™ T H P I O T H T ø N 237 στοιχα, διαβαθµίσεις Cs = (sa, si) και Co = (oa, oi), όπου τα sa και oa εκφράζουν τις διαβαθµίσεις εµπιστευτικότητας σύµφωνα µε το µοντέλο Bell-LaPadula και τα si και oi εκφράζουν τις διαβαθµίσεις ακεραιότητας σύµφωνα µε το µοντέλο Biba. Θεωρούµε, επίσης, ότι τα υποκείµενα και τα αντικείµενα διατάσσονται ως προς τη διαβάθµισή τους µε µια µερική σχέση διάταξης £. Τότε, θα µπορούσαµε να ορίσουµε ως απλή ιδιότητα του µοντέλου µας την εξής: Ένα υποκείµενο s µπορεί να αποκτήσει άδεια προσπέλασης ανάγνωσης και εγγραφής ενός αντικειµένου o µόνο αν: Cο £ Cs (oa £ sa και oi £ si) Eπίσης ως *-ιδιότητα την ακόλουθη: Ένα υποκείµενο s που έχει άδεια προσπέλασης ανάγνωσης σε ένα αντικειµένου o µπορεί να αποκτήσει άδεια προσπέλασης εγγραφής σε ένα αντικείµενο p µόνο αν: Cp £ Co (pa £ oa και pi £ oi) 5.9 Ας θέσουµε: ΛΕΠΥ = Λίστα Ελέγχου Προσπέλασης οργανωµένη ως προς το υποκείµενο, ΛΕΠΑ = Λίστα Ελέγχου Προσπέλασης οργανωµένη ως προς το αντικείµενο, ΠΕΠ = Πίνακας Ελέγχου Προσπέλασης και ∆ΥΝ = ∆υνατότητα. Tότε η κατάταξη ως προς την ευκολία: 1. καθορισµού δικαιωµάτων προσπέλασης κατά την εκτέλεση έχει ως εξής: ∆ΥΝ, ΛΕΠΑ, ΛΕΠΥ και ΠΕΠ. 2. πρόσθεσης δικαιωµάτων για ένα νέο υποκείµενο έχει ως εξής: ΛΕΠΥ, ΠΕΠ, ∆ΥΝ και ΛΕΠΑ. 3. διαγραφής δικαιωµάτων ενός υποκειµένου έχει ως εξής: ΛΕΠΑ, ΠΕΠ, ∆ΥΝ και ΛΕΠΥ. 4. δηµιουργίας ενός νέου αντικειµένου στο οποίο έχουν δικαιώµατα προσπέλασης όλα τα υποκείµενα έχει ως εξής: ΠΕΠ, ΛΕΠΑ, ∆ΥΝ και ΛΕΠΥ. 5.10 Ένας διαφορετικός, ευκολότερος αλλά όχι τόσο κοµψός, τρόπος διαγραφής ενός αντικειµένου θα ήταν να µην κάνουµε αλλαγές στις λίστες των υποκειµένων ταυτόχρο- 238 A™ºA§EIA Y¶O§O°I™TøN να µε τη διαγραφή του αντικειµένου, αλλά, κάθε φορά που γίνεται µια προσπάθεια προσπέλασης στο αντικείµενο από ένα υποκείµενο, να διαγράφεται το δικαίωµα προσπέλασης στο αντικείµενο από τη λίστα του υποκειµένου που έκανε την προσπάθεια. Είµαι βέβαιος όµως ότι θα βρείτε και άλλες εναλλακτικές και ίσως κοµψότερες λύσεις. 5.11 Ας υποθέσουµε ότι το υποκείµενο Α έχει δικαιώµατα προσπέλασης ανάγνωσης και επεξεργασίας του αντικειµένου Χ. Ας υποθέσουµε ακόµα ότι το Α επεξεργάζεται το Χ. Αν κατά την επεξεργασία του Χ χρειαστεί να εκτελεστεί µια διεργασία η οποία είναι αναγκαία προκειµένου να επεξεργαστεί το Χ (π.χ. ένα φίλτρο που µορφοποιεί το Χ), τότε η διεργασία επεξεργασίας µεταβιβάζει τη δυνατότητα επεξεργασίας του Χ στη δεύτερη διεργασία. 6.1 Ναι, είναι δυνατό. Για παράδειγµα, στο λειτουργικό σύστηµα Unix υπάρχει η δυνατότητα εκτέλεσης εντολών µετά την αποσύνδεση του χρήστη από το σύστηµα, µε χρήση της εντολής at. 6.2 Υπάρχουν αρκετές εντολές στο Unix που σχετίζονται µε την ασφάλεια. Οπωσδήποτε χρειάζεται όµως να ξέρετε τη χρήση των εντολών passwd (αλλαγή συνθηµατικού), newgrp (αλλαγή τρέχουσας οµάδας χρήστη), su (αλλαγή ταυτότητας χρήστη), chmod (αλλαγή αδειών αρχείου), umask (προεπιλογή αδειών αρχείων), chown (αλλαγή ιδιοκτήτη αρχείου), chgrp (αλλαγή οµάδας χρηστών ενός αρχείου), crypt (κρυπτογράφηση αρχείου). Όσον αφορά το δεύτερο τµήµα της δραστηριότητας, για να αναγνωρίσετε τις άδειες των αρχείων σας, αρκεί να εφαρµόσετε όσα είπαµε στην Ενότητα 6.2.2. 6.3 Εκτελώντας τα ζητούµενα από τη δραστηριότητα, θα διαπιστώσετε ότι στην πρώτη περίπτωση (δικαίωµα εκτέλεσης) είναι δυνατόν να κάνετε τον υποκατάλογο αυτό τρέχοντα υποκατάλογο, όπως επίσης και να δείτε τα περιεχόµενα του αρχείου welcome.txt, ενώ δε σας επιτρέπεται να δείτε τα περιεχόµενα του υποκαταλόγου ούτε να αντιγράψετε το αρχείο. Στη δεύτερη περίπτωση (δικαίωµα ανάγνωσης) επιτρέπεται µόνο η ανάγνωση των περιεχοµένων του υποκαταλόγου, ενώ στην τρίτη περί- A ¶ A N T H ™ E I ™ ¢ PA ™ T H P I O T H T ø N 239 πτωση (δικαίωµα εγγραφής) δεν επιτρέπεται καµία από τις τέσσερις αυτές ενέργειες. Η συµπεριφορά αυτή φαίνεται λίγο περίεργη (γι’ αυτό, άλλωστε, σχεδιάστηκε και η δραστηριότητα) και οφείλεται στο γεγονός ότι το Unix χειρίζεται τους καταλόγους του ως αρχεία, µε αποτέλεσµα κάποιες καλά ορισµένες επιλογές που αφορούν αρχεία να µην αντιστοιχίζονται και τόσο καλά στην περίπτωση των καταλόγων. Για παράδειγµα, τι ακριβώς σηµαίνει «δικαίωµα εκτέλεσης» σε κατάλογο; 6.4 Η πρώτη επιλογή δεν είναι ιδιαίτερα επιτυχής, αφού η υλοποίησή της σηµαίνει ότι θα χαθούν κάποιες εγγραφές του ίχνους ελέγχου, χωρίς καν ο διαχειριστής του συστήµατος να το αντιληφθεί. Βέβαια, αν ο διαθέσιµος χώρος είναι µεγάλος σχετικά µε το µέσο ηµερήσιο µέγεθος εγγραφών στο ίχνος ελέγχου, οι εγγραφές που θα χαθούν πιθανόν να είναι και αρκετά παλιές και, συνεπώς, µικρού ενδιαφέροντος, ιδιαίτερα αν υπάρχει µηχανισµός αυτόµατης τήρησης αντιγράφου ασφάλειας (backup) του ίχνους ελέγχου σε µαγνητικό µέσο σε ηµερήσια (ή συχνότερη) βάση. Η δεύτερη επιλογή αντιµετωπίζει το πρόβληµα της απώλειας εγγραφών, αλλά πιθανόν να οδηγήσει σε εγγραφές χώρων που χρησιµοποιούνται για άλλους σκοπούς (π.χ. swapping), επιβαρύνοντας έτσι αισθητά τη λειτουργία του συστήµατος. Επιπλέον, η επιλογή αυτή πάλι πάσχει από το πρόβληµα απώλειας εγγραφών, αφού, ούτως ή άλλως, ο διαθέσιµος χώρος δε θα είναι άπειρος. Τέλος, η επιλογή της ειδοποίησης του διαχειριστή συστήµατος είναι µάλλον η καλύτερη, αν βέβαια ο διατιθέµενος στο ίχνος ελέγχου χώρος σε σχέση µε το µέσο φορτίο εγγραφών δεν οδηγεί σε πλήρωση του διατιθέµενου χώρου τόσο γρήγορα, ώστε να ζητείται η παρέµβαση του διαχειριστή πολύ συχνά. Σε κάθε περίπτωση, η ύπαρξη µηχανισµού αυτόµατης τήρησης αντιγράφου ασφάλειας του ίχνους ελέγχου σε µαγνητικό µέσο είναι καλή ιδέα. 6.5 ∆εδοµένου ότι έχουν γραφτεί αρκετά βιβλία για την ασφάλεια του Unix, όπως άλλωστε και για άλλα λειτουργικά συστήµατα, είναι φανερό ότι δεν είναι δυνατόν να δώσει κανείς µια πλήρη εικόνα του θέµατος σε µισή σελίδα. Η δραστηριότητα όµως αυτή στοχεύει στο να σας βοηθήσει να αναγνωρίσετε τα κύρια σηµεία της ασφάλειας του Unix. Η ασφάλεια του Λ.Σ. Unix στηρίζεται στις έννοιες του αρχείου, του καταλόγου, της διεργασίας, του χρήστη και της οµάδας χρηστών, έννοιες που συζητήσαµε στο Κεφάλαιο 6 και ειδικότερα στην Ενότητα 6.2. Το Unix είναι λειτουργικό σύστηµα που υποστηρίζει πολλαπλούς χρήστες και πολλαπλές εργασίες (multi-user, multi-tasking). 240 A™ºA§EIA Y¶O§O°I™TøN Έτσι, όχι µόνο διαφορετικά άτοµα χρησιµοποιούν την ίδια µηχανή ταυτόχρονα, αλλά και καθένα απ’ αυτά µπορεί να εκτελεί ταυτόχρονα διαφορετικές εργασίες. Είναι φανερό ότι ένα τέτοιο σύστηµα πρέπει να εµποδίζει τους χρήστες και τα προγράµµατά τους να παρεµβαίνουν στην εργασία άλλων χρηστών ή/και προγραµµάτων. Για το λόγο αυτό, κάποια µορφή ασφάλειας, η προστασία της µνήµης, υπήρχε πάντα στη φιλοσοφία του Unix, αν και, σύµφωνα µε τον Dennis Ritchie, «το Unix δε σχεδιάστηκε από την αρχή για να είναι ασφαλές». Ωστόσο, η ασφάλεια του Unix δεν περιορίζεται στην προστασία της µνήµης. Το Unix διαθέτει ένα εξεζητηµένο σύστηµα ασφάλειας που ελέγχει τον τρόπο µε τον οποίο οι χρήστες προσπελάζουν αρχεία, τροποποιούν βάσεις δεδοµένων του συστήµατος και χρησιµοποιούν τους πόρους του συστήµατος. Η βασική φιλοσοφία ασφάλειας του Unix είναι ότι η δυνατότητα προσπέλασης σε οποιονδήποτε πόρο του συστήµατος καθορίζεται από τις επιλογές του ιδιοκτήτη του πόρου αυτού. 6.6 Αν και δεν απαγορεύεται και αν και είναι οπωσδήποτε βολική, η επιλογή να έχει ο διαχειριστής συστήµατος το ίδιο συνθηµατικό για όλες τις µηχανές σε µια περιοχή δεν είναι καλή ιδέα, δεδοµένου ότι η αποκάλυψη του µοναδικο αυτού συνθηµατικού θα έχει ως επακόλουθο τη δυνατότητα παρείσφρησης σε όλες τις µηχανές της περιοχής. 6.7 Ο µηχανισµός κρυπτογράφησης συνθηµατικών στα Windows NT βασίζεται στην αποθήκευση τιµών σύνοψης των συνθηµατικών αντί για τα ίδια τα συνθηµατικά. Οι τιµές αυτές έχουν µήκος 32 δεκαεξαδικών χαρακτήρων. Απ’ αυτούς, οι πρώτοι 16 σχηµατίζονται από τη συνένωση δύο κρυπτογραφηµάτων DES µήκους 8 χαρακτήρων το καθένα, ενώ οι τελευταίοι 16 είναι η τιµή σύνοψης που προκύπτει από τη χρήση του αλγόριθµου RSA MD4. Η δηµιουργία των κρυπτογραφηµάτων DES γίνεται ως εξής: Αν το συνθηµατικό είναι µήκους µικρότερου από 14 χαρακτήρες, τότε συµπληρώνεται µε µηδενικά µέχρις ότου το µήκος του να φτάσει τους 14 χαρακτήρες. Οι χαρακτήρες αυτοί µετατρέπονται σε ASCII και όλοι οι πεζοί χαρακτήρες µετατρέπονται σε κεφαλαίους. Στη συνέχεια, το αποτέλεσµα χωρίζεται στα δύο, οδηγώντας σε δύο ανεξάρτητα τµήµατα µήκους 7 χαρακτήρων το καθένα. Ο κάθε χαρακτήρας αναπαρίσταται από 8 bits. Στη συνέχεια παίρνουµε το πρώτο τµήµα του συνθηµατικού και το µετατρέπουµε σε κλειδί DES, που χρησιµοποιείται για να κρυπτογραφήσει µε DES οκτώ συγκεκριµένους χαρακτήρες, που είναι γνωστοί ως µαγικός αριθµός. Η διαδικασία αυτή έχει ως αποτέλεσµα τη δηµιουργία 8 κρυπτογρα- A ¶ A N T H ™ E I ™ ¢ PA ™ T H P I O T H T ø N 241 φηµένων χαρακτήρων, γνωστών ως κρυπτογράφηµα. Το δεύτερο τµήµα του συνθηµατικού υφίσταται την ίδια επεξεργασία, και το δεύτερο κρυπτογράφηµα συνενώνεται µε το πρώτο, σχηµατίζοντας έτσι τους 16 πρώτους χαρακτήρες της τιµής σύνοψης. Από την περιγραφή αυτή βλέπουµε ότι ο τρόπος κρυπτογράφησης συνθηµατικών στα Windows NT είναι αρκετά διαφορετικός απ’ αυτόν που χρησιµοποιεί το Unix και ο οποίος περιγράφεται στην Ενότητα 4.2.3. 6.8 ∆εδοµένου ότι έχουν γραφτεί αρκετά βιβλία για την ασφάλεια των Windows NT, όπως άλλωστε και για άλλα λειτουργικά συστήµατα, είναι φανερό ότι δεν είναι δυνατόν να δώσει κανείς µια πλήρη εικόνα του θέµατος σε µισή σελίδα. Η απάντηση που ακολουθεί στοχεύει µάλλον να σας κινήσει την περιέργεια να «ψάξετε» το θέµα λίγο παραπάνω. Η ασφάλεια του Λ.Σ. Windows NT βασίζεται σ’ ένα µοντέλο ασφάλειας στο επίπεδο του χρήστη, δηλαδή κάθε λογαριασµός χρήστη συνοδεύεται από µια λίστα παραµέτρων που καθορίζουν ποια αγαθά του συστήµατος έχει δικαίωµα να προσπελάσει ο χρήστης και µ ποιον τρόπο. Στα Windows NT οι άδειες ορίζουν τους τύπους προσπέλασης που επιτρέπονται σε κάθε χρήστη και σε κάθε οµάδα χρηστών. Οι άδειες αυτές κρατιούνται για κάθε χρήστη ξεχωριστά. Όταν ένας χρήστης συνδέεται σ’ ένα σύστηµα Windows NT ή σε µια περιοχή Windows NT, το λειτουργικό σύστηµα δηµιουργεί ένα µοναδικό διακριτικό προσπέλασης που ταυτοποιεί το χρήστη και όλες τις οµάδες που σχετίζονται µ’ αυτόν. Κάθε φορά που ο χρήστης ζητάει προσπέλαση σε διαµοιραζόµενο πόρο ή ο λογαριασµός του εκτελεί ένα πρόγραµµα, το Λ.Σ. ελέγχει το διακριτικό προσπέλασης και τις καθορισµένες άδειες και αποφασίζει αν θα επιτρέψει την προσπέλαση ή όχι. Στο επίπεδο δικτύου, τα Windows NT οµαδοποιούν τις µηχανές µε βάση µια δοµή, που καλείται περιοχή. Κάθε περιοχή δηµιουργεί ένα ασφαλές φράγµα ανάµεσα σε διαφορετικά δίκτυα Windows NT, αφού οι χρήστες µιας περιοχής δεν επιτρέπεται να προσπελάζουν άλλη περιοχή, εκτός αν έχει θεµελιωθεί εµπιστοσύνη µεταξύ των δύο περιοχών. Το µοντέλο αυτό είναι, φυσικά, µια λογική κατασκευή, µε την έννοια ότι οι µηχανές που ανήκουν στην ίδια περιοχή δεν είναι κατ’ ανάγκη συνδεµένες στο ίδιο φυσικό δίκτυο. Τα βασικά συστατικά που υλοποιούν αυτό το µοντέλο ασφάλειας είναι • οι διαδικασίες σύνδεσης (Logon Processes – LP), που αποδέχονται αιτήσεις σύνδεσης από τοπικούς ή αποµακρυσµένους χρήστες, 242 A™ºA§EIA Y¶O§O°I™TøN • η τοπική αρχή ασφάλειας (Local Security Authority – LSA), που έχει την ευθύνη της επιβεβαίωσης ότι κάποιος χρήστης έχει δικαίωµα προσπέλασης σε κάποιον πόρο, • ο διαχειριστής λογαριασµών ασφάλειας (Security Account Manager – SAM), που διατηρεί τη βάση δεδοµένων χρηστών και επικοινωνεί µε την LSA επικυρώνοντας χρήστες. Η βάση δεδοµένων του SAM περιέχει όλες τις άδειες χρηστών και οµάδων της περιοχής. Τέλος, • ο παρατηρητής αναφορών ασφάλειας (Security Reference Monitor – SRM), που έχει την ευθύνη ελέγχου της άδειας ενός χρήστη ή διεργασίας. O έλεγχος αυτός πραγµατοποιείται ελέγχοντας το προφίλ ασφάλειας του χρήστη. Ο SRM είναι υπεύθυνος για την επικύρωση της άδειας προσπέλασης και υλοποιεί τις πολιτικές ελέγχου που έχουν καθοριστεί από την LSA. Αν, πράγµατι, τα παραπάνω σας κέντρισαν το ενδιαφέρον και θέλετε να δείτε πώς υλοποιούνται, υπάρχουν αρκετές ενδιαφέρουσες θέσεις στον παγκόσµιο ιστό που ασχολούνται µε την ασφάλεια των Windows NT. Μερικές που µπορείτε να συµβουλευτείτε είναι οι http://www.ntsecurity.net, http://www.ntbugtraq.com και http://www.it.kth.se/~rom/ntsec.html. 7.1 Η ασφάλεια των τριών αυτών επιλογών είναι αυξανόµενη από την πρώτη προς την τελευταία. Πράγµατι, αν το κλειδί φυλάσσεται µέσα στη µηχανή, τότε είναι τρωτό σε επιθέσεις από οποιονδήποτε έχει πρόσβαση στη µηχανή. Αν φυλάσσεται σε κάτι που έχει στην κατοχή του ο χρήστης (π.χ. κάρτα), τότε ο βαθµός ευπάθειάς του είναι µικρότερος, αφού είναι εκτεθειµένο µόνο κατά τη διάρκεια της σύνδεσης του χρήστη µε το σύστηµα, αλλά παραµένει εκτεθειµένο κατά τη διάρκεια της επικοινωνίας της κάρτας µε τη µηχανή. Τέλος, αν υπάρχει ασφαλής συσκευή που φυλάσσει το κλειδί και επιπλέον αποκωδικοποιεί και εκτελεί τις εντολές, είναι φανερό ότι και οι δύο παραπάνω ευαισθησίες ελαχιστοποιούνται. Είναι, επίσης, φανερό ότι η ύπαρξη µιας τέτοιας δυνατότητας θα προστάτευε από αρκετές µορφές επιθέσεων από ιοµορφές, αφού η αντικατάσταση του εκτελέσιµου κώδικα δε θα ήταν δυνατή χωρίς γνώση του κλειδιού. 7.2 Υπάρχουν πολλές και αξιόλογες θέσεις στο διαδίκτυο σχετικές µε ιούς. Απ’ αυτές, το προτεινόµενο σηµείο εκκίνησης είναι ο ιστόχωρος του κέντρου ελέγχου ιών (Virus Test Center) του Πανεπιστηµίου του Αµβούργου. Εκεί θα βρείτε και ενδιαφέρουσες εκθέσεις A ¶ A N T H ™ E I ™ ¢ PA ™ T H P I O T H T ø N 243 µε αποτελέσµατα δοκιµών που έγιναν σε προγράµµατα προστασίας από ιούς. Άλλοι ενδιαφέροντες ιστόχωροι είναι στη διεύθυνση http://www.antivirus-online.com/indexie.htm, όπου θα βρείτε πολλές πληροφορίες σχετικά µε ιούς, καθώς και µια βάση δεδοµένων µε περιγραφές ιών, και στη διεύθυνση http://www.infosysec.net/infosyssec/virwor1.htm, που περιέχει, όπως και οι δύο παραπάνω ιστόχωροι, συνδέσεις σε σωρεία άλλων ιστόχωρων σχετικών µε το θέµα των ιών. 7.3 Ο έλικας του διαδικτύου ήταν σχεδιασµένος να διαδίδεται σε συστήµατα Unix. Από τη στιγµή που ο έλικας βρισκόταν σε κάποιο σύστηµα, προσπαθούσε να ανακαλύψει άλλα συστήµατα που ήταν γνωστά στο τρέχον σύστηµα. Αυτό το έκανε • εξετάζοντας πίνακες συστήµατος που περιείχαν συστήµατα που το τρέχον σύστηµα εµπιστευόταν, • εξετάζοντας αρχεία χρηστών που περιείχαν διευθύνσεις προώθησης ηλεκτρονικού ταχυδροµείου, • εξετάζοντας πίνακες µε τους οποίους οι χρήστες έδιναν άδεια στον εαυτό τους να προσπελάζουν απόµακρα συστήµατα και • εκτελώντας ένα πρόγραµµα που ανέφερε στον έλικα την κατάσταση δικτυακών συνδέσεων. Σε κάθε σύστηµα που ανακάλυπτε, ο έλικας προσπαθούσε να συνδεθεί ως νόµιµος χρήστης είτε • προσπαθώντας να παραβιάσει το αρχείο συνθηµατικών χρησιµοποιώντας ένα πρόγραµµα που δοκίµαζε ως πιθανά συνθηµατικά ― το όνοµα χρήστη και απλές παραλλαγές του, ― έναν κατάλογο µε 432 απλά συνθηµατικά και ― όλες τις λέξεις του τοπικού λεξικού συστήµατος • ή εκµεταλλευόµενος ένα σφάλµα του πρωτοκόλλου finger • ή εκµεταλλευόµενος µια κερκόπορτα στην επιλογή debug του sendmail. Αν οποιαδήποτε από τις επιθέσεις αυτές πετύχαινε, ο έλικας εγκαθιστούσε επικοινωνία µε το µεταφραστή εντολών του Λ.Σ., έστελνε στο µεταφραστή εντολών ένα µικρό πρόγραµµα εκκίνησης, έστελνε µια εντολή εκτέλεσης του προγράµµατος αυτού και αποσυνδεόταν. Το πρόγραµµα εκκίνησης ξανακαλούσε το µητρικό πρό- 244 A™ºA§EIA Y¶O§O°I™TøN γραµµα, αντέγραφε τον υπόλοιπο έλικα (σε κρυπτογραφηµένη µορφή), τον αποκρυπτογραφούσε και ζητούσε την εκτέλεσή του. °ÏˆÛÛ¿ÚÈ Αγαθό (asset): Κάτι που αξίζει να προστατευτεί. Ακεραιότητα (integrity): Η ιδιότητα της πληροφορίας να τροποποιείται µόνο από εξουσιοδοτηµένες προς τούτο οντότητες. Ανάλυση και διαχείριση κινδύνων (risk analysis and management): Η διαδικασία που: Αναπτύσσει ένα αφηρηµένο µοντέλο του πραγµατικού πληροφοριακού περιβάλλοντος που µελετάται. Καταγράφει και αποτιµά τα περιουσιακά στοιχεία του συστήµατος. Εκτιµά πιθανές συνέπειες λόγω της χρήσης της τεχνολογίας των αυτοµατοποιηµένων πληροφοριακών συστηµάτων. Αναλύει ευπάθειες του συστήµατος. Υπολογίζει το βαθµό κινδύνου του συστήµατος. Επιλέγει και προτείνει αποτελεσµατικά µέτρα προστασίας. Παρακολουθεί την υλοποίηση των µέτρων προστασίας. Ασφάλεια πληροφοριών (information security): Η διατήρηση της εµπιστευτικότητας, της ακεραιότητας και της διαθεσιµότητας των πληροφοριών. Αυθεντικοποίηση (authentication): Η διαδικασία επαλήθευσης της ταυτότητας του χρήστη. Βακτήρια (bacteria): Μορφή κακόβουλου λογισµικού που δεν καταστρέφει εµφανώς αρχεία. Ο µοναδικός τους σκοπός είναι να πολλαπλασιάζονται. Βιοµετρικές τεχνικές (biometrics): Τεχνικές αυθεντικοποίησης που βασίζονται στην αναγνώριση και επαλήθευση ατοµικών χαρακτηριστικών του αυθεντικοποιούµενου. ∆εδοµένα (data): Φυσικά φαινόµενα που έχουν επιλεγεί διά συµφωνίας για να αντιπροσωπεύσουν συγκεκριµένες πτυχές του πραγµατικού και νοητού µας κόσµου. ∆ιαθεσιµότητα (availability): Η ιδιότητα της πληροφορίας να είναι διαθέσιµη στις εξουσιοδοτηµένες προς τούτο οντότητες µέσα σε λογικό χρονικό διάστηµα από την υποβολή της σχετικής αίτησης διάθεσης. ∆ιεργασίες (processes): Εικονικοί επεξεργαστές, προγράµµατα σε εκτέλεση, ή οι 246 A™ºA§EIA Y¶O§O°I™TøN ενεργές οντότητες συστήµατος µέσω των οποίων εκτελούνται τα προγράµµατα. ∆ούρειοι Ίπποι (Trojan Horses): Χρήσιµα, ή φαινοµενικά χρήσιµα, προγράµµατα που περιέχουν κρυµµένο κώδικα ο οποίος, όταν εκτελεστεί, εκτελεί κάποια ανεπιθύµητη ή επιβλαβή λειτουργία. Έλεγχος προσπέλασης (access control): Μηχανισµός που ελέγχει τη δυνατότητα κάποιου να χρησιµοποιεί πληροφορίες ή υπολογιστικούς πόρους στο πλαίσιο ενός πληροφοριακού συστήµατος. Έλικες (worms): Μορφή κακόβουλου λογισµικού που χρησιµοποιεί δικτυακές συνδέσεις για να εξαπλωθεί από σύστηµα σε σύστηµα. Από τη στιγµή που θα ενεργοποιηθεί µέσα σ’ ένα σύστηµα, ο έλικας µπορεί να συµπεριφερθεί ως ιός ή ως βακτήριο ή να εισαγάγει ∆ούρειους Ίππους ή να εκτελέσει οποιαδήποτε καταστροφική ενέργεια. Εµπιστευτικότητα (confidentiality): Η ιδιότητα της πληροφορίας να είναι προσπελάσιµη µόνο από οντότητες που είναι εξουσιοδοτηµένες προς τούτο. Ιδιοκτήτης (owner): Η οντότητα που κατέχει ή που είναι υπεύθυνη για ολόκληρο ή για ένα µέρος ενός αγαθού και που, συνεπώς, έχει το δικαίωµα να καθορίσει πώς αυτό µπορεί να χρησιµοποιηθεί, να µεταβληθεί ή να διατεθεί µε άλλον τρόπο. Ιοί (viruses): Προγράµµατα που µπορούν να µολύνουν άλλα προγράµµατα τροποποιώντας τα. Η τροποποίηση περιλαµβάνει και την εισαγωγή στο πρόγραµµα που µολύνεται ενός αντιγράφου του ιού, που στη συνέχεια µπορεί να συνεχίσει τη διαδικασία και να µολύνει και άλλα προγράµµατα. Κερκόπορτες (trapdoors): Μυστικά σηµεία εισόδου σ’ ένα πρόγραµµα, που επιτρέπουν σε κάποιον που τα γνωρίζει να αποκτήσει δικαιώµατα προσπέλασης στο σύστηµα, παρακάµπτοντας τις συνήθεις διαδικασίες ελέγχου προσπέλασης. Κίνδυνος (risk): Ο,τιδήποτε θα µπορούσε να προξενήσει ζηµιά σε οποιαδήποτε ιδιότητα ενός αγαθού που χρειάζεται προστασία. Κύκλος ζωής (life cycle): Το σύνολο των φάσεων ανάπτυξης λογισµικού. Λειτουργίες Εισόδου/Εξόδου (I/O functions): Λειτουργίες του λειτουργικού συστήµατος που σχετίζονται είτε µε είσοδο δεδοµένων στο σύστηµα είτε µε έξοδο δεδοµένων απ’ ατό. °§ø™™API 247 Λειτουργικό σύστηµα Unix® (Unix Operating System): Το γνωστό λειτουργικό σύστηµα Registered Trademark του Opengroup. Περισσότερες πληροφορίες µπορούν να βρεθούν στη διεύθυνση http://www.opengroup.org. Λειτουργικό σύστηµα WindowsNT® (Windows NT Operating System): Το γνωστό λειτουργικό σύστηµα Registered Trademark της Microsoft. Περισσότερες πληροφορίες µπορούν να βρεθούν στη διεύθυνση http://www.microsoft.com/windows/default.asp. Λογικές βόµβες (logic bombs): Κώδικας ενσωµατωµένος σε κάποιο νόµιµο πρόγραµµα εφαρµογής και ρυθµισµένος να «εκραγεί» όταν εκπληρωθούν κάποιες συγκεκριµένες συνθήκες. Μέτρο προστασίας (countermeasure): Μέτρο σχεδιασµένο έτσι ώστε να εµποδίζει την εµφάνιση ρηγµάτων ασφάλειας ή να µειώνει τις επιπτώσεις τους αν εµφανιστούν. Μηχανισµοί υλοποίησης πολιτικών ελέγχου προσπέλασης (access control mechanisms): Μηχανισµοί που µπορούµε να χρησιµοποιήσουµε για να υλοποιήσουµε κάποια, οποιαδήποτε, πολιτική ελέγχου προσπέλασης. Μνήµη (memory): Το υποσύστηµα ενός υπολογιστικού συγκροτήµατος στο οποίο αποθηκεύονται, προσωρινά ή µόνιµα, δεδοµένα. Περιοχές προστασίας (protection domain): Ένα σύνολο αντικειµένων µε ίδια δικαιώµατα προσπέλασης. Πληροφορία (information): Οι ερµηνείες που εµείς αντιστοιχούµε στα δεδοµένα. Πληροφοριακό σύστηµα (information system): Ένα υπολογιστικό σύστηµα, µαζί µε τις πληροφορίες που διαχειρίζεται και τους ανθρώπους που σχετίζονται µ’ αυτό, µε οποιονδήποτε τρόπο. Πολιτικές ασφάλειας (security policies): Μια περιγραφή του συνόλου των κανόνων, των προτύπων και των διαδικασιών που καθορίζουν τα φυσικά, διαδικαστικά, τεχνικά και προσωπικά µέτρα ασφάλειας που λαµβάνονται στη διοίκηση, τη διανοµή και την προστασία των αγαθών. Πολιτικές ελέγχου προσπέλασης (access control policies): Το σύνολο των κανόνων βάσει των οποίων λειτουργεί ο µηχανισµός που αποφασίζει τη χορήγηση άδειας προσπέλασης υποκειµένων σε αντικείµενα. Kακόβουλο λογισµικό (malicious software, malware): Προγράµµατα που εκµεταλλεύονται µία ή περισσότερες ευπάθειες ενός ή περισσότερων υπο- 248 A™ºA§EIA Y¶O§O°I™TøN λογιστικών συστηµάτων. Προστασία (protection): Η διατήρηση τριών βασικών ιδιοτήτων της πληροφορίας ή των δεδοµένων: της εµπιστευτικότητας, της ακεραιότητας και της διαθεσιµότητας. Συνθηµατικά (passwords): Μηχανισµός αυθεντικοποίησης που βασίζεται στη γνώση µιας λέξης ή µιας φράσης. Σχέδιο ασφάλειας (security plan): Συγκροτηµένο σχέδιο προστασίας των πληροφορακών συστηµάτων της επιχείρησης. Ταυτοποίηση (identification): Η διαδικασία αναγνώρισης της ταυτότητας του χρήστη. Υπολογιστικό σύστηµα (computing system): Ένα υπολογιστικό συγκρότηµα που λειτουργεί µέσα σε συγκεκριµένο περιβάλλον για να εξυπηρετήσει ένα σκοπό. Φορµαλιστικά µοντέλα ελέγχου προσπέλασης (formal access control models): Μαθηµατικές περιγραφές πολιτικών ελέγχου προσπέλασης. Χρήστης (user): Μια οντότητα που χρησιµοποιεί ολόκληρο το πληροφοριακό σύστηµα ή ένα µέρος του. ...
View Full Document

This note was uploaded on 03/21/2010 for the course CS 234 taught by Professor Sadsd during the Spring '10 term at Open Uni..

Page1 / 248

Ασφάλεια Yπ&

This preview shows document pages 1 - 5. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online