ΣΥΓΚΡΙΤΙΚΗ ΜΕΛΕΤΗ ΤΕΧΝΙΚΗΣ ΔΙΑΣΦΑΛΙΣΗΣ ΑΚΕΡΑΙΟΤΗΤΑΣ ΔΕΔΟΜΕΝΩΝ ΣΕ ΣΥΣΤΗΜΑΤΑ ΒΑΣΗΣ ΔΕΔΟΜΕΝΩΝ Χρήστος Μαλτέζος



Σχετικά έγγραφα
Διαχείριση Πολιτισμικών Δεδομένων

Διαχείριση Δεδομένων

ΠΡΟΣΤΑΣΙΑ ΠΡΟΣΩΠΙΚΩΝ ΔΕΔΟΜΕΝΩΝ ΣΤΙΣ ΤΕΧΝΟΛΟΓΙΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΩΝ ΚΑΘΩΣ ΚΑΙ ΣΤΟ ΔΙΑΔΙΚΤΥΟ

ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ. Συστήματα Διαχείρισης Βάσεων Δεδομένων

Εισαγωγή στα Συστήματα Βάσεων Δεδομένων. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

ÈÛ ÁˆÁ ÛÙÈ μ ÛÂÈ Â ÔÌ ÓˆÓ

Πληροφορική ΙΙ Εισαγωγή στις Βάσεις Δεδομένων. Τμήμα Λογιστικής

Δεδομένα και Πληροφορίες

Αντικείµενο: Θεµελιώδες πρόβληµα της επιστήµης µας εδοµένα

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ. Ενότητα 1: Εισαγωγή στις Βάσεις Δεδομένων. Αθανάσιος Σπυριδάκος Διοίκηση Επιχειρήσεων

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι. Ενότητα 1: Ορισμοί βασικών εννοιών: Μια πρώτη μοντελοποίηση. Ευαγγελίδης Γεώργιος Τμήμα Εφαρμοσμένης Πληροφορικής

Εισαγωγή στην Πληροφορική

A ΕΠΑ.Λ ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 5 η ΕΝΟΤΗΤΑ: ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ. Εκπαιδευτικοί: ΓΑΛΑΝΟΣ ΓΕΩΡΓΙΟΣ ΜΠΟΥΣΟΥΝΗΣ ΚΩΝΣΤΑΝΤΙΝΟΣ

Εισαγωγή στα Συστήµατα Βάσεων Δεδοµένων

Εργαστήριο Βάσεων Δεδομένων. Εισαγωγικό Φροντιστήριο Βασικές Έννοιες - Ανάλυση Απαιτήσεων

Πληροφοριακού Συστήματος Ενημέρωσης Καιρικών Συνθηκών

Εργαστήριο Βάσεων Δεδομένων. Εισαγωγικό Φροντιστήριο Βασικές Έννοιες - Ανάλυση Απαιτήσεων

Εισαγωγικό Μάθημα Βασικές Έννοιες - Ανάλυση Απαιτήσεων

Ηλεκτρονικό εμπόριο. HE 6 Ασφάλεια

Ενότητα 3: Διαχείριση πληροφοριακών πόρων με τη χρήση βάσεων δεδομένων

. Εργαστήριο Βάσεων Δεδομένων. Εισαγωγικό Μάθημα Βασικές Έννοιες - Ανάλυση Απαιτήσεων

Βάσεις Δεδομένων. Εισαγωγή Ανάλυση Απαιτήσεων. Φροντιστήριο 1 ο

Βάσεις Δεδομένων. Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα

Εργαστήριο Βάσεων Δεδομένων. Εισαγωγικό Φροντιστήριο Βασικές Έννοιες - Ανάλυση Απαιτήσεων

ΤΕΧΝΟΛΟΓΙΑ ΔΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ

Ramez Elmasri and Shamkant B. Navathe Ελληνική Εκδόσεις Δίαυλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 1-1

Βάσεις Δεδομένων. Βασίλειος Βεσκούκης 2006 Ρ.Κορακίτης, Β.Βεσκούκης, Θ.Καραλόπουλος, Γ.Πανόπουλος

Εισαγωγή. Βάσεις Δεδομένων : Εισαγωγή 1

Πληροφορική 2. Βάσεις Δεδομένων (Databases)

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ - ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΣΒΔ - ΕΙΣΑΓΩΓΗ ΣΤΟ ΜΟΝΤΕΛΟ ΟΝΤΟΤΗΤΩΝ ΣΥΣΧΕΤΙΣΕΩΝ ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ

Εισαγωγή στα Συστήµατα Βάσεων Δεδοµένων

Βάσεις δεδομένων και Microsoft Access

Βάσεις Δεδομένων Εισαγωγή

ΕΙΣΑΓΩΓΗ ΣΤΙΣ Β ΣΕ Ε Σ Ι ΟΜΕΝ

Τεχνολογίες & Εφαρμογές Πληροφορικής Ενότητα 10: Ασφάλεια στο Διαδίκτυο

Βάσεις Δεδομένων και Ευφυή Πληροφοριακά Συστήματα Επιχειρηματικότητας. 2 ο Μάθημα: Βασικά Θέματα Βάσεων Δεδομένων. Δρ. Κωνσταντίνος Χ.

Εισαγωγή στα Συστήματα Βάσεων εδομένων

Εισαγωγή στα Συστήματα Βάσεων Δεδομένων. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Εισαγωγή. Καλή Ακαδημαϊκή Χρονιά! Τι θα δούμε σήμερα: Τα βασικά Την ιστορία (μέλλον) Μια γρήγορη ματιά στο τι θα δούμε στο μάθημα

ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ ΔΙΟΙΚΗΣΗΣ

Πρότυπα εξασφάλισης του απορρήτου των δεδομένων ( vs Patient Link)

Αρχιτεκτονική του πληροφοριακού συστήµατος Cardisoft Γραµµατεία 2003 ιαχείριση Προσωπικού

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ασκήσεις και ερωτήσεις

κρυπτογραϕία Ψηφιακή ασφάλεια και ιδιωτικότητα Γεώργιος Σπαθούλας Msc Πληροφορική και υπολογιστική βιοιατρική Πανεπιστήμιο Θεσσαλίας

Έννοιες Διαχείρισης Βάσεων Δεδομένων και Αρχιτεκτονική

Εργαστήριο Ασφάλεια Πληροφοριακών Συστημάτων. PGP (Pretty Good Privacy)

ΚΡΥΠΤΟΓΡΑΦΙΑ ΚΑΙ ΑΣΦΑΛΕΙΑ ΥΠΟΛΟΓΙΣΤΩΝ. Δ Εξάμηνο

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι

SNMP ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΟΥ ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ

Ψηφιακά Πιστοποιητικά Ψηφιακές Υπογραφές

ΚΡΥΠΤΟΓΡΑΦΙΑ ΚΑΙ ΑΣΦΑΛΕΙΑ ΥΠΟΛΟΓΙΣΤΩΝ. Δ Εξάμηνο

Κεφάλαιο 4: Λογισμικό Συστήματος

Βάσεις Δεδομένων Ενότητα 1

Λειτουργικά Συστήματα. Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα

Περιεχόμενα. Κεφάλαιο 1 Εισαγωγή στην Access...9. Κεφάλαιο 2 Χειρισμός πινάκων... 25

ΚΕΦΑΛΑΙΟ 5. Κύκλος Ζωής Εφαρμογών ΕΝΟΤΗΤΑ 2. Εφαρμογές Πληροφορικής. Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών

Οι απειλές. Απόρρητο επικοινωνίας. Αρχές ασφάλειας δεδομένων. Απόρρητο (privacy) Μέσω κρυπτογράφησης

Αρχιτεκτονική Συστημάτων Βάσεων Δεδομένων. Κατηγορίες χρηστών ΣΔΒΔ Αρχιτεκτονική ANSI/SPARC Γλώσσες ερωτημάτων Μοντέλα δεδομένων Λειτουργίες ΣΔΒΔ

9 - Ασφάλεια Ηλεκτρονικών Συναλλαγών ΕΘΝΙΚΗ ΣΧΟΛΗ ΔΗΜΟΣΙΑΣ ΔΙΟΙΚΗΣΗΣ & ΑΥΤΟΔΙΟΙΚΗΣΗΣ

Σχεδιασμός Επεξεργασίας και Τηλεπεξεργασίας

Εισαγωγή στην πληροφορική

ΗΜΕΡΟΛΟΓΙΟ ΓΛΩΣΣΑΡΙ ΔΙΑΔΙΚΤΥΟΥ

Πληροφορική Ι. Μάθημα 10 ο Ασφάλεια. Τμήμα Χρηματοοικονομικής & Ελεγκτικής ΤΕΙ Ηπείρου Παράρτημα Πρέβεζας. Δρ. Γκόγκος Χρήστος

Ηλεκτρονικό εμπόριο. HE 7 Τεχνολογίες ασφάλειας

8.3 Ασφάλεια ικτύων. Ερωτήσεις

Πληροφορική. Μάθημα Κατεύθυνσης

Ασφάλεια Στο Ηλεκτρονικό Εμπόριο. Λάζος Αλέξανδρος Α.Μ. 3530

1. Τι είναι ακεραιότητα δεδομένων, με ποιους μηχανισμούς επιτυγχάνετε κ πότε θα χρησιμοποιούσατε τον καθένα εξ αυτών;

Ασφάλεια στο Ηλεκτρονικό Επιχειρείν. ΤΕΙ Δυτικής Ελλάδας Τμήμα Διοίκησης Επιχειρήσεων - Πάτρα Κουτσονίκος Γιάννης

ΕΚΦΩΝΗΣΕΙΣ ΘΕΜΑ Α. α. Πριν εμφανιστεί η τεχνολογία ISDN οι υπηρεσίες φωνής, εικόνας και δεδομένων απαιτούσαν διαφορετικά δίκτυα.

Εισαγωγή στις βασικές έννοιες των Βάσεων Δεδομένων

Π Τ Υ Χ Ι Α Κ Η Ε Ρ Γ Α Σ Ι Α

Εισαγωγή στην επιστήμη της Πληροφορικής και των Τηλεπικοινωνιών. Aσφάλεια

ΔΕΔΟΜΕΝΑ ΚΑΙ ΠΛΗΡΟΦΟΡΙΕΣ

Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών Ασφάλεια Δεδομένων.

Ηλεκτρονικό Εμπόριο. Ενότητα 9: Ασφάλεια Ηλεκτρονικού Εμπορίου Σαπρίκης Ευάγγελος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

Υπηρεσίες Πληροφόρησης στην Ψηφιακή Εποχή: Ζητήματα Ασφάλειας και Προστασίας Ιδιωτικότητας

ΕΠΑΝΑΛΗΠΤΙΚΟ ΤΕΣΤ ΣΤΗΝ ΕΝΟΤΗΤΑ

Εισαγωγή στις βάσεις δεδομένων - Η ανατομία μιας βάσης δεδομένων

Security & Privacy. Overview

Ασφάλεια Πληροφοριακών Συστημάτων

ΨΗΦΙΑΚΑ ΠΙΣΤΟΠΟΙΗΤΙΚΑ ΓΙΑ ΑΣΦΑΛΗ ΚΑΙ ΠΙΣΤΟΠΟΙΗΜΕΝΗ ΕΠΙΚΟΙΝΩΝΙΑ ΜΕ ΤΗΝ ΤΡΑΠΕΖΑ ΤΗΣ ΕΛΛΑΔΟΣ. Οδηγίες προς τις Συνεργαζόμενες Τράπεζες

Βάσεις Δεδομένων. Database Management Systems (DBMS) Συστήματα Διαχείρισης Βάσεων Δεδομένων (ΣΔΒΔ)

