You are on page 1of 58

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

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


Θ.Ε.: ΠΛΗ35
ΠΡΟΣΤΑΣΙΑ ΚΑΙ ΑΣΦΑΛΕΙΑ ΣΥΣΤΗΜΑΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ

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) ότι είναι ο νόμιμος κάτοχος, αλλά για τις ενέργειες (που
καταγράφονται) θεωρείται ότι είναι υπεύθυνος και υπόλογος ο ιδιοκτήτης.

Λύση: εφαρμογή μιας μονόδρομης συνάρτησης (one-way function)


• αντί να αποθηκεύονται τα συνθηματικά, αποθηκεύεται το αποτέλεσμα
της εφαρμογής της μονόδρομης συνάρτησης (hash)
• επιβεβαίωση συνθηματικού με νέα εφαρμογή της μονόδρομης
συνάρτησης και σύγκριση των 2 hash
11
Αλάτισμα συνθηματικού
Δίνει διαφορετική «γεύση» όταν προσφέρεται το ίδιο «φαγητό»: για
ίδιο συνθηματικό μεταβάλλει το αποτέλεσμα (hash).

Διαδικασία:
• Πριν από την εφαρμογή της μονόδρομης συνάρτησης, παράγεται μια
τυχαία τιμή των 12-bit (“αλάτι”, 0-4096) και αποθηκεύεται (cleartext)
στο αρχείο συνθηματικών μαζί με το hash (password ǁ salt).
• Όταν ο χρήστης εισάγει το συνθηματικό του, το σύστημα διαβάζει το
αλάτι και υπολογίζει το νέο hash (password ǁ salt). Κατόπιν,
συγκρίνεται το hash με το αποθηκευμένο.

12
Αλάτισμα συνθηματικού
Παραδείγματα:

Συνθηματικό Αλάτι Αποθηκευμένο


συνθηματικό
Tysmig2 Ju JuhkFjW1fgNui
Marie7 .a .aweoifIUhytT
John1234 Pm Pm8jdeuUHU7se
charles2 Wu WuOIoIO78.ji2
charles2 Lo Lojie87l8aJi1
13
Αλάτισμα συνθηματικού

• αποτρέπει επιθέσεις συνθηματικών με χρήση λεξικού

• κάνει πιο δύσκολο και δαπανηρό τον από πριν υπολογισμό των
αποτελεσμάτων εφαρμογής της μονόδρομης συνάρτησης σε μια
λίστα πιθανών συνθηματικών

• προστατεύει από το να χρησιμοποιεί ο χρήστης το ίδιο συνθηματικό


σε διαφορετικά συστήματα

14
Challenge-response

Ο χρήστης κατέχει ένα μυστικό συνθηματικό P και τα μέσα για να


εφαρμόσει μια μονόδρομη συνάρτηση f.

Όταν ζητάει προσπέλαση στο σύστημα:


• εισάγει το όνομά του (user name)
• το σύστημα αποκρίνεται με μια τυχαία πρόκληση (challenge) R
• ο χρήστης αποκρίνεται (response) με το αποτέλεσμα της συνάρτησης
f (hash) στον συνδυασμό των τιμών R και P.
• το σύστημα υπολογίζει το δικό του hash και συγκρίνοντάς τα μπορεί
να αποδεχθεί ή να απορρίψει τον χρήστη.

15
Challenge-response

Login> User name


User

Challenge = τυχαία τιμή R

Host
Response = f(R,P)

16
Κουπόνια (Tokens)

Παραδείγματα:
• κλειδιά για πόρτες, αυτοκίνητα,
• ταυτότητες, διαβατήρια,
• μαγνητικές κάρτες για ATMs,
• έξυπνες κάρτες για έλεγχο πρόσβασης σε ασφαλείς περιοχές, κ.λ.π.

Προβλήματα:
• απώλειας,
• αντιγραφής και
• παραποίησης.

17
Έλεγχος Προσπέλασης - Έξουσιοδότηση

