Professional Documents
Culture Documents
Ασφάλεια Υπολογιστικών Συστημάτων Σπυρίδων Νικολάου ΤΕΙ Δυτικης Μακεδονιας
Ασφάλεια Υπολογιστικών Συστημάτων Σπυρίδων Νικολάου ΤΕΙ Δυτικης Μακεδονιας
Συστημάτων
Νικολάου Σπύρος
Τμήμα Μηχανικών Πληροφορικής ΤΕ
Ενότητα 1: Εισαγωγή
Σκοποί ενότητας
• Σε αυτή την ενότητα πραγματοποιείται
εισαγωγή στο μάθημα «Ασφάλεια
Υπολογιστικών Συστημάτων».
Επιθέσεις (2/3)
• Παθητικές επιθέσεις.
– Σκοπός: Απόκτηση πληροφοριών κατά τη μετάδοσή
τους.
– Δύσκολες στη ανίχνευση.
– Κρυπτογράφηση
– Παραδείγματα:
• Απελευθέρωση - Αποκάλυψη περιεχομένου μηνύματος
(release of message contents).
• Ανάλυση κίνησης (traffic analysis).
Επιθέσεις (3/3)
• Ενεργητικές επιθέσεις.
– Σκοποί:
• Τροποποίηση ροής δεδομένων.
• Δημιουργία ψεύτικης ροής δεδομένων.
• Παραδείγματα:
– Μεταμφίεση (masquerade).
– Επανεκπομπή (reply).
– Τροποποίηση μηνυμάτων (modification of messages).
– Άρνηση εξυπηρέτησης (denial of service).
Υπηρεσίες Ασφάλειας
• Πιστοποίηση ταυτότητας (authentication).
• Έλεγχος πρόσβασης .
• Απόρρητο δεδομένων.
• Ακεραιότητα δεδομένων.
• Μη αποποίηση.
• Υπηρεσία διαθεσιμότητας.
Πιστοποίηση Ταυτότητας
• Διασφάλιση ότι η οντότητα είναι αυτή που
ισχυρίζεται ότι δημιούργησε ή έστειλε τα
στοιχεία.
• Διασφάλιση ότι δεν υπάρχουν παρεμβολές από
τρίτους.
• Δυο υπηρεσίες:
– Πιστοποίηση ταυτότητας ομότιμης οντότητας (peer
entity authentication).
– Πιστοποίηση ταυτότητας προέλευσης δεδομένων
(data origin authentication).
Έλεγχος Πρόσβασης
• Περιορισμός/έλεγχος πρόσβασης.
• Ταυτοποίηση οντοτήτων.
• Χρήση πόρων μόνο από εξουσιοδοτημένες
οντότητες.
Απόρρητο Δεδομένων (1/2)
• Εμπιστευτικότητα σύνδεσης (Connection
Confidentiality).
– Προστασία δεδομένων όλων των χρηστών μιας
σύνδεσης.
• Ασυνδεσμική εμπιστευτικότητα (Connectionless
Confidentiality).
– Προστασία δεδομένων όλων των χρηστών
μεμονωμένου τμήματος δεδομένων.
Μη αποποίηση
• Αποτρέπει αποστολέα/παραλήπτη από άρνηση
μηνύματος που μεταδόθηκε.
• Μη αποποίηση, προέλευση (Origin).
– Απόδειξη ότι το μήνυμα στάλθηκε από το καθορισμένο
μέλος.
• Μη αποποίηση, προορισμός (Destination).
– Απόδειξη ότι το μήνυμα παραλήφθηκε από το
καθορισμένο μέλος.
Υπηρεσία Διαθεσιμότητας
• Διαθεσιμότητα για χρήση από εξουσιοδοτημένη
οντότητα.
• Αφορά σύστημα ή πόρο συστήματος.
• Επιθέσεις οδηγούν σε απώλεια ή μείωση
διαθεσιμότητας.
– Επιθέσεις άρνησης εξυπηρέτησης.
– Ιός που σβήνει αρχεία.
Μηχανισμοί Ασφάλειας
• Κρυπτογράφηση (Encipherment/Encryption).
• Ψηφιακή Υπογραφή (Digital Signature).
• Έλεγχος Πρόσβασης (Access Control).
• Ακεραιότητα δεδομένων (Data Integrity).
• Ανταλλαγή πιστοποίησης ταυτότητας (Authentication
Exchange).
• Προσαύξηση κίνησης (Traffic Padding).
• Έλεγχος δρομολόγησης (Routing Control).
• Μηχανισμός επικύρωσης (Notarization).
Ανάπτυξη Προτύπων και RFC
• Επιτροπή Αρχιτεκτονικής Διαδικτύου.
– Internet Architecture Board (IAB).
• Ομάδα Σχεδιασμού του Διαδικτύου.
– Internet Engineering Task Force (IETF).
• Καθοδηγητική Ομάδα Οργάνωσης του Διαδικτύου.
– Internet Engineering Steering Group (IESG).
Βιβλιογραφία
1. Κρυπτογραφία για Ασφάλεια Δικτύων Αρχές και
Εφαρμογές, Stallings.
2. Βασικές Αρχές Ασφάλειας Δικτύων: Εφαρμογές και
Πρότυπα, William Stallings.
3. Ασφάλεια δικτύων 6η Έκδοση, McClure Stuart, Scambray
Joel, Kurtz George.
4. Ασφάλεια Πληροφοριακών συστημάτων, Παγκαλος Γ.,
Μαυριδης Ι.
Ενότητα 2: Συμμετρική κρυπτογραφία
Αρχές συμμετρικής
κρυπτογράφησης (1/3)
• Συμβατική κρυπτογράφηση.
• Κρυπτογράφηση μυστικού κλειδιού.
• Κρυπτογράφηση ενός κλειδιού.
• Ο μόνος τύπος κρυπτογραφίας στα τέλη του ’70.
• Σήμερα ο ευρύτερα χρησιμοποιούμενος τρόπος
κρυπτογραφίας.
Αρχές συμμετρικής
κρυπτογράφησης (2/3)
• Ένα σύστημα κρυπτογράφησης έχει πέντε
συστατικά:
1. Αρχικό απλό κείμενο (plain text).
2. Αλγόριθμος κρυπτογράφησης (encryption algorithm).
3. Μυστικό κλειδί (secret key).
4. Κρυπτογράφημα (ciphertext).
5. Αλγόριθμος αποκρυπτογράφησης (decryption
algorithm).
Αρχές συμμετρικής
κρυπτογράφησης (3/3)
• Δυο απαιτήσεις.
– Ισχυρός αλγόριθμος κρυπτογράφησης.
• Να μην αποκρυπτογραφείται εύκολα το μήνυμα.
• Να μην βρίσκεται εύκολα το κλειδί.
– Ακόμα και αν κάποιος κατέχει πολλά κρυπτογραφημένα
μηνύματα και το αρχικό.
– Ασφάλεια κλειδιού.
• Παράδοση κλειδιού με μυστικό τρόπο σε
αποστολέα/παραλήπτη.
• Διατήρηση κλειδιού σε ασφαλές μέρος.
Ταξινόμηση Κρυπτογραφικών
Συστημάτων (1/4)
• Τρεις ανεξάρτητες διαστάσεις με βάση:
– Τον τύπο των λειτουργιών που χρησιμοποιούνται για
το μετασχηματισμό του αρχικού μηνύματος σε
κρυπτογράφημα.
– Τον αριθμό των κλειδιών που χρησιμοποιούνται.
– Τον τρόπο με τον οποίο γίνεται η επεξεργασία του
αρχικού μηνύματος.
Ταξινόμηση Κρυπτογραφικών
Συστημάτων (2/4)
• Με βάση τον τύπο των λειτουργιών που
χρησιμοποιούνται για το μετασχηματισμό του
αρχικού μηνύματος σε κρυπτογράφημα.
– Οι αλγόριθμοι βασίζονται σε 2 αρχές.
• Αντικατάσταση.
• Μετάθεση .
Ταξινόμηση Κρυπτογραφικών
Συστημάτων (3/4)
• Με βάση τον αριθμό των κλειδιών που
χρησιμοποιούνται.
– Αν χρησιμοποιείται το ίδιο κλειδί.
• Συμμετρικό σύστημα ή μοναδικού κλειδιού ή μυστικού
κλειδιού ή συμβατικής κρυπτογραφίας.
– Αν χρησιμοποιείται διαφορετικό κλειδί.
• Ασύμμετρο σύστημα ή διπλού κλειδιού ή κρυπτογραφίας
δημόσιου κλειδιού.
Ταξινόμηση Κρυπτογραφικών
Συστημάτων (4/4)
• Τον τρόπο με τον οποίο γίνεται η επεξεργασία
του αρχικού μηνύματος.
– Κωδικοποιητής τμημάτων (block cipher).
• Για κάθε τμήμα εισόδου ένα τμήμα εξόδου.
– Κωδικοποιητής ροής (stream cipher).
• Ένα στοιχείο εξόδου για μια ροή στοιχείων εισόδου.
Κρυπτανάλυση
• Προσπάθεια αποκάλυψης του αρχικού
μηνύματος ή του κλειδιού κρυπτογράφησης.
• Εξαρτάται:
– Από την φύση του κρυπτογραφικού συστήματος.
– Από τις διαθέσιμες πληροφορίες.
Εξαντλητική Αναζήτηση
Κλειδιού
Πίνακας 1. Εξαντλητική αναζήτηση κλειδιού. Πηγή: Διδάσκων (2015).
Key Size (bits) Number of Time required at
Alternative Keys 106 Decryption/µs
32 232 = 4.3 x 109 2.15 milliseconds
56 256 = 7.2 x 1016 10 hours
128 2128 = 3.4 x 1038 5.4 x 1018 years
168 2168 = 3.7 x 1050 5.9 x 1030 years
Πότε ένα σύστημα θεωρείται
ασφαλές;
• Κόστος παραβίασης κρυπτογραφήματος >> αξία
κρυπτογραφημένων πληροφοριών.
• Χρόνος «σπασίματος» >> διάρκειας ζωής
πληροφοριών.
– Όπου >> μεταφράζεται ως «πολύ μεγαλύτερο»!
Πρότυπο κρυπτογράφησης
δεδομένων - DES
• Το πιο διαδεδομένο (αρχικά) σύστημα κρυπτογράφησης.
• Βασίζεται στον αλγόριθμο Data Encryption Algorithm
(DEA).
• Αρχικό κείμενο 64 bit.
– Κείμενα μεγαλύτερα των 64 bit υφίστανται επεξεργασία σε
τμήματα των 64 bit.
• Κλειδί 56 bit.
– Σχετικά μικρό κλειδί και αυτό θεωρείται αδυναμία του.
• 16 γύροι επεξεργασίας.
• Το 1999 «έσπασαν» κλειδί του αλγορίθμου σε 22 ώρες και
15 λεπτά.
Κρυπτογράφηση Δεδομένων
DES
• Επαναληπτικοί Κανόνες.
– Li = Ri-1.
– Ri = Li-1, F(Ri-1, Ki).
• Ανησυχίες για τον αλγόριθμο.
– Όσον αφορά την ισχύ του.
• Δεν έχει ανακαλυφθεί σημαντική αδυναμία.
– Όσον αφορά το μέγεθος κλειδιού.
• 256 (7,2x1016) πιθανά κλειδιά – χίλια χρόνια για να
κρυπταναλυθεί.
• Μειονεκτήματα:
– Αργός στις υλοποιήσεις λογισμικού.
– Μέγεθος τμήματος 64 bit.
• Θα θέλαμε μεγαλύτερο μέγεθος για λόγους ασφάλειας και
απόδοσης.
Εξελιγμένο Πρότυπο
Κρυπτογράφησης - AES
• Εξέλιξη του 3DES.
• Μήκος κλειδιού 128, 192 ή 256 bit.
• Μέγεθος τμήματος 128 bit.
– Αποκρυπτογράφηση:
10100000 Κρυπτογράφημα
⊗ 01101100 Ροή κλειδιών
11001100 Αρχικό Κείμενο
Σημαντικά Σχεδιαστικά
Ζητήματα
• Η γεννήτρια παράγει ψευδοτυχαία byte.
– Κάποια στιγμή θα αρχίσουν να επαναλαμβάνονται.
– Όσο μεγαλύτερη ακολουθία τόσο δυσκολότερη κρυπτανάλυση.
• Απαιτείται ισοκατανομή μεταξύ των 256 συνδυασμών των
8 bit.
– Θα φαίνεται πιο τυχαίο το κρυπτογράφημα άρα θα είναι
δυσκολότερη η κρυπτανάλυση.
• Όσο μεγαλύτερο είναι το κλειδί τόσο μεγαλύτερη η
προστασία από επιθέσεις εξαντλητικής αναζήτησης
κλειδιού.
Κωδικοποιητές Ροής
και Κωδικοποιητές Τμημάτων (1/2)
• Κωδικοποιητές Ροής:
– Με σωστά σχεδιασμένη γεννήτρια εξίσου ασφαλείς με
τον αποκωδικοποιητή τμημάτων.
– Πλεονεκτήματα.
• Ταχύτεροι.
• Χρησιμοποιούν πολύ μικρότερο κώδικα.
Κωδικοποιητές Ροής
και Κωδικοποιητές Τμημάτων (2/2)
• Κωδικοποιητές Τμημάτων:
– Επαναχρησιμοποίηση ίδιων κλειδιών.
– Μειονέκτημα.
• Αν δυο αρχικά κείμενα κρυπτογραφηθούν με το ίδιο
κλειδί, η κρυπτανάλυση είναι πολύ απλή.
– Ειδικά αν είναι πολύ απλά τα κείμενα π.χ. αριθμοί
πιστωτικών καρτών.
Σύγκριση Ταχύτητας
Συμμετρικών Κωδικοποιητών
Πίνακας 2. Σύγκριση ταχύτητας συμμετρικών κωδικοποιητών
(Μετρήσεις σε Pentium II). Πηγή: Διδάσκων (2015).
Κώδικας Μήκος Κλειδιού Ταχύτητα* (Mbps)
DES 56 9
3DES 168 3
AES μεταβλητό 0,9
RC4 μεταβλητό 45
Αλγόριθμος RC4
• Μεταβλητό μήκος κλειδιού.
• Βασίζεται στην χρήση μιας τυχαίας μετάθεσης
(permutation).
• Γρήγορος ως λογισμικό.
• Χρησιμοποιείται:
– Συστήματα SSL/TLS (Secure Sockets Layer/Transport
Layer Security) στο Web.
– Πρωτόκολλο WEP (Wireless Equivalent Protocol).
– Πρωτόκολλο WPA (WiFi Protected Access).
Περιγραφή Αλγορίθμου RC4
• Κλειδί μήκους 1-256 byte δίνει τιμές σε διάνυσμα
S (S[0], S[1],...,S[255]).
• Ανά πάσα στιγμή το S περιέχει μετάθεση όλων
των 8μπιτων αριθμών.
• Παράγεται συστηματικά ένα byte k από τα
στοιχεία του S.
• Μετά από κάθε παραγωγή ενός k, γίνεται νέα
μετάθεση των στοιχείων του S.
Μέθοδος Αλυσιδωτής
Κρυπτογράφησης Τμημάτων
• Είσοδος Αλγορίθμου:
– (Τρέχον τμήμα κειμένου) XOR (Προηγούμενο τμήμα
κρυπτογραφήματος).
Χ ι Ε κ [Χ ι 1 Π ι ]
Δ Κ [Χ ι ] Δ Κ [Ε Κ (Χ ι 1 Π ι )]
Δ Κ [Χ ι ] (Χ ι 1 Π ι )
Χ ι 1 Δ Κ [Χ ι ] Χ ι 1 Χ ι 1 Π ι Π ι
Τοποθέτηση Συσκευών
Κρυπτογράφησης
• Κρυπτογράφηση Συνδέσμου.
– Link encryption.
• Κρυπτογράφηση από άκρο σε άκρο.
– End-to-end encryption.
Κρυπτογράφηση Συνδέσμου
• Κάθε τηλεπικοινωνιακός σύνδεσμος εξοπλίζεται
με συσκευή κρυπτογράφησης και στα δυο άκρα
του.
• Προσφέρει υψηλό επίπεδο ασφάλειας.
• Αποκρυπτογράφηση πακέτου κατά την είσοδό
του σε μεταγωγέα.
– Για να διαβάσει την επικεφαλίδα.
– Ευπάθεια στους μεταγωγείς.
Κρυπτογράφηση από άκρο σε
άκρο
• Η πηγή κρυπτογραφεί.
• Ο παραλήπτης αποκρυπτογραφεί.
• Τα δεδομένα μεταδίδονται κρυπτογραφημένα.
• Αδυναμία σε περίπτωση εικονικού κυκλώματος:
– Κρυπτογραφούνται μόνο τα δεδομένα του χρήστη.
– Δεν κρυπτογραφείται η επικεφαλίδα.
– Το μοτίβο της κίνησης δεν είναι ασφαλές.
– Λύση: Ταυτόχρονη χρήση Κρυπτογράφησης Συνδέσμου και
Κρυπτογράφησης από άκρο σε άκρο.
Πιστοποίηση Αυθεντικότητας
Μηνυμάτων
• Ένα μήνυμα/αρχείο/έγγραφο θεωρείται γνήσιο
όταν.
– Προέρχεται όντως από την προέλευση που δηλώνει.
– Τα περιεχόμενά του δεν έχουν μεταβληθεί.
– Δεν έχει σκόπιμα καθυστερήσει/αναμεταδοθεί.
• Η Πιστοποίηση Αυθεντικότητας Μηνυμάτων
(message authentication) προστατεύει από
ενεργητικές επιθέσεις.
– Σε αντίθεση με την κρυπτογράφηση.
Προσεγγίσεις Πιστοποίησης
Αυθεντικότητας Μηνυμάτων
• Με χρήση συμβατικής κρυπτογράφησης
(Authentication Using Conventional Encryption).
• Χωρίς κρυπτογράφηση (Authentication without
Message Encryption).
• Message Authentication Code - MAC.
Πιστοποίηση με χρήση
συμβατικής κρυπτογράφησης
• Μόνο αποστολέας και παραλήπτης μοιράζονται κάποιο
κλειδί.
– Άρα μόνο ο αυθεντικός αποστολέας μπορεί να
κρυπτογραφήσει επιτυχώς το μήνυμα.
• Για περεταίρω επιβεβαίωση της αυθεντικότητας της
αποστολής, μπορούν να χρησιμοποιηθούν επιπλέον:
– Κώδικας ανίχνευσης σφαλμάτων (error-detection code).
– Αριθμός ακολουθίας (Sequence Number).
– Χρονοσήμανση (Timestamp).
Πιστοποίηση αυθεντικότητας
χωρίς κρυπτογράφηση
• Προσαρτάται ετικέτα πιστοποίησης
αυθεντικότητας (authentication tag) στα
μηνύματα.
• Τα μηνύματα δεν είναι κρυπτογραφημένα.
– Δεν εξασφαλίζεται το απόρρητο της επικοινωνίας.
• Τότε για ποιο λόγο να χρησιμοποιηθεί;
– Ακολουθούν 3 παραδείγματα.
Παραδείγματα
• Εφαρμογές εκπομπής μηνύματος σε πολλούς
παραλήπτες.
– Είναι πιο φθηνό και αξιόπιστο να υπάρχει μόνο ένας
προορισμός που θα ελέγχει την πιστοποίηση
αυθεντικότητας.
• Επικοινωνία ανάμεσα σε μέλη με μεγάλο φόρτο
εργασίας.
– Στην οποία κάποιο μέλος δεν προλαβαίνει να
αποκρυπτογραφήσει όλα τα εισερχόμενα μηνύματα.
• Πιστοποίηση αυθεντικότητας προγράμματος
υπολογιστή.
Message Authentication Code -
MAC (1/3)
• Χρήση μυστικού κλειδιού για την παραγωγή του κωδικού
πιστοποίησης αυθεντικότητας μηνυμάτων (MAC).
– Προσαρτάται στο μήνυμα.
• Τα επικοινωνούντα μέλη μοιράζονται το ίδιο κλειδί KAB.
• MACM = F( KAB,M ).
• O κωδικός MAC αποστέλλεται μαζί με το μήνυμα.
• Ο παραλήπτης κάνει την ίδια διαδικασία και συγκρίνει τον
κωδικό που υπολόγισε με τον κωδικό που παρέλαβε.
Μονόδρομη Συνάρτηση
Κατακερματισμού
• Εναλλακτική της MAC.
• Είσοδος: Αρχείο Μ.
• Έξοδος: Σύνοψη μηνύματος H(M).
– Message digest.
• Δεν χρησιμοποιείται μυστικό κλειδί.
• Ο τρόπος αποστολής της σύνοψης με το μήνυμα
την καθιστά αυθεντική.
Απαιτήσεις Συναρτήσεων
Κατακερματισμού
• Σκοπός: η παραγωγή “fingerprint”.
• Ιδιότητες Συναρτήσεων Κατακερματισμού Η().
– Εφαρμόζονται σε οποιουδήποτε μεγέθους τμήματα
δεδομένων.
– Παράγει έξοδο συγκεκριμένου σταθερού μεγέθους.
– Εύκολος υπολογισμός του H(x) για οποιοδήποτε x.
– Για οποιοδήποτε h να είναι αδύνατο να βρεθεί το x για το
οποίο Η(x) = h (ιδιότητα one way).
– Για οποιοδήποτε x να είναι αδύνατο να βρεθεί y ≠ x με H(x)
= H(y) (ιδιότητα ασθενούς ανθεκτικότητας).
– Eίναι αδύνατον να βρεθεί ζευγάρι (x,y) ώστε Η(x) = H(y)
(ιδιότητα ισχυρής ανθεκτικότητας).
Απλές Συναρτήσεις
Κατακερματισμού (1/4)
• Όλες οι συναρτήσεις κατακερματισμού
λειτουργούν με βάση τις ακόλουθες αρχές:
– Η είσοδος αντιμετωπίζεται σαν ακολουθία από
τμήματα των n bit.
– Η επεξεργασία της εισόδου γίνεται κατά ένα τμήμα τη
φορά, με επαναληπτικό τρόπο.
– Στο τέλος παράγεται έξοδος των n bits.
Απλές Συναρτήσεις
Κατακερματισμού (2/4)
• Ci = bi1 ⊕ bi2 ⊕ ... ⊕ bim.
– Ci: Το i bit του κωδικού κατακερματισμού.
– m: Ο αριθμός των τμημάτων των n bit στην
είσοδο.
– bij: Το i bit του j τμήματος.
– ⊕: Ο συντελεστής XOR.
Απλές Συναρτήσεις
Κατακερματισμού (3/4)
• Longitudinal Redundancy Check - LRC.
– Έλεγχος ακεραιότητας τυχαίων δεδομένων.
– Η πιθανότητα λάθος δεδομένα να οδηγήσουν στην
ίδια τιμή κατακερματισμού είναι 2-n.
– Όχι αποτελεσματική σε δεδομένα με προβλέψιμη
μορφή.
• Κείμενα αρχείου MSB = 0.
Απλές Συναρτήσεις
Κατακερματισμού (4/4)
• Longitudinal Redundancy Check - LRC (Συνέχεια).
– Λύση: Κυκλική ολίσθηση.
• Αρχική τιμή κατακερματισμού = 0.
• Για κάθε τμήμα.
– Μεταφέρουμε την τρέχουσα τιμή προς τα αριστερά κατά
1 bit.
– Εφαρμόζουμε στο τμήμα XOR με την τιμή
κατακερματισμού.
Ασφαλής Συνάρτηση
Κατακερματισμού SHA-1
• Παράγει τιμή κατακερματισμού μήκους 160 bit.
• Εκδόσεις SHA-256, SHA-384, SHA-512.
– Τιμή κατακερματισμού 256, 384, 512 bit, αντίστοιχα.
– Ίδια βασική δομή με την SHA-1.
• Για την SHA-512 ισχύει.
– Είσοδος: μήνυμα με μέγιστο μήκος 2128 bit.
– Έξοδος: σύνοψη μήκους 512 bit.
– Επεξεργασία εισόδου σε block των 1024 bit.
Ασφαλής Συνάρτηση
Κατακερματισμού SHA-512 (1/4)
• Βήμα 1: Προσάρτηση των bit συμπλήρωσης.
– Μήκος μηνύματος ≡ 896 (mod 1024).
– Bit συμπλήρωσης: 1000…0.
• Βήμα 2: Προσάρτηση του μήκους.
– Προσάρτηση block 128 bit (μη προσημασμένος
ακέραιος) που περιέχει το μήκος του μηνύματος πριν
την συμπλήρωση.
Ασφαλής Συνάρτηση
Κατακερματισμού SHA-512 (2/4)
• Βήμα 3: Απόδοση αρχικών τιμών στην περιοχή
προσωρινής αποθήκευσης κατακερματισμού.
– Buffer αποθήκευσης αποτελεσμάτων.
– 8 καταχωρητές των 64 bit (a, b, c, d, e, f, g, h).
– Αρχικοποίηση με δεκαεξαδικές τιμές.
• 64 πρώτα bit του δεκαδικού μέρους της τετραγωνικής
ρίζας των πρώτων 8 πρώτων αριθμών.
Ασφαλής Συνάρτηση
Κατακερματισμού SHA-512 (3/4)
• Βήμα 4: Επεξεργασία του μηνύματος σε τμήματα
των 1024 bit.
– 80 γύροι επεξεργασίας.
– Είσοδος κάθε γύρου: Τα περιεχόμενα του buffer.
– Wi: Προκύπτει από επεξεργασία του Mi.
– Ki: 64 πρώτα bit του δεκαδικού μέρους της ρίζας των
πρώτων 80 πρώτων αριθμών – χρησιμοποιείται για να
απαλείψει τυχόν κανονικότητες στα δεδομένα εισόδου.
– Η έξοδος του 80ου γύρου προστίθεται στην είσοδο του
1ου γύρου του επόμενου «κομματιού».
Ασφαλής Συνάρτηση
Κατακερματισμού SHA-512 (4/4)
• Βήμα 5: Έξοδος.
– Το Βήμα 4 πραγματοποιείται για τα Ν τμήματα.
– Η έξοδος του σταδίου Ν είναι και η σύνοψη του
μηνύματος.
Άλλοι ασφαλείς αλγόριθμοι
κατακερματισμού
Πίνακας 1. Άλλοι ασφαλείς αλγόριθμοι κατακερματισμού. Πηγή: Διδάσκων (2015).
SHA-512 MD5 Whirlpool
Μέγεθος 512 bits 128 bits 512 bits
σύνοψης
Μέγεθος 1024 bits 512 bits 512 bits
μονάδας
επεξεργασίας
Μέγιστο 2128 bits ∞ ∞
μέγεθος
αρχικού
μηνύματος
HMAC
• Ανάπτυξη κωδικών πιστοποίησης αυθεντικότητας
μηνυμάτων (MAC) με βάση έναν κρυπτογραφικό
κωδικό κατακερματισμού π.χ. SHA-1.
• Κίνητρα.
– Πιο γρήγορη εκτέλεση συναρτήσεων κατακερματισμού
σε σχέση με αλγορίθμους κρυπτογραφίας (π.χ. DES).
– Ευρέως διαθέσιμες βιβλιοθήκες κώδικα για
συναρτήσεις κατακερματισμού.
HMAC – Περιγραφή
• Η: Συνάρτηση κατακερματισμού.
• Μ: Μήνυμα εισόδου.
• Υi: Το τμήμα i του Μ.
• L: Ο αριθμός τμημάτων του Μ.
• b: Αριθμός bit ενός τμήματος.
• n: Μέγεθος κωδικού κατακερματισμού από την Η.
• K: Μυστικό κλειδί.
• Κ+: Το Κ συμπληρωμένο με 0 ώστε να έχει μήκος b bits.
• ipad: 00110110 b/8 φορές.
• opad: 0101100 b/8 φορές.
HMAC - Βήματα
HMAC(K,M) = H[(K+⊕opad) || H[(K+⊕ ipad)||M]]
Αλγόριθμος Καίσαρα
• Κάθε γράμμα του αλφάβητου αντικαθίσταται από
το γράμμα βρίσκεται x θέσεις πιο κάτω στο ίδιο
αλφάβητο.
• Το όνομά του οφείλεται στο Ιούλιο Καίσαρα.
– Τον χρησιμοποιούσε για να επικοινωνεί με τους
στρατηγούς του με ασφάλεια.
Permutation Algorithm
• Κάθε γράμμα του αρχικού κειμένου
αντικαθίσταται από κάποιο άλλο γράμμα του
αρχικού κειμένου.
• Δεν αλλάζει τους ίδιους τους χαρακτήρες απλά
αλλάζει την θέση τους στο κείμενο.
– Άρα μπορεί εύκολα να ανιχνευθεί με βάση την
συχνότητα εμφάνισης των γραμμάτων.
Απαιτήσεις κρυπτογραφίας
δημόσιου κλειδιού (1/2)
• Να είναι υπολογιστικά εύκολο για ένα μέλος Β να
δημιουργεί ένα ζεύγος PUb, PRb.
• Να είναι υπολογιστικά εύκολο για τον αποστολέα
να δημιουργεί το κρυπτογράφημα .
– C = E( PUb, M ).
• Να είναι υπολογιστικά εύκολο για τον παραλήπτη
να αποκρυπτογραφεί το κρυπτογράφημα με το
ιδιωτικό κλειδί.
– Μ = D(PRb, C) = D [ PRb, E( PUb, M ) ].
Απαιτήσεις κρυπτογραφίας
δημόσιου κλειδιού (2/2)
• Να είναι υπολογιστικά αδύνατο για κάποιον επιτιθέμενο
που γνωρίζει το δημόσιο κλειδί να βρίσκει το ιδιωτικό
κλειδί.
• Να είναι υπολογιστικά αδύνατο για κάποιον επιτιθέμενο
που γνωρίζει το δημόσιο κλειδί και ένα κρυπτογράφημα
να ανακτήσει το αρχικό μήνυμα.
• Οποιοδήποτε από τα δυο συσχετισμένα κλειδιά μπορεί
να χρησιμοποιηθεί για κρυπτογράφηση, με το άλλο να
χρησιμοποιείται για αποκρυπτογράφηση.
– Μ = D [ PUb, E( PRb, M ) ] = D [ PRb, E( Pub, M ) ].
Αλγόριθμοι κρυπτογραφίας
δημόσιου κλειδιού
• Οι πιο συχνά χρησιμοποιούμενοι είναι οι RSA και Hellman.
• RSA.
– Ron Rivest, Adi Shamir, Led Adleman MIT, 1977.
– O RSA είναι κωδικοποιητής τμημάτων.
– Η πιο ευρέως αποδεκτή κρυπτογράφηση δημόσιου κλειδιού.
• Diffie – Hellman.
– Επιτρέπει την ανταλλαγή κλειδιών με ασφάλεια.
– Βασίζεται στην δυσκολία υπολογισμού διακριτών
λογαρίθμων.
Ο αλγόριθμος δημόσιου
κλειδιού RSA
• Επιλέγουμε 2 πρώτους αριθμούς p, q.
• Υπολογίζουμε το n=pq.
• Υπολογίζουμε το φ(n) = (p-1)(q-1).
• Επιλέγουμε e τέτοιο ώστε gcd(φ(n),e) = 1 και 1<e< φ(n).
• Ορίζουμε d ώστε de mod φ(n) = 1 και d< φ(n).
• Δημόσιο κλειδί PU = {e,n}.
• Ιδιωτικό κλειδί PR = {d,n}.
• C = Me mod n.
• M = Cd mod n = (Me)d mod n = Med mod n.
Προβλήματα Ψηφιακής
Υπογραφής
• Ο Κώστας θέλει να πλαστογραφήσει την ψηφιακή υπογραφή
της Μαρίας.
• Μπορεί να υπογράψει μια επιταγή με το δικό του ιδιωτικό
κλειδί και στη συνέχεια να παρουσιάσει το δημόσιο κλειδί του
σαν να είναι της Μαρίας.
• Εάν οι υπόλοιποι βασιστούν στα λεγόμενά του, η
πλαστογράφηση είναι πετυχημένη.
• Άρα χρειάζεται να υπάρχει εμπιστοσύνη απέναντι στην
αντιστοίχηση κλειδιού και ταυτότητας.
• Η ψηφιακή υπογραφή δημιουργεί πρόβλημα αντιστοίχισης
κλειδιών.
• Οπότε απαιτείται η ύπαρξη μιας τρίτης, έμπιστης οντότητας.
Νομικό Πλαίσιο
• Διεθνής αναγνώριση ψηφιακών υπογραφών ως ισότιμες
με τις χειρόγραφες και σε μερικές περιπτώσεις ως
ισχυρότερες.
• Η Ευρωπαϊκή οδηγία EC/93/99 για τις ηλεκτρονικές
υπογραφές έχει ήδη υιοθετηθεί από όλα τα κράτη μέλη.
• Στην Ελλάδα υιοθετήθηκε με το ΠΔ150/2001.
• Η ΕΕΤΤ με την απόφαση 248/71 (ΦΕΚ 603/Β’/16-5-2002)
ρυθμίζει την διαπίστευση των παρόχων υπηρεσιών
πιστοποίησης και την έκδοση αναγνωρισμένων
πιστοποιητικών.
Ηλεκτρονικά Υπογεγραμμένο
Έγγραφο
• Αποτελείται από τα στοιχεία:
– Κύριο έγγραφο οποιασδήποτε ηλεκτρονικής μορφής.
– Συνημμένη ηλεκτρονική υπογραφή.
– Χρονοσήμανση της υπογραφής.
• Αποδίδεται από τρίτο πάροχο υπηρεσιών.
• Καθορίζει την ακριβή ώρα δημιουργίας της υπογραφής.
– Πιστοποιητικό δημόσιου κλειδιού του υπογραφόντα.
• Αποδεικνύει ότι το κλειδί του υπογράφοντα ανήκει όντως σε
αυτόν, ότι δηλαδή αυτός που υπογράφει είναι όντως αυτός ο
οποίος ισχυρίζεται ότι είναι.
Πιστοποιητικά δημόσιων
κλειδιών (1/3)
• Πρόβλημα:
– Εάν κάποιος προσποιηθεί ότι είναι ο χρήστης Α και
δημοσιοποιήσει το δημόσιο κλειδί του, μπορεί να
διαβάσει όλα τα μηνύματα που προορίζονται για τον Α.
• Λύση:
– Πιστοποιητικό δημόσιου κλειδιού.
• Αποτελείται από ένα δημόσιο κλειδί και ένα userID
υπογεγραμμένα από τρίτο, έμπιστο μέλος (Certificate
Authority).
Πιστοποιητικά δημόσιων
κλειδιών (2/3)
• Ψηφιακά υπογεγραμμένη δομή δεδομένων που
αντιστοιχίζει μία ή περισσότερες ιδιότητες μιας φυσικής
οντότητας στο δημόσιο κλειδί που της ανήκει.
• Υπογράφονται από μια τρίτη, έμπιστη οντότητα (Trusted
Third Party - TTP).
• Διασφαλίζει με τεχνικά, νομικά μέσα ότι ένα δημόσιο
κλειδί ανήκει σε μια συγκεκριμένη οντότητα.
– Άρα η οντότητα αυτή είναι ο νόμιμος κάτοχος του
αντίστοιχου ιδιωτικού κλειδιού.
Πιστοποιητικά δημόσιων
κλειδιών (3/3)
• Στοιχεία πιστοποιητικού:
– Πληροφοριακά στοιχεία για τον χρήστη.
– Το δημόσιο κλειδί του χρήστη.
– Το όνομα μιας Αρχής Πιστοποίησης (CA).
– Την ψηφιακή υπογραφή της CA.
Ασφάλεια Ηλεκτρονικού
Ταχυδρομείου
• Δύο βασικές τεχνικές για εμπιστευτικότητα και
αυθεντικοποίηση ηλεκτρονικού
ταχυδρομείου.
– Pretty Good Privacy (PGP).
– Secure/Multipurpose Internet Mail Extension
(S/MIME).
Pretty Good Privacy
• Δημιουργία του Phillip R. Zimmerman (1995).
• Παρέχει υπηρεσίες:
– Εξασφάλισης απορρήτου.
– Πιστοποίησης αυθεντικότητας.
• Μπορεί να χρησιμοποιηθεί σε εφαρμογές:
– Email.
– Αποθήκευσης αρχείων.
Περιγραφή λειτουργίας
• Αποτελείται από 5 υπηρεσίες:
1. Πιστοποίηση (Authentication).
2. Εμπιστευτικότητα (Confidentiality).
3. Συμπίεση (Compression).
4. Συμβατότητα με ηλεκτρονικό ταχυδρομείο (Email
compatibility).
5. Κατάτμηση (Segmentation).
Πιστοποίηση (1/5)
• Υπηρεσία ψηφιακής υπογραφής.
• Ενέργειες:
– Δημιουργία μηνύματος από αποστολέα.
– Χρήση SHA-1 για παραγωγή κωδικού κατακερματισμού
μήκους 160 bit.
– Κρυπτογράφηση του κωδικού κατακερματισμού με
RSA και ιδιωτικό κλειδί του αποστολέα.
• Προσάρτηση αποτελέσματος στο μήνυμα.
Πιστοποίηση (2/5)
• Ενέργειες (Συνέχεια):
– Χρήση RSA και δημοσίου κλειδιού αποστολέα για
αποκρυπτογράφηση από τον παραλήπτη.
• Ανάκτηση κωδικού κατακερματισμού.
– Δημιουργία νέου κωδικού κατακερματισμού για το
μήνυμα από παραλήπτη και σύγκριση με τον
αποκρυπτογραφημένο κωδικό κατακερματισμού.
• Αν ταιριάζουν, το μήνυμα είναι αυθεντικό.
Πιστοποίηση (3/5)
• Παράδειγμα.
– Η Αλίκη κατέχει ζευγάρι δημόσιου/ιδιωτικού
(PUA/PRA) κλειδιού και θέλει να στείλει ένα
υπογεγραμμένο μήνυμα m στον Βασίλη.
– Η Αλίκη παράγει την σύνοψη μηνύματος SHA(m).
– Η Αλίκη κρυπτογραφεί την σύνοψη (RSA) με το
ιδιωτικό της κλειδί για να πάρει το κρυπτογράφημα c =
E [PRA, SHA(m)].
– Η Αλίκη στέλνει στον Βασίλη το ζευγάρι (m, c).
Πιστοποίηση (4/5)
• Παράδειγμα (Συνέχεια).
– Ο Βασίλης λαμβάνει το ζευγάρι και αποκρυπτογραφεί
(RSA) το c χρησιμοποιώντας το PUA για να λάβει την
ψηφιακή υπογραφή s=D[PUA,c].
– Ο Βασίλης υπολογίζει την σύνοψη του m
χρησιμοποιώντας το SHA-1.
– Αν η σύνοψη που βρίσκει είναι όμοια με το s, τότε το
μήνυμα είναι αυθεντικό και:
• Πραγματικά προέρχεται από την Αλίκη.
– Η Αλίκη δεν μπορεί αργότερα να αρνηθεί την
αποστολή του μηνύματος.
Πιστοποίηση (5/5)
• Χρήση αποδοτικού συνδυασμού RSA SHA-1.
– RSA: Ο παραλήπτης είναι βέβαιος ότι μόνο ο κάτοχος
του ιδιωτικού κλειδιού μπορεί να παραγάγει την
ψηφιακή υπογραφή.
– SHA-1: O παραλήπτης είναι βέβαιος ότι κανείς άλλος
δεν μπορεί να παραγάγει μήνυμα που να ταιριάζει
στον κωδικό κατακερματισμού.
– Εναλλακτικά, οι ψηφιακές υπογραφές μπορούν να
παραχθούν με χρήση των DSS/SHA-1.
Εμπιστευτικότητα (1/2)
• Επιτυγχάνεται με την κρυπτογράφηση των μηνυμάτων.
• Διανομή κλειδιών:
– Κάθε συμμετρικό κλειδί χρησιμοποιείται μόνο μία φορά.
• Διαδικασία διανομής κλειδιών:
– Δημιουργία τυχαίου 128 bit αριθμού (κλειδί περιόδου εργασίας)
από αποστολέα.
– Κρυπτογράφηση μηνύματος με το κλειδί.
– Κρυπτογράφηση κλειδιού με RSA με το δημόσιο κλειδί του
παραλήπτη.
– Xρήση RSA από παραλήπτη με το ιδιωτικό του κλειδί για να
αποκρυπτογραφήσει το κλειδί περιόδου εργασίας.
– Αποκρυπτογράφηση του μηνύματος με το κλειδί περιόδου
εργασίας.
Εμπιστευτικότητα (2/2)
• Παράδειγμα.
– Η Αλίκη θέλει να στείλει ένα εμπιστευτικό μήνυμα m στον Βασίλη.
– Η Αλίκη δημιουργεί ένα τυχαίο session key k.
– Η Αλίκη κρυπτογραφεί (π.χ. 3DES) το k με το δημόσιο κλειδί του
Βασίλη k’=E[PUB, k ].
– Η Αλίκη κρυπτογραφεί (RSA) το m με το k και παίρνει το
κρυπτογράφημα c=E[k, m].
– Η Αλίκη στέλνει στον Βασίλη το ζευγάρι (k’, c).
– Ο Βασίλης λαμβάνει το ζευγάρι και αποκρυπτογραφεί (RSA) το k’ με
το ιδιωτικό του κλειδί για να λάβει το session key: k = D[PRB, k’].
– Ο Βασίλης χρησιμοποιεί το k για να αποκρυπτογραφήσει το m=D[k,
c].
Συμβατότητα με ηλεκτρονικό
ταχυδρομείο
• Πολλά συστήματα email μεταφέρουν μηνύματα
μόνο σε μορφή ASCII.
– Μπορεί να δημιουργήσει πρόβλημα σε
κρυπτογραφημένα μηνύματα γιατί το κρυπτογράφημα
ίσως δεν αντιστοιχεί σε χαρακτήρες ASCII.
• To PGP λύνει το πρόβλημα χρησιμοποιώντας
μετατροπή σε radix-64.
Μετατροπή σε Radix-64
• Έστω ότι το κείμενο που πρέπει να
κρυπτογραφηθεί έχει μετατραπεί σε κώδικα ASCII.
• Η μετατροπή σε radix-64 γίνεται ως εξής.
– Το μήνυμα χωρίζεται σε τμήματα των 24 bits (3 bytes).
– Κάθε τμήμα χωρίζεται σε 4 κομμάτια των 6 bits.
– Κάθε τμήμα θα έχει μια τιμή στο εύρος 0 έως 26-1 (=63).
– Η κάθε τιμή κωδικοποιείται σε έναν εκτυπώσιμο
χαρακτήρα με βάση τον πίνακα που ακολουθεί.
Κατάτμηση
• Πολλές υπηρεσίες Διαδικτύου επιβάλλουν
μέγιστο μέγεθος μηνυμάτων.
– Μεγαλύτερα μηνύματα διασπώνται.
• Το PGP υποδιαιρεί αυτόματα τα μεγάλα
μηνύματα σε μικρότερα.
• Στον παραλήπτη αφαιρούνται όλες οι
επικεφαλίδες email και επανασυναρμολογείται το
αρχικό μήνυμα.
Κρίκοι κλειδιών
• Δομές δεδομένων του PGP για την αποθήκευση
των κλειδιών σε κάθε κόμβο.
– Κρίκος ιδιωτικών κλειδιών.
• Αποθήκευση δημόσιου/ιδιωτικού κλειδιού του ίδιου
του κόμβου.
– Κρίκος δημόσιων κλειδιών.
• Αποθήκευση δημόσιων κλειδιών για άλλους γνωστούς
προς τον κόμβο χρήστες.
Ενότητα 5: IPSec
Περιεχόμενα ενότητας
• Επισκόπηση IPSec.
• Αρχιτεκτονική IPSec.
• Υπηρεσίες IPSec.
• Συσχετίσεις ασφάλειας.
• Αλγόριθμοι κρυπτογράφησης και πιστοποίησης
ταυτότητας.
• Διαχείριση κλειδιών.
• Oakley.
• Βιβλιογραφία.
Υπηρεσίες IPSec
• Έλεγχος πρόσβασης.
• Ασυνδεσμική ακεραιότητα.
• Πιστοποίηση προέλευσης δεδομένων.
• Απόρριψη πακέτων επανεκπομπής.
• Απόρρητο (κρυπτογράφηση).
• Εμπιστευτικότητα περιορισμένης δικτυακής
κίνησης.
Συσχετίσεις ασφάλειας (1/2)
• Μία μονοσήμαντη σχέση μεταξύ ενός αποστολέα
και ενός παραλήπτη.
• Ορίζεται από τρεις παραμέτρους:
– Δείκτης Παραμέτρων Ασφάλειας (Security Parameter
Index, SPI).
– Διεύθυνση IP προορισμού.
– Προσδιοριστικό πρωτοκόλλου ασφάλειας.
Διαχείριση κλειδιών
• Δύο τύποι:
– Χειρονακτική.
– Αυτόματη.
• Πρωτόκολλο προσδιορισμού κλειδιών Oakley.
• Πρωτόκολλο Διαχείρισης Συσχετίσεων Ασφάλειας
Διαδικτύου και Κλειδιών (ISAKMP).
Oakley
• Τρεις μέθοδοι πιστοποίησης:
– Ψηφιακές υπογραφές.
– Κρυπτογράφηση δημόσιου κλειδιού.
– Κρυπτογράφηση συμμετρικού κλειδιού.
Ενότητα 6: SSL
Περιεχόμενα ενότητας (1/2)
• Θέματα Ασφάλειας Ιστού.
• Το πρωτόκολλο SSL.
• Δύο σημαντικές έννοιες για το SSL.
• Λειτουργία SSL.
• Υπηρεσίες Διαπραγμάτευσης SSL.
• Χειραψία SSL.
• Επιβάρυνση από την χρήση SSL.
• Ενεργοποίηση SSL.
Υπηρεσίες Διαπραγμάτευσης
SSL
• Χειραψία (handshake).
– Αυθεντικοποίηση client, server.
– Καθορισμός αλγόριθμων κρυπτογράφησης.
– Καθορισμός συμμετρικών κλειδιών.
• Μεταφορά δεδομένων.
– Κρυπτογράφηση.
– Έλεγχος ακεραιότητας.
Χειραψία SSL
• Client Hello.
• Server Hello.
• Client Master Key.
• Client Finished.
• Server Verify.
• Request Certificate (Προαιρετικά).
• Client Certificate (Προαιρετικά).
• Server Finished.
Εικόνα 2. Ενεργοποίηση
SSL (Συνέχεια).
Πηγή: Διδάσκων (2015).
Ενεργοποίηση SSL (3/3)
• Απαίτηση: Να διαθέτει ο server πιστοποιητικό (server
certificate).
– Ταυτοποιεί τον server σε κάθε ενδιαφερόμενο client.
– Παρέχει τον μηχανισμό για να ξεκινήσει μια ασφαλής σύνοδος.
• Βήματα ενεργοποίησης.
– Δημιουργία ζεύγους κλειδιών του server.
– Αίτηση για πιστοποιητικό σε κάποια Αρχή Πιστοποίησης (CA).
– Εγκατάσταση του πιστοποιητικού.
– Ενεργοποίηση του SSL για τον server.
Ασφαλής ηλεκτρονική
συναλλαγή
• Secure Electronic Transaction - SET.
– Ανοιχτή προδιαγραφή κρυπτογράφησης και ασφάλειας.
– Προστατεύει τις συναλλαγές στο Διαδίκτυο με πιστωτικές
κάρτες.
– Συσχετιζόμενες εταιρείες.
• Mastercard, Visa, IBM, Microsoft, Netscape, RSA, Terisa and
Verisign.
• Επιπλέον έχει γίνει αποδεκτό και από American Express,
Diners, JCB και Europay.
– Δεν αποτελεί από μόνο του σύστημα πληρωμής.
– Σύνολο από πρωτόκολλα ασφαλείας και μορφές
συναλλαγών.
Υπηρεσίες SET
• Παρέχει ασφαλές κανάλι επικοινωνίας μεταξύ
όλων των μερών που συμμετέχουν στη
συναλλαγή.
• Παρέχει εξασφάλιση εμπιστοσύνης με χρήση
ψηφιακών πιστοποιητικών Χ.509v3.
• Εξασφαλίζει το απόρρητο, καθώς οι πληροφορίες
είναι διαθέσιμες μόνο στα συναλλασσόμενα
μέρη όταν και όπου είναι απαραίτητο.
Σκοποί ενότητας
• Αυτή η ενότητα πραγματεύεται ζητήματα
σχετικά με τους εισβολείς σε ένα σύστημα.
Περιεχόμενα ενότητας (1/3)
• Εισαγωγή.
• Μεταμφιεσμένος.
• Παράνομος.
• Κρυφός χρήστης.
• Απειλές Εισβολέων.
• Κλασικά Παραδείγματα Εισβολέων.
• Τεχνικές Εισβολής.
Εισαγωγή
• Μια από τις δύο πιο διάσημες απειλές
ασφάλειας.
– Η άλλη είναι το κακόβουλο λογισμικό.
• Κοινώς γνωστοί ως hackers, crackers.
• O Anderson1 προσδιόρισε 3 κατηγορίες.
– Μεταμφιεσμένος (masquerader).
– Παράνομος (misfeasor).
– Κρυφός χρήστης (clandestine user).
Μεταμφιεσμένος
• Άτομο μη εξουσιοδοτημένο να χρησιμοποιεί
κάποιο υπολογιστή.
• Διαπερνά τους ελέγχους πρόσβασης του
συστήματος.
• Εκμεταλλεύεται το λογαριασμό ενός νόμιμου
χρήστη.
• Συνήθως κάποιος εξωτερικός παρείσακτος.
Παράνομος
• Νόμιμος χρήστης.
– Άρα κάποιος εκ των «έσω».
• Προσπελάσει δεδομένα, προγράμματα ή πόρους
για τα οποία δεν έχει εξουσιοδότηση.
• Ή είναι εξουσιοδοτημένος για πρόσβαση σε αυτά
αλλά κακομεταχειρίζεται τα προνόμιά του.
Κρυφός χρήστης
• Άτομο που αποκτά τον γενικό έλεγχο εποπτείας
ενός συστήματος (supervisor).
– Τον χρησιμοποιεί για να αποφύγει την
παρακολούθηση και τους ελέγχους πρόσβασης.
– Ή για να εμποδίσει την συλλογή δεδομένων
παρακολούθησης.
– Μπορεί να είναι είτε εξωτερικός είτε εσωτερικός.
Απειλές Εισβολέων
• Ήπιες.
– Π.χ. κάποιοι θέλουν απλά να εξερευνήσουν κάποιο
δίκτυο.
• Σοβαρές.
– Π.χ. άτομα που επιδιώκουν.
• Πρόσβαση σε απόρρητα δεδομένα.
• Ή μη εξουσιοδοτημένες τροποποιήσεις.
• Ή διάρρηξη συστήματος.
Κλασικά Παραδείγματα
Εισβολέων (1/2)
• Περιστατικό “Wily Hacker”.
– Lawrence Berkeley Lab (LBL) το 1986-1987.
– Αποφασίστηκε να παρατηρήσουν τον επιτιθέμενο πριν τον
αντιμετωπίσουν.
– Συνεργάστηκαν FBI και πολλοί στρατιωτικοί οργανισμοί.
– Χρησιμοποιήθηκαν offline-monitors για να παρατηρούν όλες
τις ενέργειες του επιτιθέμενου.
– Τελικά δεν αποδείχθηκε και πολύ πεπειραμένος ο
επιτιθέμενος.
• Απλά χρησιμοποιούσε κοινά «τυφλά σημεία» ασφάλειας των ΛΣ.
– Πραγματοποιήθηκαν 3 συλλήψεις το 1988.
Κλασικά Παραδείγματα
Εισβολέων (2/2)
• Πανεπιστήμιο Texas Α&Μ – 1992 – 2000 διασυνδεδεμένα
μηχανήματα.
– Καταγράφθηκε επίθεση από υπολογιστή του Πανεπιστημίου σε
απομακρυσμένη τοποθεσία.
– Οι επιθέσεις γινόταν από εξωτερικούς εισβολείς που έσπαζαν
συνθηματικά σε διάφορους υπολογιστές.
– Αποσυνδέθηκαν τα επηρεασμένα μηχανήματα και
επιδιορθώθηκαν τα κενά ασφάλειας.
– Λίγες μέρες μετά η επίθεση ξανάρχισε.
– Βρέθηκαν αρχεία με εκατοντάδες κλεμμένα συνθηματικά.
– Επιπλέον ένα τοπικό μηχάνημα λειτουργούσε σαν πίνακας
ανακοινώσεων των χάκερ, που χρησιμοποιούνταν για επικοινωνία
μεταξύ τους.
Τεχνικές Εισβολής (1/3)
• Σκοπός: Να αποκτήσει πρόσβαση σε ένα σύστημα ή να
αυξήσει τα προνόμιά του σε αυτό.
– Απαιτείται από τον εισβολέα να αποκτήσει πρόσβαση σε
πληροφορίες οι οποίες προστατεύονται π.χ. Password.
• Τυπικά κάθε σύστημα διατηρεί αρχείο συσχέτισης
συνθηματικών με χρήστες που μπορεί να προστατευτεί
με:
– Μονόδρομη κρυπτογράφηση.
• Κρυπτογράφηση του συνθηματικού.
– Έλεγχος πρόσβασης.
• Η πρόσβαση στο αρχείο των συνθηματικών περιορίζεται σε έναν
ή πολύ λίγους λογαριασμούς.
Προσεγγίσεις Ανίχνευσης
Εισβολών (2/2)
• Ανίχνευση βασισμένη σε κανόνες.
– Ανίχνευση ανωμαλιών: Αναπτύσσονται κανόνες για
ανίχνευση της απόκλισης από προηγούμενα μοτίβα
χρήσης.
– Ανίχνευση διείσδυσης: Βασίζεται σε έμπειρα
συστήματα και ψάχνει για ύποπτη συμπεριφορά.
Εγγραφές Παρακολούθησης
(1/2)
• Βασικό εργαλείο ανίχνευσης εισβολών.
• Καταγράφουν την συνεχή δραστηριότητα των χρηστών.
• Δίδονται σαν είσοδος στο σύστημα ανίχνευσης εισβολών.
• Εγγενείς εγγραφές παρακολούθησης.
– Κομμάτι σχεδόν όλων των λειτουργικών συστημάτων.
– Δεν απαιτείται πρόσθετο λογισμικό συλλογής
πληροφοριών.
– Μπορεί να μην περιέχουν τις απαιτούμενες πληροφορίες
σε βολική μορφή.
Εγγραφές Παρακολούθησης
(2/2)
• Εγγραφές παρακολούθησης ειδικά για την
ανίχνευση.
– Κατασκευάζει εγγραφές μόνο με εκείνες τις
πληροφορίες που απαιτούνται από το σύστημα
ανίχνευσης.
– Προσέγγιση ανεξάρτητη πλατφόρμας.
– Προσδίδει επιπλέον φόρτο στο σύστημα.
Δολώματα
• Σχετικά πρόσφατη καινοτομία στην τεχνολογία ανίχνευσης
εισβολών.
• Συστήματα δελεασμού των δυνητικών επιτιθέμενων.
– Συλλέγουν πληροφορίες για την δραστηριότητα του
επιτιθέμενου.
– Ενθαρρύνουν τον επιτιθέμενο να παραμείνει για αρκετό
χρόνο στο σύστημα ώστε να ανταποκριθούν οι διαχειριστές.
• Περιέχουν φαινομενικά πολύτιμες πληροφορίες στις οποίες
ένας νόμιμος χρήστης δεν έχει πρόσβαση.
– Άρα όλες οι προσπελάσεις των πληροφοριών είναι ύποπτες.
Διαχείριση Συνθηματικών
• Τα passwords παρέχουν ασφάλεια με τους
ακόλουθους τρόπους.
– Καθορίζουν αν ο χρήστης είναι εξουσιοδοτημένος να
αποκτήσει πρόσβαση σε ένα σύστημα -
αυθεντικοποίηση- πιστοποίηση ταυτότητας χρήστη.
– Καθορίζει τα προνόμια που αντιστοιχούν σε κάθε
χρήστη.
– Χρησιμοποιείται για διακριτικό έλεγχο πρόσβασης.
• Π.χ. για εκχώρηση δικαιωμάτων από έναν χρήστη σε άλλους
σε σχέση με τα προσωπικά του αρχεία.
Unix passwords
• Αρχικά αποθηκεύονταν σε ένα δημόσιο αρχείο
etc/passwords.
• Σήμερα διατηρούνται σε ένα “shadow” directory
το οποίο είναι προσβάσιμο μόνο από το root.
Αδυναμίες Συνθηματικών
• Εύκολη απομνημόνευση εύκολη μαντεψιά.
• Δύσκολη απομνημόνευση εγγραφή τους σε χαρτάκια
και ατζέντες.
• Λεξικογραφική επίθεση (dictionary attack).
– Επιλογή συνόλου συνθηματικών και δοκιμή όλων.
– Αυτόματο σύστημα που δοκιμάζει όλες τις λέξεις που περιέχονται
σε ένα λεξικό.
• Εξαντλητική έρευνα (brute force attack).
– Δοκιμή όλων των δυνατών συνδυασμών συμβόλων.
– Αποτελεσματική για την εικασία συνθηματικών με μικρό μήκος
και περιορισμένο δείγμα συμβόλων (π.χ. “1234” ή “ABCD”).
– Π.χ. L0phtCrack.exe για Unix και Windows.
Στρατηγικές επιλογής password
(1/4)
• Σκοπός: Η εξάλειψη των προβλέψιμων
συνθηματικών και παράλληλα η επιλογή
ευκολομνημόνευτων συνθηματικών.
• 4 βασικές τεχνικές.
1. Εκπαίδευση χρηστών .
2. Συνθηματικά παραγόμενα από υπολογιστή
(computer generated passwords).
3. Αντιδραστικός (reactive) έλεγχος συνθηματικού.
4. Προληπτικός (proactive) έλεγχος συνθηματικού.
Προσεγγίσεις προληπτικού
ελέγχου password (2/3)
• 2η προσέγγιση: σύνταξη λεξικού με τα «κακά»
passwords.
– Το σύστημα ελέγχει αν οι χρήστες επέλεξαν κάποιο
password που υπάρχει στο λεξικό.
• Προβλήματα:
– Το λεξικό θα πρέπει να καταλαμβάνει πολύ χώρο.
• Π.χ. Purdue 30MB.
– Ο χρόνος αναζήτησης στο λεξικό είναι πολύ μεγάλος.
Προσεγγίσεις προληπτικού
ελέγχου password (3/3)
• 3η προσέγγιση: Μοντέλο Markov.
– Παράγει προβλέψιμα passwords.
– Μ = [m, A, T, k].
• m= Αριθμός καταστάσεων.
• A = Χώρος καταστάσεων.
• Τ = Πίνακας πιθανοτήτων μεταβάσεων.
• k = Τάξη του μοντέλου.
– Τα αλφαριθμητικά που παράγονται από το
μοντέλο αποτελούν αδύναμα συνθηματικά.
Ενότητα 8: Malware
Περιεχόμενα ενότητας (1/4)
• Κακόβουλα προγράμματα.
• Σκουλήκια - worms.
• Σκουλήκια - Δράση.
• Σκουλήκια - Κατηγορίες.
• Σκουλήκια - Αντιμετώπιση.
• Σκουλήκια – Παραδείγματα.
• Τεχνολογίες σκουληκιών.
• Κερκόπορτα - backdoor ή trap door.
• Λογική βόμβα - Logic Bomb.
Σκουλήκια - worms
• Λογισμικά που εξαπλώνονται μέσω
δικτυακών επικοινωνιών αντιγράφοντας
επαναληπτικά τον εαυτό τους.
• Απαιτούνται ειδικές γνώσεις πρωτοκόλλων
επικοινωνίας, ευπαθειών δικτύων και
λειτουργικών συστημάτων.
Σκουλήκια - Δράση
• Αμέσως μετά την μόλυνση συστήματος, αναζητεί
συνδέσεις του με άλλους υπολογιστές.
– Αν εντοπιστούν, αντιγράφει τον εαυτό του σε αυτούς.
• Σκοπεύουν στην:
– Καταστροφή αρχείων.
– Υποκλοπή πληροφοριών.
– Αποδιοργάνωση λειτουργικού συστήματος με σκοπό
πρόκληση DoS.
Σκουλήκια - Κατηγορίες
• 2 κατηγορίες:
– Host Computer Worms (ή rabbits).
• Λειτουργούν σε ένα μόνο υπολογιστή.
– Network Worms (ή octopuses).
• Χωρισμένα σε τμήματα.
• Απλωμένα σε δίκτυο υπολογιστών (συνήθως LAN).
• Εξαπλώνονται συνήθως μέσω κοινών μέσων πρόσβασης.
– Π.χ. σκληρός δίσκος με κοινή πρόσβαση από πολλούς
χρήστες.
Σκουλήκια - Αντιμετώπιση
• Δύσκολος εντοπισμός σημείων προσβολής.
• Πρέπει να εντοπιστούν και αντιμετωπιστούν όλα τα
σημεία προσβολής του συστήματος ή δικτύου.
• Επιβάλλεται η χρήση δύσκολων συνθηματικών.
– Έτσι θα είναι πιο δύσκολη η απόκτηση πρόσβασης από τα
σκουλήκια σε ένα δίκτυο.
• Ιδιαίτερα αποτελεσματική η χρήση Τείχους Προστασίας
(firewall).
• Προσοχή! Δεν ανοίγουμε emails από άγνωστους
αποστολείς.
– Ούτε φυσικά συνημμένα εκτελέσιμα αρχεία και links!
Σκουλήκια – Παραδείγματα
(1/3)
• ILOVEYOU (ή LoveLetter).
– Μόλυνε 10.000.000 χρήστες Windows τo 2000.
– Email με subject “ILOVEYOU” και attachment “LOVE-
LETTER-FOR-YOU.TXT.vbs”.
• Η κατάληξη του αρχείου δεν ήταν ορατή για να παραπλανεί
τους χρήστες.
– Το άνοιγμα του αρχείου είχε σαν αποτέλεσμα.
• Την αποστολή του μηνύματος σε όλες τις διευθύνσεις-
επαφές του χρήστη με αποστολέα τον μολυσμένο χρήστη.
• Την δημιουργία σοβαρών αλλαγών στο ΛΣ του χρήστη.
Σκουλήκια – Παραδείγματα
(2/3)
• Code Red.
– Προκάλεσε μεγάλη δημοσιότητα και ανησυχία για τα
αποτελέσματά του το 2001.
– Επιβράδυνε την κυκλοφορία στο Διαδίκτυο
αναπαράγοντας τον εαυτό του.
• Έψαχνε συστήματα στο Διαδίκτυο με Windows NT ή Windows
2000 που να μην έχουν εγκατεστημένο το security patch της
Microsoft.
• Μόλις εντόπιζε ευπαθή server αντέγραφε τον εαυτό του σε
αυτόν.
Σκουλήκια – Παραδείγματα
(3/3)
• Code Red (Συνέχεια).
– Σκοπός.
• Να αναπαράγει τον εαυτό του κατά τις 20 πρώτες μέρες
του μήνα.
• Να αντικαθιστά τις σελίδες των μολυσμένων servers με
μια σελίδα με το μήνυμα “HELLO! Welcome to
http://www.worm.com! Hacked By Chinese”.
• Να ξεκινήσει οργανωμένη επίθεση κατά του Web server
του Λευκού Οίκου με σκοπό την κατάρρευσή του.
Τεχνολογίες σκουληκιών
• Πολλαπλές πλατφόρμες (multiplatform).
• Πολλαπλές τεχνικές (multiexploit).
• Ταχεία Εξάπλωση (ultrafast spreading).
• Πολυμορφισμός (polymorphic).
• Μεταμορμφισμός (metamorphic).
• Οχήματα για μεταφορά (transport vehicles).
• Εκμετάλλευση αδυναμίας την «Ημέρα-Μηδέν»
(Zero-day exploit).
Ζόμπι (2/2)
• Εγκαθίστανται σε εκατοντάδες υπολογιστές.
– Συνήθως οι χρήστες αυτών των υπολογιστών δεν
γνωρίζουν/αντιλαμβάνονται την ύπαρξή τους.
• Δημιουργούν τεράστιο δικτυακό φόρτο εργασίας.
Dialers (1/2)
• Διαδεδομένη μορφή κακόβουλου λογισμικού.
• Σκοπός δεν είναι η υποκλοπή δεδομένων ή
πρόκληση ανεπιθύμητων ενεργειών στο ΛΣ μας.
– Αλλά η χρέωσή μας!
• Αρχικά δημιουργήθηκαν για την πληρωμή
μικροποσών από υπηρεσίες του Διαδικτύου μέσω
τηλεφωνικού λογαριασμού.
Dialers (2/2)
• Σήμερα αποτελούν λογισμικά που αναγκάζουν τον
υπολογιστή μας να συνδεθεί χωρίς την άδειά μας με ISPs
διαφορετικούς από τον τοπικό μας πάροχο (π.χ. ΟΤΕΝΕΤ,
CYTA, Forthnet κτλ).
– Αυτό συνήθως έχει σαν αποτέλεσμα την υψηλή χρέωσή μας από τον
απομακρυσμένο πάροχο.
• Προέρχονται από επισκέψεις σε συγκεκριμένες ιστοσελίδες.
– Κατά την επίσκεψη του χρήστη εγκαθίσταται στο σύστημά του χωρίς
να γίνει αντιληπτό.
• Μερικές φορές υπάρχουν και σε αρχεία συνημμένα σε e-
mail.
• Συνήθως απειλούν συνδρομητές PSTN ή ISDN.
Άλλα κακόβουλα προγράμματα
(1/2)
• Spammer.
– Στέλνει μεγάλο όγκο e-mail.
• Kit.
– Δημιουργεί αυτόματα νέους ιούς.
• Rootkit.
– Χρησιμοποιείται μετά από διείσδυση σε ένα σύστημα
για απόκτηση σε αυτό δικαιωμάτων διαχειριστή.
Ιοί Μακροεντολών
• Είναι γραμμένοι σε γλώσσα υψηλού επιπέδου.
• Εκμεταλλεύονται τις μακροεντολές (macros) του
Word κτλ.
– Τα macros χρησιμοποιούνται για αυτοματοποίηση
επαναλαμβανόμενων διαδικασιών.
• Είναι ανεξάρτητοι πλατφόρμας.
• Μολύνουν έγγραφα, όχι εκτελέσιμα.
• Διαδίδονται εύκολα.
– Κυρίως μέσω e-mail.
Ιοί Μακροεντολών –
Παράδειγμα
• Melissa.
– Iός μακροεντολών του Word.
– Μόλυνε έγγραφα δημιουργημένα με τις
εκδόσεις του Office 97 και 2000.
– Έστελνε αυτόματα τον εαυτό του με email στις
50 πρώτες επαφές του Βιβλίου Διευθύνσεων
του Outlook του μολυσμένου υπολογιστή.
Προηγμένες τεχνικές
αντιβιοτικών
• Γενική αποκρυπτογράφηση (generic decryption).
– Τα αντιβιοτικά εντοπίζουν εύκολα και τους πιο
σύνθετους ιούς.
– Περιλαμβάνει.
• Εξομοιωτής CPU.
– Εικονικός υπολογιστής.
– Τα εκτελέσιμα διερμηνεύονται από τον εξομοιωτή.
• Ανιχνευτής υπογραφής ιού.
– Εξετάζει τον κώδικα αναζητώντας γνωστές υπογραφές ιών.
• Υπομονάδα ελέγχου προσομοίωσης.
– Ελέγχει την εκτέλεση κώδικα.
Κατανεμημένες επιθέσεις
άρνησης εξυπηρέτησης
• Distributed Denial of Service (DDoS).
• Σημαντική απειλή για εταιρείες.
• 2001: Περισσότερες από 12000 επιθέσεις σε
περισσότερους από 5000 στόχους.
– Amazon, hotmail, απλές τηλεφωνικές συνδέσεις κτλ.
• Καθιστούν τα συστήματα μη προσπελάσιμα.
– Πλημμυρίζουν διακομιστές, τερματικά με άχρηστη κίνηση.
– Στέλνουν άχρηστα πακέτα.
– Παρεμποδίζουν έτσι τους χρήστες να προσπελάσουν
υπηρεσίες.
Επίθεση DDoS
• Στόχος: Η κατανάλωση των πόρων του
στόχου.
• Πόροι:
– Εσωτερικοί.
– Χωρητικότητα δικτύου.
Επίθεση DDos εσωτερικού
πόρου
• Σε πολλά συστήματα υπάρχει περιορισμένος
αριθμός δομών δεδομένων για διατήρηση
πληροφοριών διεργασιών.
– Ο εισβολέας εξαντλεί τις δομές αντιγράφοντας συνέχεια
τον εαυτό του.
• Ο εισβολέας καταναλώνει χώρο σε σκληρούς.
– Υπερβολικά μεγάλο πλήθος μηνυμάτων ηλ.
ταχυδρομείου.
– Εσκεμμένη πρόκληση σφαλμάτων για τα οποία πρέπει
να γίνει καταγραφεί (log).
– Τοποθέτηση αρχείων σε κοινόχρηστες περιοχές.
Firewalls (2/3)
• Στα υπολογιστικά συστήματα (Συνέχεια).
– Ή λειτουργεί σαν πρωτόκολλο ανώτερου επιπέδου.
– Προστατεύει από δικτυακές απειλές (επόμενη
διαφάνεια).
– Επιτρέπει την πρόσβαση στον έξω κόσμο.
• Μέσω WAN ή Internet.
Firewalls (3/3)
• Το firewall προστατεύει τα εσωτερικά δίκτυα από
απειλές.
– Μη εξουσιοδοτημένη προσπέλαση δικτυακών πόρων.
• Π.χ. μη εξουσιοδοτημένη πρόσβαση σε αρχεία.
– Denial of Service (DoS).
• Π.χ. υπερφόρτωση δικτύου από εξωτερική οντότητα.
– Προσποίηση (masquerade).
• Π.χ. αποστολή μηνυμάτων από φαινομενικά νόμιμο
χρήστη.
Εξέλιξη πληροφοριακών
συστημάτων (1/2)
• Κεντρικοποιημένα συστήματα επεξεργασίας δεδομένων,
με κεντρικό mainframe.
• Τοπικά δίκτυα που συνδέουν υπολογιστές και τερματικά.
• Δίκτυο κτιριακών εγκαταστάσεων.
– Αποτελείται από πολλά τοπικά δίκτυα.
• Εταιρικό δίκτυο.
– Αποτελείται από διάσπαρτα γεωγραφικά δίκτυα.
• Συνδεσιμότητα Διαδικτύου.
– Κτιριακά δίκτυα συνδέονται στο Διαδίκτυο.
Εξέλιξη πληροφοριακών
συστημάτων (2/2)
• Πρόσβαση στο Internet = όφελος για τους
οργανισμούς.
• Πρόσβαση στο Internet = απειλή για τους
οργανισμούς.
• Λύση: Ισχυρή ασφάλεια σε κάθε σταθμό
εργασίας.
– Πρακτικό πρόβλημα: απαιτείται συχνή αναβάθμιση.
• Εναλλακτική λύση: Firewall.
– Μοναδικό σημείο ελέγχου, ευκολότερη επίβλεψη
– Εγκαθίσταται σε ένα ή περισσότερα συστήματα.
Ορισμός Firewall
• Υλικό ή/και λογισμικό που επιτρέπει την προσπέλαση ενός
δικτύου από εξωτερικούς χρήστες μόνο εφόσον αυτοί
διαθέτουν συγκεκριμένα χαρακτηριστικά.
• Ως σύστημα firewall μπορεί να θεωρηθεί:
– Μια διάταξη δρομολόγησης (router).
– Ένας ΗΥ.
– Ένας διακομιστής ή ένα σύνολο διακομιστών που
οχυρώνουν μια δικτυακή τοποθεσία ή ένα υποδίκτυο από
πρωτόκολλα και υπηρεσίες που μπορούν να προσβληθούν
από διακομιστές εκτός του υποδικτύου.
Παρεχόμενη Ασφάλεια
• Προστατεύει:
– Πόρους από φθορά, κατάχρηση, κλοπή.
– Την υπόληψη του δικτύου από δημοσιοποίηση
αδυναμιών της ασφάλειάς του.
– Την επικρατούσα πολιτική ορθής χρήσης των
υπηρεσιών διαδικτύου από τους χρήστες.
Τύποι firewall
• Φίλτρα πακέτων (packet filters).
• Πύλες επιπέδου εφαρμογής (application-level
gateways).
• Πύλες επιπέδου κυκλώματος (circuit-level
gateways).
• Μία ολοκληρωμένη υπηρεσία firewall συνήθως
παρέχεται με συνδυασμό των παραπάνω
τεχνικών.
Packet-filtering router (1/3)
• Εφαρμόζει σύνολο κανόνων σε
εισερχόμενα/εξερχόμενα πακέτα ΙΡ.
– Προωθεί ή απορρίπτει τα πακέτα.
• Φιλτράρει και προς τις δύο κατευθύνσεις.
• Τοποθετείται στο σημείο σύνδεσης του
εσωτερικού δικτύου με το εξωτερικό δίκτυο
(π.χ. Internet).
Διευθετήσεις firewalls
• Εκτός από την χρήση απλών διευθετήσεων π.χ.
δρομολογητή φιλτραρίσματος, παρέχονται και
πιο περίπλοκες διευθετήσεις.
– Screened-host firewall system (single-homed bastion).
– Screened-host firewall system (dual-homed bastion).
– Screened subnet.
Screened-host firewall system /
single-homed bastion (1/2)
• 2 συστήματα:
– Δρομολογητής φιλτραρίσματος πακέτων.
– Υπολογιστής προμαχώνα.
• Κίνηση από Internet: Εισέρχονται μόνο πακέτα που
προορίζονται για τον υπολογιστή προμαχώνα.
– Ο προμαχώνας εκτελεί ενέργειες αυθεντικοποίησης και
διαμεσολάβησης (proxy).
• Κίνηση από το εσωτερικό: Εξέρχονται μόνο πακέτα από
τον υπολογιστή προμαχώνα.
Screened subnet
• Η πιο ασφαλής διευθέτηση.
• Χρησιμοποιούνται 2 δρομολογητές φιλτραρίσματος
πακέτων και ένας υπολογιστής προμαχώνας.
• 3 επίπεδα άμυνας προς εισβολείς.
• Ο εξωτερικός δρομολογητής προβάλλει στο διαδίκτυο
μόνο την ύπαρξη του ελεγχόμενου υποδικτύου.
• Ο εσωτερικός δρομολογητής προβάλλει στο εσωτερικό
δίκτυο μόνο την ύπαρξη του ελεγχόμενου υποδικτύου.
Γενικές Κατευθύνσεις για χρήση
firewall (1/2)
• Το σύστημα firewall να είναι η μόνη ορατή διεύθυνση
προς τον έξω κόσμο.
• Οι μηχανισμοί πιστοποίησης χρηστών να γίνονται σε
επίπεδο εφαρμογής.
• Οι proxy servers να κάνουν λεπτομερή καταγραφή σε
επίπεδο εφαρμογής.
• Όλες οι αιτήσεις για διάφορες υπηρεσίες να διέρχονται
μέσω proxy servers.
• Η διαχείριση του firewall να γίνεται από τοπικό τερματικό
και όχι απομακρυσμένα.
Μειονεκτήματα firewall
• Δεν προστατεύει από εσωτερικούς χρήστες.
• Μπορεί να διαπεραστεί.
• Αποτελεί στόχο επίδοξων επιτιθέμενων.
• Διαθέτει περιορισμένο έλεγχο πάνω στο
περιεχόμενο των μηνυμάτων (π.χ. προστασία από
ιούς).
• Απαιτεί σωστή εγκατάσταση, διαμόρφωση και
ακριβείς ρυθμίσεις.
Έμπιστα συστήματα
• Έμπιστα συστήματα: Τρόπος ενίσχυσης της
αμυντικής ικανότητας ενάντια σε εισβολείς και
κακόβουλα προγράμματα.
• Έλεγχος πρόσβασης σε δεδομένα.
– Με την διαδικασία logon οι χρήστες αναγνωρίζονται από
το σύστημα.
– Με κάθε χρήστη μπορεί να συσχετίζεται κάποιο προφίλ
που να προσδιορίζει.
• Επιτρεπόμενες λειτουργίες.
• Προσπελάσεις αρχείων.
– Το ΛΣ μπορεί επιπλέον να επιβάλλει κανόνες με βάση το
προφίλ χρήστη.
Έλεγχος πρόσβασης σε
δεδομένα
• Γενικά μοντέλα ελέγχου πρόσβασης.
– Πίνακας πρόσβασης (access matrix).
– Λίστες ελέγχου πρόσβασης (access control lists).
– Εισιτήρια δυνατοτήτων (capability tickets).
Πίνακας πρόσβασης (1/2)
• Βασικά στοιχεία:
– Υποκείμενο (subject).
• Οντότητα ικανή να προσπελαύνει αντικείμενα, ισοδυναμεί με
την έννοια της διεργασίας.
– Αντικείμενο (object).
• Οτιδήποτε για το οποίο ελέγχεται η πρόσβαση, π.χ. αρχεία,
προγράμματα, μνήμη.
– Δικαίωμα πρόσβασης (access right).
• Ο τρόπος με τον οποίο γίνεται η προσπέλαση ενός
αντικειμένου από ένα υποκείμενο, π.χ. ανάγνωση, εγγραφή,
εκτέλεση.
Εισιτήρια δυνατοτήτων
• Καθορίζουν εξουσιοδοτημένα αντικείμενα και
λειτουργίες για κάθε χρήστη.
• Κάθε χρήστης έχει κάποιο αριθμό εισιτηρίων.
• Τα εισιτήρια είναι διασκορπισμένα στο σύστημα.
– Πρόβλημα ως προς την ασφάλεια (πλαστογράφηση).
– Πρέπει να διατηρούνται σε θέσεις μνήμης που δεν
είναι προσπελάσιμες στους χρήστες.
Η έννοια των έμπιστων
συστημάτων
• Παρέχουν προστασία δεδομένων, πόρων με βάση
επίπεδα ασφάλειας (security levels).
• Οι πληροφορίες οργανώνονται σε κατηγορίες και
οι χρήστες λαμβάνουν άδεια πρόσβασης σε
συγκεκριμένες κατηγορίες.
Υπηρεσίες Ασφάλειας
• Πιστοποίηση ταυτότητας (authentication).
• Έλεγχος πρόσβασης.
• Απόρρητο δεδομένων.
• Ακεραιότητα δεδομένων.
• Μη αποποίηση.
• Υπηρεσία διαθεσιμότητας.
Μηχανισμοί Ασφάλειας
• Κρυπτογράφηση (Encipherment/Encryption).
• Ψηφιακή Υπογραφή (Digital Signature).
• Έλεγχος Πρόσβασης (Access Control).
• Ακεραιότητα δεδομένων (Data Integrity).
• Ανταλλαγή πιστοποίησης ταυτότητας (Authentication
Exchange).
• Προσαύξηση κίνησης (Traffic Padding).
• Έλεγχος δρομολόγησης (Routing Control).
• Μηχανισμός επικύρωσης (Notarization).
Εισβολείς
• Μια από τις δύο πιο διάσημες απειλές
ασφάλειας.
– Η άλλη είναι οι ιοί.
• Κοινώς γνωστοί ως hackers, crackers.
• O Anderson1 προσδιόρισε 3 κατηγορίες.
– Μεταμφιεσμένος (masquerader).
– Παράνομος (misfeasor).
– Κρυφός χρήστης (clandestine user).
Τεχνικές Εισβολής
• Σκοπός: Να αποκτήσει πρόσβαση σε ένα σύστημα ή να
αυξήσει τα προνόμιά του σε αυτό.
– Απαιτείται από τον εισβολέα να αποκτήσει πρόσβαση σε
πληροφορίες οι οποίες προστατεύονται π.χ. Password.
• Τυπικά κάθε σύστημα διατηρεί αρχείο συσχέτισης
συνθηματικών με χρήστες που μπορεί να προστατευτεί με:
– Μονόδρομη κρυπτογράφηση.
• Κρυπτογράφηση του συνθηματικού.
– Έλεγχος πρόσβασης.
• Η πρόσβαση στο αρχείο των συνθηματικών περιορίζεται σε έναν
ή πολύ λίγους λογαριασμούς.
Ανίχνευση Εισβολών
• Αναπόφευκτα και το καλύτερο σύστημα αποτροπής
εισβολών θα αποτύχει.
• Άρα είναι πολύ σημαντική και η ανίχνευσή τους.
– Έγκαιρο μπλοκάρισμα εισβολής πριν προκαλέσει ζημιά.
– Μπορεί να αποθαρρύνει τις προσπάθειες εισβολών.
– Η συλλογή πληροφοριών σχετικά με τις ανιχνευθείς εισβολές
μπορεί να χρησιμοποιηθεί για την ενδυνάμωση της υπηρεσίας
αποτροπής εισβολών.
• Υπόθεση: Οι εισβολείς συμπεριφέρνονται διαφορετικά
από τους νόμιμους χρήστες.
Αδυναμίες Συνθηματικών
• Εύκολη απομνημόνευση εύκολη μαντεψιά.
• Δύσκολη απομνημόνευση εγγραφή τους σε χαρτάκια
και ατζέντες.
• Λεξικογραφική επίθεση (dictionary attack).
– Επιλογή συνόλου συνθηματικών και δοκιμή όλων.
– Αυτόματο σύστημα που δοκιμάζει όλες τις λέξεις που περιέχονται
σε ένα λεξικό.
• Εξαντλητική έρευνα (brute force attack).
– Δοκιμή όλων των δυνατών συνδυασμών συμβόλων.
– Αποτελεσματική για την εικασία συνθηματικών με μικρό μήκος
και περιορισμένο δείγμα συμβόλων (π.χ. “1234” ή “ABCD”).
– Π.χ. L0phtCrack.exe για Unix και Windows.
Πιστοποίηση Αυθεντικότητας
Μηνυμάτων
• Ένα μήνυμα/αρχείο/έγγραφο θεωρείται γνήσιο
όταν:
– Προέρχεται όντως από την προέλευση που δηλώνει.
– Τα περιεχόμενά του δεν έχουν μεταβληθεί.
– Δεν έχει σκόπιμα καθυστερήσει/αναμεταδοθεί.
• Η Πιστοποίηση Αυθεντικότητας Μηνυμάτων
(message authentication) προστατεύει από
ενεργητικές επιθέσεις.
– Σε αντίθεση με την κρυπτογράφηση.
Message Authentication Code -
MAC (1/2)
• Χρήση μυστικού κλειδιού για την παραγωγή του κωδικού
πιστοποίησης αυθεντικότητας μηνυμάτων (MAC).
– Προσαρτάται στο μήνυμα.
• Τα επικοινωνούντα μέλη μοιράζονται το ίδιο κλειδί KAB.
• MACM = F( KAB,M ).
• O κωδικός MAC αποστέλλεται μαζί με το μήνυμα.
• Ο παραλήπτης κάνει την ίδια διαδικασία και συγκρίνει τον
κωδικό που υπολόγισε με τον κωδικό που παρέλαβε.
Δομή κρυπτογράφησης
δημόσιου κλειδιού
• Το σύστημα κρυπτογράφησης έχει 6 στοιχεία:
– Αρχικό κείμενο (plaintext).
– Αλγόριθμος κρυπτογράφησης (encryption algorithm).
– Δημόσιο και ιδιωτικό κλειδί (public and private key).
• Για κρυπτογράφηση/αποκρυπτογράφηση.
– Κρυπτογράφημα (ciphertext).
– Αλγόριθμος αποκρυπτογράφησης (decryption
algorithm).
Γενικός αλγόριθμος κρυπτογράφησης
δημόσιου κλειδιού
• Γενικά:
– Το δημόσιο κλειδί κοινοποιείται.
– Το ιδιωτικό είναι γνωστό μόνο στον ιδιοκτήτη.
– Κάθε χρήστης δημιουργεί ζεύγος κλειδιών.
– Κάθε χρήστης τοποθετεί το δημόσιο κλειδί σε δημόσιο καταχωρητή
ή προσπελάσιμο αρχείο.
– Το μήνυμα που αποστέλλεται κρυπτογραφείται με το δημόσιο κλειδί
του παραλήπτη.
– Ο παραλήπτης αποκρυπτογραφεί το μήνυμα με το ιδιωτικό του
κλειδί.
– Κανείς άλλος δεν μπορεί να το διαβάσει γιατί δεν έχει το ιδιωτικό
κλειδί του παραλήπτη.
• Το ιδιωτικό κλειδί μπορεί να αντικατασταθεί.
– Ο χρήστης πρέπει να κοινοποιήσει το νέο δημόσιο κλειδί.
Εφαρμογές κρυπτογραφικών
συστημάτων δημοσίου κλειδιού
• 3 κατηγορίες:
– Κρυπτογράφηση/αποκρυπτογράφηση.
• Αποστολέας υπογράφει με δημόσιο κλειδί παραλήπτη.
– Ψηφιακή υπογραφή.
• Αποστολέας «υπογράφει» με ιδιωτικό κλειδί.
– Ανταλλαγή κλειδιών.
• Δυο πλευρές συνεργάζονται για την ανταλλαγή κλειδιού
περιόδου εργασίας (session key).
Αλγόριθμοι κρυπτογραφίας
δημόσιου κλειδιού
• Οι πιο συχνά χρησιμοποιούμενοι είναι οι RSA και Hellman.
• RSA.
– Ron Rivest, Adi Shamir, Led Adleman MIT, 1977.
– O RSA είναι κωδικοποιητής τμημάτων.
– Η πιο ευρέως αποδεκτή κρυπτογράφηση δημόσιου κλειδιού.
• Diffie – Hellman.
– Επιτρέπει την ανταλλαγή κλειδιών με ασφάλεια.
– Βασίζεται στην δυσκολία υπολογισμού διακριτών
λογαρίθμων.
Ψηφιακές υπογραφές
• Κρυπτογράφηση με ιδιωτικό κλειδί αποστολέα.
• Αποκρυπτογράφηση με δημόσιο κλειδί
αποστολέα.
• Αποδεικνύει ποιος κρυπτογράφησε το μήνυμα.
• Ποιο αποτελεσματικό: Κρυπτογράφηση ενός
μόνο μικρού τμήματος bit του εγγράφου.
• Δεν προσφέρει ασφάλεια για υποκλοπή.
Προβλήματα Ψηφιακής
Υπογραφής (1/2)
• Ο Κώστας θέλει να πλαστογραφήσει την ψηφιακή
υπογραφή της Μαρίας.
• Μπορεί να υπογράψει μια επιταγή με το δικό του
ιδιωτικό κλειδί και στη συνέχεια να παρουσιάσει
το δημόσιο κλειδί του σαν να είναι της Μαρίας.
• Εάν οι υπόλοιποι βασιστούν στα λεγόμενά του, η
πλαστογράφηση είναι πετυχημένη.
• Άρα χρειάζεται να υπάρχει εμπιστοσύνη απέναντι
στην αντιστοίχηση κλειδιού και ταυτότητας.
Προβλήματα Ψηφιακής
Υπογραφής (2/2)
• Η ψηφιακή υπογραφή δημιουργεί
πρόβλημα αντιστοίχισης κλειδιών.
• Οπότε απαιτείται η ύπαρξη μιας τρίτης,
έμπιστης ονότητας.
Περιγραφή λειτουργίας PGP
• Αποτελείται από 5 υπηρεσίες:
– Πιστοποίηση (Authentication) - SHA-1, RSA.
– Εμπιστευτικότητα (Confidentiality) – session key, RSA.
– Συμπίεση (Compression) – ZIP, UNZIP.
– Συμβατότητα με ηλεκτρονικό ταχυδρομείο (Email
compatibility) – radix-64.
– Κατάτμηση (Segmentation).
Firewalls (2/2)
• Το firewall προστατεύει τα εσωτερικά δίκτυα από
απειλές.
– Μη εξουσιοδοτημένη προσπέλαση δικτυακών πόρων.
• Π.χ. μη εξουσιοδοτημένη πρόσβαση σε αρχεία.
– Denial of Service (DoS).
• Π.χ. υπερφόρτωση δικτύου από εξωτερική οντότητα.
– Προσποίηση (masquerade).
• Π.χ. αποστολή μηνυμάτων από φαινομενικά νόμιμο χρήστη.
Περιορισμοί firewall
• Δεν μπορούν να προστατέψουν από επιθέσεις
που τα παρακάμπτουν.
• Δεν προστατεύουν από εσωτερικές απειλές.
• Δεν προστατεύουν από μεταφορά μολυσμένων
με ιούς προγραμμάτων ή αρχείων.
Τύποι firewall
• Φίλτρα πακέτων (packet filters).
• Πύλες επιπέδου εφαρμογής (application-level
gateways).
• Πύλες επιπέδου κυκλώματος (circuit-level
gateways).
• Μια ολοκληρωμένη υπηρεσία firewall συνήθως
παρέχεται με συνδυασμό των παραπάνω
τεχνικών.
Packet-filtering router
• Εφαρμόζει σύνολο κανόνων σε εισερχόμενα /
εξερχόμενα πακέτα ΙΡ.
– Προωθεί ή απορρίπτει τα πακέτα.
• Φιλτράρει και προς τις 2 κατευθύνσεις.
• Τοποθετείται στο σημείο σύνδεσης του
εσωτερικού δικτύου με το εξωτερικό δίκτυο (π.χ.
Internet).
ΕΡΓΑΣΤΗΡΙΟ
Εισαγωγή (1/2)
• Το εργαλείο υπάρχει διαθέσιμο για να το
κατεβάσετε (trialware έκδοση) στον
Ιστότοπο της Symantec:
– http://www.symantec.com/products-
solutions/families/?fid=encryption.
Εισαγωγή (2/2)
• Αφού επισκεφτείτε τον Ιστότοπο, στην περιοχή
“Email Encryption” επιλέξτε “Trialware” κάτω από
το ”Desktop Email Encryption”.
• Θα χρειαστεί να δημιουργήσετε νέο λογαριασμό
στην Symantec για να μπορέσετε να
ολοκληρώσετε την λήψη του αρχείου
εγκατάστασης του εργαλείου.
• Η τρέχουσα έκδοση του Symantec Encryption
Desktop είναι η 10.3.2.
PGP (1/3)
• Τα αρχικά PGP σημαίνουν Pretty Good Privacy.
• Το Symantec Encryption Desktop είναι ένα εργαλείο
ασφάλειας που χρησιμοποιεί κρυπτογραφία για να
προστατεύσει δεδομένα από μη εξουσιοδοτημένη
χρήση.
• Το Symantec Encryption Desktop προστατεύει
δεδομένα που στέλνονται μέσω ηλεκτρονικής
αλληλογραφίας ή μέσω άμεσων μηνυμάτων.
• Επιτρέπει επίσης την κρυπτογράφηση ολόκληρου ή
μέρους ενός partition ενός σκληρού δίσκου.
PGP (2/3)
• Μπορεί να κρυπτογραφήσει απλά ένα μέρος σκληρού
δίσκου δημιουργώντας έναν εικονικό δίσκο στον οποίο
μπορούν να αποθηκευτούν με ασφάλεια τα πιο
ευαίσθητα δεδομένα.
• Επιπλέον, μπορεί να χρησιμοποιηθεί για μοίρασμα
αρχείων ή φακέλων με ασφάλεια μέσα σε ένα δίκτυο.
• Επιτρέπει την εισαγωγή οποιουδήποτε συνδυασμού
αρχείων και φακέλων σε μια κρυπτογραφημένη,
συμπιεσμένη συσκευασία για την εύκολη διανομή ή για
δημιουργία αντιγράφων ασφαλείας.
PGP (3/3)
• Τέλος, το Symantec Encryption Desktop μπορεί να
χρησιμοποιηθεί για να διαγράψει (ασφαλή διαγραφή)
ευαίσθητων αρχείων-έτσι ώστε κανένας να μην μπορεί να
τα ανακτήσει – να ελευθερώσει χώρο στο σκληρό δίσκο
χωρίς να αφήνει κανένα αποτύπωμα.
• Τέλος, το Symantec Encryption Desktop χρησιμοποιείται
για την δημιουργία “ζευγών κλειδιών” (PGP keypairs)
καθώς επίσης και για την διαχείριση τόσο προσωπικών
κλειδιών όσο και δημόσιων κλειδιών τρίτων ατόμων.
Ορολογία
• Encryption: Κρυπτογράφηση. Decryption:
Αποκρυπτογράφηση.
• Signing: Υπογραφή δεδομένων με χρήση προσωπικού
κλειδιού.
• Verifying: Επαλήθευση ψηφιακής υπογραφής.
• Keypair: Συνδυασμός ιδιωτικού/δημόσιου κλειδιού.
• Keyring: Αποθήκη κλειδιών του Symantec Encryption
Desktop.
• Keyserver: Αποθήκη δημόσιων κλειδιών (π.χ. PGP Global
Directory https://keyserver.pgp.com/).
Εικόνα 4. Το γραφικό
περιβάλλον του Symantec
Encryption Desktop.
Πηγή: Διδάσκων (2015).
Γραφικό περιβάλλον Symantec
Encryption Desktop (2/4)
1. Menu bar: Παρέχει πρόσβαση σε εντολές του
Symantec Encryption Desktop. Τα μενού αλλάζουν
δυναμικά ανάλογα με την διαδικασία που είναι
επιλεγμένη στο PGP Control Box.
2. PGP Keys Control Box: Παρέχει δυνατότητες διαχείρισης
των κλειδιών.
3. PGP Messaging Control Box: Διαχείριση του PGP
Messaging.
4. PGP Zip Control Box: Δημιουργία κρυπτογραφημένων
ψηφιακά υπογεγραμμένων συμπιεσμένων αρχείων
χρησιμοποιώντας κλειδί ή passphrase.
ΕΡΓΑΣΤΗΡΙΟ
Εισαγωγή
• Σε αυτή την άσκηση θα εφαρμόσετε κρυπτογραφικές
μεθόδους για δημιουργία κρυπτογραφημένων αρχείων
τόσο για προστασία της εμπιστευτικότητας όσο και για
προστασία της ακεραιότητας των δεδομένων που
περιέχονται σε αυτά.
• Θα χρησιμοποιήσετε το PGP Zip για να δημιουργήσετε, να
ανοίξετε και να τροποποιήσετε κρυπτογραφημένα και
συμπιεσμένα αρχεία τα οποία ονομάζονται PGP Zip
archives.
• Στα πλαίσια επίλυσης της συγκεκριμένης άσκησης θα
χρησιμοποιηθεί το χαρακτηριστικό PGP Zip του Symantec
Encryption Desktop.
Είδη αρχείων PGP Zip (1/2)
• Στο Symantec Encryption Desktop μπορείτε να
δημιουργήσετε τεσσάρων ειδών αρχεία PGP Zip.
• Συμπιεσμένα και κρυπτογραφημένα αρχεία με το δημόσιο
κλειδί ενός ή περισσοτέρων παραληπτών (οι οποίοι
πρέπει να έχουν εγκατεστημένο το Symantec Encryption
Desktop).
• Συμπιεσμένα και κρυπτογραφημένα αρχεία με χρήση
passphrase ( ο/οι παραλήπτες πρέπει να έχουν
εγκατεστημένο το Symantec Encryption Desktop και
να γνωρίζουν την passphrase).
Κρυπτογράφηση με κλειδί
παραλήπτη - Recipient Keys (1/7)
• Ακολουθήστε τα 8 βήματα της δημιουργία PGP
Zip αρχείου.
• Επιλέξτε Recipient Keys και πατήστε Επόμενο.
• Εμφανίζεται το παράθυρο Add User Keys (Εικόνα
3).
Κρυπτογράφηση με κλειδί
παραλήπτη - Recipient Keys (2/7)
Κρυπτογράφηση με κλειδί
παραλήπτη - Recipient Keys (3/7)
• Επιλέξτε τα κλειδιά των παραληπτών του PGP Zip
αρχείου. Κάντε ένα από τα ακόλουθα:
– Για να διαλέξετε κλειδί από τα κλειδιά που είναι στο δικό
σας Keyring , πατήστε το βελάκι της αναπτυσσόμενης
λίστας.
– Για να στείλετε το αρχείο σε παραλήπτη του οποίου το
κλειδί δεν έχετε πατήστε Add, οπότε και ανοίγει το
παράθυρο Recipient Selection (Εικόνα 4). Μπορείτε να
αναζητήσετε κλειδιά απευθείας από το PGP Global
Directory επιλέγοντας το αντίστοιχο πεδίο πάνω δεξιά και
εισάγοντας π.χ. το email του παραλήπτη που ψάχνετε στο
αντίστοιχο search box.
Κρυπτογράφηση με κλειδί
παραλήπτη - Recipient Keys (4/7)
Κρυπτογράφηση με κλειδί
παραλήπτη - Recipient Keys (5/7)
• Αφού επιλέξετε τους παραλήπτες πατήστε Ok.
• Πατήστε Επόμενο.
• Εμφανίζεται το παράθυρο Sign and Save (Εικόνα 5).
• Αν επιθυμείτε μπορείτε να καθορίστε το ιδιωτικό κλειδί
που θα υπογράψει το PGP Zip αρχείο.
• Επιλέξτε από το μενού Signing Key το ιδιωτικό κλειδί του
οποίου το passphrase χρειάζεται να πληκτρολογήσετε
στον χώρο passphrase.
• Σημείωση: Αν το passphrase του κλειδιού σας είναι
κρατημένη δεν χρειάζεται να την ξαναπληκτρολογήσετε.
Κρυπτογράφηση με κλειδί
παραλήπτη - Recipient Keys (6/7)
Εικόνα 5. PGP Zip Recipient Keys - Sign and save. Πηγή: Διδάσκων (2015).
Κρυπτογράφηση με κλειδί
παραλήπτη - Recipient Keys (7/7)
• Επιλέξτε το όνομα του αρχείου και την θέση που
θα δημιουργηθεί από το μενού Browse.
• Πατήστε Επόμενο.
• Το αρχείο PGP Zip δημιουργήθηκε.
• Πατήστε Τέλος.
• Το αρχείο PGP Zip είναι έτοιμο για χρήση και
αποστολή.
Κρυπτογράφηση με passphrase
(1/2)
• Ακολουθήστε τα 8 βήματα της δημιουργία PGP Zip
αρχείου.
• Επιλέξτε Passphrase και πατήστε Επόμενο.
• Στο επόμενο παράθυρο πληκτρολογήστε δύο φορές το
passphrase που θέλετε να εισάγετε.
• Προσοχή: Αυτό το passphrase είναι μόνο για το PGP Zip
αρχείο. ∆εν πρέπει να είναι το passphrase του ζεύγους
κλειδιών σας και επίσης πρέπει να το γνωρίζει και ο
παραλήπτης.
• Πατήστε Επόμενο. Εμφανίζεται το παράθυρο Sign and
Save.
Κρυπτογράφηση με passphrase
(2/2)
• Αν επιθυμείτε καθορίστε το ιδιωτικό κλειδί που θα
υπογράψει το PGP Zip αρχείο. Επιλέξτε από το μενού
Signing Key το ιδιωτικό κλειδί του οποίου το passphrase
χρειάζεται να πληκτρολογήσετε στον χώρο passphrase.
• Σημείωση: Αν το passphrase του κλειδιού σας είναι
κρατημένο δεν χρειάζεται να το ξαναπληκτρολογήσετε.
• Επιλέξτε το όνομα του αρχείου και την θέση που θα
δημιουργηθεί από το μενού Browse.
• Πατήστε Επόμενο. Το αρχείο PGP Zip δημιουργήθηκε.
• Πατήστε Τέλος. Το αρχείο PGP Zip είναι έτοιμο για χρήση
και αποστολή.
Δημιουργία PGP SDA Zip
αρχείου (1/2)
• Ακολουθήστε τα 8 βήματα της δημιουργία PGP Zip
αρχείου.
• Επιλέξτε PGP Self-Decrypting Archive και πατήστε
Επόμενο.
• Στο επόμενο παράθυρο πληκτρολογήστε δύο φορές το
passphrase.
• Προσοχή: Αυτό το passphrase είναι μόνο για το PGP SDA
Zip αρχείο. ∆εν πρέπει να είναι το passphrase του ζεύγους
κλειδιών σας και επίσης πρέπει να το γνωρίζει και ο
παραλήπτης.
Επιβεβαίωση υπογεγραμμένων
PGP Zip αρχείων (1/3)
• Αν λάβετε ένα υπογεγραμμένο PGP Zip αρχείο πρέπει
να εξακριβώσετε την υπογραφή του αποστολέα.
• Στο περιβάλλον του PGP Desktop, επιλέξτε από το menu
Tools -> Verify Files.
• Ανοίγει το παράθυρο αναζήτησης.
• Βρείτε το υπογεγραμμένο .pgp αρχείο και πατήστε
Άνοιγμα.
Επιβεβαίωση υπογεγραμμένων
PGP Zip αρχείων (2/3)
• Αν το αρχείο είναι κρυπτογραφημένο (εκτός από το να
είναι υπογεγραμμένο) παρακινήστε να πληκτρολογήσετε
την passphrase του ιδιωτικού κλειδιού σας ή
οποιουδήποτε ιδιωτικού κλειδιού που ανταποκρίνεται
στο δημόσιο κλειδί με το οποίο κρυπτογραφήθηκε το PGP
Zip αρχείο.
• Αν δεν μπορείτε να το κάνετε αυτό πατήστε Cancel.
• Πληκτρολογήστε την passphrase του παραπάνω ιδιωτικού
κλειδιού.
• Πατήστε Ok.
Επιβεβαίωση υπογεγραμμένων
PGP Zip αρχείων (3/3)
• Τα περιεχόμενα του αρχείου σώζονται στον ίδια
θέση με το PGP Zip αρχείο και το παράθυρο
Verification History σας πληροφορεί για την
επαλήθευση της υπογραφής.
• Για να καθαρίσετε το ιστορικό του Verification History
επιλέξτε Clear Verification History.
ΕΡΓΑΣΤΗΡΙΟ
Σκοποί ενότητας
• Σκοπός αυτού του εργαστηρίου είναι η
απόκτηση εμπειρίας πάνω στην χρήση των
συναρτήσεων κατακερματισμού στα πλαίσια
της εξασφάλισης και του ελέγχου της
ακεραιότητας των δεδομένων αλλά και της
αυθεντικοποίησης του ιδιοκτήτη τους.
• Επιπλέον, θα γίνει μια γνωριμία των ψηφιακών
πιστοποιητικών (digital certificates).
Περιεχόμενα ενότητας
• Ψηφιακά πιστοποιητικά.
• Μορφή ψηφιακού πιστοποιητικού.
• Συναρτήσεις κατακερματισμού - hash functions.
• Ασκήσεις.
• Βιβλιογραφία.
Μορφή ψηφιακού
πιστοποιητικού (1/9)
• Το ποιό κοινό standard για ψηφιακά
πιστοποιητικά είναι το X.509.
• Ένα ψηφιακό πιστοποιητικό περιέχει τις εξής
πληροφορίες:
– Serial Number: Χρησιμοποιείται για την μοναδική
αναγνώριση του πιστοποιητικού.
– Subject: Το άτομο ή η οντότητα για το οποίο εκδόθηκε
το πιστοποιητικό.
Μορφή ψηφιακού
πιστοποιητικού (2/9)
• Ένα ψηφιακό πιστοποιητικό περιέχει τις εξής
πληροφορίες:
– Signature Algorithm: Ο αλγόριθμος που
χρησιμοποίησε η CA για να υπογράψει το
πιστοποιητικό. Issuer: Η οντότητα που επαλήθευσε τις
πληροφορίες του πιστοποιητικού και εξέδωσε το
πιστοποιητικό. Valid-From: Η ημερομηνία από την
οποία ξεκινάει η ισχύς του πιστοποιητικού.
– Valid-To: Η ημερομηνία λήξης του πιστοποητικού.
– Key-Usage: Purpose of the public key (e.g.
encipherment, signature, certificate signing...).
Μορφή ψηφιακού
πιστοποιητικού (3/9)
• Ένα ψηφιακό πιστοποιητικό περιέχει τις εξής
πληροφορίες:
– Public Key: Το δημόσιο κλειδί του Subject του
πιστοποιητικού.
– Thumbprint Algorithm: Η συνάρτηση
κατακερματισμού (hash) που χρησιμοποιήθηκε στο
πιστοποιητικό.
– Thumbprint: Το αποτέλεσμα της συνάρτησης
κατακερματισμού έτσι ώστε να διαπιστωθεί εάν έχει
γίνει τροποποίηση του πιστοποιητικού
Μορφή ψηφιακού
πιστοποιητικού (4/9)
• Οι διακομιστές που υποστηρίζουν HTTPS και SSL είναι
απαραίτητο να κατέχουν ένα ψηφιακό πιστοποιητικό το
οποίο να αποδεικνύει την αυθεντικότητα του δημοσίου
κλειδιού του διακομιστή.
• Για να δείτε ένα παράδειγμα ψηφιακού πιστοποιητικού
διακομιστή επισκεφτείτε την σελίδα του Discover Card.
• Στη συνέχεια επιλέξτε “DFS Services” αριστερά από την
γραμμή διευθύνσεων (Εικόνα 1).
Μορφή ψηφιακού
πιστοποιητικού (5/9)
• Ο τρόπος παρουσίασης του πιστοποιητικού διαφέρει
ανάλογα με τον τύπο του browser που χρησιμοποιείτε.
– Π.χ σε Mozilla θα βλέπετε την Εικόνα 2.
Μορφή ψηφιακού
πιστοποιητικού (7/9)
Εικόνα 4. Το ψηφιακό
πιστοποιητικό της
www.discovercard.com.
Πηγή: Διδάσκων (2015).
Μορφή ψηφιακού
πιστοποιητικού (9/9)
• Επιλέγοντας Λεπτομέρειες μπορείτε να δείτε
επιπλέον χαρακτηριστικά του ψηφιακού
πιστοποιητικού.
• Τέλος, μπορείτε να επιλέξετε το κουμπί
“Εξαγωγή…” σε περίπτωση που θέλετε να εξάγετε
το πιστοποιητικό στον υπολογιστή σας.
Συναρτήσεις κατακερματισμού -
hash functions (1/11)
• Στα προηγούμενα εργαστήρια που μιλήσαμε για την
κρυπτογράφηση δημόσιου κλειδιού είδαμε ότι υπάρχουν
δυο εφαρμογές της:
– Για την κρυπτογράφηση δεδομένων έτσι ώστε να μπορούν αυτά
να αποσταλούν στον παραλήπτη με ασφάλεια.
– Για την δημιουργία της ψηφιακής υπογραφής.
• Η χρήση της κρυπτογράφησης δημόσιου κλειδιού σε
μεγάλα μηνύματα για λόγους αυθεντικοποίησης του
ιδιοκτήτη και επικύρωσης της ορθότητας των
περιεχομένων του μηνύματος είναι μια αρκετά
χρονοβόρα διαδικασία.
Συναρτήσεις κατακερματισμού -
hash functions (2/11)
• Όταν υπογράφουμε ψηφιακά ένα έγγραφο, συνήθως (όχι
όμως και απαραίτητα) δεν αλλάζουμε την μορφή του
αρχικού εγγράφου έτσι ώστε να μπορεί οποιοσδήποτε να
το διαβάζει και απλά «επισυνάπτουμε» στο έγγραφο την
ψηφιακή υπογραφή η οποία δεν είναι τίποτα άλλο από
ένα μικρό τμήμα δεδομένων.
• Έτσι, ο παραλήπτης θα μπορεί να εξακριβώσει τόσο την
εγκυρότητα του αποστολέα του μηνύματος (στον οποίο
ανήκει η υπογραφή), όσο και την ακεραιότητα των
δεδομένων του μηνύματος (ότι δηλαδή τα δεδομένα του
μηνύματος δεν έχουν τροποποιηθεί).
Συναρτήσεις κατακερματισμού -
hash functions (3/11)
• Για να πραγματοποιηθεί η παραπάνω διαδικασία θα
πρέπει αρχικά να μετατραπεί το αρχικό έγγραφο σε ένα
μικρό, σταθερού μεγέθους τμήμα δεδομένων που
ονομάζεται αποτύπωμα (fingerprint) ή σύνοψη (digest) ή
hash code.
• Αυτό πραγματοποιείται μέσω μιας συνάρτησης
κατακερματισμού η οποία λαμβάνει το αρχικό έγγραφο
και παράγει την σύνοψη με τέτοιο τρόπο ώστε κάθε bit
της σύνοψης να εξαρτάται από όσο το δυνατόν
περισσότερα bits του εγγράφου (Εικόνα 5).
Συναρτήσεις κατακερματισμού -
hash functions (4/11)
Συναρτήσεις κατακερματισμού -
hash functions (6/11)
• Η MD5 παράγει συνόψεις των 128 bits ενώ η
SHA-1 των 160 bits.
• Ο αριθμός των bits των συνόψεων που
παράγονται θα πρέπει αν είναι αρκετά μεγάλος
έτσι ώστε να μειώνει την πιθανότητα να
παραχθεί η ίδια σύνοψη από δυο διαφορετικά
έγγραφα.
Συναρτήσεις κατακερματισμού -
hash functions (7/11)
• Η Εικόνα 6 απεικονίζει την διαδικασία της παραγωγής της
ψηφιακής υπογραφής ενός εγγράφου από τον
συγγραφέα του.
• Η συνάρτηση κατακερματισμού παράγει από το αρχικό
έγγραφο την σύνοψη, η οποία στην συνέχεια
κρυπτογραφείται με το ιδιωτικό κλειδί του συγγραφέα
παράγοντας την ψηφιακή υπογραφή.
• Η ψηφιακή υπογραφή στην συνέχεια επισυνάπτεται στο
αρχικό έγγραφο.
Συναρτήσεις κατακερματισμού -
hash functions (8/11)
Συναρτήσεις κατακερματισμού -
hash functions (10/11)
• Η τελευταία συγκρίνεται με την ληφθείσα ψηφιακή
υπογραφή η οποία έχει πρώτα αποκρυπτογραφηθεί με το
δημόσιο κελιδί του συγγραφέα – αποστολέα.
• Αν οι δυο συνόψεις είναι πανομοιότυπες τότε το αρχικό
έγγραφο είναι όντως του αποστολέα και, επιπλέον, τα
περιεχόμενά του είναι άθικτα.
• Σε κάθε άλλη περίπτωση το αρχικό έγγραφο έχει
τροποποιηθεί.
Συναρτήσεις κατακερματισμού -
hash functions (11/11)
Ασκήσεις (1/2)
• sha1sum.exe.
– Δημιουργείστε στην επιφάνεια εργασίας ένα νέο file1.txt
αρχείο με τυχαίο περιεχόμενο.
– Κατεβάστε από την ηλεκτρονική τάξη το αρχείο
sha1sum.exe και αποθηκεύστε το και αυτό στην επιφάνεια
εργασίας.
– Ανοίξτε ένα cmd και μεταφερθείτε στο path όπου
αποθηκεύσατε τα αρχεία των προηγούμενων ερωτημάτων
(Επιφάνεια Εργασίας).
– Εκτελέστε στο cmd την εντολή: sha1sum file1.txt . Θα
δημιουργήσετε έτσι την σύνοψη του file1.txt την οποία και
θα δείτε στο cmd (στο δεκαεξαδικό).
Ασκήσεις (2/2)
• Hashcalc.
– Κατεβάστε και εγκαταστήστε από την ηλεκτρονική
τάξη το HashCalc.
– Χρησιμοποιείστε το HashCalc για να ελέγξετε την
ορθότητα της σύνοψης του file1.txt.
– Επιλέξτε να κατεβάσετε από το Web ένα από τα
αρχεία που βρίσκονται στην σελίδα:
• http://www.eclipse.org/downloads/.
• Επιλέξτε οποιοδήποτε αρχείο.
– Ελέγξτε στο HashCalc την ορθότητα των περιεχομένων
του αρχείου.
ΕΡΓΑΣΤΗΡΙΟ
Περιεχόμενα ενότητας
• Κρυπτανάλυση με το Advanced Archive Password
Recovery.
• Στεγανογραφία.
• Στεγανογραφία εικόνας.
• Στεγανογραφία ήχου.
• Visual Cryptography.
• Easter Eggs.
• Βιβλιογραφία.
Κρυπτανάλυση με το Advanced
Archive Password Recovery (1/6)
• Κρυπτανάλυση (cryptanalysis) είναι η διαδικασία της
μελέτης και ανεύρεσης μεθόδων και εργαλείων για την
κατανόηση του περιεχομένου μιας κρυπτογραφημένης
πληροφορίας, χωρίς να υπάρχει καμία γνώση σχετικά με
τον τρόπο της κρυπτογράφησης.
• Η κρυπτογραφημένη αυτή πληροφορία ονομάζεται
κρυπτογράφημα.
• Tο Advanced Archive Password Recovery είναι ένα
γρήγορο εργαλείο που χρησιμοποιεί επιθέσεις brute force
και dictionary για να σπάσει ή να βρει κωδικούς winzip ή
winrar αρχείων.
Κρυπτανάλυση με το Advanced
Archive Password Recovery (2/6)
• Η επίθεση brute force (ωμής βίας) στην ουσία
αναφέρεται στην εξαντλητική δοκιμή όλων των πιθανών
κλειδιών που παράγουν ένα κρυπογράφημα μέχρι να
αποκαλυφθεί το αρχικό μήνυμα.
• Γενικά μπορεί να χρησιμοποιηθεί σε οποιοδήποτε είδος
κρυπτανάλυσης.
• Συνήθως ο επιτιθέμενος ξεκινάει με την δοκιμή των πιο
πιθανών κλειδιών έτσι ώστε να μειώσει τον χρόνο της
κρυπτανάλυσης.
Κρυπτανάλυση με το Advanced
Archive Password Recovery (3/6)
• Για τον λόγο αυτό η δημιουργία του κρυπτογραφήματος
θα πρέπει να χρησιμοποιεί τέτοιο κλειδί ώστε ο χρόνος
που θα απαιτεί για να σπάσει το κλειδί με την μέθοδο
brute-force να είναι τόσο μεγάλος που να μην έχει νόημα
σε αυτή την περίπτωση η κρυπτανάλυση.
• Από την άλλη η επίθεση dictionary βασίζεται στην
προσπάθεια να σπάσει το κλειδί ή passphrase του
κρυπτογραφήματος με την δοκιμή λέξεων από μια έτοιμη
λίστα που ονομάζουμε λεξικό.
• Το λεξικό είναι ένα απλό αρχείο (.dic) το οποίο περιέχει
μια λίστα με τις πιο πιθανές λέξεις που θα μπορούσαν να
χρησιμοποιηθούν.
Κρυπτανάλυση με το Advanced
Archive Password Recovery (4/6)
• Οι χρήστες γενικά έχουν την τάση να χρησιμοποιούν
μικρά passwords (έτσι ώστε να τα θυμούνται), που
συνήθως περιέχουν λέξεις που να έχουν νόημα στις
οποίες απλά, για παράδειγμα, προσθέτουν στο τέλος ένα
ψηφίο π.χ. το όνομά τους και έναν αριθμό στο τέλος –
maria12.
• Όλα τα προηγούμενα παραδείγματα passwords είναι
πολύ εύκολο να αποκαλυφθούν από μία dictionary
επίθεση που βασίζεται σε ένα καλό λεξικό.
Κρυπτανάλυση με το Advanced
Archive Password Recovery (5/6)
• Για την εγκατάσταση του εργαλείου κατεβάστε τα 2
αρχεία setup_part1και setup_part2 και αποσυμπιέστε τα.
• Εκτελέστε στο αρχείο setup.exe.
• Αντιγράψτε από την ηλεκτρονική τάξη τα αρχεία
dictionary.txt και Makbeth.zip σε ένα φάκελο στον τοπικό
υπολογιστή.
• Χρησιμοποιώντας την επίθεση brute force, προσπαθήστε
να ανακτήσετε τον κωδικό του αρχείου Makbeth.zip.
• Θεωρήστε ότι το password αποτελείται από 4 χαρακτήρες
οι οποίοι είναι μόνο γράμματα (κεφαλαία ή/και μικρά).
Κρυπτανάλυση με το Advanced
Archive Password Recovery (6/6)
• Υλοποιήστε μια επίθεση λεξικού στο παραπάνω
αρχείο.
• Ποια μέθοδος κρυπτανάλυσης είναι ποιο αποδοτική;
• Πόσοι είναι οι πιθανοί κωδικοί που πρέπει να
ελεγχθούν σε κάθε περίπτωση;
• Προτείνετε μέτρα προστασίας του password.
• Τι μορφή πρέπει να έχει ένα password για να
θεωρείται ασφαλές;
Στεγανογραφία (1/3)
• Στεγανογραφία ονομάζεται η επιστήμη της απόκρυψης
πληροφοριών μέσα σε άλλες πληροφορίες.
• Ιστορικά, υπήρξαν τεχνικές που χρησιμοποιούσαν αόρατο
μελάνι, λεπτές εγκοπές σε έγγραφα, ακόμα και μηνύματα
σε tattoos κάτω από το τριχωτό της κεφαλής του
αγγελιοφόρου.
• Στην σημερινή ψηφιακή εποχή, η επιστήμη της
στεγανογραφίας παρέχει τεχνικές απόκρυψης μηνυμάτων
σε ψηφιακά αρχεία ήχου, σε ψηφιακές εικόνες, ακόμα και
τεχνικές παραγωγής ψευδο-μηνυμάτων κειμένου τα
οποία στην ουσία κωδικοποιούν άλλα μηνύματα.
Στεγανογραφία (2/3)
• Ιδανικά, στην στεγανογραφία στο αρχικό μήνυμα δεν θα
πρέπει να διακρίνεται η ύπαρξη του κρυμμένου
μηνύματος.
• Γι’ αυτό και χρησιμοποιούνται σαν αρχικά μηνύματα
κυρίως αρχεία που περιέχουν πλεονασμό (redundancy)
δεδομένων (π.χ. απλά αρχεία ήχου και εικόνας).
• Γενικότερα, η στεγανογραφία λειτουργεί
αποτελεσματικότερα με συμπιεσμένα αρχεία όπως είναι
τα JPEG και MPEG.
Στεγανογραφία (3/3)
• Κάποια εργαλεία στεγανογραφίας μπορείτε να
βρείτε στα παρακάτω links:
– http://www.jjtc.com/Steganography/tools.html.
– http://www.securityfocus.com/tools/category/55.
– http://www.cotse.com/tools/stega.htm.
Σκοποί ενότητας
• Αυτή η εργαστηριακή ενότητα
πραγματεύεται ζητήματα σχετικά με την
ασφάλεια δικτύων.
Περιεχόμενα ενότητας
• Σάρωση δικτύων.
• Αντίμετρα έναντι του ping.
• Προσδιορισμός των υπηρεσιών που τρέχουν σε ένα
σύστημα.
• Κατάσταση θύρας.
• Τεχνικές σάρωσης θυρών.
• Βιβλιογραφία.
ΕΡΓΑΣΤΗΡΙΟ
Περιεχόμενα ενότητας
• Εισαγωγή.
• Zenmap.
• Scan.
• Ping.
• Παράδειγμα χρήσης του Zenmap.
• Βιβλιογραφία.
Εισαγωγή (1/2)
• Ένα καλό εργαλείο port scanning είναι ένα σημαντικό
συστατικό της διαδικασίας συγκέντρωσης πληροφοριών.
• Παραδείγματα αποτελούν τα strobe, netcat, SuperScan,
WUPS, ScanLine και nmap. Με το τελευταίο θα
ασχοληθούμε σε αυτό το εργαστήριο.
• Το Nmap (Network Mapper) είναι ένα ελεύθερο εργαλείο
ανοικτού κώδικα.
• Χρησιμοποιεί πακέτα IP με σκοπό την αναγνώριση των
hosts που υπάρχουν σε ένα δίκτυο, τα services που
προσφέρουν οι hosts, τα λειτουργικά συστήματα που
χρησιμοποιούν, τα είδη firewall που χρησιμοποιούν κ.α.
Εισαγωγή (2/2)
• Λειτουργεί εξίσου καλά στην ανίχνευση μεγάλων
δικτύων αλλά και απλών hosts.
• Το Nmap υπάρχει διαθέσιμο σε διάφορες
εκδόσεις καλύπτοντας κυριότερα λειτουργικά
συστήματα (Windows, Linux και Mac OS X).
• Η κλασική έκδοση του Nmap προσφέρεται σαν
εργαλείο γραμμής εντολών.
Zenmap (1/8)
• Στο εργαστήριο θα χρησιμοποιήσουμε την
έκδοση του Nmap με GUI που ονομάζεται
Zenmap την οποία μπορείτε να κατεβάσετε από
τον Ιστότοπο http://nmap.org/download.html
ενώ το επίσημο εγχειρίδιο χρήσης υπάρχει στον
Ιστότοπο http://nmap.org/book/zenmap.html.
• Η Εικόνα 1 δείχνει το περιβάλλον του εργαλείου
Zenmap.
Zenmap (2/8)
Zenmap (4/8)
• Μπορούμε και να εισάγουμε λοιπόν στο τέλος της
εντολής μια μόνο διεύθυνση IP ή και όνομα στόχου ή,
εναλλακτικά, ένα εύρος διευθύνσεων της μορφής CIDR.
• Επιπλέον, μπορούμε να χρησιμοποιήσουμε τις
παραμέτρους –o (binary), –oN (ASCII), -oM (με
στηλοθέτες) και –οΧ (σε XML) για να αποθηκεύσουμε την
έξοδο σε ξεχωριστό αρχείο στην αντίστοιχη μορφή:
nmap –sF 192.168.1.0/24 –oN outfile
Zenmap (5/8)
Zenmap (6/8)
• Τα έτοιμα profiles που προσφέρει το Zenmap είναι:
– Intense scan (nmap -T4 -A -v).
– Intense scan plus UDP (nmap -sS -sU -T4 -A -v).
– Intense scan, all TCP ports (nmap -p 1-65535 -T4 -A -v).
– Intense scan, no ping (nmap -T4 -A -v -Pn).
– Ping scan (nmap -sn).
– Quick scan (nmap -T4 –F).
– Quick scan plus (nmap -sV -T4 -O -F --version-light).
– Quick traceroute (nmap -sn –traceroute).
– Regular scan (nmap).
– Slow comprehensive scan (nmap -sS -sU -T4 -A -v -PE -PP -
PS80,443 -PA3389 - PU40125 -PY -g 53 --script "default or
(discovery and safe).
Zenmap (7/8)
• Οι παράμετροι που υπάρχουν από δίπλα
προσδιορίζουν το πώς ακριβώς εκτελείται η
σάρωση και τι είδους πακέτα αποστέλλονται
(επεξηγούνται παρακάτω).
• Μπορείτε επίσης να δημιουργήσετε δικά σας
profiles επιλέγοντας από το menu Profile New
Profile or Command (Εικόνα 3).
Zenmap (8/8)
Scan (2/4)
• Στο TCP scan περιλαμβάνονται οι σαρώσεις:
– FIN scan (-sF) η οποία είναι η Stealth FIN σάρωση που περιγράφθηκε
παραπάνω.
– Null scan (-sN) η οποία είναι η Null σάρωση που περιγράφθηκε
παραπάνω.
– TCP SYN scan (-sS) η οποία είναι η Stealth σάρωση που περιγράφθηκε
παραπάνω.
– TCP Connect scan (-sT) η οποία είναι η TCP Connect σάρωση που
περιγράφθηκε παραπάνω.
– Xmas Tree scan (-sX) η οποία είναι η Xmas Tree σάρωση που
περιγράφθηκε παραπάνω.
– ACK scan (-sA) η οποία στέλνει μηνύματα με ενεργοποιημένο το flag
ACK.
– Maimon scan (-sM) η οποία στέλνει μηνύματα με ενεργοποιημένα τα
flags FIN και ACK κ.α.
Scan (3/4)
• Αντίστοιχα οι σαρώσεις Non-TCP περιλαμβάνουν:
– UDP scan (-sU) η οποία είναι η UDP σάρωση που
περιγράφθηκε παραπάνω.
– List scan (-sL) η οποία δεν σαρώνει στόχους αλλά απλά
δημιουργεί μια λίστα με τους στόχους που θα
σαρωθούν (με reverse DNS names) κ.α.
• Στο πεδίο Timing template μπορείτε να επιλέξετε
την ταχύτητα της σάρωσης.
Scan (4/4)
• Γενικά ο χρόνος που θα διαρκέσει μια σάρωση εξαρτάται από
την ταχύτητα του δικτύου αλλά και από τον χρόνο απόκρισης
του στόχου.
• Το nmap χρησιμοποιεί κάποιες επιπλέον πολιτικές για να
αυξομειωθεί ο χρόνος σάρωσης.
• Ενδεικτικά στην πολιτική Paranoid (-T0) αποστέλλεται κάθε ένα
από τα πακέτα της σάρωσης ανά 5 λεπτά.
• Μπορείτε να επιλέξετε και επιπλέον επιλογές όπως εάν θέλετε
να πραγματοποιηθεί αναγνώριση του λειτουργικού
συστήματος του στόχου (περιγράφεται παρακάτω) (-Ο) ή αν
θέλετε να αναγνωρίσετε την έκδοση της εκάστοτε υπηρεσίας
που εκτελείται σε κάθε port (-sV).
Ping (1/3)
• To nmap επιτρέπει επιπλέον την χρήση του εργαλείου ping
(που περιγράφτηκε στην 1η ενότητα) με σκοπό την
αναγνώριση των ενεργών στόχων.
• Αν επιλέξετε την καρτέλα ping του profile editor (Εικόνα 4)
υπάρχουν διαθέσιμες οι παρακάτω επιλογές:
– Don’t ping before scanning (-Pn) η οποία παραλείπει το βήμα της
αναγνώρισης του αν ο στόχος είναι ενεργός και εκτελεί απευθείας
την σάρωση.
– ICMP ping (-PE) η οποία στέλνει ένα ICMP Echo Request για να
αναγνωρίσει τους ενεργούς στόχους.
– ACK ping (-PA) η οποία στέλνει ένα ACK μήνυμα για να αναγνωρίσει
τους ενεργούς κόμβους (πρέπει να προσδιοριστεί συγκεκριμένο
port – ένα ή περισσότερα).
Ping (2/3)
Εικόνα 5. Αποτέλεσμα
της εντολής nmap –sN
scanme.nmap.org.
Πηγή: Διδάσκων (2015).
Παράδειγμα χρήσης του
Zenmap (4/13)
• Πληκτρολογήστε την εντολή nmap -A –sΤ
scanme.nmap.org και πατήστε scan.
• Ένα ενδεικτικό αποτέλεσμα της εντολής μπορείτε να δείτε
στην Εικόνα 6.
• Στο αριστερό κομμάτι του Zenmap μπορείτε να δείτε τα
hosts που αναγνωρίστηκαν ως ενεργά και στο δεξί
(κυρίως παράθυρο του GUI) τις λεπτομέρειες της
σάρωσης.
• Πρόκειται για μια TCP Connect σάρωση και με αναζήτηση
πληροφοριών σχετικά με το λειτουργικό σύστημα του
στόχου.
Εικόνα 6. Ports/Hosts.
Πηγή: Διδάσκων (2015).
Παράδειγμα χρήσης του
Zenmap (6/13)
• Μόλις ολοκληρωθεί η προηγούμενη σάρωση
επιλέξτε από το κεντρικό παράθυρο του εργαλείου
την καρτέλα Posts/Hosts.
• Εδώ μπορείτε να δείτε την κατάσταση των ports που
αναγνωρίσθηκαν ανά host καθώς επίσης και τις
υπηρεσίες που εκτελούνται σε κάθε port.
• Το πράσινο κυκλάκι σημαίνει ότι η συγκεκριμένη
θύρα είναι ανοιχτή (LISTENING).
Σκοποί ενότητας
• Αυτή η εργαστηριακή ενότητα
πραγματεύεται ζητήματα σχετικά με την
κρυπτογραφία με το Windump.
Περιεχόμενα ενότητας (1/2)
• Windump - Περιγραφή.
• Καθορίζοντας την ποσότητα δεδομένων που θα
συλλεχθούν.
• Αναλύοντας το output του Windump.
• Ανάλυση συνδέσεων TCP.
• Ανάλυση φίλτρων WinDump.
• Windump και ασφάλεια από συγκεκριμένες
επιθέσεις.
Εικόνα 1. Απλή δικτυακή αρχιτεκτονική για την καταγραφή της δικτυακής κίνησης.
Πηγή: Διδάσκων (2015).
dst host host για τον ορισμό του κόμβου προορισμού του
πακέτου, μέσω του ονόματος αυτού
Ανάλυση φίλτρων WinDump
(2/6)
Πίνακας 2. Ανάλυση φίλτρων WinDump (Συνέχεια). Πηγή: Διδάσκων (2015).
Φίλτρο Ιδιότητα
src host host για τον ορισμό του κόμβου πηγής του
πακέτου, μέσω του ονόματος αυτού
host host για τον ορισμό του κόμβου του πακέτου, μέσω
του ονόματος αυτού
dst net net για τον ορισμό του δικτύου προορισμού του
πακέτου
src net net για τον ορισμό του δικτύου πηγής του
πακέτου
net net για τον ορισμό του δικτύου του πακέτου
dst port port για τον ορισμό της θύρας προορισμού του
πακέτου
src port port για τον ορισμό της θύρας πηγής του πακέτου
port port για τον ορισμό της θύρας του πακέτου
protocol για τον ορισμό του πρωτοκόλλου του πακέτου:
πχ icmp, ah, esp, udp, tcp.
Land Attack
• Στην DoS επίθεση Land ο επιτιθέμενος στέλνει
spoofed πακέτα TCP SYN στα οποία ο αποστολέας
είναι η διεύθυνση IP του στόχου.
• Αυτό έχει σαν αποτέλεσμα ο στόχος να στέλνει
συνέχεια μηνύματα στον εαυτό του.
• Το φίλτρο στο windump το οποίο μπορεί να
χρησιμοποιηθεί για την αναγνώριση τέτοιου είδους
επίθεσης είναι:
windump (ip[12:4] = ip[16:4])
Smurf Attack (1/2)
• Στην DoS επίθεση smurf ο επιτιθέμενος στέλνει
spoofed ICMP μηνύματα στα οποία ο αποστολέας
είναι η διεύθυνση IP του στόχου και παραλήπτης
είναι η broadcast διεύθυση του δικτύου του
παραλήπτη.
• Αν λοιπόν το δίκτυο του παραλήπτη αποτελείται από
έναν μεγάλο αριθμό συνδεδεμένων συσκευών, κάθε
μια από αυτές θα πρέπει να απαντήσει στα
μηνύματα αυτά υπερφορτώνοντας τον στόχο.
Ερωτήματα (2/4)
5. Να καταγράφεται και να εμφανίζεται στην οθόνη όλη η
κίνηση στη θύρα 23 του υπολογιστή σας.
6. Να καταγράφεται και να εμφανίζεται στην οθόνη η
κίνηση μονό προς την θύρα tcp 25 του υπολογιστή σας.
7. Να καταγράφεται και να εμφανίζεται στην οθόνη η
κίνηση από το δίκτυο 192.168.1.0 προς το δίκτυο
192.168.2.0.
8. Να καταγράφεται η κίνηση από και προς γειτονικό
υπολογιστή σε δυαδικό αρχείο καταγραφής.
9. Να καταγράφεται σε αρχείο καταγραφής η tcp κίνηση.
Ερωτήματα (3/4)
10. Να καταγράφεται και να εμφανίζεται στην οθόνη η
κίνηση μεταξύ του υπολογιστή σας και οποιουδήποτε
εκτός ενός γειτονικού υπολογιστή.
11. Να καταγράφεται και να εμφανίζεται στην οθόνη η ip
κίνηση εκτός από την κίνηση από και προς των τοπικών
κόμβων.
12. Να καταγράφεται και να εμφανίζεται στην οθόνη τα ip
πακέτα που αποστέλλονται από τον υπολογιστή σας και
έχουν μέγεθος μεγαλύτερο από 576 bytes
(συμβουλευτείτε την επικεφαλίδα του IP).
Ερωτήματα (4/4)
• Να καταγράφεται και να εμφανίζεται στην οθόνη η
κίνηση από και προς την IP 192.168.10.10, αλλά όχι
από την IP 192.168.1.11.
• Αφού εκτελέσετε το WinDump με το προηγούμενο
φίλτρο ενεργοποιημένο ανοίξτε ένα cmd και
πληκτρολογήστε:
tracert www.teikoz.gr
• Ανοίξτε το αρχείο καταγραφής. Τι παρατηρείτε;Τι
είδους μηνύματα στέλνονται όταν το TTL
εξαντλείται;
ΕΡΓΑΣΤΗΡΙΟ
Ενότητα 8: Snort
Σκοποί ενότητας
• Αυτή η εργαστηριακή ενότητα
πραγματεύεται ζητήματα σχετικά με την
κρυπτογραφία με το Snort.
Περιεχόμενα ενότητας
• Περιγραφή.
• Snort.
• Snort vs tcpdump.
• Κανόνες Snort.
• Ασκήσεις.
• Βιβλιογραφία.
Περιγραφή (1/4)
• Στο τρίπτυχο δικτυακής ασφάλειας, τα προληπτικά αντίμετρα
συμπληρώνονται από ανιχνευτικά αντίμετρα, με στόχο την
αναγνώριση προσπαθειών ή περιστατικών εισβολής στο
σύστημα.
• Τα συστήματα ανίχνευσης εισβολών διακρίνονται σε
κατηγορίες ανάλογα με τη λειτουργία τους.
• Μία πρώτη κατηγοριοποίηση, διακρίνει τα συστήματα αυτά σε
network-based, όταν στοχεύουν στην ανίχνευση εισβολών σε
κάποιο υποδίκτυο ή στο σύνολο του δικτύου ενός
πληροφοριακού συστήματος και σε host-based, όταν
στοχεύουν στην προστασία ενός συγκεκριμένου μηχανήματος.
Περιγραφή (2/4)
• Τα πρώτα μπορούν να διακριθούν με τη σειρά τους σε
τεχνολογίες βασισμένες σε:
– Υπογραφές, δηλαδή στην ανίχνευση κάποιας συγκεκριμένη
ακολουθίας / μορφής στην επικεφαλίδα ή στο περιεχόμενο
ενός δικτυακού πακέτου
– Αναγνώριση ανωμαλιών, δηλαδή γεγονότων ή
<<συμπεριφορών>> της δικτυακής κίνησης, η οποία μπορεί
να θεωρηθεί μη ομαλή, ανάλογα με τη λειτουργία κάθε
δικτύου, όπως για παράδειγμα ιδιαίτερα αυξημένη
δικτυακή κίνηση σε ώρες μη-αιχμής.
– Υβριδικά, τα οποία αποτελούν συνδυασμό των δύο.
Περιγραφή (3/4)
• Η σημαντικότερη παράμετρος στη λειτουργία των
συστημάτων ανίχνευσης εισβολών, είναι η απόδοσή τους,
όσο αναφορά την ικανότητα αυτών να ανιχνεύουν
πραγματικά γεγονότα.
• Η ικανότητα αυτή, εξαρτάται τόσο από τη <<νοημοσύνη>>
του συστήματος, όσο και από την ορθή παραμετροποίηση
του, ανάλογα με τη φύση κάθε δικτύου.
• Εδώ εντοπίζεται και το σπουδαιότερο πρόβλημα των
συστημάτων ανίχνευσης εισβολών, τα οποία
χαρακτηρίζονται από σφάλματα με την ονομασία: False
positives.
Περιγραφή (4/4)
• Τα τελευταία, οφείλονται στην εσφαλμένη ανίχνευση
εισβολής, η οποία δημιουργεί συναγερμούς οι οποίοι όχι
μόνο δεν ανταποκρίνονται στην πραγματικότητα, αλλά και
δυσκολεύουν στην αναγνώριση των πραγματικών
συναγερμών από το πλήθος των εσφαλμένων.
• Στο προηγούμενο εργαστήριο είχατε πάρει ήδη μια γεύση
από ένα σύστημα ανίχνευσης εισβολών.
• Σε αυτό το εργαστήριο θα εξασκηθείτε στις βασικές
λειτουργίες ενός νέου συστήματος ανίχνευσης εισβολών,
που όμως παρέχει και επιπλέον λειτουργίες, με έμφαση
στην παραμετροποίηση αυτού, ώστε να γίνει κατανοητή η
θεωρία μέσα από την πράξη.
Snort (1/7)
• Το Snort (www.snort.org) είναι ένα πολύ γνωστό open
source σύστημα για με σκοπό την αποφυγή αλλά και
αναγνώριση των network intrusions (IDS/IPS) που
κατασκευάστηκε από την SourceFire.
• Κατέχοντας έως και το 2011 εκατομμύρια downloads και
περίπου 300,000 εγγεγραμμένους χρήστες, έχει γίνει το
de facto standard για συστήματα IDS/IPS.
• Το Snort χρησιμοποιείται επιπλέον και για εκπαιδευτικούς
σκοπούς σαν εργαλείο για την διδασκαλία θεμάτων
ασφάλειας δικτύων.
Snort (2/7)
• Το βασικό στοιχείο του Snort αφορά στην δημιουργία
κανόνων που καταγράφων επιθέσεις διαφόρων
ειδών.
• Παρ’ όλο που υπάρχουν διαθέσιμα επίσημα ένα
σύνολο από κανόνες στο επίσημο site του Snort, είναι
προφανώς απαραίτητη η συνεχής δημιουργία νέων
κανόνων για την αντιμετώπιση των νέων απειλών.
• Είναι επομένως σημαντικό να καταλαβαίνει κανείς
αλλά και να μπορεί να δημιουργεί κανόνες για το
Snort (Snort rules).
Snort (3/7)
• Επιπλέον από το επίσημο website του Snort, υπάρχουν
και άλλες αξιόπιστες πηγές από όπου μπορεί κανείς να
διδαχθεί τους κανόνες για το Snort.
• Για τον λόγο ότι οι κανόνες του Snort αποτελούν
πρόκληση στο να τους μάθει και δημιουργήσει κανείς,
έχουν δημιουργηθεί διάφορες εκδόσεις του Snort με GUI,
για να διευκολύνουν την διαδικασία συγγραφής των
κανόνων (π.χ. www.zeffie.com/cobalt_snort.html,
http://sourceforge.net/projects/snortcenter2,
http://andrew/cmu.edu/user/rdanyliw/snort/snortacid.ht
ml).
Snort (4/7)
• Γενικά, ενώ υπάρχουν διάφορα tutorials για το πώς
μπορεί κάποιος να μάθει να γράφει κανόνες στο
Snort, έχει αποδειχθεί ότι για να εξεταστεί η
ορθότητα ενός κανόνα είναι απαραίτητη η εφαρμογή
του κανόνα σε μια πραγματική καταγραφή.
• Είναι γεγονός ότι «οι κανόνες πρέπει να
εφαρμοστούν, αλλαχθούν, επαναεφαρμοστούν και
επαν-αλλαχθούν έτσι ώστε να μειωθούν οι
λανθασμένες ειδοποιήσεις».
Snort (5/7)
• To snort βασίζεται σε ένα σύνολο κανόνων, οι
οποίοι χρησιμοποιούνται:
– Για την παρακολούθηση δικτυακής κίνησης.
– Την καταγραφή συμβάντων.
– Την παραγωγή συναγερμών (alerts).
• Το παρακάτω σχήμα παρουσιάζει μια τυπική
αρχιτεκτονική ασφάλειας.
Snort (6/7)
Snort (7/7)
• Οι αισθητήρες του snort, παρακολουθούν τη
δικτυακή κίνηση τόσο στην εξωτερική διεπαφή
του firewall, όσο και στις εσωτερικές αυτού –
στην αποστρατικοποιημένη ζώνη (DMZ), όπου
βρίσκεται ο κεντρικός server (web και mail) και
στο εσωτερικό δίκτυo.
Snort vs tcpdump
• Το Snort είναι αισθητικά αρκετά παρόμοιο με το tcpdump
που είδαμε στο εργαστήριο της προηγούμενης
εβδομάδας με βασικότερη διαφορά το ότι επικεντρώνεται
κυρίως στις εφαρμογές του packet sniffing στον τομέα της
ασφάλειας.
• Το βασικό του χαρακτηριστικό το οποίο δεν υποστηρίζεται
από το tcpdump είναι η δυνατότητα της παρακολούθησης
του payload των πακέτων.
• Το Snort μπορεί να αποκωδικοποιήσει το επίπεδο
εφαρμογής των πακέτων και υποστηρίζει κανόνες για την
συλλογή πακέτων με βάση δεδομένα του επιπέδου
εφαρμογής.
Εικόνα 3. Η καταγραφή ενός πακέτου “IMAP buffer flow”. Πηγή: Διδάσκων (2015).
Κανόνες Snort (16/18)
• Το μοναδικό signature αυτής της επίθεσης στο
επίπεδο εφαρμογής είναι το machine code πριν από
το “/bin/sh” string.
• Χρησιμοποιώντας αυτή την πληροφορία μπορούμε
εύκολα να δημιουργήσουμε έναν κανόνα:
alert tcp any any -> 192.168.1.0/24 143 (content: “|E8C0
FFFF FF|/bin/sh”; msg: “New IMAP buffer Overflow
detected!”)
Ασκήσεις (1/9)
• Για την εκπόνηση αυτού του εργαστηρίου
μπορείτε να κατεβάσετε την από την ηλεκτρονική
τάξη το αρχείο clientToolkit.msi.
– Πρόκειται για ένα εργαλείο που υλοποιεί σε ένα
framework πολλά εργαλεία ασφάλειας δικτύων. Αφού
το εγκαταστήσετε επιλέξτε το Snort (Εικόνα 1).
• Το περιβάλλον του Snort το οποίο θα
χρησιμοποιήσουμε στα πλαίσια του εργαστηρίου
φαίνεται στην Εικόνα 4.
Ασκήσεις (2/9)
Ασκήσεις (3/9)
• Στο πεδίο “Interface”μπορείτε να επιλέξετε το interface το
οποίο θέλετε να «παρακολουθεί» το snort. Επιλέγοντας
αριστερά “Show interf” μπορείτε επιπλέον να δείτε τα
διαθέσιμα network interfaces.
• Στο πεδίο “Sample rule files” μπορείτε να επιλέξετε από
την λίστα το αρχείο με τους έτοιμους κανόνες του snort το
οποίο επιθυμείτε να χρησιμοποιήσετε στην καταγραφή
σας.
• Μπορείτε να επιλέξετε ένα αρχείο από εκεί και στη
συνέχεια αν θέλετε να πατήσετε το “View” για να δείτε ή
τροποποιήσετε τα περιεχόμενα του αρχείου.
Ασκήσεις (4/9)
• Προσπαθήστε για παράδειγμα να καταλάβετε τον κανόνα
που υπάρχει στο αρχείο msn.rules.
• Για να δημιουργήσετε νέους κανόνες θα πρέπει είτε να
τους προσθέσετε σε κάποιο από τα υπάρχοντα αρχεία
.rules ή αλλιώς να φτιάξετε ένα νέο αρχείο με αυτούς
(πάντα με κατάληξη .rules) το οποίο στη συνέχεια θα
πρέπει να αποθηκεύσετε στον φάκελο rules που
βρίσκεται στον φάκελο εγκατάστασης του προγράμματος
(συνήθως στον C:/netwsimsToolkit/).
• Στη συνέχεια μπορείτε να εκτελέσετε μια καταγραφή και
να δημιουργήσετε κατάλληλη κίνηση έτσι ώστε να
ελέγξετε αν οι κανόνες λειτουργούν σωστά.
Ασκήσεις (5/9)
• Μπορείτε οποιαδήποτε στιγμή να δείτε τα alerts τα
οποία έχουν δημιουργηθεί επιλέγοντας αριστερά
«View alert.ids» ή και να «καθαρίσετε» τα
καταγεγραμμένα alerts επιλέγοντας “Delete
alert.ids”.
• Τέλος, μπορείτε οποιαδήποτε στιγμή να σταματήσετε
την καταγραφή σας επιλέγοντας “Stop Capture” ή να
την επανεκκινήσετε επιλέγοντας εκ νέου το interface
που σας ενδιαφέρει από το πεδίο “Interface”.
Ασκήσεις (6/9)
1. Γράψτε έναν κανόνα ο οποίος θα ανιχνεύει ένα land attack.
Χρησιμοποιήστε το λογισμικό frameIP για να δημιουργήσετε την
κατάλληλη κίνηση έτσι ώστε να επαληθεύσετε τον κανόνα σας
2. Γράψτε έναν κανόνα ο οποίος θα ανιχνεύει ένα smurf attack.
Χρησιμοποιήστε τo λογισμικό frameIP.
3. Γράψτε έναν κανόνα ο οποίος θα ανιχνεύει ένα ping death
attack. Το ping death attack αποστέλλει icmp μηνύματα πολύ
μεγάλου μεγέθους έτσι ώστε να υπερφορτώσει τον παραλήτπτη.
Χρησιμοποιήστε τo λογισμικό frameIP ή απλά την εντολή ping –l
1000 <broadcast_ip_του_δικτύου_σας> για να δημιουργήσετε
την κατάλληλη κίνηση έτσι ώστε να επαληθεύσετε τον κανόνα
σας.
Ασκήσεις (7/9)
• Γράψτε έναν κανόνα ο οποίος θα ανιχνεύει την λέξη
“teiwm” στο payload των πακέτων έτσι ώστε:
1. Η λέξη teiwm να υπάρχει στα εξερχόμενα από τον
υπολογιστή σας tcp πακέτα προς το port 80.
2. Στη συνέχεια αλλάξτε τον κανόνα ώστε να αναγνωρίζει την
λέξη teiwm χωρίς διαχωρισμό κεφαλαίων και μικρών
γραμμάτων ( χρησιμοποιήστε σαν παράμετρο την nocase).
3. Η λέξη teiwm να υπάρχει στα εισερχόμενα πακέτα από το
port 80.
Ελέγξτε τους κανόνες κατάλληλα.
Ασκήσεις (8/9)
• Γράψτε έναν κανόνα ο οποίος θα ανιχνεύει ότι και ο
4.c αλλά ξεκινώντας από το byte 40 του payload έως
και το byte 75.
• Γράψτε έναν κανόνα ο οποίος θα ανιχνεύει το ψηφίο
0x90 στο payload ενός UDP πακέτου με μέγεθος
payload μεγαλύτερο του 6000 bytes.
• Γράψτε έναν κανόνα ο οποίος να ανιχνεύει πακέτα
που προέρχονται από τον υπολογιστή σας προς την
θύρα 53. Σε τι είδους σύστημα θα προορίζονται τα
πακέτα αυτά;
Ασκήσεις (9/9)
• Γράψτε έναν κανόνα ο οποίος θα ανιχνεύει:
Εισερχόμενη κίνηση με τις λέξεις “kastoria” και
“teikoz”. Ελέγξτε ότι ο κανόνας λειτουργεί με το
site http://kastoria.teikoz.gr και όχι με το
www.teikoz.gr.
• Μπορείτε να σκεφτείτε πως το snort
χρησιμοποιείται για την ανίχνευση port scanning
μηνυμάτων;
ΕΡΓΑΣΤΗΡΙΟ
Σκοποί ενότητας
• Το Linux είναι ένα λειτουργικό σύστηµα που έχει
εκτεταµένες δικτυακές δυνατότητες, εξαιτίας της ίδιας της
φιλοσοφίας µε την οποία έχει σχεδιαστεί.
• Οι πιο σηµαντικές από αυτές τις δυνατότητες είναι το
φιλτράρισµα και η προώθηση πλαισίων, µε γρήγορο και
συνάµα πολύπλευρα παραµετροποιήσιµο τρόπο.
• Σκοπός αυτής της εργαστηριακής άσκησης είναι να µας
μάθει πως να χρησιµοποιούµε αυτές τις δυνατότητες που
παρέχει ο ίδιος ο πυρήνας του Linux µέσω του λογισμικού
netfilter προκειµένου να ασφαλίσουτε το δίκτυο μας από
πιθανές επιθέσεις.
Περιεχόμενα ενότητας
• Εισαγωγή.
• Αλυσίδες του netfilter.
• Διαχείριση αλυσίδων.
• Βιβλιογραφία.
Εισαγωγή (1/3)
• Το netfilter είναι ένα πακέτο λογισµικού που επικοινωνεί
µε τον πυρήνα, επιβάλλοντάς του κανόνες (rules)
δικτυακής "συµπεριφοράς".
• Βάσει αυτών των κανόνων, που εµείς προσδιορίζουµε, ο
πυρήνας φιλτράρει όλα τα πλαίσια δικτύου, που έρχονται,
φεύγουν ή προωθούνται από ένα υπολογιστή δίνοντάς
µας έτσι τη δυνατότητα να αποτρέψουµε την κυκλοφορία
ανεπιθύµητων πακέτων.
• Αυτό το σύνολο των κανόνων, που δηµιουργούνται,
σβήνονται και επιβλέπονται χρησιμοποιώντας την εντολή
iptables, ονοµάζεται firewall και είναι από τα
σημαντικότερα θέµατα που εξετάζει η ασφάλεια δικτύων.
Εισαγωγή (2/3)
• Στις περισσότερες εκδόσεις Linux το netfilter είναι
προεγκατεστημένο.
• Σε περίπτωση που θέλετε να το εγκαταστήσετε ή να
αναβαθμίσετε την έκδοσή του μπορείτε να
χρησιμοποιήσετε την εντολή:
sudo apt-get install iptables
Εισαγωγή (3/3)
• Το netfilter είναι ένα command-line firewall.
• Υπάρχουν διαθέσιμες και αντίστοιχες GUI εκδόσεις όπως
για παράδειγμα το Firestarter (http://www.fs-security.com)
αλλά μαθαίνοντας κανείς μερικές από τις πιο βασικές
εντολές του netfilter θα καταλάβει ότι η χρήση της
command-line έκδοσης, την οποία θα χρησιμοποιήσουμε
και στο εργαστήριο, δεν είναι και τόσο δύσκολη.
• Γενικά θα πρέπει να είμαστε πολύ προσεκτικοί όταν
δημιουργούμε κανόνες στο netfilter γιατί ένας λάθος
κανόνας μπορεί να αποτρέψει όλη την κίνηση από την
υπολογιστική συσκευή μας.
Αλυσίδες του netfilter (1/8)
• Το firewall του Linux εφαρμόζει µία αρθρωτή
(modular) λογική σχεδιασµού µε την έννοια ότι
εφαρμόζουμε οµάδες κανόνων, που ονομάζονται
αλυσίδες (chains), σε πακέτα που έχουν συγκεκριμένα
χαρακτηριστικά και όχι όλους τους κανόνες σε όλα τα
πακέτα.
• Για παράδειγμα ας υποθέσουµε πως θέλουµε να
φιλτράρουµε όλα τα εισερχόµενα πακέτα.
• Το γεγονός ότι όλα εισέρχονται είναι ένα συγκεκριµένο
χαρακτηριστικό που έχουν.
Εικόνα 2. Η λογική ροή πακέτων σε ένα Linux σύστημα σε σχέση με τις αλυσίδες.
Πηγή: Διδάσκων (2015).
Διαχείριση αλυσίδων (3/8)
• Για να δούµε όλες τις αλυσίδες του firewall και τους κανόνες
που έχει η κάθε µια αρκεί να πληκτρολογήσουµε:
iptables –L
• To αποτέλεσµα θα είναι παρόµοιο µε το παρακάτω:
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Σκοποί ενότητας
• Σκοπός αυτής της εργαστηριακής άσκησης
είναι να µας μάθει πως να χρησιµοποιούµε
κάποιες επιπρόσθετες λειτουργίες του
λογισμικού netfilter.
Περιεχόμενα ενότητας
• Φιλτράρισµα πακέτων.
• Φιλτράρισμα πακέτων µε βάση την κατάσταση µίας
σύνδεσης.
• Firewall και διευθύνσεις loopback.
• Αποθήκευση, άδειασμα και διαγραφή εντολών από
το firewall.
• Βιβλιογραφία.