Περιεχόµενα. Πληροφοριακά Συστήµατα: Κατηγορίες και Κύκλος Ζωής. Π.Σ. ιαχείρισης Πράξεων. Π.Σ. ιοίκησης. Κατηγορίες Π.Σ. Ο κύκλος ζωής Π.Σ.

Database System Concepts and Architecture (Αρχιτεκτονική, οµές, και Μοντέλα)

Πρωτόκολλα Διαδικτύου Μέρος 2ο. Επικοινωνίες Δεδομένων Μάθημα 3 ο

2.5.1 Χρήση δεξιοτήτων αρχειοθέτησης για τη διατήρηση ενός καθιερωμένου συστήματος

ΕΠΙΚΟΙΝΩΝΙΑΚΗ ΔΙΑΧΕΙΡΙΣΗ ΚΡΙΣΕΩΝ. Communications Crisis Management

Information Technology for Business

Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου. Πληροφορική Ι. Ενότητα 10 : Ασφάλεια. Δρ. Γκόγκος Χρήστος

Βάσεις Δεδομένων. Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα

Ασφαλίστε τις εμπιστευτικές πληροφορίες σας.

ΑΣΦΑΛΕΙΕΣ ΣΤΑ ΔΙΚΤΥΑ

ΑΡΧΗ ΔΙΑΣΦΑΛΙΣΗΣ ΤΟΥ ΑΠΟΡΡΗΤΟΥ ΤΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ ΣΧΕΔΙΟ

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ

Τεχνική Ανάλυση των η-υπογραφών & των η-πιστοποιητικών

Κεφάλαιο 4 Σχεδίαση Βάσεων Δεδομένων

Λάμπρος Καφίδας Εργασία Σχεδιασμός & Διοίκηση Έργου Ιανουάριος 2005 ΚΕΦΑΛΑΙΟ 1

Πως μπορούν τα μέρη του υλικού ενός υπολογιστή να επικοινωνούν και να συνεργάζονται μεταξύ τους; Επειδή ακολουθούν συγκεκριμένες οδηγίες (εντολές).

Τεχνολογία Πολυμέσων. Ενότητα # 1: Εισαγωγή Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής

Transcript:

ΤΕΙ ΚΑΒΑΛΑΣ ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΔΙΑΧΕΙΡΙΣΗΣ ΠΛΗΡΟΦΟΡΙΩΝ ΣΥΓΚΡΙΤΙΚΗ ΜΕΛΕΤΗ ΤΕΧΝΙΚΗΣ ΔΙΑΣΦΑΛΙΣΗΣ ΑΚΕΡΑΙΟΤΗΤΑΣ ΔΕΔΟΜΕΝΩΝ ΣΕ ΣΥΣΤΗΜΑΤΑ ΒΑΣΗΣ ΔΕΔΟΜΕΝΩΝ Χρήστος Μαλτέζος ΑΠΡΙΛΙΟΣ 2010 ΕΠΟΠΤΡΙΑ ΚΑΘΗΓΗΤΡΙΑ Στούπα Κωνσταντίνα Εκπονηθείσα πτυχιακή εργασία απαραίτητη για την κτήση του βασικού πτυχίου

Περιεχόμενα Κεφάλαιο 1: Εισαγωγή... 5 1.1. Ανασκόπηση ερευνητικής περιοχής... 5 1.2. Ανασκόπηση ερευνητικής περιοχής : ορισμοί, ιστορική αναδρομή... 8 1.3. Σκοπός της εργασίας... 8 1.4. Δομή της εργασίας... 8 Κεφάλαιο 2: Βασικές έννοιες βάσεων δεδομένων... 10 2.1. Ορισμοί...10 2.2. Λειτουργία βάσεων δεδομένων... 11 2.3. Συμμετέχοντες στη λειτουργία ενός ΣΒΔ... 17 2.3.1. Εργαζόμενοι στο προσκήνιο... 17 2.3.2. Εργαζόμενοι στο παρασκήνιο... 20 2.4. Πλεονεκτήματα χρήσης ΣΒΔ... 21 2.5. Πότε δεν πρέπει να χρησιμοποιείται ΣΔΒΔ... 25 Κεφάλαιο 3ο : Βασικές Έννοιες Ασφάλειας Δεδομένων...27 3.1. Εισαγωγικά... 27 3.2. Βασικές αρχές ασφάλειας δεδομένων... 28 3.3. Εχθροί και τρόποι άμυνας... 31 3.4. Τ ύποι επιθέσεων... 33 Κεφάλαιο 4ο : Τεχνικές Διατήρησης Ιδιωτικότητας...45 4.1. Κρυπτογραφία... 45 4.1.1. Βασική Κρυπτογραφία... 45 4.1.2. Συμμετρική κρυπτογραφία... 48 4.2. Δημόσια και ιδιωτικά κλειδιά... 54 4.3. Πλεονεκτήματα - Μειονεκτήματα... 57 4.4. Ψηφιακές υπογραφές... 62 4.5. Αρχές πιστοποίησης... 70 Κεφάλαιο 5ο : Εργαλεία Διατήρησης Ιδιωτικότητας... 74 5.1. Firewalls... 74 5.2. Επιλέγοντας ένα σύστημα Firewall... 79 5.3. Αδυναμίες των συστημάτων Firewalls... 81 5.4. Passwords... 83 5.5. Smart Cards... 85 5.6. Antivirus... 86 Κεφάλαιο 6ο : Ιδιωτικότητα και Βάσεις Δεδομένων...88 6.1. Σχεδιασμός συστήματος Ασφαλείας... 88 6.2. Ανάλυση Επικινδυνότητας... 89 6.3. Εφαρμογή Κρυπτογραφίας σε Προστασία Βάσης Δεδομένων... 90 Εκπονηθείσα πτυχιακή εργασία απαραίτητη για την κτήση του βασικού πτυχίου

6.4. Πιστοποίηση Ταυτότητας και Ψηφιακές Υπογραφές στην Προστασία Βάσης Δεδομένων... 99 6.5. Προστασία Βάσης Δεδομένων με τη Χρήση Μεθόδου Firewall... 103 6.6. Προστασία Βάσης Δεδομένων με τη Χρήση Passwords... 107 Κεφάλαιο 7ο : Συμπεράσματα... 109 ΒΙΒΛΙΟΓΡΑΦΙΑ...111 Πηγές στο Διαδίκτυο...112 Εκπονηθείσα πτυχιακή εργασία απαραίτητη για την κτήση του βασικού πτυχίου

Εισαγωγή Περιεχόμενα Σχεδιαγραμμάτων Σχεδιάγραμμα 1 - Σύστημα Βάσης Δεδομένων... 14 Σχεδιάγραμμα 2 - Σύνθετος Τύπος Δεδομένων... 16 Σχεδιάγραμμα 3 - Τα τέσσερα βασικά μέρη ενός κρυπτογραφικού συστήματος... 47 Σχεδιάγραμμα 4 - Συμμετρική Κρυπτογραφία... 48 Σχεδιάγραμμα 5 - Ασύμμετρη Κρυπτογραφία... 56 Σχεδιάγραμμα 6 - Firewall σύμφωνα με την προσέγγιση "Πύλη διπλής στέγης"...76 Σχεδιάγραμμα 7 - Firewall σύμφωνα με την προσέγγιση " διαχωριστικού κεντρικού υπολογιστή πύλης"... 77 Περιεχόμενα Εικόνων Εικόνα 1 - Σύστημα Βάσης Δεδομένων...11 Περιεχόμενα Πινάκων Πίνακας 1 - Τύποι Δεδομένων...15 Πίνακας 2...52 Σελίδα 4 από 112

Κεφάλαιο 1: Εισαγωγή 1.1. Ανασκόπηση ερευνητικής περιοχής Το πεδίο του προγραμματισμού συστημάτων γεννήθηκε αρχικά από τις προσπάθειες πολλών προγραμματιστών και διοικητικών στελεχών, που η δημιουργική τους ενέργεια στρεφόταν στην παραγωγή πρακτικών και χρήσιμων προγραμμάτων συστήματος, που τα χρειαζόταν η αναπτυσσόμενη με γρήγορους ρυθμούς βιομηχανία των υπολογιστών. Ο προγραμματισμός ήταν μια τέχνη, όπου ο κάθε προγραμματιστής επινοούσε τις δικές του λύσεις για τα προβλήματα, με ελάχιστη καθοδήγηση πέρα από εκείνη που είχε από τους άμεσους συνεργάτες του. Το 1968, ο αξέχαστος Ascher Opler, που ήταν τότε στην IBM, κατάλαβε ότι ήταν αναγκαίο να συγκεντρωθούν οι γνώσεις του προγραμματισμού με μια μορφή που θα ήταν προσιτή σε όλους τους προγραμματιστές συστημάτων. Μετά από μελέτη της κατάστασης, συμπέρανε ότι υπήρχε αρκετό χρήσιμο υλικό που να δικαιολογεί μια σημαντική προσπάθεια κωδικοποίησής του. Με δική του σύσταση η IBM αποφάσισε να χρηματοδοτήσει τη σειρά «The Systems Programming Series», ως μακροπρόθεσμο έργο με σκοπό τη συλλογή, την οργάνωση και τη δημοσίευση εκείνων των αρχών και τεχνικών που θα είχαν κάποια αξία με αντοχή στο χρόνο για τη βιομηχανία. Από το 1968, έχουν εκδοθεί δεκαεννέα τίτλοι στα πλαίσια αυτής της σειράς, στους οποίους περιλαμβάνεται και η έκτη έκδοση της Εισαγωγής στα Συστήματα Βάσεων Δεδομένων, βιβλίο που μέρος του θα χρησιμοποιηθεί για την εκπόνηση αυτής της πτυχιακής εργασίας. (R. Elmarsi - S. B. Navathe, 1996) - Δεκαετία του 1950 Για τη διαχείριση και επεξεργασία μεμονωμένων αρχείων χρησιμοποιούνταν οι Κάρτες και ταινίες (σειριακή επεξεργασία). Οι εξελίξεις σε συσκευές μαζικής αποθήκευσης τυχαίας πρόσβασης και αύξηση υπολογιστικής ισχύος θέτουν τις προϋποθέσεις για την ανάπτυξη Σελίδα 5 από 112

συστημάτων διαχείρισης δεδομένων σε αντικατάσταση των συστημάτων διαχείρισης αρχείων. - Δεκαετία του 1960 Τα πρώτα συστήματα διαχείρισης βάσεων δεδομένων δημιουργήθηκαν τη δεκαετία του 1960 με σκοπό να προσφέρουν ένα κοινό οργανωτικό πλαίσιο για τη διαχείριση δεδομένων τα οποία μέχρι τότε αποθηκεύονταν σε μεμονωμένα αρχεία. Το 1964, ο Charles Bachman (1st Turing Award, 1973) της General Electric πρότεινε ένα δικτυωτό μοντέλο δεδομένων (network data model) στο οποίο οι εγγραφές δεδομένων ήταν συνδεδεμένες μεταξύ τους με τέτοιο τρόπο ώστε να σχηματίζουν τεμνόμενα σύνολα δεδομένων. Τα πρώτα συστήματα διαχείρισης βάσεων δεδομένων στηρίχθηκαν σε αυτό το δικτυωτό μοντέλο. Το 1965 η εταιρία IBM και η Διεύθυνση Διαστήματος της North American Aviation ανέπτυξαν από κοινού το ιεραρχικό μοντέλο δεδομένων (hierarchical data model). Σε αυτό το μοντέλο, τα δεδομένα παριστάνονταν ως δενδροειδείς δομές μέσα σε μια ιεραρχία εγγραφών. Το Σύστημα Διαχείρισης Πληροφοριών (Information Management System - IMS) της IBM που κυκλοφόρησε στην αγορά το 1969ήταν βασισμένο στο ιεραρχικό μοντέλο δεδομένων. Από τα δικτυωτά και ιεραρχικά συστήματα μόνο το IMS παραμένει σε χρήση μέχρι σήμερα. (R. Elmarsi - S. B. Navathe, 1996) - Δεκαετία του 1970 Ο ορισμός του σχεσιακού μοντέλου δεδομένων (Relational data model) έγινε για πρώτη φορά το 1970 από τον Δρ. Edgar Codd (Turing Award, 1981) σε ένα ερευνητικό έντυπο της IBM με τίτλο "System R4 Relational". Στην αρχή βέβαια δεν ήταν ξεκάθαρο κατά πόσο ένα σχεσιακό σύστημα που θα βασιζόταν στο σχεσιακό μοντέλο θα μπορούσε να πετύχει εμπορικά. Έτσι μέχρι και το 1979 όλες οι εμπορικές υλοποιήσεις βάσεων δεδομένων βασίζονταν είτε στη δικτυωτή είτε στην ιεραρχική προσέγγιση. Άρχισαν να αναπτύσσονται βέβαια τα ερευνητικά προγράμματα σχεσιακών συστημάτων System R (IBM) και INGRESS (Berkley) καθώς Σελίδα 6 από 112