AccessControl_Authorization_slides.pdf

ΠΛΗ35
18
Unix: Group & ACL

Στο Unix, εφαρμόζεται μια απλή ACL σε κάθε αρχείο και τα δικαιώματα
προσπέλασης ορίζονται για τρεις κλάσεις χρηστών:
• τον ιδιοκτήτη αρχείου (owner),
• την ομάδα του ιδιοκτήτη αρχείου (group)
• οποιονδήποτε άλλον (public)

Δικαιώματα Ιδιοκτήτη Δικαιώματα Ομάδας Δικαιώματα Ομάδας


Ιδιοκτήτη Υπολοίπων Χρηστών
rwx rwx rwx

19
Unix: Group & ACL
Για παράδειγμα, αν ο χρήστης Χ, που ανήκει στην Ομάδα ΑΠΣ,
δημιουργήσει ένα αρχείο test και επιθυμεί:
• να έχει το σύνολο των δικαιωμάτων προσπέλασης στο αρχείο,
• η ομάδα του μόνο δικαίωμα Ανάγνωσης και
• οι υπόλοιποι χρήστες να μην έχουν δικαίωμα προσπέλασης:

Δικαιώματα Δικαιώματα Ομάδας Δικαιώματα Ομάδας


Ιδιοκτήτη Ιδιοκτήτη Υπολοίπων Χρηστών
(Χρήστης Χ) (ΑΠΣ)
rwx r-- ---

20
Unix ACL
Με την εντολή ls –l παίρνουμε:

Descriptor Τύπος Αντικειμένου


- Simple File
d Directory
l Link
c Character device
b Block device
s Socket
p Pipe
21
Άδειες Πρόσβασης σε Αρχεία
Linux: Access Control Lists (ACLs)
• άδειες για: (R)ead, (W)rite, (E)xecute
• κλάσεις χρηστών: (u)ser, (g)roup, (o)thers
• (a)ll, για όλες
• Εντολές διαχείρισης:
• chmod
• chown
• chgrp
• umask
• chattr

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

chown*: Αλλαγή ιδιοκτήτη αρχείου


chown student01 traffic.out

chgrp*: Αλλαγή ομάδας αρχείου


chgrp students junk

*: Εκτελούνται από root,


εκτός αν ο owner αλλάζει σε
group όπου ανήκει (chgrp)
24
umask #1
alice@alice:$ umask ή umask -S Πρωτο ψηφίο:
0: κανονικά
alice@alice:$ umask 0022 4: setuid
2: setgid
alice@alice:$ touch test (νέο αρχείο) 1: sticky bit

alice@alice:$ ls –l test
-rw-r--r-- 1 alice alice 0 2012-07-27 22:26 test

alice@alice:$ umask 0020


alice@alice:$ touch test1
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

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

alice@alice:$ umask 0022

26
umask #3
Προσδιορισμός της default mask τιμής
cat /etc/profile | less

Στις περισσότερες διανομές χρησιμοποιείται η τιμή 0022 (umask 022)


• για να αποτρέψουμε άλλους χρήστες που βρίσκονται στο ίδιο group
με αυτό του δημιουργού του αρχείου/καταλόγου να έχουν δικαιώματα
εγγραφής στο αρχείο/κατάλογο
• μόνο ο ιδιοκτήτης θα έχει δικαίωμα εγγραφής και τα group & others
θα έχουν δικαίωμα ανάγνωσης στα αρχεία/καταλόγους.

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

• Χρήστες και ομάδες αντιστοιχούνται σε αριθμούς:


• user ID (uid)
• group ID (gid)
• τα uid = gid = 0 είναι αντιστοιχισμένα στον root

στα αρχεία /etc/passwd και /etc/group, αντίστοιχα

