Ασφάλεια Υπολογιστικών Συστημάτων

Σχετικά έγγραφα
Εισαγωγή στην Διοίκηση Επιχειρήσεων

Ασφάλεια Υπολογιστικών Συστημάτων

Ασφάλεια Υπολογιστικών Συστημάτων

Λογιστική Κόστους Ενότητα 12: Λογισμός Κόστους (2)

Ασφάλεια Υπολογιστικών Συστημάτων

Ασφάλεια Υπολογιστικών Συστημάτων. Ενότητα 9: Intrusion Detection Systems - Netfilter (Μέρος 1) Νικολάου Σπύρος Τμήμα Μηχανικών Πληροφορικής ΤΕ

Λογιστική Κόστους Ενότητα 8: Κοστολογική διάρθρωση Κύρια / Βοηθητικά Κέντρα Κόστους.

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Ειδικά Θέματα Δικτύων ΙΙ

Διοίκηση Εξωτερικής Εμπορικής Δραστηριότητας

Εισαγωγή στους Αλγορίθμους

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Σχεδίαση Δικτύων Υπολογιστών

Ειδικά Θέματα Δικτύων Ι

Ασφάλεια Υπολογιστικών Συστημάτων. Ενότητα 10: Intrusion Detection Systems - Netfilter (Μέρος 2) Νικολάου Σπύρος Τμήμα Μηχανικών Πληροφορικής ΤΕ

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Βάσεις Δεδομένων. Ενότητα 1: Εισαγωγή στις Βάσεις δεδομένων. Πασχαλίδης Δημοσθένης Τμήμα Ιερατικών σπουδών

Εισαγωγή στους Αλγορίθμους

Ειδικά Θέματα Δικτύων ΙΙ

Ασφάλεια Υπολογιστικών Συστημάτων

Λογιστική Κόστους Ενότητα 11: Λογισμός Κόστους (1)

Λογιστική Κόστους Ενότητα 10: Ασκήσεις Προτύπου Κόστους Αποκλίσεων.

Θερμοδυναμική. Ανοικτά Ακαδημαϊκά Μαθήματα. Πίνακες Νερού σε κατάσταση Κορεσμού. Γεώργιος Κ. Χατζηκωνσταντής Επίκουρος Καθηγητής

Λογιστική Κόστους Ενότητα 11: Λογισμός Κόστους

Ειδικά Θέματα Δικτύων ΙΙ. Ενότητα 7: Δρομολόγηση κατάστασης ζεύξης (Μέρος 1) Νικολάου Σπύρος Τμήμα Μηχανικών Πληροφορικής ΤΕ

Ειδικά Θέματα Δικτύων Ι

Μεθοδολογία Έρευνας Κοινωνικών Επιστημών Ενότητα 2: ΣΥΓΚΕΝΤΡΩΣΗ ΠΛΗΡΟΦΟΡΙΩΝ ΜΑΡΚΕΤΙΝΓΚ Λοίζου Ευστράτιος Τμήμα Τεχνολόγων Γεωπόνων-Kατεύθυνση

Εισαγωγή στους Αλγορίθμους

Οργάνωση και Διοίκηση Πωλήσεων

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Ειδικά Θέματα Δικτύων Ι

Ειδικά Θέματα Δικτύων ΙΙ. Ενότητα 8: Δρομολόγηση κατάστασης ζεύξης (Μέρος 2) Νικολάου Σπύρος Τμήμα Μηχανικών Πληροφορικής ΤΕ

Σχεδίαση Δικτύων Υπολογιστών

Διοικητική Λογιστική

Ειδικά Θέματα Δικτύων Ι

ΗΛΕΚΤΡΟΤΕΧΝΙΑ-ΗΛΕΚΤΡΟΝΙΚΗ ΕΡΓΑΣΤΗΡΙΟ

ΣΥΣΤΗΜΑΤΑ ΗΛΕΚΤΡΙΚΗΣ ΕΝΕΡΓΕΙΑΣ ΙIΙ

ΣΥΣΤΗΜΑΤΑ ΗΛΕΚΤΡΙΚΗΣ ΕΝΕΡΓΕΙΑΣ ΙIΙ

ΣΥΣΤΗΜΑΤΑ ΗΛΕΚΤΡΙΚΗΣ ΕΝΕΡΓΕΙΑΣ ΙIΙ

ΟΙΚΟΝΟΜΕΤΡΙΑ. Ενότητα 3: Πολλαπλή Παλινδρόμηση. Αναπλ. Καθηγητής Νικόλαος Σαριαννίδης Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

ΑΝΑΛΥΣΗ ΧΡΗΜΑΤΟΟΙΚΟΝΟΜΙΚΩΝ ΚΑΤΑΣΤΑΣΕΩΝ

ΑΝΤΙΡΡΥΠΑΝΤΙΚΗ ΤΕΧΝΟΛΟΓΙΑ ΑΙΩΡΟΥΜΕΝΩΝ ΣΩΜΑΤΙΔΙΩΝ Ενότητα 2: Αιωρούμενα σωματίδια & Απόδοση συλλογής Αν. Καθ. Δρ Μαρία Α. Γούλα Τμήμα Μηχανικών