και οι σχεσιακές γλώσσες SEQUEL, QBE και QUEL. Το 1976 αναπτύχθηκε το μοντέλο οντοτήτων συσχετίσεων του Chen. Το 1979 ιδρύθηκε η εταιρία Relational Software Incorporated (RSI) και κυκλοφόρησε στην αγορά τη σχεσιακή βάση δεδομένων Oracle V.2. Η IBM δεν ενσωμάτωσε τη σχεσιακή τεχνολογία σε κανένα προϊόν της μέχρι την κυκλοφορία του λογισμικού Query Management Facility το 1983. (R. Elmarsi - S. B. Navathe, 1996) - Δεκαετία του 1980 Στις αρχές του 1980, η σχεσιακή γλώσσα SQL (μέρος του System R) αντικατέστησε την QUEL στο σύστημα INGRESS. Αναπτύχθηκαν οι έννοιες της διαχείρισης συναλλαγών (transaction management) από τον Jim Gray (Turing Award, 1999). Οι τάσεις που άρχισαν να εμφανίζονται αφορούν τα αντικειμενοστραφή συστήματα, την αρχιτεκτονική πελάτη - διακομιστή, και τις κατανεμημένες βάσεις. Αργότερα οι εγκαταστάσεις των σχεσιακών συστημάτων αυξάνουν με γοργούς ρυθμούς με πρώτα τα συστήματα Oracle, SQL Server, Sybase, Informix, DB2. Εμφανίζονται τα σχεσιακά συστήματα διαχείρισης βάσεων δεδομένων σε προσωπικούς υπολογιστές : Dbase II (Ashton Tate) εξελίχθηκε μέχρι τις μέρες μας ως Paradox, Microsoft Access. (R. Elmarsi - S. B. Navathe, 1996) - Δεκαετία του 1990 Εμφανίζονται τα πρώτα εμπορικά αντικειμενοστραφή συστήματα ΒΔ, σύνδεση ΒΔ στο διαδίκτυο, η ευρύτατη διάδοση τεχνολογίας που επιτρέπει την επικοινωνία των χρηστών με ΒΔ μέσω διαδικτύου (HTML, XML, ASP κλπ) Σελίδα 7 από 112

1.2. Ανασκόπηση ερευνητικής περιοχής : ορισμοί, ιστορική αναδρομή 1.3. Σκοπός της εργασίας Η παρούσα πτυχιακή εργασία έχει ως αντικείμενο τις βάσεις δεδομένων και την διασφάλιση των δεδομένων σε αυτές. Σκοπός μας είναι να δώσουμε στον αναγνώστη τις βασικές γνώσεις γύρω από τις βάσεις δεδομένων αλλά και να του καταδείξουμε όλους τους κινδύνους και τους εχθρούς αυτών αλλά και όλους τους τρόπους προστασίας και τα εργαλεία διασφάλισης των δεδομένων που αυτές περιέχουν. Δεδομένα ευαίσθητα και προσωπικά. Τα δεδομένα μας. 1.4. Δομή της εργασίας Η εργασία αποτελείται συνολικά από έξι κεφάλαια. Στο πρώτο κεφάλαιο γίνεται μια πρώτη παρουσίαση του αντικειμένου, του σκοπού και της δομής της αυτής. Στο δεύτερο κεφάλαιο το οποίο έχει τίτλο «Βασικές έννοιες βάσεων δεδομένων» γίνεται μια πρώτη γνωριμία με τις βάσεις δεδομένων και ειδικότερα παρουσιάζονται οι λειτουργίες αυτής καθώς και οι συμμετέχοντες στην λειτουργία ενός συστήματος βάσης δεδομένων, είτε αυτοί εργάζονται στο προσκήνιο είτε παρασκηνιακά. Επίσης παρουσιάζονται τα πλεονεκτήματα και τα μειονεκτήματα ενός τέτοιου συστήματος. Στο τρίτο κεφάλαιο αναλύονται έννοιες ασφάλειας των δεδομένων όπως «hackers, ping of death κτλ.» και γένικα γίνεται μια αναλυτική παρουσιάση όλων των εχθρών ενός συστήματος βάσης δεδομένων. Το τέταρτο κεφάλαιο δεν θα μπορούσαμε να γράψουμε για κάτι άλλο από τους τρόπους και τεχνικές που χρησιμοποιούνται από τα συστήματα αυτά ώστε να διασφαλίζεται η ιδιωτικότητα των δεδομένων των χρηστών που περιέχονται στα συστήματα αυτά. Τέλος στο πέμπτο κεφάλαιο της εργασίας μας που έχει ως βασικό τίλο «Εργαλεία διατήρησης ιδιωτικότητας» πραγματοποιείται μια εκτενής Σελίδα 8 από 112

παρουσιάση όλων των μεθόδων και τρόπων που μπορεί ο μέσος χρήστης να χρησιμοποιήσει ώστε να εξασφαλίζει από μέρος του την ιδιωτικότητα των προσωπικών του δεδομένων. Η εργασία μας κλείνει με τα συμπεράσματα που προκύψαν από την μελέτη που πραγματοποιήθηκε για την πραγματοποίηση της εργασίας. Σελίδα 9 από 112

Κεφάλαιο 2: Βασικές έννοιες βάσεων δεδομένων 2.1. Ορισμοί Είναι εύλογο να ειπωθεί ότι οι βάσεις δεδομένων θα διαδραματίσουν κρίσιμο ρόλο σε όλες τις περιοχές όπου χρησιμοποιούνται υπολογιστές όπως στις επιχειρήσεις, στη μηχανική, στην ιατρική, στα νομικά, στην εκπαίδευση και στη βιβλιοθηκονομία, για να αναφέρουμε μερικές μόνο από αυτές. Η φράση βάση δεδομένων βρίσκεται σε τόσο κοινή χρήση που πρέπει να αρχίσουμε ορίζοντας τι είναι μια βάση δεδομένων. Βάση δεδομένων (database) είναι μια ολοκληρωμένη συλλογή από σχετιζόμενα δεδομένα. Με τον όρο δεδομένα εννοούμε γνωστά γεγονότα που μπορούν να καταγραφούν και που έχουν κάποια υπονοούμενη σημασία. Ο πιο πάνω ορισμός της βάσης δεδομένων είναι αρκετά γενικός. Ωστόσο, η συνήθης χρήση του όρου βάση δεδομένων είναι αρκετά πιο περιορισμένη. (R. Elmarsi - S. B. Navathe, 1996) Μπορούμε να πούμε ότι μια ΒΔ αναπαριστά ένα μικρόκοσμο. Παράδειγμα τέτοιων μικρόκοσμων είναι ένα πανεπιστήμιο (καθηγητέςφοιτητές-μαθήματα-αίθουσες κλπ.). Σημαντικό χαρακτηριστικό των πληροφοριών που περιέχονται σε μια ΒΔ είναι ότι αυτές είναι συσχετιζόμενες. Για παράδειγμα, στο μικρόκοσμο του πανεπιστημίου οι καθηγητές διδάσκουν μαθήματα, τα οποία παρακολουθούνται από φοιτητές κοκ. Αν μια πληροφορία δεν σχετίζεται με άλλες μέσα στο μικρόκοσμο, τότε δεν ανήκει στη συγκεκριμένη ΒΔ. Δεδομένα (data) είναι γνωστά γεγονότα / περιστατικά που καταγράφονται και έχουν νόημα. Βάση Δεδομένων - ΒΔ (database) είναι μια ολοκληρωμένη συλλογή σχετιζόμενων δεδομένων μέσα σε κοινά διαθέσιμο μέσο μαζικής αποθήκευσης. Άρα τα δεδομένα μιας ΒΔ δεν είναι ανεξάρτητα μεταξύ τους γιατί στην περίπτωση αυτή θα είχαμε όχι μια αλλά περισσότερες ΒΔ. Η Βάση Δεδομένων αποθηκεύεται (συνήθως) σε δευτερεύουσα μνήμη. Σελίδα 10 από 112

Πτυχιακή Εργασία Χρήστου Μαλτέζου Σύστημα Διαχείρισης Βάσεων Δεδομένων - ΣΔΒΔ (Database Management System - DBMS) είναι μια αυτοτελής συλλογή από τμήματα λογισμικού (προγράμματα) για την δημιουργία, επεξεργασία και συντήρηση ΒΔ. Τέλος, Σύστημα Βάσεων Δεδομένων - ΣΒΔ (Database System) είναι το λογισμικό DBMS μαζί με τη Βάση Δεδομένων. Εικόνα 1 - Σύστημα Βάσης Δεδομένων Πηγή: Μανωλόπουλος Παπαδόπουλος, 2006 Το Σύστημα βάσης δεδομένων αποτελείται από τη βάση δεδομένων, μια ή περισσότερες γλώσσες βάσεων δεδομένων που επιτρέπουν την επικοινωνία με τη βάση και κάποια προγράμματα εφαρμογών. 2.2. Λειτουργία βάσεων δεδομένων Σ ένα τυπικό «σύστημα επεξεργασίας αρχείων» υποστηριζόμενο από ένα συμβατικό λειτουργικό σύστημα οι εγγραφές διατηρούνται στα μόνιμα αρχεία και τα προγράμματα εφαρμογών για να διαχειριστούν τα αρχεία αυτά για να εκτελέσουν ενέργειες εισαγωγής, διαγραφής, εύρεσης κλπ : καθώς η ανάπτυξη και εξέλιξη του συστήματος θα συνεχίζεται με την πάροδο του χρόνου νέα προγράμματα εφαρμογών πρέπει να γραφτούν, νέα μόνιμα αρχεία δημιουργούνται και στη διάρκεια μεγάλης χρονικής περιόδου τα αρχεία θα έχουν διαφορετικά format, και τα προγράμματα εφαρμογών θα είναι σε διαφορετικές γλώσσες προγραμματισμού. Σελίδα 11 από 112

