Professional Documents
Culture Documents
Ασφάλεια Δικτύων i. Μαριάς Οικονομικό Πανεπιστήμιο Αθηνών
Ασφάλεια Δικτύων i. Μαριάς Οικονομικό Πανεπιστήμιο Αθηνών
ΑΣΦΑΛΕΙΑ ΔΙΚΤΥΩΝ
1-1
1-3
Πόροι / Assets
Αξία Πόρων
1-5
Βασικοί Οροί
• Vulnerability (ευπάθεια, τρωτό σημείο)
• Threat (απειλή)
• Attack (επίθεση)
• Countermeasure or control (αντίμετρο
ή μέτρο προστασίας)
Ευπάθεια
Ευπάθεια (vulnerability)
Είναι η αδυναμία του Πληροφοριακού Συστήματος. Στις διαδικασίες, στο σχεδιασμό,
στην υλοποίηση, η οποία μπορεί να αξιοποιηθεί για να προκληθεί ζημία, απώλεια,
παραβίαση, υποκλοπή, περιορισμός διαθεσιμότητας πόρων κοκ
1-7
Απειλή
Απειλή (threat)
Η δυνατότητα για παραβίαση της ασφάλειας
• Φυσική Απειλή
• επιφέρει φυσικές καταστροφές
Επίθεση
Επίθεση (attack)
Η προσβολή της ασφάλειας του συστήματος που προέρχεται από μια έξυπνη
απειλή.
Mια (ευφυής) πράξη που αποτελεί σκόπιμη απόπειρα για την παράκαμψη των
υπηρεσιών ασφάλειας και την παραβίαση ενός συστήματος.
• Επίσης
• Authentication (αυθεντικοποίηση)
• Nonrepudiation (μη αποποίηση)
I. Μαριάς, Ασφάλεια Δικτύων, 7ο εξάμηνο
10
11
1-14
Network Security;
• Παθητικές απειλές/επιθέσεις
• Υποκλοπή: Αποκάλυψη περιεχομένου
επικοινωνιών, μηνύματος, αρχείων,
λογαριασμού
• Ανάλυση κίνησης
• Ενεργητικές επιθέσεις
• Μεταμφίεση
• Τροποποίηση περιεχομένων
• Διακοπή ή Άρνηση εξυπηρέτησης
Παθητικές επιθέσεις
Sniffing ή
Eavesdropping
1-16
Παθητικές επιθέσεις
Traffic
Analysis
ανάλυση κίνησης
Ενεργητικές επιθέσεις
1-18
Ενεργητικές επιθέσεις
Replay Αναπαραγωγή
Shadow Ανάκλαση
Attacks
Ενεργητικές επιθέσεις
Message Εκούσια
Fabrication, Τροποποίηση
Modification Μηνυμάτων
1-20
Ενεργητικές επιθέσεις
Denial of Απάρνηση
Service Εξυπηρέτησης
Επιθέσεις, υπηρεσίες,
και μηχανισμοί
• Μηχανισμός ασφάλειας:
• Ένας μηχανισμός που έχει στόχο τον εντοπισμό, την
αποτροπή, ή την ανάκαμψη μετά από μια επίθεση
ασφάλειας.
• Υπηρεσία ασφάλειας:
• Μια υπηρεσία που βελτιώνει την ασφάλεια των
συστημάτων επεξεργασίας και μεταφοράς πληροφοριών.
1-22
Αντίμετρα/Μέθοδοι άμυνας
• Φυσικοί έλεγχοι
• Πολιτικές (π.χ. διαχείριση συνθηματικών) ή
διαχειριστικές (π.χ. ενημέρωση προσωπικού)
• Τεχνικά αντίμετρα
• Κρυπτογράφηση
• Μηχανισμοί firewall και IDS/IPS
• Έλεγχοι λογισμικού (antivirus),
• Περιορισμοί πρόσβασης στη ΒΔ
• Προστασία στο λειτουργικό σύστημα
• Έλεγχοι υλικού
Περίληψη
• Οι ευπάθειες είναι αδυναμίες ενός συστήματος. Οι απειλές
εκμεταλλεύονται αυτές τις αδυναμίες. Οι έλεγχοι
προστατεύουν αυτές τις αδυναμίες από την εκμετάλλευση
• Η εμπιστευτικότητα, η ακεραιότητα και η διαθεσιμότητα
είναι τα τρία βασικά θεμέλια της ασφάλειας υπολογιστών
• Διαφορετικοί επιτιθέμενοι θέτουν διαφορετικά είδη
απειλών με βάση τις δυνατότητες και τα κίνητρά τους
• Διαφορετικοί έλεγχοι αντιμετωπίζουν διαφορετικές
απειλές. Οι έλεγχοι έχουν πολλές εφαρμογές και μπορούν
να υπάρχουν σε διάφορα σημεία του συστήματος ή να
συνδυάζονται σε μία πιο ολοκληρωμένη υπηρεσία
ασφάλειας
I. Μαριάς, Ασφάλεια Δικτύων, 7ο εξάμηνο
2-1
ΑΣΦΑΛΕΙΑ ΔΙΚΤΥΩΝ
2η Σειρά Διαλέξεων : Εισαγωγή
Κρυπτογραφία και Κρυπτανάλυση
Κεφάλαιο 2. Στόχοι
• Μάθετε βασικές έννοιες και τις αρχές της κρυπτογραφίας
• Κατανοήσετε τους όρους και τα εργαλεία της
κρυπτανάλυσης
• Εντρυφήσετε στις διαφορές συμμετρικής κρυπτογραφίας
και κρυπτογραφίας δημοσίου κλειδιού
• Αναλύσετε τις συναρτήσεις σύνοψης και τις διαφορές με
τις κρυπτογραφικές μεθόδους
• Αναγνωρίσετε πως κρυπτογραφία και σύνοψη
συνεισφέρουν στις ψηφιακές υπογραφές
• Εξοικειωθείτε με τη χρήση των παραπάνω εργαλείων ως
μηχανισμούς και αντίμετρα ασφάλειας
2-3
• Κρυπτοκείμενο
• Αλγόριθμο αποκρυπτογράφησης
Συμμετρική Κρυπτογραφία
2-5
Συμμετρική Κρυπτογραφία
• m αρχικό μήνυμα (plaintext): προστασία
του από επιτιθέμενους στο δημόσιο
κανάλι επικοινωνίας
• c κρυπτομύνημα ή κρυπτοκείμενο
(chipretext), μια ακατάληπτο έκδοση του
m. Υπάρχουν πολλές …
• e το μυστικό κλειδί. Υπόθεση ασφαλούς
καναλιού για συμφωνία
• Ee(m) η συνάρτηση μετασχηματισμού
(πχ αντικατάσταση, ανάμειξη, XOR)
κρυπτογράφησης
• Dd(c) η συνάρτηση μετασχηματισμού
(πχ αντικατάσταση, ανάμειξη, XOR)
αποκρυπτογράφησης
– Dd(c) αντίστροφη της Ee(c)
– Συμμετρική: e == d
I. Μαριάς, Ασφάλεια Δικτύων, 7ο εξάμηνο, Ακ Έτος 2021-22
2-6
Συμμετρική Κρυπτογραφία
Σταθμοί: Αρχαία Ελλάδα – Σκυτάλη
Αναφέρεται από τον Απολλώνιο τον Ρόδιο
Μια σκυτάλη και μια λωρίδα δέρματος με το μήνυμα
Έδρανα και κατασκευή σκυτάλης: ίδια σε αποστολέα
και παραλήπτη
Μυστική μέθοδος κρυπτογράφησης (E):
Ελικοειδής Τύλιγμα και Οριζόντια Γραφή
Εικόνα από wikipedia Κλειδί (e): Έδρανα σκυτάλης (π.χ. 4εδρη,
τύλιγμα 5εδρη, …)
Για να κρυπτογραφηθεί ένα μήνυμα ο αποστολέας
Ε Ρ Χ Ο
τυλίγει μια λωρίδα δέρματος ελικοειδώς στη σκυτάλη
Διάβασμα Ν Τ Α Ι και γράφει
Ο Ι Π Ε
Ρ Σ Ε Σ Ο παραλήπτης λαμβάνει τη λωρίδα με το μήνυμα
και την τυλίγει στην σκυτάλη. Διαβάζει την μια πλευρά
μετά την άλλη (αποκρυπτογραφεί)
Αρχή: Security Through Obscurity
I. Μαριάς, Ασφάλεια Δικτύων, 7ο εξάμηνο, Ακ Έτος 2021-22
2-7
Συμμετρική Κρυπτογραφία
Αρχή: Security Through Obscurity
• Η ασφάλεια πρέπει να εξαρτάται από τη μυστικότητα
του κλειδιού e, και όχι του αλγόριθμου
κρυπτογράφησης E
• Βασικές αρχές Kerchoff (1880, Kerckhoffs's desideratum)
• The cryptosystem must be practically, if not mathematically,
indecipherable;
• It should not require secrecy, and it should not be a problem if it falls
into enemy hands;
• It must be possible to communicate and remember the key without
using written notes, and correspondents must be able to change or
modify it at will;
• It must be applicable to telegraph communications;
• It must be portable
• Ισοδύναμο χρηματοκιβωτίου
• Μηχανισμός κλειδώματος/ξεκλειδώματος vs κλειδί
Συμμετρική Κρυπτογραφία
Σταθμοί: Κρυπτοσύστημα Καίσαρα (1)
Caesar’s Cipher (trivial shift cipher)
Αντιστοίχησε αλφάβητο σε αριθμούς (Α->1, ...., Ζ-> 26)
Μετέτρεψε τα γράμματα του κειμένου σε αριθμούς
Πρόσθεσε 3 σε κάθε αριθμό
Αν ο νέος αριθμός είναι > 26, τότε αφαίρεσε 26 από αυτόν
Μετέτρεψε αριθμούς σε γράμματα
Στείλε μήνυμα
Παράδειγμα
THE HUNS ARE COMING (plaintext)
WKH KXQV DUH FRPLQJ (ciphertext)
2-9
Συμμετρική Κρυπτογραφία
Σταθμοί: Κρυπτοσύστημα Καίσαρα (2)
Caesar’s Cipher (trivial shift cipher)
Βασίζεται στην αρχή “Security Through Obscurity”
Τύπου: monoalphabetic substitution (μοναλφαβητική αντικατάσταση). Κάθε
γράμμα αντικαθίσταται σταθερά με το ίδιο γράμμα όσο το κλειδί παραμένει ίδιο
Κλειδί : οποιοσδήποτε αριθμός μεταξύ 1 και 25. Χώρος κλειδιών έχει cardinality
25 (δυνατά κλειδιά)
Το δυαδικό μέγεθος του κλειδιού είναι 5bits (25=32 > 25)
–O Caesar cipher στο αλφάβητο Α είναι κρυπτογραφία αντικατάστασης που
περιορίζεται από ολίσθηση κατά e χαρακτήρες, για κάποιο κλειδί e
– Αν |A|=s, και κάθε γράμμα mi αντιστοιχίζεται σε ένα ακέραιο αριθμό i, 0≤i≤s-1,
τότε ci = Εe(mi) = mi +emods. Η συνάρτηση αποκρυπτογράφησης ορίζεται ως
De(ci)=ci - emods.
• Μπορεί εύκολα να σπάσει εφόσον υπάρχουν μόνο s=|A|-1 κλειδιά (s=26)
Συμμετρική Κρυπτογραφία
Σταθμοί: Affine Cipher (ή γραμμικός κώδικας)
Γενίκευση του shift cipher
Αντιστοίχισε αλφάβητο σε αριθμούς (Α->0, ...., Ζ-> 25)
Encryption: Για κλειδί k = (a,b) και κειμενο x: Ek(x)=C=(ax + b)mod26
Πώς θα αποκρυπτογραφήσουμε; Θα πρέπει να λύσουμε την
C=(ax+b)mod26 ⇔ ax = (C – b)mod 26 ⇔ x = a-1(C – b)mod 26
Πρέπει να λύσουμε εξισώση πολλαπλασιαστικού αντιστρόφου της
μορφής ax=zmod26. Μπορεί να λυθεί μόνο αν gcd(a,26)=1.
Βάση Euler's phi function υπάρχουν φ(26)=12 αριθμοί a που
ικανοποιούν την ως άνω σχέση
Δηλαδή Key space: 25*φ(26)=25*φ(2*13)=25*(2-1)*(13-1)=25*12 =
300
2-11
Συμμετρική Κρυπτογραφία
Προβλήματα μονοαλφαβητικής αντικατάστασης
Διάλεξη 2-11
2-12
Συμμετρική Κρυπτογραφία
Προβλήματα μονοαλφαβητικής αντικατάστασης
Διάλεξη 2-12
2-13
Συμμετρική Κρυπτογραφία
Σταθμοί: πολυαλφαβητική αντικατάσταση (polyalphabetic substitution)
16oς Αιώνας Vigenère Cipher
Ένας πίνακας λατινικών χαρακτήρων
Διαστάσεις 26x26
Κάθε γραμμή / στήλη ξεκινά απαρίθμηση
γραμμάτων από το γράμμα που τις αντιστοιχεί
Ο αποστολέας επιλέγει ένα κείμενο
π.χ. THEHUNSARECOMING
Ο αποστολέας επιλέγει μυστική λέξη και
παράγει ακολουθία ίδιου μήκους με το κείμενο
π.χ. Μυστική λέξη ΙΟΑNNIS οπότε ακολουθία
ίσου μήκους ΙΟΑNNISΙΟΑNNISIO
το παραγόμενο κρυπτοκείμενο προκύπτει από το
περιεχόμενο του πίνακα που τέμνει η γραμμή του
κειμένου και η στήλη του κλειδιού
BVEUHVKIFEPBUAVU
Συμμετρική Κρυπτογραφία
Σταθμοί: πολυαλφαβητική αντικατάσταση (polyalphabetic substitution)
Περιστρεφόμενοι κύλινδροι
1790 – Κύλινδρος Jefferson Κάθε ένας: 26 γράμματα (τυχαία
τοποθετημένα)
Κύλινδροι στοιβαγμένοι με την ίδια σειρά σε
αποστολέα και παραλήπτη
Για να κρυπτογραφηθεί ένα ΜΗΝΥΜΑ ο
αποστολέας περιστρέφει τους κυλίνδρους μέχρι
να σχηματιστεί η λέξη σε μια γραμμή
Κατόπιν επιλέγει να στείλει έξι γράμματα (π.χ.,
ΔΟΧΕΛΚ) από άλλη γραμμή που σχηματίζεται
Ο παραλήπτης λαμβάνει το μήνυμα ΔΟΧΕΛΚ,
Εικόνα από wikipedia
και περιστρέφει τους κυλίνδρους του
Αν τα καταφέρει θα δει ότι σε μια άλλη γραμμή
σχηματίζεται η λέξη ΜΗΝΥΜΑ την οποία και
θεωρεί ως το κείμενο που ήθέλε να στείλει ο
αποστολέας
I. Μαριάς, Ασφάλεια Δικτύων, 7ο εξάμηνο, Ακ Έτος 2021-22
2-15
Συμμετρική Κρυπτογραφία
Σταθμοί: πολυαλφαβητική αντικατάσταση (polyalphabetic substitution)
1930-45 – Μηχανές Enigma Ηλεκτρο-μηχανικές συσκευές με βιβλίο κωδικών
Αντικαθίσταται ένα γράμμα κάθε φορά με άλλο
Οι συνεχόμενοι 3
ρότορες Εικόνα από
ανάλογα με τη τρέχουσα διαμόρφωση της διάταξης
wikipedia
πολυ-αλφαβητική αντικατάσταση
Μηχανικό μέρος:
Πληκτρολόγιο
Το βιβλίο κωδικών
(wikipedia) Συνεχόμενοι (3 - 8) περιστρεφόμενοι κύλινδροι σε άξονα
Κάθε ένας: L=26 γράμματα
Ηλεκτρολογικό μέρος:
κυκλώματα που κλείνουν ανάλογα με τη θέση των κυλίνδρων
λαμπτήρες που δείχνουν το κρυπτόγραμμα που επιλέγεται
Μυστικό (ή κλειδί) : αλλάζει από το codebook
(π.χ., κάθε μέρα) και αφορά τη θέση των κυλίνδρων
Διάλεξη 1-15
2-16
Συμμετρική Κρυπτογραφία
Σταθμοί: Αντιμετάθεση (Permutation ή Transposition)
Α : αλφάβητο από q σύμβολα
Κάθε plaintext m ομαδοποιείται σε blocks των t χαρακτήρων
M : σύνολο όλων των strings μήκους t στο A.
Σε κάθε block εφαρμόζεται απλή αντιμετάθεση e στα σύμβολα 1 έως t.
Έστω K το σύνολο όλων των αντιμεταθέσεων (permutations) του συνόλου {1, 2,…,t}.
Για κάθε e є K η συνάρτηση encryption είναι Ee(m)=me(1)me(2)...me(t), όπου m=(m1 m2...mt)
єM
-1
Στην αποκρυπτογράφηση εφαρμόζεται απλή αντιμετάθεση d=e η οποία αντιστρέφει την e.
Για αποκρυπτογράφηση c = (c1c2...ct), υπολογίζεται η Dd(c) = (cd(1)cd(2)...cd(t)).
Ο χώρος κλειδιών K έχει cardinality t!
Παράδειγμα
Έστω permutation cipher με t=6 και αντιμετάθεση e=(6 4 1 3 5 2)
Το μήνυμα m=ΠΕΡΑΣΕ κωδικοποιείται ως c=ΕΑΠΡΣΕ
Η αποκωδικοποίηση γίνεται με την αντίστροφη αντιμετάθεση d=(3 6 4 2 5 1)
I. Μαριάς, Ασφάλεια Δικτύων, 7ο εξάμηνο, Ακ Έτος 2021-22
2-17
Συμμετρική Κρυπτογραφία
Συμμετρική Κρυπτογραφία
Σύγχρονη τάση: Product Ciphers & Substitution & Permutation
Networks, SPNs
Product Cipher: Eίναι η σύνθεση t ≥ 2 μετασχηματισμών: Ek1 Ek2 ... Ekt
για plaintext M, ciphertext C = Ek1 …(Ekt-1(Ekt(x)))
Ασφαλείς, πρακτικοί και αποδοτικοί
Χρησιμοποιούνται σε όλα τα σύγχρονα συμμετρικά κρυπτοσυστήματα, όπου κάθε
Ei είναι είτε substitution, είτε transposition cipher, είτε XOR με το κλειδί
Παράδειγμα
Έστω P=C=K το σύνολο όλων των binary string μήκους 6 (|P|=64), και x=(x1x2...x6)
Έστω
Ek1(x) = x⊕k; όπου k є K; ένας polyalphabetic substitution cipher
E2(x) = (x4x5x6x1x2x3) ένας permutation cipher
Το Ek1οE2 είναι ένας product cipher
I. Μαριάς, Ασφάλεια Δικτύων, 7ο εξάμηνο, Ακ Έτος 2021-22
2-19
Συμμετρική Κρυπτογραφία
Σύγχρονη τάση: Product Ciphers & Substitution & Permutation
Networks, SPNs
Δίκτυα Αντικατάστασης-
Μετάθεσης με κλειδί
• Παράμετροι ενός SPN
– μήκος της εισόδου n σε bits
– ο αριθμός των γύρων r
– το πλήθος των κιτίων αντικατάστασης
mxm
• Ένας γύρος ορίζεται από μια σειρά
κιτίων αντικατάστασης, συνοδευόμενο
από μια συνάρτηση μετάθεσης και ένα
κλειδί γύρου (βασιζόμενο σε master
key)
• DES/3DES/AES έχουν σχεδιαστεί με
αυτήν τη λογική
I. Μαριάς, Ασφάλεια Δικτύων, 7ο εξάμηνο, Ακ Έτος 2021-22
2-20
Συμμετρική Κρυπτογραφία
Σύγχρονη τάση: Product Ciphers & Substitution & Permutation
Networks, SPNs
2-21
Συμμετρική Κρυπτογραφία
Κρυπτανάλυση – Στόχοι Επιτιθέμενου
Στόχος 1: Αποκρυπτογράφηση (γνωρίζοντας
το C) σε M. Dei(C) =Mi
Εξαντλητική αναζήτηση στο χώρο των
κλειδιών μέχρι να βρούμε νόημα στο Mi.
Άμυνα: κλειδί μεγάλο, έτσι ώστε να
απαιτεί πολύ χρόνο+κόστος στον
επιτιθέμενο
Συμμετρική Κρυπτογραφία
Κρυπτανάλυση – Είδη Επιθέσεων
• Κρυπτογραφήματος που έχει
υποκλαπεί
• Κρυπτογράφημα
• Ένα σχήμα ευπαθές σε τέτοια
επίθεση είναι τελείως ανασφαλές.
• Brute force attack: μη πρακτική για
μεγάλο key space
2-23
Συμμετρική Κρυπτογραφία
Κρυπτανάλυση – Είδη Επιθέσεων
Συμμετρική Κρυπτογραφία
Κρυπτανάλυση – Είδη Επιθέσεων
• Επιλεγμένου
κρυπτογραφήματος
• Επιλεγμένο από τον κρυπταναλυτή
κρυπτογράφημα
• Αντίστοιχο αποκρυπτογραφημένο
κείμενο
• Ο adversary εισάγει τεχνηέντως Ci για
να παρακολουθεί τα αντίστοιχα Mi που
παράγονται στην έξοδο του BOB μετά
την αποκρυπτογράφηση
• Διαφορικές σχέσεις
• Γραμμικές σχέσεις
2-25
Συμμετρική Κρυπτογραφία
Κρυπτανάλυση
Unconditionally secure
Κρυπτοσύστημα που αντιστέκεται σε επιθέσεις κρυπτανάλυσης,
ανεξάρτητα από την υπολογιστική ισχύ και το χρόνο που αφιερώνεται για
να σπάσει
Computationally secure
Το κόστος για να σπάσει το Κρυπτοσύστημα ξεπερνά την αξία την
πληροφορίας που κρυπτογραφείται.
Ο Χρόνος για να σπάσει το Κρυπτοσύστημα ξεπερνά την χρονική αξία
την πληροφορίας που κρυπτογραφείται.
Συμμετρική Κρυπτογραφία
Κρυπτανάλυση. Η σημασία του χώρου (μεγέθους) των κλειδιών
2-27
Συμμετρική Κρυπτογραφία
Ανακεφαλαίωση
Χρησιμοποιείται για εμπιστευτικότητα μηνυμάτων, records, αρχείων,
περιεχομένων σκληρού δίσκου, επικοινωνιών δεδομένων …
Σε ένα συμμετρικό κρυπτοσύστημα η συνάρτηση κρυπτογράφησης
Ee(m) είναι αντιστρέψιμη. Η αντιστροφή της είναι η De(c)
Οι Ee(m) και De(c) ορίζουν μετασχηματισμούς 1-2 και επί
Η ασφάλεια από την ασάφεια του κρυπτοσυστήματος δεν είναι πλέον
χρήσιμη στις σύγχρονες εφαρμογές
Ο επιτιθέμενος σίγουρα θα καταφέρει να κρυπταναλύσει με εξαντλητική
αναζήτηση στο χώρο των κλειδιών.
Αρκεί να έχει χρόνο ή/και επεξεργαστικούς πόρους
Το μέγεθος του κλειδιού σημαντικό
Η προϋπόθεση ασφαλούς καναλιού επικοινωνίας για την ανταλλαγή ή
συμφωνία του συμμετρικού κλειδιού δημιουργεί δυσκολίες εφαρμογής
I. Μαριάς, Ασφάλεια Δικτύων, 7ο εξάμηνο, Ακ Έτος 2021-22
2-28
2-29
2-31
• Αλγόριθμο κρυπτογράφησης
2-33
One-way functions
συναρτήσεις που μπορούμε να τις υπολογίσουμε εύκολα, είναι όμως
υπολογιστικά ανέφικτο να υπολογίσουμε την αντίστροφή τους
Hard and Soft one-way functions
π.χ. συναρτήσεις σύνοψης
Trapdoor (Καταπακτή)
πληροφορία που μας επιτρέπει να υπολογίσουμε την αντίστροφη
μιας one-way function
Ουσιαστικά στην ΚΔΚ ψάχνουμε για trapdoor των soft one-way
encryption functions
Με trap-door το ιδιωτικό κλειδί η συνάρτηση αποκρυπτογράφησης
αντιστρέφει τη διαδικασία
2-35
El Gamal (1985)
Πρόβλημα διακριτού λογάριθμου
2-37
2-39
KUA
KUB
A Β
CB
2-41
Συναρτήσεις Σύνοψης
Λειτουργικές Προϋποθέσεις – Ευρύς Ορισμός
• Μπορεί να εφαρμοστεί σε τμήμα δεδομένων οποιουδήποτε μεγέθους
• Παράγει έξοδο (σύνοψη h) σταθερού μικρού μήκους
• Εύκολα υπολογίσιμη για δοθέν κείμενο x
m bits του x >> n bits του h
m bits n bits
I. Μαριάς, Ασφάλεια Δικτύων, 7ο εξάμηνο, Ακ Έτος 2021-22
2-43
• ψηφιακές υπογραφές
• Το μεγάλο μήνυμα κατακερματίζεται και μόνο η hash τιμή υπογράφεται
• εξοικονομεί χρόνο και χώρο σε σύγκριση με την υπογραφή του
μηνύματος άμεσα
• ακεραιότητα των δεδομένων
• Η hash-τιμή που αντιστοιχεί στα δεδομένα υπολογίζεται σε κάποια
χρονική στιγμή
• Η ακεραιότητα της hash-τιμής προστατεύεται
• Σε μεταγενέστερη χρονική στιγμή επανα-υπολογίζεται η hash-τιμή των
δεδομένων και γίνεται σύγκριση με την αρχική
• ακεραιότητα των δεδομένων και αυθεντικοποίηση πηγής
δεδομένων (data origin authentication)
• με key-based hash functions
2-45
1 6 SΚRΑ(H(M))||M
5 Bob
Ψηφιακή Υπογραφή του Adam με χρήση message digests End of step 8b:
V ΚU Α( SΚR Α(H(M))) H(M)
και Επιβεβαίωση Υπογραφής από Bob
I. Μαριάς, Ασφάλεια Δικτύων, 7ο εξάμηνο, Ακ Έτος 2021-22
2-46
1 6 SΚRΑ(H(M))||Μ’
5 Bob
2-47
Αποστολέας Α Server B
h1 s
Μ
μήνυμα H(s||M)||M
Σύνοψη
Σύνοψη
H()
Η()
h2=H(s||M)
Κοινό μυστικό s h1 == h2 ?
Κωδικός Πιστοποίησης Μηνύματος (MAC)
Υπολογίζεται ο κωδικός MAC ως συνάρτηση του μηνύματος και του μυστικού: MAC = H(s||M)
I. Μαριάς, Ασφάλεια Δικτύων, 7ο εξάμηνο, Ακ Έτος 2021-22
2-48
h2=H(s||M||||Ri)
Κοινό μυστικό s h1 == h2 ?
Κωδικός Πιστοποίησης Μηνύματος (MAC)
Υπολογίζεται ο κωδικός MAC ως συνάρτηση του μηνύματος και του μυστικού: MAC = H(s||M)
I. Μαριάς, Ασφάλεια Δικτύων, 7ο εξάμηνο, Ακ Έτος 2021-22
2-49
• Πρόβλημα:
• Ένας εχθρός ανακτά τα μηνύματα που ανταλλάσσονται και τα αναμεταδίδει
στο μέλλον
• Η κρυπτογράφηση και οι ασφαλείς συνόψεις δε το αντιμετωπίζουν
• Απαιτείται ενσωμάτωση μηχανισμών προσδιορισμού
«προσφατότητας» μηνυμάτων
• freshness identifiers
• Τρεις τύποι freshness identifier
• nonces
• timestamps
• sequence numbers
• Nonce
• Τυχαίος αριθμός, απρόβλεπτος και μη επαναχρησιμοποιούμενος
(μοναδικός)
• Timestamps
• Ο αποστολέας επισυνάπτει real-time timestamp σε κάθε μήνυμα
• Ο παραλήπτης λαμβάνει timestamp και το συγκρίνει με το τρέχοντα χρόνο
• Αν η διαφορά αρκετά μικρή, τότε αποδέχεται μήνυμα, διαφορετικά το απορρίπτει
• Πρόβλημα ο συγχρονισμός μεταξύ sender και receiver
• Sequence numbers
• Ο αποστολέας επισυνάπτει μια μονοτονικά αύξουσα τιμή (counter) σε κάθε
μήνυμα, αυξάνει κατά 1 μετά από κάθε αποστολή μηνύματος προς
παραλήπτη
• Ο παραλήπτης απαιτείται να θυμάται την τελευταία μέγιστη τιμή του counter
που έλαβε από αποστολέα
3-1
Entity Authentication
Περιεχόμενα
• Αυθεντικοποίηση
• Local authentication: Συνθηματικά
• Remote authentication: Nonces
• Αδυναμίες και Επιθέσεις
• Μηχανισμοί και Πρωτόκολλα αυθεντικοποίησης
3-3
Αυθεντικοποίηση
Αυθεντικοποίηση (Authentication)
Επιβεβαίωση δέσμευσης με μία ταυτότητας - Απαιτείται
για να αναγνωριστεί ο αιτούμενος ενέργειας/συναλλαγής
Απαραίτητη για
• Έλεγχος πρόσβασης
• Εξουσιοδότηση (authorization - απόδοση δικαιωμάτων)
• Λογοδοσία (accounting)
Π.χ. ATM τραπεζών
• Αυθεντικοποίηση με κωδικό (4ψηφιο) και μαγνητική κάρτα
(account number)
• Είσοδος σε (δια)τραπεζικό σύστημα
• Εκχώρηση δικαιωμάτων
– Πχ συναλλαγές μόνο σε λογαριασμό όψεως ή ταμιευτήριο
• Συναλλαγή
I. Μαριάς, Ασφάλεια Δικτύων, 7ο εξάμηνο, Ακ Έτος 2021-22
3-4
Αυθεντικοποίηση
Μέγεθος αναγνωριστικού – ταυτότητας
Κατανόηση της διαφοράς μεταξύ
Πληροφορίας για ταυτοποίηση (π.χ., unique name and
photo)
• Παρουσίαση αναγνωριστικού ελέγχου ταυτότητας που δεσμεύουν
μονοσήμαντα την οντότητα και το αναγνωριστικό
Πληροφορίας για επαλήθευση ταυτότητας –
αυθεντικοποίηση
• Παρουσίαση αναγνωριστικού ελέγχου ταυτότητας που
επιβεβαιώνουν τη δέσμευση μεταξύ της οντότητας και του
αναγνωριστικού
• Στην ουσία είναι ο τρόπος με τον οποίο ένας χρήστης παρέχει μια
αξιωμένη ταυτότητα στο σύστημα. Η αυθεντικοποίηση χρήστη είναι
το μέσο για την επαλήθευση της εγκυρότητας της αξίωσης.
I. Μαριάς, Ασφάλεια Δικτύων, 7ο εξάμηνο, Ακ Έτος 2021-22
3-5
Αυθεντικοποίηση
Μέθοδοι αυθεντικοποίησης
Διακρίνονται ανάλογα με το από πού προέρχεται η πληροφορία
Κάτι που ο χρήστης ξέρει
Username, Password, PIN, passphrases, όνομα σκύλου
Κάτι που ο χρήστης έχει
Άδεια οδήγησης, κλειδιά αυτοκινήτου, token, smart card, ticket …
Κάτι που ο χρήστης είναι
Φυσικά χαρακτηριστικά: Αποτύπωμα, ίριδα, παλαμομορφή κοκ (static
biometrics)
Χαρακτηριστικά Συμπεριφοράς: Φυσική Υπογραφή, φωνή (dynamic
biometrics)
Κάτι που ο χρήστης εκτελεί
Μοτίβο γραφής, ρυθμός δακτυλογράφησης
Αυθεντικοποίηση
Μέθοδοι αυθεντικοποίησης
Διακρίνονται ανάλογα με το από πού προέρχεται η
πληροφορία
Κάτι που ο χρήστης ξέρει (–) Υποκλοπή
(–) Social engineering
Username, Password, PIN, passphrases
(–) Απώλεια/χάσιμο
(–) Ευκολία αναπαραγωγής
Κάτι που ο χρήστης έχει
(–) Δυσκολία αρχικοποίησης / διανομής
Token, smart card, ticket … (+) χαμηλό false negative, false positive
Κάτι που ο χρήστης είναι (biometrics)
Φυσικά χαρακτηριστικά: Αποτύπωμα, ίριδα, παλαμομορφή κοκ
(+) Δυσκολία Υποκλοπής
(static biometrics)
(+) Όχι Social engineering
Χαρακτηριστικά Συμπεριφοράς: Φυσική Υπογραφή, φωνή
(+) Μη Απώλεια/χάσιμο
(dynamic(+) Σχετική δυσκολία αναπαραγωγής
biometrics)
(+) Ευκολία αρχικοποίησης
(-) υψηλό false negative, false positive
I. Μαριάς, Ασφάλεια Δικτύων, 7ο εξάμηνο, Ακ Έτος 2021-22
3-7
Αυθεντικοποίηση
Κάτι που ο χρήστης έχει: Κάρτες
Embossed Cards
Ανάγλυφες κάρτες
Τυπωμένος αριθμός, όνομα κοκ
Πολύ παλιές κάρτες credit
Εύκολα διαβάζεται, υποκλέπτεται, με μικρό κόστος
κλωνοποιείται
Αυθεντικοποίηση
Κάτι που ο χρήστης έχει: Κάρτες (2)
Memory Card
Can store but do not process data
περιλαμβάνει εσωτερική ηλεκτρονική μνήμη
Μπορεί να χρησιμοποιηθεί και για φυσική πρόσβαση (ATM,
δωματίου ξενοδοχείου)
Παρέχει σημαντικά μεγαλύτερη ασφάλεια όταν συνδυάζεται
με κωδικό πρόσβασης ή PIN
Έξυπνη κάρτα
Με integrated circuit και on-board micro-processor, με
READ/WRITE capabilities
Δεδομένα στην κάρτα μπορούν να προσπελαστούν ή να
τροποποιηθούν
Παρέχουν strong authentication μέσω cryptography
Contact/Contactless
Δεν κλωνοποιείται εύκολα
Pictures from “Introduction
to computer Security”, by
Roberto Tamassia
3-9
Αυθεντικοποίηση
Κάτι που ο χρήστης έχει: Έξυπνη Κάρτα
Η πιο σημαντική κατηγορία έξυπνων διακριτικών
Έχει την εμφάνιση πιστωτικής κάρτας
Διαθέτει ηλεκτρονική διεπαφή
Μπορεί να υλοποιήσει οποιοδήποτε από τα πρωτόκολλα διακριτικών
Περιέχει:
• Ολόκληρο μικροεπεξεργαστής (CPU, Μνήμη, Θύρες εισόδου / εξόδου)
Συνήθως περιλαμβάνουν τρεις τύπους μνήμης:
• Μνήμη μόνο για ανάγνωση (ROM)
– Αποθηκεύει δεδομένα που δεν αλλάζουν κατά τη διάρκεια ζωής της κάρτας
Αυθεντικοποίηση
Κάτι που ο χρήστης είναι: Βιομετρικά Χαρακτηριστικά
Προϋποθέσεις Χρήσεις
Ευρύτητα Εφαρμογής (Universality).
Κάθε άτομο πρέπει να έχει αυτό το χαρακτηριστικό
Διαφορετικότητα (Distinctiveness)
Κάθε άτομο πρέπει να διαθέτει εμφανείς διαφορές στο
χαρακτηριστικό αυτό
Μονιμότητα (Permanence).
Το χαρακτηριστικό πρέπει να παραμένει αναλλοίωτο με το
χρόνο
Εφαρμοσιμότητα ή ικανότητα συλλογής (Collectability)
Pictures from “Introduction
Το χαρακτηριστικό πρέπει να είναι εύκολα μετρήσιμο, ή to computer Security”, by
Roberto Tamassia
αναγνώσιμο
Ικανότητα τρίτων να κλωνοποιήσουν το χαρακτηριστικό
3-11
Αυθεντικοποίηση
Κάτι που ο χρήστης είναι: Βιομετρικά Χαρακτηριστικά
Υποψήφια
Fingerprints
Πιο σύνηθες
Ιris scans
Ακριβός εξοπλισμός
DNA
Ακριβή και χρονοβόρα διαδικασία
Voice recognition
Αλλάζει συν το χρόνο
Χαμηλότερα ποσοστά αξιοπιστίας
Pictures from “Introduction
Face recognition to computer Security”, by
Roberto Tamassia
Ακριβός εξοπλισμός
Όχι άμεση διαδικασία
Αυθεντικοποίηση
Κάτι που ο χρήστης είναι: Βιομετρικά Χαρακτηριστικά
Διαδικασία
Λαμβάνω μέτρηση
Αναγνωρίζω διάνυσμα ταυτοποίησης
Ανακαλώ υποψήφια διανύσματα για
ταίριασμα
Συγκρίνω με υποψήφια
Ή με του υποψήφιου αν μου το δηλώνει
Αλγόριθμοι ταιριάσματος
Απαντώ στην ερώτηση ταυτοποίησης
FALSE POSITIVE / NEGATIVE συνθήκες
3-13
Αυθεντικοποίηση
Κάτι που ο χρήστης ξέρει: Passwords
Απλό στη σκέψη
ο χρήστης δίνει κάποιο αναγνωριστικό
Username, passphrases
Το σύστημα ζητά password
Αν το password ταιριάζει με αυτό του χρήστη, τότε γίνεται
authenticated και του επιτρέπεται η πρόσβαση στο
σύστημα
Διαφορετικά του ζητάται να ξαναδώσει στοιχεία
Απλό αλλά με αδυναμίες
Αυθεντικοποίηση
Passwords
Αδυναμίες συστήματος
Η αυθεντικοποίηση βασίζεται στη σωστή δυάδα <userid, password>
Αν το σύστημα αποκρίνεται ότι μόνο το userid είναι λάθος τότε διαχέει
πληροφορία στον attacker
• το μήνυμα λάθους δεν θα πρέπει να ορίζει ποιο από τα userid ή password είναι
λαθεμένο
Social engineering
Μελέτη έδειξε
• 2/3 χρηστών θα αποκάλυπταν το password αν τους δίναμε ένα εκπτωτικό
κουπόνι μερικών $
• 75% χρηστών αποκάλυψαν ότι διαθέτουν το ίδιο password για περισσότερα
από ένα συστήματα
Απρόσεκτη Χρήση
Αφηρημάδα: passwords είναι καταγεγραμμένα σε κινητά, flash/memory
sticks etc.
Συνηθισμένο: “my password is x, get the file yourself”.
3-15
Αυθεντικοποίηση
Passwords
Αδυναμίες συστήματος
Η αυθεντικοποίηση βασίζεται στη σωστή δυάδα <userid, password>
Αν το σύστημα αποκρίνεται ότι μόνο το userid είναι λάθος τότε διαχέει
πληροφορία στον attacker
• το μήνυμα λάθους δεν θα πρέπει να ορίζει ποιο από τα userid ή password είναι
λαθεμένο
Λιγότερες αδυναμίες – κανόνες για ασφαλή πρόσβαση
Γενικό μήνυμα λάθους
Αλλαγή password σε τακτά χρονικά διαστήματα
Σε ενημερώνει πότε και από που έκανες το τελευταίο login session
Να μην ξαναχρησιμοποιείς το ίδιο password
Κλείδωσε το λογαριασμό μετά από Χ συνεχόμενες αποτυχίες
Ειδοποίηση του χρήστη κατά το login αν έχει συλλέξει αυθεντικά
contact details
Αυθεντικοποίηση
Passwords
Αδύναμες επιλογές
Μελέτη σε 3829 passwords
Πρόσθετα (on-line UK bank):
• 23% όνομα παιδιού
• 19% όνομα συζύγου ή
συντρόφου
• 9% ίδιο με το όνομα
κατόχου
-------- σύνολο 50% --------
• 8% όνομα κατοικίδιου
• 9% όνομα διάσημου
3-17
Αυθεντικοποίηση
Passwords
32 εκατομ. passwords
εκλάπησαν από το RockYou
December 2009
Περιείχαν passwords για
websites όπως
MySpace, Yahoo, Hotmail
Δημοσιεύτηκαν στο Web
Αναλύθηκαν από Imperva.com
1% είναι το 123456
20% των password ανήκουν σε ένα
set των 5000 different passwords
Αυθεντικοποίηση
Passwords – Παραγωγή
Στατικοί Κανόνες
Passwords must contain at least 1 letter.
Passwords must contain at least 1 number or punctuation mark.
Passwords must be between 8 and 16 characters long.
Passwords must contain more than 4 unique characters.
Passwords must not contain spaces.
Passwords must not contain easily guessed words (e.g., Purdue).
Passwords must not contain your name or parts of your name (e.g., Chris or the letters "is«)
https://www.purdue.edu/policies/information-technology/s16.html
3-19
Αυθεντικοποίηση
Passwords – Παραγωγή
Use of various characters
Use lengths > 10 chars
Markov chains for testing
strengthen
Based on dictionaries
Αντιδραστικός έλεγχος
Based on existing passwords – το σύστημα εκτελεί περιοδικά το δικό του
πρόγραμμα σπασίματος συνθηματικών για να
What happens when the εντοπίσει αδύναμα συνθηματικά.
Αυθεντικοποίηση
Passwords – Παραγωγή
Μοντέλο Markov για παραγωγή προβλέψιμων
συνθηματικών
• δείχνει γλώσσα με αλφάβητο 3 χαρακτήρων
a, b, c
a, b, c.., z, $,!, @, #, 1,2, ..,9
• κατάσταση συστήματος σε οποιαδήποτε στιγμή
είναι η ταυτότητα του πιο πρόσφατου γράμματος
• Τιμή μετάβασης από μία κατάσταση σε άλλη =
η πιθανότητα να ακολουθείται ένα γράμμα από
κάποιο άλλο
3-21
Αυθεντικοποίηση
Passwords – Παραγωγή μοντέλο δεύτερης τάξης
Αρχικά κατασκευάζεται λεξικό από προβλέψιμα
συνθηματικά.
Στη συνέχεια υπολογίζεται ο πίνακας μεταβάσεων:
1. Καθορίζουμε τον πίνακα συχνοτήτων f, όπου
f(i, j, k) είναι το πλήθος των εμφανίσεων της
τριάδας γραμμάτων που αποτελείται από τους
χαρακτήρες i, j, και k.
• Για παράδειγμα, το συνθηματικό parsnips μας δίνει τις
τριάδες par, ars, rsn, sni, nip, και ips.
2. Για κάθε δυάδα γραμμάτων ij, υπολογίζουμε το
f(i, j, ∞) ως το συνολικό αριθμό των τριάδων
που ξεκινούν με ij.
• Π.χ. το f(a, b, ∞) είναι ο συνολικός αριθμός των τριάδων
γραμμάτων της μορφής aba, abb, abc, και ούτω καθεξής.
3. Υπολογίζουμε τις καταχωρίσεις του T ως εξής:
Αυθεντικοποίηση
Passwords
Exhaustive attacks
Έστω passwords μήκους έως 8 χαρακτήρων από τα κεφαλαία λατινικά
(Α-Ζ, 26 χαρακτήρες)
Υπάρχουν
• 261 passwords μήκους 1 χαρακτήρα
• 262 passwords μήκους 2 χαρακτήρων
• 263 passwords μήκους 3 χαρακτήρα
………..
Σύνολο 261 + 262 + …. + 268 = 5*1012 πιθανά passwords
Έστω επεξεργαστής με δοκιμή ενός password/milisec
• Passwords μήκους 3 ή less = 261 +262+263=18.278, άρα 18.278 msecs
• Passwords μήκους 4 ή less = 475 seconds (8min)
• Passwords μήκους 5 ή less = 3,5 hours
3-23
Αυθεντικοποίηση
Passwords & Social Engineering
Baiting
Πρόσφερε ένα μικρό δώρο (δόλωμα) για να δελεάσεις προκειμένου
να γίνει μια ανασφαλής ενέργεια
• Μερικά USB sticks με «διάσημη ταινία» ως δώρο πάνω στα γραφεία εργαζομένων
• Προ-φόρτωση sticks με malware
Quid pro quo (μία σου και μία μου)
Πείθεις ότι παρέχεις μια υπηρεσία και κατόπιν ζητάς κάτι ως
αντάλλαγμα
• Μαθαίνεις όνομα admin και καλείς ALICE
• Της κάνεις παρατήρηση ότι κάτι δεν κάνει καλά με υπολογιστή της
• Της ζητάς να αλλάξει το password με αυτό που θα της δώσεις και θα τη
βοηθήσεις remotely να σβήσει ορισμένα κακόβουλα αρχεία
Αυθεντικοποίηση
Passwords – Αποθήκευση
Αποθήκευση
Το password πρέπει να αποθηκεύεται στο σύστημα
Ελέγχεται ταίριασμα με αυτό που δίνει ο χρήστης
Τρόπος αποθήκευσης?
Η λίστα με τα password είναι οργανωμένη σε πίνακα με δύο στήλες
• user ID’s και το αντίστοιχο password.
Αποτροπή ανάγνωσης σε μη εξουσιοδοτημένους χρήστες?
Υπάρχει εξουσιοδοτημένος χρήστης
Τυπικά όχι, πλην του λειτουργικού (n+1 users approach)
Ισχυρό access control επιτρέπει την πρόσβαση μόνο στο
λειτουργικό / admin
3-25
Αυθεντικοποίηση
Crack Passwords : Κλέψε το αρχείο
Έστω DAC σε LINUX
subject Admin έχει read and write access στο file object pass.pwd
subject Cracker μπορεί να γράψει πρόγραμμα που δημιουργεί νέο
object Trojan.exe
περιεχόμενο: cat pass.pwd >> myFile.txt
χορηγεί στο subject Admin exe access στο Trojan.exe
χορηγεί στο subject Cracker read access στο myFile.txt
Το subject Cracker μεταμφιέζει το πρόγραμμα ως «νόμιμο» (π.χ.,
από Trojan.exe σε ls) και το
Αποθηκεύει στο δίσκο ή
Το στέλνει στο subject Admin
Αυθεντικοποίηση
Passwords – Αποθήκευση
Άρα ο έλεγχος πρόσβασης μπορεί να είναι ανεπαρκής :
Διαδικασίες του λειτουργικού δεν είναι απαραίτητο να έχουν πρόσβαση, άρα
καλύτερα να περιορίσουμε πρόσβαση σε όσες το χρησιμοποιούν
Πρόβλημα και με τα backup tapes
• Θέλει και φυσικό έλεγχο πρόσβασης
Το αρχείο πρέπει να είναι κρυπτογραφημένο
Για αποφυγή ανάγνωσης από διαχειριστές
Συνήθης πρακτική : χρήση one-way function για απόκρυψη
easy to compute, difficult to invert
π.χ. Unix
Αντί το password αποθηκεύεται το αποτέλεσμα της συνάρτησης
Στο password που εισάγεται εφαρμόζεται η μονόδρομη συνάρτηση και
συγκρίνεται με τα στοιχεία της λίστας για ταίριασμα
3-27
Αυθεντικοποίηση
Passwords – Unix
1η λύση Encryption (ξεπερασμένη)
αρχικά 25 iterations του DES
Οι οκτώ πρώτοι χαρακτήρες του user password χρησιμοποιούνται για
να παράξουν το 56-bit DES key
Αυθεντικοποίηση
Passwords – Unix
Encryption – Επαλήθευση (ξεπερασμένη)
3-29
Αυθεντικοποίηση
Passwords – Unix
2η λύση Hashing
Για την προστασία των κωδικών πρόσβασης, μόνο το αποτύπωμα
(hash value) είναι αποθηκευμένο
• /etc/passwd user info
• /etc/shadow password hashes (root level access)
Όταν ένας χρήστης εισάγει έναν κωδικό πρόσβασης στο σύστημα
παράγει τη σύνοψη από αυτό
• τη συγκρίνει με την πραγματική τιμή
Εάν ένας εισβολέας κλέψει το αρχείο με κωδικούς πρόσβασης δεν
αποκαλύπτονται τα passwords
Αυθεντικοποίηση
Crack Passwords
Ιδέα: υπολόγισε όλα τα hash values και αποθήκευσε τα
στο δίσκο
Κακή ιδέα. Πχ MD5 με 128 bit θέλει 10^26 terabytes
Κόστος Θ(|P|n), όπου P χώρος passwords και n hash value in bits
Αρχή Heisenberg για συλλογή στοιχείων: Δεν είναι απλώς δύσκολο
να συγκεντρωθούν όλες οι πληροφορίες σε έναν υπολογιστή, είναι
ουσιαστικά αδύνατο
Εναλλακτικά: προ-υπολόγισε τη hash value για πιθανά
passwords και αποθήκευσε τιμές
Στατιστικές προηγούμενων διαφανειών
crack password
Κλέψε το αρχείο
Σύγκρινε τιμές (rainbow tables)
3-31
Αυθεντικοποίηση
Crack Passwords step 2: Σύγκρινε
Rainbow Tables
Προσπαθούν να αντιστρέψουν cryptographic hash functions
Κεντρική Ιδέα: αντάλλαξε (tradeoff) storage με χρόνο (CPU time)
• Λιγότερη Disk Storage & Memory
• Σύνολο P από passwords pi
• Hash function H με τιμές h
• Reduction function R (ίδια παντού – αυτό θα αλλάξει αργότερα)
– Αντιστοιχεί hash values πίσω σε τιμές του P
• Εναλλάσσοντας H και R παράγονται αλυσίδες από p και h
• Έστω αλυσίδες μήκους k τιμών
p H h R p H h R p
aaaaaa ------> 281E1B48 ------> sgsdss------> 921E1C41 ------> kieabb
1 2 3 4 k=5
Αυθεντικοποίηση
Crack Passwords step 2: Σύγκρινε (cont)
Rainbow Tables
Φτιάξε πίνακα παίρνοντας κάποιο υποσύνολο από το P
Για κάθε p που επέλεξες φτιάξε αλυσίδα μήκους k
Αποθήκευσε μόνο το πρώτο και το τελευταίο password στην αλυσίδα
wikimedia.org
3-33
Αυθεντικοποίηση
Crack Passwords step 2: Σύγκρινε (cont)
Rainbow Tables
Έστω h’= kolscx
Εκτελούμε όσες φορές χρειάζεται την ακολουθία H(R(h’) μέχρι να
βρούμε valid τελική τιμή σε γραμμή (εδώ θα βρούμε την myname)
wikimedia.org
Γυρνάμε στην αρχική τιμή της γραμμής (abcdefgh) και ξεκινάμε νέα
ακολουθία H(R(abcdefgh)) μέχρι να βρούμε h’=kolscx καταγράφοντας
ενδιάμεσα αποτελέσματα. Η προηγούμενη τιμή είναι το ζητούμενο p
I. Μαριάς, Ασφάλεια Δικτύων, 7ο εξάμηνο, Ακ Έτος 2021-22
3-34
Αυθεντικοποίηση
Crack Passwords step 2: Σύγκρινε (cont)
Rainbow Tables
Επιλέγουμε συνήθως M random passwords (γραμμές) από P οπότε με
k iteration στην αλυσίδα έχουμε M*k> no. of passwords (|P|)
Υπάρχουν collisions που οδηγούν σε εσφαλμένα συμπεράσματα για p
wikimedia.org
3-35
Αυθεντικοποίηση
Passwords Αποθήκευση – Hashes and Salting
Password salting αποτροπή επίθεσης με rainbow tables
Πριν από one-way function παράγεται το salt, 12-bit random value
• από system time και process id
Αποτρέπει πρακτικά rainbow attacks
• ο attacker πρέπει να υπολογίσει tables για κάθε δυνατή salt value αδύνατο
Αποτρέπει ίδια encrypted passwords σε δύο χρήστες
Το salt αποθηκεύεται και αυτό στο password table μαζί με το output
της one-way function (fingerprint)
• Σήμερα: από 48 σε 128 bits
• Σήμερα: To OpenBSD χρησιμοποιεί Blowfish block cipher-based hash algorithm που
ονομάζεται Bcrypt
• Uses 128-bit salt to create 192-bit hash value
HashSalted(password) = hash(hash(password)+salt)
• key stretching
Αυθεντικοποίηση
Passwords Αποθήκευση – Hashes and Salting
Εγγραφή. Ο χρήστης επιλέγει κωδικό πρόσβασης.
To σύστημα επιλέγει salt. Ο κωδικός πρόσβασης
και το salt είσοδοι σε αλγόριθμο secure hashing
για παραγωγή fingerprint σταθερού μήκους. Ο
αλγόριθμος hashing έχει σχεδιαστεί ώστε να είναι
αργός στην εκτέλεση προκειμένου να αποτρέψει
επιθέσεις.
3-37
Αυθεντικοποίηση
Passwords – Επιθέσεις
Spoofing
Όταν εισάγουμε userid / password έχουμε τη σιγουριά με
ποιον εξυπηρέτη / σύστημα μιλάμε;
• Συνήθως όχι. Δεν γνωρίζουμε το λήπτη
Τα συστήματα λειτουργούν με την λογική μονομερούς
αυθεντικοποίησης (unilateral authentication)
Τρόποι ανάδρασης :
• Εμφάνιση αριθμού αποτυχιών πρόσβασης χρήστη (failed log-ins)
από την τελευταία επιτυχημένη πρόσβαση
• Υποστήριξη αμοιβαίου (mutual) authentication
Αυθεντικοποίηση
Passwords – Επιθέσεις
Key loggers
Συλλαμβάνουν πληκτρολογήσεις (keystrokes) χρηστών και
άρα υποκλέπτουν passwords
Hardware: Τρεις κατηγορίες
• Στη γραμμή μετάδοσης από keyboard (inline devices)
• Εξαρτήματα που τοποθετούνται μέσα στο keyboard
• Replacement keyboards.
Software: Εφαρμογές που διαβάζουν και μεταδίδουν
keylogging
• Τετριμμένες πλέον, διατίθεται στο διαδίκτυο
• Ως μέρος ενός trojan horse, virus ή worm.
3-39
Καν.09 Αν ασκείς προληπτικό έλεγχο, δείξε στο χρήστη αν ένα password που επιλέγει
είναι αδύναμο ή όχι, ακόμα και αν υπακούει στην πολιτική σου. Αν ασκείς αναδρομικό
έλεγχο, πείσε το χρήστη να αλλάξει αδύναμο password, ακόμα και αν υπακούει στην
πολιτική σου
Καν. 10 anti-bot policy: καλό θα ήταν να χρησιμοποιείς και CAPTCHAs (google) σε
χρήστες κατά την είσοδο
Καν. 11 Να μην αναφέρεις στον χρήστη ότι έκανε λάθος είτε το uname είτε το password
(παρά μόνο και τα δύο, π.χ., λάθος uname ή password, ξαναπροσπάθησε)
Καν. 12 μην εμφανίζεις το password στο text box στην οθόνη κατά την εισαγωγή (παρά
μόνο obfuscated chars, π.χ. ****, &^%%**), δώσε στον χρήστη την επιλογή
Καν. 13 Κατά την εγγραφή: Επιβεβαίωση κωδικού επιλογής για 2 φορά
I. Μαριάς, Ασφάλεια Δικτύων, 7ο εξάμηνο, Ακ Έτος 2021-22
3-41
Αυθεντικοποίηση
Challenge-Response μέθοδοι για REMOTE
AUTHENTICATION
Στα επόμενα:
Υποθέτουμε ανάγκη για αυθεντικοποίηση μέσω
διαδικτύου – REMOTE AUTHENTICATION
Ο εχθρός ακούει το δίκτυο και μπορεί να αναμεταδώσει
πληροφορία που έχει υποκλέψει
• Δεν μπορεί ωστόσο να διακόψει την επικοινωνία μεταξύ
εξυπηρέτη – εξυπηρετούμενου
Αρκετά Challenge-Response μοντέλα έχουν προταθεί
• Θα δούμε αδυναμίες τους
Αυθεντικοποίηση
Αυθεντικοποίηση – μέθοδος am1
Alice I’m Alice Bob Alice Bob
Enemy Enemy
Αδυναμίες
Δεν υπάρχει τρόπος να γνωρίζει o Bob ότι το πρόσωπο που έστειλε το μήνυμα
“I’m Alice” είναι όντως η Alice
Ο Enemy μπορεί να αντιγράψει την Alice
3-43
Αυθεντικοποίηση
Αυθεντικοποίηση – μέθοδος am2
I’m Alice
Alice gime passwd Bob Alice Bob
passwd
Enemy Enemy
Αυθεντικοποίηση
Αυθεντικοποίηση – μέθοδος am2.encr
I’m Alice
Alice gime passwd Bob Alice Bob
$#1q&u9
Enemy Enemy
Προσθήκη κωδικού επικοινωνίας κρυπτογραφημένου
ΚΑΒ συμμετρικό κλειδί
Κρυπτογράφηση password
3-45
Αυθεντικοποίηση
Αυθεντικοποίηση – μέθοδος am2.encr
I’m Alice
Alice gime passwd Bob Alice Bob
$#1q&u9
Enemy Enemy
Προσθήκη κωδικού επικοινωνίας κρυπτογραφημένου
ΚΑΒ συμμετρικό κλειδί
Κρυπτογράφηση password
Αδυναμίες
Ο Enemy μπορεί να αντιγράψει το encrypted password της Alice
Υλοποιεί κατόπιν replay attacks
O Bob δεν μπορεί να ξεχωρίσει το αρχικό μήνυμα αυθεντικοποίησης της Alice από το
ύστερο αντίγραφό του (playback)
Αυθεντικοποίηση
Replay Attacks
Πρόβλημα:
Ένας εχθρός ανακτά τα μηνύματα που ανταλλάσσονται και τα αναμεταδίδει
στο μέλλον
Η κρυπτογράφηση δε αντιμετωπίζει το πρόβλημα.
Απαιτείται ενσωμάτωση μηχανισμών προσδιορισμού «προσφατότητας»
μηνυμάτων από τον αποστολέα
freshness identifiers, nonce
Τρεις τύποι freshness identifier
Random numbers
Timestamps
Sequence numbers
3-47
Αυθεντικοποίηση
Freshness Identifiers – άπαξ τιμές ως Challenges
R=32bits να χωρέσει σε ένα πεδίο (field) ενός πρωτοκόλλου
Random numbers μεγαλύτερο από 2^32 για να ξαναγυρίσει
Τυχαίος αριθμός, απρόβλεπτος και μη επαναχρησιμοποιούμενος
Timestamps μοναδικά, είναι οι τρέχουσες στιγμές, [DATE][TIMEmicrosec]
Ο αποστολέας επισυνάπτει encrypted real-time timestamp σε κάθε μήνυμα
Ο παραλήπτης αποκρυπτογραφεί timestamp και το συγκρίνει με το τρέχοντα χρόνο
• Αν η διαφορά αρκετά μικρή, τότε αποδέχεται μήνυμα, διαφορετικά το απορρίπτει
Πρόβλημα ο συγχρονισμός μεταξύ sender και receiver
Sequence numbers 2^32 θα ξαναγυρίσει
Ο αποστολέας επισυνάπτει μια μονοτονικά αύξουσα τιμή (counter) σε κάθε μήνυμα,
αυξάνει κατά 1 μετά από κάθε αποστολή μηνύματος προς παραλήπτη
Ο παραλήπτης απαιτείται να θυμάται την τελευταία μέγιστη τιμή του counter που έλαβε
από αποστολέα
Αυθεντικοποίηση
Αυθεντικοποίηση – μέθοδος am3.singlekey (Lamport 81)
I’m Alice
Alice R1 Bob Alice Bob
ΚΑΒ(R1)
Enemy Enemy
Προσθήκη απαίτησης για Nonce R, και time-stamp
ΚΑΒ συμμετρικό κλειδί παράγεται με μια συνάρτηση που έχει ως όρισμα το
password της Alice
Κρυπτογράφηση R1
Αδύνατο για forgery
Ο Enemy μπορεί να αντιγράψει το encrypted R2 της Alice
Replay attacks δεν μπορεί να αναπτυχθούν
I. Μαριάς, Ασφάλεια Δικτύων, 7ο εξάμηνο, Ακ Έτος 2021-22
3-49
Αυθεντικοποίηση
Αυθεντικοποίηση – μέθοδος am3.singlekey (Lamport 81)
Πρακτικό Παράδειγμα – GSM δίκτυα
SIM cards :
Integrated circuit card ID (ICCID) που περιέχει πληροφορίες ταυτοποίησης
Κάθε SIM card αντιστοιχίζετε σε ένα record στην ΒΔ των subscribers που
διατηρεί ένας provider
Περιέχει
ένα unique 18-digit number για hardware identification (ΙΜΕΙ)
ένα unique 64 bit international identity (IMSI)
• ταυτοποιεί χώρα, δίκτυο και κωδικό συνδρομής
Προσοχή ΙΜΕΙ ≠ IMSI ≠ MSISDN
συμμετρικό 128-bit secret key για authentication με mobile network
Ως πρόσθετο χαρακτηριστικά:
PIN πριν τη πρόσβαση στο τηλέφωνο
PUK πριν τη πρόσβαση στη κάρτα
Αυθεντικοποίηση
Αυθεντικοποίηση – μέθοδος am3.singlekey (Lamport 81)
Πρακτικό Παράδειγμα – GSM δίκτυα Mobile Country Mobile Operator
Country Network
Code Code
(MCC) (MNC)
202 GR 1 Cosmote
202 GR 5 Vodafone
GSM CHALLENGE – RESPONSE για
202 GR 9 Q-telecom
authentication μεταξύ MS και Operator (ΑuC)
202 GR 10 WIND
310-316 US Various Various
IMSI
Για να αποτραπούν οι eavesdroppers να αναγνωρίσουν το IMSI στο radio interface, το IMSI στέλνεται σπάνια ενώ
στέλνεται ένα randomly-generated TMSI
3-51
Αυθεντικοποίηση
Αυθεντικοποίηση – γενική μέθοδος C/R
LoginUsrename: Alice F(P,C)
C F: συνάρτηση σύνοψης Η()
Alice f (P,C)=h1 Bob
ΕΚΑB (P,C)=Chipher1
Αυθεντικοποίηση
Αυθεντικοποίηση – S/Key (RFC 1760)
LoginUsrename: Alice
Challenge N
Alice f N(s) Bob
3-53
Αυθεντικοποίηση
Αυθεντικοποίηση – am4.hash S/Key
LoginUsrename: Alice
Alice sha2N(s) Bob
Αυθεντικοποίηση
One Time Password Tokens
OTP Generator
Mathematical algorithm OTP
• To σχήμα Lambort είναι ένα παράδειγμα ενός μαθηματικού αλγορίθμου
που μπορεί να χρησιμοποιηθεί
• Απαιτεί ανάστροφη σειρά (προηγούμενη διαφάνεια)
Time-synchronised ΟΤΡ
• RSA SecureID βασίζεται σε time-synchronisation
• Μέσα στο USB token υπάρχει ρολόι συγχρονισμένο με το server
• Κάθε ένα USB token έχει δικό του seed (S)
• O RSA Authentication server ξέρει το seed SY κάθε token που έχει
δοθεί στον χρήση Υ.
• Σε fixed intervals (πχ 30 secs) το token ενεργοποιείται και παράγει νέα
κλειδιά που τα στέλνει για εξουσιοδότηση στον server:
• HMAC (Sy||t) : t is the current interval
I. Μαριάς, Ασφάλεια Δικτύων, 7ο εξάμηνο, Ακ Έτος 2021-22
3-55
Αυθεντικοποίηση
Αυθεντικοποίηση – μέθοδος am5.publicKey
I’m Alice
R
Υπογραφή της Alice
ΚRA(R)
Alice Send me KUA Bob Alice Bob
ΚUA
Enemy Enemy
Απαίτηση για χρήση Δημοσίων Κλειδιών και Nonce R
ΚUA ΚRA δημόσιο και ιδιωτικό κλειδί οντότητας Α, αντίστοιχα
Αδυναμίες Forgery
Ο Enemy μπορεί χρησιμοποιεί τα δικά του κλειδιά
O Bob εκτελεί ΚUΕ(ΚRE(R)), ανακτά R και μπερδεύει την Alice με τον Enemy
Αυθεντικοποίηση
Αυθεντικοποίηση – μέθοδος am5.publicKey
I’m Alice
R
Υπογραφή της Alice
ΚRA(R)
Alice Send me KUA Bob Alice Bob
ΚUA
Enemy Enemy
Απαίτηση για χρήση Δημοσίων Κλειδιών και Nonce R
ΚUA ΚRA δημόσιο και ιδιωτικό κλειδί οντότητας Α, αντίστοιχα Λύση;
Αδυναμίες Forgery ΠΔΚ
Ο Enemy μπορεί χρησιμοποιεί τα δικά του κλειδιά
O Bob εκτελεί ΚUΕ(ΚRE(R)), ανακτά R και μπερδεύει την Alice με τον Enemy
3-57
Αυθεντικοποίηση
Αυθεντικοποίηση και Πιστοποιητικά Δημοσίου
Κλειδιού (ΠΔΚ)
Προτάθηκε από Kohnfelder (1978)
Τα Π.Δ.Κ. παράγονται από Έμπιστη Τρίτη Οντότητα (ΕΤΟ) ή
όπως αναφέρεται Certificate Authority (CA)
Ένα πιστοποιητικό συσχετίζει την “ταυτότητα” ενός χρήστη
(identity) με public key
Συχνά περιλαμβάνει πρόσθετες πληροφορίες, όπως χρόνος
εγκυρότητας, δικαιώματα χρήσης κοκ
Τα περιεχόμενα του πιστοποιητικού υπογράφονται (signed)
από την έμπιστη ΕΤΟ (CA)
Αυθεντικοποίηση
Αυθεντικοποίηση και ΠΔΚ
3-59
Αυθεντικοποίηση
Αυθεντικοποίηση και ΠΔΚ KUCA: Public Key
KRCA: Private Key
CA
KUA
KUB
CA= EKR [KUA , IDA, Time1]
CA
CA
Alice Bob
CB
Αυθεντικοποίηση
Αυθεντικοποίηση και ΠΔΚ
CCA={EKRCA[KUCA , IDCA, TimeX] || KUCA || IDCA|| TimeX}
self-signed certificate
KUCA: Public Key
KRCA: Private Key
CA
KUA
KUB
CA= EKR {[KUA , IDA, Time1] || KUΑ || IDΑ|| Time1 }
CA
CA
Alice Bob
CB
3-61
Αυθεντικοποίηση
Αυθεντικοποίηση και ΠΔΚ
Για τον χρήστη Α η CA παρέχει ένα ΠΔΚ της μορφής
CA = EKRauth[KUA , IDA, T1]
Ο χρήστης Α μπορεί να μεταβιβάσει το CA σε άλλο χρήστη, π.χ., Β
Ο παραλήπτης Β λαμβάνει το CA και επαληθεύει την ταυτότητα και το
δημόσιο κλειδί του Α ως εξής:
DKUauth[CA] = DKUauth[EKRauth[KUA , IDA, T1]] = (KUA , IDA, T1)
Εφόσον το CA είναι αναγνώσιμο μόνο με χρήση του ιδιωτικού κλειδιού
της CA, επαληθεύεται ότι έχει δημιουργηθεί από την CA
Τα στοιχεία KUA και IDA παρέχουν στον παραλήπτη την ταυτότητα και
το δημόσιο κλειδί του κατόχου του ΠΔΚ
Το timestamp T1 επικυρώνει την ισχύ του ΠΔΚ, ενεργώντας ως
«ημερομηνία λήξης».
«Ληγμένα» ΠΔΚ πρέπει να κρίνονται ανασφαλή
Αυθεντικοποίηση
Επιβεβαίωση υπογεγραμμένου Μ από Alice
Βήμα 1. Η Alice υπογράφει το M: EKRA(H(M))
Βήμα 2. Η Alice στέλνει σε Βοb: EKRA(H(M)),M,CA,IDCA
Βήμα 3. O Bob περνάει το Μ, από την Η: Η(Μ)=h1
Bήμα 4. Ο Βοb χρησιμοποιεί το CA: EKR {[KUA , IDA, Time1]}
CA
Λαμβάνει από το self-signed πιστοποιητικό της CA το δημόσιο κλειδί KUCA
DKU {EKR {[KUA , IDA, Time1]} } εξαγάγει δημόσιο κλειδί της Alice: KUA
CA CA
Bήμα 5. Επιβεβαιώνει το EKRA(H(M)): DKUA(EKRA(H(M)))= H(M) =h2
Bήμα 6. Aν h2 == h1 τότε το Μ έρχεται από Alice
Σκοπός Πιστοποιητικού
Ρ όλος CA
Διαπιστοποίηση
CAX CAY
KUB
KUA
CA
A B
CB
Διαπιστοποίηση
KUΧ
CΧ =EKRy[KUΧ , IDΧ, Time3]
CΥ =EKRx[KUΥ , IDΥ, Time4]
CΧ
CAX CAY
KUB
KUA CY
KUΥ
CB= EKRy[KUB , IDB, Time2]
CA= EKRx[KUA , IDA, Time1]
CA
A B
CB
Διαπιστοποίηση
KUΧ
CΧ =EKRy[KUΧ , IDΧ, Time3]
CΥ =EKRx[KUΥ , IDΥ, Time4]
CΧ
CAX CAY
KUB
KUA CY
KUΥ
CA= EKRx[KUA , IDA, Time1] CB= EKRy[KUB , IDB, Time2]
CA
A B
CB
Διαπιστοποίηση. Ι εραρχική
Διαπιστοποίηση. Ι εραρχική
Certs από CA
Trust Anchor CD1=EKRCA[KUD1 , IDD1]
CD2 =EKRCA[KUD2 , IDD2]
Πώς η root CA λειτουργεί ως trust anchor
CA CD3=EKRCA[KUD3 , IDD3]
CD4=EKRCA[KUD4 , IDD4] Α2 Α1 υπογεγραμμένο μήνυμα Μ:
Α2 Α1: EKRA2[M || IDA2] || IDA2 || D1
Α1 αναζητά δημόσιο κλειδί Α2
Α1 ανασύρει πιστοποιητικό CA2
To CA2 υπογεγραμμένο από ιδιωτικό κλειδί D1
D1 D2 D3 D4 Α1 αναζητά δημόσιο κλειδί D1
A1 ανασύρει πιστοποιητικό CD1
To CD1 υπογεγραμμένο από ιδιωτικό κλειδί root CA
την οποία όλοι εμπιστεύονται
A1 A2 B1 B2
Certs από D1
CA1=EKRD1[KUA1 , IDA1]
CA2 =EKRD1[KUA2 , IDA2]
KUUoA
CUoA =EKRUoC[KUUoA , IDUoA]
CUoA
CUoC =EKRUoA[KUUoC , IDUoC]
AUEB UOA
CUoC
KUUoC
Χ .509 Πιστοποιητικά
O=AUEB
CN=G. F. Marias
Network security essentials (International edition), William Stallings, Prentice-Hall, 2002. ISBN: 0131202715
Χ .509 Πιστοποιητικό
Version: v3
Serial Number: 02:41:00:00:16
Signature Algorithm: SHA1 With RSA Encryption
Issuer: CN=AUEB_CA, OU=Dept. Of. Informatics, O= AUEB, C=GR
Validity:
Not Before: Dec 5 18:39:01 2019
Not After: Dec 5 18:39:01 2021
Subject SN: CN=G.F. Marias, OU=Dept. Of. Informatics, O= AUEB, C=GR
Subject Public Key Info:
Algorithm: RSA Encryption
Public Key:
Modulus: 00:c2:29:01:63:a1:fe:32:ae:0c:51:8d:e9:07:6b:02:fe:ec:6d:0e:cc:95:4b:dc:0a:4b:0b:31:a3:1a:e1:
68:1f:d8:0b:b7:91:fb:f7:fd:bd:32:ba:76:01:45:e1:7f:8b:66:cd:7e:79:67:8d:48:30:2a:09:48:4c:9b:c7:98:d2:b
3:1c:e9:54:2c:3c:0a:10:b0:76:ae:06:69:58:ac:e8:d8:4f:37:83:c3:f1:34:02:6d:9f:38:60:6f:5e:54:4f:71:c7:92:
28:fb:0a:b3:44:f3:1a:a3:fe:99:f4:3f:d3:12:e2:f8:3b:03:65:33:88:9b:67:c7:de:88:23:90:2b
Public Exponent: 65537
Extensions:
Certified Usage: SSL Client
Signature:
Algorithm:SHA2 With RSA Encryption
Signature:2d:76:3f:49:5b:53:3a:c5:02:06:a3:67:6d:d9:03:50:57:7f:de:a7:a9:cd:69:02:97:6f:66:6a:7f:95:ea
:89:75:7a:fc:b0:26:81:fc:33:bb:60:e8:f7:73:77:37:f8:8a:04:3b:fc:c1:3e:42:40:3d:58:16:17:7e:47:35:1c:73:5
a:ab:72:33:c3:f5:2b:c6:eb:b5:39:52:82:c6:3e:e1:38:c6:39:8b:ee:e3:9f:b3:b9:29:42:0d:11:a5:79:af:6d:3a:f8
:a6:ba:d0:9c:55:48:0d:75:91:05:0b:47:67:98:32:f3:2d:2e:49:ed:22:ab:28:e8:d6:96:a1:9b
3-75
Αρχιτεκτονικές CSI
Χ .509 Ανάκληση Πιστοποιητικών
Certificate R evocation Lists
Αρχιτεκτονικές CSI
Χ .509 Ανάκληση Πιστοποιητικών
Certificate R evocation Lists
Network security essentials (International edition), William Stallings, Prentice-Hall, 2002. ISBN: 0131202715
3-77
Αρχιτεκτονικές CSI
Χ .509 Ανάκληση Πιστοποιητικών
Certificate R evocation Lists – Αδυναμίες
Μεγάλες λίστες:
δυσκολία επαλήθευσης
δυσκολία εύρεσης συγκεκριμένου πιστοποιητικού (SN)
ανάκτηση μεγάλων λιστών πρόβλημα σε δίκτυα χαμηλών
ρυθμών μετάδοσης
Προσφατότητα κατάστασης πιστοποιητικού
Λίστες ανακοινώνονται κατά το δοκούν
όχι κατά-απαίτηση
Λίστες ανακοινώνονται σε ένα δημόσιο τόπο
bottleneck
Dos
I. Μαριάς, Ασφάλεια Δικτύων, 7ο εξάμηνο, Ακ Έτος 2021-22
3-78
Αρχιτεκτονικές CSI
Χ .509 Κατάσταση Πιστοποιητικών
Online Certificate Status P rotocol – OCSP
3-79
Αρχιτεκτονικές CSI
Χ .509 Κατάσταση Πιστοποιητικών
OCSP . Οντότητες
OCSP_Req.Status(CA)
OCSP
A CA
Client
Certificate Relying
Subject Party
Google Chrome, Firefox, Opera, Internet Explorer implement Online Certificate Status Protocol (OCSP)
I. Μαριάς, Ασφάλεια Δικτύων, 7ο εξάμηνο, Ακ Έτος 2021-22
3-80
Access Control
3-81
Access Control
Access Control
Μέθοδοι Υλοποίησης
3-83
Access Control
Access Control Directory
Access Control
Access Control Matrix
3-85
Access Control
Access Control List
Ασφάλεια Δικτύων
και
Δικτυακές Επιθέσεις
4-2
Περιεχόμενα
Εισαγωγικά στα Δίκτυα
Foot-printing
Αναγνώριση Στόχου
Port scanners
Σάρωση
Net Attacks
Δικτυακές Επιθέσεις
Περιεχόμενα
Εισαγωγικά στα Δίκτυα
Foot-printing
Αναγνώριση Στόχου
Port scanners
Σάρωση
Net Attacks
Δικτυακές Επιθέσεις
4-4
4-6
(α)
(β)
I. Μαριάς, Ασφάλεια Δικτύων, 7ο εξάμηνο, Ακ Έτος 2021-22
4-8
ARP
αντιστοίχηση της διεύθυνσης δικτύου του προορισμού με τη
φυσική του (Ethernet) διεύθυνση
Ύπαρξη πίνακα
αντιστοίχησης
Ειδικό πακέτο εκπομπής –
απόκρισης
Χρόνος ζωής εγγραφής
~15min
4-10
4-12
TCP – Θύρες
4-14
TCP Μήνυμα
Πεδία για
• υλοποίηση μηχανισμών
εγγυημένης παράδοσης
• Έναρξης σύνδεσης
• Διαχείριση σύνδεσης
• Επιβεβαίωση λήψης
• εμβόλιμη - piggyback
4-16
Εγκαθίδρυση σύνδεσης
• Έναρξης σύνδεσης
• SYN
• Επιβεβαίωση λήψης
• ACK εμβόλιμο – piggyback
• Επιβεβαίωση επιβεβαίωσης
4-18
4-20
cornell.edu
Local DNS server
Client DNS recursive
resolver
cs.cornell.edu
DNS server
Περιεχόμενα
Εισαγωγικά στα Δίκτυα
Foot-printing
Αναγνώριση Στόχου
Port scanners
Σάρωση
Net Attacks
Δικτυακές Επιθέσεις
4-22
Foot-printing
Συλλέγονται πολύτιμες πληροφορίες
Η άγνωστη οντότητα (εταιρία / οργανισμός στόχος)
Γίνεται όλο και πιο γνωστή
Οι συλλεγόμενες πληροφορίες σχετίζονται με τις
τεχνολογίες και περιβάλλον λειτουργίας του στόχου
λειτουργικά χαρακτηριστικά της ασφάλειας που
εφαρμόζει
δικτυακή δομή, δ/νσεις και υπηρεσίες
Απαιτούνται εργαλεία, τεχνικές & γνώση
Foot-printing
Πληροφορίες
Αρχιτεκτονική συστήματων
Διευθύνσεις ΙΡ συστημάτων προσβάσιμων
μέσω Internet
Συλλογή πρόσθετων πληροφοριών (ονόματα
χρηστών και ομάδων, πληροφορίες SNMP)
Domain names
DNS hostnames
4-24
Foot-printing
Πληροφορίες – τρόποι άντλησης
Ιστότοπο (web site) της εταιρείας/οργανισμού
Σε τεχνολογικά forums και μηχανές αναζήτησης
Foot-printing
Tools
Netcat (nc)
• Unix utility
• Official site: http://nc110.sourceforge.net/
• computer networking utility
– εγραφή σε ή ανάγνωση από network connections (TCP or UDP)
– Built-in port-scanning capabilities
– Π.χ. εντολή ελέγχου αν η UDP ports (-u) 80-90 είναι ανοικτές στον
192.168.0.1 :
• nc -vu 192.168.0.1 80-90
4-26
Περιεχόμενα
Εισαγωγικά στα Δίκτυα
Foot-printing
Αναγνώριση Στόχου
Port scanners
Σάρωση
Net Attacks
Δικτυακές Επιθέσεις
Port scanners
Πληροφορούμαστε για τις υπηρεσίες /εφαρμογές που είναι
ενεργοποιημένες στον host-target
μέθοδος αποτελεσματική για μικρά και μεσαίου μεγέθους δίκτυα
κλάσης B ή C
Στόχος: να προσδιοριστεί vulnerability
Ώστε να επιτεθούμε με exploit
Ανίχνευση δ/νσεων όλων των θυρών
Όχι μόνο των γνωστών
Αποτελέσματα ανίχνευσης
Open ports
Closed ports
Filtered ports
Πρωτόκολλα
ICMP & TCP
4-28
Port scanners
Με ICMP μπορούμε να εντοπίσουμε ενεργές IP κυρίως
Κατά τη σάρωση στέλνονται διάφοροι τύποι ICMP πακέτων
Απουσία απάντησης : το σύστημα στόχος δεν υπάρχει ή δε
βρίσκεται σε λειτουργία
Τools
Traceroute
Ping
Port scanners
SYN scanning ή half-open
scanning
Αίτηση – απόκριση – τερματισμός
Ο host είναι έτοιμος αλλά δεν
ολοκληρώνει ο client την TCP
σύνοδο
O client στέλνει TCP SYN στην
προς διερεύνηση θύρα
Αν ο server αποκριθεί με
SYN/ACK τότε η θύρα ανοικτή
4-30
Port scanners
TCP scanning ή connect
scanning
Αίτηση – απόκριση – ολοκλήρωση
O client στέλνει TCP SYN στην
προς διερεύνηση θύρα
Αν ο server αποκριθεί με
SYN/ACK τότε η θύρα ανοικτή
Αν ο server δεν αποκριθεί με
SYN/ACK τότε η θύρα κλειστή
Ο Client ολοκληρώνει τη
εγκατάσταση συνόδου με ACK
Port scanners
TCP FIN scanning
Όταν υπάρχει firewall
Closed ports αποκρίνονται σε FIN packet με RST packet
open ports αγνοούν το FIN packet
Άρα μπορούμε να προσδιορίσουμε ποιες πόρτες είναι
ανοικτές και ποιες κλειστές
TCP Null scanning
Ο επιτιθέμενος θέτει 0 (απενεργοποιεί) όλες τις
σημάνσεις του TCP fragment.
το σύστημα-στόχος οφείλει να αποκριθεί με ένα πακέτο
RST για όλες τις κλειστές θύρες.
4-32
Port scanners
TCP Xmas Tree scanning
Ο επιτιθέμενος θέτει 1 (ενεργοποιεί) όλα τα flags
το σύστημα-στόχος οφείλει να αποκριθεί με ένα πακέτο
RST για όλες τις κλειστές θύρες.
TCP ΑCK scanning
Όταν ένα out-of-sync TCP ACK segment σταλεί σε μία
κλειστή port, η αναμενόμενη απόκριση είναι ένα RST.
Οι Stateful firewalls απορρίπτουν out-of-sync ACK
segments, άρα δεν αποκρίνονται.
Επομένως συμπεράνουμε ότι η πόρτα είναι filtered από
firewall
Port scanners
TCP Window scanning
Αναλύει port status και τύπο operating system.
Χρησιμοποιεί ACK scanning αλλά εξετάζει και το TCP
Window Size που λαμβάνεται με τα RST packets
Έτσι προβαίνει σε συμπεράσματα εφόσον όλα τα
λειτουργικά δεν επιστρέφουν την ίδια τιμή.
Ορισμένα OS θα δώσουν
• θετικό μέγεθος TCP παραθύρου όταν ένα πακέτο RST στέλλεται
από μια ανοιχτή θύρα
• αρνητική τιμή όταν το RST στέλλεται από κλειστή
4-34
Port scanners
UDP port scanning
Αν ένα UDP packet σταλεί σε μια κλειστή θύρα το
σύστημα αποκρίνεται με ICMP port unreachable μήνυμα.
• Άρα απουσία απόκρισης : port is open.
Εναλλακτικά: Αποστολή application-specific UDP packets
ελπίζοντας σε απόκριση
• Π.χ., DNS query στην port 53 θα παράξει απόκριση αν ο DNS
server τρέχει στον host
RPC port scanning / Κυρίως σε linux/unix
Νε χρήση port scanner (nmap). RPC datagram στέλλεται
σε λίστα θυρών UDP και η απόκριση καταγράφεται.
Συγκεκριμένοι τύποι απαντήσεων μπορεί να είναι
ενδεικτικοί γνωστών υπηρεσιών RPC
I. Μαριάς, Ασφάλεια Δικτύων, 7ο εξάμηνο, Ακ Έτος 2021-22
4-35
Port scanners
Port-Scanning Tools
Nmap
Genlist
Zenmap
Nessus
4-36
Port scanners
Port-Scanning Tools
Nmap
open source tool
network exploration και security auditing
Εργαλείο για security audits
Λειτουργίες – τι εξακριβώνει
hosts are available on the network,
services (application name and version) those hosts are
offering
operating systems (and versions) are running
type of packet filters/firewalls are in use
και άλλα
Port scanners
Port-Scanning Tools
Nmap – παράδειγμα
FLAGS:
Stealth scan (-sS): does not complete the TCP connection.
This is fairly fast and unobtrusive.
-P0: tells nmap NOT to ping the IP (adds to stealth).
-p: specifies the port or a port range.
4-38
Port scanners
Port-Scanning Tools
Zenmap
Nmap με GUI
Linux, Windows, Mac OS X
Free & open source
Απλοποιεί χρήση του Nmap
Πρόσθετα χαρακτηριστικά:
• Συχνά χρησιμοποιημένες
σαρώσεις μπορούν να
αποθηκευτούν ως προφίλ ώστε
να είναι εύκολο να τρέξουν κατ’
επανάληψη.
• Αποτελέσματα σαρώσεων
μπορούν να αποθηκευτούν σε μια
βάση και να προβληθούν
αργότερα
Περιεχόμενα
Εισαγωγικά στα Δίκτυα
Foot-printing
Αναγνώριση Στόχου
Port scanners
Σάρωση
Net Attacks
Δικτυακές Επιθέσεις
4-40
4-42
Ethernet
A switch
ARP table
IP MAC
191.161.10.10 01:0e:82:00:12:01
191.161.10.30 01:0e:82:00:12:00
Ethernet
A
switch
ARP table θύρα MAC addr
IP MAC 1
191.161.10.20 01:0e:82:00:12:02 IP 191.161.10.30 1 MACA
191.161.10.30 01:0e:82:00:12:00 MAC 01:0e:82:00:12:00
2 MACE
E
2 3 MACB
IP 191.161.10.20 3
MAC 01:0e:82:00:12:02
4-44
Ethernet
A
switch
ARP table θύρα MAC addr
IP MAC 1
191.161.10.20 01:0e:82:00:12:00 IP 191.161.10.30 1 MACA
191.161.10.30 01:0e:82:00:12:00 MAC 01:0e:82:00:12:00
2 MACE
E
2 3 MACB
IP 191.161.10.20 3
MAC 01:0e:82:00:12:02
Relay index
B IP MAC
191.161.10.10 01:0e:82:00:12:01
191.161.10.20 01:0e:82:00:12:02
ARP table
IP MAC
191.161.10.10 01:0e:82:00:12:00
191.161.10.30 01:0e:82:00:12:00
B
Relayed IP datagram
ARP table
Dest IP: 191.161.10.20 Dest MAC: 01:0e:82:00:12:02
IP MAC
191.161.10.10 01:0e:82:00:12:00
191.161.10.30 01:0e:82:00:12:00 Κανένα άκρο δεν αντιλαμβάνεται τον ενδιάμεσο
4-46
DHCP snooping
• Με το DHCP κρατάμε ένα record των MAC addresses που
είναι συνδεδεμένες σε κάθε θύρα
• Έτσι μπορούμε να δούμε πότε εισάγεται ένα spoofed ARP
request
• CISCO
4-48
Cloud Server A C
C
Cloud Server A
4-50
R2
C
R3
Sw2 B
R4
4-52
R2
C
R3
Sw2 B
R4
C
B
4-54
R4
4-56
Packet 1 logi
Packet 2 n: ro
Packet 3 ger\n
Retransmit Packet 3 ot\n
4-58
4-60
4-62
Α record: address
KEY record : Bob's public key.
SIG record : top-level com server's sign over (A) and (KEY)
records to verify their authenticity
I. Μαριάς, Ασφάλεια Δικτύων, 7ο εξάμηνο, Ακ Έτος 2021-22
4-63
4-64
DDoS Attack
4-66
DDoS Attack
DDoS Attack
Τι είναι η επίθεση DDoS
Προσπάθεια να καταναλώσουμε πεπερασμένους πόρους, να
εκμεταλλευτούμε αδυναμίες στον σχεδιασμό λογισμικού ή στην
υλοποίηση του δικτύου
• κατανεμημένη επίθεση
• συγχρονισμένη επίθεση
Ποιος είναι ο στόχος;
Ο στόχος είναι η διαθεσιμότητα και η χρησιμότητα των υπολογιστικών
πόρων και των πόρων του δικτύου
Τι επηρεάζουν οι επιθέσεις DDoS;
Tη διαθεσιμότητα
Δεν υπάρχουν εφαρμογές / υπηρεσίες / δεδομένα στο Διαδίκτυο χωρίς
κέρδος ….
4-68
DDoS Attack
DDoS Attack
4-70
DDoS Attack
DDoS Attack
Amplification
Attacker makes a relatively small request in terms of packets used that
generates a significantly larger response/reply from a server
Reflection
Attacker sends spoofed requests to a large number of Internet
connected devices, which reply to the requests Using IP address
spoofing, the address is set to the actual target of the attack, where all
replies are sent
Many services can be exploited to act as reflectors
4-72
DDoS Attack
The most common Reflection/Amplification cases
DDoS Attack
ICMP Denial of Service attacks
ICMP Reflection Attacks
• ICMP Echo Request: ο Α ελέγχει αν η διαδρομή (route) προς
συγκεκριμένο host (πχ, Β) είναι ενεργή και αν ο Β είναι
«ζωντανός»
• Αν Β «ζωντανός» απόκριση με ICMP Echo Reply
A
Β
IP 191.161.10.10 IP 191.161.20.20
ICMP Echo reply
Source: IP 191.161.20.20
Dest: IP 191.161.10.10
4-74
DDoS Attack
ICMP Denial of Service – reflection
IP src: Forged to B
ICMP Echo request
Source: IP 191.168.1.30 IP Dest: Broadcast
Dest: IP 191.161.0.255
IP 191.168.1.1
A
IP 191.168.1.2
IP 191.161.10.10
ICMP Echo reply IP 191.168.1.3
Source: IP 191.161.1.*
Dest: IP 191.168.1.30
IP 191.168.1.4
Be the
Victim ICMP Echo reply
Source: IP 191.161.1.N IP 191.168.1.N
Dest: IP 191.168.1.30
IP 191.168.1.30
DDoS Attack
Network Time Protocol - Amplification Attack
x206 amplification
“Give me the addresses of the
last 600 machines you talked to” 600 addresses
Spoofed SrcIP: DoS target (49,000 bytes)
(234 bytes)
DoS NTP
DoS
Source (Network Time Protocol) Target
server
4-76
DDoS Attack
No DNS = No Internet.
DNS Amplification Attack
x50 amplification
DNS query
EDNS response
Spoofed SrcIP: DoS target
(60 bytes) (3000 bytes)
DDoS Attack
4-78
DDoS Attack
https://sourceforge.net/projects/ddos-ip-attack-stress-loic/
Denial-of-service attack application, γραμμένο σε C#.
2010-2011
5-2
Περιεχόμενα
Firewalls
5-4
Firewalls
Firewalls
5-6
Firewalls
Firewalls
Packet Filters
Ελέγχουν κάθε πακέτο ξεχωριστά
Όχι ροές πακέτων
5-8
Firewalls
Packet Filters
Θεμέλιο σε κάθε firewall system
Ελέγχουν κάθε IP packet (όχι περιεχόμενο) που
διέρχεται από την περίμετρο
permit ή deny με βάση κανόνες
Έτσι περιορίζουν access σε services (ports)
default Πολιτικές
Αυτό που δεν επιτρέπεται ρητά, απαγορεύεται
Συντηρητική, πιο ασφαλής
Αυτό που δεν απαγορεύεται ρητά, επιτρέπεται
Επιθετική, πιο επικίνδυνη
Firewalls
5-10
Firewalls
Δράση/Ενέργεια ελέγχου
Accept / Deny
Συνήθως:
first-match policy
Εκτελείται η δράση που σχετίζεται με το 1ο rule match.
Άφιξη πακέτου με
Protocol=TCP,
srcIP=210.1.1.1, srcport=3080,
destIP=220.2.33.8, destiport=80.
---
first rule: no match
second rule: no match
third rule: nomatch
fourth rule. Mathc, packet is accepted
Firewalls
5-12
Firewalls
Firewalls
5-14
Firewalls
Firewalls
5-16
Firewalls
Firewalls
5-18
Firewalls
Firewalls
5-20
Firewalls
Firewalls
5-22
Firewalls
Τύποι
Screening Router
Ένας δρομολογητής – packet filter
Dual-Homed Bastion
Ένας Proxy – application filtering
Screening Router - Dual-Homed Bastion
Ένας δρομολογητής – packet filter
Ένας Proxy – application filtering
Screened Subnet
Δύο δρομολογητές – packet filters
Πολλοί Proxies – application filters
DMZ
Firewalls
Screening Router
Τυπικό σενάριο
Ένας δρομολογητής που είναι packet filter
Single-Homed Bastion
Ο application level gateway
Με πρόσθετα χαρακτηριστικά
Μπορεί να υποστηρίζει 2 η περισσότερες διεπαφές δικτύου
(net connections)
Εξασφαλίζει λογικό διαχωρισμό μεταξύ net connections
Μπορεί να τρέχει circuit και application level gateways
Μπορεί να παρέχει externally accessible services
5-24
Firewalls
Firewalls
Screened Subnet
2 routers (external/choke και internal router)
screened host και DMZ services
two-way protection για το DMZ
Προστασία υπόλοιπου δικτύου από attacks προς DMZ
Προστασία DMZ από attacks από internal network
5-26
Firewalls
Screened Subnet example
Web (HTTP), email (SMTP), and
DNS are placed in the DMZ
First firewall allow external traffic to
inbound TCP port 80 on the Web
server, TCP port 25 on the email
server, and TCP and UDP port 53 on
the DNS server.
The external traffic to the rest of the
ports will be denied and logged
The second router (Linksys) will
have well-known ports closed to
external traffic
DNS needs to be on DMZ with public
IP
I. Μαριάς, Ασφάλεια Δικτύων, 7ο εξάμηνο, Ακ Έτος 2021-22
5-27
Firewalls
Ατέλειες
Συνήθως σε ένα οργανισμό υπάρχουν Η/Υ με
μεμονωμένες συνδέσεις (π.χ., wireless/dial-up) με το
διαδίκτυο
Κερκόπορτα
Πολλές φορές θυσιάζεται η προσβασιμότητα /
διαθεσιμότητα υπηρεσιών
Στην εξερχόμενη κίνηση δεν δίνεται μεγάλη προσοχή
Covert Channels
Δεν προστατεύει από κάθε virus που έχει μολύνει
προγράμματα ή αρχεία
Λόγω του μεγάλου εύρους O/S και & file types
Απόδοση
Μειώνεται σημαντικά σε αρκετές εφαρμογές κυρίως ισόχρονες
5-28
IDS vs IPS
Τι είναι “Intrusion”
Όποιο σύνολο ενεργειών που στοχεύει να
παραβιάσει την ακεραιότητα (integrity), το
απόρρητο (confidentiality), και τη
διαθεσιμότητα (availability) ενός πόρου
Μπορεί να ανιχνευθεί:
1. Πριν αναπτυχθεί
2. Ενόσω αναπτύσσεται
3. Αφού έχει αναπτυχτεί
Στις περιπτώσεις 2&3 δύναται να έχει επίπτωση
IDS vs IPS
Τι είναι IDS
Ένα συστατικό – αντίμετρο – ασφάλειας που
ελέγχει τη δραστηριότητα σε δικτυακό επίπεδο ή σε
επίπεδο εφαρμογής ή σε όλο στο πληρ. σύστημα
προσδιορίζει ακολουθίες (patterns) συμπεριφοράς ή
κίνησης που καταδεικνύουν πιθανές παραβιάσεις της
πολιτικής και των κανόνων ασφάλειας
ενημερώνει για τα ευρήματα του
συνοδεύεται από
άντληση (capturing) δεδομένων
ανάλυση (audit data) δεδομένων
τεκμηρίωση σχετικά με τα πειστήρια της εισβολής
I. Μαριάς, Ασφάλεια Δικτύων, 7ο εξάμηνο, Ακ Έτος 2021-22
5-30
IDS vs IPS
Τι είναι IPS
Εστιάζεται σε ανίχνευση και αποτροπή (blocking)
μοχθηρής δραστηριότητας (malicious activity) σε
πραγματικό χρόνο
Διαφορές με IDS
Από Off-line (IDS) σε In-line (IPS)
IDS:
λαμβάνει copy της κίνησης ή της πληροφορίας και το αναλύει,
αλλά δεν απορρίπτει πακέτα ή τερματίζει ενέργειες (passive)
IPS:
παρεμβάλετε και επενεργεί στην πραγματική ροή κίνησης ή
πληροφορίας και απορρίπτει πακέτα ή τερματίζει ενέργειες
(active)
Αποτρέπει ακόμα και το 1ο malicious packet να περάσει
IDS
Απαιτήσεις από το συστατικό IDS
Να είναι συνεχώς σε λειτουργία
Να είναι ανθεκτικό σε λάθη (fault tolerant)
Να αντιστέκεται σε επιθέσεις εναντίον του
Να αυτό-προστατεύεται
Να έχει ελάχιστη επιβάρυνση για το σύστημα
Να παρέχει καμία ή έστω ήπια (ανεκτή) υποβάθμιση της υπηρεσίας
Να ρυθμίζεται σύμφωνα με τη πολιτική ασφάλειας του
συστήματος που προστατεύει
Να προσαρμόζεται στις αλλαγές του συστήματος
Πχ patches
Να επιτρέπει δυναμική αναδιάρθρωση και ανανέωση
Σε κανόνες
5-32
IDS
IDS
Host based
Επιβλέπουν ένα κόμβο/host και ελέγχουν τα
events που συμβαίνουν σε αυτόν ή στις
υπηρεσίες που παρέχει προς χρήστες και
διαδίκτυο
Network based
Επιβλέπουν ένα segment, υποδίκτυο, LAN κοκ
και αναλύουν τη κίνηση σε επίπεδο δικτύου,
μεταφοράς ή εφαρμογής
IDS
Τρία λογικά συστατικά
Αισθητήρες – sensors
Συλλέγουν και αποστέλλουν πληροφορία
Input: Log files, network packets, system-call traces
Προωθούν τη πληροφορία σε analyzers
Αναλυτές – analyzers
δέχονται πληροφορία από πολλούς sensors
Αναλύουν τη πληροφορία
Υπεύθυνοι στο να αποφαίνονται αν μια εισβολή είναι σε
εξέλιξη ή συνέβη
Η έξοδός τους συνοδεύεται από
τεκμήρια που αποδεικνύουν την εισβολή
ένδειξη αντιμετώπισης
Διεπαφή με χρήστη (interface)
5-34
IDS
Συμπεριφορά εισβολέα
Κατά κανόνα διαφορετική από του τυπικού
χρήστη
Ωστόσο όχι πάντα
διακριτή
false positives:
authorized users
κρίνονται ως εισβολείς
false negatives:
εισβολείς
χαρακτηρίζονται ως
authorized users Computer Security: Principles and Practice, First
Edition by William Stallings and Lawrie Brown
IDS
Συμπεριφορά IDS
Ιδεατό σύστημα: 100% detection rate με 0%
false alarm
false positives:
authorized users
κρίνονται ως εισβολείς
false negatives:
εισβολείς
χαρακτηρίζονται ως
authorized users
οπότε η επίθεση δεν
ανιχνεύεται
5-36
IDS
Συμπεριφορά IDS
False negatives: attack is not detected
Κύριο πρόβλημα στα signature-based IDS
False positives: legitimate behavior is
classified as attack
Κύριο πρόβλημα στα statistical anomaly detection
Και οι δύο κατηγορίες IDS έχουν πρόβλημα
ποιό από τα δύο κυρίαρχο;
5-38
Ανίχνευση απάτης
• Point anomaly
• Collective anomaly
• Contextual anomaly
I. Μαριάς, Ασφάλεια Δικτύων, 7ο εξάμηνο, Ακ Έτος 2021-22
5-39
Αποστολή alerts
5-40
5-42
IDS Taxonomy
5-44
5-46
5-48
5-50
pod attack = ping of death attack. IP packet size = 65,535 bytes. Attackers
send many IP fragments of the same IP packet id to the victim.
Reassemply of these packets causes IP packet size > 65,535 = buffer
overflow
Smurf Attack: DDoS amplification & reflection attack. Μεγάλος αριθμός
ICMP packets με spoofed source IP γίνονται broadcast σε computer
network με χρήση IP Broadcast address.
I. Μαριάς, Ασφάλεια Δικτύων, 7ο εξάμηνο, Ακ Έτος 2021-22
5-52
IPS
Υπάρχουν δύο τρόποι θεώρησης για το τι είναι
IPS:
Α. είναι ένα inline network-based IDS (NIDS) που έχει τη
δυνατότητα να μπλοκάρει την κίνηση με το να απορρίπτει
πακέτα
αλλά και να ανιχνεύει ύποπτη κίνηση
B. είναι μια λειτουργική προσθήκη σε ένα firewall που προσθέτει
IDS αλγόριθμους στο ρεπερτόριο.
Άρα : IPS blocks traffic όπως το firewall αλλά
χρησιμοποιεί αλγορίθμους που έχουν προταθεί για IDSs
5-54
Host-based IPS
Ένα host-based IPS (HIPS) χρησιμοποιεί τις δύο κλασικές τεχνικές
Signature detection
Εστιάζεται σε content των application payloads στα πακέτα, αναζητώντας
patterns που έχουν καθοριστεί ως malicious.
Anomaly detection
Καταγράφει και αναλύει patterns με συμπεριφορές
Π.χ.: Modification of system resources, Privilege-escalation exploits, Buffer-
overflows
Οι δυνατότητες ενός HIPS είναι συνδεδεμένες με συγκεκριμένη
πλατφόρμα (OS).
HIPS σε sandbox
Sandboxes χρησιμοποιούνται για κινητό κώδικα - mobile code (Java
applets και scripting languages).
Το HIPS βάζει σε καραντίνα τέτοιο κώδικα σε αποσωνόμενη από το
σύστημα περιοχή, εκτελεί τον κώδικα και ελέγχει τη συμπεριφορά του
network-based IPS
Ένα NIPS είναι ένα inline NIDS με τη αρμοδιότητα να
απορρίπτει πακέτα και να απορρίπτει αιτήσεις συνδέσεων
π.χ., TCP connections.
Ένα NIPS χρησιμοποιεί και αυτό signature detection και
anomaly detection τεχνικές
Πρόσθετη τεχνική: Flow data protection.
Το application payload σε μία ακολουθία πακέτων επανα-
συναρμολογείται.
Το ΝIPS εφαρμόζει φίλτρα στο πλήρες content της ροής κάθε
φορά που έρχεται ένα πακέτο της ροής.
Αν η ροή χαρακτηριστεί malicious, το τελευταία και όλα τα
επόμενα πακέτα της ροής απορρίπτονται.
5-56
network-based IPS
Γενικές μέθοδοι που χρησιμοποιεί το NIPS για να βρει malicious
packets:
Pattern matching: Σαρώνει τα εισερχόμενα πακέτα για συγκεκριμένες
αλληλουχίες byte (υπογραφή) που είναι αποθηκευμένες σε μια βάση
δεδομένων με γνωστές επιθέσεις
Stateful matching: Σαρώνει υπογραφές για την επίθεση σε ένα ρεύμα
κυκλοφορίας και όχι μεμονωμένα πακέτα.
Protocol anomaly: Αναζητεί απόκλιση από τα πρότυπα που ορίζονται
στο RFCs.
Traffic anomaly: Επιβλέπει για μη τυπικές (unusual) traffic activities,
όπως flood of UDP packets ή για μία νέα υπηρεσία που ενεργοποιείται
στο δίκτυο.
Statistical anomaly: Αναπτύσσει κανόνες κανονικής κυκλοφορίας και
απόδοσης δικτύου, και παράγει ειδοποιήσεις (alerts) για τις αποκλίσεις
από αυτές.
5-58
SIEM and SOC
Ας φανταστούμε μια αλυσίδα καταστημάτων SiC με έδρα στη ΝΥ και 1.000
καταστήματα στις ΗΠΑ
Τα καταστήματα πρέπει να διατηρήσουν επικοινωνία με κεντρικoύς servers για
συντονισμό αποθήκης, παραγγελιών, πωλήσεις, τιμοκαταλόγους κοκ
Κάθε κατάστημα χρειάζεται σύνδεση στο Διαδίκτυο και VPN με τα HQ (που
πιθανώς να είναι στο cloud).
Οι συνδέσεις στα καταστήματα είναι ευάλωτες σε επιθέσεις. Το χειρότερο:
εισβολέας που διεισδύει στο δίκτυο καταστημάτων θα έχει πρόσβαση σε
Servers
Κάθε κατάστημα πιθανός φορέας επίθεσης στο εταιρικό δίκτυο
Τα SiC χρειάζονται 1.000 τείχη προστασίας και IDS που προστατεύουν τις 1.000
συνδέσεις στο Διαδίκτυο!!!
Αλλά ποιος θα παρακολουθεί αυτά τα τείχη προστασίας και IDS για να
βεβαιωθεί ότι λειτουργούν σωστά και να διερευνούν πιθανά συμβάντα
ασφαλείας στα καταστήματα λιανικής;
Είναι εφικτό αυτό το σενάριο; Σίγουρα δεν είναι οικονομικό
5-60
SIEM and SOC
Η SiC θα δημιουργήσει (η ενοικιάσει) ένα Κέντρο Επιχειρήσεων
Ασφαλείας (SOC).
SOC: ομάδα προσωπικού ασφαλείας αφιερωμένη στην παρακολούθηση
για συμβάντα ασφαλείας, τη διερεύνηση και αποκατάσταση τους.
Για να κάνει αποτελεσματικό SOC, η ομάδα SOC θα έχει πρόσβαση για
να παρακολουθεί όλο το δίκτυο και τα προϊόντα ασφαλείας σε όλη την
επιχείρηση, συμπεριλαμβανομένων των καταστημάτων
Το προσωπικό ασφαλείας συνδέεται χειροκίνητα σε κάθε συσκευή
ελέγχοντας την κατάσταση και αναζητώντας ειδοποιήσεις (alarms)
Αυτή η επιλογή δεν κλιμακώνεται και καθιστά δύσκολο τον εντοπισμό
ακόμη και απλών μοτίβων επίθεσης, όπως επιθέσεις σε καταστήματα
που προέρχονται από ίδια διεύθυνση πηγής.
Αντ 'αυτού, η SiC χρειάζεται μια αυτοματοποιημένη βοήθεια
Εδώ υπεισέρχονται τα εργαλεία ασφάλειας και διαχείρισης συμβάντων ή
SIEM (security information and event management)
Ασφάλεια Δικτύων
6-2
Περιεχόμενα
6-3
6-5
6-7
6-9
IPsec Περιεχόμενα
Σύνοδοι ασφάλειας
Διαχείριση κλειδιών
6-10
IPSec – Στόχοι
Data Origin Authentication
επαληθεύει ότι κάθε πακέτο προέρχεται από τον αποστολέα που
ισχυρίζεται ότι το έστειλε.
Data integrity
επαληθεύει ότι τα περιεχόμενα κάθε πακέτου δεν έχουν αλλάξει κατά τη
μεταφορά τους, είτε κακόβουλα είτε τυχαία
Data confidentiality
το μήνυμα κρυπτογραφείτε κατά την αποστολή του ώστε να μην μπορεί
κάποιος ενδιάμεσος να το διαβάσει
Replay protection
Εξασφαλίζει ότι κάποιος τρίτος δεν μπορεί υποκλέπτοντας ένα πακέτο και
να το ξαναστείλει μετά από κάποιο χρονικό διάστημα
Rejection of replayed IP packets
Ek[HMAC(k,M,SeqNr)]|| Ek [M||SeqNr]
(δύο IP άκρα επικοινωνίας που μοιράζονται μυστικό k)
Διαχείριση κρυπτογραφικών κλειδιών και Security Associations
6-11
6-13
6-15
IP TCP Data
Header Header Ενσωμάτωση πληροφοριών δικτύου –
ΙP Layer processing
6-17
Encrypts IP payload
Encrypts inner IP packet.
ESP with and Authenticates IP
Authenticates inner IP
authentication payload but no IP
packet.
header
6-18
Υποστηρίζει
Data integrity του IP packet.
Τροποποίηση IP packet κατά την μεταφορά:
ανιχνεύσιμο
Authentication του IP packet.
End-system verify αποστολέα
Αποτρέπει address spoofing attacks.
6-19
Transport mode
Η αυθεντικοποίηση παρέχεται απευθείας μεταξύ δύο end
systems
π.χ., client and server workstations
η αρχική header του IP packet είναι η εξωτερική επικεφαλίδα
του νέου IP packet, ακολουθούμενη από την AH header και
στη συνέχεια ακολουθεί το payload του αρχικού IP packet.
Το αρχικό IP packet αυθεντικοποιείται ως προς τον
αποστολέα και προστατεύεται ως προς την ακεραιότητά του
Authenticated
6-21
Tunnel mode
Όλο το IP packet αυθεντικοποιείται.
Ο AH header τοποθετείται μεταξύ original IP header και
new, outer, IP header
Η outer IP address περιέχει την IP addresses του security
gateway (router, firewall)
H Inner IP address περιέχει την διεύθυνση του end system.
Authenticated
6-22
6-23
N
Έχουν παραληφθεί και
N+1 authenticated
N-W+1
Μαρκάρεται αν Δεν έχουν ακόμα
παραλήφθηκε valid παραληφθεί
πακέτο
W. Window Size Έχουν παραληφθεί,
authenticated και ελεγχθεί
N. Right edge of Window
ως προς την σειρά
The highest SeqNr of valid packet received so far
S. To SeqNr του επόμενου πακέτου που θα ληφθεί.Υπάρχουν τρεις περιπτώσεις
S μικρότερο από όποιο SeqNr μέσα στο W (S < N-W+1)
S μέσα στο W (N-W+1 ≤ S ≤ N)
S μεγαλύτερο από όποιο SeqNr μέσα στο W (S > N)
6-25
S
N-W+1 ≤ S ≤ N . Έλεγξε S. Αν S exist στο W Replay attack, discard packet
Διαφορετικά accept packet
S S
discard accept
S > N . Accept packet. Slide the window so that S becomes its new right edge
N’
Υποστηρίζει
confidentiality services.
confidentiality του IP packet
περιορισμένης έκτασης authentication
service
Authenticates το payload αλλά όχι το IP packet
header
6-27
6-29
Transport mode
Χρησιμοποιείται για encryption και authentication
(optional) των δεδομένων (κυρίως payload) IP packet
Η κρυπτογράφηση υποστηρίζεται μεταξύ δύο end
systems
π.χ., client και server workstations
H ΙΡ επικεφαλίδα του IP datagram διατηρείται (routing)
Δεν προστίθεται νέα
Η IP επικεφαλίδα του IP datagram δεν κρυπτογραφείται
Πληροφορίες για διευθύνσεις τελικό αποστολέα - παραλήπτη της
επικεφαλίδας είναι ορατές για κάποιον passive attacker (traffic
analysis)
Η IP επικεφαλίδα του IP datagram δεν αυθεντικοποιείται
6-30
Transport mode
ESP header: εισάγεται μετά το IP header.
ESP trailer (Padding, Padding length, Next Header):
εισάγεται στο τέλος του IP packet
Αν χρησιμοποιείτε authentication, τα authentication
data τοποθετούνται μετά τον ESP trailer
6-31
6-33
Internet
Headquarters LAN
Corporate branch LAN
Servers
Encrypted Tunnels
conveying IP traffic
6-34
6-35
SSL/TLS
SSL/TLS
6-37
6-39
DATAF1
6-41
6-43
6-45
6-47
Session ID:
αν η πρόταση του Client ήταν non zero τότε η τιμή χρησιμοποιείται από τον Server,
Διαφορετικά ο Server παράγει νέα session ID.
6-49
6-51
https 443
smtps 465
ldaps 636
pop3s 995
ftps 990
imaps 991
6-52
Pure TLS
Ορίζεται στο
RFC 2246 (1.0),
RFC 4346 (1.1),
RFC 5246 (1.2)
RFC 8446 (1.3) 2018
Πολλές ομοιότητες με SSLv3.
Διαφορές:
message authentication code: χρήση μόνο ΗΜΑC
Προσθήκη νέων alerts
O υπολογισμός master secret στο TLS είναι διαφορετικός
Αποτροπή downgrade κατά το negotiation
TLS1.1: Χρήση αλγόριθμου CBC
TLS1.2: Χρήση αλγόριθμου SHA-256
6-53
TLS 1.3
SSL/TLS Συμπεράσματα
6-55
CVE-2014-0160
the SSL Heartbleed bug
CVE-2014-0160
the SSL Heartbleed bug
6-57
Τι είναι bleeding?
Memory disclosure:
τι αντλεί ο επιτιθέμενος
● Shared master crypto keys
● Private keys server
● Usernames and Passwords
● Session identifiers
● Private data – data payloads
6-59
Λεπτομέρειες
SSL V3 RECORD protocol – messages
SSL V3 RECORD MESSAGE LENGTH
(limited to 4 bytes)
Η επέκταση RFC 6520 (Heartbeat)
http://mashable.com/2014/04/09/heartbleed-bug-websites-affected/
How do I manage?
http://www.pcmag.com/article2/0,2817,2407168,00.asp
https://lastpass.com/misc_download2.php
6-61
6-63
6-65
marias@aueb.gr
Διάλεξη 10-1
Κβαντική κρυπτογραφία
One-time pad
Πινακίδα μιας χρήσης
Ένα τυχαία παραγόμενο ρεύμα κλειδιών δεν
ξαναχρησιμοποιείται
Αν το κλειδί έχει ίδιο μήκος με μήνυμα
και χρησιμοποιείται μόνο μια φορά στο
κρυπτοσύστημα = 100% ασφαλές
Το πως θα συμφωνήσουν/αποκτήσουν
οι ενδιαφερόμενοι αυτό το μυστικό n-
bit κλειδί καθιστά μη πρακτική τη
χρήση του one-time-pad
Quantum Cryptography
μια αποδοτική μέθοδος για συμφωνία και
ανταλλαγή κλειδιών
Δίνει τη δυνατότητα δύο μέρη να κατασκευάσουν
ένα τυχαία παραγόμενο κοινό μυστικό κλειδί
Γνωστό μόνο σε αυτά
Άρα όχι τυχαίο για τα δύο άκρα
Κβαντική κρυπτογραφία
Πόλωση Φωτός
Φως: Η/Μ κύμα
Ας ασχοληθούμε μόνο με το Ηλεκτρικό πεδίο
(κόκκινο κύμα)
το κόκκινο βέλος εκτελεί ταλάντωση πάνω σε μια
γραμμή (κινείται πάνω σε νοητό άξονα, δεν
στρίβει αριστερά ή δεξιά)
λέμε ότι είναι γραμμικά πολωμένο.
Επομένως, πόλωση: ταλάντωση κύματος σε μια
προτιμητέα διεύθυνση (πάνω σε μια γραμμή).
Η γραμμή πάνω στην οποία ταλαντώνεται το κύμα
(ανεβοκατεβαίνει το βέλος) ονομάζεται άξονας
πόλωσης του κύματος.
Κβαντική κρυπτογραφία
Πόλωση Φωτός
Μία ακτίνα φωτός αποτελείται από άπειρα κύματα, τα
οποία είναι γραμμικώς πολωμένα, αλλά οι άξονες
πόλωσής τους σχηματίζουν τυχαίες γωνίες μεταξύ τους
Έστω μαζεμένα πολλά ηλεκτρόνια που ταλαντώνονται.
Τα ηλεκτρόνια αυτά ταλαντώνονται με την ίδια συχνότητα
(το ίδιο "γρήγορα") αλλά δεν ταλαντώνονται κατά μήκος
του ίδιου άξονα: άλλο μπορεί να κινείται αριστερά-δεξιά,
άλλο διαγωνίως κοκ,
με τυχαίες γωνίες μεταξύ τους
Κβαντική κρυπτογραφία
Κβαντική κρυπτογραφία
Αρχές BB84
ένα σύνολο ορθογώνιων φίλτρων καλείται βάση
Π.χ. οριζόντια/κάθετη (horizontal/vertical ή 0ο-90ο)
Το πρωτόκολλο χρησιμοποιεί δύο βάσεις
0ο-90ο degree basis (+)
• Αναφέρεται ως Horizontal/Vertical ή H/V
45ο-135ο degree basis (Χ)
• Αναφέρεται ως Diagonal ή D/Α
Alice: χρησιμοποιεί τα φίλτρα της (polarizers) για
να στείλει τυχαία φωτόνια στον Bob σε μία από
τις ακόλουθες 4 πολώσεις: 0,45,90,135 degree
Κβαντική κρυπτογραφία
Αρχές BB84
Alice: χρησιμοποιεί τα φίλτρα της (polarizers) για
να στείλει τυχαία photons στον Bob σε μία από
τις ακόλουθες 4 πολώσεις:
μοίρες polarization bit
0o ─ 1
45o / 0
90o | 0
135o \ 1
Bob χρησιμοποιεί φίλτρα του για να μετρήσει
κάθε πόλωση των φωτονίων που λαμβάνει
Ή την (+) basis ή την (Χ) basis
Κβαντική κρυπτογραφία
BB84 Βήμα 2
Ο Bob λαμβάνει τα φωτόνια που έστειλε η Alice,
αλλά δεν ξέρει τι πόλωση έχει κάθε ένα από αυτά
δεν γνωρίζει ποια από τις δύο βάσεις χρησιμοποίησε η
Alice για να πολώσει τα φωτόνια
Τυχαία επιλέγει μια από τις δύο βάσεις για κάθε
ένα από τα φωτόνια που λαμβάνει και κάνει τις
μετρήσεις του
Αν ο Bob χρησιμοποιήσει ίδια βάση με Alice θα
μετρήσει σωστά πόλωση και τιμή ενός bit
Αν μετρήσει με διαφορετική βάση θα πάρει μια τυχαία
τιμή της πόλωσης και συνεπώς τυχαία τιμή για το bit
που έστειλε η Alice
Κβαντική κρυπτογραφία
BB84 Βήμα 3
Ο Bob ανακοινώνει δημόσια ποιες βάσεις
χρησιμοποίησε για να μετρήσει κάθε ένα από τα
φωτόνια που έλαβε
Αλλά δεν ανακοινώνει αποτέλεσμα των μετρήσεων του
BB84 Βήμα 4
Η Alice ανακοινώνει δημόσια στον Bob σε ποιες
μετρήσεις χρησιμοποίησε τις σωστές βάσεις.
Κβαντική κρυπτογραφία
BB84 Βήμα 5
Η Alice και ο Bob ‘κρατάνε’ τα bits όπου και οι
δύο χρησιμοποίησαν την ίδια βάση.
Σε αυτή τη φάση από τα 2*n bits που έστειλε η
Alice τα n τα μέτρησε σωστά ο Bob
Ο Bob και η Alice μοιράζονται n bits μυστικής
πληροφορίας
• Κλειδιού
• Μυστικής τιμής
• κοκ
Κβαντική κρυπτογραφία
BB84 Example
Κβαντική κρυπτογραφία
Κβαντική κρυπτογραφία
Κβαντική κρυπτογραφία
Ασφάλεια Δικτύων
Επιθέσεις από το εσωτερικό
Επιθέσεις από χρήστες του συστήματος
Η πιστοποίηση ταυτότητας κρατάει τους τρίτους εκτός
Πολλές επιθέσεις όμως ξεκινάνε από μέσα
Από χρήστες που γνωρίζουν το σύστημα
Λογικές βόμβες (logic bombs)
Κώδικας που κρύβεται από έναν προγραμματιστή της εταιρείας
Όσο ο προγραμματιστής δουλεύει στην εταιρεία δεν γίνεται τίποτα
Όταν φύγει όμως η βόμβα «εκρήγνυται»
Μπορεί να αλλοιώνει αρχεία ή προγράμματα
Έτσι ο προγραμματιστής εκβιάζει την εταιρεία
Καταπακτές (trap doors)
Κώδικας που παρακάμπτει ελέγχους ασφάλειας
Επιτρέπει σε έναν προγραμματιστή να συνδέεται με ειδικό τρόπο
Μπορεί να έχει πρόσβαση σε όλες τις εγκαταστάσεις
Stack Frame
Αξιοποίηση σφαλμάτων κώδικα
Υπερχείλιση μνήμης
Έστω procedure A καλεί την
B και η Β την C.
• Overwrite τον
ProgCtr και των
δεδομένων στη
στοίβα έτσι ώστε ο
ProgCtr να δείχνει
τώρα στη στοίβα
(Compromised
Stack)
Compromised
Stack
Compile-time
Ενισχύει νέα προγράμματα που θα διατεθούν
Canary Memory
Run-time
Εντοπίζει attacks σε existing programs
Αποθήκευση return address (ra) σε θέσης μήνης και σύγκριση με την
ra του stack πριν την επιστροφή
Αξιοποίηση σφαλμάτων κώδικα
Υπερχείλιση μνήμης
Canary Values Protection
T2=Ra2
T1=Ra1
Canary value=1
Ra2=
Canary value=7
Ra1=
Κακόβουλο λογισμικό
Κακόβουλο λογισμικό (malware)
Δούρειοι ίπποι, σκουλήκια, ιοί, ransomwares, rootkits
Κάποτε φτιαχνόταν από κακόβουλους ερασιτέχνες
Τώρα φτιάχνεται από κακόβουλους επαγγελματίες
Μπορεί να εγκαθιστά κερκόπορτα (back door) στο σύστημα
Επιτρέπει τον έλεγχο της μηχανής από τρίτους
Μια τέτοια μηχανή λέγεται ζόμπι ή bot
Ένα μεγάλο σύνολο bot λέγεται botnet
Τα δίκτυα αυτά ενοικιάζονται για μαζικές εργασίες
Παράδειγμα: spaming, DDoS, BTC minning, password cracking
Παρέχει πολύ ισχύ και κρύβει τον πραγματικό επιτιθέμενο
Μπορεί να εγκαθιστά καταγραφέα πληκτρολογήσεων (keylogger)
Οι κωδικοί και οι αριθμοί πιστωτικών καρτών στέλνονται αλλού
Οι χρήστες καταλαβαίνουν ότι κάτι έχει συμβεί πολύ αργότερα
Κακόβουλο λογισμικό
Κακόβουλο λογισμικό (malware)
Μπορεί να κάνει υποκλοπή ταυτότητας (identity theft)
Συλλογή δεδομένων για τον χρήστη μέσω keylogger / spyware και
αναζήτησης
Ο εισβολέας μπορεί μετά να παραστήσει τον χρήστη
Και πολλές άλλες παραλλαγές…
Βιομηχανική κατασκοπεία ή σαμποτάζ
Καταστροφή δεδομένων
Κλείδωμα και λύτρα
Διαγραφή μνήμης flash για αποτροπή εκκίνησης
Γιατί υπάρχει τόσο πολύ κακόβουλο λογισμικό;
Υπάρχουν λίγα λειτουργικά συστήματα
Άρα υπάρχουν πολλοί παρόμοιοι στόχοι
Πολλά συστήματα θυσιάζουν την ασφάλεια χάρη της ευχρηστίας
Επιτρέπουν σύνδεση χωρίς ή με προφανείς κωδικούς
Κακόβουλο λογισμικό
Δούρειοι ίπποι (trojan horses)
Κακόβουλο λογισμικό κρυμμένο σε χρήσιμο πρόγραμμα
Σε αντίθεση με ιούς&σκουλήκια: τα trojans δεν επιχειρούν να εισχωρήσουν σε
άλλα αρχεία ή να διαδοθούν σε άλλο pc/host
παραπλανά χρήστες / μηχανές
Οι χρήστες εγκαθιστούν το πρόγραμμα με τη ενέργειά τους
Παράδειγμα: παιχνίδι, πρόγραμμα αναπαραγωγής μέσων
Εναλλακτικά, ο χρήστης εκτελεί το πρόγραμμα κατά λάθος
Πχ άνοιγμα attachment σε email
clicking fake ad σε social media / web-site
Στα περισσότερα συστήματα υπάρχει μία μεταβλητή PATH
Δείχνει τη σειρά των καταλόγων με εκτελέσιμα προγράμματα
Ο εισβολέας βάζει το πρόγραμμα σε εκτελέσιμο κατάλογο
Λάθος ονόματα εντολών
Παράδειγμα: ο χρήστης γράφει “la” αντί για “ls”
Το “la” κάνει τη δουλειά του και μετά τυπώνει μήνυμα λάθους
Κακόβουλο λογισμικό
Δούρειοι ίπποι (trojan horses)
Παράδειγμα Αρχικών Trojan :
subject Admin έχει read and write access στο file object pass.pwd
subject Cracker μπορεί να γράψει πρόγραμμα που δημιουργεί νέο
object Trojan.exe
περιεχόμενο: cat pass.pwd >> myFile.txt
χορηγεί στο subject Admin exe access στο Trojan.exe
χορηγεί στο subject Cracker read access στο myFile.txt
Το subject Cracker μεταμφιέζει το πρόγραμμα ως «νόμιμο» (π.χ.,
από Trojan.exe σε ls) και το
Αποθηκεύει στο δίσκο ή
Το στέλνει στο subject Admin
Όταν το subject Admin εκτελεί το πρόγραμμα, το πρόγραμμα έχει τα
ίδια permissions με το subject Admin και αποκαλύπτει τα περιεχόμενα
του pass.pwd στο subject Cracker στο αρχείο myFile.txt
Κακόβουλο λογισμικό
διαδεδομένος Gh0stRAT – 2009
Shedun (Android) 2015
ΜEMZ trojan για Microsoft Windows 10 virtual machine
Σήμερα δημιουργεί έναν backdoor με ελεγκτή (C&C) ο οποίος
αποκτά μη εξουσιοδοτημένη πρόσβαση στον υπολογιστή.
Πρόσβαση σε προσωπικά στοιχεία χρηστών, όπως τραπεζικές
πληροφορίες, κωδικούς πρόσβασης, credit κάρτες …
Διαγραφή αρχείων ενός χρήστη
Οι επιθέσεις Ransomware εκτελούνται συχνά μέσω trojan.
Διαφορά μεταξύ ενός trojan και ενός bot : τρόπος που διαχέονται
Τυχαίος τρόπος σε bot: στο bot μπορεί να επιλέγεται να σαρωθεί ένα
τυχαίο σύνολο διευθύνσεων IP κάθε μέρα
Σε trojan προορίζεται για μια πιο στοχοθετημένη- μια συγκεκριμένη
μηχανή ή ένα συγκεκριμένο σύνολο σε ένα δίκτυο.
Κοινές απάτες με δούρειους ίππους
Espionage/Leakage και Damage
Κακόβουλο λογισμικό
Ιοί (viruses)
Πρόγραμμα που αναπαράγεται μόνο του, τοπικά σε ένα υπολογιστή
Συνήθως προσκολλάται σε άλλα εκτελέσιμα προγράμματα
Όταν εκτελείται το μολυσμένο πρόγραμμα, μολύνει και άλλα
Λειτουργία των ιών
Αρχικά ο δημιουργός μολύνει ένα πρόγραμμα και το διαδίδει
Όποτε εκτελείται το πρόγραμμα πρώτα μολύνει και άλλα
Μετά εκτελεί τον κύριο κώδικά του (πχ σε συγκεκριμένη μέρα)
Ιοί εκτελέσιμου προγράμματος
Μολύνει εκτελέσιμα προγράμματα
Ιοί αντικατάστασης (overwriting viruses)
Αντικαθιστά πλήρως το μολυσμένο πρόγραμμα
Αρχικά γράφει τον εαυτό του στο δίσκο
Στη συνέχεια βρίσκει εκτελέσιμα προγράμματα
Αντικαθιστά τον κώδικά τους με τον δικό του
Κακόβουλο λογισμικό
Ιοί εκτελέσιμου προγράμματος
Ιοί αντικατάστασης (overwriting virus)
Συνήθως όμως δεν μολύνουμε αμέσως τα πάντα
Θέλουμε ο ιός να εξαπλωθεί χωρίς να γίνει αντιληπτός
Μολύνουμε ορισμένα μόνο εκτελέσιμα (πιθανοτικά)
Αποφεύγουμε τα ήδη μολυσμένα αρχεία (σπατάλη χρόνου)
Δεν αλλάζουμε το μέγεθος και την ώρα τροποποίησης των αρχείων
Παρασιτικοί ιοί (parasitic viruses)
Ο ιός αντικατάστασης γίνεται γρήγορα αντιληπτός
Ο χρήστης παρατηρεί ότι το μολυσμένο πρόγραμμα δεν λειτουργεί
Ο παρασιτικός ιός προσαρτάται στο εκτελέσιμο πρόγραμμα
Το πρόγραμμα λειτουργεί κανονικά παρά τον ιό
Ο κώδικας μπορεί να μπει σε αρχή, μέση ή τέλος του προγράμματος
Αν μπει στην αρχή ίσως να χρειαζόμαστε μετάθεση κώδικα
Κακόβουλο λογισμικό
Κακόβουλο λογισμικό
Πώς εξαπλώνονται οι ιοί;
Συχνά ξεκινάμε από ένα μολυσμένο δωρεάν πρόγραμμα
Το πρόγραμμα διανέμεται μέσω ιστοσελίδων
Όταν εκτελεστεί μολύνει άλλα προγράμματα
Μπορεί έτσι να μολυνθούν τομείς εκκίνησης μηχανών
Μπορεί να εκτελεστεί κατά λάθος και από τον διαχειριστή
Εναλλακτικά το πρόγραμμα στέλνεται μέσω e-mail
Συνήθως με ψεύτικη διεύθυνση αποστολέα
Και με θέμα το οποίο να τραβάει την προσοχή
Κακόβουλο λογισμικό
Φάσεις ιών Δομή
Φάση ύπνωσης – Ο ιός ενός ιού
είναι αδρανής
Φάση διάδοσης - Ο ιός
τοποθετεί ένα ακριβές
αντίγραφό του σε άλλα
προγράμματα
Φάση πυροδότησης –
Ο ιός ενεργοποιείται για
να εκτελέσει τη λειτουργία
για την οποία προοριζόταν
Φάση εκτέλεσης –
Εκτελείται η λειτουργία
Κακόβουλο λογισμικό
Σκουλήκια (worms)
Διαφορά μεταξύ ιού και σκουληκιού: Το worm δεν χρειάζεται να
επισυνάπτεται σε άλλο (host) πρόγραμμα. Είναι αυτόνομο.
H ζημιά που προκαλείται από ιό είναι κυρίως τοπική (σε μια μηχανή). Το
warm αυτό-εξαπλώνεται
Το σκουλήκι του Internet (1998)
Βασίζεται σε κενά ασφάλειας στο BSD UNIX
Αρχικά δοκίμαζε να εκτελεστεί με rsh (remote shell)
Μετά δοκίμαζε ένα σφάλμα υπερχείλισης στο finger
Τέλος δοκίμαζε ένα σφάλμα του sendmail
Το σκουλήκι εκτελούσε τον βασικό του κώδικα
Ο κώδικας αυτός κατέβαζε τον κυρίως κώδικα μέσω Internet
Μετά δοκίμαζε να σπάσει όσους κωδικούς μπορούσε
Με κάθε σπασμένο κωδικό δοκίμαζε να μπει με rsh αλλού
Αν έβρισκε αντίγραφό του σε μια μηχανή δεν έκανε νέο
Μία φορά στις οκτώ όμως, έκανε και νέο αντίγραφο
Τελικά το δίκτυο γέμισε σκουλήκια και κατέρρευσε
Η CERT δημιουργήθηκε για να μην ξανασυμβεί το ίδιο
Κακόβουλο λογισμικό
Σκουλήκια (worms)
Morris worm (1998).
1ος που έλαβε μεγάλη προβολή
Γράφτηκε από Robert Morris (PhD Cornell)
Υιός ενός chief scientist της NSA’s Security Center
Released με χρήση account φίλου του (MIT)
Γρήγορα εξαπλώθηκε (χρήση BSD fingerd και sendmail bugs)
Διάφορες καταστάσεις ενεργοποίησης
Εντατικό ψάξιμο σε αρχεία λειτουργικού για άλλους hosts προς
εξάπλωση
read file /.rhosts searching for other machines to break later
reads file /etc/passwd. publicly readable file. Contains a list of all the users
authorized to use a machine, along with their encrypted passwords.
Cracks passwords
www.snowplow.org/tom/worm/worm.html
The Melissa Worm (1999):
Microsoft Word / Outlook
Κακόβουλο λογισμικό
Σκουλήκια (worms). Morris worm (1998).
Κακόβουλο λογισμικό
Σκουλήκια (worms). Morris worm (1998).
Δύο Μέρη
Main program
Διάδοση worm.
Αναζήτηση άλλων υπολογιστών που θα μπορούσαν να γίνουν infected
Εύρεση τρόπων για διείσδυση αυτών των υπολογιστών
Vector program (99 lines of C)
Compiled & run σε infected υπολογιστές
Forks child για συνέχιση του infection
Ο Parent προσπαθεί να βρεί new hosts
Ενδιαφέρουσες πρωτοτυπίες
Self-hiding
Worm Program is shown as 'sh' when ps
Κακόβουλο λογισμικό
Σκουλήκια (worms)
Morris worm (1998).
Vector program (99 lines of C)
Finger output
Vector 1. Debugfinger
feature
arthur.cs.purdue.edu% of sendmail
ninghui
Login Sendmail
name: Listens on portIn25
ninghui (SMTP
real port) Li
life: Ninghui
Directory: /homes/ninghui Shell: /bin/csh
Ορισμένα συστήματα της τότε εποχής ήταν compiled με το DEBUG
option
Since Sep on
28 14:36:12 on pts/15 from csdhcp-120-173 (9 seconds idle)
Newmail received
Debug Tue Sep
feature δίνει28δυνατότητα
14:36:04 2015;
αποστολής shell script και execute on
unreadthe
since Tue Sep 28
targeted host 14:36:05 2015
Κακόβουλο λογισμικό
Σκουλήκια (worms)
MyDoom worm (2004)
26 January 2004:
On 1 February 2004, about 1 million computers infected with Mydoom
begin a massive DDoS attack
Τρόποι άμυνας
Τρόποι άμυνας
Αποφυγή ιών
Οι χρήστες πρέπει να προσέχουν τι κάνουν
Προτιμάμε τα ασφαλή λειτουργικά συστήματα
Πρέπει να διακρίνουν κατάσταση χρήστη και πυρήνα
Ο πυρήνας πρέπει να είναι όσο γίνεται μικρός
Εγκαθιστούμε μόνο λογισμικό από αξιόπιστες πηγές
Χρησιμοποιούμε και ενημερώνουμε το αντιβιοτικό μας
Δεν ανοίγουμε συνημμένα αρχεία με ενεργό περιεχόμενο
Απενεργοποιούμε μακροεντολές
Παίρνουμε συχνά αντίγραφα ασφαλείας
Κρατάμε περισσότερα από ένα
Αλλιώς μπορεί να είναι μολυσμένο και το αντίγραφο
Δεν εκτελούμε λογισμικό από άγνωστες πηγές
Κλασική μέθοδος διανομής ιών
Τρόποι άμυνας
Παραπλανητικός Κώδικας
Megasoft = MS (Λειτουργικό μας)
Third Trusted Party entity = TTP υπογράφει ψηφιακά τα νόμιμα προγράμματα P=p.exe
Δημιουργός του P=p.exe
S=EKRttp(H(P))||P’
DKUttp(EKRttp(H(P))=H(P)=h1
H(P’) = h2
if h1 == h2 τότε εγκατάσταση ή εκτέλεση του P’
Τρόποι άμυνας
Ανίχνευση εισβολής με βάση μοντέλο
Υλοποιείται από συστήματα IDS
Έχουμε ήδη αναφέρει τα IDS
Παράδειγμα: στατική ανίχνευση εισβολής με βάση μοντέλο
Κάθε πρόγραμμα μοντελοποιείται με έναν γράφο κλήσεων
Ο γράφος παράγεται από τον μεταγλωττιστή
Ο γράφος καθορίζει ορισμένες ακολουθίες κλήσεων
Ο δεσμοφύλακας ελέγχει αν ακολουθείται κάποια από αυτές
Αν έχουμε υπερχείλιση ή ιό, η ακολουθία αλλάζει
Ο δεσμοφύλακας εντοπίζει το πρόβλημα
Δοχείο μελιού (honeypot)
Σύστημα ελάχιστα προστατευμένο με «ενδιαφέρον» περιεχόμενο
Τοποθετείται επίτηδες στο δίκτυο για να δεχτεί επιθέσεις
Το σύστημα IDS μελετάει έτσι τους επιτιθέμενους
Τρόποι άμυνας
Τρόποι άμυνας
Αμμοπαγίδα (sandbox)
Ο κώδικας ελέγχεται εν μέρει στατικά
Οι απόλυτες διευθύνσεις πρέπει να είναι μέσα στις αμμοπαγίδες
Ορισμένα σημεία όμως πρέπει να ελέγχονται δυναμικά
Εντολές με σχετικές διευθύνσεις (με βάση τον PC)
Προσθήκη κώδικα ελέγχου πριν από κάθε αναφορά
Χρειάζονται δύο καταχωρητές δεσμευμένοι από το σύστημα
Αντιγραφή διεύθυνσης σε καταχωρητή ελέγχου 1
Απομόνωση του προθέματος με ολίσθηση
Σύγκριση με πρόθεμα στον καταχωρητή ελέγχου 2
Αν δεν ταιριάζει, παγίδευση της αναφοράς
Οι κλήσεις συστήματος ελέγχονται από τον ελεγκτή αναφορών
Εισαγωγή κώδικα μαζί με τον κώδικα ελέγχου διευθύνσεων
Χρήση αρχείου διευθέτησης για το τι επιτρέπεται να εκτελεστεί
Τρόποι άμυνας
Αμμοπαγίδα (sandbox)
Κάθε περιοχή έχει διευθύνσεις με ένα κοινό πρόθεμα
Παράδειγμα: διαίρεση 256 ΜΒ σε 8 περιοχές των 32 MB
Αμμοπαγίδα (sandbox)
Sandboxie
Κατεβάσαμε ένα εκτελέσιμο αρχείο από το δίκτυο. Δεν το
εμπιστευόμαστε.
Το dnadbox Εκτελεί οτιδήποτε επιλέξουμε στο «απομονωμένο”
περιβάλλον
Δεν μπορεί να κάνει μόνιμες αλλαγές στο σύστημα
Συνδυάζεται με Buster Sandbox Analyzer
Ελέγχει το περιβάλλον που δημιουργεί το sandboxie για αλλαγές που
προκύπτουν μετά την εκτέλεση οποιουδήποτε προγράμματος.
Κακόβουλο λογισμικό
Ransomware (λυτρολογισμικό)
Πρόγραμμα που κρατάει ένα σύστημα υπολογιστή, ή τα δεδομένα
που περιέχει, ως όμηρο εναντίον του χρήστη του ζητώντας λύτρα.
Απενεργοποιεί μια βασική υπηρεσία συστήματος ή Κλειδώνει την οθόνη κατά
την εκκίνηση του συστήματος (Locker ransomware)
Κρυπτογραφεί ορισμένα από τα προσωπικά αρχεία του χρήστη (Crypto
ransomware)
υποκλέπτει δεδομένα, τα οποία, όμως απειλεί ότι θα κοινοποιήσει ή κοινοποιεί
σταδιακά (Leakware/Doxware)
Web Server Encrypting Ransomware Κρυπτογραφεί δεδομένα στο site.
Αναφέρονται ως cryptoviruses, cryptotrojans or cryptoworms
Ο χρήστης θύμα
πρέπει να εισάγει έναν κωδικό που θα λάβει μόνο μετά την πληρωμή του
εισβολέα
Ή να αγοράσει ένα εργαλείο αποκρυπτογράφησης ή αφαίρεσης
Κακόβουλο λογισμικό
Ransomware (λυτρολογισμικό)
Κακόβουλο λογισμικό
Ransomware (λυτρολογισμικό)
TrendMicro analysis
Κακόβουλο λογισμικό
Ransomware (λυτρολογισμικό)
Εργαλεία Ransomware:
Reveton, CryptoLocker, TorrentLocker, CryptoWall, WannaCry, Petya, Bad
Rabbit, SamSam, DarkSide, Alcatraz Locker, Ransom.Crysis, Stampado,
Legion
Cryptolocker
propagated using the Gameover ZeuS.
Encrypts certain types of files stored on local drives usin RSA public-key cryptography The
private key stored only on the malware's control servers.
Offers to decrypt the data if a payment is made by a stated deadline.
Ransomware-as-a-service (RaaS): Russia-based group Revil
In May 2015 Macfee found the Tox site on the ‘dark web’.
Used Tor / Registration was free, and payments to BitCoin address to receive payment.
Executable created for distribution.
20% cut from any extorted profits.
Κακόβουλο λογισμικό
Rootkits
Πρόγραμμα που επιτρέπει τη συνεχή προνομιακή πρόσβαση σε έναν
υπολογιστή, ενώ αποκρύπτει ενεργά την παρουσία του από τους
διαχειριστές, ανατρέποντας την τυπική λειτουργικότητα του
λειτουργικού συστήματος ή άλλες εφαρμογές.
hiding processes, files, opened network connections, etc
User-level rootkits
Αντικατάσταση utilities όπως ps, ls, ifconfig
Ανιχνεύσιμο πχ από το tripwire
Rootkit υπερεπόπτη (root)
Εκτελεί το κανονικό λειτουργικό σύστημα ως root
Κακόβουλο λογισμικό
Rootkits
Rootkit πυρήνα (kernel)
Κρύβεται σε οδηγό συσκευής ή μέρος του πυρήνα
Αντικαθιστά key kernel functions
Συνηθισμένη μορφή. Εξαιτίας Loadable Kernel Modules (LKMs)
LKMs – Linux – δίνει σε loadable drivers ευελιξία. Αλλά επιτρέπει σε maliciously
written kernel module να ανατρέψει ολόκληρο τον πυρήνα του λειτουργικού
συστήματος
Σύγχρονη Άμυνα: υπογραφή προγράμματος οδήγησης πυρήνα (στα
Windows 64-bit)
κοινή στρατηγική ανίχνευσης: σύγκριση της προβολής που προκύπτει με
την απαρίθμηση των δομών δεδομένων του πυρήνα με αυτήν που
λαμβάνεται από τη διεπαφή API
Bootkit (variant of kernel-level rootkit)
Αντικατάσταση boot loader (master boot record)
Χρήση για επίθεση σε full disk encryption key
Ο κακόβουλος boot loader μπορεί να υποκλέψει κλειδιά κρυπτογράφησης ή να
απενεργοποιήσει την απαίτηση για kernel-driver signing
Κακόβουλο λογισμικό
Rootkits
Έστω mal_code.exe stored in c:/winnt/apps.
Κακόβουλο λογισμικό
Rootkits
Έστω mal_code.exe stored in c:/winnt/apps.
Κακόβουλο λογισμικό
TDSS Rootkits
Όνομα οικογένειας από rootkits, TDL-1 έως TDL-4
https://securelist.com/tdss/36314/
TDL-1 (Rootkit.Win32.Clbd.a.): Στόχος: Απόκρυψή του
Εγκατέστησε κώδικα φιλτραρίσμαρος στη στοίβα των device drivers
που σχετίζονται με την πρόσβαση σε συσκευές δίσκου. Τα φίλτρα
αποθέτουν αναφορές σε αρχεία με ονόματα που ξεκινούν με TDL
Έκρυψε τιμές μητρώου (Registry) τροποποιώντας τη συνάρτηση
NTEnumerateKey, που χρησιμοποιείται για listing των keys στο μητρώο
Αντικατέστησε τα πρώτα bytes της NTEnumerateKey με εντολή
άλματος μεταφοράς προς τη συνάρτηση rootkit, η οποία παραλείπει τα
rootkit registry keys πριν επιστρέψει έλεγχο σε κανονική λειτουργία
TDL-2: Στόχος: Κρυπτογράφησή του
ο ίδιος ο κώδικας επισκιάστηκε από κρυπτογράφηση και επένδυση
padding
Κακόβουλο λογισμικό
TDSS Rootkits
Όνομα οικογένειας από rootkits, TDL-1 έως TDL-4
TDL-3: Στόχος: Δικό του σύστημα αρχείων
Ανεξάρτητο από λειτουργίες των Windows για τη διαχείριση αρχείων.
Το rootkit συνδέθηκε με το atapi.sys, το πρόγραμμα οδήγησης για
μονάδες σκληρού δίσκου IDE
Δημιουργήθηκε C&C Cetner με το οποίο το rootkit επικοινωνεί για να
λαμβάνει αναθέσεις εργασίας και να επιστρέφει αποτελέσματα
Oι ελεγχόμενοι Η/Υ ενοικιάζονται για spam, κλοπή δεδομένων κοκ
TDL-4: Στόχος: Παρακάμπτει νέες τεχνικές ασφαλείας της Microsoft
Το λογισμικό Windows 64 bit της Microsoft εφάρμοσε κρυπτογραφία:
κάθε πρόγραμμα οδήγησης έχει ψηφιακή υπογραφή. Επιτρέπει
επαλήθευση πηγής και ακεραιότητα κώδικα κάθε φορά που ο κώδικας
είναι να φορτωθεί (πχ εκκίνηση του συστήματος)
TDL-4 αλλάζει τιμή διαμόρφωσης συστήματος LoadIntegrityCheckPolicy
έτσι ώστε το μη υπογεγραμμένο rootkit να φορτώνεται χωρίς έλεγχο
Κακόβουλο λογισμικό
Rootkits
Εντοπισμός rootkit : πολύ δύσκολα στον εντοπισμό
Είναι εντελώς αόρατα στο εκτελούμενο λειτουργικό σύστημα
Η συμπεριφορά τους όμως αποκλίνει από αυτή της μηχανής
Οι προνομιούχες εντολές είναι πιο αργές λόγω προσομοίωσης
Τα rootkit πυρήνα εντοπίζονται με εκκίνηση από
USB/CD/DVD
Σάρωση αρχείων για περίεργες αλλαγές. Συγκρίνονται τα αθροίσματα
ελέγχου τους. Θα πρέπει να έχουν αποθηκευτεί τα σωστά αθροίσματα
με την εγκατάσταση
Άλλο detection strategy: Σύγκριση στοιχείων από kernel data
structures με εκείνα που προκύπτουν από API interface [sony case]
Memory dumps. Ωθείς σε εξαναγκασμένη απόρριψη της εικονικής
μνήμης και συλλαμβάνεις ένα ενεργό rootkit. Then Digital Forencics
Rootkits - Κατασταλτικά Μέτρα
Cryptographically Signed Kernel Modules (Microsoft)
Κακόβουλο λογισμικό
Εντοπισμός rootkit
rkhunter (Rootkit Hunter)
GMER for windows OS
Trend Micro RootkitBuster
Norton Power Eraser
chkrootkit (Check Rootkit)
avast! ANTIROOTKIT
Bitdefender Removal Tool / Rootkit Remover
Kaspersky TDSSKiller
Malwarebytes Anti-Rootkit
KSTAT (Kernel Security Therapy Anti-Trolls).
http://www.s0ftpj.org/tools/kstat.tgz
Large collection of rootkits
http://packetstorm.securify.com/UNIX/penetration/rootkits/
Knark
Adore
TDSS family of rootkits
Ασφάλεια Δικτύων
Φροντιστήριο2022-23
NMAP & SNORT
“Network Mapper” (nmap)
• Definition
• A powerful utility for network exploration or security
auditing. Is used to discover computers and services on a
computer network, thus creating a "map" of the network.
• History
• First release: September 1, 1997 in Phrack Magazine -
“The Art of Portscanning”
• written by Gordon Lyon
• Current Version: 7.70
NMAP is…
• Flexible
• Supports advanced techniques for mapping out networks
filled with
• IP filters,
• firewalls,
• Routers etc.
• Includes
• Several port scanning mechanisms (both TCP & UDP),
• OS Detection,
• version Detection
• ping sweeps etc
NMAP Package
• Nmap
• command-line executable
• Zenmap
• advanced GUI and results viewer
• Ncat
• data transfer, redirection, and debugging tool
• Ndiff
• utility for comparing scan results
Target Specification
• Classless Inter-Domain Routing(CIDR) addressing
• IP Address format:
• two groups
• most significant part : network address - identifies a whole network or subnet
• least significant portion :host identifier - particular host interface on that network
• Examples:
• 192.168.1.0/24 - Scan: 192.168.1.0 till 192.168.1.255
• 192.168.1.40/16 - Scan: 192.168.0.0 till 192.168.255.255
• 132.18.3.210/32 - Scan: ???
• 78.184.23.1/0 - Scan: ???
• 210.43.1-255.4-140 - Scan: ???
Host Discovery
• List Scan (-sL)
• lists each host of the network specified, without sending any packets to the
target hosts
• nmap -sL gov.gr
Host Discovery
• No Ping (-Pn)
• Performs port scanning without checking if host is up.
• nmap -PN 192.168.1.1
Host Discovery
• TCP ACK Ping (-PA)
• Sends an empty TCP packet with the ACK flag set
• Such an ACK packet purports to be acknowledging
data over an established TCP connection, but no
such connection exists
• If destination host is alive-> RST (reset) packet sent
back
Host Discovery
• ARP Ping (-PR)
• Sends an ARP Request
• If ARP response -> Host is alive
• ICMP Ping (-PE)
• Sends an ICMP type 8 (echo request) packet
• If ICMP response type 0 (echo reply) -> Host is alive
• IP Protocol Ping (-PO)
• Sends IP packets with the specified protocol number set in their IP header. E.g.
• ICMP (protocol 1)
• IGMP (protocol 2)
• IP-in-IP (protocol 4)
• Response:
• If protocol supported, responses using the same protocol as a probe
• If protocol not supported, ICMP protocol unreachable messages
Port Scanning
• TCP SYN Scan (-sS)
• Sends a TCP packet with the SYN flag set
• The SYN flag suggests to the remote system that you
are attempting to establish a connection.
• RST (reset) packet sent back -> dest. port closed
• SYN/ACK TCP packet is sent back -> dest. port open
• RST is sent in return from Nmap
• If no response is received -> port is marked as filtered
• ICMP unreachable -> port is marked as filtered
Port Scanning
• TCP Window scan (-sW)
• exactly the same as ACK scan
• exams the TCP Window field of the RST packets returned.
• open ports use a positive window size
• closed ports have a zero window
Port Scanning
• UDP scans (-sU)
• Sends UDP packets
• For known protocol ports, protocol-specific payload is sent
• DNS port 53
• SNMP ports 161/162
• DHCP ports 67/68
• For the rest, an empty payload is sent
• Return value
• ICMP port unreachable
• Port is closed
• other types of ICMP errors
• Port is filtered
• UDP packet
• Port is open
OS Detection
• Enable OS detection (-O)
• Nmap compares the scan results against known OS fingerprints.
• Each fingerprint includes
• a freeform textual description of the OS
• a classification which provides
• the vendor name (e.g. Sun),
• underlying OS (e.g. Solaris),
• OS generation (e.g. 10),
• device type
• general purpose router
• Switch
• game console
Τι είναι το SNORT;
• NIDS: Network Intrusion Detection System (NIDS) είναι ένα
σύστημα εντοπισμού εισβολέων το οποίο προσπαθεί να εντοπίσει
κακόβουλη δραστηριότητα όπως επιθέσεις DOS, port scans ή ακόμα
και προσπάθειες παραβίασης υπολογιστικών συστημάτων
παρακολουθώντας τη κίνηση του δικτύου.
• Snort: είναι ένα open source Network Intrusion Prevention and
Detection System. Χρησιμοποιεί μία λογική κανόνων συνδυάζοντας
υπογραφές, πρωτόκολλο και μεθόδους εντοπισμού ανώμαλης
συμπεριφοράς
• Σε κάθε εξυπηρετητή
• Παρακολούθηση εξυπηρετητών με βάση τη λειτουργικότητά τους.
• Χρήση συγκεκριμένων κανόνων για κάθε εξυπηρετητή.
Detection Engine
※Πληροφορίες που χρειάζεται το detection engine:
• Την IP επικεφαλίδα του πακέτου
• Την επικεφαλίδα του transport layer. TCP, UDP, ICMP κ.α.
• Την επικεφαλίδα του application layer. DNS, FTP, SNMP, SMTP κ.α.
• Το περιεχόμενο (payload) του πακέτου.
※ Πως λειτουργεί?
Εφαρμογή των κανόνων στα πακέτα εφαρμόζοντας τον αλγόριθμο αντιστοίχισης
συμβολοσειρών (string matching) Boyer-Moore
※ Προϋποθέσεις:
1. Χρονικά κρίσιμο
2. Γρήγορος εντοπισμός
Κανόνες
• Σε μία γραμμή
• Οι κανόνες δημιουργούνται από γνωστές υπογραφές επιθέσεων.
• Συνήθως βρίσκονται στο snort.conf
Παράδειγμα κανόνα
Κανόνες SNORT
• Protocol:
• Τύπος του πρωτοκόλλου που ανήκει το πακέτο προς εντοπισμό (icmp, ip,
udp, tcp).
• Source IP:
• Η IP του αποστολέα του πακέτου μαζί με την μάσκα δικτύου.
• Η τιμή «any», αντιπροσωπεύει οποιαδήποτε διεύθυνση.
• Source Port:
• Η port από την οποία έγινε η αποστολή του πακέτου (έχει νόημα για udp και
tcp πακέτα).
• Η τιμή «any» αντιπροσωπεύει οποιοδήποτε port.