Μηχανολογικό Σχέδιο Ι

Σχεδίαση Δικτύων Υπολογιστών

Τίτλος Μαθήματος: Μαθηματική Ανάλυση Ενότητα Γ. Ολοκληρωτικός Λογισμός

ΗΛΕΚΤΡΟΤΕΧΝΙΑ-ΗΛΕΚΤΡΟΝΙΚΗ ΕΡΓΑΣΤΗΡΙΟ

Ενότητα. Εισαγωγή στις βάσεις δεδομένων

Προγραμματισμός H/Y Ενότητα 5: Συναρτήσεις. Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

ΟΙΚΟΝΟΜΕΤΡΙΑ. Ενότητα 1: Εκτιμητές και Ιδιότητες. Αναπλ. Καθηγητής Νικόλαος Σαριαννίδης Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

Προγραμματισμός H/Y Ενότητα 4: Δείκτες. Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

Οργάνωση και Διοίκηση Πωλήσεων Ενότητα 1: Ο ΡΟΛΟΣ ΤΩΝ ΠΩΛΗΣΕΩΝ ΣΤΟ ΠΛΑΙΣΙΟ ΤΗΣ ΣΤΡΑΤΗΓΙΚΗΣ ΜΑΡΚΕΤΙΝΓΚ

Εισαγωγή στους Αλγορίθμους Ενότητα 9η Άσκηση - Αλγόριθμος Kruskal

Εισαγωγή στους Αλγορίθμους Ενότητα 9η Άσκηση - Αλγόριθμος Prim

Τεχνολογία Πολυμέσων. Ενότητα 8: Pool Table. Νικολάου Σπύρος Τμήμα Μηχανικών Πληροφορικής ΤΕ

Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Αθήνας. Βιοστατιστική (Ε) Ενότητα 3: Έλεγχοι στατιστικών υποθέσεων

Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Αθήνας. Βιοστατιστική (Ε) Ενότητα 1: Καταχώρηση δεδομένων

Προγραμματισμός H/Y Ενότητα 6: Δομές (structures) Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

Λογιστική Κόστους. Ενότητα 4: ΣΥΜΠΕΡΙΦΟΡΑ - ΦΥΣΗ ΚΟΣΤΟΥΣ. Μαυρίδης Δημήτριος Τμήμα Λογιστικής και Χρηματοοικονομικής

Εκκλησιαστικό Δίκαιο. Ενότητα 10η: Ιερά Σύνοδος της Ιεραρχίας και Διαρκής Ιερά Σύνοδος Κυριάκος Κυριαζόπουλος Τμήμα Νομικής Α.Π.Θ.

Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Αθήνας. Βιοστατιστική (Ε) Ενότητα 2: Περιγραφική στατιστική

Συστήματα Αναμονής. Ενότητα 5: Ανέλιξη Poisson. Αγγελική Σγώρα Τμήμα Μηχανικών Πληροφορικής ΤΕ

Εισαγωγικές έννοιες θεωρίας Συστημάτων Αυτομάτου Ελέγχου

Εισαγωγή στους Αλγορίθμους Ενότητα 10η Άσκηση Αλγόριθμος Dijkstra

ΗΛΕΚΤΡΟΤΕΧΝΙΑ-ΗΛΕΚΤΡΟΝΙΚΗ ΕΡΓΑΣΤΗΡΙΟ

Διοίκηση Εξωτερικής Εμπορικής Δραστηριότητας

Στατιστική Ι. Ενότητα 3: Στατιστική Ι (3/4) Αναπλ. Καθηγητής Νικόλαος Σαριαννίδης Τμήμα Διοίκησης Επιχειρήσεων (Κοζάνη)

ΗΛΕΚΤΡΟΤΕΧΝΙΑ-ΗΛΕΚΤΡΟΝΙΚΗ ΕΡΓΑΣΤΗΡΙΟ

Διδακτική της Πληροφορικής

Snort. A multi-mode packet analysis tool 3-1. Ασφάλεια Δικτύων, Τμήμα Πληροφορικής, Ο.Π.Α.,

Θερμοδυναμική. Ανοικτά Ακαδημαϊκά Μαθήματα. Πίνακες Νερού Υπέρθερμου Ατμού. Γεώργιος Κ. Χατζηκωνσταντής Επίκουρος Καθηγητής

Εισαγωγή στους Αλγορίθμους Φροντιστήριο 1

Εισαγωγή στους Υπολογιστές

Λογιστική Κόστους Ενότητα 5: Προορισμός Κόστους

Οικονομετρία Ι. Ενότητα 3: Θεώρημα των Gauss Markov. Δρ. Χαϊδώ Δριτσάκη Τμήμα Λογιστικής & Χρηματοοικονομικής

Τεχνολογία Πολυμέσων. Ενότητα4: Επεξεργασία Βίντεο - Avidemux. Νικολάου Σπύρος Τμήμα Μηχανικών Πληροφορικής ΤΕ

