Professional Documents
Culture Documents
2η Ο.Σ.Σ.
Ι. Μαυρίδης, K. Πατσάκης
1
Agenda
• Xρονοδιάγραμμα μελέτης
• Σχολιασμός για την ΓΕ1
• Πρόσθετο υλικό μελέτης
• Συζήτηση για την ΓΕ2
2
Έλεγχος Προσπέλασης
⚫ Αναγνώριση (identification) και Αυθεντικοποίηση
(authentication): Το υποκείμενο παρουσιάζει και αποδεικνύει
την ταυτότητά του, παρουσιάζοντας τα διαπιστευτήριά του
⚫ Εξουσιοδότηση (authorization): Έλεγχος δικαιωμάτων
πρόσβασης του υποκειμένου σε αντικείμενα του συστήματος
⚫ Λογοδοσία (accountability): Καταγραφή (log) των ενεργειών
του υποκειμένου στο σύστημα.
3
Αναγνώριση και Αυθεντικοποίηση
Προϋπόθεση για την σωστή λειτουργία ενός συστήματος
ελέγχου προσπέλασης αποτελεί η ύπαρξη αξιόπιστου
συστήματος
⚫ αναγνώρισης (identification) και
⚫ αυθεντικοποίησης (authentication) των χρηστών.
4
Αναγνώριση
H διαδικασία παρουσίασης πληροφοριών σχετικών με την
ταυτότητα του χρήστη.
Ανάγκη για αναγνώριση των χρηστών για:
⚫ έλεγχο πρόσβασης σε υπολογιστές,
⚫ περιορισμό πρόσβασης σε κτίρια και προστατευόμενες
περιοχές μέσα σε κτίρια, κ.λ.π.,
⚫ ελεγχόμενη χρήση τραπεζικών τερματικών (ATM)
⚫ καταγραφή ενεργειών (accounting, audit).
5
Αυθεντικοποίηση
H διαδικασία επιβεβαίωσης της ταυτότητας του χρήστη.
Αυτό γίνεται για δυο λόγους:
⚫ η ταυτότητα του χρήστη αποτελεί μια παράμετρο για την
λήψη αποφάσεων ελέγχου προσπέλασης
⚫ η ταυτότητα του χρήστη καταγράφεται μαζί με πράξεις
σχετικές με την ασφάλεια του συστήματος σε ένα ειδικό χώρο
καταγραφής (audit trail).
6
Αυθεντικοποίηση Χρήστη
Tεχνικές αυθεντικοποίησης :
⚫ αυθεντικοποίηση από αυτά που έχει ο χρήστης
⚫ αυθεντικοποίηση από κάτι που γνωρίζει (π.χ. password ή PIN),
⚫ αυθεντικοποίηση από κάτι που κατέχει (π.χ. passport ή smart card),
⚫ αυθεντικοποίηση από αυτό που είναι ο χρήστης.
⚫ αυθεντικοποίηση από προσωπικά χαρακτηριστικά του με χρήση
βιομετρικών (biometrics) τεχνικών αναγνώρισης,
⚫ αυθεντικοποίηση από μια πράξη (π.χ. μια υπογραφή).
7
Αυθεντικοποίηση Χρήστη
Tεχνικές με βάση κάτι που:
• γνωρίζει
• συνθηματικά για λογαριασμούς υπολογιστών,
• PINs για τραπεζικές συναλλαγές.
• συνθηματικά μιας χρήσης.
• challenge-response
• κατέχει
• κουπόνια (tokens)
• μαγνητικές κάρτες (magnetic cards)
• έξυπνες κάρτες (smart cards)
8
Συνθηματικά (password)
O πιο διαδεδομένος τρόπος αυθεντικοποίησης.
Διαδικασία:
• Εισαγωγή ζεύγους:
• όνομα χρήστη (user name)
• συνθηματικό (password)
• Ταίριασμα
• το συνθηματικό που εισήγαγε
• με το αντίστοιχο αποθηκευμένο στο σύστημα
Απαιτήσεις ασφάλειας:
• ξεχωριστά συνθηματικά για κάθε πρόσωπο
• χρήση μεγάλων σειρών χαρακτήρων,
• αποφυγή έκθεσής τους σε τρίτους,
• τακτική ανανέωση
9
Συνθηματικά μιας χρήσης (OTP)
Ορίζεται μια λίστα από συνθηματικά και κάθε φορά
χρησιμοποιείται ένα από αυτά (για μια και μοναδική φορά).
10
Αποθήκευση συνθηματικών
Η αποθήκευση των συνθηματικών στον Η/Υ παρουσιάζει σημαντικά
προβλήματα ασφάλειας.
Η γνώση του συνθηματικού από άλλον χρήστη ή τον διαχειριστή του
συστήματος σημαίνει κίνδυνο για τον ιδιοκτήτη του, καθώς μπορεί να
χρησιμοποιήσει τις υπηρεσίες του συστήματος προσποιούμενος
(masquerade) ότι είναι ο νόμιμος κάτοχος, αλλά για τις ενέργειες (που
καταγράφονται) θεωρείται ότι είναι υπεύθυνος και υπόλογος ο ιδιοκτήτης.
Διαδικασία:
• Πριν από την εφαρμογή της μονόδρομης συνάρτησης, παράγεται μια
τυχαία τιμή των 12-bit (“αλάτι”, 0-4096) και αποθηκεύεται (cleartext)
στο αρχείο συνθηματικών μαζί με το hash (password ǁ salt).
• Όταν ο χρήστης εισάγει το συνθηματικό του, το σύστημα διαβάζει το
αλάτι και υπολογίζει το νέο hash (password ǁ salt). Κατόπιν,
συγκρίνεται το hash με το αποθηκευμένο.
12
Αλάτισμα συνθηματικού
Παραδείγματα:
• κάνει πιο δύσκολο και δαπανηρό τον από πριν υπολογισμό των
αποτελεσμάτων εφαρμογής της μονόδρομης συνάρτησης σε μια
λίστα πιθανών συνθηματικών
14
Challenge-response
15
Challenge-response
Host
Response = f(R,P)
16
Κουπόνια (Tokens)
Παραδείγματα:
• κλειδιά για πόρτες, αυτοκίνητα,
• ταυτότητες, διαβατήρια,
• μαγνητικές κάρτες για ATMs,
• έξυπνες κάρτες για έλεγχο πρόσβασης σε ασφαλείς περιοχές, κ.λ.π.
Προβλήματα:
• απώλειας,
• αντιγραφής και
• παραποίησης.
17
Έλεγχος Προσπέλασης - Έξουσιοδότηση
AccessControl_Authorization_slides.pdf
ΠΛΗ35
18
Unix: Group & ACL
Στο Unix, εφαρμόζεται μια απλή ACL σε κάθε αρχείο και τα δικαιώματα
προσπέλασης ορίζονται για τρεις κλάσεις χρηστών:
• τον ιδιοκτήτη αρχείου (owner),
• την ομάδα του ιδιοκτήτη αρχείου (group)
• οποιονδήποτε άλλον (public)
19
Unix: Group & ACL
Για παράδειγμα, αν ο χρήστης Χ, που ανήκει στην Ομάδα ΑΠΣ,
δημιουργήσει ένα αρχείο test και επιθυμεί:
• να έχει το σύνολο των δικαιωμάτων προσπέλασης στο αρχείο,
• η ομάδα του μόνο δικαίωμα Ανάγνωσης και
• οι υπόλοιποι χρήστες να μην έχουν δικαίωμα προσπέλασης:
20
Unix ACL
Με την εντολή ls –l παίρνουμε:
22
User mask
Προκαθορισμένες ιδιότητες νέων αρχείων/καταλόγων:
User Group Other
umask 022 --- -w- rwx
Νέα αρχεία
Αρχική άδεια αρχείου 666 rw- rw- rw-
Συμπλήρωμα της umask NOT(022) = 755 rwx r-x r-x
Τελική άδεια αρχείου 755 and 666 = 644 rw- r-- r--
Νέοι κατάλογοι
Αρχική άδεια καταλόγου 777 rwx rwx rwx
Συμπλήρωμα της umask NOT(022) = 755 rwx r-x r-x
Τελική άδεια καταλόγου 755 and 777 = 755 rwx r-x r-x
23
Χρήσιμες Εντολές
chmod: Αλλαγή αδειών των αρχείων
chmod 755 junk
chmod +x command
chmod –w command
chmod 4750 /usr/bin/go
alice@alice:$ ls –l test
-rw-r--r-- 1 alice alice 0 2012-07-27 22:26 test
25
umask #2
alice@alice:$ umask 0
alice@alice:$ touch test2
alice@alice:$ ls –l test*
-rw-r-—r-- 1 alice alice 0 2012-07-27 22:26 test
-rw-r--rw– 1 alice alice 0 2012-07-27 22:26 test1
-rw-rw-rw– 1 alice alice 0 2012-07-27 22:26 test2
26
umask #3
Προσδιορισμός της default mask τιμής
cat /etc/profile | less
27
Sticky bit
Στο Linux οι άδειες δημιουργίας, διαγραφής και μετονομασίας ενός αρχείου
• δεν συνδέονται με τις άδειες του αρχείου
• καθορίζονται από τις άδειες του γονικού καταλόγου
Πιθανό πρόβλημα: σε κοινόχρηστο κατάλογο (o=rwx) θα μπορούσε ο κάθε
χρήστης να τροποποιεί τα αρχεία του φακέλου
Λύση: Sticky bit
• εξασφαλίζει ότι μόνο ο ιδιοκτήτης ενός αρχείου ή ο root θα μπορεί να
μετονομάζει ή να διαγράφει ένα αρχείο.
28
Sticky bit
Παριστάνεται με το γράμμα
• t στο τέλος αν το execution bit (x)έχει τεθεί
• T στο τέλος αν το execution bit (x)δεν έχει τεθεί
Πρόσθεσή του:
chmod +t /usr/local/tmp
chmod 1777 /usr/local/tmp
Αφαίρεση:
chmod -t /usr/local/tmp
chmod 0777 /usr/local/tmp
Παράδειγμα: ls -l /tmp
(d rwx rwx rwt)
29
Αποκλεισμός με άδειες καταλόγων
Η αφαίρεση του access bit (x) από ένα κατάλογο απαγορεύει την πρόσβαση
στη λίστα αρχείων του (ασχέτως των επιμέρους αδειών):
chmod o-x
Η αφαίρεση του read bit (r) από ένα κατάλογο επιτρέπει την πρόσβαση στα
αρχεία του, αλλά όχι την εμφάνιση των περιεχομένων του καταλόγου:
chmod o-r
30
IDs: user & group
• Κάθε χρήστης εκχωρείται σε μια ομάδα:
• είτε με το όνομά του (προσωπική – user private group UPG)
• είτε με default όνομα, π.χ. staff ή users
31
Setuid and Setgid
Όταν το προνόμιο setuid ή setgid είναι ενεργό, στη θέση του προνομίου
execute του owner ή του group εμφανίζεται το:
• s (πεζό), αν έχει εκχωρηθεί το προνόμιο εκτέλεσης (x)
• S (κεφαλαίο) αν δεν έχει εκχωρηθεί το προνόμιο εκτέλεσης (x)
32
Setuid and Setgid
Κάθε διεργασία αντιστοιχίζεται σε ένα σύνολο από ID:
• Real, Effective και Saved
Το real είναι ίδιο με το user ID του δημιουργού της διεργασίας
Το effective χρησιμοποιείται για επιβεβαίωση των δικαιωμάτων της διεργασίας
όταν εκτελεί κλήσεις συστήματος (π.χ. πρόσβαση σε αρχεία) και συνήθως είναι
ίδιο με το real id.
• Το saved τίθεται ίδιο με το real id, εκτός αν έχει τεθεί το setuid bit του
εκτελέσιμου αρχείου, με chmod u+s <executable file>, οπότε
τίθεται στο user ID του δημιουργού του αρχείου
• κατά την εκτέλεση, το effective id της διεργασίας ορίζεται από το saved id
• το real id ακόμη αναφέρεται στον χρήστη-δημιουργό της
33
Παράδειγμα#1
Για την αλλαγή του κωδικού πρόσβασης ενός χρήστη απαιτείται η
τροποποίηση του αρχείου /etc/passwd
• προστατευόμενο αρχείο συστήματος
34
Παράδειγμα#2
• Έστω ο bob με uid = 15, εκτελεί την εντολή passwd
• Αρχικά στη διεργασία ορίζονται:
• Real: 15
• Saved: 0
• Effective: 15
• Κατά την εκτέλεση γίνεται η κλήση συστήματος seteuid(0). Επειδή saved = 0,
το ΛΣ αποδέχεται την κλήση και θέτει το effective σε 0, οπότε:
• Real: 15
• Saved: 0
• Effective: 0
• Εντολές όπως su και sudo χρησιμοποιούν αυτή την τεχνική.
35
Κλιμάκωση προνομίων
• Για λόγους ασφάλειας τα setuid & setgid των shell scripts αγνοούνται από
το ΛΣ
36
Λογοδοσία (audit)
37
Windows Logs
• Application Log: Καταγραφές από εφαρμογές (π.χ. ΣΔΒΔ). Κατά την
ανάπτυξη εφαρμογών μπορούν να καθορίζονται τα συμβάντα που θα
καταγράφονται. Συνήθεις καταγραφές: σφάλματα (errors),
προειδοποιητικά μηνύματα (warnings) ή μηνύματα με πληροφορίες
σχετικά με την λειτουργία της εφαρμογής (infos).
• Security Log: Συμβάντα σχετικά με την προστασία του συστήματος.
Μπορούν να οδηγήσουν σε εντοπισμό επιτυχημένων/αποτυχημένων
προσπαθειών πρόσβασης, μεταβολών πολιτικών ασφαλείας και
δικαιωμάτων πρόσβασης, μεταβολών αντικειμένων, χρήση πόρων
συστήματος (π.χ. άνοιγμα αρχείων) κ.ά. Η επιλογή των συμβάντων
ασφαλείας που καταγράφονται καθορίζεται από το διαχειριστή του
συστήματος (by default απενεργοποιημένη).
38
Windows Logs
• Setup Log: Συμβάντα που σχετίζονται με εγκαταστάσεις εφαρμογών.
• System Log: Συμβάντα που καταγράφονται από συστατικά του
λειτουργικού συστήματος Windows. Είναι σχετικά με τη λειτουργία του
συστήματος, όπως αστοχία ενός οδηγού συσκευής ή ενός
υποσυστήματος κ.ά. Σημαντικά συμβάντα συστήματος είναι η αλλαγή
ημεροχρονολογίας (date and time), ζώνη ώρας (time zone), η
εγκατάσταση μίας υπηρεσίας (service), η εκκίνηση μίας υπηρεσίας, αλλά
και ένας απροσδόκητος τερματισμός του συστήματος (unexpected
shutdown). Η επιλογή των συμβάντων που καταγράφονται είναι
προκαθορισμένη από το σύστημα.
• Forwarded Events Log: Καταγραφές συμβάντων που συλλέγονται από
απομακρυσμένους υπολογιστές.
39
Application and services logs
• Admin Logs: Συμβάντα που υποδεικνύουν προβλήματα και καλά
ορισμένες λύσεις για να εφαρμόσει ο διαχειριστής (actionable events).
Π.χ. συμβάντα σφάλματος (error) και προειδοποιήσεων (warning),
πληροφοριακά συμβάντα που υποδεικνύουν την επιστροφή μιας
υπηρεσίας σε κανονική κατάσταση, κ.ά.
• Analytic Logs: Καταγραφές που χρησιμοποιούνται στη διάγνωση
προβλημάτων ή στην ανάλυση απόδοσης. Είναι επίσης γνωστές ως trace
logs, ενώ εξ ορισμού είναι απενεργοποιημένες.
• Debug Logs: Καταγραφές που χρησιμοποιούνται στο χειρισμό
προβλημάτων (troubleshooting) κατά την ανάπτυξη εφαρμογών. Εξ
ορισμού είναι απενεργοποιημένες και κρυμμένες.
• Operational Logs: Καταγραφές από συστατικά του Λ.Σ., κυρίως για το
χειρισμό προβλημάτων ή για την ενεργοποίηση αυτόματων ενεργειών.
Είναι ενεργοποιημένες εξ ορισμού. 40
Event attributes
Οι ιδιότητες συμβάντων εμφανίζονται ως στήλες στο πάνω μέρος του
μεσαίου πάνελ του Event Viewer και είναι οι εξής:
• Level: υποδεικνύει τη σοβαρότητα του συμβάντος, με πιθανές τιμές:
• κρίσιμο (Critical), προειδοποίηση (Warning), μακροσκελής (Verbose), σφάλμα
(Error), πληροφορία (Information).
• Keywords: αναφέρονται σε σύνολα κατηγοριών ή ετικέτες (Tags) και
χρησιμεύουν στο φιλτράρισμα security logs (δεν έχουν επίπεδα).
• Date and Time: Η ημέρα και η ώρα καταγραφής του συμβάντος.
• Source: Η πηγή (π.χ. το συστατικό) που δημοσιοποίησε το συμβάν.
• Event ID: Το μοναδικό αναγνωριστικό του συμβάντος ή της πηγής.
• Task Category: Κατά την δημιουργία μιας εφαρμογής ή υπηρεσίας
μπορεί να δηλωθεί η κατηγορία στην οποία ανήκει κάθε πηγή
συμβάντος (source) με σκοπό το φιλτράρισμα των συμβάντων.
41
Ψηφιακή εγκληματολογία (digital forensics)
42
Ψηφιακή εγκληματολογία (digital forensics)
Για την απάντηση στα 5WH ερωτήματα ακολουθείται μία σειρά σταδίων
γνωστών ως «διαδικασία ψηφιακής εγκληματολογίας (digital forensics
process)».
43
Ψηφιακή εγκληματολογία (digital forensics)
1. Συλλογή (Collection): αναγνώριση (identifying) και καταγραφή (labeling
and recording) των ηλεκτρονικών μέσων που περιέχουν δεδομένα και
ανάκτηση (acquiring) δεδομένων.
2. Εξέταση (Examination): αξιολόγηση των δεδομένων του προηγούμενου
σταδίου με σκοπό τον εντοπισμό και εξαγωγή τεχνουργημάτων (artifact)
σχετικών με την υπο διερεύνηση υπόθεση.
3. Ανάλυση (Analysis): μελέτη των τεχνουργημάτων του προηγούμενου
σταδίου με σκοπό τον εντοπισμό ψηφιακών πειστηρίων για την
απάντηση στα 5WH ερωτήματα.
4. Αναφορά (Reporting): παρουσίαση των τεχνικών, διαδικασιών και
εργαλείων που χρησιμοποιήθηκαν κατά την εγκληματολογική εξέταση
καθώς επίσης και των ψηφιακών πειστηρίων (τεχνουργήματα που
αποτελούν αδιάσειστα αποδεικτικά στοιχεία) που εντοπίστηκαν.
44
Windows Registry
• Eίναι μια βάση δεδομένων, αποθηκευμένη σε διάφορα αρχεία.
• Περιέχει:
• επιλογές του συστήματος για το υλικό και το λογισμικό,
• επιλογές εγκατάστασης,
• στατιστικά,
• επιλογές του χρήστη.
• Χρησιμοποιείται από όλες τις εκδόσεις των Windows
• Το κάθε αρχείο που περιέχει τέτοιες πληροφορίες ονομάζεται
hive
45
Windows Registry: δομή
• Ακολουθεί μια δενδρική/ιεραρχική δομή που καταλήγει σε
κλειδιά (key).
• Τα βασικά κλαδιά είναι τα HKEY_LOCAL_MACHINE και
HKEY_USERS. Τα υπόλοιπα δείχνουν σε αυτά:
• HKEY_LOCAL_MACHINE: περιέχει πληροφορίες για εγκατεστημένο υλικό και λογισμικό
• HKEY_USERS: περιέχει τις προτιμήσεις του κάθε χρήστη
• HKEY_CURRENT_USER: συντόμευση μέσα στο HKEY_USERS για τον τρέχοντα χρήστη
• HKEY_CLASSES_ROOT: συντόμευση στο HKEY_LOCAL_MACHINE\SOFTWARE \Classes που
περιέχει πληροφορίες για τύπους αρχείων, για αντικείμενα OLE και σχετικές εφαρμογές
• HKEY_CURRENT_CONFIG: συντόμευση στο HKEY_LOCAL_MACHINE για τρέχουσες ρυθμίσεις
υλικού
https://learn.microsoft.com/en-gb/windows/win32/sysinfo/registry-hives?redirectedfrom=MSDN
46
Windows Registry: δομή
47
Windows Registry: αρχεία
%SystemRoot%\System32\Config\:
• Sam – HKEY_LOCAL_MACHINE\SAM
• Security – HKEY_LOCAL_MACHINE\SECURITY
• Software – HKEY_LOCAL_MACHINE\SOFTWARE
• System – HKEY_LOCAL_MACHINE\SYSTEM
• Default – HKEY_USERS\.DEFAULT
%USERPROFILE%\Ntuser.dat
• HKEY_USERS\<User SID> (συνδεμένο με HKEY_CURRENT_USER)
48
Windows Registry: πληροφορίες
• Συσκευές του συστήματος (ή κάποιες που συνδέθηκαν, π.χ.
USB)
• Δεδομένα χρηστών
• Τι είδε πρόσφατα ο χρήστης στο internet;
• Τι έτρεξε/άνοιξε και πότε ο χρήστης;
• Τι ανοίγει αυτόματα με την εκκίνηση/login;
49
Windows Registry: στόχος
Κάποιος μπορεί να έχει πειράξει το σύστημα:
• HKLM\SOFTWARE\Microsoft\Command Processor
• Τι θα τρέξει όταν τρέχει το cmd.exe
• HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
• Τι θα τρέξει όταν κάνει ένας χρήστης log in
• HKLM\Software\Classes\exefile\shell\open\command
• Τι θα τρέξει κάθε φορά που τρέχει ένα exe
50
Windows Registry: UserAssist vs prefetch
UserAssist Key
NTUSER.DAT
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\UserAssist
Prefetch files
C:\Windows\Prefetch\*.pf
https://cybermeisam.medium.com/blue-team-system-live-analysis-part-11-windows-user-account-forensics-ntuser-
dat-495ab41393db
https://www.4n6k.com/2015/05/forensics-quickie-ntuserdat-analysis.html
https://www.geeksforgeeks.org/prefetch-files-in-windows/
51
Windows Registry: SAM
https://www.thehacker.recipes/ad/movement/credentials/dumping/sam-and-lsa-secrets
https://medium.com/threatpunter/detecting-attempts-to-steal-passwords-from-the-registry-7512674487f8
https://www.praetorian.com/blog/how-to-detect-and-dump-credentials-from-the-windows-registry/
52
Windows Registry: προφίλ χρηστών
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList
https://learn.microsoft.com/en-US/windows-server/identity/ad-ds/manage/understand-security-identifiers
53
Windows Registry: regedit & tools
Καλό είναι να βλέπουμε και με άλλα
προγράμματα
54
Autopsy suite
55
Autopsy suite: ingest modules
56
Autopsy suite: ingest modules
57
2η Γραπτή Εργασία (ΓΕ2)
◼ Θέμα: Eντοπισμός ψηφιακών πειστηρίων
◼ Εκφώνηση: PLI35_Project-2_2022-2023.pdf
◼ Οδηγίες:
◼ Δομή: στην ενότητα Υπόβαθρο να παρουσιάσετε συνοπτικά τα:
ΠΛΗ35
58