31
Setuid and Setgid
Όταν το προνόμιο setuid ή setgid είναι ενεργό, στη θέση του προνομίου
execute του owner ή του group εμφανίζεται το:
• s (πεζό), αν έχει εκχωρηθεί το προνόμιο εκτέλεσης (x)
• S (κεφαλαίο) αν δεν έχει εκχωρηθεί το προνόμιο εκτέλεσης (x)

Mπορούμε να θέσουμε τα setuid και setgid ως εξής:


chmod u+s <object>
chmod g+s <object>

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
• προστατευόμενο αρχείο συστήματος

Η τροποποίησή του γίνεται μέσω της εντολής /usr/bin/passwd που


ανήκει στον χρήστη root

Για να το πετύχουν αυτό οι απλοί χρήστες (χωρίς να έχουμε ο=w) έχει


τεθεί το setuid bit του αρχείου, οπότε:
real = userID, saved = 0 (root) και effective uid = 0

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 συχνά θεωρούνται ως πιθανοί κίνδυνοι για την


ασφάλεια γιατί ενεργοποιούν τη δυνατότητα για privilege escalation:
• αν τεθεί το setuid bit ενός προγράμματος του root, μπορεί να
χρησιμοποιηθούν exploits από απλούς χρήστες για την εκτέλεση
εντολών ως root
• π.χ. με αξιοποίηση ευπαθειών κατά την υλοποίηση, όπως buffer overflow

• Για λόγους ασφάλειας τα setuid & setgid των shell scripts αγνοούνται από
το ΛΣ

36
Λογοδοσία (audit)

Οι καταγραφές συμβάντων (event logging) στο Λ.Σ. Windows χωρίζονται


σε δυο βασικές κατηγορίες:

• Windows Logs: συμβάντα που αφορούν το σύνολο του συστήματος.

• Application and services logs: συμβάντα που προέρχονται από μια


μεμονωμένη εφαρμογή ή συστατικό

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)

Η εφαρμογή της επιστήμης της πληροφορικής με σκοπό την εξιχνίαση


ψηφιακών εγκλημάτων ή την υποβοήθηση της εξιχνίασης εγκλημάτων
που περιέχουν ηλεκτρονικά μέσα.

Σκοπός της ψηφιακής εγκληματολογίας είναι ο εντοπισμός ψηφιακών


πειστηρίων για την απάντηση στα ερωτήματα:
Τι (What), Που (Where), Πότε (When), Γιατί (Why), Ποιος (Who)
εμπλέκεται και Πώς (How).

Γνωστά ως “5Ws and How (5WH) questions”.

42
Ψηφιακή εγκληματολογία (digital forensics)
Για την απάντηση στα 5WH ερωτήματα ακολουθείται μία σειρά σταδίων
γνωστών ως «διαδικασία ψηφιακής εγκληματολογίας (digital forensics
process)».

Σύμφωνα με το Εθνικό Ινστιτούτο Προτύπων και Τεχνολογίας (National


Institute of Standards and Technology - NIST) των Η.Π.Α. τα στάδια είναι:

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)

%USERPROFILE%\Local Settings\Application Data\Microsoft\Windows\Usrclass.dat


• HKEY_USERS\<User SID>_Classes (HKEY_CURRENT_USER\Software\Classes)

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

Δεδομένα για τους λογαριασμούς χρηστών και των ομάδων (group)


• Ποιες ομάδες υπάρχουν;
• Ποιοι χρήστες υπάρχουν;
• Τι δικαιώματα έχουν;
• Κλειδιά; Προσπάθησε κανείς να τα πάρει;

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

◼ Οδηγίες:
◼ Δομή: στην ενότητα Υπόβαθρο να παρουσιάσετε συνοπτικά τα:

◼ Windows Registry (ορολογία, αρχεία, δομή, κ.ά.)

◼ Autopsy (ορολογία, συστατικά, κ.ά.)..

◼ Έκταση: μέχρι 2.000 λέξεις.

◼ Παράδοση: μέχρι την Τετάρτη, 18 Ιανουαρίου 2023, ώρα 23:59.

ΠΛΗ35
58

You might also like