Συστήματα Αναμονής. Ενότητα 3: Στοχαστικές Ανελίξεις. Αγγελική Σγώρα Τμήμα Μηχανικών Πληροφορικής ΤΕ

Στατιστική Ι. Ενότητα 2: Στατιστική Ι (2/4) Αναπλ. Καθηγητής Νικόλαος Σαριαννίδης Τμήμα Διοίκησης Επιχειρήσεων (Κοζάνη)

Διεθνείς Οικονομικές Σχέσεις και Ανάπτυξη

Εργαστήριο ήπιων μορφών ενέργειας

Ιστορία της μετάφρασης

Ηλεκτροτεχνία ΙΙ. Ενότητα 2: Ηλεκτρικά κυκλώματα συνεχούς ρεύματος. Δημήτρης Στημονιάρης, Δημήτρης Τσιαμήτρος Τμήμα Ηλεκτρολογίας

Μεθοδολογία Έρευνας Κοινωνικών Επιστημών

Ειδικά Θέματα Δικτύων ΙΙ

Συστήματα Αναμονής. Ενότητα 6: Θεωρία Ουρών. Αγγελική Σγώρα Τμήμα Μηχανικών Πληροφορικής ΤΕ

Προγραμματισμός H/Y Ενότητα 3: Πίνακες αριθμών και χαρακτήρων. Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

Ειδικά Θέματα Δικτύων Ι

Δομές Δεδομένων Ενότητα 1

Βάσεις Δεδομένων. Ενότητα 5: ΚΑΝΟΝΙΚΟΠΟΙΗΣΗ ΒΑΣΗΣ ΔΕΔΟΜΕΝΩΝ. Πασχαλίδης Δημοσθένης Τμήμα Ιερατικών σπουδών

Συστήματα Αναμονής. Ενότητα 4: Αλυσίδες Markov. Αγγελική Σγώρα Τμήμα Μηχανικών Πληροφορικής ΤΕ

Εισαγωγή στην Διοίκηση Επιχειρήσεων

ΗΛΕΚΤΡΟΝΙΚΗ ΙIΙ Ενότητα 6

Νέες Τεχνολογίες και Καλλιτεχνική Δημιουργία

Διδακτική Πληροφορικής

Σχεδίαση Δικτύων Υπολογιστών

Εφαρμογές των Τεχνολογιών της Πληροφορίας και των Επικοινωνιών στη διδασκαλία και τη μάθηση

Μεθοδολογία Έρευνας Κοινωνικών Επιστημών Ενότητα 4: Πηγές Δεδομένων- Δευτερογενή Στοιχεία. Λοίζου Ευστράτιος Τμήμα Τεχνολόγων Γεωπόνων-Kατεύθυνση

Προγραμματισμός H/Y Ενότητα 2: Εντολές ελέγχου ροής. Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

Εκκλησιαστικό Δίκαιο

Transcript:

Ασφάλεια Υπολογιστικών Συστημάτων Ενότητα 8: Snort Νικολάου Σπύρος Τμήμα Μηχανικών Πληροφορικής ΤΕ

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύπου άδειας χρήσης, η άδεια χρήσης αναφέρεται ρητώς. 2

Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα. Το έργο «Ανοικτά Ακαδημαϊκά Μαθήματα στο TEI Δυτικής Μακεδονίας και στην Ανώτατη Εκκλησιαστική Ακαδημία Θεσσαλονίκης» έχει χρηματοδοτήσει μόνο τη αναδιαμόρφωση του εκπαιδευτικού υλικού. Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράμματος «Εκπαίδευση και Δια Βίου Μάθηση» και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εθνικούς πόρους. 3

Σκοποί ενότητας Αυτή η εργαστηριακή ενότητα πραγματεύεται ζητήματα σχετικά με την κρυπτογραφία με το Snort. 4

Περιεχόμενα ενότητας Περιγραφή. Snort. Snort vs tcpdump. Κανόνες Snort. Ασκήσεις. Βιβλιογραφία. 5

Snort

Περιγραφή (1/4) Στο τρίπτυχο δικτυακής ασφάλειας, τα προληπτικά αντίμετρα συμπληρώνονται από ανιχνευτικά αντίμετρα, με στόχο την αναγνώριση προσπαθειών ή περιστατικών εισβολής στο σύστημα. Τα συστήματα ανίχνευσης εισβολών διακρίνονται σε κατηγορίες ανάλογα με τη λειτουργία τους. Μία πρώτη κατηγοριοποίηση, διακρίνει τα συστήματα αυτά σε network-based, όταν στοχεύουν στην ανίχνευση εισβολών σε κάποιο υποδίκτυο ή στο σύνολο του δικτύου ενός πληροφοριακού συστήματος και σε host-based, όταν στοχεύουν στην προστασία ενός συγκεκριμένου μηχανήματος. 7