Βασικές Έννοιες Βάσεων Δεδομένων Έτσι τα συστήματα διαχείρισης βάσεων δεδομένων αναπτύχθηκαν για να χειρίζονται και ελέγχουν τις παρακάτω δυσκολίες των τυπικών συστημάτων διαχείρισης αρχείων που υποστηρίζονταν από τα συμβατικά λειτουργικά συστήματα. (Μανωλόπουλος Παπαδόπουλος, 2006) - Προβλήματα Ασυνέπειας και πλεονασμού δεδομένων (οι ίδιες πληροφορίες μπορεί να αναπαραχθούν σε διαφορετικά αρχεία) - Προβλήματα Ακεραιότητας Δεδομένων (τα δεδομένα θα πρέπει να ικανοποιούν κάποιους περιορισμούς. Π.χ. κανένα υπόλοιπο λογαριασμού κάτω από 1.000). - Δυσκολίες προσπέλασης Δεδομένων (θα πρέπει να γραφτεί ένα νέο πρόγραμμα εφαρμογής για να ικανοποιηθεί ένα ασυνήθιστο αίτημα. Π.χ. βρείτε όλους τους πελάτες με τον ίδιο ταχυδρομικό κώδικα.) - Προβλήματα Ασφάλειας (π.χ. οι υπεύθυνοι μισθοδοσίας χειρίζονται μόνο τα αρχεία υπαλλήλων, και δεν πρέπει να δουν τους λογαριασμούς των πελατών.) - Προβλήματα Ανεξαρτησίας Δεδομένων (πολλαπλά αρχεία και formats) - Δυσκολίες ενημέρωσης πολλών αρχείων (όλα τα αντίγραφα δεν είναι δυνατόν να ενημερωθούν σωστά) - Προβλήματα ταυτόχρονης προσπέλασης από πολλούς χρήστες.(π.χ. δυο πελάτες που αποσύρουν τα κεφάλαια από τον ίδιο λογαριασμό την ίδια χρονική στιγμή - ο λογαριασμός έχει 10.000 και αποσύρουν 2.000 και 3.000 ο καθένας) Αυτά τα προβλήματα και άλλα οδήγησαν στην ανάπτυξη των συστημάτων διαχείρισης βάσεων δεδομένων. Σύστημα διαχείρισης βάσεων δεδομένων (ΣΔΒΔ) (database management system - DBMS) είναι μια συλλογή από προγράμματα που επιτρέπουν στους χρήστες να δημιουργήσουν και να συντηρήσουν μια βάση δεδομένων. Σελίδα 12 από 112

Πτυχιακή Εργασία Χρήστου Μαλτέζου Επομένως, το ΣΔΒΔ είναι ένα γενικής χρήσης (general - purpose) σύστημα λογισμικού που διευκολύνει τις διαδικασίες ορισμού, κατασκευής και χειρισμού βάσεων δεδομένων για διάφορες εφαρμογές. Ο ορισμός (definition) μιας βάσης δεδομένων περιλαμβάνει την προδιαγραφή των τύπων, των δομών και των περιορισμών των δεδομένων που θα αποθηκευτούν στη βάση. Κατασκευή μιας βάσης δεδομένων είναι η διαδικασία αποθήκευσης των ίδιων των δεδομένων σ ένα μέσο αποθήκευσης που ελέγχεται από το ΣΔΒΔ. Ο χειρισμός (manipulation) μιας βάσης δεδομένων περιλαμβάνει λειτουργίες όπως υποβολή επερωτήσεων (queries) προς τη βάση για ανάκτηση συγκεκριμένων δεδομένων, ενημέρωση της βάσης ώστε να αντανακλά αλλαγές στο μικρόκοσμο και παραγωγή αναφορών από τα δεδομένα. Μια βάση δεδομένων, μαζί με το αντίστοιχο λογισμικό DBMS, αποτελεί το σύστημα βάσης δεδομένων (database system). Ο γενικός σκοπός του Συστήματος βάσης δεδομένων είναι (Μανωλόπουλος Παπαδόπουλος, 2006): o Να τηρεί πληροφορίες και o Να δίνει αυτές τις πληροφορίες όταν του ζητούνται. Βασικά χαρακτηριστικά των Συστημάτων Βάσεων Δεδομένων είναι : o Η αυτοπεριγραφική τους φύση : ο ομοιογενής δηλαδή τρόπος δημιουργίας, πρόσβασης και ελέγχου των δεδομένων, ανεξάρτητα εφαρμογής. o Το μοίρασμα (sharing) των δεδομένων και η χρήση τους από πολλούς χρήστες, ακόμη και ταυτόχρονα o Ο κεντρικός έλεγχος λειτουργίας και διαχείρισης (database administration) από ένα ή περισσότερα πρόσωπα που έχουν συγκεκριμένο ρόλο «Διαχειριστή ΒΔ» (database administrator - DBA) o Η υποστήριξη κανόνων ακεραιότητας (δεν μπορούν να υπάρχουν λανθασμένα δεδομένα, δηλαδή δεδομένα που παραβαίνουν κάποιους κανόνες που έχουν δηλωθεί), Σελίδα 13 από 112

Βασικές Έννοιες Βάσεων Δεδομένων ασφάλειας (δεν μπορούν να πειραχτούν δεδομένα που δεν πρέπει), δικαιοδοσίας (το σύστημα «γνωρίζει» ποιος έχει δικαίωμα πάνω σε ποια δεδομένα) o Ο έλεγχος ταυτοχρονισμού (concurrency control) στις περιπτώσεις ταυτόχρονης προσπέλασης των ίδιων δεδομένων από περισσότερους του ενός χρήστες και ειδικοί μηχανισμοί για ανάκαμψη (recovery) σε περιπτώσεις αθέλητης διακοπής της λειτουργίας του ΣΔΒΔ. Σχεδιάγραμμα 1 - Σύστημα Βάσης Δεδομένων Πηγή: Μανωλόπουλος Παπαδόπουλος, 2006 Υπάρχουν συστήματα βάσεων δεδομένων για μηχανήματα που εκτείνονται σε όλο το φάσμα - από τους μικροϋπολογιστές (ακόμη και τα φορητά PC) μέχρι τα μεγαλύτερα συστήματα mainframe. Ειδικότερα, τα Σελίδα 14 από 112

Πτυχιακή Εργασία Χρήστου Μαλτέζου συστήματα για μεγάλα μηχανήματα (τα «μεγάλα συστήματα»)είναι συνήθως συστήματα πολλών χρηστών, ενώ εκείνα των μικρότερων μηχανημάτων (τα «μικρά συστήματα») είναι συνήθως συστήματα ενός χρήστη. Σύστημα ενός χρήστη (single user system) είναι ένα σύστημα στο οποίο μόνο ένας χρήστης έχει πρόσβαση στη βάση δεδομένων οποιαδήποτε δεδομένη στιγμή. Σύστημα πολλών χρηστών (multiuser system) είναι ένα σύστημα στο οποίο πολλοί χρήστες έχουν πρόσβαση στη βάση δεδομένων ταυτόχρονα. Οι πιο γνωστοί τύποι δεδομένων που χρησιμοποιούνται στα σύγχρονα πληροφοριακά συστήματα, είναι (Κολοκοτρώνης Δ.,2005): Πίνακας 1 - Τύποι Δεδομένων Ονομασία Περιγραφή Μέγεθος σε bytes Integer Ακέραιοι αριθμοί 2 Real Πραγματικοί αριθμοί 4 Char Χαρακτήρες 1 String Λέξεις και φράσεις Μεταβλητό Date Ημερομηνία 8 Πηγή: Κολοκοτρώνης Δ.,2005 Αυτοί οι στοιχειώδεις τύποι δεδομένων συσχετίζονται με μια και μοναδική τιμή, και δεν μπορούν να αναλυθούν σε μικρότερες μονάδες. Σύνθετοι τύποι δεδομένων : στις πιο συνηθισμένες περιπτώσεις, τα δεδομένα υφίστανται ευκολότερη και αποτελεσματικότερη διαχείριση εάν ομαδοποιηθούν σε μεγαλύτερες οντότητες, τις οποίες διαπραγματευόμαστε όπως ακριβώς και τα απλά δεδομένα. Ας πάρουμε για παράδειγμα την περίπτωση μιας Εταιρίας. Εάν θελήσουμε να δημιουργήσουμε ένα πρόγραμμα στο οποίο θα καταχωρούμε τα στοιχεία των υπαλλήλων, τότε τα στοιχεία εκείνα που θα κρατάμε για κάθε υπάλληλο, θα είναι το Όνομά του, το Επώνυμό του, η Ημερομηνία Γέννησής του, και οι Κωδικός του - ας περιοριστούμε μόνο σε αυτά. Σελίδα 15 από 112

Βασικές Έννοιες Βάσεων Δεδομένων Στην περίπτωση αυτή, δημιουργούμε ένα σύνθετο τύπο δεδομένων - τον οποίο ας ονομάσουμε ΥΠΑΛΛΗΛΟΣ - που θα περιέχει τα τέσσερα πεδία που περιγράψαμε παραπάνω : Σχεδιάγραμμα 2 - Σύνθετος Τύπος Δεδομένων Πηγή: Μανωλόπουλος Παπαδόπουλος, 2006 Οι τέσσερις τύποι δεδομένων που σχηματίζουν τον σύνθετο τύπο δεδομένων ΥΠΑΛΛΗΛΟΣ, υφίστανται διαχείριση, σαν να ήταν ένας απλός τύπος δεδομένων και χρησιμοποιείται για την αποθήκευση εγγραφών (records). Όπως γίνεται και στις συμβατικές γλώσσες προγραμματισμού όπου για παράδειγμα ένα πρόγραμμα PASCAL χρησιμοποιεί δηλώσεις για δομές εγγραφών, ένα πρόγραμμα C++ μπορεί να χρησιμοποιεί δηλώσεις "struct και "class ενώ ένα πρόγραμμα COBOL έχει δηλώσεις στο Data Division για τον ορισμό των αρχείων του. (Μανωλόπουλος Παπαδόπουλος, 2006) Βέβαια στην παραδοσιακή επεξεργασία αρχείων, ο ορισμός των δεδομένων αποτελεί τμήμα των ίδιων των προγραμμάτων εφαρμογών ενώ στην προσέγγιση των βάσεων δεδομένων οι ορισμοί των δομών των αρχείων, ο τύπος και η μορφή αποθήκευσης κάθε στοιχειώδους δεδομένου, καθώς και οι διάφοροι περιορισμοί επί των δεδομένων αποθηκεύονται ξεχωριστά στον κατάλογο (catalog) του συστήματος της βάσης δεδομένων και λέγονται μεταδεδομένα (meta - data). Σελίδα 16 από 112

