Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Ακαδημαϊκό Έτος Εξάμηνο: Δ’ Ασφάλεια Υπολογιστών και Προστασία Δεδομένων Ενότητα Δ: Έλεγχος Πρόσβασης Συστήματος & Το Μοντέλο Ασφάλειας των Windows Εμμανουήλ Μάγκος
1. Ασφάλεια Συστήματος (Γενικά)
Στόχοι Ασφάλειας Εμπιστευτικότητα (Confidentiality) Πώς αποτρέπουμε την μη εξουσιοδοτημένη ανάγνωση των δεδομένων Ακεραιότητα (Integrity), π.χ. a) Δεδομένων : Αποτροπή μη εξουσιοδοτημένης εγγραφή στα δεδομένα Αναβαθμίζεται ως πρωτεύουσα, κυρίως λόγω Ηλ. Εμπορίου b) Εφαρμογών (software integrity): Πώς θα αποτρέψουμε την τροποποίηση του (ή, εγγραφή στον) κώδικα ενός προγράμματος .. π.χ. ως αποτέλεσμα επίθεσης κακόβουλου λογισμικού Διαθεσιμότητα (Availability) Αδιάλειπτη παροχή υπηρεσίας σε εξουσιοδοτημένους χρήστες.. •Confidentiality •Availability •Integrity
Μοντέλο Ελέγχου Πρόσβασης *
Σχεδιάζοντας την ασφάλεια…; Κρίσιμες Ερωτήσεις… Σε ποιο επίπεδο ενσωματώνουμε μηχανισμούς ασφάλειας; Τυπικά, όσο πιο χαμηλό είναι το επίπεδο τόσο το καλύτερο… Λογισμικό Εφαρμογών Λειτουργικό Σύστημα Υλικό Δεδομένα Συχνά είναι δυνατόν να παραβιάσουμε την ασφάλεια ενός επιπέδου, εξαπολύοντας επίθεση στο αμέσως χαμηλότερο..
Ασφάλεια Συστημάτων Η/Υ Τυπικά, εξετάζουμε την ασφάλεια των συστημάτων ως προς: 1... την ασφάλεια του Λ.Σ. του Η/Υ π.χ. εκμετάλλευση ευπάθειας του Λ.Σ. για πρόσβαση σε δεδομένα 2. … την ασφάλεια του λογισμικού εφαρμογών του Η/Υ π.χ. εκμετάλλευση ευπάθειας στην εφαρμογή που εκτελείται, για πρόσβαση σε δεδομένα Περίπτωσεις: Υπερχείλιση Καταχωρητή, SQL injection, XSS attacks, …
Ασφάλεια Συστημάτων Η/Υ Ευπάθειες Λογισμικού Εφαρμογών
Το Λ.Σ. αποτελεί τον «ακρογωνιαίο λίθο» της σχεδίασης και της ασφαλούς λειτουργίας κάθε Υπολογιστή, και κατ’ επέκταση κάθε Πληροφοριακού Συστήματος (Π.Σ). Απειλές έναντι της Ασφάλειας ενός Λ.Σ. Υποβάθμιση ή διακοπή λειτουργίας Λ.Σ. προσωρινά ή μόνιμα Προσπέλαση σε διαβαθμισμένα δεδομένα τα οποία τηρούνται σε προστατευμένη περιοχή Τροποποίηση δεδομένων από μη εξουσιοδοτημένους χρήστες. Αντικείμενα που απαιτούν προστασία Σύστημα αρχείων, Βιβλιοθήκες, system services, Μνήμη, Μητρώο (Registry), Πυρήνας (Kernel),… Ασφάλεια Υπολογιστών & Λειτουργικά Συστήματα
2. To Μοντέλο Ασφάλειας των Windows
Η ασφάλεια των Windows μV (μετά Vista εποχή) Βασικές διαφορές με τα XP 1. User Account Control (UAC): Εκτέλεση εφαρμογών χρηστών με μειωμένα προνόμια Αρχή ελάχιστου προνομίου (least privilege principle) 2. Mandatory Integrity Control Επίπεδα ακεραιότητας σε υποκείμενα & αντικείμενα Αλλά και: 3. Bitlocker drive encryption Κρυπτογράφηση δεδομένων 4. Virtualization Εφ/γές: νομίζουν πως χρησιμο- ποιούν sys-global locations 4. Προστασία Μνήμης
Windows: Έλεγχος Πρόσβασης σε Αντικείμενα Υποκείμενα (Subjects και Principals) Ονοματολογία A. Human-readable principal=MACHINE\principal B. Machine-readable Security Identifier (SID) Security Identifier (SID) Οντότητες (Principals) Τοπικός χρήστης (local user) Χρήστης Τομέα (domain) Ομάδες (groups) Η/Υ Υποκείμενα (Subjects) Διεργασίες & Νήματα Πληροφορίες: Μητρώο (\HKEY_USERS), profile χρηστών (\Documents and Settings)
Windows: Groups (Ομάδες)
Windows: Έλεγχος Πρόσβασης σε Αντικείμενα Αντικείμενα (Objects) Windows Objects Διεργασίες, νήματα, Αρχεία, κλειδιά μητρώου, συσκευές, θύρες I/O, περιοχές μνήμης, κόμβοι δικτύου…
Windows: Έλεγχος Πρόσβασης σε Αντικείμενα (Εξουσιοδότηση - Authorization) A. Ποιο είναι το security context του υποκειμένου; 1. Ποιο είναι το ID της οντότητας; Security Identifiers (SIDs) 2. Σε ποιες ομάδες ανήκει και τι προνόμια έχει; Group(s), privileges B. Τι είδους πρόσβαση ζητείται; Μάσκα πρόσβασης (access mask) C. Ποιο το security descriptor του αντικειμένου; 1. Τι λέει η ACL του αντικειμένου Τι είδους πρόσβαση και σε ποιόν
Windows: Έλεγχος Πρόσβασης σε Αντικείμενα (Εξουσιοδότηση - Authorization) Έλεγχος πρόσβασης σε αντικείμενα 1. DAC (Discretionary Access Control): Οι ιδιοκτήτες καθορίζουν ποιος έχει τι είδους πρόσβαση 2. Privileged Access Control: Πρόσβαση βάσει προνομίων 3. Mandatory Integrity Control: Πρόσβαση βάσει επιπέδων ακεραιότητας (integrity levels)
Windows: Έλεγχος Πρόσβασης σε Αντικείμενα (Εξουσιοδότηση - Authorization) 1.DAC (Discretionary Access Control) Ο ιδιοκτήτης ενός πόρου καθορίζει ποιος έχει τι είδους πρόσβαση Σύγκριση security context υποκειμένου με security descriptor (Access Control Lists - ACLs) αντικειμένου
Windows: Access tokens & Security Descriptors ~Access token (subject’s view) Access Control List (object’s view)
Windows: Access tokens & Security Descriptors Access token (subject’s view) Security Descriptor (object’s view)
Δικαιώματα Πρόσβασης (Permissions) Access Masks
Δικαιώματα Πρόσβασης (Permissions) Standard, Specific & Generic access rights *
DACL: Μία λίστα από ACEs
Format μιας ACE
ACE inheritance
DACL: Αλγόριθμος Απόφασης Εκτελείται από: Security Reference Monitor (SRM) Είσοδος στον αλγόριθμο 1. Subject’s access token 2. Οbject ACL, 3. Requested_access_mask 4. GrantedAccess 0 Έξοδος του αλγορίθμου Decision =(GrantedAccess == Requested_Access_Mask)
ΑΛΓΟΡΙΘΜΟΣ ΠΡΟΣΒΑΣΗΣ 1. Αν το token αναφέρει τον ιδιοκτήτη του αντικειμένου Δίνονται τα δικαιώματα READ_CONTROL, και WRITE_DAC Αν τα δικαιώματα αρκούν, η πρόσβαση επιτρέπεται, έξοδος 2. Για κάθε ACE, σύγκριση του SID της ACE με SID υποκειμένου a. Το SID της ACE δεν ταιριάζει με το SID στο token SKIP b. Τα SIDs ταιριάζουν, η ACE είναι τύπου Access-denied το access mask της ACE αφαιρείται από GrantedAccess (& δεν θα εξεταστεί ποτέ ξανά) c. Τα SIDs ταιριάζουν, η ACE είναι τύπου allow το access mask της ACE προστίθεται στην GrantedAccess. d. Αν η GrantedAccess περιέχει όλα τα δικαιώματα της requested access mask η πρόσβαση επιτρέπεται, Έξοδος 3. Αν η DACL τέλειωσε και Requested_access_mask <> GrantedAccess, η πρόσβαση απαγορεύεται
DACL: Η σημασία της σειράς στα ACEs
DACL Specific>Generic
Windows: Έλεγχος Πρόσβασης σε Αντικείμενα (Εξουσιοδότηση - Authorization) 2.Privileged Access Control: A. Χρήση όταν η DAC δεν είναι αρκετή Case: Αν o υπάλληλος παραιτηθεί, πώς ο admin αποκτά πρόσβαση σε προστατευμένα αντικείμενα; B. Ορισμένες λειτουργίες δεν απαι- τούν αλληλεπίδραση με αντικείμενα, ωστόσο σχετίζονται με λογαριασμό Παράκαμψη ασφάλειας για backup τερματισμός Η/Υ, αλλαγή ώρας,.. Προνόμιο: το δικαίωμα ενός λογαριασμού να επιτελέσει μια λειτουργία συστήματος
Access token: Privileges (Προνόμια) Windows XP, SP2
Windows: Έλεγχος Πρόσβασης σε Αντικείμενα (Εξουσιοδότηση - Authorization) 3.Mandatory Integrity Control (MIC) Περίπτωση: διάκριση μεταξύ 1. Service, που εκτελείται αφού η Alice κάνει logon στο σύστημα, 2. Άγνωστη εφαρμογή, που η Alice “κατέβασε” από το Internet Λύση: Το security context ενός υποκειμένου, εμπλουτίζεται με ένα επιπλέον χαρακτηριστικό: Το επίπεδο ακεραιότητας (Integrity level) Υλοποίηση της αρχής least privilege
Mandatory Integrity Control (MIC) Επίπεδα ακεραιότητας (Integrity Levels)
Mandatory Integrity Control (MIC) Access token (with integrity levels) Το security context μιας διεργασίας πλέον περιλαμβάνει: Στοιχεία Χρήστη (username & SID) Ομάδες (Groups), Προνόμια (Privileges) + Επίπεδο ακεραιότητας (Integrity level)
Mandatory Integrity Control (MIC) Επίπεδα ακεραιότητας (Integrity Levels) Κάθε διεργασία-παιδί «κληρονομεί» το token (άρα & το level) του γονέα. Aλλά: 1. Αν αποκτά πρόσβαση σε αντι- κείμενο χαμηλότερου level, υποβαθμίζεται στο level αυτό 2. Ο γονέας μπορεί να δημιουργήσει διεργασίες με, κατώτερο level
Mandatory Integrity Control (MIC) Επίπεδα ακεραιότητας (Integrity Levels)
Mandatory Integrity Control (MIC) Restricted tokens Ένα restricted token είναι αντίγραφο ενός token, με αλλαγές όπως: 1. Αφαίρεση προνομίων από την περιοχή προνομίων 2. Μείωση του integrity level 3. Απόδοση του attribute “deny- only” στο Administrator SID ή σε άλλα Group SIDsdeny- only 4. Πρόσθεση ενός restricted SID στο token
Restricted token H διεργασία έχει πρόσβαση, ανν το SID της και το restricted SID έχουν πρόσβαση Σενάριο: Μία διεργασία με restricted token ζητάει read access σε 3 διαφορετικά αντικείμενα
Mandatory Integrity Control (MIC) Restricted tokens
Mandatory Integrity Control (MIC) Case: Protected Mode IE (PMIE)
Mandatory Integrity Control (MIC) Πολιτικές Ακεραιότητας (Integrity Policies)
Στο security descriptor (ACL) ενός αντικειμένου, εκτός από το integrity level, αποθηκεύεται & ένα mandatory label policy Τι προστασία παρέχεται στο αντικείμενο βάσει του integrity level; Mandatory Integrity Control (MIC) Πολιτικές Ακεραιότητας (Integrity Policies)
Windows: Έλεγχος Πρόσβασης σε Αντικείμενα (Εξουσιοδότηση - Authorization) Για την πρόσβαση διενεργούνται δύο έλεγχοι, με την εξής σειρά: 1. Mandatory integrity check To integrity level του υποκειμένου δικαιολογεί την πρόσβαση; Εξετάζονται: τα integrity level και το mandatory policy του αντικειμένου 2. Discretionary access check Τι είδους πρόσβαση έχει ο συγκεκριμένος λογαριασμός
Ασφάλεια Windows – Άλλα Θέματα Virtualization Πολλές εφαρμογές (προ Vista) αρέσκονταν να γράφουν σε system-global τοποθεσίες, π.χ. %ProgramFiles% και HKEY_ LOCAL_MACHINE\Software … αντί για τα: %AppData% και HKEY_ CURRENT_USER\Software Virtualization: οι εφαρμογές νομίζουν ότι χρησιμοποιούν system-global locations File system virtualization Registry virtualization
Registry Virtualization
User Account Control (UAC) Elevation (Admin Approval Mode - AAM) Σκοπός 1. Ο Admin εκτελεί εφαρμογές ως standard user 2. Όταν απαιτούνται δικαιώματα admin, δεν απαιτείται υποβο- λή username & password Μηχανισμός AAM Κατά τη σύνδεση, δημιουργία δύο tokens: Ένα, με δικαιώματα standard user & ένα, με δικαιώματα administrator Consent elevation
User Account Control (UAC) Elevation (Admin Approval Mode - AAM)
Elevation (Admin Approval Mode - AAM)
Windows component digitally signed by Microsoft Windows component digitally signed by someone other than Microsoft Unsigned components
Ασφάλεια Windows – Άλλα Θέματα Έλεγχοι Ασφάλειας (Security Auditing)
Στοιχεία ασφάλειας στα Windows Security Reference Monitor SRM: Ασχολείται με: 1. Επιβολή πολιτικών ασφάλειας 2. Έλεγχο δικαιωμάτων για πρόσβαση σε αντικείμενα 3. Θέματα προνομίων (user rights) 4. Δημιουργία εγγραφών ελέγχου (audit messages) πρόσβασης 5. …
Στοιχεία ασφάλειας στα Windows Local Security Authority Subsystem Service LSASS.exe - Ασχολείται με: 1. Τοπικές πολιτικές Ποιοι χρήστες επιτρέπεται να συνδεθούν στον Η/Υ Δημιουργία access tokens χρηστών & διεργασιών Πολιτικές κωδικών & ελέγχου 2. Αυθεντικοποίηση χρήστη Σύγκριση name & pswd με αποθηκευμένες τιμές (πχ. SAM) 3. Εγγραφή μην/των ελέγχου στα αρχεία καταγραφής
Στοιχεία ασφάλειας στα Windows Lsass Policy Database LSASS policy database- Μια ΒΔ που περιέχει, εκτός των άλλων: Τις τοπικές ρυθμίσεις ασφάλειας του συστήματος Ποιος επιτρέπεται να αποκτήσει πρόσβαση στο σύστημα & με ποιόν τρόπο π.χ. interactive, network Σε ποιόν εκχωρούνται ποια προνόμια Τι είδους έλεγχοι (audits) εφαρμόζονται
Στοιχεία ασφάλειας στα Windows Security Accounts Manager (SAM) Database SAM database- Μια ΒΔ που περιέχει: Τους τοπικούς χρήστες & ομάδες του συστήματος Τa SIDs & κωδικούς των χρηστών Άλλα χαρακτηριστικά (attributes): π.χ. επιτρε- πόμενες ώρες σύνδεσης
Στοιχεία ασφάλειας στα Windows Winlogon.exe (Interactive logon manager): Η υπεύθυνη διεργασία για την είσοδο στο σύστημα Ανταπόκριση στο συνδυασμό πλήκτρων SAS (π.χ. Win+L) Trusted path Διαχείριση συνόδων interactive logon Τοπικά, ή σε Τομέα
Στοιχεία ασφάλειας στα Windows Netlogon (Network logon service): Εδραίωση ασφαλούς καναλιού με ένα ελεγκτή τομέα (domain controller)
Ασφάλεια Windows – Άλλα Θέματα Bitlocker Drive Encryption Προστασία δεδομένων, ακόμα & έναντι παραβίασης της φυσικής ασφάλειας του συστήματος Scenario: The Lost Laptop ! Πιθανή λύση A NTFS: Encrypting File System Πρόβλημα: Στην πράξη, τα κλειδιά προστατεύονται από το password του χρήστη Weakest link: password Λύση:Bitlocker
Bitlocker Drive Encryption Τι επιτυγχάνει: 1. Κρυπτογράφηση περιεχομένων του σκληρού δίσκου (OS volume) Μυστικότητα 2. Έλεγχος ακεραιότητας στοιχείων & ρυθμίσεων εκκίνησης BIOS, MBR, BS, Bootmgr,... Πώς το επιτυγχάνει Στην πιο ασφαλή εκδοχή, χρήση TPM (Trusted Platform Module) Tamper-resistant chip Εναλλακτικά, χρήση USB startup key κατά την έναρξη του Η/Υ TPM security chip (tamper-resistant)
Bitlocker Drive Encryption Α. Κρυπτογράφηση Δεδομένων Συστήματος Κρυπτογράφηση: Υποστήριξη AES128 ή AES256 Συμμετρική κρυπτογράφηση με το FVEK (Full Volume Encryption Key) Tο FVEK κρυπτογραφείται με ένα master key (VMK) & αποθηκεύεται τοπικά Ασφάλεια VMK (Volume Master Key): Multiple-factor authentication
Bitlocker Drive Encryption Β. Ακεραιότητα Στοιχείων Εκκίνησης To TPM αποθηκεύει «αποτυπώ- ματα» των στοιχείων εκκίνησης Χρήση κρυπτογραφικού αλγορίθμου hash (SHA-1) Στην εκκίνηση, τo TPM απο- σφραγίζει το FVEK μόνον αν τa αποτυπώματα δεν αλλοιωθούν Case: boot με άλλο Λ.Σ., Boot malware κλπ Το κάθε στοιχείο επαληθεύει την ακεραιότητα του επόεμνου
Bitlocker Drive Encryption Management
Ασφάλεια Windows – Άλλα Θέματα Προστασία Μνήμης Στόχος: Η προστασία της μνήμης Καμία διεργασία να μην αποκτά μη εξουσιοδοτημένη πρόσβαση στην περιοχή μνήμης άλλης διεργασίας ή του Λ.Σ.
Προστασία Μνήμης Τέσσερις στρατηγικές 1. Οι περιοχές μνήμης στοιχείων kernel-mode, δεν προσπελαύ- νονται από user-mode threads Αλλιώς, σφάλμα υλικού (access violation) Privilege rings for the x86
(User Mode vs Kernel Mode) User mode Λιγότερα προνόμια & εκτέλεση υποσυνόλου του set εντολών της CPU π.χ. εφαρμογές χρήστη Kernel mode Περισσότερα προνόμια & διαθεσιμότητα πλήρους set εντολών της CPU π.χ. System services, drivers,… •Τα περιεχόμενα ενός ειδικού καταχωρητή (PSW) καθορίζουν εάν μια Διεργασία θα εκτελεστεί σε user ή kernel mode
Προστασία Μνήμης Τέσσερις στρατηγικές (συνέχεια) 2. Κάθε διεργασία έχει έναν «ιδιωτικό» χώρο, που προστατεύεται από νήματα άλλων διεργασιών Εμπιστευτικότητα & Ακεραιότητα Εξαίρεση: μια διεργασία αποφασίζει να μοιραστεί σελίδες με άλλες διεργασίες
Προστασία Μνήμης: Windows Virtual-to-physical address translation: Εμμέσως, ένα επίπεδο ελέγχου πρόσβασης
Προστασία Μνήμης Τέσσερις στρατηγικές (συνέχεια) 3. Hardware-controlled προστασία μνήμης, π.χ.: a) Έστω σελίδα χαρακτηρίζεται ως non-executable b) Ο επεξεργαστής δεν εκτελεί κώδικα που η σελίδα τυχόν περιέχει
Προστασία Μνήμης Τέσσερις στρατηγικές (συνέχεια) 4. ACLs για προστασία μοιραζόμενων (shared) αντικειμένων μνήμης
Προστασία Μνήμης: Άλλα Θέματα Memory Leaks (Αχρείαστη Δέσμευση Μνήμης) Μια διεργασία αποτυγχάνει να απελευθερώσει πόρους μνήμης παρότι δεν τους χρειάζεται Δεν αποτελεί σφάλμα Λ.Σ., .. Απλώς οφείλεται σε «κακογραμμένες» εφαρμογές Συνιστά ευπάθεια, που μπορεί οδηγήσει σε Denial of Service 1. Αθέλητη (βαθμιαία εξάντληση των πόρων του Η/Υ) 2. Ηθελημένη από τρίτους (DOS attacks) Σχετικό Θέμα: Garbage Collectors
Προστασία Μνήμης: Άλλα Θέματα Εικονική Μνήμη Όταν τερματίζεται μια διεργασία, το αντίστοιχο τμήμα εικονικής μνήμης χαρακτηρίζεται διαθέσιμο Ωστόσο, τα δεδομένα μπορεί να παραμένουν εκεί ! Έστω ένα αρχείο δεδομένων αποθηκεύεται στο δίσκο σε κρυπτογραφημένη μορφή: 1. Αν ανοιχτεί από μια εφαρμογή, το αρχείο θα αποκρυπτογραφηθεί 2. Τα δεδομένα θα μεταφερθούν στη RAM ή στην εικονική μνήμη Ένα «ασφαλές» Λ.Σ. Διαγράφει από το δίσκο τα δεδομένα μιας διεργασίας που τερματίζει (swap space) Διαγράφει ολόκληρο το swap file κατά τον τερματισμό
Προστασία Μνήμης: Άλλα Θέματα Data Execution Protection (DEP) Στόχος: Αντιμετώπιση επιθέσε- ων τύπου buffer overflow 1. Hardware DEP Εξαίρεση access fault για την αποτροπή εκτέλεσης κώδικα σε σελίδα “no-execute” 2. Software DEP π.χ. Stack cookies (canaries) Address Space Layout Randomization (ASLR) Computer Properties Advanced Performance Settings
Προστασία Μνήμης: Άλλα Θέματα Data Execution Protection (DEP) 2. Software DEP a) π.χ. Stack cookie (canary): τυχαία αριθμητική τιμή που ο compiler εισάγει στη στοίβα, ακριβώς πριν το δείκτη EIP Αν το malware επικαλύψει τον EIP, το cookie θα αλλάξει b) ASLR: Τυχαιοποίηση διάταξης μνήμης (memory layout) εκτελέσιμων προγραμμάτων.
Προστασία Μνήμης: Άλλα Θέματα Data Execution Protection (DEP)
Τομείς Ασφάλειας (Security Domains) Σκοπός: Αποδοτική διαχείριση σε κατανεμημένα περιβάλλοντα Περιπτώσεις 1. Ένας χρήστης κάνει log-on κάθε φορά που προσπελαύνει πόρο/υπηρεσία σε άλλη μηχανή 2. Ο διαχειριστής εφαρμόζει ρυθ- μίσεις ασφάλειας σε κάθε Η/Υ Domains Συλλογή από Η/Υ Κοινή ΒΔ λογαριασμών Κοινή Πολιτική Ασφάλειας
Τομείς Ασφάλειας (Security Domains) Τομέας Ασφάλειας Μία λογική (logical) Ομάδα από υποκείμενα και αντικείμενα (χρήστες, Η/Υ, συσκευές, διεργασίες & εφαρμογές, … )
Τομείς Ασφάλειας (Security Domains) Οι χρήστες (clients), γίνονται μέλη στον τομέα κάνοντας log on στο domain, με διαδικασίες SSO Μέσω LAN, WAN, VPN κλπ Στον τομέα, υπάρχει ο “έμπιστος” server (Domain Controller): 1. Active Directory: λογαριασμοί & ομάδες χρηστών και Η/Υ 2. Δημιουργούνται & επιβάλλονται οι Πολιτικές Ασφάλειας του τομέα Πολιτικές ομάδων (group policies) Κριτήρια & Δικαιώματα πρόσβασης Ρυθμίσεις ασφάλειας Σε αντίθεση με Workgroups, που υλοποιούν τη λογική P2P Αρχιτεκτονική Client-Server Λογική σύνδεση Σενάριο: Η σύνδεση γίνεται από οποιονδήποτε σταθμό εργασίας
The Kerberos “Layer” Αυθεντικοποίηση και Μυστικότητα, με Single Sign On, για Εφαρμογές Client-Server σε Κατανεμημένα Περιβάλλοντα • •
The Kerberos “Layer” To Kerberos υλοποιεί τη λογική των Πρωτοκόλλων Διανομής Κλειδιού (Key Distribution Protocols) σε κατανεμημένα συστήματα Trent (KDC) Ένα παράδειγμα πρωτοκόλλου διανομής κλειδιού Κ ΑΤ : κλειδί που μοιράζεται ο Trent με Alice Κ BΤ : κλειδί που μοιράζεται ο Trent με Bob
Ας Θυμηθούμε… Διανομή Κλειδιού από Έμπιστη Οντότητα (KDC) Σχετικό πρωτόκολλο: Needham-Schroeder Menezes, Oorschot, Vanstone, Handbook of Applied Cryptography, CRC, 2001
Ας Θυμηθούμε… To πρωτόκολλο Needham-Schroeder (1978) Οι «τυχαιότητες» R A και R B χρησιμοποιούνται (εκτός άλλων) για αποφυγή επιθ. επανάληψης Στο βήμα 2, η Alice βεβαιώνεται ότι η απάντηση του Trent δίνεται τώρα Στa βήματα 4 & 5, ο Bob βεβαιώνεται ότι η Alice είναι ενεργή στο πρωτόκολλο. Και οι δύο χρήστες πείθονται ότι ο άλλος ξέρει το κλειδί Αυθεντικοποίηση Alice Επιβεβαίωση κλειδιού (key confirmation) Trent (KDC) Schneier, Bruce. Applied Cryptography. John Wiley & Sons, Inc., 2nd edition, 1996.
Ας Θυμηθούμε… Μία Επίθεση στο Needham-Schroeder Παραδοχές: Ο Mallory υποκλέ- πτει επικοινωνίες & έχει σπάσει ένα παλιό κλειδί Κ’ που η Alice & ο Bob κάποτε χρησιμοποιούσαν. Ο Mallory συμμετέχει σε ένα καινούριο πρωτόκολλο με τον Bob, ξεκινώντας απευθείας από το βήμα 3 … που είχε υποκλέψει από παλαιότερη εκτέλεση του πρωτοκόλλου •Trent (KDC) •1•1 •2•2 •3•3 •4•4 •5• Schneier, Bruce. Applied Cryptography. John Wiley & Sons, Inc., 2nd edition, 1996.
Ας Θυμηθούμε… Επίθεση στο πρωτόκολλο Needham-Schroeder Αν ο Trent εισήγαγε έγκυρες χρονοσημάνσεις στα μηνύματα που αποστέλλει στην Alice, η επίθεση θα ήταν αδύνατη !! Η λογική αυτή χρησιμοποιείται στο σύστημα Kerberos (1994) •3• Schneier, Bruce. Applied Cryptography. John Wiley & Sons, Inc., 2nd edition, 1996.
Το Σύστημα Kerberos Το Kerberos προσφέρει (end-to-end) υπηρεσίες ασφάλειας σε υποκείμενα (χρήστες, εφαρμογές, services,..) Αυθεντικότητα & Μυστικότητα Φιλοσοφία Για κάθε υποκείμενο Α που θέλει να επικοινωνήσει με ένα υποκείμενο Β, το KDC δίνει (με ασφαλή τρόπο) στο υποκείμενο ένα εισιτήριο (ticket) Περίπτωση: H Alice θέλει να επικοινωνήσει με έναν από τους file server του δικτύου
Το Σύστημα Kerberos
Η Emily έρχεται στη δουλειά. Εισάγει σε μια φόρμα το username και τον κωδικό της πρόσβασης, στις 8.00 A.M To λογισμικό Kerberos στον Η/Υ της Emily στέλνει το username στην Υπηρεσία Αυθεντικοποίησης (AS) στον server KDC, που με τη σειρά της επιστρέφει στην Emily ένα Εισιτήριο Έκδοσης Εsισιτηρίων (Ticket Granting Ticket – TGT), κρυπτογραφημένο (συμμετρικά) με το password της Emily Όταν η Emily θελήσει να επικοινωνήσει με τον file server, το Kerberos στον Η/Υ της στέλνει μια αίτηση, μαζί με το TGT, στην Υπηρεσία Έκδοσης Εισιτηρίων (Τicket Granting Service – TGS) στον KDC. Το Kerberos εξάγει το κλειδί συνόδου, και αποστέλλει το εισιτήριο στον file server για να αρχίσει η επικοινωνία ! Η TGS δημιουργεί και στέλνει στην Emily ένα 2o εισιτήριο, για την ταυτοποίηση της στον file server. To εισιτήριο περιέχει ένα κλειδί συνόδου, κρυπτογραφημένο με τα κλειδιά που μοιράζεται το KDC με Emily & τον server Αν η Emily έχει δώσει το σωστό password, το TGT αποκρυπτογραφείται και η Alice αποκτά πρόσβαση στο σταθμό εργασίας της
Menezes, Oorschot, Vanstone, Handbook of Applied Cryptography, CRC, 2001
Domains: Ιεραρχίες Μεγάλα συστήματα, συχνά οργανώνονται ιεραρχικά: 1. Δένδρο Πολλοί Τομείς, με το ίδιο namespace 1. Δάσος (Forrest) Πολλά δένδρα, με διαφορετικά namespaces •
Βιβλιογραφία Μ. Russinovich, D. Solomon. Windows Internals, 5 th Edition, 2009 D. Gollman, Computer Security. 3 rd Edition, Michael Muckin. Windows Vista Security Internals, BLACK HAT DC ‘09, Michael Muckin. Windows Vista Security Internals, BLACK HAT DC ‘09, Conover, M. Analysis of the Windows Vista security model. Symantec Advanced Threat Research, 2006 Conover, M. Analysis of the Windows Vista security model. Symantec Advanced Threat Research, 2006 Niels Ferguson. AES-CBC + Elephant di ff user - A Disk Encryption Algorithm for Windows Vista, Microsoft, August 2006 Niels Ferguson. AES-CBC + Elephant di ff user - A Disk Encryption Algorithm for Windows Vista, Microsoft, August 2006