Περιγραφή (2/4) Τα πρώτα μπορούν να διακριθούν με τη σειρά τους σε τεχνολογίες βασισμένες σε: Υπογραφές, δηλαδή στην ανίχνευση κάποιας συγκεκριμένη ακολουθίας / μορφής στην επικεφαλίδα ή στο περιεχόμενο ενός δικτυακού πακέτου Αναγνώριση ανωμαλιών, δηλαδή γεγονότων ή <<συμπεριφορών>> της δικτυακής κίνησης, η οποία μπορεί να θεωρηθεί μη ομαλή, ανάλογα με τη λειτουργία κάθε δικτύου, όπως για παράδειγμα ιδιαίτερα αυξημένη δικτυακή κίνηση σε ώρες μη-αιχμής. Υβριδικά, τα οποία αποτελούν συνδυασμό των δύο. 8

Περιγραφή (3/4) Η σημαντικότερη παράμετρος στη λειτουργία των συστημάτων ανίχνευσης εισβολών, είναι η απόδοσή τους, όσο αναφορά την ικανότητα αυτών να ανιχνεύουν πραγματικά γεγονότα. Η ικανότητα αυτή, εξαρτάται τόσο από τη <<νοημοσύνη>> του συστήματος, όσο και από την ορθή παραμετροποίηση του, ανάλογα με τη φύση κάθε δικτύου. Εδώ εντοπίζεται και το σπουδαιότερο πρόβλημα των συστημάτων ανίχνευσης εισβολών, τα οποία χαρακτηρίζονται από σφάλματα με την ονομασία: False positives. 9

Περιγραφή (4/4) Τα τελευταία, οφείλονται στην εσφαλμένη ανίχνευση εισβολής, η οποία δημιουργεί συναγερμούς οι οποίοι όχι μόνο δεν ανταποκρίνονται στην πραγματικότητα, αλλά και δυσκολεύουν στην αναγνώριση των πραγματικών συναγερμών από το πλήθος των εσφαλμένων. Στο προηγούμενο εργαστήριο είχατε πάρει ήδη μια γεύση από ένα σύστημα ανίχνευσης εισβολών. Σε αυτό το εργαστήριο θα εξασκηθείτε στις βασικές λειτουργίες ενός νέου συστήματος ανίχνευσης εισβολών, που όμως παρέχει και επιπλέον λειτουργίες, με έμφαση στην παραμετροποίηση αυτού, ώστε να γίνει κατανοητή η θεωρία μέσα από την πράξη. 10

Snort (1/7) Το Snort (www.snort.org) είναι ένα πολύ γνωστό open source σύστημα για με σκοπό την αποφυγή αλλά και αναγνώριση των network intrusions (IDS/IPS) που κατασκευάστηκε από την SourceFire. Κατέχοντας έως και το 2011 εκατομμύρια downloads και περίπου 300,000 εγγεγραμμένους χρήστες, έχει γίνει το de facto standard για συστήματα IDS/IPS. Το Snort χρησιμοποιείται επιπλέον και για εκπαιδευτικούς σκοπούς σαν εργαλείο για την διδασκαλία θεμάτων ασφάλειας δικτύων. 11

Snort (2/7) Το βασικό στοιχείο του Snort αφορά στην δημιουργία κανόνων που καταγράφων επιθέσεις διαφόρων ειδών. Παρ όλο που υπάρχουν διαθέσιμα επίσημα ένα σύνολο από κανόνες στο επίσημο site του Snort, είναι προφανώς απαραίτητη η συνεχής δημιουργία νέων κανόνων για την αντιμετώπιση των νέων απειλών. Είναι επομένως σημαντικό να καταλαβαίνει κανείς αλλά και να μπορεί να δημιουργεί κανόνες για το Snort (Snort rules). 12