Πτυχιακή Εργασία Χρήστου Μαλτέζου 2.3. Συμμετέχοντες στη λειτουργία ενός ΣΒΔ 2.3.1. Εργαζόμενοι στο προσκήνιο Για μια μικρή προσωπική βάση δεδομένων, όπως η λίστα των διευθύνσεων, συνήθως ένα άτομο ορίζει, κατασκευάζει και χειρίζεται τη βάση. Αντίθετα, πολλά άτομα αναμειγνύονται στο σχεδιασμό, στη χρήση και στη συντήρηση μιας μεγάλης βάσης δεδομένων με εκατοντάδες χρήστες. Στην ενότητα αυτή περιγράφουμε τα άτομα που η εργασία τους περιλαμβάνει την καθημερινή χρήση μιας μεγάλης βάσης δεδομένων, τους οποίους και ονομάζουμε "εργαζόμενοι στο προσκήνιο. Στην ενότητα 2.2.2. εξετάζουμε τα άτομα που μπορούν να ονομαστούν "εργαζόμενοι στο παρασκήνιο" -είναι αυτοί που εργάζονται για τη συντήρηση του περιβάλλοντος του συστήματος βάσης δεδομένων, αλλά δεν ενδιαφέρονται ενεργά για την ίδια τη βάση. - Διαχειριστές βάσεων δεδομένων Σε κάθε οργανισμό όπου πολλά άτομα χρησιμοποιούν τους ίδιους πόρους, υπάρχει ανάγκη για ένα προϊστάμενο διαχειριστή που να επιβλέπει και να διαχειρίζεται τους πόρους αυτούς. Σε ένα περιβάλλον βάσης δεδομένων, ο πρωτεύον πόρος είναι η ίδια η βάση δεδομένων και δευτερεύοντες πόροι είναι το ΣΔΒΔ και το σχετικό λογισμικό. Η διαχείριση αυτών των πόρων είναι υπευθυνότητα του διαχειριστή της βάσης δεδομένων (ΔΒΔ) (Database administrator). Ο ΔΒΔ είναι υπεύθυνος να εξουσιοδοτεί την προσπέλαση στη βάση δεδομένων, να συντονίζει και να παρακολουθεί τη χρήση της και να αποκτά πόρους λογισμικού και υλικού σύμφωνα με τις ανάγκες. Ο ΔΒΔ είναι υπεύθυνος για προβλήματα όπως παραβιάσεις ασφάλειας ή χαμηλή απόδοση συστήματος -μεγάλοι χρόνοι απόκρισης. Σε μεγάλους οργανισμούς, ο ΔΒΔ υποβοηθάται από αντίστοιχο προσωπικό για να εκτελέσει όλες αυτές τις λειτουργίες. - Σχεδιαστές βάσεων δεδομένων Οι σχεδιαστές βάσεων δεδομένων είναι υπεύθυνοι να προσδιορίσουν τα δεδομένα που θα αποθηκευτούν στη βάση και να Σελίδα 17 από 112

Βασικές Έννοιες Βάσεων Δεδομένων επιλέξουν κατάλληλες δομές για την αναπαράσταση και την αποθήκευση αυτών των δεδομένων. Αυτές οι εργασίες γίνονται ως επί το πλείστον πριν την υλοποίηση της βάσης δεδομένων. Οι σχεδιαστές είναι υπεύθυνοι να επικοινωνήσουν με όλους τους υποψήφιους χρήστες της βάσης προκειμένου να κατανοήσουν τις απαιτήσεις τους και να δώσουν ένα σχεδιασμό που να καλύπτει τις απαιτήσεις αυτές. Σε πολλές περιπτώσεις, οι σχεδιαστές ανήκουν στους υφισταμένους του ΔΒΔ και μπορεί να αναλαμβάνουν άλλες ευθύνες μετά την ολοκλήρωση του σχεδιασμού της βάσης. Στην τυπική περίπτωση, οι σχεδιαστές της βάσης δεδομένων επικοινωνούν με κάθε ομάδα ενδεχόμενων χρηστών και αναπτύσσουν μια όψη της βάσης δεδομένων που καλύπτει τις απαιτήσεις δεδομένων και επεξεργασίας αυτής της ομάδας. Οι όψεις αυτές στη συνέχεια αναλύονται και ενοποιούνται με τις όψεις των άλλων ομάδων χρηστών. Ο τελικός σχεδιασμός της βάσης δεδομένων πρέπει να μπορεί να υποστηρίξει τις απαιτήσεις όλων των ομάδων χρηστών. ( ^ Ε^σΐΈΐ - β. Β. Νανσίήθ, 1996) - Τελικοί χρήστες Αυτοί είναι τα άτομα που η εργασία τους απαιτεί προσπέλαση στη βάση δεδομένων για ερωτήσεις, ενημέρωση και παραγωγή αναφορών. Η βάση δεδομένων υφίσταται κυρίως για δική τους χρήση. Υπάρχουν αρκετές κατηγορίες τελικών χρηστών: - Περιστασιακοί τελικοί χρήστες είναι αυτοί που προσπελάζουν κατά καιρούς τη βάση δεδομένων αλλά μπορεί να χρειάζονται διαφορετικές πληροφορίες κάθε φορά. Χρησιμοποιούν μια περίπλοκη γλώσσα ερωτήσεων και στην τυπική περίπτωση είναι μέσα ή υψηλόβαθμα διοικητικά στελέχη ή άλλοι περιστασιακοί χρήστες. - Οι απλοϊκοί ή παραμετρικοί τελικοί χρήστες αποτελούν ένα μεγάλο τμήμα των τελικών χρηστών μιας βάσης δεδομένων. Η κύρια εργασία τους επικεντρώνεται σε συνεχείς ερωτήσεις και ενημερώσεις που λέγονται προκατασκευασμένες δοσοληψίες και οι Σελίδα 18 από 112

Πτυχιακή Εργασία Χρήστου Μαλτέζου οποίες έχουν προγραμματισθεί και ελεγχθεί προσεκτικά. Όλοι έχουμε συνηθίσει να συναλλασσόμαστε με αρκετών ειδών τέτοιους χρήστες. Υπάλληλοι κρατήσεων σε αεροπορικές εταιρείες, ξενοδοχεία και γραφεία ενοικιάσεως αυτοκινήτων ελέγχουν την διαθεσιμότητα για συγκεκριμένες θέσεις ή οχήματα και κάνουν κρατήσεις. Υπάλληλοι υποδοχής δεμάτων σε γραφεία ταχυμεταφορών εισάγουν τα στοιχεία των δεμάτων μέσω ραβδωτού κώδικα και συμπληρωματικές πληροφορίες από το πληκτρολόγιο, ενημερώνοντας μια κεντρική βάση δεδομένων για τα δέματα που φθάνουν ή διέρχονται. - Οι εξειδικευμένοι τελικοί χρήστες περιλαμβάνουν μηχανικούς, επιστήμονες, αναλυτές επιχειρήσεων και άλλους που μαθαίνουν σε βάθος τις δυνατότητες των ΣΔΒΔ για να μπορούν να ανταποκριθούν στις πολύπλοκες απαιτήσεις της δουλειάς τους. - Οι μεμονωμένοι χρήστες διατηρούν προσωπικές βάσεις δεδομένων χρησιμοποιώντας έτοιμα πακέτα προγραμμάτων που παρέχουν εύχρηστες διεπαφές βασισμένες σε μενού ή γραφικά. Ένα παράδειγμα είναι ο χρήστης ενός φορολογικού πακέτου που αποθηκεύει διάφορα προσωπικά οικονομικά δεδομένα για φορολογικούς λόγους. Ένα τυπικό ΣΔΒΔ παρέχει πολλές ευκολίες για την προσπέλαση μιας βάσης δεδομένων. Οι απλοϊκοί τελικοί χρήστες αρκεί να ξέρουν πολύ λίγα για τις δυνατότητες που παρέχει το ΣΔΒΔ, το μόνο που χρειάζεται να καταλαβαίνουν είναι οι τύποι των τυποποιημένων δοσοληψιών που έχουν σχεδιαστεί και υλοποιηθεί για χρήση από αυτούς. Οι περιστασιακοί χρήστες μαθαίνουν λίγες μόνο δυνατότητες που μπορούν να χρησιμοποιούν κατ' επανάληψη. Οι εξειδικευμένοι χρήστες προσπαθούν να μάθουν τις περισσότερες δυνατότητες ενός ΣΔΒΔ προκειμένου να ικανοποιήσουν τις πολύπλοκες απαιτήσεις τους. Οι μεμονωμένοι χρήστες συνήθως γίνονται ειδήμονες στη χρήση ενός συγκεκριμένου λογισμικού πακέτου. Σελίδα 19 από 112

Βασικές Έννοιες Βάσεων Δεδομένων - Αναλυτές συστημάτων και προγραμματιστές Οι αναλυτές συστημάτων προσδιορίζουν τις απαιτήσεις των τελικών χρηστών, ειδικά των απλοϊκών, και αναπτύσσουν προδιαγραφές για προκαθορισμένες δοσοληψίες που καλύπτουν τις απαιτήσεις αυτές. Οι προγραμματιστές εφαρμογών υλοποιούν τις προδιαγραφές των τυποποιημένων δοσοληψιών σε προγράμματα, τα οποία στη συνέχεια ελέγχουν, διορθώνουν, τεκμηριώνουν και συντηρούν. Για να πετύχουν τους σκοπούς τους οι αναλυτές και οι προγραμματιστές πρέπει να είναι εξοικιωμένοι με την πλήρη γκάμα δυνατοτήτων που παρέχει το ΣΔΒΔ. 2.3.2. Εργαζόμενοι στο παρασκήνιο Επί πλέον αυτών που σχεδιάζουν, χρησιμοποιούν και διαχειρίζονται μια βάση δεδομένων, υπάρχουν και άλλοι που σχετίζονται με το σχεδιασμό, την ανάπτυξη και τη λειτουργία του λογισμικού του ΣΔΒΔ και του περιβάλλοντος συστήματος. Αυτά τα άτομα συνήθως δεν ενδιαφέρονται για αυτή καθεαυτή τη βάση. Τους ονομάζουμε εργαζόμενους στο παρασκήνιο και περιλαμβάνουν τις πιο κάτω κατηγορίες. (Κολοκοτρώνης Δ.,2005) - Άτομα που σχεδιάζουν και υλοποιούν ΣΒΔΒ Αυτοί είναι άτομα που σχεδιάζουν και υλοποιούν τα τμήματα και τις διεπαφές του ΣΔΒΔ ως πακέτα λογισμικού. Ένα ΣΔΒΔ είναι ένα πολύπλοκο σύστημα λογισμικού που αποτελείται από πολλά συστατικά ή τμήματα, συμπεριλαμβανομένων τμημάτων για την υλοποίηση του καταλόγου, της γλώσσας ερωτήσεων, των επεξεργαστών διεπαφής, της προσπέλασης στα δεδομένα και της ασφάλειας. Το ΣΔΒΔ πρέπει να επικοινωνεί με άλλα συστήματα λογισμικού όπως το λειτουργικό σύστημα και οι μεταγλωττιστές διαφόρων γλωσσών προγραμματισμού. - Κατασκευαστές εργαλείων Τα εργαλεία είναι πακέτα λογισμικού που διευκολύνουν το σχεδιασμό και τη χρήση συστημάτων βάσεων δεδομένων και βοηθούν στη Σελίδα 20 από 112

Πτυχιακή Εργασία Χρήστου Μαλτέζου βελτίωση της απόδοσης. Τα εργαλεία είναι προαιρετικά πακέτα που συνήθως αγοράζονται ξεχωριστά. Περιλαμβάνουν πακέτα για σχεδιασμό βάσεων δεδομένων, παρακολούθηση της απόδοσης, διεπαφές φυσικής γλώσσας ή γραφικών, πρωτοτυποποίηση, προσομοίωση και παραγωγή δοκιμαστικών δεδομένων. Κατασκευαστές εργαλείων είναι τα άτομα που σχεδιάζουν και υλοποιούν τέτοια εργαλεία. Σε πολλές περιπτώσεις ανεξάρτητοι κατασκευαστές λογισμικού αναπτύσσουν και εμπορεύονται αυτά τα εργαλεία. - Χειριστές και προσωπικό συντήρησης Αυτοί είναι το προσωπικό διαχείρισης συστήματος που είναι υπεύθυνο για τη λειτουργία και τη συντήρηση του περιβάλλοντος υλικού και λογισμικού του συστήματος βάσης δεδομένων. Αν και οι πιο πάνω κατηγορίες εργαζομένων στο παρασκήνιο είναι απαραίτητες για να καθιστούν το σύστημα βάσης δεδομένων διαθέσιμο στους τελικούς χρήστες, στην τυπική περίπτωση δε χρησιμοποιούν τη βάση για δικούς τους σκοπούς. 2.4. Πλεονεκτήματα χρήσης ΣΒΔ Υπάρχουν συγκεκριμένα πλεονεκτήματα που προκύπτουν από τον κεντρικό έλεγχο των δεδομένων. (Κολοκοτρώνης Δ.,2005) - Ο πλεονασμός (redundancy) μπορεί να μειωθεί στο ελάχιστο με την απαλοιφή αρχείων. - Η ασυνέπεια μπορεί να αποφευχθεί (στην ουσία συνέπεια της προηγούμενης παρατήρησης). - Τα δεδομένα μπορούν να είναι κοινόχρηστα. - Μπορούν να επιβάλλονται πρότυπα. - Μπορούν να εφαρμόζονται περιορισμοί ασφάλειας. - Μπορεί να διατηρείται η ακεραιότητα. - Οι αντικρουόμενες απαιτήσεις μπορούν να εξισορροπούνται. Σελίδα 21 από 112

