Upload
bart
View
41
Download
4
Tags:
Embed Size (px)
DESCRIPTION
Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Ακαδημαϊκό Έτος 20 12 -201 3 Εξάμηνο: Δ ’. Ασφάλεια Υπολογιστών και Προστασία Δεδομένων Ενότητα Δ: Έλεγχος Πρόσβασης Συστήματος & Το Μοντέλο Ασφάλειας των Windows. Εμμανουήλ Μάγκος. 1. Ασφάλεια Συστήματος ( Γενικά ). Στόχοι Ασφάλειας. - PowerPoint PPT Presentation
Citation preview
Ιόνιο ΠανεπιστήμιοΤμήμα ΠληροφορικήςΑκαδημαϊκό Έτος 2012-2013Εξάμηνο: Δ’
Ασφάλεια Υπολογιστών και
Προστασία Δεδομένων
Ενότητα Δ: Έλεγχος Πρόσβασης Συστήματος &
Το Μοντέλο Ασφάλειας των 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
principal@domain=DOMAIN\principal
B. Machine-readable Security Identifier (SID)
Οντότητες (Principals) Τοπικός χρήστης (local user)
Χρήστης Τομέα (domain)
Ομάδες (groups)
Η/Υ
Υποκείμενα (Subjects) Διεργασίες & Νήματα Πληροφορίες: Μητρώο (\
HKEY_USERS), profile χρηστών (\Documents and Settings)
Πληροφορίες: Μητρώο (\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
DACL: Μία λίστα από ACEs
Format μιας ACE
ACE inheritance
DACL: Αλγόριθμος ΑπόφασηςΕκτελείται από: Security Reference Monitor (SRM)
Είσοδος στον αλγόριθμο
1. Subject’s access token
2. Οbject ACL,
3. Requested_access_mask
4. GrantedAccess0
Έξοδος του αλγορίθμου
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
DACLSpecific>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 SIDs
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) Case: Protected Mode IE (PMIE)
Mandatory Integrity Control (MIC)Πολιτικές Ακεραιότητας (Integrity Policies)
http://msdn.microsoft.com/en-us/library/bb625963.aspx
Στο 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)
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)
Στοιχεία ασφάλειας στα WindowsSecurity Reference Monitor
SRM: Ασχολείται με:
1. Επιβολή πολιτικών
ασφάλειας
2. Έλεγχο δικαιωμάτων
για πρόσβαση σε
αντικείμενα
3. Θέματα προνομίων
(user rights)
4. Δημιουργία εγγραφών
ελέγχου (audit
messages)
πρόσβασης
5. …
Στοιχεία ασφάλειας στα WindowsLocal Security Authority Subsystem Service
LSASS.exe - Ασχολείται με:
1. Τοπικές πολιτικές Ποιοι χρήστες επιτρέπεται να
συνδεθούν στον Η/Υ
Δημιουργία access tokens
χρηστών & διεργασιών
Πολιτικές κωδικών & ελέγχου
2. Αυθεντικοποίηση χρήστη Σύγκριση name & pswd με
αποθηκευμένες τιμές (πχ.
SAM)
3. Εγγραφή μην/των ελέγχου
στα αρχεία καταγραφής
Στοιχεία ασφάλειας στα WindowsLsass Policy Database
LSASS policy database-
Μια ΒΔ που περιέχει,
εκτός των άλλων: Τις τοπικές ρυθμίσεις
ασφάλειας του
συστήματος
Ποιος επιτρέπεται να
αποκτήσει πρόσβαση στο
σύστημα & με ποιόν
τρόπο π.χ. interactive, network
Σε ποιόν εκχωρούνται
ποια προνόμια
Τι είδους έλεγχοι (audits)
εφαρμόζονται
Στοιχεία ασφάλειας στα WindowsSecurity 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
Λύση:Bitlockerhttp://en.wikipedia.org/wiki/Encrypting_File_System
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 EncryptionManagement
Ασφάλεια 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,…http://book.itzero.com
•Τα περιεχόμενα ενός ειδικού
καταχωρητή (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
http://www.edbott.com/weblog/images/sidebar_memory_leak.jpg
Προστασία Μνήμης: Άλλα ΘέματαΕικονική Μνήμη
Όταν τερματίζεται μια διεργασία,
το αντίστοιχο τμήμα εικονικής
μνήμης χαρακτηρίζεται διαθέσιμο Ωστόσο, τα δεδομένα μπορεί να
παραμένουν εκεί !
Έστω ένα αρχείο δεδομένων
αποθηκεύεται στο δίσκο σε
κρυπτογραφημένη μορφή:
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)ComputerPropertiesAdvanced 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
σε Κατανεμημένα Περιβάλλοντα
•http://rpgs.wz.cz
•http://www.adopenstatic.com
The Kerberos “Layer”
To Kerberos υλοποιεί τη
λογική των Πρωτοκόλλων
Διανομής Κλειδιού (Key
Distribution Protocols) σε
κατανεμημένα συστήματα
Trent (KDC)
BA,
)(),( ABKABK KEKEBTAT
)( ABK KEBT
Ένα παράδειγμα πρωτοκόλλου διανομής κλειδιού
ΚΑΤ: κλειδί που μοιράζεται ο Trent με Alice
ΚBΤ: κλειδί που μοιράζεται ο Trent με Bobhttp://rpgs.wz.cz
Ας Θυμηθούμε…Διανομή Κλειδιού από Έμπιστη Οντότητα (KDC)
Σχετικό πρωτόκολλο: Needham-Schroeder
Menezes, Oorschot, Vanstone,
Handbook of Applied
Cryptography, CRC, 2001
Ας Θυμηθούμε…To πρωτόκολλο Needham-Schroeder (1978)
Οι «τυχαιότητες» RA και RB
χρησιμοποιούνται (εκτός άλλων) για αποφυγή επιθ. επανάληψης Στο βήμα 2, η Alice
βεβαιώνεται ότι η απάντηση του Trent δίνεται τώρα
Στa βήματα 4 & 5, ο Bob βεβαιώνεται ότι η Alice είναι ενεργή στο πρωτόκολλο. Και οι δύο χρήστες πείθονται ότι ο άλλος ξέρει το κλειδί
Αυθεντικοποίηση Alice Επιβεβαίωση κλειδιού (key
confirmation)
Trent (KDC)
1
2
3
4
5
ARBA ,,1
)),(,,,( AKEKBREBTAT KAK
2
),( AKEBTK3
)( BK RE4
)1( BK RE5
Schneier, Bruce. Applied Cryptography. John Wiley & Sons, Inc., 2nd edition, 1996.
Ας Θυμηθούμε…Μία Επίθεση στο Needham-Schroeder
Παραδοχές: Ο Mallory
υποκλέ-πτει επικοινωνίες &
έχει σπάσει ένα παλιό κλειδί
Κ’ που η Alice & ο Bob κάποτε
χρησιμοποιούσαν.
Ο Mallory συμμετέχει σε ένα
καινούριο πρωτόκολλο με
τον Bob, ξεκινώντας
απευθείας από το βήμα 3
… που είχε υποκλέψει από
παλαιότερη εκτέλεση του
πρωτοκόλλου
•Trent (KDC)
ARBA ,,
)),(,,,( AKEKBREBTAT KAK
),( AKEBTK
)( BK RE
)1( BK RE
•1
•2
•3
•4
•5
1
2
3
4
5
Schneier, Bruce. Applied Cryptography. John Wiley & Sons, Inc., 2nd edition, 1996.
Ας Θυμηθούμε…Επίθεση στο πρωτόκολλο Needham-Schroeder
Αν ο Trent εισήγαγε έγκυρες χρονοσημάνσεις στα μηνύματα
που αποστέλλει στην Alice, η επίθεση θα ήταν αδύνατη !! Η λογική αυτή χρησιμοποιείται στο σύστημα Kerberos (1994)
•3),( AKE
BTK 3
)( BK RE 4
)1( BK RE5
Schneier, Bruce. Applied Cryptography. John Wiley & Sons, Inc., 2nd edition, 1996.
Το Σύστημα Kerberos
Το Kerberos προσφέρει
(end-to-end) υπηρεσίες
ασφάλειας σε υποκείμενα
(χρήστες, εφαρμογές,
services,..) Αυθεντικότητα & Μυστικότητα
Φιλοσοφία
Για κάθε υποκείμενο Α που
θέλει να επικοινωνήσει με ένα
υποκείμενο Β, το KDC δίνει (με
ασφαλή τρόπο) στο υποκείμενο
ένα εισιτήριο (ticket)
Περίπτωση: H Alice θέλει να επικοινωνήσει με έναν από τους file server του δικτύου
Το Σύστημα Kerberos
Το Σύστημα 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
•http://technet.microsoft.com/
Βιβλιογραφία
Μ. Russinovich, D. Solomon. Windows Internals, 5th Edition, 2009
D. Gollman, Computer Security. 3rd Edition, 2010.
Michael Muckin. Windows Vista Security Internals, BLACK HAT DC ‘09, 2009.
Conover, M. Analysis of the Windows Vista security model. Symantec
Advanced Threat Research, 2006
Niels Ferguson. AES-CBC + Elephant diffuser - A Disk Encryption Algorithm
for Windows Vista, Microsoft, August 2006