Snort (3/7) Επιπλέον από το επίσημο website του Snort, υπάρχουν και άλλες αξιόπιστες πηγές από όπου μπορεί κανείς να διδαχθεί τους κανόνες για το Snort. Για τον λόγο ότι οι κανόνες του Snort αποτελούν πρόκληση στο να τους μάθει και δημιουργήσει κανείς, έχουν δημιουργηθεί διάφορες εκδόσεις του Snort με GUI, για να διευκολύνουν την διαδικασία συγγραφής των κανόνων (π.χ. www.zeffie.com/cobalt_snort.html, http://sourceforge.net/projects/snortcenter2, http://andrew/cmu.edu/user/rdanyliw/snort/snortacid.ht ml). 13

Snort (4/7) Γενικά, ενώ υπάρχουν διάφορα tutorials για το πώς μπορεί κάποιος να μάθει να γράφει κανόνες στο Snort, έχει αποδειχθεί ότι για να εξεταστεί η ορθότητα ενός κανόνα είναι απαραίτητη η εφαρμογή του κανόνα σε μια πραγματική καταγραφή. Είναι γεγονός ότι «οι κανόνες πρέπει να εφαρμοστούν, αλλαχθούν, επαναεφαρμοστούν και επαν-αλλαχθούν έτσι ώστε να μειωθούν οι λανθασμένες ειδοποιήσεις». 14

Snort (5/7) To snort βασίζεται σε ένα σύνολο κανόνων, οι οποίοι χρησιμοποιούνται: Για την παρακολούθηση δικτυακής κίνησης. Την καταγραφή συμβάντων. Την παραγωγή συναγερμών (alerts). Το παρακάτω σχήμα παρουσιάζει μια τυπική αρχιτεκτονική ασφάλειας. 15

Snort (6/7) Εικόνα 1. Τοπολογία. Πηγή: Διδάσκων (2015). 16

Snort (7/7) Οι αισθητήρες του snort, παρακολουθούν τη δικτυακή κίνηση τόσο στην εξωτερική διεπαφή του firewall, όσο και στις εσωτερικές αυτού στην αποστρατικοποιημένη ζώνη (DMZ), όπου βρίσκεται ο κεντρικός server (web και mail) και στο εσωτερικό δίκτυo. 17

Snort vs tcpdump Το Snort είναι αισθητικά αρκετά παρόμοιο με το tcpdump που είδαμε στο εργαστήριο της προηγούμενης εβδομάδας με βασικότερη διαφορά το ότι επικεντρώνεται κυρίως στις εφαρμογές του packet sniffing στον τομέα της ασφάλειας. Το βασικό του χαρακτηριστικό το οποίο δεν υποστηρίζεται από το tcpdump είναι η δυνατότητα της παρακολούθησης του payload των πακέτων. Το Snort μπορεί να αποκωδικοποιήσει το επίπεδο εφαρμογής των πακέτων και υποστηρίζει κανόνες για την συλλογή πακέτων με βάση δεδομένα του επιπέδου εφαρμογής. 18

Κανόνες Snort (1/18) Οι κανόνες του Snort είναι σχετικά απλοί στο να τους γράψει κανείς αλλά αρκετά αποτελεσματικοί στο να ανιχνεύσουν εχθρικά ή απλά ύποπτα πακέτα. Ένας κανόνας του Snort αποτελείται από 2 λογικά μέρη το header και τα options του κανόνα. Το header (Εικόνα 1) ορίζει τα χαρακτηριστικά του πακέτου, καθώς επίσης και το πώς θα ανταποκριθεί το Snort στην περίπτωση που καταγραφεί κάποιο πακέτο με ίδια χαρακτηριστικά με αυτά που ορίζει ο κανόνας. Το πεδίο Action του header καθορίζει την αντίδραση του Snort σε περίπτωση καταγραφής πακέτου με τα χαρακτηριστικά του κανόνα. 19

Κανόνες Snort (2/18) Οι τιμές που μπορεί να λάβει το πεδίο Action είναι: alert: Δημιουργεί μια ειδοποίηση και καταγράφει το πακέτο. log: Καταγράφει το πακέτο. pass: Αγνοεί το πακέτο. activate: Δημιουργεί ειδοποίηση και στη συνέχεια ενεργοποιεί έναν άλλο dynamic κανόνα. 20

Κανόνες Snort (3/18) Οι τιμές που μπορεί να λάβει το πεδίο Action είναι (Συνέχεια): dynamic: Ο κανόνας παραμένει ανενεργός μέχρι να ενεργοποιηθεί δυναμικά και στη συνέχεια λειτουργεί σαν κανόνας log. drop: Παρεμποδίζει και καταγράφει το πακέτο. reject: Παρεμποδίζει και καταγράφει το πακέτο και στη συνέχεια απαντάει με ένα TCP reset ή ICMP port unreachable. sdrop: Παρεμποδίζει αλλά δεν καταγράφει το πακέτο. 21

Κανόνες Snort (4/18) Το Protocol αποτελεί το πρωτόκολλο των πακέτων που θέλουμε να καταγράψουμε. Οι τιμές που μπορεί να λάβει είναι TCP, UDP, ICMP ή IP. Source Address είναι η IP διεύθυνση του αποστολέα του πακέτου, Source Port είναι η θύρα του αποστολέα, το σύμβολο Direction ορίζει την κατεύθυνση της κίνησης του πακέτου από τον αποστολέα στον παραλήπτη, και Destination Address και Destination Port είναι η διεύθυνση και η θύρα του παραλήπτη αντίστοιχα. 22

Κανόνες Snort (5/18) Το πεδίο Direction μπορεί να πάρει 2 τιμές: την -> για μονόδρομη κίνηση και την «<>» για αμφίδρομη κίνηση. Για παράδειγμα το alert: alert tcp any any -> 10.1.1.0/24 79 Θα εμφανίσει ειδοποιήσεις για όλη την tcp κίνηση που προορίζεται για το port 79 του κλάσης C δικτύου 10.1.1. 23

Κανόνες Snort (6/18) Εικόνα 2. Το Header των κανόνων του Snort1. Πηγή: Διδάσκων (2015). Το πεδίο των options ενός κανόνα υπάρχει πάντα μέσα σε παρενθέσεις και ακολουθεί το header του κανόνα. Το πεδίο options ουσιαστικά μπορεί να υπάρχει σε οποιονδήποτε κανόνα και χρησιμοποιείται για να παραγάγει πιο περίπλοκες καταγραφές σε σχέση με τους κανόνες χωρίς options. 24

Κανόνες Snort (7/18) Για παράδειγμα το alert: alert tcp any any -> 10.1.1.0/24 80 (content: /cgi-bin/phf ; msg: PHF probe! ;) Επιδιώκει την αναγνώριση προσπαθειών απόκτησης πρόσβασης σε υπηρεσίες PHF σε οποιοδήποτε σύστημα του δικτύου 10.1.1.0/24. Σε περίπτωση που ένα τέτοιο πακέτο ανιχνευθεί από το Snort, θα δημιουργηθεί μια ειδοποίηση με το μήνυμα: PHF probe!. 25

Κανόνες Snort (8/18) Το πεδίο που προσδιορίζει το port (είτε source είτε destination) μπορεί να εκφραστεί και με ένα εύρος θυρών χρησιμοποιώντας το :. Για παράδειγμα για να καταγράψουμε όλα τα μηνύματα που προορίζονται προς ports στα οποία μπορεί να εκτελείται ένα X Windows Service (συνήθως πρόκειται για τις θύρες 6000 έως και 6010), μπορούμε να χρησιμοποιήσουμε τον κανόνα: alert tcp any any -> 10.1.1.0/24 6000:6010 (msg: X traffic ) 26

Κανόνες Snort (9/18) Τόσο οι θύρες όσο και οι διευθύνσεις IP μπορούν να χρησιμοποιηθούν με το σύμβολο! για να εκφράσουν εξαιρέσεις. Για παράδειγμα στον προηγούμενο κανόνα, αν θέλουμε να καταγράψουμε κίνηση X Windows από πηγές εκτός δικτύου μπορούμε να γράψουμε: alert tcp!10.1.1.0/24 any -> 10.1.1.0/24 6000:6010 (msg: X traffic ) 27

Κανόνες Snort (10/18) Το Snort υποστηρίζει τα παρακάτω (πιο σημαντικά) πεδία options. content: Ψάχνει στο payload του πακέτου για κάποιο συγκεκριμένο pattern. flags: Ελέγχει τα flags του πακέτου για συγκεκριμένα settings. ttl: Ελέγχει το πεδίο ttl του πακέτου IP. itype: Ελέγχει το πεδίο type του πακέτου ICMP. minifrag: Ελέγχει την τιμή του threshold για το IP fragment size. 28

Κανόνες Snort (11/18) id: Ελέγχει το πεδίο id του πακέτου IP. ack: Ελέγχει την επικεφαλίδα TCP για την τιμή πεδίου acknowledgment number. seq: Ελέγχει την επικεφαλίδα TCP για την τιμή πεδίου sequence number (αριθμός ακολουθίας). dsize: Ελέγχει το μέγεθος του payload του πακέτου. offset: Χρησιμοποιείται μαζί με το content option. Θέτει τον αριθμό του byte από το οποίο θα αρχίσει να ψάχνει για το συγκεκριμένο content. 29

Κανόνες Snort (12/18) depth: Χρησιμοποιείται μαζί με το content option. Θέτει τον αριθμό του byte μέχρι το οποίο θα συνεχίσει να ψάχνει για το συγκεκριμένο content. msg: Καθορίζει το μήνυμα που θα δημιουργηθεί σε περίπτωση που κάποιο πακέτο ενεργοποιήσει κάποιον από τους κανόνες. sid: Ένας μοναδικός αριθμός ταυτότητα που προσδιορίζει μοναδικά τον κάθε κανόνα του snort. Για τους κανόνες που θα χρησιμοποιούμε εμείς καλό θα είναι να χρησιμοποιείται sid >1000000. 30

Κανόνες Snort (13/18) Τα παραπάνω πεδία μπορούν να συνδυαστούν με οποιονδήποτε τρόπο. Το Snort αντιλαμβάνεται τα διάφορα options σε έναν κανόνα με την παρουσία ενός λογικού AND ανάμεσά τους. Θα πρέπει να ικανοποιηθεί το κάθε ένα από αυτά για κάποιο πακέτο έτσι ώστε να ενεργοποιηθεί ο κανόνας. Το Snort παρέχει την δυνατότητα της άμεσης δημιουργίας νέων κανόνων. Ως γνωστό, οι διάφορες επιθέσεις που μπορούν να πραγματοποιηθούν χαρακτηρίζονται από ένα και μοναδικό signature. 31

Κανόνες Snort (14/18) Αν γνωρίζουμε αυτό το signature είναι πολύ εύκολο να δημιουργήσουμε έναν κανόνα για να το αναγνωρίζει. Για παράδειγμα, στην Εικόνα 3 φαίνεται η καταγραφή ενός πακέτου IMAP buffer overflow. 32

Κανόνες Snort (15/18) Εικόνα 3. Η καταγραφή ενός πακέτου IMAP buffer flow. Πηγή: Διδάσκων (2015). 33

Κανόνες Snort (16/18) Το μοναδικό signature αυτής της επίθεσης στο επίπεδο εφαρμογής είναι το machine code πριν από το /bin/sh string. Χρησιμοποιώντας αυτή την πληροφορία μπορούμε εύκολα να δημιουργήσουμε έναν κανόνα: alert tcp any any -> 192.168.1.0/24 143 (content: E8C0 FFFF FF /bin/sh ; msg: New IMAP buffer Overflow detected! ) 34

Κανόνες Snort (17/18) Το πεδίο content του κανόνα περιέχει κείμενο τόσο σε δεκαεξαδική όσο και σε μορφή απλού κειμένου. Τα δεδομένα αυτά στη συνέχεια μετατρέπονται από το Snort σε δυαδική μορφή. Ένα άλλο παράδειγμα κανόνα που χρησιμοποιεί το flag option είναι το παρακάτω: alert tcp!172.16.210.0/24 any -> 172.16.210.0/24 any (flags: S; msg: SYN scan ;) 35

Κανόνες Snort (18/18) Στους κανόνες μπορείτε επιπλέον να χρησιμοποιείτε και μεταβλητές τις οποίες όμως θα πρέπει να έχετε εκ των προτέρων δηλώσει και αρχικοποιήσει. Για παράδειγμα: var HOMENET 192.168.1.0/24 alert tcp $HOMENET any -> any any Όπως φαίνεται και στο παράδειγμα, αφού δηλώσετε στην αρχή την μεταβλητή, μπορείτε στη συνέχεια να την χρησιμοποιήσετε αναφέροντας το όνομά της μετά από το σύμβολο $. 36

Ασκήσεις (1/9) Για την εκπόνηση αυτού του εργαστηρίου μπορείτε να κατεβάσετε την από την ηλεκτρονική τάξη το αρχείο clienttoolkit.msi. Πρόκειται για ένα εργαλείο που υλοποιεί σε ένα framework πολλά εργαλεία ασφάλειας δικτύων. Αφού το εγκαταστήσετε επιλέξτε το Snort (Εικόνα 1). Το περιβάλλον του Snort το οποίο θα χρησιμοποιήσουμε στα πλαίσια του εργαστηρίου φαίνεται στην Εικόνα 4. 37

Ασκήσεις (2/9) Εικόνα 4. Το περιβάλλον του Snort που θα χρησιμοποιήσουμε στο εργαστήριο. Πηγή: Διδάσκων (2015). 38

Ασκήσεις (3/9) Στο πεδίο Interface μπορείτε να επιλέξετε το interface το οποίο θέλετε να «παρακολουθεί» το snort. Επιλέγοντας αριστερά Show interf μπορείτε επιπλέον να δείτε τα διαθέσιμα network interfaces. Στο πεδίο Sample rule files μπορείτε να επιλέξετε από την λίστα το αρχείο με τους έτοιμους κανόνες του snort το οποίο επιθυμείτε να χρησιμοποιήσετε στην καταγραφή σας. Μπορείτε να επιλέξετε ένα αρχείο από εκεί και στη συνέχεια αν θέλετε να πατήσετε το View για να δείτε ή τροποποιήσετε τα περιεχόμενα του αρχείου. 39

Ασκήσεις (4/9) Προσπαθήστε για παράδειγμα να καταλάβετε τον κανόνα που υπάρχει στο αρχείο msn.rules. Για να δημιουργήσετε νέους κανόνες θα πρέπει είτε να τους προσθέσετε σε κάποιο από τα υπάρχοντα αρχεία.rules ή αλλιώς να φτιάξετε ένα νέο αρχείο με αυτούς (πάντα με κατάληξη.rules) το οποίο στη συνέχεια θα πρέπει να αποθηκεύσετε στον φάκελο rules που βρίσκεται στον φάκελο εγκατάστασης του προγράμματος (συνήθως στον C:/netwsimsToolkit/). Στη συνέχεια μπορείτε να εκτελέσετε μια καταγραφή και να δημιουργήσετε κατάλληλη κίνηση έτσι ώστε να ελέγξετε αν οι κανόνες λειτουργούν σωστά. 40

Ασκήσεις (5/9) Μπορείτε οποιαδήποτε στιγμή να δείτε τα alerts τα οποία έχουν δημιουργηθεί επιλέγοντας αριστερά «View alert.ids» ή και να «καθαρίσετε» τα καταγεγραμμένα alerts επιλέγοντας Delete alert.ids. Τέλος, μπορείτε οποιαδήποτε στιγμή να σταματήσετε την καταγραφή σας επιλέγοντας Stop Capture ή να την επανεκκινήσετε επιλέγοντας εκ νέου το interface που σας ενδιαφέρει από το πεδίο Interface. 41

Ασκήσεις (6/9) 1. Γράψτε έναν κανόνα ο οποίος θα ανιχνεύει ένα land attack. Χρησιμοποιήστε το λογισμικό frameip για να δημιουργήσετε την κατάλληλη κίνηση έτσι ώστε να επαληθεύσετε τον κανόνα σας 2. Γράψτε έναν κανόνα ο οποίος θα ανιχνεύει ένα smurf attack. Χρησιμοποιήστε τo λογισμικό frameip. 3. Γράψτε έναν κανόνα ο οποίος θα ανιχνεύει ένα ping death attack. Το ping death attack αποστέλλει icmp μηνύματα πολύ μεγάλου μεγέθους έτσι ώστε να υπερφορτώσει τον παραλήτπτη. Χρησιμοποιήστε τo λογισμικό frameip ή απλά την εντολή ping l 1000 <broadcast_ip_του_δικτύου_σας> για να δημιουργήσετε την κατάλληλη κίνηση έτσι ώστε να επαληθεύσετε τον κανόνα σας. 42

Ασκήσεις (7/9) Γράψτε έναν κανόνα ο οποίος θα ανιχνεύει την λέξη teiwm στο payload των πακέτων έτσι ώστε: 1. Η λέξη teiwm να υπάρχει στα εξερχόμενα από τον υπολογιστή σας tcp πακέτα προς το port 80. 2. Στη συνέχεια αλλάξτε τον κανόνα ώστε να αναγνωρίζει την λέξη teiwm χωρίς διαχωρισμό κεφαλαίων και μικρών γραμμάτων ( χρησιμοποιήστε σαν παράμετρο την nocase). 3. Η λέξη teiwm να υπάρχει στα εισερχόμενα πακέτα από το port 80. Ελέγξτε τους κανόνες κατάλληλα. 43

Ασκήσεις (8/9) Γράψτε έναν κανόνα ο οποίος θα ανιχνεύει ότι και ο 4.c αλλά ξεκινώντας από το byte 40 του payload έως και το byte 75. Γράψτε έναν κανόνα ο οποίος θα ανιχνεύει το ψηφίο 0x90 στο payload ενός UDP πακέτου με μέγεθος payload μεγαλύτερο του 6000 bytes. Γράψτε έναν κανόνα ο οποίος να ανιχνεύει πακέτα που προέρχονται από τον υπολογιστή σας προς την θύρα 53. Σε τι είδους σύστημα θα προορίζονται τα πακέτα αυτά; 44

Ασκήσεις (9/9) Γράψτε έναν κανόνα ο οποίος θα ανιχνεύει: Εισερχόμενη κίνηση με τις λέξεις kastoria και teikoz. Ελέγξτε ότι ο κανόνας λειτουργεί με το site http://kastoria.teikoz.gr και όχι με το www.teikoz.gr. Μπορείτε να σκεφτείτε πως το snort χρησιμοποιείται για την ανίχνευση port scanning μηνυμάτων; 45

Σημείωμα Αναφοράς Copyright ΤΕΙ Δυτικής Μακεδονίας, Νικολάου Σπύρος. «Ασφάλεια Υπολογιστικών Συστημάτων». Έκδοση: 1.0. Κοζάνη 2015. Διαθέσιμο από τη δικτυακή διεύθυνση: 46

Σημείωμα Αδειοδότησης Το παρόν υλικό διατίθεται με τους όρους της άδειας χρήσης Creative Commons Αναφορά, Μη Εμπορική Χρήση Παρόμοια Διανομή 4.0 [1] ή μεταγενέστερη, Διεθνής Έκδοση. Εξαιρούνται τα αυτοτελή έργα τρίτων π.χ. φωτογραφίες, διαγράμματα κ.λ.π., τα οποία εμπεριέχονται σε αυτό και τα οποία αναφέρονται μαζί με τους όρους χρήσης τους στο «Σημείωμα Χρήσης Έργων Τρίτων». [1] http://creativecommons.org/licenses/by-nc-sa/4.0/ Ως Μη Εμπορική ορίζεται η χρήση: που δεν περιλαμβάνει άμεσο ή έμμεσο οικονομικό όφελος από την χρήση του έργου, για το διανομέα του έργου και αδειοδόχο. που δεν περιλαμβάνει οικονομική συναλλαγή ως προϋπόθεση για τη χρήση ή πρόσβαση στο έργο. που δεν προσπορίζει στο διανομέα του έργου και αδειοδόχο έμμεσο οικονομικό όφελος (π.χ. διαφημίσεις) από την προβολή του έργου σε διαδικτυακό τόπο. Ο δικαιούχος μπορεί να παρέχει στον αδειοδόχο ξεχωριστή άδεια να χρησιμοποιεί το έργο για εμπορική χρήση, εφόσον αυτό του ζητηθεί. 47

Διατήρηση Σημειωμάτων Οποιαδήποτε αναπαραγωγή ή διασκευή του υλικού θα πρέπει να συμπεριλαμβάνει: το Σημείωμα Αναφοράς. το Σημείωμα Αδειοδότησης. τη δήλωση Διατήρησης Σημειωμάτων. το Σημείωμα Χρήσης Έργων Τρίτων (εφόσον υπάρχει). μαζί με τους συνοδευόμενους υπερσυνδέσμους. 48

Βιβλιογραφία 1. Κρυπτογραφία για Ασφάλεια Δικτύων Αρχές και Εφαρμογές, Stallings. 2. Βασικές Αρχές Ασφάλειας Δικτύων: Εφαρμογές και Πρότυπα, William Stallings. 3. Ασφάλεια δικτύων 6η Έκδοση, McClure Stuart, Scambray Joel, Kurtz George. 4. Ασφάλεια Πληροφοριακών συστημάτων, Παγκαλος Γ., Μαυριδης Ι. 49

Τέλος Ενότητας