Βασικές Έννοιες Βάσεων Δεδομένων Ένα σύνολο διαφορετικών χαρακτηριστικών ξεχωρίζουν την προσέγγιση βάσεων δεδομένων από την παραδοσιακή προσέγγιση του προγραμματισμού με χρήση αρχείων. Στην κλασσική επεξεργασία αρχείων, κάθε χρήστης ορίζει και δημιουργεί τα αρχεία που χρειάζεται για μια συγκεκριμένη εφαρμογή. Ένας χρήστης, στη Γραμματεία για παράδειγμα, μπορεί να τηρεί, ένα αρχείο για τους φοιτητές και τους βαθμούς τους και να έχει κατασκευάσει προγράμματα για να τυπώνει αναλυτικές βαθμολογίες και να εισάγει νέους βαθμούς στο αρχείο. Ένας δεύτερος χρήστης, στο Λογιστήριο, μπορεί να παρακολουθεί τα δίδακτρα και τις πληρωμές των φοιτητών. Ενώ και οι δύο χρήστες ενδιαφέρονται για τα δεδομένα των φοιτητών, κάθε χρήστης τηρεί ξεχωριστά αρχεία -και προγράμματα για το χειρισμό τους- διότι ο καθένας απαιτεί κάποια δεδομένα που δεν είναι διαθέσιμα από τα αρχεία του άλλου. Αυτός ο πλεονασμός στον ορισμό και την αποθήκευση των δεδομένων έχει ως αποτέλεσμα να σπαταλάται αποθηκευτικός χώρος και να καταβάλλεται πρόσθετος κόπος για τη διατήρηση των κοινών δεδομένων σε ενημερωμένη μορφή. Στην προσέγγιση των βάσεων δεδομένων, διατηρείται ένας και μοναδικός ταμιευτήρας δεδομένων που ορίζεται μία φορά και στη συνέχεια προσπελάζεται από τους διάφορους χρήστες. Οι κύριες διαφορές της προσέγγισης βάσεων δεδομένων από την προσέγγιση επεξεργασίας αρχείων είναι οι ακόλουθες. Ένα θεμελιώδες χαρακτηριστικό της προσέγγισης βάσεων δεδομένων είναι το ότι ένα σύστημα βάσης δεδομένων δεν περιέχει μόνο την ίδια τη βάση αλλά και τον πλήρη ορισμό ή την περιγραφή αυτής. Αυτός ο ορισμός αποθηκεύεται στον κατάλογο του συστήματος, ο οποίος περιέχει πληροφορίες όπως η δομή κάθε αρχείου, ο τύπος και η μορφή αποθήκευσης κάθε στοιχειώδους δεδομένου και διάφοροι περιορισμοί επί των δεδομένων. Οι πληροφορίες που περιέχονται σε αυτόν τον κατάλογο λέγονται μετα-δεδομένα (meta-data) και περιγράφουν τη δομή της κυρίως βάσης. Ο κατάλογος χρησιμοποιείται από το λογισμικό του ΣΔΒΔ και περιστασιακά Σελίδα 22 από 112

Πτυχιακή Εργασία Χρήστου Μαλτέζου από τους χρήστες της βάσης δεδομένων που χρειάζονται πληροφορίες για τη δομή της βάσης. Στην παραδοσιακή επεξεργασία αρχείων, ο ορισμός των δεδομένων αποτελεί στην τυπική περίπτωση τμήμα των ίδιων των προγραμμάτων εφαρμογών. Στην τυπική περίπτωση μια βάση δεδομένων έχει πολλούς χρήστες, από τους οποίους κάθε ένας μπορεί να απαιτεί και μια διαφορετική προοπτική ή όψη της βάσης δεδομένων. Μια όψη μπορεί να είναι υποσύνολο της βάσης δεδομένων ή να περιέχει εικονικά δεδομένα που παράγονται από τα αρχεία της βάσης δεδομένων αλλά δεν αποθηκεύονται. Μερικοί χρήστες δεν έχουν ανάγκη να ξέρουν αν τα δεδομένα στα οποία αναφέρονται είναι αποθηκευμένα ή παραγόμενα. Ένα ΣΔΒΔ πολλαπλών χρηστών, του οποίου οι χρήστες χρησιμοποιούν μια ποικιλία εφαρμογών, πρέπει να παρέχει ευκολίες για τον ορισμό πολλαπλών όψεων. Ένα ΣΔΒΔ πολλών χρηστών πρέπει να επιτρέπει, όπως υπαινίσσεται και το όνομά του, σε πολλούς χρήστες να προσπελάζουν τη βάση δεδομένω κατά την ίδια χρονική στιγμή. Αυτό το χαρακτηριστικό αποκτά ουσιαστική σημασία αν πρόκειται δεδομένα από πολλαπλές εφαρμογές να ολοκληρωθούν και να συντηρούνται σε μια και μόνο βάση δεδομένων. Το ΣΔΒΔ πρέπει να περιλαμβάνει λογισμικό για έλεγχο ταυτόχρονης προσπέλασης που να εξασφαλίζει, στην περίπτωση που πολλοί χρήστες προσπαθούν να ενημερώσουν τα ίδια δεδομένα, ότι αυτό γίνεται κατά ελεγχόμενο τρόπο ώστε το αποτέλεσμα να είναι σωστό. Ένα παράδειγμα είναι η περίπτωση όπου υπάλληλοι κρατήσεων προσπαθούν να κρατήσουν μία θέση σε μία αεροπορική πτήση. Το ΣΔΒΔ πρέπει να εξασφαλίσει ότι κάθε θέση μπορεί σε κάθε στιγμή να την προσπελάσει μόνο ένας υπάλληλος για να την παραχωρήσει σε ένα επιβάτη. Αυτές οι εφαρμογές γενικά ονομάζονται εφαρμογές επεξεργασίας δοσοληψιών. Βασικός ρόλος του λογισμικού ενός ΣΔΒΔ πολλαπλών χρηστών είναι να εξασφαλίζει ότι οι ταυτόχρονες δοσοληψίες εκτελούνται σωστά χωρίς παρεμβολές. Σελίδα 23 από 112

Βασικές Έννοιες Βάσεων Δεδομένων Επιπλέον των όσων αναφέρθηκαν στην προηγούμενη ενότητα, άλλα αποτελέσματα της προσέγγισης με χρήση βάσεων δεδομένων μπορούν να ωφελήσουν τους περισσότερους οργανισμούς. Η προσέγγιση των βάσεων δεδομένων επιτρέπει στον ΔΒΔ να ορίσει και να επιβάλει πρότυπα στους χρήστες μιας βάσης δεδομένων σε ένα μεγάλο οργανισμό. Αυτό διευκολύνει την επικοινωνία και τη συνεργασία μεταξύ διαφόρων τμημάτων, προγραμμάτων και χρηστών μέσα στον οργανισμό. Πρότυπα μπορούν να οριστούν για τα ονόματα και τη μορφή στοιχείων δεδομένων, για τη μορφή της παρουσίασης, για δομές αναφορών, για την ορολογία κ.ο. κ. Ο ΔΒΔ μπορεί να επιβάλει πρότυπα πιο εύκολα σε ένα συγκεντρωτικό περιβάλλον από ότι σε ένα περιβάλλον όπου κάθε ομάδα χρηστών έχει τον έλεγχο των δικών της αρχείων και του λογισμικού. Ένα από τα κύρια και εμπορικότερα χαρακτηριστικά της προσέγγισης των βάσεων δεδομένων είναι ότι η ανάπτυξη μιας νέας εφαρμογής χρειάζεται πολύ λίγο χρόνο. Ο σχεδιασμός και η υλοποίηση μιας βάσης δεδομένων από την αρχή μπορεί να απαιτεί περισσότερο χρόνο από το να γραφτεί μια απλή εξειδικευμένη εφαρμογή αρχείων. Όμως, όταν μια βάση δεδομένων εγκατασταθεί και δουλεύει, ο χρόνος που απαιτείται για τη δημιουργία νέων εφαρμογών χρησιμοποιώντας τις δυνατότητες του ΣΔΒΔ είναι σημαντικά μικρότερος. Ο χρόνος ανάπτυξης με τη χρήση ενός ΣΔΒΔ υπολογίζεται ανάμεσα στο ένα έκτο και στο ένα τέταρτο του χρόνου με χρήση παραδοσιακών συστημάτων αρχείων. Μέσω ενός ΣΔΒΔ μια βάση δεδομένων είναι διαθέσιμη σε όλους τους χρήστες. Ευθύς μόλις μια ενημέρωση από ένα χρήστη καταγραφεί στη βάση δεδομένων, όλοι οι άλλοι χρήστες μπορούν αμέσως να δουν αυτή την ενημέρωση. Αυτή η διαθεσιμότητα ενημερωμένων πληροφοριών είναι ουσιώδης για πολλές εφαρμογές επεξεργασίας δοσοληψιών, όπως συστήματα κρατήσεων ή τραπεζικές βάσεις δεδομένων, και επιτυγχάνεται με τα υποσυστήματα ελέγχου συγχρονισμού και ανάκαμψης ενός ΣΔΒΔ. Σελίδα 24 από 112

Πτυχιακή Εργασία Χρήστου Μαλτέζου Η προσέγγιση των ΣΔΒΔ επιτρέπει την ενοποίηση δεδομένων και εφαρμογών, ελλατώνοντας έτσι τις άχρηστες επικαλύψεις μεταξύ δραστηριοτήτων του προσωπικού επεξεργασίας δεδομένων σε διάφορα προγράμματα ή τμήματα. Αυτό επιτρέπει σε όλο τον οργανισμό να επενδύσει σε πιο ισχυρούς επεξεργαστές, μονάδες αποθήκευσης ή εξοπλισμό επικοινωνιών, από το να αγοράζει κάθε τμήμα ανεξάρτητα το δικό του εξοπλισμό. Έτσι, ελαττώνεται το συνολικό κόστος λειτουργίας και διαχείρισης. 2.5. Πότε δεν πρέπει να χρησιμοποιείται ΣΔΒΔ Παρόλα αυτά τα πλεονεκτήματα, υπάρχουν μερικές περιπτώσεις όπου η χρήση ενός ΣΔΒΔ μπορεί να επιφέρει άσκοπο επιπλέον κόστος σε σύγκριση με την παραδοσιακή επεξεργασία αρχείων. Το επιπλέον κόστος χρήσης ενός ΣΔΒΔ οφείλεται στους κατωτέρω λόγους (Μανωλόπουλος Παπαδόπουλος, 2006): - Υψηλή αρχική επένδυση σε υλικό, λογισμικό και επιμόρφωση. - Η γενικότητα που προσφέρει ένα ΣΔΒΔ για τον ορισμό και την επεξεργασία δεδομένων. - Επιβαρύνσεις για την παροχή λειτουργιών ασφαλείας, ελέγχου συγχρονισμού, ανάκαμψης και ορθότητας. - Πρόσθετα προβλήματα μπορεί να εμφανιστούν αν οι σχεδιαστές της βάσης δεδομένων και ο ΔΒΔ δεν σχεδιάσουν σωστά τη βάση, ή αν οι εφαρμογές του συστήματος βάσης δεδομένων δεν υλοποιηθούν σωστά. Λόγω του επιπλέον κόστους χρήσης ενός ΣΔΒΔ και των ενδεχόμενων προβλημάτων κακής διαχείρισης, ίσως είναι προτιμότερο να χρησιμοποιηθούν συνηθισμένα αρχεία κάτω από τις ακόλουθες συνθήκες: - Η βάση δεδομένων και οι εφαρμογές είναι απλές, καλά ορισμένες και δεν αναμένεται να αλλάξουν. - Υπάρχουν πιεστικές απαιτήσεις λειτουργίας σε πραγματικό χρόνο για κάποια προγράμματα, οι οποίες ίσως δεν μπορέσουν να ικανοποιηθούν λόγω των επιβαρύνσεων του ΣΔΒΔ. Σελίδα 25 από 112

Βασικές Έννοιες Βάσεων Δεδομένων - Δεν απαιτείται προσπέλαση πολλών χρηστών στα δεδομένα. Σελίδα 26 από 112

Κεφάλαιο 3ο : Βασικές Έννοιες Ασφάλειας Δεδομένων 3.1. Εισαγωγικά Οι περισσότεροι επικεντρώνουν την προσοχή τους στους κινδύνους που αφορούν τη μυστικότητα των δεδομένων. Σε μεγάλο βαθμό το γεγονός αυτό είναι απόλυτα φυσιολογικό, καθώς πολλές εταιρείες διατηρούν στους υπολογιστές τα σημαντικότερα δεδομένα τους, όπως για παράδειγμα: Τα σχέδια των προϊόντων τους, οικονομικά αρχεία, αριθμούς πιστωτικών καρτών, πελατολόγιο, προσφορές. Η λύση στο πρόβλημα της μυστικότητας δείχνει απλή ειδικά για τις επιχειρήσεις που δεν απαιτείται να ανταλλάσσουν δεδομένα τους με άλλες επιχειρήσεις ή πελάτες μέσω Intemet. Απομονώνουν τα μηχανήματα που περιέχουν τα κρίσιμα δεδομένα από εκείνα που συνδέονται με το διαδίκτυο. Επομένως για αυτούς το πρόβλημα της ασφάλειας των βάσεων δεδομένων λύθηκε; Η απάντηση είναι όχι διότι δεν έχει αποκλειστεί ο κίνδυνος για τη διαθεσιμότητα και ακεραιότητα των δεδομένων. Ακόμη και αν τα δεδομένα μιας εταιρείας δεν είναι μυστικά είναι βέβαιο πως το πλήγμα της παραποίησης ή της καταστροφής τους, θα έχει σημαντικό κόστος τόσο οικονομικό όσο και γοήτρου. Τα περιστατικά που αφορούν την ασφάλεια των βάσεων δεδομένων διαφέρουν από τα τυπικά εγκλήματα γιατί η ανίχνευσή τους είναι δύσκολη. Σε πολλές περιπτώσεις μια βίαιη είσοδος στο πληροφοριακό σύστημα μπορεί να είναι προτιμότερη από μία εισβολή που δεν αφήνει ίχνη και επομένως δεν γνωρίζουμε τι ακριβώς "διαβάστηκε" ή "πειράχτηκε". Ένας εισβολέας εκτός από την κλοπή, παραποίηση ή καταστροφή των δεδομένων έχει τη δυνατότητα να χρησιμοποιήσει το συγκεκριμένο σύστημα και να εμφανιστεί στο διαδίκτυο με τη δική μας ταυτότητα, να χρησιμοποιήσει το λογισμικό μας ή ακόμη και να καταστρέψει ολόκληρο ή μέρος του συστήματος μας. Πέρα απο την πιθανότητα καταστροφής που η σημασία της είναι προφανής, η ενδεχόμενη χρήση του συστήματός μας - Σελίδα 27 από 112

Βασικές Έννοιες Ασφάλειας Δεδομένων χωρίς ασφαλώς την έγκρισή μας-κρύβει εξίσου σημαντικούς κινδύνους. Από τον κίνδυνο να μην μπορούμε να χρησιμοποιήσουμε εμείς το σύστημα μέχρι τον κίνδυνο να θεωρηθούμε υπεύθυνοι για τις πράξεις του εισβολέα στο internet, που γίνονται με τη δική μας ταυτότητα. (Για παράδειγμα, μπορεί να μην χρησιμοποιούμε το αυτοκίνητό μας από τα μεσάνυχτα μέχρι τις 6π.μ., αυτό όμως δεν σημαίνει ότι θα χαιρόμασταν να ξέρουμε πως κρυφά κάποιος το χρησιμοποιεί έστω και εκείνες μόνο τις ώρες). (Κολοκοτρώνης Δ.,2005) 3.2. Βασικές αρχές ασφάλειας δεδομένων Γενικότερα, τα δεδομένα που δημιουργούνται ή διακινούνται κατά τη διεξαγωγή μιας ηλεκτρονικής συναλλαγής σχετίζονται άμεσα με τους εμπλεκόμενους στη συναλλαγή και θα πρέπει να διασφαλιστούν απέναντι σε όλους τους πιθανούς κινδύνους, όπως υποκλοπή, αλλοίωση, ανεπιθύμητη κοινοποίηση σε τρίτους κλπ. Για το σκοπό αυτό απαιτείται η δημιουργία ενός περιβάλλοντος ηλεκτρονικών συναλλαγών, το οποίο, επιπλέον της ασφάλειας των συστημάτων, θα δίνει έμφαση στην ασφάλεια των ίδιων των δεδομένων και θα διασφαλίζει τις εξής βασικές αρχές (Μανωλόπουλος Παπαδόπουλος, 2006): 1. Επιβεβαίωση ταυτότητας (authentication), ώστε να αποδεικνύεται η ταυτότητα ενός ατόμου ή μιας εφαρμογής λογισμικού ή ενός μηχανήματος (π.χ. server) 2. Εμπιστευτικότητα (confidentiality), ώστε να εξασφαλίζεται ο ιδιωτικός χαρακτήρας της πληροφορίας. 3. Ακεραιότητα (integrity), ώστε να βεβαιώνεται ότι η πληροφορία δεν έχει αλλοιωθεί κατά την μετάδοσή της. 4. Μη αποκήρυξη (non-repudiation), ώστε να αποκλειστεί το ενδεχόμενο κάποιος από τους συμμετέχοντες σε μια συναλλαγή να αρνηθεί εκ των υστέρων την εμπλοκή του σ' αυτήν ή τα αποτελέσματά της. Με βάση τα σημερινά τεχνολογικά δεδομένα, η πλήρης διασφάλιση των πιο πάνω βασικών αρχών είναι δυνατόν να επιτευχθεί μόνο με τη Σελίδα 28 από 112

Πτυχιακή Εργασία Χρήστου Μαλτέζου χρήση της κρυπτογραφίας, η οποία επιπλέον θα πρέπει να συνδυάζεται με πολιτικές ασφάλειας, που να καθορίζουν τους κανόνες με τους οποίους λειτουργεί ένα σύστημα κρυπτογράφησης, προϊόντα (software και hardware) τα οποία να επιτρέπουν την δημιουργία, αποθήκευση και διαχείριση των κλειδιών ασφαλείας, που θα χρησιμοποιούνται κατά την κρυπτογράφηση / αποκρυπτογράφηση και τέλος, διαδικασίες που να περιγράφουν τους τρόπους δημιουργίας, διανομής και χρήσης των κλειδιών ασφαλείας. Η σύγχρονη προσέγγιση στις παραπάνω απαιτήσεις είναι γνωστή με τον όρο Συστήματα Υποδομής Δημοσίου Κλειδιού (Public Key Infrastructure Systems-Συστήματα PKI), τα οποία ενσωματώνουν ως αναπόσπαστο τμήμα τους και διάφορες τεχνικές κρυπτογραφίας και επιτρέπουν την ασφαλή διεξαγωγή των εμπορικών συναλλαγών μέσω του Internet, επιτυγχάνοντας την τήρηση των τεσσάρων βασικών αρχών που προαναφέρθηκαν. Πιο συγκεκριμένα και σε σχέση με τις τέσσερις βασικές αρχές, ένα σύστημα ΡΚΙ λειτουργεί ως εξής: - Επιβεβαίωση ταυτότητας (authentication) Η επιβεβαίωση ταυτότητας σε ένα ηλεκτρονικό σύστημα είναι απαραίτητη, προκειμένου η πρόσβαση σ' αυτό να επιτρέπεται μόνος σε όσους μπορούν να παράσχουν τα σχετικά διαπιστευτήρια. Στα περισσότερα συστήματα η επιβεβαίωση ταυτότητας διεκπεραιώνεται με τη χρήση ενός κωδικού χρήστη και ενός συνθηματικού (password), τεχνική η οποία παρουσιάζει πλήθος αδυναμιών από πλευράς ασφάλειας. Σε ένα περιβάλλον ΡΚΙ, για την επιβεβαίωση ταυτότητας χρησιμοποιούνται τα «ψηφιακά πιστοποιητικά» (ή ψηφιακές ταυτότητες). Τα συνηθέστερα σημείας αποθήκευσης ενός ψηφιακού πιστοποιητικού είναι είτε ο μαγνητικός δίσκος του υπολογιστή του χρήστη, είτε μια ειδική κάρτα (έξυπνη κάρτα) μικρού μεγέθους, που ο χρήστης έχει πάντα μαζί του. Με ψηφιακά πιστοποιητικά εξάλλου εφοδιάζονται όχι μόνο τα φυσικά πρόσωπα, αλλά και ορισμένα μηχανήματα, π.χ. ο web server μιας Σελίδα 29 από 112

Βασικές Έννοιες Ασφάλειας Δεδομένων επιχείρησης, ώστε να μπορεί να "αποδείξε"» στον εν δυνάμει χρήστη που τον έχει επισκεφθεί μέσω του Internet ότι πράγματι εκπροσωπεί μια συγκεκριμένη εταιρεία και έχει κατά συνέπεια το δικαίωμα να προβαίνει σε νόμιμες ηλεκτρονικές συναλλαγές (πωλήσεις κλπ.). - Εμπιστευτικότητα (confidentiality) Βασικό χαρακτηριστικό μιας ασφαλούς συναλλαγής μεταξύ δύο μερών είναι το περιεχόμενό της να παραμείνει μυστικό και απροσπέλαστο για οποιονδήποτε τρίτο. Τα προς προστασία δεδομένα μπορεί να αφορούν επιχειρηματικά σχέδια, οικονομικές συναλλαγές, πνευματική ιδιοκτησίας, εμπιστευτικές πληροφορίες σχετικές με το πρόσωπο κλπ. Ένα σύστημα ΡΚΙ χρησιμοποιεί διαδικασίες κρυπτογράφησης και αποκρυπτογράφησης, στηριζόμενες σε κατάλληλα «κλειδιά», προκειμένου να κρατήσει τα ευαίσθητα δεδομένα προστατευμένα από κάθε ανεπιθύμητη πρόσβαση. Έτσι ακόμη και αν τα δεδομένα υποκλαπούν, θα είναι εξαιρετικά δύσκολο έως αδύνατο να αξιοποιηθούν, διότι θα πρέπει προηγουμένως να αποκρυπτογραφηθούν. - Ακεραιότητα δεδομένων (data integrity) Η αρχή αυτή διασφαλίζει ότι τα δεδομένα που έφθασαν στον παραλήπτη ενός μηνύματος είναι τα ίδια με αυτά που απέστειλε ο αποστολέας και δεν έχουν αλλοιωθεί καθ' οδόν. Η σημασία της ακεραιότητας των δεδομένων μιας ηλεκτρονικής συναλλαγής γίνεται εύκολα αντιληπτή αν σκεφθεί κανείς το παράδειγμα μιας ηλεκτρονικά μεταδιδόμενης οικονομικής προσφοράς για 1.000 μονάδες ενός συγκεκριμένου είδους, προς 5 ευρώ ανά μονάδα. Αν η τιμή μονάδας αλλοιωθεί σε 50 ευρώ, τότε αμφισβητείται η ίδια η υπόσταση της προσφοράς. Ένα σύστημα ΡΚΙ χρησιμοποιεί τους λεγόμενους αλγόριθμους κατατεμαχισμού και την έννοια του "αποτυπώματος" ενός μηνύματος, σε συνδυασμό με ψηφιακές υπογραφές, προκειμένου να επιτρέψει στον παραλήπτη να βεβαιωθεί ότι το μήνυμα δεν έχει αλλοιωθεί ούτε κατ' ελάχιστον σε σχέση με αυτό που Σελίδα 30 από 112

Πτυχιακή Εργασία Χρήστου Μαλτέζου πράγματι απέστειλε ο αποστολέας. Ακόμη και στην περίπτωση που δεν υφίσταται κίνδυνος κακόβουλης ενέργειας εκ μέρους τρίτων, η βεβαιότητα για την ακρίβεια και την πληρότητα ενός ηλεκτρονικού μηνύματος είναι σημαντική. - Μη αποκήρυξη (non-repudiation) Η αρχή της μη αποκήρυξης σημαίνει ότι εάν προκύψει διαφωνία ή αμφισβήτηση σχετικά με τη διεξαγωγή μιας ηλεκτρονικής συναλλαγής, υπάρχουν διαθέσιμα, αδιάψευστα αποδεικτικά στοιχεία, τα οποία μπορούν να χρησιμοποιηθούν από ένα τρίτο ουδέτερο μέρος, προκειμένου να διαπιστωθεί τι ακριβώς έχει συμβεί. Πρόκειται ουσιαστικά για το συνδυασμό "επιβεβαίωση ταυτότητας- ακεραιότητα δεδομένων, ο οποίος παρέχει στον παραλήπτη την βεβαιότητα ότι ο αποστολέας δεν θα μπορέσει να αρνηθεί (ψευδώς) ότι έχει δημιουργήσει, υπογράψει και αποστείλει ένα ηλεκτρονικό έγγραφο ή έχει συμμετάσχει σε μια συναλλαγή. Αυτό είναι ιδιαίτερα σημαντικό σε οικονομικές ιδίως συναλλαγές, όπου το ένα από τα δυο μέρη θα μπορούσε πιθανόν να αρνηθεί την πληρωμή π.χ. ενός λογαριασμού για παροχή υπηρεσιών, με τον ισχυρισμό ότι οι σχετικές υπηρεσίες δεν είχαν ποτέ ζητηθεί. Σε ένα περιβάλλον ΡΚΙ, η μη αποκήρυξη χρησιμοποιεί μεν την έννοια των ψηφιακών υπογραφών, προϋποθέτει όμως και ένα γενικότερο πλαίσιο λειτουργίας που καθορίζεται από συγκεκριμένες πολιτικές και διαδικασίες. Φυσικά, σημαντικό ρόλο παίζει στην περίπτωση αυτή και το ισχύον κάθε φορά νομικό πλαίσιο, το οποίο θα πρέπει να ληφθεί σοβαρά υπ'όψη. 3.3. Εχθροί και τρόποι άμυνας Βασικό τμήμα του σχεδιασμού ενός συστήματος ασφαλείας αποτελεί να εξακριβώσουμε τι επίπεδο ασφάλειας χρειάζεται και ποιές απειλές θα κληθεί να αντιμετωπίσει. Η επιλογή των μέτρων προστασίας γίνεται λαμβάνοντας υπόψη τι κόστος (οικονομικό, απόδοσης ή ενόχλησης λόγω της παρουσίας τους) έχουν για την εταιρεία. Σελίδα 31 από 112

Βασικές Έννοιες Ασφάλειας Δεδομένων Το πρώτο λοιπόν, βήμα είναι να εντοπίσουμε τον εχθρό. Συνήθως οι άνθρωποι επικεντρώνονται στο είδος της επίθεσης ξεχνώντας ότι οι επιθέσεις είναι τα εργαλεία. Για παράδειγμα, ένας αποφασισμένος εισβολέας θα επιμείνει πολύ περισσότερο από ένα τυπικό εισβολέα. Έτσι, παρόλο που θα χρησιμοποιηθούν τα ίδια είδη επίθεσης, η επιμονή μπορεί να είναι αυτή που θα αποβεί καταλυτική για την επιτυχία ή μη της επίθεσης. Για το λόγο αυτό είναι σημαντικό να έχουμε προσδιορίσει: - Ποιοί είναι οι εχθροί μας. - Ποιές είναι οι προθέσεις τους - Ποιά είναι τα μέσα τους Οι εν δυνάμει εχθροί ενός πληροφοριακού συστήματος κατηγοριοποιούνται στις ακόλουθες ομάδες (Κολοκοτρώνης Δ.,2005): - Hackers - Crackers Είναι οι "αναρχικοί" του κυβερνοχώρου που εισβάλουν στα πληροφοριακά συστήματα είτε για διασκέδαση, είτε για να καταστρέψουν, είτε για επίδειξη. Τους ελκύουν όλοι οι απαγορευμένοι χώροι. Πολλές εταιρείες συνηθίζουν να προσλαμβάνουν άτομα που εισέβαλαν στα συστήματά τους με τη λογική "Καλύτερα να δουλεύουν για μας παρά εναντίον μας". Άλλωστε αυτοί που παραβίασαν ένα σύστημα ασφαλείας ξέρουν καλύτερα από τον καθένα που μειονεκτεί και μπορούν να το βελτιώσουν. - Κλέφτες Είναι όλοι αυτοί που εισβάλουν σε ένα σύστημα έχοντας ως στόχο την κλοπή δεδομένων που θα τους αποφέρει οικονομικά οφέλη είτε χρησιμοποιώντας τα, είτε πουλώντας τα. - Ανταγωνιστές Ένας ανταγωνιστής συνήθως, δεν εισβάλει για να κλέψει χρήματα, ούτε για να καταστρέψει αλλά για να αποκτήσει πληροφορίες που Σελίδα 32 από 112

Πτυχιακή Εργασία Χρήστου Μαλτέζου είναι πόλεμο. σημαντικές προκειμένου να κυριαρχήσει στον "επιχειρηματικό - Εσωτερικοί εχθροί Δυσαρεστημένοι, αποξενωμένοι και άπληστοι υπάλληλοι μπορούν να αποτελέσουν ένα ιδιαίτερα σοβαρό εκ των έσω κίνδυνο για τις βάσεις δεδομένων μιας εταιρείας. - Ατυχήματα Πολλές καταστροφές δεν είναι αποτέλεσμα πρόθεσης ούτε οργανωμένης επίθεσης, αλλά πρόκειται για ατυχήματα ή λάθη από αφέλεια. Δεν είναι καθόλου ασυνήθιστο γεγονός εταιρείες να καταστρέφουν από μόνες τους τις βάσεις δεδομένων τους, ή να τις απελευθερώνουν στο internet κατά λάθος. Έχοντας γνωρίσει τους πιθανούς εισβολείς ενός συστήματος, εν συνεχεία, περιγράφουμε τους τρόπους που έχουν οι crackers για να αποκτούν παράνομη ή έστω παράτυπη πρόσβαση σε υπολογιστικά συστήματα, τα εργαλεία που χρησιμοποιούν για να κερδίζουν τον έλεγχο σε υπολογιστές, καθώς και τις διαθέσιμες τεχνικές στις οποίες καταφεύγουν για να προκαλούν ζημιές ή να «γονατίζουν» ένα σύστημα, ανεξαρτήτως της ισχύος του. Στο ξεχωριστό κείμενο στο τέλος της ενότητας περιέχετε ένα σύντομο γλωσσάρι με τεχνικούς όρους, η γνώση των οποίων βοηθά στην καλύτερη κατανόηση όσων ακολουθούν. Εξάλλου, αν και επικρατεί η αντίληψη ότι οι crackers είναι άνθρωποι με υψηλό επίπεδο τεχνογνωσίας, καθώς και με άπειρα αποθέματα υπομονής και επιμονής, δυστυχώς διαπιστώνουμε ότι οι αρετές αυτές δεν είναι απαραίτητη προϋπόθεση για να μπορέσει κάποιος να μας προκαλέσει πονοκεφάλους ακόμα και ζημιές. 3.4. Τύποι επιθέσεων Μία από τις πλέον διάσημες και αποτελεσματικές μεθόδους που χρησιμοποιούν οι crackers για να θέτουν εκτός λειτουργίας δικτυωμένους Σελίδα 33 από 112

Βασικές Έννοιες Ασφάλειας Δεδομένων υπολογιστές είναι οι επιθέσεις DoS (Denial of Service attacks). Το όνομα της τεχνικής (άρνηση εξυπηρέτησης) οφείλεται στο γεγονός ότι ο υπολογιστής-θύμα για ένα χρονικό διάστημα δεν είναι σε θέση να εξυπηρετεί αιτήσεις μηχανημάτων-πελατών (clients), εξαιτίας του τεράστιου πλήθους κίβδηλων αιτήσεων (bogus requests) που δέχεται από τον επιτιθέμενο. Υπάρχουν διάφορα είδη επιθέσεων DoS, πολλά από τα οποία εκμεταλλεύονται εγγενείς αδυναμίες του ζεύγους πρωτοκόλλων TCP/IP. Για τα περισσότερα από αυτά είναι ήδη γνωστά τα αντίστοιχα μέτρα προστασίας. Συγκεκριμένα, οι διαχειριστές συστημάτων μπορούν να εγκαθιστούν patches σε λειτουργικά συστήματα και προγράμματα - διακομιστές, ώστε να αποτρέπουν επιθέσεις DoS ή να ελαχιστοποιούν τις συνέπειές τους. Όπως, όμως, συμβαίνει και με τους ιούς υπολογιστών, κατά καιρούς εφευρίσκονται νέα είδη ή παραλλαγές επιθέσεων DoS. Παραθέτουμε εν συντομία τέσσερις από τις διασημότερες παραλλαγές, σε αλφαβητική σειρά. - Ping of death Αίτηση PING ή, αλλιώς, αίτηση ICMP, προς τον υπολογιστή-στόχο, με άκυρο μέγεθος πακέτου στην κεφαλή (header) του τελευταίου (πάνω από 64Kb). Τέτοια «παράτυπα» πακέτα μπορούν να «κρεμάσουν» υπολογιστές που τρέχουν λειτουργικά συστήματα ανίκανα να τα μεταχειριστούν. (Κολοκοτρώνης Δ.,2005) - Smurf Attack Επιτυγχάνεται αποστέλλοντας αιτήσεις ICMP σε μια διεύθυνση εκπομπής (broadcast address) στο υπό επίθεση δίκτυο ή σε κάποιο άλλο, ενδιάμεσο. Η διεύθυνση επιστροφής (return address) των πακέτων ICMP πλαστογραφείται, ώστε να είναι ίδια με αυτήν του υπολογιστή-στόχου. Από τη στιγμή που μια διεύθυνση εκπομπής αντιστοιχεί σε όλα τα μηχανήματα ενός υποδικτύου, λειτουργεί ενισχυτικά, δημιουργώντας από Σελίδα 34 από 112