ΔΙΔΑΚΤΟΡΙΚΗ ΔΙΑΤΡΙΒΗ

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "ΔΙΔΑΚΤΟΡΙΚΗ ΔΙΑΤΡΙΒΗ"

Transcript

1 ΠΑΝΕΠΙΣΗΜΙΟ ΠΑΣΡΩΝ - ΠΟΛΤΣΕΧΝΙΚΗ ΧΟΛΗ Σμήμα Μηχανικών Η/Τ & Πληροφορικής ΔΙΔΑΚΤΟΡΙΚΗ ΔΙΑΤΡΙΒΗ Μοντζλα αςυνήθουσ δικτυακήσ κυκλοφορίασ ςε TCP/IP δικτυακά υπολογιςτικά περιβάλλοντα Θεόδωρος Κομνηνός Επιβλέπων: Καθηγητής Παύλος Σπυράκης Ράτρα, Νοζμβριοσ 2008

2 Μοντζλα αςυνικουσ δικτυακισ κυκλοφορίασ ςε TCP/IP δικτυακά υπολογιςτικά περιβάλλοντα Διδακτορικι Διατριβι Θεόδωροσ Κομνθνόσ Επταμελισ Επιτροπι: 1. Ραφλοσ Σπυράκθσ, Επιβλζπων Κακθγθτισ 2. Δθμιτριοσ Χριςτοδουλάκθσ, Κακθγθτισ, μζλοσ Τριμελοφσ Επιτροπισ 3. Χριςτοσ Κακλαμάνθσ, Κακθγθτισ, μζλοσ Τριμελοφσ Επιτροπισ 4. Ιωάννθσ Γαροφαλάκθσ Αναπλθρωτισ Κακθγθτισ 5. Σωτιριοσ Νικολετςζασ, Επίκουροσ Κακθγθτισ 6. Ιωάννθσ Σταματίου, Επίκουροσ Κακθγθτισ 7. Σπυρίδων Κοντογιάννθσ, Λζκτορασ, ii

3 iii

4 Οι δικτυακϋσ διαςυνδϋςεισ μεταξύ των μεγϊλων πόλεων ςτον κόςμο iv

5 Συνειςφορά τησ Διατριβήσ - Σφνοψη Στθν διδακτορικι διατριβι αναπτφξαμε μοντζλα για τθν αςυνικθ δικτυακι κυκλοφορία βαςιςμζνθ ςε χαρακτθριςτικά τθσ TCP/ IP επικοινωνίασ ανάμεςα ςε υπολογιςτικά ςυςτιματα, αλλά και ςτθν ςυμπεριφορά ςυςτθμάτων και χρθςτϊν κάτω από επικζςεισ ιϊν και δικτυακϊν ςκουλθκιϊν. Για τθν ανάπτυξθ ςυνδυάςαμε το μακθματικό φορμαλιςμό πάνω ςε πραγματικά χαρακτθριςτικά που εντοπίςαμε πωσ υπάρχουν ςχεδόν ςε όλεσ τισ προςπάκειεσ ε- πίκεςθσ προσ υπολογιςτικά και δικτυακά ςυςτιματα από προςπάκειεσ επιτικζμενων, αλλά και με αυτοματοποιθμζνα ςυςτιματα μετάδοςθσ ιϊν. Κφριοσ ςτόχοσ μασ είναι βαςιςμζνοι ςτα κεωρθτικά μοντζλα που περιγράφουμε να δθμιουργιςουμε ζνα χριςιμο εργαλείο ςτθν αντιμετϊπιςθ επικζςεων. Υλοποιιςαμε ζνα πραγματικό κατανεμθμζνο ςφςτθμα ανίχνευςθσ δικτυακϊν επικζςεων που πρωτοπαρουςιάςτθκε ςτο ςυνζδριο PODC και πιρε Best Presentation Award. Αυτι τθ ςτιγμι ζχει υλοποιθκεί και βρίςκεται ςε λειτουργία ζνα πλιρεσ ςφςτθμα με τθ χρθματοδότθςθ τθσ Γ.Γ.Ε.Τ. ςτα πλαίςια του Ρρογράμματοσ των Ρόλων Καινοτομίασ Δυτικισ Ελλάδασ, ωσ ζνα περιφερειακό και κατανεμθμζνο ςφςτθμα ζγκαιρθσ και ζγκυρθσ προειδοποίθςθσ και λιψθσ άμεςων μζτρων για τθν προςταςία δικτφων υπολογιςτϊν από τθ διάδοςθ των ιϊν και από τισ διαρκϊσ εξελιςςόμενεσ επικζςεισ των hackers Τζλοσ θ αυξανόμενθ παρουςία δυνατοτιτων για fast worms μασ παρακίνθςε να μοντελοποιιςουμε τθν ςυμπεριφορά ιϊν που μεταδίδονται μζςα από τα κοινωνικά δίκτυα που ςχθματίηονται από τον κατάλογο που ζχουν οι χριςτεσ για γνωςτοφσ και φίλουσ ςε και Instant Messaging. Ρροτείνουμε λοιπόν δφο μοντζλα: ζνα μοντζλο που περιγράφει τθν ςυμπεριφορά fast worms βαςιςμζνα ςε κοινωνικά δίκτυα ςτθριηόμενοι ςτο μακθματικό μοντζλο ςε Constraint Satisfaction Problems (CSP), αλλά και ζνα μοντζλο για τθ μετάδοςθ ιϊν και τθν εξουδετζρωςι τουσ, που λαμβάνει υπόψθ τθν δικτυακι κίνθςθ και τθν λειτουργία των εξυπθρετθτϊν βαςιςμζνοι ςτο M/M/1 μοντζλο ουρϊν. Στθν διατριβι προτείνουμε ζνα είδοσ διαδραςτικότθτασ ανάμεςα ςτουσ antivirus Agents και τουσ ιοφσ και αναλφουμε ζνα μακθματικό μοντζλο για τθν διάδοςθ πλθκυςμοφ ιϊν και antivirus βαςιςμζνα ςε κεωρίεσ ουρϊν. Τα βαςικά προβλιματα που προςπακοφμε να λφςουμε για να επιτφχουμε αςφάλεια ςτα ςυςτιματα υπολογιςτϊν και δικτφων είναι: να διαφυλάξουμε τθν ακεραιότθτα των δεδομζνων, εξαςφαλίηοντασ πωσ τα δεδομζνα δεν τροποποιοφνται ι καταςτρζφονται χωρίσ εξουςιοδότθςθ και ότι τα ςυςτιματα λειτουργοφν αποδοτικά. Στθν πραγματικότθτα κα μποροφςαμε να επιχειρθματολογιςουμε πωσ περιςςότερο v

6 από κάκε άλλο τομζα τθσ επιςτιμθσ των υπολογιςτϊν, θ αςφάλεια υπολογιςτϊν αςχολείται με τθν ανάλυςθ των ατελειϊν ςτα ςυςτιματα. Αναλυτικά ςτθν διατριβι ζχουμε τθν ακόλουκθ δομι: Στο 1 ο κεφάλαιο μετά από μία ειςαγωγι (1.1) κάνουμε μία ιςτορικι αναδρομι (1.2), προςπακοφμε να κατανοιςουμε τα προβλιματα αςφάλειασ και τισ επιπτϊςεισ τουσ κακϊσ και τθν εξζλιξθ των επικζςεων (1.3), δικαιολογοφμε το ενδιαφζρον τθσ επιςτθμονικισ και εμπορικισ κοινότθτασ για τθν αςφάλεια (1.4), αναλφουμε τα τρωτά του διαδικτφου που εκμεταλλεφονται ςυνικωσ οι επιτικζμενοι (1.5), και περιγράφουμε τουσ ςυνθκιςμζνουσ τφπουσ τρωτϊν (1.6) ςτα υπολογιςτικά και δικτυακά ςυςτιματα. Στο2 ο κεφάλαιο περιγράφουμε τθ μεκοδολογία με τθν οποία δρα ζνασ επιτικζμενοσ επιχειρϊντασ να καταλάβει ζνα δίκτυο υπολογιςτικϊν ςυςτθμάτων. Ρρϊτα περιγράφουμε διαδικαςίεσ και εργαλεία που χρθςιμοποιοφνται για τθν αναγνϊριςθ του δικτφου, όπωσ θ ζρευνα DNS και ο ζλεγχοσ με SNMP (2.1) και κατόπιν μεκόδουσ και εργαλεία για τθν χαρτογράφθςθ του δικτφου μζςω ςάρωςθσ ping (2.2.1), port scanning (2.2.2) και ςάρωςθ ευπακειϊν (2.2.3). Στο 3 ο κεφάλαιο αναφζρουμε τισ δυνατότθτεσ που ζχουν οι διαχειριςτζσ ςυςτθμάτων για τθν προςταςία των ςτακμϊν εργαςίασ (3.1) και των εξυπθρετθτϊν και ςτθν προςταςία του δικτφου ςτο ςφνολό του με firewalls (3.2) και με Συςτιματα Αντιμετϊπιςθσ Ειςβολϊν(3.3). Στο 4 ο κεφάλαιο εξετάηουμε τθν κατθγοριοποίθςθ των Συςτθμάτων Αντιμετϊπιςθσ Επικζςεων (ΣΑΕ) ανάλογα με τθν τοπολογία τουσ (4.1), τα διαχωρίηουμε ςε Δικτυακά ΣΑΕ (Network-Based ι NIDS) (4.1.1) και ΣΑΕ εξυπθρετθτϊν (Host-Based ι HIDS) (4.1.2) και αναφζρουμε τα πλεονεκτιματά τουσ και τα μειονεκτιματά τουσ. Επίςθσ τα κατθγοριοποιοφμε ανάλογα με τισ τεχνικζσ ανίχνευςθσ που χρθςιμοποιοφν (4.2) ςε ςυςτιματα ανίχνευςθσ διαταραχϊν (Anomaly Detection) (4.2.1) και ανίχνευςθσ κακισ ςυμπεριφοράσ (Misuse Detection) (4.2.2). Τζλοσ περιγράφουμε τθν λειτουργία των ςυςτθμάτων πρόλθψθσ επικζςεων (Intrusion Prevention Systems ι IPS) (4.3). Στόχοσ του 5 ου κεφαλαίου είναι θ κατανόθςθ των βαςικϊν κεμάτων αςφαλείασ που ςχετίηονται με το TCP/IP (5.1). Στόχοσ επίςθσ είναι θ βακφτερθ γνϊςθ των λεπτομερειϊν του TCP/IP που είναι ςχετικζσ με τθν αςφάλεια των πλθροφορικϊν ςυςτθμάτων. Στα πλαίςια αυτά περιγράφουμε το μοντζλο OSI (5.2), τθ δομι ενόσ IP πακζτου (5.3), τθν δρομολόγθςθ των datagrams (5.4) και τζλοσ περιγράφουμε το πρωτόκολλο TCP που κα μασ απαςχολιςει ςτθ ςυνζχεια (5.5). Στο 6 ο κεφάλαιο προτείνουμε ζνα μοντζλο ανίχνευςθσ αςυνικουσ κυκλοφορίασ βαςιςμζνθ ςτα χαρακτθριςτικά τθσ TCP/ IP επικοινωνίασ και ςτθ διαδικαςία τθσ 3-way handshaking που εφαρμόηεται ςτθν ζναρξθ μίασ επικοινωνίασ ανάμεςα ςε υπολογι- vi

7 ςτικά ςυςτιματα. Κάνουμε μία ανάλυςθ των ανιχνεφςιμων χαρακτθριςτικϊν ςε ζνα πακζτο που μεταφζρει επίκεςθ (6.1), κατόπιν δίνουμε τθν Αρχιτεκτονικι του προτεινόμενου Συςτιματοσ (6.2), περιγράφουμε τα δομικά του ςτοιχεία (6.3) όπωσ το πρόγραμμα που εκτελείται και παρακολουκεί τουσ κόμβουσ (6.3.1), το ςφςτθμα που λαμβάνει αποφάςεισ (6.3.2), το ςφςτθμα που υπολογίηει τισ παραμζτρουσ που παρακολουκοφνται ςε κάκε ςφςτθμα (6.3.3) και τθν βάςθ δεδομζνων που τθρείται για το κάκε ςφςτθμα (6.3.4). Κατόπιν περιγράφουμε τθν λειτουργία του ςυςτιματοσ (6.4), τθν λειτουργία του προγράμματοσ που υλοποιιςαμε για το ςφςτθμα (6.5), αναλφουμε τθν αποδοτικότθτα του προτεινόμενου ςυςτιματοσ (6.6) και καταλιγουμε ςε οριςμζνα ςυμπεράςματα (6.7) για το ςφςτθμα. Στο 7 ο κεφάλαιο τθσ διατριβισ παρζχουμε ζνα μακθματικό μοντζλο για το προτεινόμενο κατανεμθμζνο ςφςτθμα ανίχνευςθσ επικζςεων ςε υπολογιςτικά ςυςτιματα που δζχονται δικτυακζσ επικζςεισ προτείνοντασ τθν παρακολοφκθςθ των ιδιαίτερων χαρακτθριςτικϊν τθσ TCP/IP επικοινωνίασ υπολογιςτικϊν κόμβων (7.1), αναλφοντασ τα ιδιαίτερα χαρακτθριςτικά των πακζτων επικοινωνίασ ςε κανονικι κίνθςθ δικτφου (7.1.1) και κίνθςθ κάτω από επίκεςθ (7.1.2). Μελετάμε τθν ςυναφι ζρευνα (7.2) και ορίηουμε το μοντζλο μασ και κάνουμε τισ παραδοχζσ μασ (7.3). Το προτεινόμενο μοντζλο αντιμετωπίηει επικζςεισ που ζχουν το χαρακτθριςτικό πωσ ςτθν φάςθ τθσ επίκεςθσ παράγουν ικανι δικτυακι κίνθςθ, όπωσ για παράδειγμα μια διαδικαςία ανίχνευςθσ κυρϊν (port scanning), ι θ διάδοςθ ενόσ δικτυακοφ ςκουλθκιοφ (internet worm). Αυτοφ του είδουσ οι επικζςεισ μποροφν να χαρακτθριςτοφν από ριπζσ ανίχνευςθσ. Το μοντζλο αυτό βελτιςτοποιεί τθν προθγοφμενθ προςζγγιςθ του ςυςτιματοσ που περιγράψαμε ςτο προθγοφμενο κεφάλαιο. Το ςυνολικό ςφςτθμα τείνει να μειϊςει τθν πικανότθτα λάκουσ ςτο μθδζν με εκκετικι ταχφτθτα ςε ςυνάρτθςθ του αρικμοφ των ταυτόχρονων κατανεμθμζνων αναφορϊν από τουσ τοπικοφσ ανιχνευτζσ με μοναδικι απαίτθςθ μόνο μικρό τμιμα αυτϊν των αναφορϊν να ανταποκρίνεται ςτθν πραγματικι κατάςταςθ επίκεςθσ (π.χ. επίκεςθ ι μθ επίκεςθ) (7.4). Κατόπιν αναλφουμε και αποδεικνφουμε τθν δθμιουργία ενόσ ταχφτατα αντιδρϊντοσ Κριτι για τθν λιψθ απόφαςθσ επίκεςθ/μθ-επίκεςθ (7.5) και εξετάηουμε τθν ανεκτικότθτα του προτεινόμενου μοντζλου ςε λάκθ (7.6). Επίςθσ παρζχουμε μια μεκοδολογία για τθν δθμιουργία ςυνεπϊν τοπικϊν αιςκθτιρων (7.7) οι οποίοι επαλθκεφονται ςτθν πράξθ με πραγματικά δεδομζνα δικτυακισ κίνθςθσ (7.8). Τα κεωρθτικά μοντζλα που περιγράφουμε ζχουν υλοποιθκεί ςε ζνα πραγματικό κατανεμθμζνο ςφςτθμα ανίχνευςθσ δικτυακϊν επικζςεων που βρίςκεται ςε λειτουργία με τθ χρθματοδότθςθ τθσ Γ.Γ.Ε.Τ. ςτα πλαίςια του Ρρογράμματοσ των Ρόλων Καινοτομίασ Δυτικισ Ελλάδασ και δίνουμε τα ςυμπεράςματά μασ και τισ προοπτικζσ επζκταςθσ και βελτίωςθσ του ςυςτιματοσ (7.9). Στόχοσ μασ ςτο 8 ο κεφάλαιο αυτό είναι να περιγράψουμε τθ δθμιουργία ενόσ Κατανεμθμζνου Συςτιματοσ Ανίχνευςθσ Ειςβολών (Intrusion Detection System), το οποίο λειτουργϊντασ ωσ ζνα περιφερειακό και κατανεμθμζνο ςφςτθμα ζγκαιρθσ vii

8 και ζγκυρθσ προειδοποίθςθσ κα αξιοποιθκεί ωσ μζςο ενθμζρωςθσ και λιψθσ άμεςων μζτρων για τθν προςταςία δικτφων υπολογιςτϊν από τθ διάδοςθ των ιϊν και από τισ διαρκϊσ εξελιςςόμενεσ επικζςεισ των hackers (8.1). Το ςφςτθμα αποτελείται από ζνα ςφνολο αιςκθτιρων (8.2) που κα εγκακίςτανται ςε υπολογιςτικοφσ κόμβουσ ενόσ εταιρικοφ δικτφου. Οι αιςκθτιρεσ αυτοί πρζπει να ζχουν ελάχιςτεσ απαιτιςεισ ςε υπολογιςτικοφσ πόρουσ (8.4), κα καταγράφουν ποιοτικά και ποςοτικά ςτοιχεία τθσ επικοινωνίασ τουσ με υπολογιςμό τθσ καμπφλθσ ROC των ειςερχόμενων πακζτων (8.3) και ζνα κεντρικό ςφςτθμα ςυγκζντρωςθσ των ςτοιχείων τουσ και ανάλυςισ τουσ με κατάλλθλουσ αλγόρικμουσ, ϊςτε να κατθγοριοποιοφνται αυτόματα οι επικζςεισ (8.5). Το ςφςτθμα ζχει υλοποιθκεί ςε ζνα πραγματικό κατανεμθμζνο ςφςτθμα ανίχνευςθσ δικτυακϊν επικζςεων που βρίςκεται ςε λειτουργία με τθ χρθματοδότθςθ τθσ Γ.Γ.Ε.Τ. ςτα πλαίςια του Ρρογράμματοσ των Ρόλων Καινοτομίασ Δυτικισ Ελλάδασ βαςιςμζνο ςτα κεωρθτικά μοντζλα που περιγράψαμε ςτο 8 ο κεφάλαιο. Ρεριγράφουμε τθ κανονικι λειτουργία του ςυςτιματοσ ςτο 8.6.και τθν ςυμπεριφορά του ςυςτιματοσ ςε περιπτϊςεισ επίκεςθσ (8.7). Η ανϊμαλθ ςυμπεριφορά ςτα δίκτυα υπολογιςτϊν και ςτα υπολογιςτικά ςυςτιματα αφορά και τθν ςυμπεριφορά των ιϊν και των δικτυακϊν ςκουλθκιϊν. Στο 9 ο κεφάλαιο προτείνουμε ζνα μοντζλο που κα περιγράφει τθν ςυμπεριφορά fast worms βαςιςμζνα ςε κοινωνικά δίκτυα. Εξετάηουμε τθν καταλλθλότθτα των διαφορετικϊν προςεγγίςεων ςτθν μοντελοποίθςθ δικτυακϊν τοπολογιϊν (9.1), προτείνουμε ζνα μοντζλο ταχφτατθσ διάδοςθσ ιϊν βαςιςμζνο ςε κοινωνικά δίκτυα (9.2), αφοφ μελετιςουμε τθν ςυναφι ζρευνα (9.2.1) και ςτθρίξουμε το μακθματικό μοντζλο ςε Constraint Satisfaction Problems (CSP) (9.2.3). Κατόπιν προτείνουμε μία μεκοδολογία για τον φορμαλιςμό των Δικτφων Γνωριμιϊν (9.3), τθν δθμιουργία τυχαία παραγόμενων γράφων των δικτφων αυτϊν (9.4) και προτείνουμε το μοντζλο μασ για τθν διάδοςθ ενόσ virus/worm ςτα δίκτυα αυτά (9.5) Τζλοσ κάνουμε μία κεωρθτικι ανάλυςθ και αποτίμθςθ του προτεινόμενου μοντζλου (9.6) και καταλιγουμε ςε ςυμπεράςματα (9.7) Τζλοσ ςτο 10 ο κεφάλαιο εξετάηουμε και προτείνουμε ζνα μοντζλο για τθ μετάδοςθ ιϊν και τθν εξουδετζρωςι τουσ, που λαμβάνει υπόψθ τθν δικτυακι κίνθςθ και τθν λειτουργία των εξυπθρετθτϊν. Μετά τθν μελζτθ τθσ ςχετικισ ερευνθτικισ προςπάκειασ (10.1) παρουςιάηουμε τθν ςυμβολι τθσ εργαςίασ μασ (10.2). Στο προτεινόμενο μοντζλο για τθν διάδοςθ και εξάλειψθ ειςβολϊν (10.3) οι δικτυακοί κόμβοι υποκζτουμε πωσ εκτελοφν εργαςίεσ βαςιςμζνοι ςτο M/M/1 μοντζλο ουρϊν. Ρροτείνουμε ζνα είδοσ διαδραςτικότθτασ ανάμεςα ςτουσ Agents και αναλφουμε ζνα μακθματικό μοντζλο για τθν διάδοςθ πλθκυςμοφ ιϊν και antivirus βαςιςμζνα ςε κεωρίεσ ουρϊν. Τζλοσ παρουςιάηουμε τισ ιδιότθτεσ και τθν αποτίμθςθ του μοντζλου μασ (10.4) και καταλιγουμε ςε ςυμπεράςματα και προτάςεισ για μελλοντικι ζρευνα (10.5). viii

9 UNIVERSITY OF PATRAS POLYTECHNIC SCHOOL Computer Engineering & Informatics Dept. PHD THESIS Models of abnormal network traffic in TCP/IP networking computer environments Theodoros Komninos Supervisor: Prof. Paul Spirakis Patras, November 2008 ix

10 Abstract In this PhD Thesis we developed models for the abnormal network traffic based on TCP/IP communication protocol of computer systems, and the behavior of systems and users under viruses and worms attacks. For the development we combined mathematical formalism on real attributes that characterize almost all attacking efforts of hackers, virus and worms against computers and networking systems. Our main goal was based upon the theoretic models we proposed, to provide a useful tool to deal with intrusions. Thus we developed a Software Tool for Distributed Intrusion Detection in Computer Networks (PODC-2004, 23rd ACM SIGART-SIGOPS, Canada, Best presentation award). Based on an improved model we produced a real time distributed detection system of network attacks (International Journal of Computer Science and Network Security, VOL.6, No.7, July 2006) that is installed in Western Greece Region as a peripheral distributed system for early warning administrators of worm and virus propagation and hackers attacks. This work is funded by the Greek General Secretariat of Research and Technology under the Regional Program of Innovative Actions. Also in this work we propose a discrete worm rapid propagation model based on social networks that are built using the address book of and instant messaging clients using the mathematic formalism of Constraint Satisfaction Problems (CSP). The address book, which reflects the acquaintance profiles of people, is used as a hit-list, to which the worm can send itself in order to spread fast. We also model user reaction against infected as well as the rate at which antivirus software is installed. We then propose a worm propagation formulation based on a token propagation algorithm, further analyzed with a use of a system of continuous differential equations, as dictated by Wormald s theorem on approximating well-behaving random processes with deterministic functions. Finally in this work we present a virus propagation and elimination model that takes into account the traffic and server characteristics of the network computers. This model partitions the network nodes into perimeter and non-perimeter nodes. Incoming/outgoing traffic of the network passes through the perimeter of the network, where the perimeter is defined as the set of the servers which are connected directly to the internet. All network nodes are assumed to process tasks based on the M/M/1 queuing model. We study burst intrusions (e.g. Denial of Service Attacks) at the network perimeter and we propose a kind of interaction between these agents that results using the formalism of distribution of network tasks for Jackson open networks of queues. x

11 Ευχαριςτίεσ Στθ διάρκεια εκπόνθςθσ μίασ Διδακτορικισ Διατριβισ υπάρχουν πολλοί που βοθκοφν τόςο ςτθν δθμιουργία ιδεϊν όςο και ςτθν υλοποίθςι τουσ, που «ςπρϊχνουν» ςτα ςθμεία που μπορεί να «κολλιςεισ». Υπάρχουν όμωσ και άλλοι που ςε παροτρφνουν να ςυνεχίςεισ επειδι πιςτεφουν ςτισ ιδζεσ ςου και ςτισ ικανότθτζσ ςου ακόμα και όταν θ δουλειά ςε παίρνει από κάτω. Ο Δάςκαλόσ μου Ραφλοσ Σπυράκθσ είναι αυτόσ που μου ςυμπαραςτάκθκε ςε κάκε δυςκολία που προζκυπτε και με κακοδθγοφςε κακοριςτικά ςτθν ζρευνά μου. Ρου μου ζδινε κουράγιο και δφναμθ όταν θ κοφραςθ ζφερνε απογοιτευςθ. Τον ευχαριςτϊ από καρδιάσ. Δεν πρζπει να παραλείψω να ευχαριςτιςω το Δθμιτρθ Χριςτοδουλάκθ που με ϊ- κθςε να κάνω μεταπτυχιακζσ ςπουδζσ και ςυμμετείχε ςε όλεσ τισ τριμελείσ επιτροπζσ τόςο του Μεταπτυχιακοφ όςο και του Διδακτορικοφ μου. Επίςθσ τον Χριςτο Κακλαμάνθ για τισ εποικοδομθτικζσ ςυμβουλζσ και οδθγίεσ του για τθ ςυγγραφι τθσ διατριβισ μου. Ακόμθ κα ικελα να ευχαριςτιςω τον Γιάννθ Σταματίου που με βοικθςε ςτον ζλεγχο του φορμαλιςμοφ του μοντζλου για τθ διάδοςθ των ιϊν. Τζλοσ είναι τιμι μου που ο Γιάννθσ Γαροφαλάκθσ, ο Σωτιρθσ Νικολετςζασ και ο Σπφροσ Κοντογιάννθσ δζχτθκαν να μπουν ςτθ διαδικαςία να διαβάςουν και να εγκρίνουν τθ Διατριβι μου ωσ μζλθ τθσ επταμελοφσ μου επιτροπισ. Στον δρόμο τθσ διερεφνθςθσ ιδεϊν και τθσ αναηιτθςθσ λφςεων είχα εξαιρετικοφσ φίλουσ και ςυνεργάτεσ που ςκεφτικαμε και υλοποιιςαμε κάποιεσ από αυτζσ, ενϊ υπάρχουν πολλζσ ακόμα προσ υλοποίθςθ. Θζλω να ευχαριςτιςω τον Μπάμπθ Τςακνάκθ, τον Ευτφχθ Βαλεοντι, τον Γιϊργο Βαβίτςα, τον Μπάμπθ Γιαννακόπουλο και όλουσ τουσ φοιτθτζσ που με εμπιςτεφτθκαν για να τουσ κακοδθγιςω ςτισ διπλωματικζσ τουσ και ςτα master thesis τουσ. Ιδζεσ πολλζσ, χρόνοσ λίγοσ και θ εκπόνθςθ τθσ διατριβισ ζφταςε ςε ολοκλιρωςθ. Πλα αυτά τα χρόνια υπιρχαν κάποιοι που ανζχτθκαν να δουλεφω πολλζσ ϊρεσ, αλλά και αυτζσ που ιμουν κοντά τουσ να κλείνομαι ςτο ςπίτι να διαβάςω, να ετοιμάςω μια δθμοςίευςθ. Ρου δζχτθκαν καλοκαίρια να γράφω βιβλία ι να ετοιμάηω παρουςιάςεισ. Ρου τουσ τελευταίουσ μινεσ λείπω πολφ από κοντά τουσ και όταν είμαι κάκομαι 12άωρα μπροςτά ςε μία οκόνθ υπολογιςτι. Χωρίσ τθν ςυμπαράςταςθ και τθν ανοχι τθσ οικογζνειάσ μου δεν κα γινόταν να ολοκλθρωκεί θ διατριβι. Γιϊτα, Μαριάντηελα και Ραναγιϊτθ ςασ ευχαριςτϊ από καρδιάσ. Τζλοσ ευχαριςτϊ όςουσ ζχουν υπομονι, επιμονι και ελπίδα πωσ θ προςπάκεια και θ αξία κάποια ςτιγμι ανταμείβονται τουλάχιςτον θκικά- όπωσ αρμόηει xi

12 xii Σε όσους έχουν υπομονή

13 Περιεχόμενα 1. ΑΣΦΑΛΕΙΑ ΥΡΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΕΙΣΑΓΩΓΗ ΙΣΤΟΙΚΗ ΑΝΑΔΟΜΗ ΚΑΤΑΝΟΗΣΗ ΤΩΝ ΡΟΒΛΗΜΑΤΩΝ ΑΣΦΑΛΕΙΑΣ ΓΙΑΤΙ ΤΟΣΟ ΕΝΔΙΑΦΕΟΝ ΓΙΑ ΤΗΝ ΑΣΦΑΛΕΙΑ ΓΙΑΤΙ ΤΟ ΔΙΑΔΙΚΤΥΟ ΕΙΝΑΙ ΤΩΤΟ ΤΥΡΟΙ ΤΩΤΩΝ Ελαττϊματα ςτο λογιςμικό ι ςτο ςχεδιαςμό των πρωτοκόλλων Αδυναμίεσ ςτθν διαμόρφωςθ των ςυςτθμάτων και των δικτφων ΜΕΘΟΔΟΛΟΓΙΑ ΕΡΙΘΕΣΗΣ ΑΝΑΓΝΩΙΣΗ ΔΙΚΤΥΟΥ Ζρευνα DNS Ζλεγχοσ SNMP ΧΑΤΟΓΑΦΗΣΗ ΔΙΚΤΥΟΥ Σάρωςθ Ping Σάρωςθ Θυρϊν (Port Scanning) Σάρωςθ Τρωτϊν Σθμείων (Vulnerability Scanning) ΒΑΣΙΚΑ ΕΓΑΛΕΙΑ ΑΝΤΙΜΕΤΩΡΙΣΗΣ ΕΡΙΘΕΣΕΩΝ ΡΟΣΤΑΣΙΑ ΥΡΟΛΟΓΙΣΤΩΝ ΡΟΣΤΑΣΙΑ ΔΙΚΤΥΟΥ ΜΕ FIREWALLS ΡΟΣΤΑΣΙΑ ΜΕ ΣΥΣΤΗΜΑΤΑ ΑΝΙΧΝΕΥΣΗΣ ΕΡΙΘΕΣΕΩΝ (IDS) ΖΕΥΝΑ ΣΕ ΣΥΣΤΗΜΑΤΑ ΑΝΙΧΝΕΥΣΗΣ ΕΡΙΘΕΣΕΩΝ ΚΑΤΗΓΟΙΟΡΟΙΗΣΗ IDS ΑΝΑΛΟΓΑ ΜΕ ΤΗΝ ΤΟΡΟΛΟΓΙΑ Network Based IDS Host Based IDS (HIDS) ΚΑΤΗΓΟΙΟΡΟΙΗΣΗ ΑΝΑΛΟΓΑ ΜΕ ΤΙΣ ΤΕΧΝΙΚΕΣ ΑΝΙΧΝΕΥΣΗΣ Ανίχνευςθ Διαταραχϊν (Anomaly Detection) Ανίχνευςθ Κακισ Συμπεριφοράσ (Misuse Detection) ΡΟΣΤΑΣΙΑ ΜΕ ΣΥΣΤΗΜΑΤΑ ΡΟΛΗΨΗΣ ΕΡΙΘΕΣΕΩΝ (INTRUSION PREVENTION SYSTEMS-IPS) Η ΑΣΦΑΛΕΙΑ ΣΤΑ TCP/IP ΔΙΚΤΥΑ ΤΟ ΜΟΝΤΕΛΟ ΤΩΝ ΡΟΛΛΩΝ ΕΡΙΡΕΔΩΝ ΤΟ ΜΟΝΤΕΛΟ ΤΟΥ OSI Η ΔΟΜΗ ΕΝΟΣ IP ΡΑΚΕΤΟΥ Η ΔΟΜΟΛΟΓΗΣΗ ΤΩΝ DATAGRAMS ΤΟ ΡΩΤΟΚΟΛΛΟ TCP ΜΟΝΤΕΛΟΡΟΙΗΣΗ ΑΣΥΝΗΘΟΥΣ ΚΥΚΛΟΦΟΙΑΣ ΒΑΣΙΣΜΕΝΗ ΣΤΗ ΔΟΜΗ ΤΩΝ TCP/IP ΡΑΚΕΤΩΝ xiii

14 6.1. ΑΝΑΛΥΣΗ ΑΧΙΤΕΚΤΟΝΙΚΗ ΣΥΣΤΗΜΑΤΟΣ ΤΑ ΔΟΜΙΚΑ ΣΤΟΙΧΕΙΑ ΤΟΥ ΣΥΣΤΗΜΑΤΟΣ Το ςφςτθμα ςτουσ κόμβουσ (host system) Management Station Slope Generator Θ Βάςθ Δεδομζνων του Συςτιματοσ ΛΕΙΤΟΥΓΙΚΗ ΡΕΙΓΑΦΗ ΤΟΥ ΣΥΣΤΗΜΑΤΟΣ ΡΑΟΥΣΙΑΣΗ ΤΗΣ ΛΕΙΤΟΥΓΙΑΣ ΤΟΥ ΡΟΓΑΜΜΑΤΟΣ ΑΡΟΔΟΤΙΚΟΤΗΤΑ ΣΥΣΤΗΜΑΤΟΣ ΣΥΜΡΕΑΣΜΑ ΜΟΝΤΕΛΟ ΚΑΤΑΝΕΜΗΜΕΝΟΥ ΣΥΣΤΗΜΑΤΟΣ ΑΝΙΧΝΕΥΣΗΣ ΕΡΙΘΕΣΕΩΝ ΣΕ ΡΑΓΜΑΤΙΚΟ ΧΟΝΟ ΑΝΑΛΥΣΗ Κατανομι NON-ACK για κανονικι κίνθςθ Κατανομι NON-ACK για επίκεςθ ΣΥΝΑΦΗΣ ΕΕΥΝΑ ΜΟΝΤΕΛΟ ΚΑΙ ΟΙΣΜΟΙ ΤΑ ΑΡΟΤΕΛΕΣΜΑΤΑ ΤΟ ΣΥΣΤΗΜΑ ΚΑΙ Η ΑΝΑΛΥΣΗ ΕΝΟΣ ΤΑΧΥΤΑΤΑ ΑΝΤΙΔΩΝΤΟΣ ΚΙΤΗ (JUROR) ΑΝΕΚΤΙΚΟΤΗΤΑ ΣΕ ΛΑΘΗ ΤΟΥ ΡΟΤΕΙΝΟΜΕΝΟΥ ΜΟΝΤΕΛΟΥ ΔΗΜΙΟΥΓΙΑ ΣΥΝΕΡΩΝ ΤΟΡΙΚΩΝ ΑΝΙΧΝΕΥΤΩΝ ΘΕΜΑΤΑ ΣΥΝΟΛΙΚΗΣ ΑΡΟΔΟΣΗΣ ΤΟΥ ΡΟΤΕΙΝΟΜΕΝΟΥ ΜΟΝΤΕΛΟΥ ΚΑΤΑΝΕΜΗΜΕΝΟΥ ΑΝΙΧΝΕΥΤΗ ΣΥΜΡΕΑΣΜΑ ΚΑΙ ΜΕΛΛΟΝΤΙΚΗ ΕΕΥΝΑ ΑΝΑΡΤΥΞΗ ΚΑΤΑΝΕΜΗΜΕΝΟΥ ΣΑΕ ΤΑΧΕΙΑΣ ΑΡΟΚΙΣΗΣ ΜΕ ΣΥΝΕΡΕΙΣ ΤΟΡΙΚΟΥΣ ΑΝΙΧΝΕΥΤΕΣ ΑΧΙΤΕΚΤΟΝΙΚΗ ΣΥΣΤΗΜΑΤΟΣ ΡΕΙΓΑΦΗ ΛΕΙΤΟΥΓΙΑΣ AGENT ΥΡΟΛΟΓΙΣΜΟΣ ΤΗΣ ROC ΑΝΑΓΚΕΣ ΣΕ ΥΡΟΛΟΓΙΣΤΙΚΗ ΙΣΧΥ ΡΕΙΓΑΦΗ ΛΕΙΤΟΥΓΙΑΣ JUROR Διαχείριςθ μικρϊν παρακφρων Ανάγκεσ ςε υπολογιςτικι ιςχφ ΡΕΙΓΑΦΗ ΛΕΙΤΟΥΓΙΑΣ ΤΟΥ ΣΥΣΤΗΜΑΤΟΣ Παρουςίαςθ Γραφικοφ Περιβάλλοντοσ Agent Παρουςίαςθ Γραφικοφ Περιβάλλοντοσ του Juror ΡΑΑΔΕΙΓΜΑ ΕΡΙΘΕΣΗΣ ΜΟΝΤΕΛΟΡΟΙΗΣΗ ΑΝΩΜΑΛΗΣ ΣΥΜΡΕΙΦΟΑΣ ΣΤΗΝ ΤΑΧΥΤΑΤΗ ΔΙΑΔΟΣΗ ΙΩΝ ΜΟΝΤΕΛΟΡΟΙΗΣΗ ΔΙΚΤΥΑΚΩΝ ΤΟΡΟΛΟΓΙΩΝ Πλιρθ γράφοι (Homogeneous Graphs) Τυχαίοι Γράφοι (Random Graphs) Scale-Free Graphs Άλλεσ Τοπολογίεσ ΜΟΝΤΕΛΟ ΤΑΧΥΤΑΤΗΣ ΔΙΑΔΟΣΗΣ ΙΩΝ ΒΑΣΙΣΜΕΝΟ ΣΕ ΚΟΙΝΩΝΙΚΑ ΔΙΚΤΥΑ Τρζχουςα Ζρευνα Προτεινόμενο Μοντζλο xiv

15 Constraint Satisfaction Problems (CSP) ΔΙΚΤΥΑ ΓΝΩΙΜΙΩΝ: ΡΑΑΚΙΝΗΣΗ ΚΑΙ ΦΟΜΑΛΙΣΜΟΣ ΤΥΧΑΙΑ ΡΑΑΓΟΜΕΝΟΙ ΓΑΦΟΙ ΓΝΩΙΜΙΩΝ ΤΟ ΜΟΝΤΕΛΟ ΔΙΑΔΟΣΗΣ ΕΝΟΣ VIRUS/WORM ΘΕΩΗΤΙΚΗ ΑΝΑΛΥΣΗ ΚΑΙ ΑΡΟΤΙΜΗΣΗ ΤΟΥ ΜΟΝΤΕΛΟΥ Θεϊρθμα Wormald Θεωρθτικι ανάλυςθ ΣΥΜΡΕΑΣΜΑΤΑ ΜΟΝΤΕΛΟ ΔΙΑΔΟΣΗΣ ΕΡΙΘΕΣΕΩΝ ΣΚΟΥΛΗΚΙΩΝ ΣΕ ΡΑΓΜΑΤΙΚΕΣ ΣΥΝΘΗΚΕΣ ΔΙΚΤΥΟΥ ΜΕ ΘΕΩΙΑ ΟΥΩΝ ΣΧΕΤΙΚΗ ΕΕΥΝΗΤΙΚΗ ΔΟΥΛΕΙΑ ΣΥΜΒΟΛΗ ΤΗΣ ΕΓΑΣΙΑΣ ΤΟ ΡΟΤΕΙΝΟΜΕΝΟ ΜΟΝΤΕΛΟ ΔΙΑΔΟΣΗΣ/ ΕΞΑΛΕΙΨΗΣ ΕΙΣΒΟΛΩΝ Κατανομι ςτακερισ κατάςταςθσ ΙΔΙΟΤΗΤΕΣ ΚΑΙ ΑΡΟΤΙΜΗΣΗ ΤΟΥ ΜΟΝΤΕΛΟΥ ΣΥΜΡΕΑΣΜΑΤΑ ΚΑΙ ΚΑΤΕΥΘΥΝΣΕΙΣ ΓΙΑ ΕΡΙΡΛΕΟΝ ΕΕΥΝΑ ΒΙΒΛΙΟΓΑΦΙΑ ΕΥΕΤΗΙΟ xv

16 Κατάλογοσ Πινάκων Πίνακασ 1-1 Προβλιματα που δθλϊκθκαν μετά από επίκεςθ 6 Πίνακασ 1-2 Πρωτόκολλα και ISO Layer 10 xvi

17 Κατάλογοσ Εικόνων Εικόνα 1-1 Συνδεμζνοι κόμβοι ςτο Internet 3 Εικόνα 1-2 Θ Εξζλιξθ των Επικζςεων 7 Εικόνα 1-3 Αδυναμίεσ ανά Λειτουργικό Σφςτθμα 12 Εικόνα 2-1 whois αναηιτθςθ για τθν ςυλλογι πλθροφοριϊν 16 Εικόνα 2-2 Χριςθ του DNS / Who Is Resolver 17 Εικόνα 2-3 Θ ιεραρχία των DNS Εξυπθρετθτϊν μζχρι τον εξυπθρετθτι rea.cti.gr 18 Εικόνα 2-4 Λεπτομζρεια για τθν διαςφνδεςθ των Name Servers 18 Εικόνα 2-5 Ζλεγχοσ SNMP 19 Εικόνα 2-6 Επιπλζον Πλθροφορίεσ μζςω SNMP 20 Εικόνα 2-7 Σάρωςθ Ping 22 Εικόνα 2-8 Τα αποτελζςματα μιασ ςάρωςθσ κυρϊν με τθν βοικεια του εργαλείου Port Scanner 23 Εικόνα 2-9 Ζλεγχοσ τρωτϊν ςθμείων με το εργαλείο Nessus 24 Εικόνα 4-1 Διάταξθ Network Based IDS 32 Εικόνα 4-2 Παράδειγμα ςυςτιματοσ ανίχνευςθσ διαταραχϊν 39 Εικόνα 4-3 Παράδειγμα ςυςτιματοσ ανίχνευςθσ «κακισ ςυμπεριφοράσ 42 Εικόνα 5-1 Το Μοντζλο OSI 50 Εικόνα 5-2 Το frame ενόσ δικτυακοφ πακζτου ςφμφωνα με το IP 51 Εικόνα 5-3 Θ δομι μίασ IP επικεφαλίδασ 51 Εικόνα way handshake 55 Εικόνα 5-5 Δομι πακζτου TCP 55 Εικόνα 6-1 Αρχιτεκτονικι Συςτιματοσ 59 Εικόνα 6-2 Όγκοσ πακζτων ςτο χρόνο 63 Εικόνα 6-3 Πίνακασ NOTUSED 65 Εικόνα 6-4 Πίνακασ TREXORIA 66 Εικόνα 6-5 Φυςιολογικι κατάςταςθ ςυςτιματοσ 70 Εικόνα 6-6 Το ςφςτθμα ςε κατάςταςθ επιφυλακισ 71 Εικόνα 6-7 Σφςτθμα ςε κατάςταςθ ςυναγερμοφ 72 Εικόνα 6-8 Γράφθμα για κάκε port 74 Εικόνα 6-9 Διάγραμμα κανονικισ λειτουργίασ 75 Εικόνα 6-10 Διάγραμμα επίκεςθσ 76 Εικόνα 6-11 Διάγραμμα FTP Server port 77 Εικόνα 7-1 Κατανομι των NON-ACK πακζτων για κανονικι κίνθςθ. 83 Εικόνα 7-2 Κατανομι NON-ACK πακζτων ςε περίπτωςθ επίκεςθσ. 84 Εικόνα 7-3 Διαςφνδεςθ υπολογιςτϊν 87 Εικόνα 7-4 Κατανομζσ ACK/non-ACK 98 Εικόνα 7-5 Καμπφλθ ROC 99 Εικόνα 8-1 Αρχιτεκτονικι ςυςτιματοσ 104 Εικόνα 8-2 Δομι πακζτου UDP 105 Εικόνα 8-3 Καμπφλθ ROC 110 Εικόνα 8-4 Ο Agent ςαν Αυτόνομο Σφςτθμα 112 Εικόνα 8-5 Πολλαπλά παράκυρα για κακε IP 119 Εικόνα 8-6 Γραφικό περιβάλλον Agent 121 xvii

18 xviii Εικόνα 8-7 Θ εφαρμογι Agent ωσ service 122 Εικόνα 8-8 Γραφικό περιβάλλον Juror 123 Εικόνα 8-9 Πλθροφορίεσ για τισ ςυνδζςεισ ςτον Juror 124 Εικόνα 8-10 Ο Juror δείχνει επίκεςθ 125 Εικόνα 8-11 Δοκιμι επίκεςθσ με το Nmap 126 Εικόνα 9-1 d=20, μεγάλο Pantiv, μικρό Popenm 143 Εικόνα 9-2 d=20, μικρό Pantiv, μεγάλο Popenm 143 Εικόνα 9-3 d=100, μεγάλο Pantiv, μικρό Popenm 144 Εικόνα 9-4 d=100, μικρό Pantiv, μεγάλο Popenm 144

19 1-Αζθάλεια Υπολογιζηικών Σςζηημάηυν 1. Αςφϊλεια Υπολογιςτικών Συςτημϊτων «Γενικά, αυτόσ που καταλαμβάνει το πεδίο τθσ μάχθσ πρϊτοσ, ζχει το πλεονζκτθμα» - Sun Tzu 1.1. Ειςαγωγό Είναι γνωςτό πωσ θ χριςθ των υπολογιςτϊν παρουςιάηει εκκετικοφσ ρυκμοφσ αφξθςθσ, δίνοντασ ςτουσ χριςτεσ τισ δυνατότθτεσ για τθν εφκολθ και γριγορθ προςπζλαςθ ςτισ διακζςιμεσ πλθροφορίεσ. Η ευρεία χριςθ των κατανεμθμζνων βάςεων δεδομζνων, των κατανεμθμζνων υπολογιςτικϊν ςυςτθμάτων και των τθλεπικοινωνιακϊν εφαρμογϊν, με τθν χριςθ των ευρυηωνικϊν δικτφων αποτελοφν κεμελιϊδθ δομικά ςτοιχεία τθσ επικοινωνίασ. Μζςω του Διαδικτφου διακινείται πλζον τεράςτιοσ όγκοσ και μεγάλθ ποικιλία πλθροφοριϊν, κακιςτϊντασ το ςθμαντικό παράγοντα τθσ κακθμερινισ δραςτθριότθτασ. Η φφςθ αυτι του Διαδικτφου ζχει δθμιουργιςει μία διαρκϊσ αυξανόμενθ ανάγκθ προςταςίασ των δεδομζνων, αφοφ είναι δυνατι θ μθ εξουςιοδοτθμζνθ πρόςβαςθ ςτισ διακινοφμενεσ πλθροφορίεσ που δφςκολα ανιχνεφεται, ζχοντασ πικανά, καταςτρεπτικζσ ςυνζπειεσ για τθν προςωπικι ηωι των πολιτϊν, τθν εφρυκμθ λειτουργία οργανιςμϊν (οικονομικϊν, ςτρατιωτικϊν, πολιτικϊν) και κατϋ επζκταςθ κρατϊν. [1] Το πρόβλθμα τθσ αςφάλειασ ςτα δίκτυα υπολογιςτϊν ζχει απαςχολιςει ζντονα ό- λουσ όςων τα ςυμφζροντα διακυβεφονται ςε μεγάλο βακμό από τθν χριςθ των δικτφων υπολογιςτϊν και ζχει κινθτοποιιςει τόςο τθν επιςτθμονικι κοινότθτα όςο και τουσ καταςκευαςτζσ λογιςμικοφ και υλικοφ προσ τθν κατεφκυνςθ τθσ κατανόθςθσ, ανάλυςθσ και εφρεςθσ μεκόδων βελτίωςθσ. Είναι κοινά αποδεκτό ότι το βαςικότερο βιμα για τθν επίλυςθ ενόσ προβλιματοσ είναι θ όςο το δυνατόν πλθρζςτερθ κατανόθςι του, δθλαδι θ οριοκζτθςθ του ίδιου του γενικοφ προβλιματοσ και των εκφάνςεων και παραλλαγϊν του, θ γνϊςθ των «εχκρϊν», των κινιτρων και των εργαλείων-όπλων που χρθςιμοποιοφν, και τζλοσ ο τρόποσ δράςθσ τουσ. Ο Sun Tzu, ζνασ διάςθμοσ ςτρατθγόσ που ζηθςε το 500Ρ.Χ. είχε πει: "αν γνωρίηεισ τισ δυνατότθτεσ του εχκροφ ςου και παράλλθλα γνωρίηεισ τισ δυνατότθτεσ του εαυτοφ ςου δεν πρζπει να φοβάςαι οφτε εκατό αναμετριςεισ. Αν γνωρίηεισ μόνο τον εαυτό ςου αλλά όχι τον εχκρό ςου για κάκε νίκθ ςου κα ζχεισ και μία ιτα, ενϊ αν δεν γνωρίηεισ τισ δυνατότθτεσ κανενόσ από τουσ δφο είναι βζβαιο πωσ κα χάνεισ κάκε μάχθ"[2]. Στα πλαίςια αυτισ τθσ κζςθσ και όςον αφορά το πρόβλθμα τθσ αςφάλειασ ςτο Διαδικτφου, είναι απαραίτθτο να γνωρίηουμε τι δυνατότθτεσ υπάρχουν για να ενιςχφςουμε τθν άμυνά μασ, αλλά και ποια θ μεκοδολογία και τα μζςα που ζχουν οι αντί- 1

20 1.2-Ιζηοπική Αναδπομή παλοι για να προςδιορίςουν τισ επικίνδυνεσ και ευάλωτεσ περιοχζσ του διαδικτφου και να επιτεκοφν ςε αυτζσ. Για να ςυνειςφζρουμε ςτθν ελλθνικι κοινότθτα των χρθςτϊν του διαδικτφου με τον Κακθγθτι μου Ραφλο Σπυράκθ επιμελθκικαμε και παρουςιάςαμε ςε ζνα βιβλίο μια μεκοδολογία ςχεδιαςμοφ, υλοποίθςθσ και ενίςχυςθσ τθσ περιμετρικισ αςφάλειασ ςε IP δίκτυα υπολογιςτϊν. Σκοπόσ μασ ιταν να ςυγκεντρϊςουμε ςε ζνα χριςιμο οδθγό πλθροφορίεσ ςχετικζσ με τα προβλιματα αςφάλειασ που παρουςιάηονται ςε υπολογιςτικά και δικτυακά ςυςτιματα και οδθγίεσ για τθν αντιμετϊπιςι τουσ, ζτςι ϊςτε τόςο αυτοί που ζχουν ςχετικά μικρι ε- μπειρία, όςο και οι ζμπειροι να βρουν ςυγκεντρωμζνα ςτοιχεία και αναφορζσ για τθν περαιτζρω διερεφνθςι τουσ [3]. Στο κεφάλαιο αυτό κάνουμε μία ιςτορικι αναδρομι (1.2), προςπακοφμε να κατανοιςουμε τα προβλιματα αςφάλειασ και τισ επιπτϊςεισ τουσ κακϊσ και τθν εξζλιξθ των επικζςεων (1.3), δικαιολογοφμε το ενδιαφζρον για τθν αςφάλεια (1.4), αναλφουμε τα τρωτά του διαδικτφου που εκμεταλλεφονται ςυνικωσ οι επιτικζμενοι (1.5), και περιγράφουμε τουσ ςυνθκιςμζνουσ τφπουσ τρωτϊν (1.6) Ιςτορικό Αναδρομό Ζνασ τυπικόσ και ενδεικτικόσ οριςμόσ όχι όμωσ πλιρθσ και εκτεταμζνοσ - του όρου «Αςφάλεια Υπολογιςτϊν και Δικτφων» είναι: θ αποτροπι επικζςεων με ςκοπό τθν αποφυγι μθ εξουςιοδοτθμζνθσ εκμετάλλευςθ υπολογιςτικϊν και δικτυακϊν πόρων και δεδομζνων. Το Internet άρχιςε ςαν ζνα πείραμα ςτα τζλθ τθσ δεκαετίασ του '60 από τθν Advanced Research Projects Agency (ARPA, τϊρα πλζον DARPA), του αμερικανικοφ Υπουργείου Άμυνασ. Το Δεκζμβριο του 1969, το πειραματικό δίκτυο είχε online τζςςερισ κόμβουσ ςυνδεμζνουσ με κυκλϊματα των 56Kbps. Η τεχνολογία αυτι αποδείχτθκε αξιόπιςτθ και οδιγθςε ςε δφο παρόμοια ςτρατιωτικά δίκτυα το MILNET ςτισ Ηνωμζνεσ Ρολιτείεσ και το MINET ςτθν Ευρϊπθ. Σιγά-ςιγά το δίκτυο απζκτθςε μερικζσ χιλιάδεσ κόμβουσ δθμιουργϊντασ ζτςι το πρϊτο Internet το ARPANET. Από τότε μζχρι ςιμερα ο ρυκμόσ ςφνδεςθσ νζων κόμβων ςυνεχϊσ αυξάνεται (βλ. Εικόνα 1-1) 2

21 1-Αζθάλεια Υπολογιζηικών Σςζηημάηυν Εικόνα 1-1 Συνδεμζνοι κόμβοι ςτο Internet Το πρϊτο δίκτυο, το ARPANET είχε αρχικά ςχεδιαςτεί με ςκοπό τθν ευελιξία. Με τθν πάροδο του χρόνου και όςο προςκζτονταν κόμβοι, άρχιςαν τα πρϊτα βιματα του hacking. Αρχικά οι ερευνθτζσ που χρθςιμοποιοφςαν το δίκτυο αντάλλαςςαν αςτεία και ενοχλθτικά μθνφματα [4] αυτοί ιταν οι πρϊτοι hackers. Ήταν ςπάνιο εκείνο τον καιρό μία προςπάκεια απομακρυςμζνθσ ςφνδεςθσ ςε ζνα άλλο κόμβο να κεωρθκεί επίκεςθ, κφρια λόγω του ότι οι χριςτεσ του δικτφου, ιταν μία μικρι ομάδα ανκρϊπων που γνϊριηαν προςωπικά ο ζνα τον άλλο. Τα πρϊτα πραγματικά προβλιματα αςφάλειασ εμφανίςτθκαν γφρω ςτο 1980 κφρια λόγω τθσ χρθςιμοποίθςθσ των υπολογιςτϊν για διαχείριςθ απόρρθτων δεδομζνων και ςυγκεκριμζνα δεδομζνων που ςχετίηονταν με ςτρατιωτικζσ πλθροφορίεσ. Η αποκορφφωςθ ιρκε το 1986, που ε- ξαιτίασ ενόσ λογιςτικοφ λάκουσ που παρατιρθςε ο Cliff Stoll, ςε ζνα τθλεφωνικό λογαριαςμό που ςφνδεε τουσ υπολογιςτζσ ςτο ARPANET, του Lawrence Berkeley National Laboratory ςτθν Βόρεια Καλιφόρνια, ανακάλυψε πωσ γινόταν μία διεκνισ προςπάκεια μζςω του δικτφου να κλαποφν πλθροφορίεσ από ςτρατιωτικοφσ κόμβουσ ςτθν Αμερικι[5]. H διαμοιραηόμενθ χριςθ υπολογιςτικϊν και δικτυακϊν πόρων και πλθροφοριϊν αυξάνεται με εκκετικοφσ ρυκμοφσ και ςτα 1980 είναι αναγκαία θ χριςθ λειτουργικϊν ςυςτθμάτων που να αποτρζπουν τουσ χριςτεσ από ανεπικφμθτθ -ςκόπιμθ ι μθ- αλλθλεπίδραςθ κακϊσ και κωράκιςθ των δικτφων απζναντι ςτθν αναςφαλι τουσ φφςθ. Ραράλλθλα με τθ δυνατότθτα απόκρυψθσ τθσ πλθροφορίασ (που απαιτείται ςε περιπτϊςεισ μετάδοςθσ διαβακμιςμζνθσ πλθροφορίασ), επιβάλλεται και θ διατιρθςθ τθσ ορκότθτάσ τθσ κατά τθ μεταφορά και τθν ανάκτθςι τθσ (που είναι διακαισ ςτόχοσ των επιχειριςεων και τθσ αγοράσ εν γζνει). Οι υπολογιςτζσ αποτελοφν, ταυτόχρονα, μζςα και ςτόχουσ επικζςεων και θ αςφάλεια τουσ δεν αντιμετωπίηεται ωσ αυτοςκοπόσ αλλά ςαν το βαςικό ςτοιχείο τθσ διαςφάλιςθσ πλθροφοριϊν. Ρροκειμζνου να διαςαφθνιςτεί ο όροσ αςφάλεια είναι αναγκαίο να οριςτοφν α) ποιοι πόροι πρζπει να «προςτατεφονται» και β) απζναντι ςε ποιεσ «απειλζσ»[3]. 3

22 1.2-Ιζηοπική Αναδπομή Ωσ πόροι που πρζπει να προςτατεφονται κεωροφνται διεργαςίεσ κακϊσ και αρχεία ι δεδομζνα που μεταφζρονται ςε υπολογιςτζσ ι δίκτυα υπολογιςτϊν. Ρόροι μπορεί ακόμα να είναι θ φιμθ και θ αξιοπιςτία (π.χ. deface ςε μία εταιρία που κάνει ελζγχουσ αςφάλειασ). Ωσ απειλζσ για τθν αςφάλεια πλθροφοριϊν κεωροφνται μορφζσ αναπαραγόμενου κϊδικα, όπωσ ιοί (viruses), ςκουλικια (worms), εκτελζςιμα αρχεία εντολϊν (shell scripts), exploits που μποροφν να χρθςιμοποιιςουν ατζλειεσ του λογιςμικοφ (bugs) προκειμζνου να αλλοιϊςουν τα δικαιϊματα προςπζλαςθσ διεργαςιϊν. Στα πλαίςια μιασ γενικότερθσ κεϊρθςθσ, αςφάλεια κεωρείται θ επιτυχισ εξουδετζρωςθ απειλϊν όπωσ κλοπι, απάτθ, διαςυρμόσ, καταςκοπεία, εκβιαςμόσ, τρομοκρατία. Με βάςθ το κίνθτρο τθσ επίκεςθσ, που μπορεί να είναι από απλι επικυμία απόκτθςθσ πρόςβαςθσ ςε απαγορευμζνουσ πόρουσ μζχρι και ανορκόδοξθ επίτευξθ πολιτικϊν και οικονομικϊν ςτόχων, διακρίνονται οι ακόλουκεσ κατθγορίεσ ειςβολζων: Hackers: επεμβαίνουν παράνομα ςε υπολογιςτζσ επειδι απλά αντιμετωπίηουν τθ διαδικαςία τθσ προςβολισ τθσ αςφάλειασ υπολογιςτϊν και δικτφων ςαν πρόκλθςθ για τισ προγραμματιςτικζσ του ικανότθτεσ. Κατάςκοποι (Spies): επιδιϊκουν τθν παράνομθ απόκτθςθ πλθροφοριϊν με απϊτερο ςτόχο το πολιτικό όφελοσ. Τρομοκράτεσ (Terrorists): ςκοπεφουν ςτο να διαςπείρουν φόβο ςχετικά με πολιτικά ηθτιματα και γι αυτό χρθςιμοποιοφν πλθροφορίεσ που ζχουν αποκτιςει με μθ νόμιμο τρόπο. Βιομθχανικοί κατάςκοποι (Corporate Raiders): επιδιϊκουν τθν απόκτθςθ πρόςβαςθσ ςε πλθροφορίεσ και ςυςτιματα ανταγωνιςτικϊν εταιριϊν και επιχειριςεων με ςκοπό το οικονομικό όφελοσ εισ βάροσ τουσ. Επαγγελματίεσ εγκλθματίεσ (Professional Criminals): ςτοχεφουν ςτθν ικανοποίθςθ προςωπικϊν οικονομικϊν οφελϊν μζςω παράνομθσ απόκτθςθσ πλθροφοριϊν ι παραποίθςισ τουσ. Βάνδαλοι (Vandals): ζχουν ωσ μόνο ςτόχο τθν πρόκλθςθ ηθμιάσ με οποιοδιποτε τρόπο και χωρίσ κάποιο ςυγκεκριμζνο προςωπικό όφελοσ. Ανεξάρτθτα από τθν κατθγοριοποίθςθ των επιτικεμζνων ςε ζνα ςφςτθμα, κφριο πρόβλθμα που πρζπει να αντιμετωπιςτεί είναι ο ζγκαιροσ προςδιοριςμόσ των τρωτϊν και θ βελτίωςθ τθσ αςφάλειασ των ςυςτθμάτων πριν από τουσ επιτικζμενουσ. 4

23 1-Αζθάλεια Υπολογιζηικών Σςζηημάηυν 1.3. Κατανόηςη των προβλημϊτων αςφϊλειασ Οι επικζςεισ που δζχονται τα υπολογιςτικά ςυςτιματα είναι δφο ειδϊν: 1. μαηικζσ επικζςεισ από αυτοματοποιθμζνα εργαλεία με ςκοπό τθν ευρεία διερεφνθςθ λιγότερο αςφαλϊν ςυςτθμάτων ι τθν ταχεία διάδοςθ ιϊν και ςκουλθκιϊν. Συνικωσ οι επικζςεισ αυτζσ γίνονται με αυτοματοποιθμζνα εργαλεία και οι ιοί ζ- χουν μαηικό τρόπο διάδοςθσ χρθςιμοποιϊντασ διαφορετικζσ τεχνικζσ όπωσ: Internet worms (Nachi, OpaServ, εκμεταλλευόμενα διαφόρων τρωτά ςθμεία ςυςτθμάτων, εγκακιςτϊντασ κερκόπορτεσ (backdoors) και νζεσ υπθρεςίεσ π.χ. SMTP engine ι Open-proxies (W32/Sobig.A-mm). Ε- κτιμάται πωσ το 2001 το παγκόςμιο κόςτοσ τθσ δράςθσ των ιϊν ιταν $13,2δισ (π.χ. ο SirCam $1,15δισ, και ο Code Red $2,62δισ)[6] mass-mailers και μάλιςτα αυτοπροςαρμοηόμενουσ, που προςπελαφνουν δικτυακοφσ τόπουσ ι usenet newsgroups για να «κατεβάςουν» νζο κϊδικα ϊςτε να βελτιωκοφν dialers (7AdPower) που εγκακίςτανται από ιςτοςελίδεσ που «κατεβάηουν» ActiveX κϊδικα και κάνουν τθλεφωνικζσ κλιςθσ με χριςθ του modem. P2P προγράμματα για τθν διακίνθςθ μουςικισ, προγραμμάτων, ταινιϊν, κλπ. Το 45% των αρχείων που διακινοφνται περιζχουν ιοφσ, ενϊ επιπλζον υπάρχουν κερκόπορτεσ ςε πολλά από αυτά AVKill (Antivirus killing) και FWKill-(Firewall killing) που τερματίηουν το πρόγραμμα προςταςίασ από ιοφσ (W32/Yaha) ι το firewall ε- γκακιςτϊντασ πολλζσ φορζσ δικό τουσ network driver για να αποφφγουν τοπικά firewalls. DDoS (Distributed Denial of Service) με προγραμματιςμζνεσ επικζςεισ ςε ςυγκεκριμζνουσ κόμβουσ αποςτζλλοντασ TCP και UDP κίνθςθ από πολλά ςυςτιματα και από διαφορετικά δίκτυα με ςκοπό να κάνουν απροςπζλαςτθ για τουσ χριςτεσ τθν υπθρεςία (Sobig, Mimail variants) Bot-Net με τθν δθμιουργία ενόσ ιδεατοφ δικτφου από τθλε-ελεγχόμενα ςυςτιματα με χριςθ IRC channel. Spyware για τθν παρακολοφκθςθ των κόμβων που επιςκζπτεται ο χριςτθσ και τθν ςυλλογι ςτοιχείων για ςκοποφσ marketing 2. δφςκολεσ εςτιαςμζνεσ προςπάκειεσ διείςδυςθσ ςε ςυγκεκριμζνουσ κόμβουσ με ςκοπό τθν πρόςβαςθ ςε κρίςιμα (προςωπικϊν ι βιομθχανικϊν) δεδομζνα ι τθν αλλοίωςθ ιςτοςελίδων με ςκοπό τθν δυςφιμιςθ. Στθν περίπτωςθ τθσ εςτιαςμζνθσ επίκεςθσ ςε ςυγκεκριμζνο κόμβο χρθςιμοποιοφνται ωσ τεχνικζσ: 5

24 1.3-Καηανόηζη ηυν πποβλημάηυν αζθάλειαρ διερεφνθςθ νζων αλλά και παλαιϊν τρωτϊν ςθμείων που δεν ζχουν προλάβει να διορκωκοφν από τουσ διαχειριςτζσ προςπζλαςθ του εταιρικοφ δικτφου μζςα από τθν διαςφνδεςθ εργαηομζνων από το ςπίτι του Κοινωνικι Εφαρμοςμζνθ Μθχανικι (Social Engineering) που είναι ο δθμοφιλζςτεροσ και πιο αποτελεςματικόσ τρόποσ για ζνα hacker, ϊςτε να προςπελάςει εξουςιοδοτθμζνεσ υπθρεςίεσ, με τθν βοικεια του χριςτθ. Ρολλζσ φορζσ υπάλλθλοι εταιριϊν ςυμμετζχουν άκελά τουσ ςε κλοπι άυλων περιουςιακϊν ςτοιχείων εταιριϊν, περιςτατικά που ςυνικωσ δεν γίνονται γνωςτά για προφανείσ λόγουσ δυςφιμιςθσ. δθμιουργία ψευδϊν κόμβων που υποκρίνονται τουσ πραγματικοφσ που παρζχουν υπθρεςίεσ για τθν ςυλλογι προςωπικϊν και οικονομικϊν ςτοιχείων «γνωςτικι απάτθ» (cognitive hacking) που ςτθρίηεται ςτο ότι ο χριςτθσ πείκεται να κάνει ενζργειεσ που ςτθν ουςία τον εγκακιςτοφν κφμα. Ραράδειγμα τα παραπλανθτικά μθνφματα που ηθτοφν από το χριςτθ να αποκαλφψει τα τραπεηικά του ςτοιχεία προκειμζνου να «επιβεβαιωκοφν» από τθν τράπεηα. Στο μινυμα αυτό προςπακοφν να υποκλζψουν αρικμοφσ πιςτωτικϊν καρτϊν αποςτζλλοντασ ςτα υποψιφια κφματά με δικεν αποςτολζα τθν τράπεηα. χριςθ εργαλείων όπωσ sniffers, keyloggers, trojan horses, backdoors, arp poisoning tools, wireless sniffing, κά. Οι επικζςεισ αυτζσ επιφζρουν μεγάλεσ οικονομικζσ ηθμιζσ ςτισ εταιρίεσ. Τα προβλιματα που αναφζρκθκαν φαίνονται ςτον παρακάτω πίνακα: Ρρόβλθμα που δθλώκθκε % Μείωςθ παραγωγικότθτασ 76% Εξοπλιςμόσ ςε προςωρινι αχρθςτία 67% Κατεςτραμμζνα αρχεία 58% Ρροςωρινι απϊλεια προςπζλαςθσ ςε δεδομζνα 50% Χαμζνα δεδομζνα 47% Μείωςθ τθσ εμπιςτοςφνθσ των χρθςτϊν 33% Κακυςτεριςεισ και «κολλιματα» 18% System crash 16% Αναξιόπιςτεσ εφαρμογζσ 14% Ρροβλιματα ςτο άνοιγμα των αρχείων 12% Ρροβλιματα ςτο ςϊςιμο των αρχείων 7% Ρροβλιματα ςτθν εκτφπωςθ 6% Απειλι για χάςιμο εργαςίασ 1% Ρίνακασ 1-1 Ρροβλιματα που δθλώκθκαν μετά από επίκεςθ Κακϊσ όλο και περιςςότεροι χριςτεσ ςυνδζονται ςτο διαδίκτυο χρθςιμοποιϊντασ ευρυηωνικζσ ςυνδζςεισ μεγάλθσ ταχφτθτασ, αυξάνεται θ ςυχνότθτα και το μζγεκοσ των προβλθμάτων όπωσ: 6

25 1-Αζθάλεια Υπολογιζηικών Σςζηημάηυν Zero-day επικζςεισ πριν βγουν τα patches από τουσ καταςκευαςτζσ. Το διάςτθμα από τθν αναγνϊριςθ ενόσ τρωτοφ μζχρι τθν καταςκευι του προγράμματοσ που κα το χρθςιμοποιεί για επίκεςθ ςυνεχϊσ ε- λαχιςτοποιείται αυξανόμενθ δράςθ των μαηικϊν μθνυμάτων θλεκτρονικοφ ταχυδρομείου (mass mailers) κυρίωσ από τουσ home users με δραματικι αφξθςθ των spam mails ςτο πάνω από 90% τθσ κίνθςθσ. αυξανόμενθ χριςθ των προγραμμάτων μοιράςματοσ αρχείων P2P που δεςμεφει ωφζλιμο εφροσ ηϊνθσ επικοινωνίασ (bandwidth) και ευνοεί τθ διάδοςθ των ιϊν και επιβλαβϊν προγραμμάτων (malware) προϊκθςθ τθσ χριςθσ λογιςμικοφ ανοικτοφ κϊδικα και εργαλείων επίκεςθσ ςτθν αςφάλεια διάδοςθ των ιϊν και multiplatform worms διερευνϊντασ γνωςτά τρωτά ςθμεία με πολυμορφιςμό (αλλαγι εμφάνιςθσ) και μεταμορφιςμό (αλλαγι λειτουργίασ) με τθν διάδοςθ των ευρυηωνικϊν ςυνδζςεων τα home PCs των εργαηομζνων παίηουν το ρόλο του δοφρειου ίππου για να προςεγγιςτοφν τα απροςπζλαςτα δίκτυα των εταιριϊν, μζςω των VPNs που αυτοί χρθςιμοποιοφν για να ςυνδεκοφν ςτο εταιρικό δίκτυο. Πλα αυτά επιφζρουν πιζςεισ από καταναλωτζσ και ρυκμιςτικζσ αρχζσ να υιοκετθκοφν νομικά και τεχνικά μζτρα από τουσ παροχείσ υπθρεςιϊν για τθν κατοχφρωςθ των χρθςτϊν. Εικόνα 1-2 Η Εξζλιξθ των Επικζςεων Στθν Εικόνα 1-2 φαίνεται θ εξζλιξθ ςτθν ταχφτθτα μόλυνςθσ των διαςυνδεμζνων ςυςτθμάτων ςτο πζραςμα των χρόνων. Ρ.χ. οι ιοί αρχείων ικελα μινεσ για να δια- 7

26 1.4-Γιαηί ηόζο ενδιαθέπον για ηην αζθάλεια δοκοφν, ενϊ τα ςθμερινά flash threats λίγα δευτερόλεπτα[7] Ζνα ςφςτθμα είναι αςφαλζσ τόςο, όςο ενδιαφζρονται οι άνκρωποι που το χρθςιμοποιοφν. Κανείσ δεν νοιάηεται για τθν αςφάλεια ενόσ ςυςτιματοσ που λειτουργεί ςυνεχϊσ και ζχει τα απαραίτθτα backup για να επανζλκει ςτθν κανονικι λειτουργία του, αν ςυμβεί πρόβλθμα ςτο υλικό. Το πρόβλθμα προκφπτει όταν μία ανάγκθ (όπωσ θ εμπιςτευτικότθτα) πρζπει να υ- ποςτθριχκεί. Από τθν ςτιγμι που κα αρχίςουν θ υλοποιιςεισ ςυςτθμάτων αςφαλείασ, δεν υπάρχει ορατό τζλοσ ςτθν βελτίωςθ τθσ αςφάλειασ. Πποιοσ δεν ζχει προςπζλαςθ ςτο ςφςτθμα, κα προςπακεί να βρει ευπακζσ ςθμείο ςτθν αςφάλεια, ϊςτε να κατορκϊςει να ειςζλκει. Ευπάκεια ι Τρωτό Σθμείο είναι ζνα αδφνατο ςθμείο του ςυςτιματοσ που εκμεταλλεφεται κάποιοσ που κζλει να βρει ζνα τρόπο να ειςβάλει, χωρίσ εξουςιοδότθςθ, ςε ζνα υπολογιςτικό/δικτυακό ςφςτθμα. Πταν με χριςθ του ευπακοφσ ςθμείου γίνει ειςβολι, τότε μιλάμε για περιςτατικό παραβίαςθσ τθσ αςφάλειασ. Τα τρωτά ςθμεία οφείλονται ςε ςχεδιαςτικά και καταςκευαςτικά λάκθ Γιατύ τόςο ενδιαφϋρον για την αςφϊλεια Είναι χαρακτθριςτικά εφκολο να αποκτιςει κάποιοσ μθ εξουςιοδοτθμζνθ προςπζλαςθ ςε ζνα περιβάλλον με χαλαρι αςφάλεια και ταυτόχρονα να μθν γίνει ποτζ α- ντιλθπτόσ. Ακόμα και αν χριςτεσ του δικτφου δεν ζχουν κάτι χριςιμο ςε ζνα υπολογιςτι, αυτόσ μπορεί να γίνει θ κερκόπορτα για τθν ειςβολι ςε ζνα άλλο δίκτυο. Ακόμα και θ πιο "ακϊα" πλθροφορία, όπωσ ποια προγράμματα τρζχουν οι υπολογιςτζσ, ι τι πρωτόκολλα χρθςιμοποιοφνται είναι πολφ ςθμαντικά ςτοιχεία για τουσ επιτικζμενουσ. Με τθ γνϊςθ αυτι μποροφν να δοκιμάςουν γνωςτά τρωτά ςθμεία τουσ και να αποκτιςουν πρόςβαςθ ςε ςθμαντικζσ πλθροφορίεσ. Το διαδίκτυο είναι ζνα μζςο διάδοςθσ πλθροφοριϊν, ακόμα και για τισ αδυναμίεσ που ανακαλφπτονται ςε λειτουργικά ςυςτιματα, πρωτόκολλα και εφαρμογζσ. Στο διαδίκτυο υπάρχει ζνασ ανταγωνιςμόσ ταχφτθτασ, ανάμεςα ςτο πόςο γριγορα κα αντιδράςουν οι καταςκευαςτζσ και οι διαχειριςτζσ των υπολογιςτικϊν ςυςτθμάτων για να διορκϊςουν ζνα νζο αδφνατο ςθμείο ςτο ςφςτθμά τουσ, πριν δεχκοφν ειςβολι και των hackers που κζλουν να εκμεταλλευτοφν αυτό το αδφνατο ςθμείο για να ειςβάλουν ςτο ςφςτθμα. Οι επιπτϊςεισ μίασ παραβίαςθσ ςτθν αςφάλεια μπορεί να αφορά τον χαμζνο χρόνο για τθν ανάκτθςθ τθσ λειτουργικότθτασ των ςυςτθμάτων, τθν απϊλεια χρθμάτων, φιμθσ και αξιοπιςτίασ, τθν αδυναμία ςυνζχιςθσ τθσ εργαςίασ, τα νομικά προβλιματα και ςε εξαιρετικά ςπάνιεσ περιπτϊςεισ ακόμα και ο κίνδυνοσ τθσ ίδιασ τθσ ηωισ. 8

27 1-Αζθάλεια Υπολογιζηικών Σςζηημάηυν Συνικωσ οι περιπτϊςεισ επίκεςθσ ζχουν ςκοπό τθν επίκεςθ κατά τθσ αξιοπιςτίασ, τθσ φιμθσ και τθσ λειτουργικότθτασ των οργανιςμϊν με αποτζλεςμα τθν άμεςθ ι ζμμεςθ χρθματικι επιβάρυνςθ. Επικζςεισ ζχουν παρουςιαςτεί και ςε πολλά sites του Ελλθνικοφ χϊρου κφρια του δθμόςιου τομζα με ςκοπό τθν δυςφιμθςι τουσ[3] Γιατύ το διαδύκτυο εύναι τρωτό Ρολλά από τα πρωταρχικά δικτυακά πρωτόκολλα, που τϊρα αποτελοφν μζροσ τθσ υποδομισ του διαδικτφου, δεν ςχεδιάςτθκαν ζχοντασ κατά νου τθν αςφάλεια. Επιπλζον, το διαδίκτυο είναι ζνα δυναμικό περιβάλλον, τόςο ςτθν τοπολογία του, όςο και ςτθν τεχνολογία. Χωρίσ μία κεμελιϊδθ αςφαλι υποδομι, θ άμυνα του δικτφου γίνεται πιο δφςκολθ. Ο ςτόχοσ κατά το ςχεδιαςμό του IP ιταν θ δθμιουργία ενόσ πρωτοκόλλου που να διαςυνδζει ετερογενι δίκτυα με τζτοιο τρόπο ϊςτε όλοι οι υπολογιςτζσ να είναι μοναδικά προςδιοριςμζνοι, να μποροφν να ανταλλάςςουν δεδομζνα με ζνα κοινό τρόπο και τζλοσ να μεταδϊςουν δεδομζνα χωρίσ να γνωρίηουν ςτοιχεία για τθ δομι και τθ μορφι των δικτφων που ανικουν οι παραλιπτεσ. Τα διαςυνδεόμενα δίκτυα αρχικά αφοροφςαν πανεπιςτιμια ι ερευνθτικά ιδρφματα και ςτόχοσ ιταν θ διαπανεπιςτθμιακι ςυνεργαςία. Για αυτόν το λόγο ουδζποτε τζκθκε κζμα αςφάλειασ ςτο ςχεδιαςμό του IP. Μοιραία λοιπόν οι μθχανιςμοί τθσ αςφάλειασ απουςιάηουν από εκεί που κα ζπρεπε να ιταν ενςωματωμζνοι, ςτο επίπεδο του δικτφου. Πταν αργότερα με τθν τεράςτια εξάπλωςθ του διαδικτφου και τθ χριςθ του για ε- μπορικοφσ ςκοποφσ εμφανίςτθκε το κζμα τθσ αςφάλειασ, ζπρεπε να αντιμετωπιςτεί ςε ζνα υψθλότερο επίπεδο όπωσ το επίπεδο εφαρμογισ ι ςπανιότερα ςτο επίπεδο μεταφοράσ. Για παράδειγμα (Ρίνακασ 1-2) το πρωτόκολλο Secure Sockets Layer (SSL) λειτουργεί ςτο επίπεδο παρουςίαςθσ, ενϊ το πρωτόκολλο Secure HTTP (HTTPS) λειτουργεί ςτο επίπεδο εφαρμογισ. OSI Layer Λειτουργία Ραράδειγμα Application Ραρζχει ειδικι δικτυακι προςπζλαςθ ςε εφαρμογζσ HTTP και FTP Presentation Συμπίεςθ και Απόκρυψθ Secure Socket Layer (SSL)* Session Διατιρθςθ Συνδζςεων Netbios Transport Διαςφάλιςθ τθσ μεταφοράσ δεδομζνων TCP, SPX και NetBEUI Network Αντιςτοίχιςθ δεδομζνων ςε διεφκυνςθ IP, IPX και UDP Data Link Μεταφορά βαςικϊν τμθμάτων δεδομζ- ATM, Ethernet and Token 9

28 1.5-Γιαηί ηο διαδίκηςο είναι ηπυηό νων και ζλεγχοσ λακϊν Ring Physical Μεταφορά «0» και «1» Καλϊδια και δικτυακζσ ςυςκευζσ Ρίνακασ 1-2 Ρρωτόκολλα και ISO Layer Εξαιτίασ του κλθρονομοφμενου ανοικτοφ περιβάλλοντοσ του διαδικτφου και του αρχικοφ ςχεδιαςμοφ των πρωτοκόλλων, οι επικζςεισ γενικά είναι γριγορεσ, εφκολεσ, ανζξοδεσ και ςτισ περιςςότερεσ περιπτϊςεισ δφςκολο να ανιχνευτοφν. Μία μζκοδοσ ενίςχυςθσ τθσ αςφάλειασ που εμφανίςτθκε τελευταία και χρθςιμοποιείται όλο και πιο ςυχνά είναι αυτι τθσ δθμιουργίασ ιδεατϊν ιδιωτικϊν δικτφων (VPNs) με χριςθ κατάλλθλου λογιςμικοφ ι υλικοφ. Η βαςικι φιλοςοφία αυτϊν των μεκόδων είναι θ κωδικοποίθςθ του πακζτου που πρόκειται να μεταδοκεί και κατόπιν θ ενςωμάτωςι του ςε ζνα νζο πακζτο που αποςτζλλεται ςτον προοριςμό. Η μετατροπι δθλαδι του αρχικοφ IP πακζτου ςε δεδομζνα ενόσ άλλου IP πακζτου όπου τα πεδία που αφοροφν τισ διευκφνςεισ αποςτολζα και παραλιπτθ είναι διαφορετικά από ότι ςτο αρχικό πακζτο (tunneling). Ραρά τισ επιτυχθμζνεσ προςπάκειεσ ςε όλεσ αυτζσ τισ μεκόδουσ εξακολουκεί να υπάρχει ζνα ςοβαρό πρόβλθμα. Αν χρθςιμοποιείται αςφάλεια ςτο επίπεδο εφαρμογισ τότε υπάρχει αρκετι πλθροφορία που περιζχεται ςτθν επικεφαλίδα του πακζτου ςτο οποίο ενςωματϊνεται το κωδικοποιθμζνο πακζτο, που είναι ευάλωτθ ςε επικζςεισ [8]. Με χριςθ προγραμμάτων ανάλυςθσ τθσ δικτυακισ κυκλοφορίασ (sniffers) είναι δυνατόν να αποκαλυφκοφν οι διεργαςίεσ και τα ςυςτιματα που α- νταλλάςςουν πλθροφορίεσ. Επίςθσ το κόςτοσ τθσ υποςτιριξθσ τθσ αςφάλειασ[9] από κάκε εφαρμογι χωριςτά ςτοιχίηει αρκετά ςε ςχζςθ με το να παρζχονταν θ α- ςφάλεια ςτο επίπεδο του δικτφου και κάκε εφαρμογι να ζκανε χριςθ αυτισ. Αν χρθςιμοποιείται αςφάλεια ςτο επίπεδο μεταφοράσ, τότε αυτό ςθμαίνει ότι οι εφαρμογζσ που χρθςιμοποιοφν αυτι τθ μζκοδο πρζπει να ξαναγραφτοφν, ϊςτε τόςο ο εξυπθρετθτισ όςο και ο πελάτθσ να κάνουν χριςθ αυτισ τθσ αςφάλειασ. Τζλοσ θ χριςθ πρωτοκόλλων tunneling ζχει μζτρια απόδοςθ, αλλά επιπλζον πάςχει από ζλλειψθ γενίκευςθσ. Εξαιτίασ του ότι το μεγαλφτερο μζροσ τθσ κυκλοφορίασ ςτο διαδίκτυο δεν είναι κρυπτογραφθμζνο, δεν είναι εφικτι θ εμπιςτευτικότθτα και ακεραιότθτα των πλθροφοριϊν. Ζνασ άλλοσ παράγοντασ που ςυνειςφζρει ςτθν επιδείνωςθ του προβλιματοσ είναι θ ραγδαία ανάπτυξθ των υπθρεςιϊν πάνω από το διαδίκτυο. Με χριςθ πολφπλοκων εφαρμογϊν, που δυςτυχϊσ δεν ςχεδιάηονται, εγκακίςτανται και ςυντθροφνται με προςοχι, μζνουν τρωτά ςθμεία ςτον κϊδικα των προγραμμάτων και των λειτουργικϊν Η εγκατάςταςθ και διαμόρφωςθ του λειτουργικοφ, όπωσ ζρχεται από τον κατα- 10

29 1-Αζθάλεια Υπολογιζηικών Σςζηημάηυν ςκευαςτι δεν είναι θ κατάλλθλθ για τθν διαςφάλιςθ και ενίςχυςθ τθσ αςφάλειασ, δίνοντασ τθν δυνατότθτα ςτουσ γνϊςτεσ να επιχειριςουν επίκεςθ αμζςωσ μετά τθν πρϊτθ εγκατάςταςθ. Τζλοσ πρζπει να τονιςτεί, πωσ με τθν εξζλιξθ του διαδικτφου υπάρχει θ ανάγκθ για εξειδικευμζνουσ μθχανικοφσ ςε κζματα αςφάλειασ που κα αναλφουν, ςχεδιάηουν, εγκακιςτοφν και ςυντθροφν τθν αςφάλεια ενόσ site Τύποι τρωτών Η ακόλουκθ ταξινόμθςθ είναι χριςιμθ για να καταλάβουμε τουσ τεχνικοφσ λόγουσ, πίςω από επιτυχείσ τεχνικζσ παραβίαςθσ τθσ αςφάλειασ και να βοθκιςει να προςδιοριςτοφν πικανζσ λφςεισ Ελαττώματα ςτο λογιςμικό ό ςτο ςχεδιαςμό των πρωτοκόλλων Τα πρωτόκολλα ορίηουν του κανόνεσ και τισ μεκόδουσ για να μποροφν οι υπολογιςτζσ να επικοινωνοφν μεταξφ τουσ ςτο δίκτυο. Αν το πρωτόκολλο ζχει ςχεδιαςτικό λάκοσ είναι επιςφαλζσ ςε εκμετάλλευςθ τθσ ευπάκειασ ανεξάρτθτα από το πόςο καλά υλοποιικθκε. Ζνα τζτοιο παράδειγμα είναι το Network File System (NFS), που επιτρζπει ςτα ςυςτιματα UNIX να διαμοιράηουν αρχεία. Το πρωτόκολλο αυτό δεν περιλαμβάνει ζναν τρόπο πιςτοποίθςθσ, ϊςτε ο χριςτθσ που ςυνδζεται να πιςτοποιείται για το αν είναι αυτό που διατείνεται. Οι NFS servers είναι ζνασ καλόσ ςτόχοσ για ειςβολείσ. Πταν ςχεδιάηεται το λογιςμικό χωρίσ θ αςφάλεια να ςυμπεριλαμβάνεται ςτισ αρχικζσ προδιαγραφζσ, υπάρχει το ενδεχόμενο το επιπλζον τμιμα που προςτίκεται για τθν ενίςχυςθ τθσ αςφάλειασ, να μθν αλλθλεπιδρά όπωσ είχε αρχικά ςχεδιαςτεί και να προκφπτουν απρόςμενα τρωτά ςθμεία. Το λογιςμικό μπορεί να ζχει τρωτά ςθμεία, επειδι δεν βρζκθκαν πριν τθν τελικι ζκδοςθ. Οι ειςβολείσ ψάχνουν και βρίςκουν αυτά τα ελαττϊματα με δικά τουσ εργαλεία. Για παράδειγμα ψάχνουν για ελαττϊματα ςε περιπτϊςεισ όπωσ: Ανταγωνιςτικζσ καταςτάςεισ ςτθν προςπζλαςθ αρχείων Ανυπαρξία ελζγχων για το περιεχόμενο και το μζγεκοσ των δεδομζνων Ανυπαρξία ελζγχων για τθν αντιμετϊπιςθ εςωτερικϊν λακϊν Αδυναμία προςαρμογισ ςε εξάντλθςθ πόρων Ελλιπι ζλεγχο του λειτουργικοφ περιβάλλοντοσ Ανάρμοςτθ χριςθ κλιςεων του ςυςτιματοσ Χριςθ τμθμάτων του λογιςμικοφ για άλλο ςκοπό από αυτό που ςχεδιάςτθκαν. Κάνοντασ χριςθ αδυναμιϊν ςτο λογιςμικό οι ειςβολείσ μποροφν να αποκτιςουν 11

30 1.6-Τύποι ηπυηών πρόςβαςθ ςε πόρουσ, χωρίσ να χρειάηονται τθν απαραίτθτθ εξουςιοδότθςθ από το ςφςτθμα (ςτθν Εικόνα 1-3 φαίνονται οι αδυναμίεσ που ζχουν ανιχνευκεί ανά λειτουργικό ςφςτθμα το 2008) Εικόνα 1-3 Αδυναμίεσ ανά Λειτουργικό Σφςτθμα Αδυναμύεσ ςτην διαμόρφωςη των ςυςτημϊτων και των δικτύων Τρωτά ςθμεία ςε αυτι τθν κατθγορία δεν προζρχονται από προβλιματα ςτα πρωτόκολλα ι το λογιςμικό. Αντίκετα τα προβλιματα αυτά προζρχονται από τον τρόπο που αυτά τα δομικά ςτοιχεία, εγκακίςτανται και χρθςιμοποιοφνται. Τα προϊόντα παραδίδονται και ςυνικωσ εγκακίςτανται με προκακοριςμζνεσ παραμζτρουσ, που οι ειςβολείσ μποροφν να εκμεταλλευτοφν. Οι διαχειριςτζσ ςυςτθμάτων και οι χριςτεσ μπορεί να μθν αλλάξουν τισ προκακοριςμζνεσ παραμζτρουσ, με αποτζλεςμα το ςφςτθμα να εμφανίηει ευπάκεια. Ζνα παράδειγμα λανκαςμζνθσ διαμόρφωςθσ που ζχει τφχθ εκμετάλλευςθσ αφορά τθν ανϊνυμθ χριςθ τθσ υπθρεςίασ File Transfer Protocol (FTP). Οι οδθγίεσ για τθν αςφαλι διαμόρφωςθ αυτισ τθσ υπθρεςίασ τονίηουν τθν ανάγκθ το password file, τα βοθκθτικά προγράμματα και τα αρχεία δεδομζνων να βρίςκονται ςε άλλθ κζςθ ςτο ςφςτθμα από το υπόλοιπο λειτουργικό ςφςτθμα και αυτό να μθν μπορεί να προςπελαςτεί από τον χϊρο αποκικευςθσ του FTP. Πταν οι διαχειριςτζσ δεν δείξουν προςοχι ςτθν διαμόρφωςθ του ftp server τότε μθ εξουςιοδοτθμζνοι χριςτεσ μποροφν να βρουν πλθροφορίεσ πιςτοποίθςθσ και να τισ εφαρμόςουν για να αποκτιςουν προςπζλαςθ. 12

31 2-Μεθοδολογία επίθεζηρ 2. Μεθοδολογύα επύθεςησ Η πραγματικι ευτυχία για ζναν hacker είναι θ ϊρα που καταφζρνει να παραβιάςει τθν αςφάλεια ενόσ ςυςτιματοσ και να αποκτιςει πρόςβαςθ ςε αυτό. Από εκείνθ τθ ςτιγμι και ζπειτα αρχίηει γι αυτόν θ πραγματικι διαςκζδαςθ. Μζχρι τότε κατανάλωςε μεγάλο μζροσ τθσ πνευματικισ του ενζργειασ, κακϊσ επίςθσ και πολλζσ ϊρεσ. Για να κατορκϊςει τελικά να ειςζλκει ςτο ςφςτθμα ακολοφκθςε κάποια βιματα. Στόχοσ του κεφαλαίου αυτοφ είναι να περιγράψει το πρϊτο και πολφ βαςικό ςτάδιο κατά το οποίο ο hacker ανακαλφπτει ςιγά ςιγά τι βρίςκεται πίςω από το καλϊδιο. Για να ζχει πικανότθτεσ να πετφχει μια επίκεςθ κα πρζπει ο hacker να ζχει μια αρκετά καλι εικόνα του τι ςυςτιματα πρόκειται να ςυναντιςει και μια πλθκϊρα πλθροφοριϊν για κακζνα από αυτά. Πςο πιο πολλά κατορκϊςει να μάκει, τόςο καλφτερα κα οργανϊςει τθν επίκεςι του. Γενικά θ ςυλλογι πλθροφοριϊν είναι μια χρονοβόρα διαδικαςία και απαιτεί ςυγκεκριμζνθ μεκοδολογία, κακϊσ ο ειςβολζασ μπορεί να ςυλλζξει διαφορετικζσ πλθροφορίεσ από διαφορετικζσ πθγζσ. Το πόςο ςθμαντικζσ και πλιρθσ κα είναι αυτζσ οι πλθροφορίεσ εξαρτάται από τθν υπομονι και τισ γνϊςεισ του ίδιου του ειςβολζα. Για τον λόγο αυτό πολλοί κεωροφν πωσ θ διαδικαςία τθσ αναγνϊριςθσ είναι ςε ζνα μεγάλο βακμό τζχνθ. Μάλιςτα όςο πιο ζμπειροσ και καλόσ είναι ζνασ hacker, τόςο καλφτερθ αναγνϊριςθ πραγματοποιεί. Η μεκοδολογία που χρθςιμοποιείται από κάποιον που προετοιμάηει μία επίκεςθ είναι απλι. Μακαίνει από το διαδίκτυο για τισ τελευταίεσ ευπάκειεσ ςτα ςυςτιματα. Ανιχνεφει το δίκτυο ενόσ site, για να βρεκεί ζνα τζτοιο τρωτό ςθμείο. Αν βρεκεί αρχίηει θ προςπάκεια εκμετάλλευςισ του. Οι ζμπειροι hackers προςπακοφν να α- ποκρφψουν τθν πραγματικι IP address του ςυςτιματόσ τουσ. Χρθςιμοποιοφν ςυςτιματα που ζχουν καταλάβει και από κει επιτίκενται ςτουσ επόμενουσ ςτόχουσ τουσ. Τα περιςςότερα εργαλεία που χρθςιμοποιοφνται είναι αυτοματοποιθμζνα ϊςτε να γίνονται γρθγορότερα. Το εργαλείο ξεκινά και πικανά μετά από αρκετζσ μζρεσ ςυγκεντρϊνονται τα αποτελζςματα. Τα εργαλεία, αν και είναι πολλά και διαφορετικά, χρθςιμοποιοφν τθν ίδια ςτρατθγικι: 1. Φτιάχνουν βάςεισ δεδομζνων με τα προςπελάςιμα ςυςτιματα 2. Βρίςκουν το λειτουργικό ςφςτθμα και τισ υπθρεςίεσ που προςφζρουν 3. Ρροςδιορίηουν το τρωτό ςθμείο και το εκμεταλλεφονται Ραρόλο που φαίνεται πωσ το ψάξιμο είναι κάτι που εφκολα εντοπίηεται τα αποτελζςματα δείχνουν το αντίκετο. Ρολλοί διαχειριςτζσ δεν παρακολουκοφν το δίκτυό 13

32 1.6-Τύποι ηπυηών τουσ, αλλά και οι hackers δεν ψάχνουν πάντα ςτο κενό. Βρίςκουν ζνα ςφςτθμα και αφοφ καταφζρουν να "μπουν" ςτο τοπικό δίκτυο, το χρθςιμοποιοφν ςαν όχθμα. Μποροφν είτε να ςυνεχίςουν ςτο εςωτερικό δίκτυο, είτε να ξεκινιςουν τθν αναηιτθςθ μεγάλου μζρουσ του διαδικτφου. Αν τυχόν και ο ανιχνευτισ τουσ ανακαλυφτεί, κα κατθγορθκεί ο διαχειριςτισ του ςυςτιματοσ από το οποίο ξεκινά θ επίκεςθ. Τυχόν νζεσ ανακαλφψεισ μοιράηονται με άλλουσ hackers, αυξάνοντασ κατά πολφ τθν δραςτικότθτά τουσ. Για να γίνει μία επίκεςθ αρκεί κανείσ: 1. Να ζχει ζναν υπολογιςτι ικανό να τρζχει όλα τα λειτουργικά ςυςτιματα που κα δοκιμάςει να επιτεκεί. 2. Να βρει ςτο διαδίκτυο μερικά καλά εργαλεία. 3. Να ενεργοποιιςει κάποια από τα εργαλεία για να "χαρτογραφιςει" το δίκτυο που τον ενδιαφζρει. Οι hackers γράφουν και δικό τουσ κϊδικα για να εκμεταλλευτοφν τισ δυνατότθτεσ των εργαλείων και να μπορζςουν να αυτοματοποιιςουν τθν ςυγκζντρωςθ τθσ πλθροφορίασ (π.χ. tcplogd).το scanning γίνεται ςυνικωσ από κοινόχρθςτα ςυςτιματα. 4. Να ανατρζξει μετά τθν ςυγκζντρωςθ αυτϊν των πλθροφοριϊν ςτισ βάςεισ δεδομζνων που υπάρχουν ςτο διαδίκτυο, με ςτοιχεία των ευπακειϊν ανά ςφςτθμα, ϊςτε να βρει μεκόδουσ επίκεςθσ και να τισ εφαρμόςει ςτο ςφςτθμα-ςτόχο. 5. Να κατεβάςει το απαραίτθτο λογιςμικό για τον ςυγκεκριμζνο τρόπο επίκεςθσ ςτο ςφςτθμα. 6. Να κάνει τθν επίκεςθ ϊςτε να πετφχει προςπζλαςθ με προνόμια διαχειριςτι, ανάλογα με το ςφςτθμα αςφάλειασ που υπάρχει. Σε περίπτωςθ που υπάρχει firewall ι αυτόματο ςφςτθμα ανίχνευςθσ επικζςεων (Intrusion Detection System -IDS) εφαρμόηονται μζκοδοι για να ξεπεραςτοφν όπωσ για παράδειγμα θ μζκοδοσ του firewalking. 7. Να εγκαταςτιςει κερκόπορτεσ για μεταγενζςτερθ χριςθ. 8. Να ςτιςει sniffers για το δίκτυο. 9. Να εγκαταςτιςει DoS-Trojan. 10. Να καλφψει τα ίχνθ του από τα system logs. Υπάρχουν εργαλεία για τθν διαγραφι των ςτοιχείων από τα logs. Τζτοια εργαλεία είναι ομαδοποιθμζνα ςε ςουίτεσ προγραμμάτων που λζγονται και rootkits (π.χ. lrk4). Τα rootkits ζ- χουν ςαν ςκοπό να παρζχουν ζνα ολοκλθρωμζνο περιβάλλον για τθν επίκεςθ, μζχρι και να αποκρφψουν τισ ενζργειεσ του hacker (π.χ. ps, netstat), να κακαρίςουν τα logs (π.χ. clean), να αφιςουν κερκόπορτεσ (π.χ. ςαν login, inetd) και να καταγράψουν τισ ενζργειεσ του διαχειριςτι (π.χ. linsniffer). 11. Να ςυνεχίςει τισ επικζςεισ του από τον κόμβο αυτό. Αν πρόκειται για προςπάκεια DdoS, μπορεί ςε κάκε 20 ςυςτιματα να εγκακιςτά ζνα master control πρόγραμμα για τον ςυντονιςμό τθσ επίκεςθσ προσ τον υπολογιςτι 14

33 2-Μεθοδολογία επίθεζηρ ςτόχο. Τα εργαλεία που χρθςιμοποιοφνται από τουσ hackers είναι ςυνικωσ εξαιρετικά α- πλά και πλιρωσ αυτοματοποιθμζνα. Ζνα τυπικό πακζτο εργαλείων περιλαμβάνει ανιχνευτζσ δικτφου (network scanners), εργαλεία εφρεςθσ λζξεων ςυνκθματικϊν (password cracking tools), «ωτακουςτζσ» πακζτων (packet sniffers), δοφρειοι ίπποι (trojan horses) «κακαριςτζσ» εγγραφϊν ςυςτιματοσ (log cleaners), ανιχνευτζσ ε- νεργειϊν ςτα ςυςτιματα. Ο ςκοπόσ τουσ είναι θ απόκτθςθ δικαιωμάτων διαχειριςτι με τον ευκολότερο και ταχφτερο τρόπο. Συνικωσ βαςίηονται ςτθν υπόκεςθ πωσ υπάρχει τρωτό ςθμείο και δοκιμάηουν καταρχιν τα γνωςτά. Ο πόλεμοσ διαχειριςτϊν-hackers κρίνεται ςτα διακζςιμα εργαλεία, τθν ςυνεχι πλθροφόρθςθ, τθν ταχφτθτα αντίδραςθσ για το κλείςιμο των τρωτϊν και ςτο διακζςιμο χρόνο για αυτι τθν δουλειά. Οι επικζςεισ γίνονται όλεσ τισ ϊρεσ κφρια όμωσ τισ πρϊτεσ πρωινζσ. Στο παρόν κεφάλαιο περιγράφουμε τθ μεκοδολογία με τθν οποία δρα ζνασ επιτικζμενοσ επιχειρϊντασ να καταλάβει ζνα δίκτυο υπολογιςτικϊν ςυςτθμάτων. Ρρϊτα περιγράφουμε διαδικαςίεσ και εργαλεία που χρθςιμοποιοφνται για τθν αναγνϊριςθ του δικτφου, όπωσ θ ζρευνα DNS και ο ζλεγχοσ με SNMP (2.1) και κατόπιν μεκόδουσ και εργαλεία για τθν χαρτογράφθςθ του δικτφου μζςω ςάρωςθσ ping, port scanning και ςάρωςθ ευπακειϊν (2.2) Αναγνώριςη Δικτύου Ροτζ κανείσ δεν μπορεί να προςβάλει ζνα ςφςτθμα για το οποίο δεν γνωρίηει τίποτα. Για να μπορζςεισ να παραβιάςεισ ζνα ςφςτθμα κα πρζπει να ζχεισ όςο το δυνατόν περιςςότερεσ πλθροφορίεσ για αυτό, ϊςτε να ζχεισ μια ςαφι εικόνα του τι πασ να αντιμετωπίςεισ. Υπάρχουν πολλά εργαλεία διακζςιμα τα οποία μποροφν να ςε βοθκιςουν να ςυλλζξεισ διαφόρων ειδϊν πλθροφορίεσ. Ωσ εδϊ τα πράγματα είναι απλά. Το δφςκολο ζρχεται ςτθ ςυνζχεια, όταν κα πρζπει να ςυνκζςεισ τισ πλθροφορίεσ αυτζσ και να κατορκϊςεισ να τισ βάλεισ ςε μια ςειρά, ϊςτε να αρχίςουν να ςου δίνουν τθν εικόνα του δικτφου και των ςυςτθμάτων που βρίςκονται ςε αυτό. Συχνά θ αναγνϊριςθ του ςτόχου είναι θ πιο κουραςτικι εργαςία που κάνει ζνασ ειςβολζασ ςτθν προςπάκειά του να εξακριβϊςει τθν πολιτικι αςφαλείασ του οργανιςμό ςτον οποίο προςπακεί να αποκτιςει πρόςβαςθ. Ραρόλα αυτά αποτελεί μια εκ των ων ουκ άνευ διαδικαςία ι οποία δεν μπορεί να λείπει από καμιά τζτοια προςπάκεια. Ζνα καλό ςθμείο εκκίνθςθσ μιασ διαδικαςίασ αναγνϊριςθσ είναι θ εφρεςθ των ονομάτων domain και των δικτφων που ςχετίηονται με τον ςυγκεκριμζνο οργανιςμό. Τα domain ονόματα είναι αυτά που αντιπροςωπεφουν τον οργανιςμό ςτο Διαδίκτυο, 15

34 2.1-Αναγνώπιζη Γικηύος για παράδειγμα Ζνασ τρόποσ για να βρει κάποιοσ πλθροφορίεσ για το domain του οργανιςμοφ είναι οι βάςεισ δεδομζνων whois οι οποίεσ μποροφν να παρζχουν αρκετζσ πλθροφορίεσ. Μια καλι τζτοια βάςθ για τα ελλθνικά domain ονόματα (.gr) είναι θ Στθν Εικόνα 2-1 βλζπουμε τα αποτελζςματα μιασ τζτοιασ αναηιτθςθσ. Εικόνα 2-1 whois αναηιτθςθ για τθν ςυλλογι πλθροφοριών Ζνα ςθμαντικό ςτοιχείο που παρουςιάηεται ςε μια τζτοια αναηιτθςθ είναι το DNS των name server του οργανιςμοφ. Μπορεί αυτι θ πλθροφορία να αποτελζςει ςθμαντικό ςτοιχείο ςτθν ςυνζχεια. Άλλεσ καλζσ βάςεισ για whois αναηθτιςεισ είναι οι και οι Υπάρχουν ωςτόςο και πολλά εργαλεία, τα οποία ςυνδζονται αυτόματα με whois βάςεισ δεδομζνων και επιςτρζφουν τα αποτελζςματα αναηιτθςθσ ςτο χριςτθ. Ζνα καλό τζτοιο εργαλείο είναι και το DNS / Who Is Resolver τθσ SolarWinds. Ζνα παράδειγμα μιασ αναηιτθςθσ με το εργαλείο αυτό παρουςιάηεται ςτθν Εικόνα

35 2-Μεθοδολογία επίθεζηρ Εικόνα 2-2 Χριςθ του DNS / Who Is Resolver Έρευνα DNS Το DNS είναι ζνα από τα πιο ςθμαντικά πρωτόκολλα του διαδικτφου, το οποίο το κάνει να ζχει μια πιο «ανκρϊπινθ» και φιλικι προσ το χριςτθ μορφι χρθςιμοποιϊντασ μνθμονικά ονόματα για τουσ υπολογιςτζσ αντί για αρικμοφσ. Είναι όμωσ ζνα ςθμείο το οποίο επιτρζπει τθν άντλθςθ πλθροφοριϊν για ζνα δίκτυο. Ραλιότερα δεν ιταν ςπάνιο το φαινόμενο τθσ λανκαςμζνθσ ρφκμιςθσ του DNS κάτι που επζτρεπε ςε οποιονδιποτε το ηθτοφςε να εκτελζςει Μεταφορά Ηϊνθσ. Γενικά θ μεταφορά ηϊνθσ είναι ζνα βαςικό χαρακτθριςτικό του πρωτοκόλλου. Επιτρζπει ςε ζναν δευτερεφοντα εξυπθρετθτι ονομάτων να ενθμερϊνει τθ βάςθ δεδομζνων του χρθςιμοποιϊντασ τα ςτοιχεία που διακζτει ο πρωτεφων εξυπθρετθτισ. Με αυτόν τον 17

36 2.1-Αναγνώπιζη Γικηύος τρόπο υπάρχει επιπρόςκετθ αςφάλεια του ςυςτιματοσ DNS, για τισ περιπτϊςεισ που ο πρωτεφων εξυπθρετθτισ ονομάτων τίκεται εκτόσ λειτουργίασ. Γενικά, μια μεταφορά ηϊνθσ DNS χρειάηεται να εκτελείται μόνο από τουσ δευτερεφοντεσ εξυπθρετθτζσ DNS. Ρολλζσ φορζσ είναι ενδιαφζρον και πικανά βοθκιςει κάποιον hacker θ εικόνα τθσ ιεραρχίασ των DNS εξυπθρετθτϊν και των διαςυνδζςεων αυτϊν. Ζνα καλό εργαλείο που πραγματοποιεί μια τζτοια ανάλυςθ λζγεται DNS Analyzer. Στθν Εικόνα 2-3 παρουςιάηεται μια τζτοια ιεραρχία για ζναν από τουσ Name Servers του ΕΑΙΤΥ ςε μορφι δζντρου. Ππωσ φαίνεται και από τθν εικόνα αποτελεί ζνα αρκετά περίπλοκο ςφςτθμα από διαςυνδζςεισ, που ςτόχο ζχει τθν ικανοποίθςθ των DNS αντιςτοιχιϊν ςε περίπτωςθ απϊλειασ κάποιου ι κάποιων από τουσ εξυπθρετθτζσ του δικτφου. Εικόνα 2-3 Η ιεραρχία των DNS Εξυπθρετθτών μζχρι τον εξυπθρετθτι rea.cti.gr Εάν δοφμε από πιο κοντά (Εικόνα 2-4) το διάγραμμα που παρουςιάηεται παραπάνω, επικεντρϊνοντασ ςτα φφλλα του δζντρου, κα δοφμε ότι αυτά είναι οι Name Servers του ΕΑΙΤΥ και μάλιςτα είναι αυτοί που μασ επζςτρεψε νωρίτερα θ Εικόνα 2-3. Εικόνα 2-4 Λεπτομζρεια για τθν διαςφνδεςθ των Name Servers 18

37 2-Μεθοδολογία επίθεζηρ Επικεντρϊνοντασ ςτα φφλλα τθσ παραπάνω απεικόνιςθσ παρατθροφμε καλφτερα τθν διαςφνδεςθ των Name Servers όςο φτάνουμε ςτον ηθτοφμενο (rea.cti.gr) Έλεγχοσ SNMP Το SNMP είναι ζνα πρωτόκολλο το οποίο χρθςιμοποιείται για λόγουσ διαχείριςθσ και προςφζρει ςε ζναν διαχειριςτι πολλζσ πλθροφορίεσ για το ςφςτθμα ςτο οποίο εκτελείται, όπωσ το λειτουργικό του ςφςτθμα, θ κατάςταςι του, οι χριςτεσ του, οι κοινόχρθςτοι κατάλογοι, οι δρομολογιςεισ που ζχει και πολλζσ άλλεσ πλθροφορίεσ. Αν και για ζναν διαχειριςτι όλεσ αυτζσ οι πλθροφορίεσ είναι πολλζσ φορζσ ςθμαντικζσ, ωςτόςο είναι προτιμότερο να μθν είναι ενεργό το πρωτόκολλο αυτό, γιατί όλα αυτά φαίνονται και ςε κακόβουλουσ χριςτεσ, ςτουσ οποίουσ μπορεί να αποκαλυφκοφν αρκετζσ και ςθμαντικζσ πλθροφορίεσ. Ασ δοφμε για παράδειγμα (Εικόνα 2-5) ζναν τζτοιο ζλεγχο ο οποίοσ πραγματοποιικθκε ςε ςφςτθμα που είχε το snmp πρωτόκολλο ενεργό. Ζνα από τα εργαλεία που μπορεί να φανοφν χριςιμα ςε τζτοιουσ ελζγχουσ είναι το SNMP Sweep. Εικόνα 2-5 Ζλεγχοσ SNMP Μποροφμε να βροφμε και επιπλζον πλθροφορίεσ (Εικόνα 2-6) από το ςφςτθμα το οποίο βρζκθκε να ζχει ενεργό το SNMP, κάτι που βοθκάει ςτθν αναγνϊριςθ του ςτόχου. Ζνα από αυτά είναι οι λογαριαςμοί χρθςτϊν που διακζτει το ςφςτθμα. Αυτό από μόνο του μπορεί να αποβεί μοιραίο, κακϊσ δεν είναι λίγεσ οι φορζσ που βρίςκονται ςτο ςφςτθμα λογαριαςμοί οι οποίοι είναι κοινοί κατά τθν αρχικι εγκατάςταςθ κάποιου λογιςμικοφ και που πολλζσ φορζσ οι κωδικοί τουσ δεν αλλάηονται από τον διαχειριςτι του ςυςτιματοσ, με αποτζλεςμα να παρζχεται πρόςβαςθ ςτο ςφςτθμα. 19

38 2.1-Αναγνώπιζη Γικηύος Εικόνα 2-6 Επιπλζον Ρλθροφορίεσ μζςω SNMP 20

39 2-Μεθοδολογία επίθεζηρ 2.2. Χαρτογρϊφηςη Δικτύου Μετά τθ φάςθ τθσ αναγνϊριςθσ του δικτφου ακολουκεί μια εξαιρετικά ςθμαντικι φάςθ που κεωρείτε το βαςικότερο μζροσ μιασ προετοιμαςίασ για επίκεςθ ςε ζνα δίκτυο. Είναι θ φάςθ που εξετάηεται θ προςβαςιμότθτα ςε υπολογιςτικά ςυςτιματα, αν αυτά τα ςυςτιματα είναι ενεργά, ςε ποιεσ κφρεσ (ports) ανταποκρίνονται, άρα και τι εφαρμογζσ τρζχουν και επακόλουκα ποια τρωτά ςθμεία μπορεί να διερευνιςει ζνα επιτικζμενοσ. Η διερεφνθςθ αυτι γίνεται με πολλοφσ και διαφορετικοφσ τρόπουσ και ςτθν ουςία είναι το ςθμαντικότερο μζροσ μιασ επίκεςθσ. Ακόμα και μία αυτοματοποιθμζνθ επίκεςθ όπωσ για παράδειγμα θ διάδοςθ ενόσ «ςκουλθκιοφ» (worm) εφαρμόηεται αυτοφ του είδουσ θ διαδικαςία που λζγεται ςάρωςθ Σϊρωςη Ping Η ςάρωςθ PING αποτελεί ίςωσ τον απλοφςτερο τρόπο για να χαρτογραφθκοφν τα μθχανιματα του δικτφου που δρομολογοφνται ςτο internet. Τα μθχανιματα που ανταποκρίνονται ςε PING ερωτιςεισ είναι αυτά που αποκαλοφμε «ενεργά». Η πλθροφορία αυτι είναι πολφ ςθμαντικι, γιατί ςε αυτά τα ςυςτιματα μπορεί να γίνει δοκιμι για επίκεςθ. Το PING λειτουργεί με τθν αποςτολι ICMP ECHO πακζτων ςτο υπό εξζταςθ ςφςτθμα και περιμζνει για τθν λιψθ ICMP ECHO_REPLY πακζτων. Πταν ζνα τζτοιο πακζτο φτάςει, τότε το ςφςτθμα που το ζςτειλε είναι «ενεργό» και δρομολογείται ςτο internet. Η ςάρωςθ PING μπορεί να γίνει με πολλά εργαλεία και μάλιςτα όλα τα λειτουργικά ςυςτιματα ζχουν κάποιο αφοφ αποτελεί και βαςικότατο εργαλείο διαχείριςθσ τόςο του ςυςτιματοσ όςο και του δικτφου. Ραρόλα αυτά ζνα πολφ καλό εργαλείο που υλοποιεί ςάρωςθ PING ςε εφροσ IP διευκφνςεων, αλλά και τθν αναηιτθςθ των DNS ονομάτων για κάκε διεφκυνςθ που κα απαντιςει, λζγεται Ping Sweep. Στθν Εικόνα 2-7 παρουςιάηεται μια τζτοια ςάρωςθ για ζνα subnet του ΕΑΙΤΥ. Αν και γενικά είναι ηωτικισ ςθμαςίασ θ κίνθςθ ICMP πακζτων, κυρίωσ για διαχειριςτικοφσ λόγουσ, ωςτόςο πρζπει να δίνεται μεγάλθ ςθμαςία ςτο είδοσ αυτισ τθσ κίνθςθσ. Καλό είναι τα ICMP πακζτα να κόβονται από κάποιο firewall ι να γίνεται φιλτράριςμα των διευκφνςεων, που ζχουν το δικαίωμα να δθμιουργοφν τζτοια κίνθςθ, με τθν χριςθ κάποιασ Λίςτασ Ελζγχου Πρόςβαςθσ (ACL). 21

40 2.2-Φαπηογπάθηζη Γικηύος Εικόνα 2-7 Σάρωςθ Ping Σϊρωςη Θυρών (Port Scanning) Η ςάρωςθ κυρϊν μασ δίνει τθ δυνατότθτα ςε ζνα «ενεργό» ςφςτθμα να ελζγξουμε ποιεσ κφρεσ είναι ανοιχτζσ και τι υπθρεςίεσ τρζχουν ι βρίςκονται ςε κατάςταςθ α- κρόαςθσ (Listening) ςε κακεμιά από αυτζσ. Η διαδικαςία αυτι είναι πολφ ςθμαντικι ςτθν προςπάκεια τθσ εξακρίβωςθσ του λειτουργικοφ ςυςτιματοσ και των εφαρμογϊν που τρζχουν ςτο ςφςτθμα. Οι ενεργζσ υπθρεςίεσ που βρίςκονται ςε κατάςταςθ Listening μπορεί να επιτρζπουν ςε κάποιον χριςτθ να αποκτιςει μθ εξουςιοδοτθμζνθ πρόςβαςθ, εξαιτίασ γνωςτϊν προβλθμάτων αςφαλείασ ςτον κϊδικά τουσ. Σιμερα υπάρχουν αρκετά καλά εργαλεία που πραγματοποιοφν ςάρωςθ κυρϊν. Από το πλικοσ αυτϊν αξίηει να ςυγκρατιςουμε τα NMAP και NetCat τα οποία είναι και τα δφο εργαλεία που λειτουργοφν από γραμμι εντολϊν και είναι διακζςιμα τόςο για UNIX όςο και για Windows λειτουργικά ςυςτιματα. Ειδικά το NetCat αποτελεί ζνα πολφ ιςχυρό εργαλείο ςτα χζρια κάκε ειςβολζα, κακϊσ προςφζρει πολλζσ εξαι- 22

41 2-Μεθοδολογία επίθεζηρ ρετικζσ λειτουργίεσ όπωσ το Reverse Telnet, με τθν βοικεια του οποίου μποροφμε να «πάρουμε» τθν κονςόλα του υπό επίκεςθ ςυςτιματοσ, κάνοντασ τον ςτόχο να ςυνδεκεί ςε εμάσ, παρακάμπτοντασ ζτςι οποιαδιποτε υλοποίθςθ αςφαλείασ από τον ζξω κόςμο. Γενικά ιςχφει πωσ θ εξερχόμενθ κίνθςθ να είναι πιο ελεφκερθ, οπότε καλό είναι να ζχουμε υπόψθ μασ το εργαλείο αυτό. Ζνα ακόμθ καλό εργαλείο για Windows το οποίο πραγματοποιεί ςάρωςθ κυρϊν είναι το Port Scanner, το οποίο ελζγχει τθν κατάςταςθ των κυρϊν που επιλζγει ο χριςτθσ ι ενόσ μεγαλφτερου εφρουσ κυρϊν ςε περίπτωςθ που ο χριςτθσ δεν ζχει κάποια προτίμθςθ ςε κάποια κφρα, αλλά κζλει γενικότερθ άποψθ τθσ κατάςταςθσ των κυρϊν των ςυςτθμάτων. Στθν Εικόνα 2-8 παρουςιάηεται ζνασ ζλεγχοσ κυρϊν με τθν βοικεια του εργαλείου αυτοφ. Εικόνα 2-8 Τα αποτελζςματα μιασ ςάρωςθσ κυρών με τθν βοικεια του εργαλείου Port Scanner Σϊρωςη Τρωτών Σημεύων (Vulnerability Scanning) Η ςάρωςθ για τθν εφρεςθ τρωτϊν ςθμείων αποτελεί τον καρπό των προςπακειϊν όλων όςον αςχολοφνται με τθν αςφάλεια δικτφων και ςυςτθμάτων, αλλά και αυτϊν που δεν ζχουν τόςο αγακζσ βλζψεισ. Αυτό το είδοσ ςάρωςθσ πραγματοποιεί ζλεγχο του ςυςτιματοσ ςε βάκοσ και παρζχει πλθροφορίεσ για τισ κφρεσ που είναι ανοιχτζσ, για το είδοσ των υπθρεςιϊν που τρζχουν ςε κακεμιά από αυτζσ, τισ εκδόςεισ των υπθρεςιϊν κακϊσ και το είδοσ των προβλθμάτων αςφαλείασ που ζχει κακεμιά τουσ. Κάκε εργαλείο που πραγματοποιεί αυτοφ του είδουσ τθν ςάρωςθ δίνει ωσ ζξοδο μια αναφορά όλων των κρίςιμων τρωτϊν ςθμείων που ανακάλυψε και του τρόπου με τον οποίο μπορεί κάποιοσ να εκμεταλλευτεί κακζνα από αυτά. Ζλεγχο με τα εργαλεία αυτά δεν πραγματοποιοφν μόνο οι ειςβολείσ, αλλά και πολλοί διαχειριςτζσ. Με τον τρόπο αυτό μποροφν και ελζγχουν τθν αςφάλεια των ςυςτθμάτων τουσ, πριν αυτά παραβιαςτοφν από κάποιον κακόβουλο χριςτθ. Κάκε εργαλείο που πραγματοποιεί τζτοιου είδουσ ζλεγχο ενθμερϊνεται τακτικότα- 23

42 2.2-Φαπηογπάθηζη Γικηύος τα, κακϊσ κακθμερινά ανακοινϊνονται νζα κενά αςφαλείασ ςε πολλά προγράμματα για όλα τα λειτουργικά ςυςτιματα. Ζνα από τα καλφτερα εργαλεία που κυκλοφοροφν, και μάλιςτα ελεφκερο, είναι το Nessus Vulnerability Scanner (http://www.nessus.org/). Το εργαλείο αυτό ζχει λογικι Client Server. Ο server είναι αυτόσ που ζχει τισ πλθροφορίεσ για τα τρωτά ςθμεία και τισ παρζχει ςε κάκε client που ςυνδζεται ςε αυτόν. Ο client είναι αυτόσ που πραγματοποιεί τον ζλεγχο ςτο ςφςτθμα ςτόχο και επιςτρζφει τα αποτελζςματα ςτον χριςτθ. Ζνα παράδειγμα χριςθσ του εργαλείου φαίνεται ςτθν Εικόνα 2-9, ό- που και ελζγχκθκε ζνα ςφςτθμα με λειτουργικό Debian Linux. Εικόνα 2-9 Ζλεγχοσ τρωτών ςθμείων με το εργαλείο Nessus Ππωσ φαίνεται ςτθν Εικόνα 2-9, το εργαλείο εντόπιςε δφο πολφ ςοβαρά κενά α- ςφαλείασ ςτο ςφςτθμα αυτό (τονίηονται με κόκκινο). Αυτό ςθμαίνει πωσ το ςφςτθμα είναι ευάλωτο ςτισ επικζςεισ που αναφζρει θ αναφορά του εργαλείου και επομζνωσ μπορεί να χρθςιμοποιθκοφν από τον ειςβολζα για να αποκτιςει πρόςβαςθ ςτο ςφςτθμα ι να προξενιςει DoS. Μπορεί όμωσ αυτι θ αναφορά να φανεί χριςιμθ και ςτον διαχειριςτι του ςυςτιματοσ αυτοφ, κακϊσ μπορεί να δει τα προβλιματα και να τα διορκϊςει άμεςα, αποκλείοντασ με αυτόν τον τρόπο τθν επίκεςθ με χριςθ αυτϊν των τρωτϊν ςθμείων. 24

43 3-Βαζικά Δπγαλεία Ανηιμεηώπιζηρ Δπιθέζευν 3. Βαςικϊ Εργαλεύα Αντιμετώπιςησ Επιθϋςεων Τα βαςικά προβλιματα που προςπακοφμε να λφςουμε για να επιτφχουμε αςφάλεια ςτα ςυςτιματα υπολογιςτϊν και δικτφων είναι: να διαφυλάξουμε τθν ακεραιότθτα των δεδομζνων, εξαςφαλίηοντασ πωσ τα δεδομζνα δεν τροποποιοφνται ι καταςτρζφονται χωρίσ εξουςιοδότθςθ και ότι τα ςυςτιματα λειτουργοφν αποδοτικά. Στθν πραγματικότθτα κα μποροφςαμε να επιχειρθματολογιςουμε πωσ περιςςότερο από κάκε άλλο τομζα τθσ επιςτιμθσ των υπολογιςτϊν, θ αςφάλεια υπολογιςτϊν αςχολείται με τθν ανάλυςθ των ατελειϊν ςτα ςυςτιματα. Τα ςυςτιματα ανακάλυψθσ ιϊν, οι προςταςία δικτφων με firewalls, και τα ςυςτιματα ανίχνευςθσ ειςβολϊν (Intrusion Detection Systems IDS) φαίνεται να είναι από τισ δθμοφιλείσ τεχνολογίεσ ςτθν αςφάλεια υπολογιςτικϊν ςυςτθμάτων. Ιδιαίτερα ο ςτόχοσ τθσ τεχνολογίασ IDS, που είναι να αναγνωρίηει τθν απαγορευμζνθ χριςθ των πόρων, κεωρείται ζνα γενικά δφςκολο πρόβλθμα ςτθν αντιμετϊπιςθ και υλοποίθςι του, αφοφ χρειάηεται να παράγονται γριγορα αποτελζςματα που να είναι αξιόπιςτα και χριςιμα. Στο κεφάλαιο αυτό αναφζρουμε τισ δυνατότθτεσ που ζχουν οι διαχειριςτζσ ςυςτθμάτων για τθν προςταςία των ςτακμϊν εργαςίασ (3.1) και των εξυπθρετθτϊν και ςτθν προςταςία του δικτφου ςτο ςφνολό του με firewalls (3.2) και με Συςτιματα Α- ντιμετϊπιςθσ Ειςβολϊν(3.3) Προςταςύα Υπολογιςτών Τα antivirus προγράμματα είναι προγράμματα τα οποία τρζχουν ςε ζνα ςφςτθμα και ελζγχουν κάκε αρχείο που προςπελαφνεται για να δουν αν υπάρχει ταυτοποίθςθ μζρουσ του αρχείου με αποτφπωμα ιοφ που υπάρχει ςτθν βάςθ δεδομζνων του antivirus (Signatures). Σιμερα υπάρχουν αρκετά τζτοια προγράμματα, εμπορικά ι μθ, και τα οποία ζχουν διάφορουσ τρόπουσ λειτουργίασ. Ο ςυνθκζςτεροσ είναι με τθν χριςθ signatures. Πςα λειτουργοφν με τον τρόπο αυτό ελζγχουν για αποτυπϊματα (ακολουκίεσ δεδομζνων) ι διεργαςίεσ που εκτελοφν ςυγκεκριμζνθ ακολουκία ενεργειϊν, θ οποία ζχει αναγνωριςτεί και χαρακτθριςτεί ωσ παράνομθ. Μόλισ μια τζτοια ακολουκία ενεργειϊν εκτελεςτεί ςτο ςφςτθμα, τότε αυτομάτωσ το πρόγραμμα που τθν εκτζλεςε κεωρείται ιόσ και θ εκτζλεςι του εμποδίηεται από το antivirus. Η χριςθ antivirus προγραμμάτων κεωρείται βαςικό ςυςτατικό ενόσ πλάνου αςφαλείασ και δεν πρζπει να λείπει ςχεδόν ποτζ από κανζνα ςφςτθμα. Επειδι μάλιςτα 25

44 3.2-Πποζηαζία δικηύος με Firewalls είναι και από τισ πρϊτεσ τεχνολογίεσ που εμφανίςτθκαν για τθν προςταςία των ςυςτθμάτων, μπορεί να κεωρθκεί ότι βρίςκεται ςε αρκετά ϊριμο ςτάδιο, ςε ςχζςθ πάντα με τισ άλλεσ λφςεισ που ζχουν προτακεί ι αναπτυχκεί για τθν προςταςία ε- νόσ ςυςτιματοσ από κακόβουλεσ διεργαςίεσ. Ωςτόςο τα antivirus προγράμματα, αν και κεωρείται ότι αυξάνουν ςε μεγάλο βακμό το επίπεδο αςφαλείασ των ςυςτθμάτων, ζχουν αρκετά μειονεκτιματα το μεγαλφτερο από τα οποία εντοπίηεται ςτο ότι υπάρχει άμεςθ εξάρτθςθ από τον καταςκευαςτι του προγράμματοσ και τθν ταχφτθτα ενθμζρωςθσ τθσ βάςθσ δεδομζνων με τα αποτυπϊματα ιϊν. Επειδι ιοί και άλλα κακόβουλα προγράμματα αναπτφςςονται ςυνεχϊσ, πρζπει να βγαίνουν ςυνεχϊσ αποτυπϊματα για αυτά, ϊςτε να μπορεί το antivirus να τα αναγνωρίςει. Το πόςο γριγορα κα προςφζρει τθν ενθμζρωςθ αυτι θ εταιρεία καταςκευισ του κάκε antivirus είναι πολφ κρίςιμο για τθν προςταςία του ςυςτιματοσ. Πςο πιο γριγορα ανακοινωκοφν τα νζα signatures, τόςο πιο γριγορα κα προςτατευτεί ο υπολογιςτισ. Το μεςοδιάςτθμα μζχρι τθν ενθμζρωςθ των signatures είναι κρίςιμοσ παράγοντασ. Σθμαντικό είναι επίςθσ και ο τρόποσ με τον οποίο γίνεται ο ζλεγχοσ τθσ κάκε διεργαςίασ Προςταςύα δικτύου με Firewalls Το firewall είναι ζνασ μθχανιςμόσ ο οποίοσ ελζγχει τθν πρόςβαςθ προσ και από το δίκτυο. Λειτουργεί ωσ το ενδιάμεςο ςτοιχείο από το οποίο περνάει όλθ θ δικτυακι κίνθςθ από και προσ το εξωτερικό δίκτυο. Το firewall χρθςιμοποιείται για να περιορίςει τθν κίνθςθ μεταξφ των δικτφων. Τα τελευταία χρόνια ζχει γίνει αρκετι ζρευνα ςχετικι με το αντικείμενο, με αποτζλεςμα ςιμερα να ζχουμε αρκετά προϊόντα διακζςιμα, εμπορικά ι μθ. Τα firewalls μπορεί να είναι υλοποιθμζνα είτε ωσ λογιςμικό, είτε ωσ δικτυακζσ ςυςκευζσ ο ρόλοσ των οποίων είναι να ελζγχουν τθν δικτυακι κίνθςθ και να αποκόπτουν τθν επικοινωνία όποτε κρικεί απαραίτθτο. Πλα τα firewalls που ζχουν υλοποιθκεί ελζγχουν τθν ειςερχόμενθ κίνθςθ, ωςτόςο μόνο τα πιο καλά από αυτά ελζγχουν και τθν εξερχόμενθ. Η ειςερχόμενθ κίνθςθ είναι ςίγουρα επικίνδυνθ, και άρα καλϊσ όλα τθν ελζγχουν, ωςτόςο θ εξερχόμενθ δε ςθμαίνει ότι δεν είναι επικίνδυνθ. Δεν κα ικελε κανείσ να ζχει κάποιο δοφρειο ίππο ςτον υπολογιςτι του, ο οποίοσ να ςτζλνει κάπου τα ςτοιχεία τθσ πιςτωτικισ του κάρτασ. Αυτι είναι μια περίπτωςθ εξερχόμενθσ κίνθςθσ θ οποία δεν κα περιοριςτεί από κάποιο firewall που δεν ελζγχει τθν εξερχόμενθ κίνθςθ. Μια ςωςτι τακτικι για κάποιον που κζλει να βελτιϊςει το επίπεδο αςφάλειάσ του είναι θ χριςθ κάποιου firewall. Συχνότερθ είναι θ περίπτωςθ των firewall λογιςμικοφ, κακϊσ αποτελοφν πιο φτθνι λφςθ και κυρίωσ επειδι ζχουν τον ζλεγχο οι χριςτεσ τουσ. Ππωσ κάκε λογιςμικό, ζτςι και τα firewalls απαιτοφν κάποια ρφκμιςθ από τουσ χριςτεσ τουσ. Αν κάποιοσ από αυτοφσ δεν ζχει τθν τεχνογνωςία για μια τζτοια 26

45 3-Βαζικά Δπγαλεία Ανηιμεηώπιζηρ Δπιθέζευν ρφκμιςθ, τότε μπορεί να επιτρζψει ειςερχόμενθ ι εξερχόμενθ κίνθςθ τθν οποία κανονικά κα ζπρεπε ι κα ικελε να ζχει αποκόψει. Συχνά είναι θ περίπτωςθ κατά τθν οποία επιτρζπονται τα περιςςότερα ιδθ κίνθςθσ επειδι οι χριςτεσ παρατιρθςαν κάποια δυςλειτουργία ςε κάποιο άλλο πρόγραμμα το οποίο περιοριηόταν από το firewall. Χωρίσ πολφ ςκζψθ και ζλεγχο και εισ βάροσ τθσ αςφάλειάσ τουσ ελαττϊνουν το επίπεδο προςταςίασ του firewall. Τα firewalls που είναι ςε μια δικτυακι ςυςκευι ςυνικωσ ζχουν καλφτερθ απόδοςθ και προςφζρουν μεγαλφτερθ προςταςία ςτουσ χριςτεσ του διαδικτφου που προςτατεφουν. Ο βαςικότεροσ λόγοσ για αυτό είναι επειδι ρυκμίηονται από εξειδικευμζνο χριςτθ, ο οποίοσ ζχει πλιρθ γνϊςθ τθσ κατάςταςθσ και επιτρζπει μόνο τθν κίνθςθ που πρζπει. Το μειονζκτθμα τουσ είναι ότι όλα τα μθχανιματα τα οποία βρίςκονται πίςω από το firewall αυτό εξαρτϊνται από τισ ρυκμίςεισ τθσ ςυςκευισ και οι όποιεσ αλλαγζσ πρζπει να γίνονται ςτθν ςυςκευι και όχι τοπικά ςτο ςφςτθμα. Ακόμθ καλφτερθ προςταςία παρζχεται ςε ζνα ςχιμα κατά το οποίο υπάρχει μια ςυςκευι firewall, αλλά και κάκε μθχάνθμα πίςω από αυτό ζχει εγκατεςτθμζνο και ζνα firewall λογιςμικοφ. Ζχουμε ζτςι δφο επίπεδα δικτυακισ προςταςίασ κάτι που αυξάνει το ςυνολικό επίπεδο αςφαλείασ κάκε μθχανιματοσ. Με τθν χριςθ firewalls μποροφν να αντιμετωπιςτοφν αρκετζσ επικζςεισ και κυρίωσ επικζςεισ DoS ι DDoS. Επίςθσ με τα firewalls απαγορεφεται θ πρόςβαςθ ςε κφρεσ και άρα ςε εφαρμογζσ οι οποίεσ είναι ευάλωτεσ ςε επικζςεισ Προςταςύα με Συςτόματα Ανύχνευςησ Επιθϋςεων (IDS) Ζνα firewall που ζχει ρυκμιςτεί ςωςτά αποτελεί τθν πρϊτθ γραμμι άμυνασ του δικτφου και ελζγχει τθν δικτυακι κίνθςθ προσ τουσ υπολογιςτζσ που προςτατεφει. Ραρόλα αυτά υπάρχει περίπτωςθ παρά τθν ορκι λειτουργία του firewall κάποιοσ από αυτοφσ να κυριευτεί από κάποια απειλι επειδι ιταν ευάλωτοσ ςε μια αςυνικιςτθ αίτθςθ. Εκτόσ από firewall πικανά να υπάρχουν και άλλα ςτοιχεία που να χρθςιμοποιοφνται ωσ πρϊτθ γραμμι άμυνασ, όπωσ οι Λίςτεσ Ελζγχου Ρρόςβαςθσ (Access Control Lists ACLs). Αν και όλα αυτά ςυμβάλουν ςτθν βελτίωςθ του επιπζδου αςφάλειασ, ωςτόςο δεν μποροφμε ποτζ να είμαςτε ςίγουροι ότι ακολουκικθκαν οι βζλτιςτεσ λφςεισ που κα προςφζρουν τθν καλφτερθ δυνατι προςταςία. Για τον λόγο αυτό κεωρείται καλι ιδζα θ φπαρξθ μιασ δεφτερθσ γραμμισ άμυνασ. Η τακτικι αυτι, δθλαδι θ χριςθ πολλϊν επιπζδων άμυνασ ςτο δίκτυο, είναι γνωςτι με τον όρο «Defense in Depth» (Άμυνα ςε Βάκοσ). Ενιςχφουμε όςο μποροφμε τθν πρϊτθ γραμμι άμυνασ ϊςτε να μθν επιτρζπεται θ παράνομθ πρόςβαςθ ςτο εςωτερικό μασ δίκτυο, αλλά αν αυτό αποτφχει, τότε ζχουμε και εναλλακτικό ςχζδιο. Ζνασ ανιχνευτικόσ μθχανιςμόσ είναι πολφ καλι λφςθ για το δεφτερο επίπεδο προςταςίασ. Ζνα ςφςτθμα ανίχνευςθσ επικζςεων (IDS) αποτελεί ςτα χζρια του διαχειριςτι α- 27

46 3.3-Πποζηαζία με Σςζηήμαηα Ανίσνεςζηρ Δπιθέζευν (IDS) ςφαλείασ ζνα κατάλλθλο εργαλείο που του επιτρζπει να ανιχνεφει άμεςα και να αντιδρά γριγορα ςε μια επίκεςθ που δζχεται το δίκτυό του. Το IDS είναι ζνα ςφςτθμα λογιςμικοφ ι ζνασ ςυνδυαςμόσ υλικοφ και λογιςμικοφ, το οποίο πραγματοποιεί τθν ανίχνευςθ περίεργθσ δικτυακισ κίνθςθσ ςε ζναν υπολογιςτι ι ςτο δίκτυο. Εξ οριςμοφ ζνα IDS απλά ανιχνεφει επικζςεισ και τισ παρουςιάηει ςτο διαχειριςτι αςφαλείασ του δικτφου. Δεν αναλαμβάνει δράςθ, υπό τθν ζννοια ότι δεν κάνει κάτι για να περιορίςει τθν εξάπλωςθ τθσ επίκεςθσ. Τα περιςςότερα ςυςτιματα ανίχνευςθσ επικζςεων λειτουργοφν με τθν χριςθ Signatures, δθλαδι ανιχνεφουν παράνομεσ ακολουκίεσ ενεργειϊν, όπωσ κάνουν και τα περιςςότερα antivirus προγράμματα που περιγράψαμε νωρίτερα. Εκτόσ από τθν χριςθ των Signatures τα IDS ςυςτιματα ανιχνεφουν και αναλφουν περίεργθ δικτυακι κίνθςθ και αποφαςίηουν αν πρόκειται για κάποιου είδουσ επίκεςθ ι όχι. Υπάρχει μία μάχθ ανάμεςα ςτα ςυςτιματα IDS και ςτα ςυςτιματα που εξετάηουν το δίκτυο για τθν δθμιουργία επίκεςθσ. Τα προγράμματα που κάνουν τθν εξζταςθ ζ- χουν πλζον ενςωματωμζνεσ δυνατότθτεσ για να ξεγελοφν τα IDS. Το 1998 οι Thomas Ptacek, και Timothy Newsham δθμοςίευςαν μία εργαςίασ τουσ για τον τρόπο που μποροφν να ξεγελαςτοφν τα IDS[10] και αμζςωσ ακολοφκθςε μία υλοποίθςθ τόςο τθσ μεκόδου[11], όςο και τθσ γλϊςςασ που χρθςιμοποιείται για το τεςτ[12]. Από τότε τεχνικζσ αντι-ids ζχουν προςτεκεί ςτα εργαλεία εξζταςθσ των δικτφων όπωσ για παράδειγμα ςτο whisker[13]. Τζλοσ ζχουν πρόςφατα δθμιουργθκεί μζκοδοι κανονικοποίθςθσ τθσ δικτυακισ κίνθςθσ όταν γίνεται εξζταςθ του δικτφου για επίκεςθ[14] με ςκοπό τθν αντιμετϊπιςθ και προφφλαξθ του δικτφου από επικζςεισ. Τα ςυςτιματα αυτά δεν ζχουν υλοποιθκεί ακόμα ςε ςυςτιματα παραγωγισ. Το μεγαλφτερο πρόβλθμα του False Alarm Rate (FAR) το ζκιξε ςτο RAID 99 Conference (Recent Advances in Intrusion Detection)[15], ο Stefan Axelsson παρουςιάηοντασ μία εργαςία με τίτλο The Base-Rate Fallacy and its Implications for the Difficulty of Intrusion Detection [16]. Το ςφάλμα του βαςικοφ ςυνόλου (Base-Rate Fallacy) είναι ζνασ από τουσ κεμζλιουσ λίκουσ τθσ ςτατιςτικισ του Bayes, που προζρχεται από το κεϊρθμά του που περιγράφει τθν ςχζςθ ανάμεςα ςτθν πικανότθτα υπό ςυνκικθ και το αντίκετό τθσ. Για παράδειγμα ασ υποκζςουμε πωσ ζνασ γιατρόσ κάνει ζνα τεςτ ςε αςκενι του. Το τεςτ αυτό ςτισ δοκιμζσ ζδειξε πωσ είναι 99% ακριβζσ, δθλαδι το τεςτ είχε 99% επιτυχία όταν δοκιμάςτθκε ςε δείγμα που όλοι είχαν τθν αςκζνεια. Αντίςτοιχα όταν το τεςτ δοκιμάςτθκε ςε πλθκυςμό που δεν είχε τθν αςκζνεια ιταν 99% επιτυχζσ αναγνωρίηοντασ πωσ δεν ζπαςχαν. Αν τελικά το τεςτ βγει κετικό για τθν αςκζνεια και ςτο ςφνολο του πλθκυςμοφ θ αναλογία των αςκενϊν είναι 1/10,000, δθλαδι ζνασ ςτουσ 10,000 ανκρϊπουσ ζχουν τθν αςκζνεια, θ πικανότθτα να είναι πράγματι α- ςκενισ ο άνκρωποσ είναι 1/100 γιατί ο πλθκυςμόσ που είναι υγιισ είναι περιςςότεροσ από αυτόν που αςκενεί. Αυτό το αποτζλεςμα εκπλιςςει γιατί δεν λαμβάνουμε 28

47 3-Βαζικά Δπγαλεία Ανηιμεηώπιζηρ Δπιθέζευν υπόψθ τθ βαςικι αναλογία ςυμβάντων (basic rate of incidence) όταν επιλφουμε τζτοια προβλιματα πικανότθτασ. Η ςθμαςία του ζγκειται πωσ ςε ζνα ρεαλιςτικό υπολογιςτικό και δικτυακό περιβάλλον θ ανίχνευςθ ειςβολϊν είναι δυςκολότερθ γιατί ο παράγοντασ που μειϊνει τθν αποδοτικότθτα ενόσ IDS δεν είναι θ ικανότθτά του να αναγνωρίηει ςωςτά ειςβολζσ, αλλά θ ικανότθτά του να ςταματά τουσ λάκοσ ςυναγερμοφσ. 29

48 3.3-Πποζηαζία με Σςζηήμαηα Ανίσνεςζηρ Δπιθέζευν (IDS) 30

49 4-Έπεςνα ζε Σςζηήμαηα Ανίσνεςζηρ Δπιθέζευν 4. Έρευνα ςε Συςτόματα Ανύχνευςησ Επιθϋςεων «Αν πεισ πωσ οτιδιποτε με κόκκινθ μφτθ είναι κλόουν, τότε κα ζχεισ επιλζξει όλουσ τουσ κλόουν, αλλά και τον τάρανδο του Αϊ-Βαςίλθ τον Rudolph, και ανάποδα»- Stefan Axelsson. Με τον όρο επίκεςθ (intrusion) εννοοφμε μία ςειρά από κινιςεισ που ζχουν ωσ ςκοπό να βλάψουν τθν ακεραιότθτα, τθν διακεςιμότθτα και τθν μυςτικότθτα των πλθροφοριϊν μασ[17]. Είναι επίςθσ ςθμαντικό να αναφζρουμε ότι με τον όρο ςφςτθμα δεν αναφερόμαςτε ςε κάποιο τερματικό μθχάνθμα π.χ.(pc) αλλά ςε ζνα ςφςτθμα που μπορεί να εγκακίςταται ςε διαφορετικά μθχανιματα ι και ςε κάποιο router, switch κλπ. Στο κεφάλαιο αυτό εξετάηουμε τθν κατθγοριοποίθςθ των ΣΑΕ ανάλογα με τθν τοπολογία τουσ (4.1), τα διαχωρίηουμε ςε Δικτυακά (Network-Based ι NIDS) (4.1.1) και εξυπθρετθτϊν (Host-Based ι HIDS) (4.1.2) και αναφζρουμε τα πλεονεκτιματά τουσ και τα μειονεκτιματά τουσ. Επίςθσ τα κατθγοριοποιοφμε ανάλογα με τισ τεχνικζσ ανίχνευςθσ που χρθςιμοποιοφν (4.2) ςε ςυςτιματα ανίχνευςθσ διαταραχϊν (Anomaly Detection) (4.2.1) και ανίχνευςθσ κακισ ςυμπεριφοράσ (Misuse Detection) (4.2.2). Τζλοσ περιγράφουμε τθν λειτουργία των ςυςτθμάτων πρόλθψθσ επικζςεων (Intrusion Prevention Systems ι IPS) (4.3) Κατηγοριοπούηςη IDS ανϊλογα με την τοπολογύα Σφμφωνα με τθν τοπολογία τουσ τα ςυςτιματα ανίχνευςθσ επικζςεων χωρίηονται ςε δφο τφπουσ: 1. Network Based (NIDS) είναι τα πιο διαδεδομζνα και εξετάηουν τθ διερχόμενθ δικτυακι κίνθςθ (traffic) για ίχνθ ειςβολισ. Στθν Εικόνα 4-1 παρουςιάηεται θ διάταξθ ενόσ Network Based IDS ςτθν οποία περιζχονται δφο αιςκθτιρεσ ςε διαφορετικά ςθμεία ο κακζνασ, που επικοινωνοφν με ζνα ςτακμό παρακολοφκθςθσ δεδομζνων ςτο εςωτερικό δίκτυο. 2. Host Based (ΘIDS) παρακολουκοφν τθ δραςτθριότθτα χρθςτϊν και ε- φαρμογϊν ςτο τοπικό μθχάνθμα για ίχνθ ειςβολισ. Αυτοφ του είδουσ τα IDSs παρζχουν πιο ακριβι πλθροφορία για τθν φπαρξθ ι μθ κάποιασ επίκεςθσ και αυτό γιατί μποροφν να καταλάβουν τι ςυμβαίνει κάκε φορά ςτο ςφςτθμα. Ζτςι αν ςυμβεί μια άγνωςτθσ μορφισ επίκεςθ κατά τθν οποία γίνεται προςπάκεια να επιτευχκεί δυςλειτουργία του υπολογιςτι, το Host Based IDS κα το αναγνωρίςει ωσ επίκεςθ, ενϊ αντίκετα το Network Based IDS δεν κα αντιλθφκεί τθν επίκεςθ. Γενικά κεωρείται πωσ θ χριςθ Host Based IDS ζχει καλφτερα αποτελζςματα 31

50 4.1-Καηηγοπιοποίηζη IDS ανάλογα με ηην ηοπολογία από τθν χριςθ Network Based IDS. Server Αιζθηηήρας IDS Σηαθμός Ελέγτοσ Firewall Εζωηερικό Δίκησο Internet Server Αιζθηηήρας IDS Χρήζηες Εικόνα 4-1 Διάταξθ Network Based IDS Network Based IDS Το 1999 ο Vern Paxson (ςυγγραφζασ του Bro Network-based IDS[18]), κατζλθξε ςε μία παρουςίαςι του με τίτλο Why Understanding Anything About The Internet Is Painfully Hard [19], πωσ για να κάνουμε τα πρϊτα βιματα ςτθν μοντελοποίθςθ τθσ δικτυακισ κυκλοφορίασ, πρζπει να υπάρχουν ςτακερά ςθμεία, δθλαδι ιδιότθτεσ ςτο δίκτυο που παραμζνουν ςτακερζσ. Αλλά το διαδίκτυο είναι ςυνεχϊσ μεταβαλλόμενο, ζνασ κινοφμενοσ ςτόχοσ. Η πλειοψθφία των Network-based IDS (NIDS), χρθςιμοποιοφν ζνα μοντζλο ανίχνευςθσ απαγορευμζνθσ προςπζλαςθσ (misuse detection), παραδοςιακά υλοποιθμζνο ςυγκρίνοντασ ςε πραγματικό χρόνο τθν δικτυακι κυκλοφορία με μία βάςθ δεδομζνων που περιζχει «υπογραφζσ» που αντιπροςωπεφουν γνωςτοφ τφπου επικζςεισ. Υπάρχει επίςθσ ζνα άλλο μοντζλο NIDS, που ανιχνεφει ανωμαλίεσ ςτθν δικτυακι κίνθςθ (anomaly detection), προςπακϊντασ να «μάκει» να αντιλαμβάνεται τθν διαφορά ανάμεςα ςτθν νόμιμθ και τθν παράνομθ ςυμπεριφορά. Τα μοντζλα αυτά δεν ζχουν ακόμα αποδείξει τθν αξία τουσ, αφοφ ο προςδιοριςμόσ τθσ «ανωμαλίασ» ςε ζνα διαρκϊσ μεταβαλλόμενο δίκτυο ςτο χρόνο, ανάμεςα ςε sites, ανάλογα με τθν χριςθ του δικτφου και ανάλογα από τθν ςυμπεριφορά των χρθςτϊν είναι αρκετά δφςκολοσ, ςε ζνα πραγματικό επιχειρθματικό περιβάλλον. To Network Based IDS ςυνικωσ αποτελείται από δφο μζρθ: τουσ αιςκθτιρεσ και τον ςτακμό διαχείριςθσ / ανάλυςθσ. Ο αιςκθτιρασ βρίςκεται ςε ζνα τομζα του δικτφου και παρακολουκεί για φποπτθ κίνθςθ. Ο ςτακμόσ διαχείριςθσ λαμβάνει τισ ενδείξεισ κινδφνου από τουσ αιςκθτιρεσ και τισ μεταβιβάηει ςτον διαχειριςτι του ςυςτιματοσ, δθλαδι ςτον διαχειριςτι αςφαλείασ του δικτφου. 32

51 4-Έπεςνα ζε Σςζηήμαηα Ανίσνεςζηρ Δπιθέζευν Οι αιςκθτιρεσ είναι ςυνικωσ ςυςτιματα που υπάρχουν μόνο για να παρακολουκοφν το δίκτυο. Ζχουν ζνα δικτυακό interface που αναλφει τα πάντα, δθλαδι λαμβάνουν όλθ τθν δικτυακι κίνθςθ, όχι μόνο ότι προορίηεται για τθ δικιά τουσ IP διεφκυνςθ, αλλά και το διερχόμενο από αυτοφσ traffic με ςκοπό τθν περαιτζρω ανάλυςθ. Αν ανιχνεφςουν κάτι φποπτο το μεταβιβάηουν ςτον ςτακμό διαχείριςθσ / ανάλυςθσ. Ο ςτακμόσ διαχείριςθσ / ανάλυςθσ μπορεί να δείξει τα ςιματα κινδφνου, που ζλαβε από τουσ αιςκθτιρεσ ι να πραγματοποιιςει επιπλζον ανάλυςθ. Πλεονεκτόματα των NIDS Μποροφν να ανιχνεφςουν κάποιεσ από τισ επικζςεισ που χρθςιμοποιοφν το δίκτυο. Είναι επαρκι για τθν ανίχνευςθ πρόςβαςθσ. Ζχουν τθν τάςθ να είναι καλφτερα αυτό-διατθροφμενα από ότι τα host based. Τρζχουν ςε ζνα ςυγκεκριμζνο ςφςτθμα και θ εγκατάςταςι τουσ είναι απλι και πραγματοποιείται ςε μια τοποκεςία ςτο δίκτυο που δίνει τθ δυνατότθτα παρακολοφκθςθσ ευαίςκθτθσ κίνθςθσ δεδομζνων, ι προςπζλαςθ χωρίσ εξουςιοδότθςθ ι κάποιου είδουσ πρόςβαςθ με κατάχρθςθ προνομίων εξουςιοδότθςθσ. Δεν απαιτεί μετατροπζσ ςτουσ servers ενόσ υπολογιςτικοφ κζντρου ι ςτουσ κόμβουσ για να εγκαταςτακεί. Αυτό είναι μεγάλο όφελοσ, γιατί ςυνικωσ οι servers ζχουν μικρζσ ανοχζσ όςο αφορά τθ CPU, το I/O και τθν χωρθτικότθτα του δίςκου. Η εγκατάςταςθ επιπλζον λογιςμικοφ μπορεί να δθμιουργιςει πικανά προβλιματα λειτουργικότθτασ. Δεν αποτελεί κρίςιμο παράγοντα για τθν λειτουργικότθτα του δικτφου και αυτό γιατί δεν λειτουργεί ωσ δρομολογθτισ ι ωσ κάποια άλλθ κρίςιμθ ςυςκευι. Άρα, τυχόν αποτυχία ςτο ςφςτθμα του IDS δε κα ζχει ςθμαντικι επίδραςθ ςτθν λειτουργία του λοιποφ εξοπλιςμοφ. Θα ςυναντιςουμε λιγότερθ αντίδραςθ από εργαηόμενουσ του περιβάλλοντοσ κακϊσ δεν κα απαιτθκεί να εγκαταςτιςουν λογιςμικό ςτα ςυςτιματά τουσ. Μειονεκτόματα των NIDS Εξετάηει τθ δικτυακι ςφνδεςθ ςτον τομζα που είναι ςυνδεδεμζνο και μόνο. Δεν μπορεί να ανιχνεφςει μία επίκεςθ που γίνεται ςε διαφορετικό τμιμα του δικτφου. Το πρόβλθμα αυτό γίνεται μεγαλφτερο ςε ζνα περιβάλλον με πολλαπλζσ δικτυϊςεισ Ethernet. Για να καλφψει τισ ανάγκεσ του ςε δικτυακι κάλυψθ, ζνασ μεγάλοσ οργανιςμόσ κα πρζπει να αγοράςει πολ- 33

52 4.1-Καηηγοπιοποίηζη IDS ανάλογα με ηην ηοπολογία λοφσ αιςκθτιρεσ κάτι που ςθμαίνει επιπλζον κόςτοσ. Χρθςιμοποιοφν ανάλυςθ αποτυπωμάτων/signatures για να καλφψουν τισ προδιαγραφζσ απόδοςθσ. Ζτςι ανιχνεφονται γνωςτζσ προγραμματιςμζνεσ επικζςεισ από εξωτερικζσ πθγζσ, αλλά αυτι θ μζκοδοσ δεν είναι επαρκισ για πιο πολφπλοκα είδθ επικζςεων. Ζνα ςφςτθμα ανίχνευςθσ επικζςεων NIDS μπορεί να χρειαςτεί να μεταδϊςει μεγάλεσ ποςότθτεσ δεδομζνων ςτο κεντρικό ςφςτθμα ανάλυςθσ. Κάποιεσ φορζσ αυτό ςθμαίνει ότι οποιοδιποτε εξεταηόμενο πακζτο παράγει μία μεγαλφτερθ ποςότθτα κίνθςθσ δεδομζνων. Ρολλά τζτοια ςυςτιματα χρθςιμοποιοφν επικετικζσ μεκόδουσ ελάττωςθσ δεδομζνων για να μειϊςουν το παραγόμενο traffic επικοινωνίασ. Επίςθσ, προωκοφν αρκετζσ από τισ διαδικαςίεσ επιλογισ ενζργειασ ςτον αιςκθτιρα μόνο και χρθςιμοποιοφν το ςφςτθμα ανάλυςθσ ωσ οκόνθ τθσ κατάςταςθσ του δικτφου ι ωσ κζντρο επικοινωνίασ, παρά για πραγματικι ανάλυςθ. Το μειονζκτθμα εδϊ είναι ότι παρζχεται ελάχιςτοσ ςυντονιςμόσ μεταξφ των αιςκθτιρων, δθλαδι οποιοςδιποτε αιςκθτιρασ δεν γνωρίηει αν κάποιοσ άλλοσ ζχει ανιχνεφςει μια επίκεςθ. Ζνα τζτοιο ςφςτθμα δεν μπορεί ςυνικωσ να ανιχνεφςει ςυνεργατικζσ ι πολφπλοκεσ επικζςεισ. Υπάρχει πικανότθτα να αντιμετωπίςει δυςκολίεσ ςτο χειριςμό επικζςεων ςτθ διάρκεια κρυπτογραφθμζνων ςυνόδων. Ευτυχϊσ, είναι πολφ λίγεσ οι επικζςεισ που πραγματοποιοφνται εντόσ μιασ κρυπτογραφθμζνθσ ςυνόδου, εκτόσ από τισ επικζςεισ εναντίον ευπακϊν Web Servers. Αυτό το γεγονόσ κα γίνει περιςςότερο εμφανζσ με τθν μετάβαςθ ςτο ΙPv Host Based IDS (HIDS) Tα Host Based IDSs ψάχνουν για ίχνθ ειςβολισ ςτο τοπικό ςφςτθμα του υπολογιςτικοφ κόμβου (host). Χρθςιμοποιοφν ςυχνά το μθχανιςμό ελζγχου και καταγραφισ του κόμβου ςαν πθγι πλθροφοριϊν για ανάλυςθ. Ριο ςυγκεκριμζνα ψάχνουν για αςυνικθ δραςτθριότθτα που περιορίηεται ςτον τοπικό κόμβο, όπωσ logins, παράξενθ πρόςβαςθ ςε αρχεία, μθ εγκεκριμζνθ αφξθςθ δικαιωμάτων ι μετατροπζσ ςε δικαιϊματα του ςυςτιματοσ. Η ςυγκεκριμζνθ αρχιτεκτονικι χρθςιμοποιεί μθχανιςμοφσ βαςιςμζνουσ ςε κανόνεσ για τθν ανάλυςθ τθσ δραςτθριότθτασ. Για παράδειγμα, ζνασ τζτοιοσ κανόνασ μπορεί να είναι ο εξισ: δυνατότθτα για πρόςβαςθ ςτο λογαριαςμό root (διαχειριςτι) είναι δυνατι μόνο μζςω τθσ εντολισ su. Συνεπϊσ, επιτυχθμζνεσ προςπάκειεσ πρόςβαςθσ ςτο λογαριαςμό root κα μποροφςαν να κεωρθκοφν ωσ επίκεςθ. 34

53 4-Έπεςνα ζε Σςζηήμαηα Ανίσνεςζηρ Δπιθέζευν Πλεονεκτόματα των HIDS Μπορεί να αποτελζςει πολφ δυνατό εργαλείο ανάλυςθσ πικανϊν επικζςεων. Για παράδειγμα, είναι ςε κζςθ μερικζσ φορζσ να καταγράψει τι ακριβϊσ ζκανε ο ειςβολζασ, ποιεσ εντολζσ εκτζλεςε, ποια αρχεία ζτρεξε και ποιεσ ρουτίνεσ του ςυςτιματοσ κάλεςε Ζχουν μικρότερουσ false positive ρυκμοφσ από ότι τα network based. Αυτό ςυμβαίνει γιατί το εφροσ των εντολϊν που εκτελοφνται ςε ζνα ςυγκεκριμζνο κόμβο είναι πολφ πιο εςτιαςμζνο, παρά τα είδθ τθσ κίνθςθσ πακζτων που ρζουν ςε ζνα δίκτυο. Αυτι θ ιδιότθτα μπορεί να μειϊςει τθν πολυπλοκότθτα των Host Based μθχανιςμϊν. Μποροφν να χρθςιμοποιθκοφν ςε περιβάλλοντα όπου δεν χρειάηεται πλιρθσ ανίχνευςθ ειςβολϊν ι όταν δεν υπάρχει διακζςιμο bandwidth για επικοινωνία αιςκθτιρα ςτακμοφ ανάλυςθσ. Τα Host Based IDSs είναι πλιρωσ αυτοςυντθροφμενα, κάτι που τουσ επιτρζπει, ςε κάποιεσ περιπτϊςεισ, να εκτελοφνται από read-only μζςα. Ζτςι, οι ειςβολείσ δφςκολα μποροφν να εξουδετερϊςουν το IDS. Tζλοσ, ςε ζνα Host Based ςφςτθμα είναι ευκολότερο να ςχθματιςτεί μία ενεργι αντίδραςθ ςε περίπτωςθ επίκεςθσ, όπωσ ο τερματιςμόσ μιασ υπθρεςίασ ι το logging off ενόσ επιτικζμενου χριςτθ Μειονεκτόματα των HIDS Απαιτοφν εγκατάςταςθ ςτο ςφςτθμα που κζλουμε να προςτατεφςουμε. Αν, για παράδειγμα, ζχουμε ζναν server που πρζπει να τον προςτατζψουμε κα πρζπει να εγκαταςτακεί το IDS ςτον server αυτόν. Εχουν τθν τάςθ να εξαρτϊνται από το υπάρχον ςφςτθμα καταγραφισ (logging system) και ελζγχου του server. Εάν ο server δεν λειτουργεί ζτςι ϊ- ςτε θ καταγραφι και ο ζλεγχοσ να είναι ςε ικανοποιθτικό επίπεδο, κα πρζπει να γίνει αλλαγι ςτισ ρυκμίςεισ του. Αυτό αποτελεί τεράςτιο πρόβλθμα αλλαγισ ςτθ διαχείριςθ του server. Αυτά τα ςυςτιματα είναι ςχετικά ακριβά. Ρολλοί οργανιςμοί δεν ζχουν τθν οικονομικι δυνατότθτα να προςτατζψουν ολόκλθρα δικτυακά τμιματα με τθ χριςθ Host Based IDSs. Αντίκετα, κα πρζπει να επιλζξουν ποια ςυςτιματα κα προςτατζψουν και ποια όχι. Αυτό το γεγονόσ αφινει μεγάλα κενά ςτθν κάλυψθ τθσ ανίχνευςθσ ειςβολϊν ςτο δίκτυο, αφοφ ζνασ ειςβολζασ ςε ζνα γειτονικό, αλλά απροςτάτευτο ςφςτθμα μπορεί να υποκλζψει αυκεντικοποίθςθσ πλθροφορίεσ ι άλλο πολφτιμο υλικό από το δίκτυο. Αγνοοφν εντελϊσ το περιβάλλον του δικτφου, άρα ο χρόνοσ ανάλυςθσ που απαιτείται για τθν εκτίμθςθ ηθμιϊν από πικανι ειςβολι αυξάνει 35

54 4.1-Καηηγοπιοποίηζη IDS ανάλογα με ηην ηοπολογία γραμμικά με τον αρικμό των κόμβων που προςτατεφονται. 36

55 4-Έπεςνα ζε Σςζηήμαηα Ανίσνεςζηρ Δπιθέζευν 4.2. Κατηγοριοπούηςη ανϊλογα με τισ τεχνικϋσ ανύχνευςησ Στθν βιβλιογραφία βλζπουμε ότι ανάλογα με τθν τεχνολογία ανίχνευςθσ που εφαρμόηουν τα IDS χωρίηονται ςε δφο βαςικζσ κατθγορίεσ ανάλογα με τθν τεχνολογία ανίχνευςθσ επίκεςθσ που εφαρμόηουν[20]: 1. Anomaly Based. Είναι IDS τα οποία ζχουν αποκθκευμζνα κάποια μοντζλα κανονικισ κίνθςθσ και τα οποία όταν αναγνωρίηουν κίνθςθ διαφορετικι από αυτιν που περιγράφουν τα μοντζλα τότε δείχνουν επίκεςθ. 2. Signature Based. Είναι IDS τα οποία λειτουργοφν με παρόμοιο τρόπο με τα antivirus ι τα τείχθ προςταςίασ. Αναγνωρίηουν γνωςτά ςενάρια επικζςεων με τθν ανίχνευςθ κακισ ςυμπεριφοράσ. Υπάρχουν ζξι κατθγορίεσ επικζςεων: Ρροςπάκεια ειςόδου ςτο ςφςτθμα, που ανιχνεφεται από τυπικά προφίλ ςυμπεριφοράσ ι παραβιάςεισ περιοριςμϊν αςφαλείασ. Κρυφι επίκεςθ, που ανιχνεφεται επίςθσ από τα τυπικά προφίλ ςυμπεριφοράσ. Διείςδυςθ ςτο ςφςτθμα ελζγχου αςφαλείασ, οι οποία ανιχνεφεται με ςυνεχι παρακολοφκθςθ ςυγκεκριμζνων προτφπων δραςτθριότθτασ. Διαρροι, που γίνεται αντιλθπτι με μια τυπικι χριςθ των πόρων του ςυςτιματοσ. Denial of Service (άρνθςθ εκτζλεςθσ εφαρμογισ), που επίςθσ γίνεται α- ντιλθπτι από χριςθ πόρων του ςυςτιματοσ. Κακόβουλθ χριςθ, που ανιχνεφεται μζςω τυπικισ ςυμπεριφοράσ προφίλ, παραβιάςεων κανόνων αςφαλείασ, ι με χριςθ ειδικϊν προνομίων Ανύχνευςη Διαταραχών (Anomaly Detection) Το 1993 ο Steven Bellovin δθμοςίευςε μία εργαςία με τίτλο Packets Found on an Internet [21], ςτθν οποία περιγράφει τθν ανϊμαλθ δικτυακι κυκλοφορία ςτο firewall τθσ ΑΤ&Τ. Ρροςδιορίηει ανϊμαλθ ευρείασ μετάδοςθσ κυκλοφορία (broadcast traffic), αιτιςεισ για ςφνδεςθ ςε ανεξιγθτεσ κφρεσ (ports) και πακζτα με τυχαίεσ διευκφνςεισ ςε ανφπαρκτα ςυςτιματα. Ο Bellovin ςυμπεραίνει: «για μερικοφσ, τα ευριματα μποροφν να περιγραφοφν λακωνικά με τθ φράςθ «λάκθ ςυμβαίνουν» ( bugs happen ). Αλλά θ περιφρονθτικι απόρριψθ των αποτελεςμάτων μασ χάνει τθν ουςία. Ναι, λάκθ ςυμβαίνουν, αλλά θ μεγάλθ επιτυχία του Διαδικτφου κάνει μερικά λάκθ αόρατα. Τα προβλιματα που παρουςιάςτθκαν είναι ενδεικτικά των βαςικϊν προβλθμάτων που εξακολουκοφν να υπάρχουν ςτο ςχεδιαςμό». 37

56 4.2-Καηηγοπιοποίηζη ανάλογα με ηιρ ηεσνικέρ ανίσνεςζηρ Κακϊσ οι τεχνικζσ για τθν μεταφορά τθσ δικτυακισ πλθροφορίασ (κόμβοσ, υπθρεςία, δικτυακι τοπολογία[22]) γίνεται πιο εςωςτρεφισ, οι απροςδιοριςτίεσ του TCP/IP πρωτοκόλλου εντοπίηονται όλο και πιο δφςκολα. Οι ίδιεσ απροςδιοριςτίεσ οδθγοφν ςε ςχεδιαςμό του TCP/IP που ςυμπεριφζρεται διαφορετικά ανάλογα με τθν υλοποίθςθ ςε διαφορετικά λειτουργικά ςυςτιματα, ακόμα και ςε άλλεσ εκδόςεισ του ιδίου (αυτό άλλωςτε επιτρζπει και τθν εξακρίβωςθ του λειτουργικοφ ςυςτιματοσ μζςω του TCP/IP[23]). Είναι λοιπόν φανερό πωσ ο προςδιοριςμόσ τθσ ανϊμαλθσ δικτυακισ ςυμπεριφοράσ που μπορεί να ζχει ςτενι ςχζςθ με τθν αςφάλεια, γίνεται ακόμα δυςκολότεροσ ε- πειδι υπάρχει εγγενισ ανϊμαλθ ςυμπεριφορά ςτο δικτυακό περιβάλλον. Οι τεχνικζσ ανίχνευςθσ διαταραχϊν καταλιγουν ςτο ςυμπζραςμα ότι όλεσ οι επικετικζσ δραςτθριότθτεσ είναι αναγκαςτικά ανωμαλίεσ. Αυτό ςθμαίνει ότι αν μποροφςαμε να κακιερϊςουμε ζνα ςφνθκεσ προφίλ δραςτθριότθτασ για ζνα ςφςτθμα, κα ιμαςταν ςε κζςθ, κεωρθτικά, να ςθμαδζψουμε όλεσ τισ καταςτάςεισ του ςυςτιματοσ που αποκλίνουν από το κακιερωμζνο προφίλ. Αυτό μπορεί να γίνει με βάςθ ζνα, ςτατιςτικά, ςθμαντικό νοφμερο προςπακειϊν ειςβολισ. Ραρόλα αυτά αν ςυλλογιςτοφμε ότι το ςφνολο των επικετικϊν δραςτθριοτιτων αλλάηει τθν κατάςταςθ του ςυςτιματοσ από τθν αρχικι του μορφι, βγάηουμε κάποιεσ ενδιαφζρουςεσ εκδοχζσ: Αςυνικεισ δραςτθριότθτεσ που δεν ζχουν χαρακτιρα ειςβολισ χαρακτθρίηονται ωσ επικετικζσ. Επικετικζσ δραςτθριότθτεσ που δεν είναι αςυνικεισ, καταλιγουν ςε false negatives (γεγονότα δεν χαρακτθρίηονται ωσ επικζςεισ, ενϊ ςτθν πραγματικότθτα είναι). Αυτό είναι ζνα ιδιαίτερα επικίνδυνο πρόβλθμα και μάλιςτα ςοβαρότερο από το πρόβλθμα των false positive (γεγονότα χαρακτθρίηονται ωσ επικζςεισ, ενϊ δεν είναι ςτθν πραγματικότθτα). Τα κυριότερα ηθτιματα λοιπόν, ςτθν ανίχνευςθ διαταραχϊν ςε ςυςτιματα ανίχνευςθσ επικζςεων, είναι να γίνονται οι επιλογζσ μζςα ςτα επίπεδα των ορίων, ϊ- ςτε κανζνα από τα δφο παραπάνω προβλιματα να μθν μεγιςτοποιείται[24]. Σθμαντικι είναι, επίςθσ και θ επιλογι των χαρακτθριςτικϊν ςτθν παρακολοφκθςθ δεδομζνων. Τα ςυςτιματα ανίχνευςθσ διαταραχϊν είναι υπολογιςτικά ακριβά, λόγω του κόςτουσ του ελζγχου και τθσ ςυνεχοφσ ανανζωςθσ (updating) των μετρικϊν του προφίλ ενόσ ςυςτιματοσ[25]. Ζνα ςχθματικό παράδειγμα ενόσ τυπικοφ anomaly detection ςυςτιματοσ είναι το παρακάτω (βλ. Εικόνα 4-2): 38

57 4-Έπεςνα ζε Σςζηήμαηα Ανίσνεςζηρ Δπιθέζευν Εικόνα 4-2 Ραράδειγμα ςυςτιματοσ ανίχνευςθσ διαταραχών Μερικζσ από τισ ςθμαντικζσ προςεγγίςεισ ςτα ςυςτιματα ανίχνευςθσ διαταραχϊν αναλφονται παρακάτω. Στατιςτικό Προςϋγγιςη Στθν μζκοδο αυτι, αρχικά δθμιουργοφνται τα πρότυπα ςυμπεριφοράσ για τα υπό εξζταςθ αντικείμενα. Κακϊσ το ςφςτθμα ςυνεχϊσ τρζχει, ο ανιχνευτισ διαταραχϊν ςυνεχϊσ παράγει τθν διακφμανςθ του παρόντοσ προφίλ ςε ςχζςθ με τθν αρχικι κατάςταςθ[26]. Ραρατθροφμε ότι, ςε αυτιν τθν περίπτωςθ, υπάρχουν πολλοί παράγοντεσ που επθρεάηουν το προφίλ ςυμπεριφοράσ όπωσ ο χρόνοσ που χρειάςτθκε θ cpu, ο αρικμόσ των δικτυακϊν ςυνδζςεων ςτθ μονάδα του χρόνου κλπ[27]. Σε μερικά ςυςτιματα το παρόν προφίλ και το προθγοφμενο ςυνενϊνονται ανά διαςτιματα, ενϊ ςε άλλα θ παραγωγι προφίλ γίνεται ςε μια χρονικι περίοδο. Το κυριότερο πλεονζκτθμα των ςτατιςτικϊν ςυςτθμάτων είναι ότι ςυνεχϊσ προςαρμόηονται καλφτερα ςτθν παρακολοφκθςθ τθσ ςυμπεριφοράσ των χρθςτϊν. Συνεπϊσ είναι πιο ευαίςκθτα από τον ανκρϊπινο παράγοντα. Ράντωσ, υπάρχουν μερικά προβλιματα με αυτά τα ςυςτιματα, γιατί μποροφν ςταδιακά να κατευκυνκοφν με τζτοιο τρόπο από ειςβολείσ, ϊςτε να οδθγοφνται ςε λάκοσ εκτιμιςεισ. Για παράδειγμα, γεγονότα ειςβολισ να εκτιμθκοφν ωσ φυςιολογικά, false negatives ι false positives να παράγονται ανάλογα με το όριο φπαρξθσ ι μθ φπαρξθσ διαταραχισ (threshold) είναι πολφ μικρό ι μεγάλο αντίςτοιχα και ςχζςεισ μεταξφ γεγονότων να μθν αναφερκοφν λόγω τθσ μικρισ ευαιςκθςίασ των ςτατιςτικϊν παραγόντων που χρθςιμοποιοφνται[28]. 39

58 4.2-Καηηγοπιοποίηζη ανάλογα με ηιρ ηεσνικέρ ανίσνεςζηρ Ζνα κζμα ανοιχτό ςε ςυηιτθςθ ςτθ ςτατιςτικι προςζγγιςθ ειδικά, αλλά και ςτα ςυςτιματα ανίχνευςθσ επικζςεων γενικότερα, είναι θ επιλογι των μετρικϊνπαραγόντων που κα παρακολουκοφνται. Δεν είναι γνωςτό ακόμθ ποιο υποςφνολο των παραγόντων αυτϊν είναι ςε κζςθ να προβλζψει ακριβϊσ τισ δραςτθριότθτεσ ειςβολισ. Στατικζσ μζκοδοι απόφαςθσ ςυνικωσ οδθγοφν ςε λάκοσ αποτζλεςμα λόγω τθσ μοναδικότθτασ κάκε ςυςτιματοσ. Αυτόσ που φαίνεται πιο αποτελεςματικόσ είναι ο ςτατικόσ και δυναμικόσ, μαηί, ςυνδυαςμόσ των μετρικϊν-παραγόντων[29]. Ρροβλιματα που προκφπτουν από τθ χριςθ αυτισ τθσ τεχνικισ λφνονται με χριςθ άλλων μεκόδων όπωσ είναι θ γεννετικι πρόβλεψθ προτφπων, θ οποία λαμβάνει υπόψθ προθγοφμενα γεγονότα κατά τθν ανάλυςθ των δεδομζνων. Γεννετικό Πρόβλεψη Προτύπων Αυτι θ μζκοδοσ ανίχνευςθσ ειςβολϊν προςπακεί να προβλζψει μελλοντικά γεγονότα με χριςθ γεγονότων που ιδθ ζχουν ςυμβεί[30]. Επομζνωσ, μποροφμε να ζχουμε τον εξισ κανόνα: E1 - E2 (E3 = 80%, E4 = 15%, E5 = 5%) Αυτό ςθμαίνει ότι με δεδομζνα τα γεγονότα Ε1 και Ε2 και με το Ε2 να ακολουκεί το Ε1 ςτο χρόνο, υπάρχει 80% πικανότθτα να ακολουκιςει το γεγονόσ Ε3, 15 % να α- κολουκιςει το Ε4 και 5% να ακολουκιςει το Ε5.Το πρόβλθμα είναι ότι μερικά επικετικά ςενάρια που δεν ζχουν προβλεφκεί από το ςφςτθμα δε κα χαρακτθριςτοφν ωσ ειςβολι. Δθλαδι, αν μια ακολουκία γεγονότων Α-Β-C υπάρχει και είναι ειςβολι, αλλά δεν βρίςκεται ςτθ βάςθ των κανόνων, κα καταχωρθκεί απλά ωσ άγνωςτθ. Αυτό το πρόβλθμα μπορεί να λυκεί μερικϊσ με τον χαρακτθριςμό οποιουδιποτε α- γνϊςτου γεγονότοσ ωσ ειςβολι (αυξάνοντασ ζτςι τον αρικμό των false negatives). Στθν φυςιολογικι περίπτωςθ, ζνα γεγονόσ χαρακτθρίηεται ωσ ειςβολι εάν ταιριάηει με το αριςτερό μζροσ του κανόνα ανάλυςθσ και το δεξί μζροσ είναι πολφ διαφορετικό από το αποτζλεςμα τθσ πρόβλεψθσ[31]. Υπάρχουν πολλά πλεονεκτιματα ςε αυτιν τθν προςζγγιςθ[32]. Ρρϊτον, ακολουκιακά πρότυπα βαςιςμζνα ςε κανόνεσ μποροφν να ανιχνεφςουν ανϊμαλεσ δραςτθριότθτεσ πολφ πιο εφκολα από τισ παραδοςιακζσ μεκόδουσ. Δεφτερο, τα ςυςτιματα που καταςκευάηονται χρθςιμοποιϊντασ αυτό το μοντζλο είναι ιδιαίτερα προςαρμόςιμα ςε αλλαγζσ. Αυτό ςυμβαίνει γιατί τα λιγότερο καλά και αποτελεςματικά πρότυπα ςυνεχϊσ εξαλείφονται, ενϊ παραμζνουν τα πολφ ποιοτικά μόνο πρότυπα. Τρίτο, είναι πιο εφκολο να εντοπιςτοφν χριςτεσ που προςπακοφν να επθρεάςουν και να κατευκφνουν το ςφςτθμα κατά τθ διάρκεια που αυτό μακαίνει. Τζταρτο οι ανϊμαλεσ δραςτθριότθτεσ εντοπίηονται και αναφζρονται μζςα ςε λίγα δευτερόλεπτα από τθ ςτιγμι τθσ λιψθσ τθσ κρίςιμθσ πλθροφορίασ[33]. 40

59 4-Έπεςνα ζε Σςζηήμαηα Ανίσνεςζηρ Δπιθέζευν Νευρωνικϊ Δύκτυα Μια διαφορετικι προςζγγιςθ ςτα ςυςτιματα εντοπιςμοφ ειςβολισ είναι θ χριςθ νευρωνικϊν δικτφων. Η ιδζα εδϊ είναι να «εκπαιδεφςουμε» ζνα νευρωνικό δίκτυο με τζτοιο τρόπο, ϊςτε να μπορεί να προβλζψει τθν επόμενθ εντολι ι ενζργεια ενόσ χριςτθ, με βάςθ προθγοφμενεσ εντολζσ και ενζργειεσ. Το δίκτυο λειτουργεί με βάςθ ζνα ςφνολο εντολϊν, αντιπροςωπευτικϊν του χριςτθ[34]. Μετά τθν περίοδο εκμάκθςθσ το δίκτυο προςπακεί να ταιριάξει πραγματικζσ εντολζσ με το πραγματικό προφίλ του χριςτθ, που ιδθ υπάρχει ςτο δίκτυο. Πςα γεγονότα προβλεφκοφν λάκοσ ςτθν πραγματικότθτα απεικονίηουν τθν διαφοροποίθςθ του χριςτθ από το προφίλ του. Κάποια πλεονεκτιματα των νευρωνικϊν δικτφων είναι ότι τα καταφζρνουν καλά με πολφπλοκα δεδομζνα, θ επιτυχία τουσ δεν εξαρτάται από καμία ςτατιςτικι υπόκεςθ για τθν φφςθ των δεδομζνων και είναι πιο εφκολο να μετατραποφν για διαφορετικζσ ομάδεσ χρθςτϊν[35]. Πμωσ υπάρχουν και προβλιματα. Ρρϊτα, ζνα μικρό ςφνολο πλθροφοριϊν κα οδθγιςει ςε πολλά false positives, ενϊ ζνα μεγάλο ςφνολο κα οδθγιςει ςε άςχετα δεδομζνα και ςτθν αφξθςθ των false negatives. Δεφτερο, θ τοπολογία του δικτφου αποφαςίηεται μετά από πολλζσ διαδοχικζσ δοκιμζσ και λάκθ. Τρίτο, ο ειςβολζασ μπορεί να «εκπαιδεφςει» το δίκτυο κατά τθν φάςθ εκμάκθςθσ[36] Ανύχνευςη Κακόσ Συμπεριφορϊσ (Misuse Detection) Η ιδζα πίςω από τθν misuse detection είναι ότι υπάρχουν τρόποι αναπαράςταςθσ επικζςεων με τθ μορφι ενόσ αποτυπϊματοσ ι signature, ϊςτε ακόμα και παραλλαγζσ τθσ επίκεςθσ να μποροφν να ανιχνευτοφν[37]. Άρα τα ςυςτιματα αυτά μοιάηουν πολφ με τα antivirus προγράμματα, μποροφν να ανιχνεφςουν πολλά ι όλα τα γνωςτά πρότυπα ειςβολισ, αλλά δεν είναι αποτελεςματικά ςε άγνωςτεσ τεχνικζσ επίκεςθσ. Σθμαντικό είναι να τονίςουμε πωσ τα anomaly detection ςυςτιματα προςπακοφν να μαντζψουν το ςυμπλιρωμα τθσ «κακισ» ςυμπεριφοράσ, ενϊ τα misuse detection ςυςτιματα προςπακοφν να αναγνωρίςουν γνωςτζσ «κακζσ» ςυμπεριφορζσ[38]. Το ςθμαντικότερο ηιτθμα ςτα misuse detection ςυςτιματα είναι το πϊσ κα δθμιουργιςουμε signatures που να περιγράφουν όλεσ τισ πικανζσ παραλλαγζσ μιασ ςχετικισ επίκεςθσ και πϊσ κα δθμιουργιςουμε signatures που αγνοοφν τθν μθεπικετικι δραςτθριότθτα. Ζνα ςχθματικό παράδειγμα ενόσ τυπικοφ misuse detection ςυςτιματοσ είναι το παρακάτω (βλ. Εικόνα 4-3): 41

60 4.2-Καηηγοπιοποίηζη ανάλογα με ηιρ ηεσνικέρ ανίσνεςζηρ Εικόνα 4-3 Ραράδειγμα ςυςτιματοσ ανίχνευςθσ «κακισ ςυμπεριφοράσ Η ζρευνα ςτον χϊρο των misuse detection ςυςτθμάτων ςυνοψίηεται παρακάτω Παρακολούθηςη Πληκτρολόγηςησ Είναι μια απλι τεχνικι θ οποία παρακολουκεί χτυπιματα πλικτρων για πρότυπα επίκεςθσ. Δυςτυχϊσ το ςφςτθμα αυτό ζχει πολλά ελαττϊματα. Δυνατότθτεσ των shells, όπωσ bash, ksh, tcsh ςτισ οποίεσ ο χριςτθσ χρθςιμοποιεί aliases, ξεπερνοφν τθν τεχνικι αυτι εφκολα. Επίςθσ, θ μζκοδοσ δεν αναλφει τθν εκτζλεςθ τθσ εντολισ, αλλά μόνο τθν πλθκτρολόγθςθ. Αυτό ςθμαίνει ότι ζνα κακόβουλο πρόγραμμα δεν μπορεί να χαρακτθριςτεί ωσ επικετικι δραςτθριότθτα. Τα λειτουργικά ςυςτιματα δεν προςφζρουν πολλζσ δυνατότθτεσ για παρακολοφκθςθ χτυπθμάτων πλικτρων, επομζνωσ ο αιςκθτιρασ πρζπει να μπορεί να καταγράφει τα χτυπιματα πριν τα ςτείλει ςτον ςτακμό ανάλυςθσ. Μια βελτίωςθ ςε αυτό κα ιταν να παρακολουκοφμε τισ κλιςεισ των εφαρμογϊν, ζτςι ϊςτε να είναι δυνατι και θ ανάλυςθ τθσ εκτζλεςθσ του προγράμματοσ. Ανϊλυςη Μετϊβαςησ Καταςτϊςεων Στθν τεχνικι αυτι το ςφςτθμα παρακολοφκθςθσ αναπαρίςταται ςαν ζνα διάγραμμα μετάβαςθσ καταςτάςεων. Κακϊσ τα δεδομζνα αναλφονται το ςφςτθμα πραγματοποιεί μεταβάςεισ από μία κατάςταςθ ςε άλλθ. Η μετάβαςθ γίνεται αν κάποια Boolean κατάςταςθ είναι αλθκισ (π.χ, ο χριςτθσ ανοίγει ζνα αρχείο). Η προςζγγιςθ αυτι δίνει αποτελζςματα όταν ζχουμε μεταβάςεισ από αςφαλείσ ςε μθ αςφαλείσ 42

61 4-Έπεςνα ζε Σςζηήμαηα Ανίσνεςζηρ Δπιθέζευν καταςτάςεισ ςφμφωνα με γνωςτά πρότυπα επικζςεων[39]. Το παρακάτω παράδειγμα δείχνει τθ λειτουργία του μοντζλου: επιτικζμενοσ δθμιουργεί ζνα ςφνδεςμο ξεκινϊντασ με - (ασ ποφμε x) ςτο setuid shell του root που περιζχει τον μθχανιςμό #!/bin/sh. επιτικζμενοσ εκτελεί x. Η ουςία αυτισ τθσ επίκεςθσ είναι ότι οποτεδιποτε δθμιουργείται ζνασ ςφνδεςμοσ ςε κάποιο αρχείο, ςχθματίηεται ζνα νζο inode με τα αρχικά permissions του ςτόχου. Αφοφ θ υλοποίθςθ ενόσ script με χριςθ του μθχανιςμοφ #!/bin/sh δθμιουργεί ζνα subshell και ακόμθ καλφτερα, αν το όνομα του subshell αρχίηει με παφλα και δθμιουργείται ζνα interactive shell, βλζπουμε ότι ο επιτικζμενοσ απζκτθςε το interactive shell με δικαιϊματα root. Για να φτάςουμε ςτθν τελικι κατάςταςθ ειςβολισ, πρζπει να προχπάρχουν κάποιεσ καταςτάςεισ. Αν αυτζσ οι καταςτάςεισ προςταςίασ είναι αλθκείσ, τότε ζχουμε ειςβολι ςχεδόν ςίγουρα. Αν κάποια από αυτζσ τισ καταςτάςεισ δεν είναι αλθκισ, θ πικανότθτα ειςβολισ μειϊνεται. Ραρατθροφμε ότι αυτζσ οι καταςτάςεισ προςταςίασ υπάρχουν για να φιλτράρουν τισ δραςτθριότθτεσ ειςβολισ από τισ φυςιολογικζσ δραςτθριότθτεσ. Μερικά πλεονεκτιματα αυτισ τθσ προςζγγιςθσ είναι: μπορεί να ανιχνεφςει ςυνεργατικζσ επικζςεισ, μπορεί να εντοπίςει επικζςεισ που γεννϊνται ςε πολλζσ ςυνόδουσ χρθςτϊν και μπορεί να προβλζψει επικίνδυνεσ καταςτάςεισ ςφμφωνα με τθν παροφςα κατάςταςθ του ςυςτιματοσ και να λάβει προλθπτικά μζτρα. Ραρόλα αυτά υπάρχουν και μερικά προβλιματα με τα ςυςτιματα μετάβαςθσ κατα- 43

62 4.2-Καηηγοπιοποίηζη ανάλογα με ηιρ ηεσνικέρ ανίσνεςζηρ ςτάςεων. Τα πρότυπα επικζςεων μποροφν να ορίςουν μόνο μια αλλθλουχία γεγονότων, παρά περιςςότερο πολφπλοκεσ φόρμουλεσ. Δεν μποροφν να ανιχνεφςουν επικζςεισ τφπου denial of service, failed logins, διαφοροποιιςεισ από τθν φυςιολογικι χριςθ και πακθτικι παρακολοφκθςθ. Αυτό γίνεται, γιατί τα αντικείμενα αυτά δεν καταγράφονται από μθχανιςμό ανίχνευςθσ ι δεν μποροφν να αναπαραςτακοφν με διαγράμματα μετάβαςθσ καταςτάςεων. Κάποιεσ από τισ αδυναμίεσ του ςυςτιματοσ διορκϊνονται με το Μοντζλο Σφγκριςθσ Ρροτφπων που αναφζρουμε παρακάτω. Συςτόματα Ανύχνευςησ Ειςβολών βαςιςμϋνα ςε Σενϊρια Ειςβολόσ Η ιδζα είναι ότι ςυγκεκριμζνα ςενάρια ςυμπεραίνονται από άλλεσ ςυγκεκριμζνεσ φανερζσ δραςτθριότθτεσ. Αν αυτζσ οι δραςτθριότθτεσ παρακολουκοφνται, είναι δυνατό να εντοπίςουμε προςπάκειεσ ειςβολισ με εξζταςθ των δραςτθριοτιτων που εξάγονται από ςυγκεκριμζνα ςενάρια ειςβολισ[40]. Το βαςικό μοντζλο του ςυςτιματοσ αποτελείται από τρία modules. Ο προβλζπτθσ χρθςιμοποιεί ενεργά μοντζλα και μοντζλα ςεναρίων και προςπακεί να προβλζψει το επόμενο βιμα ςε ζνα ςενάριο που αναμζνεται να ςυμβεί. Ζνα μοντζλο ςεναρίου είναι μια βάςθ δεδομζνων με προδιαγραφζσ επικετικϊν ςεναρίων. Ο ςχεδιαςτισ ςτθ ςυνζχεια, μεταφράηει αυτιν τθν υπόκεςθ ςε μία ζνδειξθ τθσ ςυμπεριφοράσ, όπωσ κα πρζπει να ςυμβεί μετά. Χρθςιμοποιεί τθν πλθροφορία πρόβλεψθσ για να ςχεδιάςει το επόμενο βιμα αναηιτθςθσ. Ο διερμθνζασ χρθςιμοποιεί τθν πλθροφορία από τον ςχεδιαςτι και ψάχνει για αυτιν ςτα δεδομζνα που ζρχονται. Το ςφςτθμα προχωρά με αυτόν τον τρόπο, ςυγκεντρϊνοντασ όλο και περιςςότερεσ αποδείξεισ για μια προςπάκεια ειςβολισ μζχρι να ςυναντιςει ζνα όριο (threshold). Σε αυτό το ςθμείο ςτζλνει alert για προςπάκεια ειςβολισ. Η προςζγγιςθ αυτι είναι πολφ καλι. Επειδι ο ςχεδιαςτισ και ο διερμθνζασ γνωρίηουν τι πρζπει να αναηθτιςουν ςε κάκε βιμα, οι άχρθςτεσ πλθροφορίεσ φιλτράρονται και οδθγοφμαςτε ςε εξαιρετικά αποτελζςματα. Επιπλζον, το ςφςτθμα μπορεί να προβλζψει τθν επόμενθ κίνθςθ του επιτικζμενου, ςφμφωνα με το μοντζλο ειςβολισ. Αυτζσ οι προβλζψεισ χρθςιμοποιοφνται για να επαλθκεφςουμε μια υποψία ειςβολισ, για να πάρουμε προλθπτικά μζτρα ι για να αποφαςίςουμε ποια δεδομζνα να αναηθτιςουμε ςτθ ςυνζχεια. Πμωσ, υπάρχουν κάποια κρίςιμα κζματα ςχετικά με το παραπάνω ςφςτθμα. Ρρϊτα, τα πρότυπα για τα ςενάρια ειςβολισ πρζπει να αναγνωρίηονται εφκολα. Δεφτερο, τα πρότυπα πρζπει πάντα να ςυμβαίνουν ςφμφωνα με το μοντζλο ςυμπεριφοράσ για τθν οποία αναηθτοφνται. Τρίτο τα πρότυπα πρζπει να είναι μοναδικά και να μθν 44

63 4-Έπεςνα ζε Σςζηήμαηα Ανίσνεςζηρ Δπιθέζευν ςυνδζονται με καμία άλλθ φυςιολογικι ςυμπεριφορά[41]. Μοντϋλο Σύγκριςησ Προτύπων Το μοντζλο αυτό κωδικοποιεί γνωςτζσ ενδείξεισ ειςβολϊν ωσ πρότυπα, που ςτθ ςυνζχεια ςυγκρίνονται με τα δεδομζνα ελζγχου. Ππωσ και ςτο ςφςτθμα μετάβαςθσ καταςτάςεων, το μοντζλο προςπακεί να ςυγκρίνει επερχόμενα γεγονότα με πρότυπα που αντιπροςωπεφουν ςενάρια ειςβολισ. Η υλοποίθςθ πραγματοποιεί μεταβάςεισ ςε ςυγκεκριμζνα γεγονότα, που καλοφνται ετικζτεσ, και μεταβλθτζσ Boolean που ονομάηονται φφλακεσ μποροφν να τοποκετθκοφν ςε κάκε μετάβαςθ. Η διαφορά μεταξφ του ςυγκεκριμζνου μοντζλου και του μοντζλου ανάλυςθσ μεταβάςεων είναι ότι ςτο δεφτερο οι φφλακεσ ςυςχετίηονται με τισ καταςτάςεισ, παρά με τισ μεταβάςεισ όπωσ ζχουμε εδϊ. Τα ςθμαντικότερα πλεονεκτιματα του μοντζλου είναι: Χρειάηεται απλά να ξζρουμε ποια πρότυπα να ςυγκρίνουμε, όχι το πϊσ να τα ςυγκρίνουμε. Ρολλαπλζσ ροζσ γεγονότων μποροφν να χρθςιμοποιθκοφν για τθ ςφγκριςθ προτφπων για κάκε ροι, χωρίσ τθν ανάγκθ να ςυνδυάςουμε τισ ροζσ. Αυτό ςθμαίνει ότι μποροφμε να επεξεργαςτοφμε ανεξάρτθτα και τα αποτελζςματα να αναλυκοφν μαηί για να δϊςουν αποδείξεισ επικετικισ δραςτθριότθτασ. Μεταφερςιμότθτα: Από τθ ςτιγμι που τα signatures ειςβολϊν γράφονται ςε ζνα script που είναι ανεξάρτθτο από το ςφςτθμα, δεν χρειάηεται να ξαναγραφτοφν πάλι για διαφορετικά ίχνθ πλθροφοριϊν. Οι προδιαγραφζσ των προτφπων τουσ δίνουν τθ δυνατότθτα να ανταλλαχκοφν μεταξφ διαφορετικϊν λειτουργικϊν ςυςτθμάτων. Ζχει εξαιρετικζσ δυνατότθτεσ ελζγχου ςε πραγματικό χρόνο, αφοφ το ό- ριο για τθν CPU χριςθ είναι περίπου 5-6% για ζλεγχο 100 διαφορετικϊν προτφπων. Μπορεί να ανιχνεφςει κάποια επικετικά signatures όπωσ τα αποτυχθμζνα logins, που το μοντζλο μετάβαςθσ καταςτάςεων δεν μπορεί. Ζνα πρόβλθμα με αυτό το μοντζλο είναι ότι μπορεί να εντοπίςει επικζςεισ που βαςίηονται ςε γνωςτζσ ευπάκειεσ μόνο (αποτελεί και γενικότερο πρόβλθμα των misuse detection ςυςτθμάτων). Επιπροςκζτωσ, θ ςφγκριςθ προτφπων δεν είναι τόςο χριςιμθ για αναπαράςταςθ κακϊσ οριςμζνων προτφπων και είναι δφςκολο να μεταφράςει γνωςτά επικετικά ςενάρια ςε πρότυπα που μποροφν να χρθςιμοποιθκοφν από το μοντζλο. Επίςθσ, δεν μπορεί να ανιχνεφςει επικζςεισ από μθχάνθμα που προςποιείται ότι είναι άλλο μθχάνθμα χρθςιμοποιϊντασ τθν IP διεφκυνςι του 45

64 4.2-Καηηγοπιοποίηζη ανάλογα με ηιρ ηεσνικέρ ανίσνεςζηρ (spoofing attack). Ειδικϊ Συςτόματα Μοντελοποιοφνται ζτςι ϊςτε να ξεχωρίηουν τθν φάςθ του ταιριάςματοσ των κανόνων ςυμπεριφοράσ από τθν φάςθ εκτζλεςθσ. Το ταίριαςμα γίνεται ανάλογα με τα γεγονότα που ςυμβαίνουν. Μια ενδιαφζρουςα προςζγγιςθ ςε αυτά τα ςυςτιματα αποτελεί το ςφςτθμα EMERALD (Event Monitoring Enabling Responses to Anomalous Live Disturbances)[42], το οποίο ακολουκεί μια υβριδικι τεχνικι ανίχνευςθσ ε- πικζςεων που αποτελείται από misuse και anomaly detection ςτοιχεία[43]. Ο anomaly detector βαςίηεται ςτθν ςτατιςτικι προςζγγιςθ και χαρακτθρίηει γεγονότα ωσ επικζςεισ αν διαφζρουν πολφ από τθν αναμενόμενθ ςυμπεριφορά. Για να το πετφχει αυτό, δθμιουργεί προφίλ χρθςτϊν που εξαρτϊνται από πολλά διαφορετικά κριτιρια (περιςςότερα από 30, όπωσ χριςθ CPU και IO, εντολζσ που χρθςιμοποιικθκαν, τοπικι δικτυακι δραςτθριότθτα, ςφάλματα ςυςτιματοσ κλπ). Τα προφίλ αυτά ανανεϊνονται ανά περιοδικά διαςτιματα. O misuse detector του EMERALD κωδικοποιεί γνωςτζσ περιπτϊςεισ ειςβολϊν και πρότυπα επικζςεων (π.χ bug ςε κάποια ζκδοςθ του sendmail). Η βάςθ των κανόνων μπορεί να αλλάηει για διαφορετικά ςυςτιματα. Το πλεονζκτθμα με τθν EMERALD είναι ότι περιλαμβάνει τόςο ςτατιςτικό ςτοιχείο, όςο και ςτοιχείο ειδικοφ ςυςτιματοσ. Αυτό ςθμαίνει ότι ζχουμε αυξθμζνεσ πικανότθτεσ να αναγνωρίςουμε μια ειςβολι, αφοφ αν δεν τθν αναγνωρίςει το ζνα ςτοιχείο κα τθν εντοπίςει το άλλο. Υπάρχουν και κάποια μειονεκτιματα ςτθν προςζγγιςθ ειδικϊν ςυςτθμάτων. Για παράδειγμα, το ςφςτθμα πρζπει να ςυςτακεί από κάποιον ειδικό ςτο κζμα αςφάλειασ, που ςθμαίνει ότι το ςφςτθμα είναι τόςο ιςχυρό όςο και το προςωπικό αςφαλείασ που το προγραμματίηει. Αυτό οδθγεί ςτο ςυμπζραςμα πωσ υπάρχει ςοβαρι πικανότθτα το ςφςτθμα να αποτφχει να χαρακτθρίςει τισ ειςβολζσ. Για αυτό το EMERALD ζχει και τα δφο ςτοιχεία ωσ πυρινα του, μιασ και το κακζνα εκτελεί τισ δικζσ του λειτουργίεσ και θ ςφνδεςθ μεταξφ τουσ δεν είναι πολφ ιςχυρι. Το EMERALD τρζχει ςε ςφςτθμα που δεν είναι το ίδιο με τα υπό παρακολοφκθςθ ςυςτιματα, κάτι που είναι επιπλζον κόςτοσ. Επιπλζον, προςκικεσ και αφαιρζςεισ από κανόνων από τθν βάςθ, πρζπει να λαμβάνουν υπόψθ τισ αλλθλεξαρτιςεισ μεταξφ διαφορετικϊν κανόνων. Τζλοσ, δεν υπάρχει αναγνϊριςθ τθσ ςυνεχόμενθσ αλλθλουχίασ δεδομζνων, γιατί οι διαφορετικζσ ςυνκικεσ που δθμιουργοφν ζναν κανόνα δεν αναγνωρίηονται να είναι ςτθ ςειρά. 46

65 4-Έπεςνα ζε Σςζηήμαηα Ανίσνεςζηρ Δπιθέζευν 4.3. Προςταςύα με Συςτόματα Πρόληψησ Επιθϋςεων (Intrusion Prevention Systems-IPS) Τα ςυςτιματα πρόλθψθσ επικζςεων είναι το λογικό επόμενο βιμα των ςυςτθμάτων ανίχνευςθσ επικζςεων. Από τθ ςτιγμι που ανιχνεφεται μια επίκεςθ είναι κεμιτό να αντιμετωπιςτεί και αυτόματα. Μάλιςτα θ αντιμετϊπιςθ αυτι είναι καλό να γίνει χωρίσ τθν ανκρϊπινθ παρζμβαςθ για να ελαχιςτοποιθκεί ο χρόνοσ αντίδραςθσ ςτθν επίκεςθ. Συχνά ζνα IPS (Intrusion Prevention System) αποτελεί μζροσ ενόσ IDS και δεν αποτελοφν ξεχωριςτζσ οντότθτεσ. Αυτό ςυμβαίνει επειδι το IDS είναι αυτό που ανιχνεφει μια επίκεςθ, οπότε αυτό πρζπει να πάρει και τθν πρωτοβουλία για να τθν ςταματιςει. Στθν ουςία ζνα IPS, ςυνδυάηει τα χαρακτθριςτικά ενόσ Firewall και ενόσ IDS, κακϊσ μπορεί και μπλοκάρει τθν ανεπικφμθτθ κίνθςθ ζχοντασ τθν βοικεια ανίχνευςθσ των κακόβουλων πακζτων που προςφζρει ζνα IDS. Η διαφορά του από το firewall είναι ότι ζχει καλφτερθ και πιο ολοκλθρωμζνθ πλθροφορία. Αυτό οφείλεται ςτθν φπαρξθ του IDS, το οποίο και παρακολουκεί όλθ τθν δικτυακι κίνθςθ. Τα ςυςτιματα αποτροπισ επικζςεων ςυναντϊνται ςτουσ παρακάτω τφπουσ[44]: Host-Based (HIPSs), βρίςκονται ςε ζνα ςυγκεκριμζνο μθχάνθμα και παρακολουκοφν τθν κίνθςθ και κάποια άλλα ςτοιχεία προκειμζνου να αποτρζψουν επικζςεισ. Network-based (NIPSs), όπου θ εφαρμογι IPS ι το υλικό που παίηει το ρόλο του IPS βρίςκεται ςτο δίκτυο και ζχει IP αυτοφ του δικτφου. Τα ςυςτιματα αυτά αναλφουν, βρίςκουν, και αναφζρουν ςυμβάντα που ζχουν να κάνουν με ηθτιματα αςφάλειασ. Είναι ςχεδιαςμζνα ϊςτε να ελζγχουν τθ δικτυακι κίνθςθ. Content-based (CBIPSs), είναι τα ςυςτιματα εκείνα που παρακολουκοφν το περιεχόμενο των πακζτων για μοναδικζσ ακολουκίεσ, τισ οποίεσ ονομάηουμε υπογραφζσ, με ςκοπό να αναγνωρίςουν και να αποτρζψουν γνωςτοφσ τφπουσ επικζςεων. Rate-based (RBIPSs), είναι τα ςυςτιματα εκείνα που ςτόχο ζχουν να αποτρζψουν επικζςεισ τφπου άρνθςθσ εξυπθρζτθςθσ. Η λειτουργία τουσ βαςίηεται ςτο γεγονόσ ότι παρακολουκοφν και μακαίνουν φυςιολογικζσ δικτυακζσ ςυμπεριφορζσ. Με βάςθ λοιπόν τθν πραγματικοφ χρόνου παρακολοφκθςθ του δικτφου και κάποια ςτατιςτικά ςτοιχεία μποροφν να αναγνωρίςουν κάποια μθ αποδεκτά όρια για ςυγκεκριμζνουσ τφπουσ κίνθςθσ, π.χ. TCP, UDP. Οι επικζςεισ αναγνωρίηονται όταν ξεπεραςτοφν κάποια φράγματα. Τα φράγματα αυτά προςαρμόηονται δυναμικά ανάλογα με τθν θμζρα, τθν ϊρα, τθ βδομάδα κ.α. Πταν θ επίκεςθ αναγνωριςτεί, τότε εφαρμόηονται διάφοροι μθχανιςμοί αποτροπισ όπωσ είναι για παράδειγμα το port/protocol filtering (black-listing, white-listing). Οι βαςικζσ περιοχζσ ζρευνασ ςε αυτό το τομζα είναι παρόμοιεσ με αυτζσ των IDS. 47

66 4.3-Πποζηαζία με Σςζηήμαηα Ππόλητηρ Δπιθέζευν (Intrusion Prevention Systems-IPS) 48

67 5-Η Αζθάλεια ζηα TCP/IP δίκηςα 5. Η Αςφϊλεια ςτα TCP/IP δύκτυα Το διαδίκτυο όπωσ το γνωρίηουμε ςιμερα είναι βαςιςμζνο ςτο πρωτόκολλο IP και ιδιαίτερα ςτο TCP/IP. Ράνω ς αυτό το πρωτόκολλο ζχουν γραφεί εφαρμογζσ και ζχει ςτθκεί θ ανάπτυξθ του διαδικτφου. Το IP είναι το κυριότερο πρωτόκολλο ςτο Network layer (επίπεδο δικτφου) του OSI και το TCP είναι το κυριότερο του Transport Layer (επίπεδο μεταφοράσ) (βλ. Εικόνα 5-1). Στόχοσ του κεφαλαίου είναι θ κατανόθςθ των βαςικϊν κεμάτων αςφαλείασ που ςχετίηονται με το TCP/IP (5.1). Στόχοσ επίςθσ είναι θ βακφτερθ γνϊςθ των λεπτομερειϊν του TCP/IP που είναι ςχετικζσ με τθν αςφάλεια των πλθροφορικϊν ςυςτθμάτων. Στα πλαίςια αυτά περιγράφουμε το μοντζλο OSI (5.2), τθ δομι ενόσ IP πακζτου (5.3), τθν δρομολόγθςθ των datagrams (5.4) και τζλοσ περιγράφουμε το πρωτόκολλο TCP που κα μασ απαςχολιςει ςτθ ςυνζχεια (5.5). Ραρακάτω παρουςιάηεται θ αρχιτεκτονικι τθσ οικογζνειασ των πρωτοκόλλων TCP/IP. Ρολλά από τα δομικά χαρακτθριςτικά του πρωτοκόλλου χρθςιμοποιοφνται για να γίνουν επικζςεισ ςε υπολογιςτζσ και υπθρεςίεσ μζςω του δικτφου Το μοντϋλο των πολλών επιπϋδων Τα μοντζρνα δίκτυα υπολογιςτϊν ζχουν ςχεδιαςτεί μ ζναν υψθλό βακμό δόμθςθσ. Για να ελαττϊςουν τθν πολυπλοκότθτα τα περιςςότερα δίκτυα ζχουν οργανωκεί ςε ςειρζσ από ςτρϊματα ι επίπεδα (layers) [45],[46] που το κακζνα χτίηεται πάνω ςτο προθγοφμενό του. Ο αρικμόσ των επιπζδων, τα ονόματά τουσ, τα περιεχόμενά τουσ και θ λειτουργία του κακενόσ διαφζρουν από δίκτυο ςε δίκτυο. Ωςτόςο ςε όλα τα δίκτυα ο ςκοπόσ κάκε επιπζδου είναι να προςφζρει ςυγκεκριμζνεσ υπθρεςίεσ ςτα υψθλότερα επίπεδα, απομονϊνοντασ αυτά τα επίπεδα από τισ λεπτομζρειεσ ςχετικά με το πϊσ πραγματικά υλοποιοφνται οι παρεχόμενεσ υπθρεςίεσ. Το επίπεδο n μιασ μθχανισ επικοινωνεί με το επίπεδο n μιασ άλλθσ μθχανισ. Οι κανόνεσ και οι ςυνκικεσ που χρθςιμοποιοφνται ςε αυτιν τθν επικοινωνία είναι γνωςτζσ ωσ το πρωτόκολλο του επιπζδου n (layer n protocol). Το ςφνολο των επιπζδων και των πρωτοκόλλων ονομάηεται αρχιτεκτονικι του δικτφου Το μοντϋλο του OSI Το μοντζλο αναφοράσ OSI (Εικόνα 5-1) βαςίηεται ςτθν πρόταςθ που αναπτφχκθκε από το Διεκνι Οργανιςμό Τυποποίθςθσ (ISO) ωσ ζνα πρϊτο βιμα προσ τθ διεκνι τυποποίθςθ των διάφορων πρωτοκόλλων. Ονομάηεται μοντζλο OSI (Open Systems 49

68 5.3-Η δομή ενόρ IP πακέηος Interconnection) διότι αςχολείται με ςυνδζςεισ ανοιχτϊν ςυςτθμάτων, δθλαδι αυτά που είναι ανοιχτά, για επικοινωνία με άλλα ςυςτιματα. Το μοντζλο του OSI ζχει επτά επίπεδα: Το Φυςικό Επίπεδο Το Επίπεδο Σφνδεςθσ Δεδομζνων Το Επίπεδο Δικτφου Το Επίπεδο Μεταφοράσ Το Επίπεδο Συνόδου Το Επίπεδο Ραρουςίαςθσ και Το Επίπεδο Εφαρμογισ. Εικόνα 5-1 Το Μοντζλο OSI 5.3. Η δομό ενόσ IP πακϋτου Τα IP πακζτα (datagrams) είναι κομμάτια από δεδομζνα των οποίων προθγείται μία επικεφαλίδα (header). Τα δεδομζνα ςτα IP datagrams, ςυμπεριλαμβανομζνων και των δεδομζνων των headers είναι οργανωμζνα ςε λζξεισ των 32 bits. Πλοι οι headers ζχουν μζγεκοσ τουλάχιςτον 5 λζξεισ δθλαδι 20 bytes (Εικόνα 5-5). 50

69 5-Η Αζθάλεια ζηα TCP/IP δίκηςα Local Network Header IP Header UDP or TCP Header Application Data Local Network Trailer UDP Datagram or TCP Segment IPv4 Datagram Local Network Frame Εικόνα 5-2 Το frame ενόσ δικτυακοφ πακζτου ςφμφωνα με το IP Η επικεφαλίδα ενόσ IP datagram περιλαμβάνει (βλ. Εικόνα 5-3): Εικόνα 5-3 Η δομι μίασ IP επικεφαλίδασ Ζκδοςη: Αναφζρεται θ ζκδοςθ του IP που χρθςιμοποιείται. Μζγεθοσ επικεφαλίδασ: Ρρόκειται για μία τιμι μεταξφ 5 και 15 λζξεισ των τεςςάρων bytes κάκε μία. Τφποσ Υπηρεςίασ: Χρθςιμοποιοφνται μόνο τα τζςςερα από τα οχτϊ bits. Αυτά κεωρθτικά κακορίηουν προτεραιότθτεσ για το πϊσ πρζπει να επεξεργαςτεί το πακζτο ςε κζματα όπωσ θ κακυςτζρθςθ, το απαιτοφμενο εφροσ ηϊνθσ, τθν αξιοπιςτία κλπ. Τα παραπάνω είναι απλϊσ ειςθγιςεισ και ςυνικωσ ζχουν κάποιεσ κακοριςμζνεσ τιμζσ. Μζγεθοσ Datagram: Κακορίηει το μικοσ όλου του datagram. Επειδι ζχει μζγεκοσ 16 bits, το μζγιςτο μζγεκοσ ενόσ datagram μπορεί να είναι bytes. Χρθςιμοποιείται για να βρίςκουν οι κόμβοι που τελειϊνει ζνα datagram και που αρχίηει ζνα άλλο. Ταυτότητα Datagram: Τθν τιμι αυτι τθ δίνει ο κόμβοσ που δθμιουργεί το πακζτο. Κάκε κόμβοσ δθμιουργεί μία ταυτότθτα για κάκε datagram, 51

70 5.3-Η δομή ενόρ IP πακέηος αλλά αυτά «κομματιάηονται» ςε μικρότερα με τθν ίδια ταυτότθτα κακϊσ περνοφν από διάφορα δίκτυα μζχρι να φτάςουν ςτον κόμβο προοριςμό και ζτςι αυτόσ μπορεί να τα «επαναςυνδζςει». Flags: Ρρόκειται για τρία bits εκ των οποίων το πρϊτο δε χρθςιμοποιείται ενϊ τα υπόλοιπα δφο ελζγχουν τον τρόπο με τον οποίο «κομματιάηεται» κακ οδόν προσ τον κόμβο παραλιπτθ. Ζτςι οι ενδιάμεςοι δρομολογθτζσ ξζρουν αν μποροφν να «κομματιάςουν» το datagram και ο κόμβοσ παραλιπτθσ αν το datagram ζχει και άλλα «κομμάτια». Fragment Offset: Ρρόκειται για μία τιμι 13 bits θ οποία ορίηει ςε πόςθ απόςταςθ (ςε bytes) από το πρωτότυπο datagram βρίςκεται το τρζχον datagram. Χρόνοσ Ηωήσ: Ρρόκειται για μία τιμι 8 bits που κακορίηει για πόςο χρόνο είναι επιτρεπτό το datagram να υπάρχει από τθ ςτιγμι που ειςιλκε ςτο διαδίκτυο. Η μζγιςτθ τιμι είναι 255 και όταν μθδενιςτεί το datagram αφαιρείται από το διαδίκτυο. Στθν αρχι αναπαρίςτανε τα δευτερόλεπτα που μποροφςε να ηιςει ζνα datagram αλλά πλζον (επειδι κάκε κόμβοσ το επεξεργάηεται ςε λιγότερο από ζνα δευτερόλεπτο) αναπαριςτά το μζγιςτο αρικμό των κόμβων που μπορεί να «ταξιδζψει» το datagram. Πρωτόκολλο: Δείχνει το είδοσ του πρωτοκόλλου που χρθςιμοποιικθκε για να μεταφερκοφν τα δεδομζνα, δθλαδι αν πρόκειται για TCP ι UTP πρωτόκολλο. Checksum Επικεφαλίδασ: Ραρ όλο που το IP δεν εγγυάται αξιόπιςτθ μετάδοςθ, αυτό το checksum ιςχφει για τθν επικεφαλίδα και μόνο και εγγυάται ότι δεν ζχει καταςτραφεί θ επικεφαλίδα κατά τθ μετάδοςθ. Αποςτολζασ & Προοριςμόσ: Ρρόκειται για τισ IP διευκφνςεισ με μζγεκοσ 32 bits που αφοροφν τον κόμβο που μετζδωςε το πακζτο και τον κόμβο παραλιπτθ. IP Options: Ρρόκειται, όπωσ και το όνομα υπονοεί, για επιλογζσ που μποροφν να παραλθφκοφν όπωσ ςυχνά ςυμβαίνει. Συνικωσ χρθςιμοποιοφνται μόνο για πειραματικοφσ λόγουσ. Να ςθμειωκεί εδϊ ότι για να ζχει μζγεκοσ 32bits κα πρζπει να ςυμπλθρωκεί με «άχρθςτα» bits πλθροφορίασ (padding). 52

71 5-Η Αζθάλεια ζηα TCP/IP δίκηςα 5.4. Η δρομολόγηςη των datagrams Πταν ζνασ κόμβοσ κζλει να μεταδϊςει ζνα datagram δθμιουργεί μία επικεφαλίδα IP για αυτό και ςυμπλθρϊνει τθ δικι του διεφκυνςθ ςαν πθγι και τθν IP διεφκυνςθ του παραλιπτθ. Πταν αυτό το datagram δίνεται ςτο παρακάτω επίπεδο (τθσ ςφνδεςθσ των δεδομζνων) πρζπει να προςδιοριςτεί που κα πρζπει τα αποςταλοφν τα δεδομζνα μζςα ςτο ίδιο υποδίκτυο. Δθλαδι, το datagram κα πρζπει να ςταλεί ςε κάποιον κόμβο που ανικει ςτο ίδιο υποδίκτυο με τον κόμβο αποςτολζα, ακόμα και αν ο κόμβοσ προοριςμόσ ανικει ςε διαφορετικό δίκτυο. Ο κόμβοσ αποςτολζασ ελζγχει τθ διεφκυνςθ προοριςμοφ. Αν αυτι ανικει ςτο ίδιο IP δίκτυο και ςτο ίδιο υποδίκτυο, τότε ο κόμβοσ κάνοντασ χριςθ του πρωτοκόλλου Address Resolution Protocol (ARP) ςτζλνει ζνα broadcast ςτο τοπικό δίκτυο και α- ντιςτοιχεί τθν IP διεφκυνςθ ςε μία διεφκυνςθ του επιπζδου ςφνδεςθσ δεδομζνων (για παράδειγμα μία Ethernet διεφκυνςθ). Αν όμωσ θ διεφκυνςθ του παραλιπτθ είναι είτε ςε διαφορετικό υποδίκτυο, είτε ςε διαφορετικό δίκτυο IP, τότε ο κόμβοσ αποςτολζασ κα πρζπει να δει ςε ποιον κόμβο του δικοφ του δικτφου κα πρζπει να μεταδϊςει το datagram ϊςτε να φτάςει τελικά ςτον παραλιπτθ. Το ρόλο αυτό ζχει ο δρομολογθτισ. Ο αποςτολζασ εςωκλείει το IP datagram (με τθ διεφκυνςθ του παραλιπτθ) ςε ζνα frame του επιπζδου ςφνδεςθσ με παραλιπτθ το δρομολογθτι. Ο δρομολογθτισ παραλαμβάνει το πακζτο και ελζγχει τθν επικεφαλίδα του IP datagram. Εφόςον διαπιςτωκεί ότι πρόκειται για τθν ζκδοςθ 4 του IP, ελζγχει όλα τα πεδία μειϊνει το TTL και υπολογίηει ξανά το checksum τθσ επικεφαλίδασ. Ο δρομολογθτισ επίςθσ ελζγχει και τθ διεφκυνςθ του κόμβου προοριςμοφ για να διαπιςτϊςει αν ανικει ςε κάποιο από τα δίκτυα που βρίςκεται φυςικά ςυνδεμζνοσ. Αν αυτό ιςχφει, τότε ο δρομολογθτισ χρθςιμοποιεί το ARP πρωτόκολλο για να προςδιορίςει τθ διεφκυνςθ του επιπζδου ςφνδεςθσ δεδομζνων του παραλιπτθ και ενςωματϊνει το IP datagram ςε ζνα frame αυτοφ του επιπζδου και το μεταδίδει. Εάν θ διεφκυνςθ προοριςμοφ δεν ανικει ςε κανζνα από το υποδίκτυα που είναι φυςικά ςυνδεμζνοσ ο δρομολογθτισ, τότε το πακζτο δρομολογείται ςε κάποιον άλλο δρομολογθτι. Η ίδια διαδικαςία ςυνεχίηει μζχρι το datagram να φτάςει ςτον προοριςμό του. Ο ρόλοσ του δρομολογθτι είναι πολφ ςθμαντικόσ κακϊσ είναι θ ςυςκευι που ομογενοποιεί οποιεςδιποτε διαφορζσ παρουςιαςτοφν μεταξφ δφο δικτφων όπωσ διαφορετικά ςχιματα διευκυνςιοδότθςθσ (για παράδειγμα ζνα τοπικό δίκτυο χρθςιμοποιεί 48 bit δυαδικζσ διευκφνςεισ για κάκε ςυςκευι, ενϊ ζνα X25 δθμόςιο δίκτυο μεταγωγισ πακζτων χρθςιμοποιεί διευκφνςεισ 12 ψθφίων του δεκαδικοφ ςυςτιματοσ), διαφορετικοφ μικουσ πακζτα (πχ ζνα πακζτο ζχει μζγιςτο μζγεκοσ

72 5.4-Η δπομολόγηζη ηυν datagrams bytes ςτο Ethernet και 1000 bytes ςτο X25) οπότε πρζπει να ενεργοποιθκεί θ διαδικαςία τθσ κατάτμθςθσ των πακζτων (fragmentation), διαφορετικϊν interfaces για τα διάφορα δίκτυα και τζλοσ διαφορετικζσ υπθρεςίεσ δικτφου (πχ μία από άκρθ ςε ά- κρθ αξιόπιςτθ ιδεατι ςφνδεςθ ςε ςχζςθ με μία μθ αξιόπιςτθ ςφνδεςθ). 54

73 5-Η Αζθάλεια ζηα TCP/IP δίκηςα 5.5. Το πρωτόκολλο TCP Το TCP (Transmition Control Protocol) όπωσ φανερϊνει και το όνομά του προςφζρει καλζσ εγγυιςεισ για τθ ςωςτι μεταφορά των δεδομζνων κακϊσ χρθςιμοποιεί πολλαπλοφσ ελζγχουσ και αναμεταδϊςεισ για να εξαςφαλίςει τθν α- κεραιότθτα του φορτίου του. Για τθ δθμιουργία ςφνδεςθσ το TCP δθμιουργεί ςτον αποςτολζα και ςτον παραλιπτθ δφο τερματικά ςθμεία που χαρακτθρίηονται από μια διεφκυνςθ IP και μία κφρα (port). Για να υπάρξει οποιαδιποτε επικοινωνία πρϊτα πρζπει να ολοκλθρωκεί θ ςφνδεςθ μεταξφ των δφο άκρων μζςω τθσ τριπλισ χειραψίασ (3-way Handshake - Εικόνα 5-4). Αυτόσ που παίρνει τθν πρωτοβουλία τθσ ςφνδεςθσ ςτζλνει μια αίτθςθ ςφνδεςθσ ςτον άλλο ο οποίοσ απαντά κετικά αν θ ςφνδεςθ είναι εφικτι και αρνθτικά ςε αντίκετθ περίπτωςθ. Εικόνα way handshake Τζλοσ αν ο πρϊτοσ δεχτεί κετικι απάντθςθ ςτζλνει ζνα πακζτο επιβεβαίωςθσ τθσ ςφνδεςθσ. Από εκεί και πζρα μποροφν να επικοινωνοφν μζχρι κάποιοσ από τουσ δφο να ςτείλει μια αίτθςθ τερματιςμοφ τθσ ςφνδεςθσ. Αξίηει εδϊ να ςθμειωκεί κατά τθν διαδικαςία ζναρξθσ και τερματιςμοφ μιασ ςφνδεςθσ δεν ανταλλάςςονται δεδομζνα. Ραρακάτω ςτθν Εικόνα 5-5 φαίνεται θ δομι ενόσ TCP πακζτου. Εικόνα 5-5 Δομι πακζτου TCP 55

74 5.5-Το ππυηόκολλο TCP Για λόγουσ που κα γίνουν αντιλθπτοί παρακάτω κζλω να εςτιάςουμε τθν προςοχι μασ ςτο πεδίο Flags τθσ επικεφαλίδασ του TCP πακζτου. Το πεδίο αυτό κακορίηει το είδοσ του πακζτου και παίρνει τιμζσ ανάμεςα ςτα εξισ: ACK (acknowledgment): Είναι το πιο ςυνθκιςμζνο πακζτο και χρθςιμοποιείται αφοφ ζχει γίνει θ ςφνδεςθ για τθ μεταφορά των δεδομζνων. PSH(push): Ραρόμοιο με το πακζτο ACK μόνο που αυτό ηθτείται από τον παραλιπτθ να παραδϊςει τα δεδομζνα ςτθν εφαρμογι κατά τθν άφιξι. RST(reset): Χρθςιμοποιείται για τθν επαναφορά μιασ ςφνδεςθσ που ζχει χακεί ι για τθν άρνθςθ ςε απόπειρα ανοίγματοσ ςφνδεςθσ. SYN(synchronize): Χρθςιμοποιείται για τθν εγκακίδρυςθ ςυνδζςεων. FIN(finish):Χρθςιμοποιείται για τον τερματιςμό ςυνδζςεων. Το TCP [47], [48] εξαςφαλίηει τθ δθμιουργία ενόσ ιδεατοφ κυκλϊματοσ (virtual circuit) μεταξφ δφο διεργαςιϊν ςαν να υπιρχε ζνα πραγματικό κανάλι επικοινωνίασ διπλισ κατεφκυνςθσ μεταξφ των δφο ςυςτθμάτων. Το πρωτόκολλο TCP εγγυάται τθν αξιόπιςτθ μετάδοςθ των δεδομζνων πάνω από αυτό το κανάλι, ενϊ παράλλθλα ζχει μθχανιςμοφσ που ελζγχουν και προςπακοφν να μεγιςτοποιιςουν τθν απόδοςθ του καναλιοφ. Αυτό ςθμαίνει ότι ο ρυκμόσ μετάδοςθσ μπορεί να αυξάνεται κακϊσ θ ε- πιτυχθμζνθ λιψθ των δεδομζνων επιβεβαιϊνεται από τον παραλιπτθ και να μειϊνεται με τθν κακυςτζρθςθ τθσ επιβεβαίωςθσ. Σχεδόν όλα τα κζματα δρομολόγθςθσ χειρίηονται είτε από το επίπεδο μεταφοράσ (για διευκφνςεισ ι πόρτεσ που αντιςτοιχοφν ςτισ διεργαςίεσ) είτε από το επίπεδο δικτφου (για τον προςδιοριςμό των κόμβων που αντιςτοιχοφν ςτισ IP διευκφνςεισ). Τα πρωτόκολλα εφαρμογισ όπωσ το Hypertext Transport Protocol (HTTP) δεν απαιτοφν γνϊςθ κεμάτων δρομολόγθςθσ. 56

75 6-Μονηελοποίηζη αζςνήθοςρ κςκλοθοπίαρ βαζιζμένη ζηη δομή ηυν TCP/IP πακέηυν 6. Μοντελοπούηςη αςυνόθουσ κυκλοφορύασ βαςιςμϋνη ςτη δομό των TCP/IP πακϋτων Στο κεφάλαιο αυτό προτείνουμε ζνα μοντζλο ανίχνευςθσ αςυνικουσ κυκλοφορίασ βαςιςμζνθ ςτα χαρακτθριςτικά τθσ IP/TCP επικοινωνίασ και ςτθ διαδικαςία τθσ 3- way handshaking Ρου εφαρμόηεται για τθν ζναρξθ μίασ επικοινωνίασ ανάμεςα ςε υπολογιςτικά ςυςτιματα. Κάνουμε μία ανάλυςθ των ανιχνεφςιμων χαρακτθριςτικϊν (6.1), κατόπιν δίνουμε τθν Αρχιτεκτονικι του προτεινόμενου Συςτιματοσ (6.2), περιγράφουμε τα δομικά του ςτοιχεία (6.3) που είναι το πρόγραμμα που εκτελείται και παρακολουκεί τουσ κόμβουσ (6.3.1), το ςφςτθμα που λαμβάνει αποφάςεισ (6.3.2), το ςφςτθμα που υπολογίηει τισ παραμζτρουσ που παρακολουκοφνται ςε κάκε ςφςτθμα (6.3.3) και τθν βάςθ δεδομζνων που τθρείται για το κάκε ςφςτθμα (6.3.4). Κατόπιν περιγράφουμε τθν λειτουργία του ςυςτιματοσ (6.4), τθν λειτουργία του προγράμματοσ που υλοποιιςαμε για το ςφςτθμα (6.5), αναλφουμε τθν αποδοτικότθτα του προτεινόμενου ςυςτιματοσ (6.6) και καταλιγουμε ςε οριςμζνα ςυμπεράςματα (6.7) Ανϊλυςη Οι περιςςότερεσ επικζςεισ χρθςιμοποιοφν το TCP πρωτόκολλο είτε ςτοχεφουν ςτο να παραλφςουν το ςφςτθμά μασ (π.χ. SYN-Flood attacks) είτε ςτοχεφουν να αποκτιςουν ζλεγχο πάνω ςε αυτό (π.χ. exploits). Ριο ςπάνια κα ςυναντιςουμε επικζςεισ που χρθςιμοποιοφν άλλου είδουσ πρωτόκολλα για τθν επικοινωνία άρα ςυμπεραίνουμε ότι θ επικοινωνία που γίνει μζςω του TCP παίηει πρωταρχικό ρόλο ςτισ επικζςεισ. Το ηθτοφμενο όμωσ είναι να βρεκεί το κατάλλθλο χαρακτθριςτικό, το οποίο κα μπορεί να διακρίνει όςο πιο ξεκάκαρα γίνεται τθν περίπτωςθ επίκεςθσ από τθν κανονικι κίνθςθ. Αφοφ ο κυριότεροσ όγκοσ των ςυναλλαγϊν ςτο Internet γίνεται με τθ χριςθ των πρωτοκόλλων TCP και UDP λογικό είναι να προςανατολιςτοφμε ςε αυτά ςτθν προςπάκειά μασ να ορίςουμε τόςο το πρότυπο τθσ κανονικισ κίνθςθσ όςο και το πρότυπο τθσ επίκεςθσ. Το ςθμείο αυτό είναι αρκετά ςθμαντικό κακϊσ κα κρίνει ςε μεγάλο βακμό τθν επιτυχία του ςυςτιματοσ κακϊσ τα πρότυπα αυτά κα αποτελοφν τα μζτρα ςφγκριςθσ και το μζτρο τθσ απόκλιςθσ από αυτά κα μασ δίνει τισ πικανότθτεσ να ζχουμε ι όχι επίκεςθ. Σε ζνα υπολογιςτικό ςφςτθμα που είναι μζροσ ενόσ δικτφου υπάρχει ςυνεχϊσ κίνθςθ δικτφου, δθλαδι πακζτα που διακινοφνται από και προσ το υπολογιςτικό αυτό ςφςτθμα. Ζςτω ότι χωρίηουμε αυτά τα πακζτα με βάςθ το port ςτο οποίο απευκφνονται. Ζςτω ότι γνωρίηουμε και πόςα πακζτα ζρχονται ςε κάκε port του υπολογι- 57

76 6.1-Ανάλςζη ςτικοφ μασ ςυςτιματοσ κάκε διάςτθμα χρόνου t. Τότε αν ςε ζνα τριςδιάςτατο ςφςτθμα αξόνων παραςτιςουμε ςτον πρϊτο άξονα τα port που παρακολουκοφμε, ςτον δεφτερο το χρόνο (χωριςμζνο ςε χρονικά διαςτιματα t) και ςτον τρίτο τα πακζτα που είχαμε ςε κάκε χρονικό διάςτθμα t ανά port, κα ζχουμε για κάκε port μια καμπφλθ που κα αναπαριςτά τθν κίνθςθ αυτοφ του port για n χρονικά διαςτιματα. Ζτςι αν μποροφςαμε να βροφμε ζναν αρικμό αντιπροςωπευτικό τθσ καμπφλθσ, κάκε ςτιγμι κα είχαμε ζναν αρικμό που κα χαρακτιριηε τθν κίνθςθ ςτο δίκτυό μασ. Ακόμθ μετά από παρακολοφκθςθ τθσ κανονικισ λειτουργίασ του δικτφου για ικανό χρονικό διάςτθμα, κα ιταν δυνατό για κάκε ςετ n χρονικϊν διαςτθμάτων t να εξάγουμε άνω και κάτω όρια για αυτόν τον αρικμό. Αυτά τα άνω και κάτω όρια κα μποροφςαν να χρθςιμοποιθκοφν ζτςι ϊςτε να μποροφμε κάκε ςτιγμι να αποφανκοφμε αν θ κίνθςθ του δικτφου μασ είναι κανονικι ι όχι, δθλαδι αν είμαςτε υπό ειςβολι ι όχι. Η πρόταςι μασ ζχει να κάνει με τθν μοντελοποίθςθ δικτυακισ κίνθςθσ και τθν δθμιουργία Network Intrusion Detection System (NIDS) Agents που κα εγκακίςτανται ςε κάκε κόμβο, ερευνϊντασ τθν δικτυακι κίνθςθ που αφορά τον ςυγκεκριμζνο κόμβο. Με τον τρόπο αυτό αντιμετωπίηεται το πρόβλθμα των switched δικτφων, ενϊ παράλλθλα εκμθδενίηεται το πρόβλθμα των μεκόδων εξαπάτθςθσ των NIDS με παρεμβολι «αδιάφορων πακζτων». Η ζρευνά μασ ζχει επικεντρωκεί ςε μοντζλα ανίχνευςθσ ειςβολϊν που ελζγχουν τθν απόκλιςθ από ζνα ςτακερό/ςυνικθ τρόπο δικτυακισ κυκλοφορίασ (μθ ςυνικθ) και όχι ςτα μοντζλα των «υπογραφϊν» (απαγορευμζνθ χριςθ). Είναι ςθμαντικό να κυμίςουμε τον διαχωριςμό ανάμεςα ςε μοντζλο «αςυνικουσ» και «απαγορευμζνθσ» χριςθσ: θ «αςυνικθσ» χριςθ περιλαμβάνει τον οριςμό ενόσ ςυνόλου γεγονότων ςυνικουσ χριςθσ και τθν ανίχνευςθ τθσ δραςτθριότθτασ που αποτελεί εξαίρεςθ ςε αυτά τα γεγονότα, ενϊ θ «απαγορευμζνθ» χριςθ περιλαμβάνει τον οριςμό «υπογραφϊν» ςτα πακζτα τθσ δικτυακισ κυκλοφορίασ. Το βαςικό πλεονζκτθμα τθσ χριςθσ μοντζλου ανίχνευςθσ «αςυνικουσ» χριςθσ είναι πωσ ο αρικμόσ των επικζςεων που περιλαμβάνεται ςτο μοντζλο κα είναι μεγαλφτεροσ από αυτόν των επικζςεων με «υπογραφι». Βάςθ του οριςμοφ όλεσ οι υ- πάρχουςεσ και μελλοντικζσ επικζςεισ ανικουν ςτο ςφνολο τθσ «αςυνικουσ» χριςθσ. Σφμφωνα με τθν προθγοφμενθ ανάλυςθ το μοντζλο αυτό κα πρζπει να αντιμετωπίηει τα παρακάτω: 1. Να ζχει μικρό αρικμό Λανκαςμζνων Συναγερμϊν (False Alarm). Ζνα IDS που εφαρμόηει το μοντζλο τθσ αςυνικουσ χριςθσ δεν πρζπει να ζχει μεγάλο α- ρικμό λανκαςμζνων ςυναγερμϊν, αφοφ ότι είναι αςφνθκεσ ςτθν δικτυακι κυκλοφορία πρζπει να ζχει ενδιαφζρον. 58

77 6-Μονηελοποίηζη αζςνήθοςρ κςκλοθοπίαρ βαζιζμένη ζηη δομή ηυν TCP/IP πακέηυν 2. Να ποςοτικοποιεί τθν αςυνικθ χριςθ ορίηοντασ μία επιτρεπτι απόκλιςθ από αυτι. Ζτςι για το TCP stack κα μποροφςε να υπάρχει για κάκε πεδίο του TCP header μία επιτρεπόμενθ απόκλιςθ ςτθν ςυνικθ παρουςία του ςτα πακζτα που διακινοφνται ςτο δίκτυο[49] Αρχιτεκτονικό Συςτόματοσ Μζχρι ςιμερα δεν ζχει προτακεί να γίνει υλοποίθςθ ενόσ IDS που να ςυνδυάηει τα χριςιμα χαρακτθριςτικά από τα διαφορετικά είδθ των IDS. Αυτό επιχειροφμε να κάνουμε με το IDS που προτείνουμε. Καταρχιν ςυνδυάηουμε host-based αλλά και network-based χαρακτθριςτικά, χωρίσ όμωσ να μποροφμε να το κατατάξουμε πλιρωσ ςε κάποια κατθγορία, αφοφ από τθ μία υπάρχει κεντρικό ςφςτθμα παρακολοφκθςθσ που ςυλλζγει ςτοιχεία από τουσ κόμβουσ, αλλά ςθμαντικό μζροσ τθσ επεξεργαςίασ των ςυλλεγομζνων ςτοιχείων γίνεται ςτουσ κόμβουσ. Η ιδζα είναι να δθμιουργιςουμε ζνα ςφςτθμα εντοπιςμοφ ειςβολϊν το οποίο να ςυνδυάηει ςτοιχεία network based και host based ςυςτθμάτων, κάτι που όπωσ ζχουμε αναφζρει αποτελεί και τθ βζλτιςτθ λφςθ για τθν υλοποίθςθ ενόσ αποτελεςματικοφ IDS. Management Station Diagram Generator Host Slope Host Slope generator Εικόνα 6-1 Αρχιτεκτονικι Συςτιματοσ generator Η αρχιτεκτονικι του ςυςτιματόσ μασ ςυνοψίηεται ςτθν Εικόνα 6-1. Ο Host είναι το πρόγραμμα που εγκακίςταται ςτουσ υπολογιςτζσ που κζλουμε να παρακολουκοφμε. Συλλζγει τα ςτοιχεία που επικυμοφμε ςυνεχϊσ και ενθμερϊνει τον κεντρικό ςτακμό (Management Station) για ότι χρειάηεται. Ραράλλθλα με αυτόν λειτουργεί και ο Slope Generator ο οποίοσ ςυλλζγει τα ςτοιχεία κανονικισ λειτουργίασ από τον host και αποφαςίηει για τα όρια κάκε δίωρου κάκε θμζρασ, ζξω από τα οποία κα κεωρείται θ κίνθςθ μθ κανονικι. Για τθν γζνεςθ 59

78 6.3-Τα Γομικά Σηοισεία ηος Σςζηήμαηορ των ορίων αυτϊν μπορεί να χρθςιμοποιθκεί μια πλθκϊρα αλγορίκμων (Αλγόρικμοι μάκθςθσ, αλγόρικμοι τεχνθτισ νοθμοςφνθσ, νευρωνικά δίκτυα κλπ.). Στθν πρϊτθ προςζγγιςθ τα όρια που χρθςιμοποιικθκαν ετζκθςαν εποπτικά. Ο Management Station είναι αυτόσ που ςυγκεντρϊνει τα ςτοιχεία από όλουσ τουσ host και αποφαςίηει αν είμαςτε ςε κατάςταςθ επίκεςθσ, ι όχι. Τζλοσ ο Diagram Generator λαμβάνοντασ τα ςτοιχεία που χρειάηονται, από τον Management Station μπορεί να μασ δϊςει μζςω διαγραμμάτων μια αίςκθςθ τθσ κίνθςθσ του δικτφου μασ, τθσ διακφμανςθσ τθσ κλίςθσ ανά κόμβο ι και ανά port. Ακόμθ ζχει τθ δυνατότθτα δθμιουργίασ ςυγκεντρωτικϊν αποτελεςμάτων και διαγραμμάτων, χριςιμα για ςτατιςτικοφσ και όχι μόνο λόγουσ Τα Δομικϊ Στοιχεύα του Συςτόματοσ Στθν αρχιτεκτονικι του ςυςτιματόσ μασ αναφζραμε ότι αποτελείται από 4 modules, τα οποία είναι: host (αιςκθτιρασ), management station, diagram generator και slope generator Το ςύςτημα ςτουσ κόμβουσ (host system) Σκοπόσ του ςυςτιματόσ μασ είναι το πρόγραμμα του host να τρζχει ςε όλουσ τουσ εξυπθρετθτζσ του δικτφου και ςε αρκετοφσ client (αυτοφσ που κεωρεί κάποιοσ υ- πεφκυνοσ ωσ πιο ευάλωτουσ). Εδϊ ζχουμε καταρχιν να αντιμετωπίςουμε το πρόβλθμα τθσ μικρισ χριςθσ πόρων του μθχανιματοσ που αναφζρκθκε ςτα επικυμθτά χαρακτθριςτικά ενόσ καλοφ IDS. Ζχει γίνει προςπάκεια να είναι όςο το δυνατόν μικρότερθ θ χριςθ πόρων του προγράμματοσ ϊςτε να μθν εμποδίηεται θ προβλεπόμενθ λειτουργία του μθχανιματοσ. Ραρόλα αυτά, υπάρχει περίπτωςθ ςε κάποιον εξυπθρετθτι οι διακζςιμοι πόροι να είναι πολφ λίγοι ςε περίπτωςθ που αυτόσ ζχει αυξθμζνο φόρτο εργαςίασ ςτο δίκτυο. Σε αυτιν τθν περίπτωςθ, εγκακιςτοφμε ςε ζνα άλλο υπολογιςτικό ςφςτθμα (όχι ιδιαίτερα υψθλϊν προδιαγραφϊν) το πρόγραμμα που προορίηεται για τον εξυπθρετθτι, και φροντίηουμε να ανακατευκφνουμε τθν κίνθςθ του εξυπθρετθτι ςε αυτό. Καταρχιν αυτό που κάνει το πρόγραμμά μασ είναι να παρακολουκεί πακζτο προσ πακζτο ό,τι περνά από τθν κάρτα δικτφου του μθχανιματοσ ςτο οποίο τρζχει. Κάνει εν ολίγοισ τθ δουλειά ενόσ sniffer απλά είναι πιο εξειδικευμζνοσ. 60

79 6-Μονηελοποίηζη αζςνήθοςρ κςκλοθοπίαρ βαζιζμένη ζηη δομή ηυν TCP/IP πακέηυν Τα βιματα που ακολουκοφμε ςτθν υλοποίθςθ του host είναι τα ακόλουκα: 1. Η πλθροφορία που ςυλλζγεται δεν είναι όλθ χριςιμθ. Κρίκθκε ότι είναι ορκό να επεξεργάηεται μόνο θ πλθροφορία θ οποία ζχει ςαν προοριςμό το υπολογιςτικό ςφςτθμα το οποίο εξετάηουμε. Αυτό που προςπακοφμε να εντοπίςουμε είναι μια επίκεςθ εναντίον του ςυςτιματοσ. Ρροφανϊσ τα πακζτα μιασ τζτοιασ επίκεςθσ ζχουν ςαν προοριςμό τον υπολογιςτι αυτόν αλλιϊσ ποτζ δεν κα ζφταναν εκεί. Ζτςι βζβαια δεν μποροφμε να ανιχνεφςουμε κάποια επίκεςθ που μπορεί να ξεκινά από τον υπολογιςτι που εξετάηουμε αλλά αυτό το αφινουμε ςτον διαχειριςτι του ςυςτιματοσ ςτόχου (που μπορεί να είναι ο ίδιοσ άρα θ επίκεςθ και πάλι κα εντοπιςκεί από το άλλο ςφςτθμα). Ζτςι γίνεται ζνα πρϊτο φιλτράριςμα τθσ πλθροφορίασ. 2. Για να ςυνεχίςει τϊρα τθν επεξεργαςία το πρόγραμμά χρειάηεται κάποιεσ επιπλζον πλθροφορίεσ. Ρριν τθν εκτζλεςθ του προγράμματοσ πρζπει να γνωρίηουμε τι ports περιμζνουμε να δοφμε να ζχουν κίνθςθ ςτο ςφςτθμα που εξετάηουμε. Το πρόγραμμά μασ παίρνει ςαν είςοδο μία λίςτα με τα ports αυτά. Ζτςι το πρόγραμμα μπορεί να γνωρίηει ςε ποια ports αναμζνεται θ κίνθςθ ςε κανονικι λειτουργία του ςυςτιματοσ. Αυτό μπορεί να γίνει με ζνα port scan που κα γίνει πριν τθν εκτζλεςθ του προγράμματοσ. Ρρζπει να είμαςτε προςεκτικοί διότι ο εξυπθρετθτισ μπορεί να τρζχει κάποια services τα οποία ανοίγουν νζα ports για να διαχειριςτοφν μεγαλφτερθ κίνθςθ (τα λεγόμενα spawned ports). Αυτά πρζπει να περιζχονται ςτθ λίςτα αλλά δεν κα ζπρεπε το πρόγραμμά μασ να τα παρακολουκεί αφοφ δεν εκδθλϊνεται ποτζ επίκεςθ ςε αυτά. Για να το επιτφχουμε αυτό, το αρχείο με τα χρθςιμοποιοφμενα ports ζχει ζνα τμιμα :not watched που περιζχει αυτά. 3. Στο τρίτο βιμα, ζχουμε πλζον το πακζτο και ξζρουμε που απευκφνεται, άρα μποροφμε να το κατατάξουμε ςτθν κατάλλθλθ κατθγορία. 4. παράλλθλα με τα προθγοφμενα βιματα γίνεται ζλεγχοσ των TCP flags των πακζτων που επεξεργάηονται. Ρολλζσ επικζςεισ ξεκινάν από πακζτα με μθ φυςιολογικά flags και γι αυτό κεωρικθκε ςκόπιμο τζτοιου είδουσ επικζςεισ να γίνονται αντιλθπτζσ εν τθ γενζςει τουσ. Ζτςι παράλλθλα με τα παραπάνω μόλισ το πρόγραμμα ανιχνεφςει μθ κανονικά flags το καταγράφει και φροντίηει να ενθμερωκεί το κεντρικό πρόγραμμα Management Station Το interface του management station που υλοποιιςαμε, τρζχει ςε ζνα κεντρικό ςφςτθμα επιλογισ μασ και επικοινωνεί με κόμβουσ ςτουσ οποίουσ ζχουμε εγκαταςτιςει τον αιςκθτιρα. Σε ζνα τοπικό δίκτυο το οποίο ςυγκροτείται από ζνα μεγάλο α- ρικμό μθχανθμάτων, πρζπει να επιλζξουμε εκείνα που κεωροφμε ωσ πιο απαραίτθ- 61

80 6.3-Τα Γομικά Σηοισεία ηος Σςζηήμαηορ το να παρακολουκοφμε όπωσ οι κεντρικοί mail servers, dns servers, file servers κλπ. Το management station αντλεί ςτοιχεία από τθ βάςθ δεδομζνων των αιςκθτιρων, και ωσ εκ τοφτου εξαρτάται άμεςα από τθν λειτουργία αυτϊν. Εκεί καταγράφονται, όπωσ αναφζρεται ςτο πρϊτο μζροσ ο αρικμόσ των ειςερχόμενων πακζτων ανά interval, οι κλιςεισ ανά χρονικό παράκυρο, τα όρια των κλίςεων ανά port, μζρα και χρονικό παράκυρο κακϊσ και τα flags των πακζτων. Το ςφςτθμα ςυνδζεται ςτθν βάςθ του κάκε αιςκθτιρα ανά παραμετροποιιςιμο χρονικό διάςτθμα (π.χ. κάκε ζνα λεπτό) και παίρνει πλθροφορίεσ. Αυτό που ελζγχει είναι οι φποπτεσ δραςτθριότθτεσ, όπωσ θ φπαρξθ πακζτων ςε non used ports του κόμβου που κάκε φορά εξετάηει. Ππωσ ζχουμε αναφζρει δε δικαιολογείται θ φπαρξθ πακζτων ςε unauthorized port, παρά μόνο ςε αυτά που χρθςιμοποιοφνται από τισ εφαρμογζσ του ςυςτιματοσ. Επίςθσ, φποπτθ κεωρείται θ διαταραχι ςτα όρια τθσ κλίςθσ τθσ κίνθςθσ ανά port. Τζλοσ, ωσ τρίτο κριτιριο για τθν απόφαςθ φυςιολογικισ ι όχι κίνθςθσ κζτουμε ςυνδυαςμοφσ flags που είναι αςυνικεισ και κεωροφνται ενδείξεισ επικετικισ δραςτθριότθτασ. Τουσ ςυνδυαςμοφσ αυτοφσ τουσ αναφζραμε λεπτομερϊσ παραπάνω. Το πρόγραμμα ςυνδζεται με τουσ κόμβουσ και ελζγχει τθν κατάςταςι τουσ, δθλαδι κοιτάηει τθν database που υπάρχει ςε κάκε κόμβο. Τα ςτοιχεία τα οποία μασ ενδιαφζρουν κυρίωσ και είναι αυτά που το πρόγραμμα απεικονίηει είναι χωριςμζνα ςε αυτά που είναι ςυγκεκριμζνα ανά κόμβο και ςτα γενικά ςτοιχεία που προζρχονται από τθν αξιολόγθςθ των πλθροφοριϊν για όλουσ τουσ κόμβουσ. Για τθν καλφτερθ αξιολόγθςθ και τθν λιψθ αποτελεςμάτων χρθςιμοποιιςαμε το εςωτερικό δίκτυο του E.A.I.T.Y. και τοποκετιςαμε τουσ αιςκθτιρεσ ςε διάφορα κεντρικά ςυςτιματα του οργανιςμοφ, ϊςτε να ζχουμε όςο το δυνατόν πιο αντιπροςωπευτικό δείγμα Slope Generator Αυτό που ζχουμε να επεξεργαςτοφμε είναι ζνα τριςδιάςτατο διάγραμμα των πακζτων που ζρχονταν προσ το υπό παρακολοφκθςθ μθχάνθμα ανά port ςτο χρόνο. 62

81 6-Μονηελοποίηζη αζςνήθοςρ κςκλοθοπίαρ βαζιζμένη ζηη δομή ηυν TCP/IP πακέηυν Εικόνα 6-2 Πγκοσ πακζτων ςτο χρόνο Για παράδειγμα ςτο παραπάνω Εικόνα 6-2 κάκε χρϊμα αντιςτοιχεί ςε κάποιο port, ο κατακόρυφοσ άξονασ είναι ο αρικμόσ των πακζτων και ο οριηόντιοσ είναι τα χρονικά διαςτιματα. Τα port με το κίτρινο, το γαλάηιο και το καφζ χρϊμα δεν είχαν κακόλου κίνθςθ το χρονικό διάςτθμα που εξετάηουμε. Το κόκκινο είχε αυξθμζνθ κίνθςθ ενϊ το πράςινο μικρότερθ. Από τθν κάκε καμπφλθ λοιπόν μποροφμε για κάκε n χρονικά διαςτιματα να ποφμε ποιοσ ιταν ο όγκοσ δεδομζνων που διακινικθκε (το ολοκλιρωμα τθσ καμπφλθσ ςτο χρόνο) αλλά και ποιοσ ιταν κάκε χρονικι ςτιγμι ο ρυκμόσ μεταβολισ τθσ κίνθςθσ ςτο δίκτυο (θ παράγωγοσ τθσ καμπφλθσ τθ χρονικι ςτιγμι). Ζγινε προςπάκεια να βρεκεί ζναν αρικμόσ που κα είναι όςο πιο αντιπροςωπευτικόσ γίνεται για τθν καμπφλθ. Αυτόσ ο αρικμόσ κα ζπρεπε να είναι περίπου ο ίδιοσ για γενικά όμοιεσ καμπφλεσ. Θεωρικθκε ότι κα ζπρεπε να είναι θ κλίςθ κάποιασ ευκείασ που κα είχε το ίδιο ολοκλιρωμα ςτο χρόνο με τθν καμπφλθ μασ, αλλά και οι ζ- ντονεσ μεταβολζσ τθσ καμπφλθσ κα μετζβαλαν τθν κλίςθ τθσ. Ζςτω ότι τα πακζτα ςτο χρόνο εκφράηονται από τθν ακολουκία p n. Δθλαδι τα πακζτα τθ χρονικι ςτιγμι κ κα είναι p κ. Το ολοκλιρωμα τθσ καμπφλθσ από τθ χρονικι ςτιγμι 0 μζχρι τθ χρονικι ςτιγμι n κα n 1 p0 pn είναι: E pk (1) 2 k 1 παίρνοντασ το άκροιςμα των εμβαδϊν των μικρότερων τραπεηίων. Ζςτω ότι θ ευκεία που ψάχνουμε να βροφμε είναι θ ε n = αn + β. (2) 63

82 6.3-Τα Γομικά Σηοισεία ηος Σςζηήμαηορ Άρα αυτό που κζλουμε να ικανοποιείται είναι του μεγάλου τραπεηίου. n E 0 n (3), από το εμβαδόν 2 Από τθν (1) υπολογίηεται εφκολα το Ε. Από τισ (2) και (3) ζχουμε: 2E 2 Δθλαδι τελικά: a 2 n E n 0 Ζτςι ζχουμε βρει ζναν τρόπο να υπολογίςουμε τθν κλίςθ αυτισ τθσ ευκείασ χρθςιμοποιϊντασ το εμβαδό που πρζπει να αναπαραςτιςουμε και τον ςυντελεςτι β τθσ ευκείασ. n n 2 an n Ο προςδιοριςμόσ του β ζγινε ωσ εξισ: Στθν αρχι των μετριςεων, όταν δεν υπάρχει καμιά προθγοφμενθ μζτρθςθ, κζτουμε β=p 0. Φυςικά αν δεν ζχουμε τουλάχιςτον n μετριςεισ δεν μποροφμε να υπολογίςουμε τθν κλίςθ. Άρα για το πρϊτο παράκυρο n μετριςεων το β υπολογίηεται όπωσ είπαμε. Πταν οι μετριςεισ κα γίνουν n+κ τότε το β ορίηουμε να είναι θ τιμι τθσ προθγοφμενθσ ευκείασ ςτο ςθμείο κ. Ζτςι αναδρομικά υπολογίηουμε κάκε φορά από τα προθγοφμενα τα α και β κάκε ευκείασ. Ο α είναι ο χαρακτθριςτικόσ αρικμόσ του δικτφου που είναι ενδεικτικόσ και τθσ ςυμπεριφοράσ του, ενϊ ο β επιλζχτθκε ζτςι ϊςτε να βοθκάει ςτον καλφτερο προςδιοριςμό τθσ ευκείασ (πιο ομαλό, αντιπροςωπευτικό τθσ πραγματικότθτασ). Ρρζπει να ςθμειωκεί ότι ζγιναν πολλζσ δοκιμζσ για τθν επιλογι του β, και αυτόσ που επιλζχτθκε είναι αυτόσ που μασ ζδωςε τα βζλτιςτα αποτελζςματα. Οι κλίςεισ αυτζσ ςτο Σφςτθμα Ανίχνευςθσ Ειςβολϊν που ζχουμε ςχεδιάςει χρθςιμοποιοφνται ωσ εξισ. Μετά το πρϊτο τζταρτο τθσ ϊρασ λειτουργίασ υπολογίηεται θ κλίςθ κάκε μιςό λεπτό χρθςιμοποιϊντασ τθν καμπφλθ πακζτων ανά port το τελευταίο τζταρτο. Ο χρόνοσ τθσ θμζρασ ζχει χωριςκεί ςε δίωρα. Για κάκε δίωρο υπάρχουν όρια αυτισ τθσ κλίςθσ που οριοκετοφν τθν κανονικι λειτουργία του δικτφου. Αυτά τα όρια ελζγχουμε και μποροφμε να αποφανκοφμε αν και κατά πόςο το δίκτυό μασ λειτουργεί κανονικά Η Βϊςη Δεδομϋνων του Συςτόματοσ Χρθςιμοποιικθκε βάςθ δεδομζνων ςε Microsoft Access. Τα tables που δθμιουργικθκαν είναι τα εξισ: 64

83 6-Μονηελοποίηζη αζςνήθοςρ κςκλοθοπίαρ βαζιζμένη ζηη δομή ηυν TCP/IP πακέηυν Ζνα table NOTUSED που περιζχει ςτοιχεία των πακζτων που πικανόν ζφταςαν ςτον υπολογιςτι μασ ςε ports που δεν ιταν ςτα χρθςιμοποιοφμενα. Ζνα table TREXORIA όπου καταχωροφνται κάκε δίωρο τα τρζχοντα ελάχιςτα και μζγιςτα των κλίςεων που παρατθροφνται. Αυτά χρθςιμοποιεί αργότερα ο Slope Generator για να καταλιξει ςτα όρια που πρζπει να χρθςιμοποιθκοφν. Ζνα table BADFLAGS που περιζχει ςτοιχεία των πακζτων που ζφταςαν ςτον υπολογιςτι με όχι κανονικά ςετ flags. Τα όχι κανονικά ορίηονται κατά τθν ε- κτζλεςθ του προγράμματοσ του HOST. Τζλοσ για κάκε port που χρθςιμοποιείται ςτον υπολογιςτι που παρακολουκοφμε διατθροφμε τα εξισ table: Ζνα table PORTXXXX που περιζχει τισ τιμζσ των πακζτων ανά μιςό λεπτό που φτάνουν ςτον υπολογιςτι. Αυτζσ φυλάςςονται για χριςθ από τον Slope Generator αλλά και από τον Diagram Generator Ζνα table ORIAXXXX που περιζχει τα όρια για κάκε port ανά δίωρο και ανά θμζρα τθσ εβδομάδασ. Αυτά χρθςιμοποιοφνται από όλα τα modules του Σ.Α.Ε. Εικόνα 6-3 Ρίνακασ NOTUSED 65

84 6.3-Τα Γομικά Σηοισεία ηος Σςζηήμαηορ Εικόνα 6-4 Ρίνακασ TREXORIA Στθν Εικόνα 6-3 και Εικόνα 6-4 δείχνουμε ενδεικτικοφσ πίνακεσ και τιμζσ τουσ. 66

85 6-Μονηελοποίηζη αζςνήθοςρ κςκλοθοπίαρ βαζιζμένη ζηη δομή ηυν TCP/IP πακέηυν 6.4. Λειτουργικό Περιγραφό του Συςτόματοσ Το πρόγραμμά μασ «ακοφει» τθν κάρτα δικτφου του υπολογιςτι και ζχουμε ορίςει ρουτίνα επεξεργαςίασ, που εκτελείται με τθν άφιξθ κάκε ενόσ πακζτου. procedure TForm1.ReadPacket(Data: pointer; recvbytes: Word); begin Dt:=Data; end; {Ethernet II Type} {IP Version Num} If (Dt^[13]=8) and (Dt^[14]=0) and (Dt^[15] shr 4 = 4) Then Ιf (Dt^[24]=6) and (mip=(dt^[31] shl 24 + Dt^[32] shl 16 + Dt^[33] shl 8 + Dt^[34])) Then ProcessTCP; Εν ολίγοισ εξετάηουμε αν το πακζτο που ιρκε είναι Ethernet II Type, και αν είναι IPv4 και εν ςυνεχεία, εξετάηουμε αν πρωτόκολλο του IP είναι TCP και αν θ διεφκυνςθ παραλιπτθ είναι αυτι που ζχει δοκεί ςτα δεδομζνα του προγράμματοσ και καλοφμε τθν αντίςτοιχθ ςυνάρτθςθ που κα επεξεργαςτεί περαιτζρω το πακζτο. Ο πρϊτοσ ζλεγχοσ που γίνεται είναι για τα Flags. Αν ο ςυνδυαςμόσ Flags εμπίπτει ςε ζνα από τα κριτιρια που ζχουν κεωρθκεί φποπτα τότε καταγράφεται το πακζτο, ο αποςτολζασ και ο χρόνοσ κατά τον οποίο ιρκε, και ςταματά θ επεξεργαςία του πακζτου. Εν ςυνεχεία βλζπουμε το Destination Port του πακζτου και εξετάηουμε αν είναι ςτα Used. Αν είναι ςτα Used τότε ενθμερϊνουμε τουσ αντίςτοιχουσ counter πακζτων του ςυγκεκριμζνου port. Αν είναι ςτα Not Used τότε ενθμερϊνεται άμεςα θ βάςθ δεδομζνων με τθ χρονικι ςτιγμι και τθ διεφκυνςθ του αποςτολζα. Εδϊ τελειϊνει το ζνα μζροσ του προγράμματοσ που εκτελείται κάκε φορά που ζρχεται νζο πακζτο ςτθν κάρτα δικτφου. Εκτόσ από αυτό υπάρχει και ζνα μζροσ του προγράμματοσ που εκτελείται κάκε φορά που περνάει ζνα διάςτθμα χρόνου ίςο αυτό που ζχουμε ορίςει ςτθν αρχι του προγράμματοσ. Πταν εκτελείται αυτό το μζροσ γίνονται τα παρακάτω: Ενθμερϊνεται το display του προγράμματοσ ςχετικά με το πόςα ports χρθςιμοποιικθκαν το τελευταίο διάςτθμα και πόςα πακζτα είχαμε ςε κάκε ζνα από αυτά. 67

86 6.5-Παποςζίαζη ηηρ Λειηοςπγίαρ ηος Ππογπάμμαηορ Οι τιμζσ που υπιρχαν ςτουσ διάφορουσ μετρθτζσ του προγράμματοσ γράφονται ςτθ βάςθ δεδομζνων, ανά port και ανά χρονικι ςτιγμι. Χρθςιμοποιοφνται οι τιμζσ των τελευταίων 30 χρονικϊν διαςτθμάτων (ςφμφωνα με τθν υλοποίθςθ που κάναμε) για να υπολογιςτεί θ κλίςθ για αυτό το διάςτθμα. Ελζγχεται εν ςυνεχεία θ κλίςθ αυτι με τα όρια του τρζχοντοσ δίωρου για να δοφμε αν ζχουμε ξεφφγει οπότε πρζπει να ενθμερωκεί το κεντρικό ςφςτθμα. Ελζγχουμε αν ζχουμε ξεπεράςει το πρακτικό μζγιςτο και το ελάχιςτο του δίωρου μζχρι εκείνθ τθ ςτιγμι, οπότε κα πρζπει να ανανεϊςουμε τισ τιμζσ τουσ Ελζγχουμε αν τυχόν ζχουμε περάςει ςε επόμενο δίωρο. Σε αυτιν τθν περίπτωςθ γράφουμε ςτθν βάςθ δεδομζνων τα μζγιςτα και ελάχιςτα που παρατθριςαμε ςτο δίωρο που πζραςε, και τα μθδενίηουμε για να ςυνεχίςουμε. Επίςθσ ενθμερϊνουμε να όρια του τρζχοντοσ δίωρου με τα νζα από τθ βάςθ. Ράντα ςτο τζλοσ μθδενίηουμε τουσ μετρθτζσ πακζτων ανά port του προγράμματοσ. Ραράλλθλα με τα παραπάνω εκτελείται κάκε δευτερόλεπτο και μία ςυνάρτθςθ θ οποία ενθμερϊνει το χρόνο για τον οποίο εκτελείται το πρόγραμμα. Εν ολίγοισ το ςφςτθμά μασ, παρακολουκεί όλθ τθν ειςερχόμενθ κίνθςθ του υπολογιςτι τον οποίο εξετάηει, κρατάει αναλυτικά τα ςτοιχεία τθσ κίνθςθσ για ςτατιςτικοφσ ςκοποφσ από τον Diagram Generator, και ελζγχει ανά πάςα ςτιγμι τον χαρακτθριςτικό αρικμό του δικτφου που αναλφςαμε προθγουμζνωσ για να ζχει εικόνα του κατά πόςο είναι ομαλι θ κίνθςθ ςτο δίκτυο Παρουςύαςη τησ Λειτουργύασ του Προγρϊμματοσ Ραρακάτω παρουςιάηουμε τα ςτοιχεία του προγράμματοσ που υλοποιεί το προτεινόμενο ςφςτθμα. Σε κάκε module host το ςφςτθμά μασ παρουςιάηει τισ εξισ δυνατότθτεσ: Host name: Εδϊ αναφζρεται το όνομα του κάκε κόμβου, όπωσ το ορίηουμε εμείσ για να διευκολυνκοφμε ςτθν ανάλυςθ των ςτοιχείων. Αυτό μπορεί να ςυμπίπτει με τθν DNS διλωςθ για το ςυγκεκριμζνο μθχάνθμα ι μπορεί να είναι εντελϊσ διαφορετικό. Packets to closed ports: Εδϊ αναφζρονται όλεσ οι πλθροφορίεσ για τα πακζτα που ςτζλνονται ςε κλειςτά ports του κόμβου, κάτι που δε κα ζπρεπε να γίνει αφοφ οι εφαρμογζσ που εκτελοφνται ζχουν το δικό τουσ δεςμευμζνο port το οποίο ζχουμε καταγράψει με χριςθ εργαλείων port scan (όπωσ το Nmap). Επομζνωσ, πακζτα ςε κλειςτά ports κεωροφνται φποπτα και αναφζρονται ςτο management station με λεπτομζρειεσ για τον αρικμόσ τουσ, για το IP από το οποίο προιλκαν και για το port 68

87 6-Μονηελοποίηζη αζςνήθοςρ κςκλοθοπίαρ βαζιζμένη ζηη δομή ηυν TCP/IP πακέηυν του κόμβου ςτο οποίο κατευκφνκθκαν. Για παράδειγμα θ ζνδειξθ , port 80, 6 packets μασ λζει ότι από τθν ΙP διεφκυνςθ ςτάλκθκαν 6 πακζτα με προοριςμό το port 80 του κόμβου τον οποίο εξετάηουμε εκείνθ τθ ςτιγμι. Port to watch: Το νοφμερο του port του κόμβου, το οποίο αναλφουμε κάκε φορά. Αυτό κα είναι κάποιο από τα χρθςιμοποιοφμενα προφανϊσ αφοφ πρζπει να ζχει κάποια κίνθςθ, για να δθμιουργθκεί θ απαραίτθτθ καμπφλθ. Slope limits: Είναι τα όρια του δείκτθ κλίςθσ για κάκε port που επιλζγουμε, όπωσ αυτά ορίηονται από τον Slope Generator για κάκε δίωρο ανά θμζρα εβδομάδασ. Η επιλογι δίωρο ανά θμζρα εβδομάδασ είναι αυτι που πειραματικά μασ ζφερε τα καλφτερα αποτελζςματα. Min/Max Slope: Είναι θ ελάχιςτθ και θ μζγιςτθ τιμι τθσ κλίςθσ για κάκε port που επιλζγουμε, το τρζχον δίωρο, που εξετάηει ο κόμβοσ. Slope now: Είναι θ τιμι του δείκτθ κλίςθσ, για το επιλεγμζνο port, τθν χρονικι ςτιγμι που ελιφκθςαν τα ςτοιχεία από τθν βάςθ δεδομζνων του κόμβου. Τα ςτοιχεία αυτά ανανεϊνονται κάκε λεπτό. Abnormal Flag Sets: Εδϊ καταγράφεται ο αρικμόσ των παράνομων /ανϊμαλων ςυνδυαςμϊν flags που ςυναντϊνται ςτα πακζτα που ο host αναλφει και τα οποία αποτελοφν μια καλι ζνδειξθ πικανισ επικετικισ δραςτθριότθτασ. Υπολογιςτικοί Κόμβοι: Αναγράφονται τα ονόματα των κόμβων, που παριςτάνονται ωσ ςφνολο κόμβων ςτο δίκτυο το οποίο εξετάηουμε. Ο αρικμόσ των υπό παρακολοφκθςθ κόμβων μπορεί να αυξάνεται με τθν είςοδο ενόσ νζου ςτθν υπάρχουςα τοπολογία με τθν εντολι Add new Host. Χρθςιμοποιοφμε χρωματιςμοφσ ςτουσ κόμβουσ ανάλογα με τθν κατάςταςθ ςτθν οποία βρίςκονται. Ορίηουμε: τθν φυςιολογικι κατάςταςθ με πράςινο χρϊμα τθν κατάςταςθ επιφυλακισ, όπου ζχουμε κάποιεσ ενδείξεισ για επικετικι δραςτθριότθτα με κίτρινο χρϊμα, αλλά πρζπει να παρακολουκιςουμε πιο ςτενά τον κόμβο για να δοφμε αν θ δραςτθριότθτα απλά οφείλεται ςε άλλουσ παράγοντεσ και δεν είναι επίκεςθ τθν κατάςταςθ ςυναγερμοφ (alert) με κόκκινο χρϊμα, για τθν οποία ζ- χουμε πολλζσ και ςοβαρζσ ενδείξεισ ότι υπάρχει επίκεςθ και κζτουμε το όλο ςφςτθμα ςε κατάςταςθ κινδφνου Console: Η κατάςταςθ του ςυςτιματοσ, θ οποία χαρακτθρίηεται από τον χρωματιςμό τθσ, ςφμφωνα με τον οριςμό που δϊςαμε ακριβϊσ πιο πάνω. Most used Suspicious IPs: Εδϊ ζχουμε τθν καταγραφι των ΙP διευκφνςεων, που ζ- χουν ςτείλει πακζτα ςε non used ports ςτο ςφνολο των κόμβων που παρακολουκοφμε και πόςεσ φορζσ ζγινε αυτό. Ρ.χ times,2 hosts μασ λζει 69

88 6.5-Παποςζίαζη ηηρ Λειηοςπγίαρ ηος Ππογπάμμαηορ ότι θ IP διεφκυνςθ ζχει καταγραφεί 12 φορζσ να ςτζλνει πακζτα ςε non used ports, ςε ςφνολο 2 κόμβων. Mostly hit not used ports: Αφοροφν τα ports εκείνα τα οποία δεν είναι δθλωμζνα ωσ used ςε ζνα κόμβο, δθλαδι το ςφνολο των ports που δε κα πρζπει να ζχουμε πακζτα προσ αυτά, αφοφ δεν υπάρχει εφαρμογι που να ζχει δεςμεφςει κάποιο από αυτά. Αναφζρουμε τα νοφμερα των not used port που δζχτθκαν πακζτα, πόςεσ φορζσ υπιρξε πακζτο ςε αυτά τα port και ο αρικμόσ των κόμβων που εμφανίςτθκε αυτό το port. Για παράδειγμα, απεικόνιςθ times, 3 hosts ςθμαίνει ότι είχαμε 19 φορζσ πακζτα ςτο port 80, ςε 3 διαφορετικοφσ κόμβουσ. Hosts out of bounds: Εδϊ, ζχουμε τθν ΙP διεφκυνςθ και το όνομα των κόμβων για τουσ οποίουσ τα όρια τθσ κλίςθσ για κάποιο από τα ports τουσ, ςτο τρζχον παράκυρο χρόνου, είναι εκτόσ των ορίων που κακορίηονται από τον Slope generator. Αφοφ περιγράψαμε τθ λειτουργία του προγράμματοσ και αναλφςαμε τα επί μζρουσ ςτοιχεία του, κα παρουςιάςουμε τα αποτελζςματα τθσ ανάλυςθσ με screenshots, όπωσ κα το βλζπαμε ςτο ςτακμό διαχείριςθσ με τθν εκτζλεςθ του module. Ππωσ φαίνεται και ςτθν Εικόνα 6-5 το ςφςτθμα αναφζρει φυςιολογικι κατάςταςθ για το δίκτυό μασ και ςυγκεκριμζνα: Εικόνα 6-5 Φυςιολογικι κατάςταςθ ςυςτιματοσ H κατάςταςθ του ςυςτιματοσ είναι φυςιολογικι (πράςινο χρϊμα). Δεν υπάρχουν πακζτα ςε non used ports ςε κανζναν από τουσ κόμβουσ 70

89 6-Μονηελοποίηζη αζςνήθοςρ κςκλοθοπίαρ βαζιζμένη ζηη δομή ηυν TCP/IP πακέηυν μασ, οι τιμζσ τθσ κλίςθσ ςτο τρζχον δίωρο είναι εντόσ των ελάχιςτων και μζγιςτων ορίων που ορίηει ο Slope Generator. Επίςθσ, θ τιμι τθσ κλίςθσ αυτι τθ ςτιγμι είναι εντόσ των ορίων. Δεν ζχουν ανιχνευκεί abnormal flag sets ςε κάποιουσ κόμβουσ. Oι κόμβοι που παρακολουκοφμε είναι οι: Phobos, Alexandreia, Ino, Peitho, Hermes και Philippos. Ο χρωματιςμόσ για κάκε κόμβο είναι πράςινοσ και αυτι είναι θ καλφτερθ δυνατι κατάςταςθ που μποροφμε να αναμζνουμε από το δίκτυο και το ςφςτθμα μασ. Το ςφςτθμα ςτθν Εικόνα 6-6 βρίςκεται ςε κατάςταςθ επιφυλακισ και μασ δείχνει: Εικόνα 6-6 Το ςφςτθμα ςε κατάςταςθ επιφυλακισ Το ςφςτθμα είναι ςε κατάςταςθ επιφυλακισ (κίτρινο χρϊμα). Ζχουμε ζναν κόμβο εκτόσ ορίων, όπωσ φαίνεται ςτισ τιμζσ. Για τον κόμβο Phobos και για το port 443, θ τιμι τθσ κλίςθσ είναι μεγαλφτερθ του max ορίου. Ζχουμε ανιχνεφςει πακζτα ςε unused ports (ςυγκεκριμζνα ςτο port 21) Είχαμε 3 πακζτα ςτο port 21 με πθγι τθν IP διεφκυνςθ και προοριςμό ζναν κόμβο, θ οποία και καταγράφεται. Δεν ζχουμε abnormal flag sets ςε κανζναν από τουσ κόμβουσ Το ςφςτθμα βρίςκεται ςε κατάςταςθ επιφυλακισ με 2 κόμβουσ να ζχουν 71

90 6.5-Παποςζίαζη ηηρ Λειηοςπγίαρ ηος Ππογπάμμαηορ κίτρινο χρϊμα. Αυτό ςθμαίνει ότι είμαςτε ςε εγριγορςθ για περαιτζρω παρακολοφκθςθ και ηθτάμε αν χρειαςτεί περιςςότερα ςτοιχεία από τον agent. Στθν περίπτωςθ του κόμβου Alexandreia, τα πακζτα ςτo non used port 21 κεωροφνται φποπτα μεν, αλλά περιμζνουμε να δοφμε αν κα επαναλθφκεί το ίδιο φαινόμενο ςτον ίδιο ι ςε διαφορετικό κόμβο για να αποφανκοφμε για τθν περίπτωςθ επίκεςθσ ι για τυχαίο γεγονόσ. Στθν περίπτωςθ του κόμβου Phobos είμαςτε εκτόσ των ορίων κλίςθσ για το port 443. Αυτό μπορεί να ςυνιςτά φποπτθ ςυμπεριφορά, που πικανόν να ςυμπεράνουμε ότι είναι επίκεςθ τελικά. Πμωσ, πρζπει να λάβουμε υπόψθ μασ και τθν περίπτωςθ τα όρια που ζχει εκτιμιςει ο Slope Generator να μθν είναι απόλυτα αντιπροςωπευτικά του ςυγκεκριμζνου port. Αυτό ςυνικωσ ςυμβαίνει ςτθν αρχι που το ςφςτθμά μασ μακαίνει, όταν δθλαδι δεν ζχει αρκετά ςτοιχεία για να ςχθματίςει αξιόπιςτα όρια κλίςθσ. Επομζνωσ, πρζπει να επανατροφοδοτιςουμε με νζα ςτοιχεία τον slope generator, ϊςτε να ε- κτιμιςει νζα όρια για τα οποία τελικά το ςφςτθμά μασ κα ςυμπεριφζρεται φυςιολογικά. Στθν Εικόνα 6-7 το ςφςτθμα δείχνει πωσ για τον κόμβο Hermes ζχουμε ςυναγερμό, για τουσ κόμβουσ Phobos, Alexandreia, Ino και Philippos ζχουμε κατάςταςθ επιφυλακισ και τζλοσ για τον κόμβο Peitho ζχουμε φυςιολογικι κατάςταςθ. Εικόνα 6-7 Σφςτθμα ςε κατάςταςθ ςυναγερμοφ 72

91 6-Μονηελοποίηζη αζςνήθοςρ κςκλοθοπίαρ βαζιζμένη ζηη δομή ηυν TCP/IP πακέηυν Το ςφςτθμα ςε κατάςταςθ ςυναγερμοφ παρουςιάηει τα παρακάτω (βλ. Εικόνα 6-7): Ζχουμε 4 ΙP διευκφνςεισ να ζχουν ςτείλει πακζτα ςτα non used ports 80 και 21 των κόμβων που παρακολουκοφμε. Ζχουμε τουσ κόμβουσ Phobos,Ino, Philippos και Hermes να βρίςκονται εκτόσ των ορίων κλίςθσ. Για τον κόμβο Alexandreia ζχουμε τισ διευκφνςεισ να ζ- χει αποςτείλει 6 πακζτα ςτο port 80 και τθν να ζχει αποςτείλει 3 πακζτα ςτο port 21. Η κλίςθ ςτο τρζχον παράκυρο χρόνου, για το port 1033, είναι εντόσ του ελάχιςτου ορίου, και εντόσ του μζγιςτου ορίου με τιμζσ min = -0,0138 και max = 0,134. H κλίςθ για το port 1033 τθν παροφςα χρονικι ςτιγμι είναι 0,011. Ζχουμε ανιχνεφςει δφο abnormal flag sets για το port Η κονςόλα είναι ςε κατάςταςθ ςυναγερμοφ (κόκκινο χρϊμα) αφοφ ζχουμε πολλζσ διαταραχζσ ςε αρκετοφσ κόμβουσ. Επιπλζον ζχουμε δφο ιδιαίτερα φποπτουσ ςυνδυαςμοφσ flags ςε πακζτα, που είναι μια ζνδειξθ πικανισ επίκεςθσ. Σε ςυνδυαςμό με τισ υπόλοιπεσ πλθροφορίεσ κζτουμε το ςφςτθμα ςε ςυναγερμό και ηθτάμε πιο λεπτομερι ςτοιχεία από τουσ κόμβουσ για να αποφαςίςουμε για τισ παραπζρα κινιςεισ μασ. Τζλοσ το ςφςτθμα μασ δίνει τθν δυνατότθτα να δοφμε το γράφθμα των πακζτων ανά μονάδα χρόνου με επιλογι ςτο unused port, που καταγράφθκε από τον κόμβο που δζχεται πακζτα. Αυτι θ δραςτθριότθτα είναι φποπτθ και το γράφθμα μασ δίνει μια καλφτερθ και πιο ξεκάκαρθ εικόνα τθσ κίνθςθσ ςτο ςυγκεκριμζνο port. Για παράδειγμα ζςτω ότι ζχουμε κίνθςθ ςτο not used port 443 και ηθτάμε περιςςότερεσ πλθροφορίεσ με επιλογι επάνω ςτο port. Το γράφθμα που λαμβάνουμε είναι το παρακάτω: 73

92 6.5-Παποςζίαζη ηηρ Λειηοςπγίαρ ηος Ππογπάμμαηορ Εικόνα 6-8 Γράφθμα για κάκε port Ππωσ βλζπουμε ςτθν Εικόνα 6-8 ςτα πρϊτα 3 χρονικά διαςτιματα δεν είχαμε κίνθςθ, από το 3 εϊσ το 20 ζχουμε φποπτθ κίνθςθ πακζτων που φτάνουν το μζγιςτο των 12 πακζτων ςτο 12 χρονικό διάςτθμα. Με το ίδιο τρόπο και με παρόμοια διαγράμματα καταγράφεται θ κίνθςθ και ςτα υπόλοιπα non used ports που καταγράφθκαν να ζχουν δεχτεί κίνθςθ πακζτων. Το ςφςτθμα διαχείριςθσ που υλοποιιςαμε κρατάει ςε αρχεία log τισ πλθροφορίεσ από τουσ κόμβουσ. Τα δεδομζνα που καταγράφει είναι: Οι τιμζσ τθσ κλίςθσ για τθν κίνθςθ των πακζτων. Τα non used ports ςτα οποία είχαμε πακζτα και οι διευκφνςεισ από τισ οποίεσ εςτάλθςαν αυτά. Τα abnormal flag sets, που εντοπίςτθκαν ςτουσ κόμβουσ Με βάςθ τισ παραπάνω πλθροφορίεσ είμαςτε ςε κζςθ να αποφαςίςουμε για το αν ζχουμε επίκεςθ και το είδοσ τθσ επίκεςθσ αυτισ. Βαςικι προχπόκεςθ για να μπορζςουμε να καταλιξουμε ςε αςφαλζσ ςυμπζραςμα είναι ςτο ςφνολο των υπό παρακολοφκθςθ κόμβων, τουλάχιςτον δφο να ζχουν τα ίδια non used ports. Για παράδειγμα, κα ζχουμε port scan επίκεςθ όταν ιςχφει ζνα από τα παρακάτω: Ζχουμε ςυνεχόμενθ ροι πακζτων ςε πολλοφσ κόμβουσ. Ζχουμε πολλά πακζτα που προζρχονται από τθν ίδια IP διεφκυνςθ Υπάρχει alert από πολλοφσ διαφορετικοφσ κόμβουσ τθν ίδια χρονικι ςτιγμι, για πακζτα ςε non used ports 74

93 6-Μονηελοποίηζη αζςνήθοςρ κςκλοθοπίαρ βαζιζμένη ζηη δομή ηυν TCP/IP πακέηυν 6.6. Αποδοτικότητα Συςτόματοσ Εδϊ κα παρακζςουμε κάποια από τα διαγράμματα που πιραμε από δοκιμαςτικζσ μετριςεισ κίνθςθσ του δικτφου, και φαίνεται θ αποδοτικότθτα τθσ μεκόδου που αναλφςαμε. Εικόνα 6-9 Διάγραμμα κανονικισ λειτουργίασ Στθν Εικόνα 6-9 βλζπουμε το διάγραμμα κανονικισ λειτουργίασ για ζνα port τθσ κίνθςθσ ενόσ server που παρακολουκοφνταν για κάποιο χρονικό διάςτθμα. Το port που επιλζχτθκε είναι το port ςτο οποίο γίνεται το secure authentication ςε Windows domain. Είναι ζνα port περιοριςμζνθσ γενικά κίνθςθσ και μικρϊν μεταβολϊν. Ραρατθρϊντασ το παραπάνω διάγραμμα εφκολα μπορεί κανείσ να υποκζςει όρια για τθν κλίςθ για το ςυγκεκριμζνο χρονικό διάςτθμα. Ζνα εφροσ π.χ. -0,1 ζωσ 0.1 κα ιταν επαρκζσ και ενδεικτικό του αν ζχουμε επίκεςθ ι όχι. 75

94 6.6-Αποδοηικόηηηα Σςζηήμαηορ Εικόνα 6-10 Διάγραμμα επίκεςθσ Η Εικόνα 6-10 αφορά ςτθν ίδια χρονικι περίοδο το διάγραμμα επόμενθσ εβδομάδασ όπου κάναμε μια εικονικι επίκεςθ ςτο ςυγκεκριμζνο port του ίδιου ςυςτιματοσ. Η επίκεςθ που κάναμε ιταν TCP Flood. Δθλαδι από ζναν ςτακμό ςτζλναμε TCP πακζτα τυχαίου μεγζκουσ ςτον ςυγκεκριμζνο υπολογιςτι. Είναι ςαφισ θ δραματικι μεταβολι του χαρακτθριςτικοφ αρικμοφ που παρακολουκοφμε, αν και τα πακζτα που ςτείλαμε ιταν μόλισ 1 κάκε 3 δευτερόλεπτα. Ζτςι γίνεται προφανζσ πωσ μόλισ κάποιοσ προςπακιςει να παραβιάςει το ςφςτθμα authentication που ζχουμε κα γίνει άμεςα αντιλθπτόσ. Βζβαια δεν είναι όλα τόςο εφκολα για όλα τα port. Σε περίπτωςθ που παρακολουκοφςαμε το port ςτο οποίο ζτρεχε κάποιοσ ftp server δε κα είχαμε ςωςτζσ πλθροφορίεσ. 76

95 6-Μονηελοποίηζη αζςνήθοςρ κςκλοθοπίαρ βαζιζμένη ζηη δομή ηυν TCP/IP πακέηυν Εικόνα 6-11 Διάγραμμα FTP Server port Στθν παραπάνω Εικόνα 6-11 βλζπουμε τθ διακφμανςθ του ςυντελεςτι μασ ςτθν κίνθςθ ενόσ port που ζτρεχε ftp server. Από τθ φφςθ του ο ftp server μπορεί να ζχει πολφ μεγάλεσ μεταβολζσ ςτθν κίνθςι του και αυτό μπορεί να προκαλζςει ζνα διάγραμμα ςαν το παραπάνω. Τα αρχικά ακρότατα είναι από μεταφορζσ που ζγιναν με το εξωτερικό ενϊ τα τελευταία που είναι και τα μεγαλφτερα οφείλονται ςε download ςε τοπικό υπολογιςτι οπότε και ο ftp server επιτυγχάνει το μζγιςτο throughput. Σε ζνα τζτοιο port φυςικά δεν μποροφμε να διακρίνουμε αν και πότε γίνεται επίκεςθ αφοφ τα πακζτα τθσ επίκεςθσ χάνονται ςε αυτά του server. Για να προλάβουμε μια πικανι επίκεςθ ςε ζναν τζτοιο server πρζπει να παρακολουκοφμε και άλλουσ εξυπθρετθτζσ κοντά ςε αυτόν που δεν τρζχουν ftp services. Ο φιλόδοξοσ ειςβολζασ το πλζον πικανό είναι να μθν γνωρίηει ποια ακριβϊσ είναι θ διεφκυνςθ του ftp server, και να «ψάξει» για αυτόν ςτο δίκτυό μασ. Ζτςι οι υπολογιςτζσ που δεν τρζχουν ftp services κα «αναφζρουν» τα φποπτα πακζτα ςτα not used ftp ports τουσ. Με αυτόν τον τρόπο αν δοφμε ζντονθ κίνθςθ ςτον ftp server τθ ςτιγμι που ζχουμε τα πακζτα αυτά ςε άλλουσ client μποροφμε να υποκζςουμε αςφαλϊσ ότι γίνεται απόπειρα επίκεςθσ ςτον ftp server μασ. 77

96 6.7-Σςμπέπαζμα 6.7. Συμπϋραςμα Αρχικά βλζποντασ κανείσ το Σ.Α.Ε. μασ κεωρεί ότι ζχει να κάνει με ζνα κλαςςικό network-based. Δϊςαμε περιςςότερεσ λειτουργίεσ όμωσ ςτουσ hosts ϊςτε και να αποφορτίςουμε τουσ management server. Οι hosts ςτζλνουν μόνο τθν υψθλοφ επιπζδου πλθροφορία που κα είναι χριςιμθ ςτουσ management server για αξιολόγθςθ. Ραράλλθλα θ ζννοια τθσ κλίςθσ που ειςάγαμε, δίνει λφςθ και αναγνωρίηει επικζςεισ που μζχρι ςιμερα ιταν αρκετά δφςκολο να ανιχνευκοφν, και εξαρτιόταν από το είδοσ τθσ επίκεςθσ αν κα αναγνωριηόταν. Το ςφςτθμά μασ χρειάηεται μεγάλο χρονικό διάςτθμα μάκθςθσ. Για να επιλεγοφν οι κατάλλθλοι ςυντελεςτζσ πρζπει το δίκτυό μασ να παρακολουκείται για μεγάλο χρονικό διάςτθμα, να καταγραφοφν τα πακζτα δικτυακισ κίνθςθσ και μετά με χριςθ του Slope Generator να εξαχκοφν τα κατάλλθλα όρια. 78

97 7-Μονηέλο Καηανεμημένος Σςζηήμαηορ Ανίσνεςζηρ Δπιθέζευν ζε Ππαγμαηικό Φπόνο 7. Μοντϋλο Κατανεμημϋνου Συςτόματοσ Ανύχνευςησ Επιθϋςεων ςε Πραγματικό Χρόνο Στα πλαίςια αυτισ τθσ εργαςίασ παρζχουμε ζνα μακθματικό μοντζλο ενόσ κατανεμθμζνου ςυςτιματοσ ανίχνευςθσ επικζςεων ςε υπολογιςτικά ςυςτιματα που δζχονται δικτυακζσ επικζςεισ προτείνοντασ τθν παρακολοφκθςθ των ιδιαίτερων χαρακτθριςτικϊν τθσ TCP/IP επικοινωνίασ υπολογιςτικϊν κόμβων (7.1), αναλφοντασ τα ιδιαίτερα χαρακτθριςτικά των πακζτων επικοινωνίασ ςε κανονικι κίνθςθ δικτφου (7.1.1) και κίνθςθ κάτω από επίκεςθ (7.1.2). Διερευνοφμε τθν υπάρχουςα ςυναφι ζρευνα (7.2) και επιλζγουμε το μοντζλο μασ και κάνουμε τισ παραδοχζσ μασ (7.3). Το προτεινόμενο μοντζλο αντιμετωπίηει επικζςεισ που ζχουν το χαρακτθριςτικό πωσ ςτθν φάςθ τθσ επίκεςθσ παράγουν ικανι δικτυακι κίνθςθ, όπωσ για παράδειγμα μια διαδικαςία ανίχνευςθσ κυρϊν (port scanning), ι θ διάδοςθ ενόσ δικτυακοφ ςκουλθκιοφ (internet worm). Αυτοφ του είδουσ οι επικζςεισ μποροφν να χαρακτθριςτοφν από ριπζσ ανίχνευςθσ. Επίςθσ ορίηουμε τισ ιδιότθτεσ που κα ζχουν τοπικοί ανιχνευτζσ που επιτρζπουν τθν δθμιουργία ενόσ κεντρικοφ ςυςτιματοσ ανίχνευςθσ επικζςεων με εξαιρετικά ταχεία απόκριςθ (πραγματικοφ χρόνου). Αυτό ςυνιςτά μια προςζγγιςθ με ζνα κατανεμθμζνο ςφςτθμα δφο επιπζδων: Χριςθ τοπικϊν ανιχνευτϊν/αιςκθτιρων εγκατεςτθμζνων ςε τοπικά υ- πολογιςτικά ςυςτιματα που κα ανιχνεφουν γενικά ανϊμαλθ κίνθςθ και ςυνδυαςτικά κα ενιςχφουν τθσ τθν πικανότθτα ανίχνευςθσ επίκεςθσ Δθμιουργία ενόσ κεντρικοφ ςυςτιματοσ ανίχνευςθσ που κα μειϊνει τθν πικανότθτα λάκουσ απόφαςθσ ςτο μθδζν, με εκκετικι ταχφτθτα ανάλογα με τον αρικμό των ταυτόχρονων από διαφορετικοφσ ανιχνευτζσ αναφορϊν ικανό να ςυνδυάςει κατάλλθλα τοπικζσ και πικανά ελλιπείσ πλθροφορίεσ ϊςτε να αποφαςίςει για τθν περίπτωςθ δικτυακισ επίκεςθσ δίνοντασ και τθν τιμι βεβαιότθτασ για αυτό. Το μοντζλο αυτό βελτιςτοποιεί τθν προθγοφμενθ προςζγγιςθ του ςυςτιματοσ που περιγράψαμε παραπάνω. Το ςυνολικό ςφςτθμα τείνει να μειϊςει τθν πικανότθτα λάκουσ ςτο μθδζν με εκκετικι ταχφτθτα ςε ςυνάρτθςθ του αρικμοφ των ταυτόχρονων κατανεμθμζνων αναφορϊν από τουσ τοπικοφσ ανιχνευτζσ με μοναδικι απαίτθςθ μόνο μικρό τμιμα αυτϊν των αναφορϊν να ανταποκρίνεται ςτθν πραγματικι κατάςταςθ επίκεςθσ (π.χ. επίκεςθ ι μθ επίκεςθ) (7.4). Κατόπιν αναλφουμε και α- ποδεικνφουμε τθν δθμιουργία ενόσ ταχφτατα αντιδρϊντοσ Κριτι για τθν λιψθ απόφαςθσ επίκεςθ/μθ-επίκεςθ (7.5) και εξετάηουμε τθν ανεκτικότθτα του προτεινόμενου μοντζλου ςε λάκθ (7.6). Επίςθσ παρζχουμε μια μεκοδολογία για τθν δθμιουρ- 79

98 7.1-Ανάλςζη γία ςυνεπϊν τοπικϊν αιςκθτιρων (7.7) οι οποίοι επαλθκεφονται ςτθν πράξθ με πραγματικά δεδομζνα δικτυακισ κίνθςθσ (7.8). Τα κεωρθτικά μοντζλα που περιγράφουμε ζχουν υλοποιθκεί ςε ζνα πραγματικό κατανεμθμζνο ςφςτθμα ανίχνευςθσ δικτυακϊν επικζςεων που βρίςκεται ςε λειτουργία με τθ χρθματοδότθςθ τθσ Γ.Γ.Ε.Τ. ςτα πλαίςια του Ρρογράμματοσ των Ρόλων Καινοτομίασ Δυτικισ Ελλάδασ και δίνουμε τα ςυμπεράςματά μασ και τισ προοπτικζσ επζκταςθσ και βελτίωςθσ του ςυςτιματοσ (7.9) Ανϊλυςη Οι περιςςότερεσ δικτυακζσ επικζςεισ ξεκινοφν, όπωσ περιγράψαμε, με ανίχνευςθ ενεργϊν κόμβων και ανταποκρινόμενων κυρϊν (IP address and Ports probing), για να προςδιοριςτοφν τρωτά ςυςτιματα και υπθρεςίεσ. Μία μεγάλθ δυςκολία ςτθν δθμιουργία ενόσ αποδοτικοφ δικτυακοφ ςυςτιματοσ ανίχνευςθσ επικζςεων (Network Intrusion Detection System-NIDS) είναι ο ελλιπισ και αςαφισ ποιοτικόσ προςδιοριςμόσ των χαρακτθριςτικϊν τθσ επίκεςθσ και τθσ ανίχνευςθσ μιασ επίκεςθσ. Εξάλλου οι επιτικζμενοι χρθςιμοποιοφν μία πλειάδα μεκόδων και διαδικαςιϊν που οδθγοφν ςε λάκθ ςυςτιματα που βαςίηονται ςε Τεχνθτι Νοθμοςφνθ και μακαίνουν ςυμπεριφορά επίκεςθσ. Επίςθσ θ εξαντλθτικι παρακολοφκθςθ των καταγραφϊν των ςυςτθμάτων (system logs) είναι αδφνατθ και γίνεται μόνο για τθν τεκμθρίωςθ μίασ επίκεςθσ μετά όμωσ από τθν ανίχνευςι τθσ και τθν όποια ηθμιά ζκανε. Χωρίσ να υποτιμοφμε τθν αξία των ςυςτθμάτων που ςτθρίηονται ςε αποτυπϊματα επικζςεων (attack signatures), πιςτεφουμε πωσ πρζπει να πλαιςιωκοφν με ςυςτιματα που μποροφν να ανιχνεφςουν νζεσ επικζςεισ. Το ςφςτθμα που προτείνουμε παρακολουκεί αςυνικεισ ακολουκίεσ παραμζτρων του TCP/IP πρωτοκόλλου, ςτθν αρχικι φάςθ τθσ εγκακίδρυςθσ επικοινωνίασ. Στθν εργαςία μασ μοντελοποιοφμε και αποδεικνφουμε πωσ υπάρχουν τα κατάλλθλα χαρακτθριςτικά για τθν δθμιουργία ςυςτθμάτων ανίχνευςθσ που κα βαςίηονται ςε μια απλι παρατιρθςθ: πωσ όλεσ οι επικζςεισ εξελίςςονται ςε 7 ςτάδια γνωςτά και ωσ 7p: Probe ςτθν διάρκεια του οποίο ο επιτικζμενοσ ( είτε αυτό είναι πρόγραμμα ι άνκρωποσ ) ψάχνει το ςφςτθμά μασ για ευάλωτα ςθμεία (π.χ. ανοιχτά ports) Penetrate δθλαδι το ςτάδιο κατά το οποίο ο επιτικζμενοσ αφοφ βρικε το ευάλωτο ςθμείο ειςζρχεται ςτο ςφςτθμά μασ Poison που ο επιτικζμενοσ μολφνει το ςφςτθμά μασ με δικό του λογιςμικό 80

99 7-Μονηέλο Καηανεμημένος Σςζηήμαηορ Ανίσνεςζηρ Δπιθέζευν ζε Ππαγμαηικό Φπόνο Persist θ φάςθ κατά τθν οποία ο επιτικζμενοσ περιμζνει τθν κατάλλθλθ ςυνκικθ για να ενεργοποιθκεί το λογιςμικό που εγκατζςτθςε (π.χ. επανεκκίνθςθ υπολογιςτι) Propagate. Στο ςτάδιο αυτό θ επίκεςθ κατευκφνεται και ςε άλλα μζρθ του ςυςτιματοσ ( π.χ. θ επικζςεισ που γίνονται από worms προςπακοφν να μπουν και ςε άλλα μθχανιματα ) Possess. Σε αυτι τθν φάςθ ο επιτικζμενοσ αποκτά τον πλιρθ ζλεγχο του ςυςτιματοσ Paralyze. Τζλοσ θ επίκεςθ τελειϊνει αφοφ ςταματιςει τθν ορκι λειτουργία του ςυςτιματοσ. Από τα παραπάνω καταλαβαίνουμε ότι για να γίνει επιτυχϊσ μία επίκεςθ κα πρζπει να βρεκεί ζνασ κατάλλθλοσ πρϊτοσ ςτόχοσ: μία τρωτι υπθρεςία, κάποιο ςφάλμα ςτον κϊδικα εφαρμογισ, κάποιο ανοιχτι τρωτι κφρα (port) κλπ. Για να βρεκεί ο πρϊτοσ ςτόχοσ απαιτείται θ φάςθ τθσ ανίχνευςθσ (probe). Για να μπορζςουμε να μοντελοποιιςουμε αυτό το χαρακτθριςτικό επιλζξαμε να μετριςουμε τθν αναλογία των πακζτων κάκε πρωτοκόλλου μζςα ςε ζνα δείγμα και να παρατθριςουμε πωσ μεταβάλλεται θ αναλογία αυτι ςε περίπτωςθ επίκεςθσ. Χωρίηουμε τα πακζτα ςε τρείσ κατθγορίεσ: ACK: περιλαμβάνει τα TCP πακζτα ACK και PUSH. ΝΟΝ-ACK: περιλαμβάνει τα TCP πακζτα SYN, FIN και RESET. ΝΟΝ-TCP: περιλαμβάνει τα πακζτα από πρωτόκολλο διάφορο του TCP. Το μεγαλφτερο μζροσ τθσ κίνθςθσ προζρχεται από πακζτα ACK. Ζχουμε δθλαδι ε- γκακιδρφςει τισ ςυνδζςεισ μασ με το 3-way handshake και με τα ACK πακζτα ςυνεχίηουμε τισ ςυναλλαγζσ μασ. Τα NON-ACK είναι πολφ λιγότερα ςε αρικμό αφοφ χρθςιμοποιοφνται για να ξεκινιςουμε και να τελειϊςουμε τισ ςυνδζςεισ μασ. Η αφξθςθ του πλικουσ των NON-ACK πακζτων ςθμαίνει ότι δεχόμαςτε πολλζσ κλιςεισ για δθμιουργία νζων ςυνδζςεων, ςυμπεριφορά που γενικότερα είναι φποπτθ. Η κατθγορία των NON-TCP πακζτων δθμιουργικθκε για να περιλαμβάνει όλα τα άλλα πακζτα και δεν κα μασ απαςχολιςει προσ το παρόν. Από το ςφνολο των πακζτων που ςυναποτελοφν τθ κίνθςθ δικτφου παρακολουκοφμε τθν κατθγορία των NON-ACK πακζτων κακϊσ ςε περίπτωςθ επίκεςθσ θ ςυχνότθτα εμφάνιςισ του αυξάνεται αρκετά. Επειδι τα πακζτα του TCP πρωτόκολλου παρουςιάηουν μια ςυμμετρία ειςερχόμενων-εξερχόμενων παρακολουκοφμε μόνα τα ειςερχόμενα πακζτα και όχι τα εξερχόμενα. Για παράδειγμα όταν κάποιοσ κάνει μια αίτθςθ για ςφνδεςθ με ζνα SYN πακζτο τότε απαντάται επίςθσ με ζνα SYN. Επίςθσ κατά τθ διάρκεια τθσ ςφνδεςθσ ο λόγοσ του πλικουσ των ACK που λαμβάνουμε προσ αυτϊν που ςτζλνουμε είναι ςχεδόν ίςοσ με ζνα, ζτςι δεν ζχουμε κάτι παραπά- 81

100 7.1-Ανάλςζη νω να κερδίςουμε με το να περιλαμβάνουμε ςτισ μετριςεισ μασ και τα εξερχόμενα πακζτα ενϊ χάνουμε αρκετά ςε υπολογιςτικι ιςχφ Κατανομό NON-ACK για κανονικό κύνηςη Η κατανομι των NON-ACK πακζτων για τθν περίπτωςθ κανονικισ κίνθςθσ προςδιορίςτθκε μζςα από πειραματικά δεδομζνα καταγραφισ τθσ κίνθςθσ του δικτφου ςε υπολογιςτζσ, μζλθ ενόσ μεγάλου δικτφου. Η καταγραφι αυτι ζγινε για περίπου δφο εβδομάδεσ ςτισ οποίεσ οι χριςτεσ είχαν τισ τυπικζσ τουσ ςυναλλαγζσ με το δίκτυο. Τα αποτελζςματα που προζκυψαν από το πείραμα αυτό, αντιπροςωπεφουν καλά τθν πραγματικότθτα κακϊσ ιταν πολφ κοντά ςε αυτά που κεωρθτικά αναμζναμε. Κατά τθ διάρκεια των μετριςεων δεν είχαμε καμία επίκεςθ πράγμα που βζβαια δεν πιςτεφουμε ότι κα επθρζαηε ςθμαντικά γιατί κα χανόταν μζςα ςτον μεγάλο όγκο δεδομζνων που ςυςςωρεφςαμε. Για τον υπολογιςμό τθσ κατανομισ χωρίςαμε τα πακζτα που ζφκαναν ςτο ςφςτθμά μασ ςε «παράκυρα» μικουσ 100 πακζτων. Μετά τθ ςυμπλιρωςθ κάκε παρακφρου υπολογίηαμε τθν αναλογία των NON-ACK πακζτων προσ τον ςυνολικό αρικμό των πακζτων, δθλαδι #ΝΟΝ-ACK/100. Αφοφ μετριςαμε ζνα ςεβαςτό αρικμό παρακφρων, χωρίςαμε το διάςτθμα *0,1+ ςε 20 υποδιαςτιματα μικουσ 0.05 και για κάκε διάςτθμα μετριςαμε το πλικοσ των παρακφρων ςτα οποία θ αναλογία ΝΟΝ-ACK προσ ςφνολο βριςκόταν μζςα ςε αυτό το υποδιάςτθμα και αντιςτοιχιςαμε ςτο υ- ποδιάςτθμα αυτό τθν τιμι τθσ αναλογίασ του πλικουσ των παρακφρων που μετριςαμε προσ το ςυνολικό πλικοσ των παρακφρων. Με τον τρόπο αυτό πιραμε μία ςυνάρτθςθ κατανομισ από *0 -> 1+.Τζλοσ προζκυψε θ παρακάτω κατανομι για τα NON-ACK πακζτα. 82

101 7-Μονηέλο Καηανεμημένος Σςζηήμαηορ Ανίσνεςζηρ Δπιθέζευν ζε Ππαγμαηικό Φπόνο Εικόνα 7-1 Κατανομι των NON-ACK πακζτων για κανονικι κίνθςθ. Με μια πρϊτθ ματιά μποροφμε να ποφμε ότι από τθν κατανομι φαίνεται ξεκάκαρα ότι το πλικοσ των NON-ACK ςε κανονικι κίνθςθ είναι μικρό. Αν κελιςουμε να τθν μεταφράςουμε ςε πιο κατανοθτά νοφμερα κα λζγαμε ότι ςτο 50% των παρακφρων που καταγράψαμε, ςτα 100 πακζτα τα NON-ACK ιταν λιγότερα από 20, ενϊ όπωσ επίςθσ φαίνεται μόνο για ζνα 10% των περιπτϊςεων τα ΝΟΝ-ACK ξεπερνοφςαν τα 65 πακζτα ςτα Κατανομό NON-ACK για επύθεςη Αντίκετα με τθν κατανομι πακζτων NON-ACK για τθν κανονικι κίνθςθ δικτφου που υπολογίςτθκε ςχετικά εφκολα, θ αντίςτοιχθ κατανομι για τθν περίπτωςθ επίκεςθσ ιταν αρκετά πιο δφςκολθ ςτον υπολογιςμό τθσ. Το κυριότερο πρόβλθμα είναι το να ορίςουμε πιο αυςτθρά ςε τι αναφερόμαςτε όταν μιλάμε για επίκεςθ. Από τα προθγοφμενα προκφπτει πωσ υπάρχουν κοινά χαρακτθριςτικά. Ππωσ ζχουμε πει όλεσ οι επικζςεισ ςτο πρϊτο τουσ ςτάδιο ξεκινοφν με τθν αναγνϊριςθ του ςτόχου. Η αναγνϊριςθ αυτι γίνεται ςυνικωσ με τθ χριςθ port-scanners κακϊσ και άλλων πιο ςφνκετων vulnerability scanners. Μετά το ςτάδιο τθσ αναγνϊριςθσ ο επιτικζμενοσ ζχει αποκομίςει αρκετά χριςιμα ςτοιχεία για το ςφςτθμά μασ όπωσ το λειτουργικό μασ ςφςτθμα, ανοιχτζσ κφρεσ ακόμθ και ζκδοςθ των εφαρμογϊν που τρζχει ςε κάκε κφρα. Από το ςθμείο αυτό και πζρα ζχει τθ δυνατότθτα να προςπακιςει να εκμεταλλευτεί γνωςτά κενά αςφάλειασ των εφαρμογϊν που τρζχουν ςε κάκε κφρα και να αποκτιςει τελικά ακόμθ και πρόςβαςθ ςτο ςφςτθμά μασ. Αφοφ πειραματιςτικαμε με τθ χριςθ του διάςθμου port-scanner NMAP κακϊσ και 83

102 7.1-Ανάλςζη του vulnerability scanner NESSUS για ευπάκειεσ, προςπακιςαμε να δθμιουργιςουμε όςο πιο ρεαλιςτικζσ ςυνκικεσ γίνεται αναμειγνφοντασ τθν επίκεςθ με πραγματικι κίνθςθ. Τζλοσ εφαρμόςαμε μια διαδικαςία καταςκευισ τθσ κατανομισ παρόμοια με αυτι που εφαρμόςαμε και προθγουμζνωσ. Εικόνα 7-2 Κατανομι NON-ACK πακζτων ςε περίπτωςθ επίκεςθσ. Και ςε αυτι τθν περίπτωςθ το αποτζλεςμα ιταν αναμενόμενο κακϊσ όπωσ βλζπουμε ςε περίπτωςθ επίκεςθσ θ αναλογία των NON-ACK πακζτων προσ το ςφνολο είναι μεγάλθ και ςε 70% των περιπτϊςεων επίκεςθσ τα NON-ACK πακζτα ξεπερνοφν τα 65 ςτα 100, όπωσ περιμζναμε από τθ κεωρθτικι ανάλυςθ. 84

103 7-Μονηέλο Καηανεμημένος Σςζηήμαηορ Ανίσνεςζηρ Δπιθέζευν ζε Ππαγμαηικό Φπόνο 7.2. Συναφόσ ϋρευνα Εξαιτίασ τθσ προφανοφσ πρακτικισ ςθμαςίασ, το κζμα τθσ Ανίχνευςθσ Επικζςεων ζχει εξαιρετικό ενδιαφζρον τόςο ερευνθτικό, όςο και εμπορικό. Η περιςςότερθ ζ- ρευνα αφορά ςτθν ςυλλογι και ανάλυςθ δικτυακισ κίνθςθσ με επικζςεισ και προςδιοριςμό κανόνων και μεκοδολογιϊν για ανίχνευςθ επικζςεων[50],[51],[52], [3], [53]. Αυτά τα ςυςτιματα παρακολουκοφν τθν ακολουκία ενεργειϊν με προκακοριςμζνο επιτρεπτό τρόπο λειτουργίασ ϊςτε να διαπιςτϊνουν αν υπάρχει απόκλιςθ από τουσ κανόνεσ. Αν κάποια IP διεφκυνςθ παραβιάηουν τουσ κανόνεσ τότε αποκλείεται από τθν περαιτζρω επικοινωνία ςτο δίκτυο[54], [18], [55]. Οι κανόνεσ ορίηονται με διαφορετικά χαρακτθριςτικά όπωσ διεφκυνςθ αποςτολζα, διεφκυνςθ παραλιπτθ, κφρα επικοινωνίασ, flags, όρια κίνθςθσ, κ.ά. Ζνα μεγάλο πρόβλθμα ςε πολλά ςυςτιματα είναι πωσ ο οριςμόσ των κανόνων είναι μια δφςκολθ και λεπτι διεργαςία και εμπεριζχει ψεφτικοφσ ςυναγερμοφσ (false positive alarm) και χαμζνεσ επικζςεισ (missed detection)[56], [57]. Αρκετι ζρευνα επικεντρϊνεται ςτθν ανάλυςθ των ακολουκιϊν κυκλοφορίασ κάνοντασ χριςθ τεχνικϊν Data Mining για τθν περιγραφι μοντζλων ανίχνευςθσ ανωμαλιϊν[56], [58],[52], [59], [60], [61], [62], [63]. Σε μια πρόςφατθ δθμοςίευςθ [64] θ προςζγγιςθ με δοκιμι διαδοχικισ υπόκεςθσ (Sequential Hypothesis Testing) ζδωςε βελτίωςθ τθσ απόδοςθσ ςτθν παρακολοφκθςθ IP διευκφνςεων αποςτολζων ςε περιπτϊςεισ που υπιρχαν ατελείσ ςυνδζςεισ που υπζκεταν φποπτθ κίνθςθ. Τζλοσ θ πικανοτικι προςζγγιςθ [65] με κατανομζσ Bernoulli και κεντρικό ςφςτθμα λιψθσ αποφάςεων κακϊσ επίςθσ και με πικανοτικζσ μεκόδουσ [57] και τουσ επιτικζμενουσ να ζχουν μοντελοποιθκεί ςαν ζνα δυναμικά εξελίξιμο ςφςτθμα αντιμετωπίηουν με επιτυχία εξίςου τθν φυςιολογικι, όςο και τθν ανϊμαλθ κίνθςθ Μοντϋλο και οριςμού Το μοντζλο μασ εφαρμόηεται ςε ζνα ανοιχτό δίκτυο υπολογιςτϊν που τα ειςερχόμενα πακζτα μεταφζρουν πλθροφορία που προορίηονται για τουσ κόμβουσ του δικτφου (PC hosts, servers, κλπ). Κάκε ειςερχόμενο πακζτο ζχει χαρακτθριςτικά (attributes) που το προςδιορίηουν. Στθν περίπτωςι μασ εξετάηουμε τα χαρακτθριςτικά του TCP/IP πρωτοκόλλου όπωσ time stamp, source IP address, destination IP address, destination port, flag, size, duration, time-to-live, source port, κλπ. Τα ςυμβάντα ςτο δίκτυο που εξετάηουμε είναι ειςερχόμενα πακζτα λογιηόμενα ωσ διανφςματα από attributes. 85

104 7.3-Μονηέλο και οπιζμοί Η κυκλοφορία ςτο δίκτυο είναι μια χρονικι ακολουκία τζτοιων ςυμβάντων X(1), X(2),, X(t),... και το ςφνολο των πικανϊν ακολουκιϊν ςυμβάντων ςυνιςτά τον χϊρο καταςτάςεων. Ο Χρόνοσ Τ = Τ(Ν) είναι ςυνάρτθςθ του πλικουσ των ςυμβάντων. Στθν παρατθροφμενθ ακολουκία ςυμβάντων ςε ζνα δίκτυο επιλζγουμε αυτζσ από τισ ιδιότθτεσ που αναφζραμε που περιζχουν εγγενι χαρακτθριςτικά και δίνουν κάποια πλθροφορία ςχετικά με τθν παρουςία ι όχι μιασ επίκεςθσ. Μια «ιδιότθτα» G είναι μια πρόταςθ (ι ςφνολο προτάςεων) που ορίηεται ςτο πεδίο των attributes των ςυμβάντων. Ρ.χ. G: { destination port ανικει ςτα Used ), { flag = ACK} { attribute 1 =a1 OR ( attribute 2 =a2 AND attribute 3 =a3} Ασ κεωριςουμε λοιπόν το ανοιχτό δίκτυο υπολογιςτϊν ωσ ζναν μθ κατευκυνόμενο γράφο G=(V,E) όπου V(G) το ςφνολο των κορυφϊν που αντιςτοιχοφν ςε υπολογιςτζσ του δικτφου και E(G) οι ακμζσ που είναι διπλισ κατεφκυνςθσ ςυνδζςεισ μεταξφ τουσ. Αν το u είναι μία κορυφι ορίηουμε ωσ εκκεντρότθτα ( essentricity ) του u τθν μεγαλφτερθ απόςταςθ του u από οποιαδιποτε κορυφι του γράφου e(u)=max{d(u,w) : w V(G)} όπου d(u,w) θ απόςταςθ των u και w. Ορίηουμε ωσ ακτίνα του (radious) του G τθν μικρότερθ εκκεντρότθτα μεταξφ όλων των κορυφϊν του γράφου r(g)=min{e(u):u ϵ V(G)} Η διάμετροσ του G που ςυμβολίηεται ωσ d(g) είναι θ μεγαλφτερθ εκκεντρότθτα μεταξφ των κορυφϊν του γράφου d(g)=max{e(u):u V(G)} Κζντρο (center) του G είναι το ςφνολο των κορυφϊν με εκκεντρότθτα ίςθ με r(g) Η εκκεντρότθτα μασ βοθκάει να καταλάβουμε που πρζπει να τοποκετθκοφν οι τοπικοί ανιχνευτζσ (Agents) και ο Κεντρικόσ ανιχνευτισ/κριτισ (Juror). Οι Agents τοποκετοφνται ςτουσ υπολογιςτζσ με τθν μεγαλφτερθ εκκεντρικότθτα ενϊ ο Juror ςε ζναν υπολογιςτι που ανικει ςτο κζντρο του γράφου. Ππωσ κα δοφμε και καλφτερα ςτο παράδειγμα παρακάτω αυτό διαςφαλίηει ότι οι Agents κα μποφνε ςτουσ υπολογιςτζσ που ζχουν μεγαλφτερθ πικανότθτα να είναι «κφματα» επίκεςθσ ενϊ ο Ju- 86

105 7-Μονηέλο Καηανεμημένος Σςζηήμαηορ Ανίσνεςζηρ Δπιθέζευν ζε Ππαγμαηικό Φπόνο ror κα μπει ςε υπολογιςτι που ανικει ςε ζνα πιο αςφαλζσ επίπεδο ( Trusted Level ). Εικόνα 7-3 Διαςφνδεςθ υπολογιςτών Στθν παραπάνω Εικόνα 7-3 βλζπουμε τθν διαςφνδεςθ ςε ζνα δίκτυο υπολογιςτϊν. Ακολουκϊντασ τθν παραπάνω λογικι προκφπτει ότι οι υπολογιςτζσ με τθν μεγαλφτερθ εκκεντρικότθτα είναι οι 1, 11, 14, 6 ακολουκοφν οι 2, 12, 15 κλπ. Σε αυτοφσ του υπολογιςτζσ λοιπόν τοποκετοφμε και τουσ Agents. Αν κρίνουμε ότι οι πρϊτοι 4 δεν είναι αρκετοί ϊςτε να ζχουμε πλιρθ εικόνα για το ςφςτθμα τότε προχωράμε ςτουσ επόμενουσ. Τϊρα κα πρζπει να βροφμε ποιοσ/οι υπολογιςτζσ ανικουν ςτο κζντρο του γράφου. Ραρατθρϊντασ και πάλι το ςχιμα βλζπουμε ότι ο 9 είναι ο γράφοσ με τθν μικρότερθ εκκεντρικότθτα. Ασ ςκεφτοφμε λίγο πρακτικά τον λόγο που ο 9 μασ ςυμφζρει. Αρχικά όλα τα δεδομζνα από τουσ Agents κα πρζπει να φτάςουν ςτον Juror. Για να φτάςουν κα πρζπει να περάςουν από όλα τα ςυςτιματα ςτθν διαδρομι με αποτζλεςμα όςο λιγότερα είναι αυτά, τόςο λιγότερθ ανάγκθ ζχουμε ςε πόρουσ. Ακόμα βλζπουμε ότι με τον τρόπο αυτό διαςφαλίηουμε τθν ανάγκθ που υπάρχει να βρίςκεται ο Juror ςε ζνα πιο αςφαλζσ επίπεδο. Οριςμόσ 1. Ζνα ανοιχτό ςφςτθμα Σ ορίηεται ωσ γράφοσ G(V,E). Ζςτω V F ζνα ςφνολο ακμϊν ςτο G με τθ μζγιςτθ εκκεντρότθτα. Οι κόμβοι v VF καλοφνται κφρεσ τουσ. Υποκζτουμε μια γενικι διακριτι χρονικι ακολουκία t = 0,1,2, πικανά άγνωςτο ςτο Σ. Η χρονικι ακολουκία μπορεί να επιλεγεί να αναπαριςτά τθν άφιξθ γεγονότων ςτισ κφρεσ του ςυςτιματοσ. 87

106 7.3-Μονηέλο και οπιζμοί Οριςμόσ 2. Δεδομζνθσ τθσ κορυφισ v V F, ζνα ειςερχόμενο γεγονόσ προσ τθν v είναι μία ακολουκία πλθροφοριακϊν δεδομζνων X 0 (v),x 1 (v),,xt (v), όπου X t (v) δθλϊνει το πλθροφοριακό γεγονόσ που φτάνει ςτο v ζξω από το ςφςτθμα Σ τθ χρονικι ςτιγμι t. Ωσ γεγονότα κεωροφμε εδϊ τα ειςερχόμενα πακζτα από α- ποςτολείσ εξωτερικοφσ του ςυςτιματοσ. Ωσ επακόλουκο, κεωροφμε πωσ κάκε κφρα v του Σ είναι εφοδιαςμζνθ με ζνα τοπικό μθχανιςμό (ςυνικωσ ζνα τμιμα λογιςμικοφ) που είναι ικανό να παρακολουκεί Δ ςυνεχόμενα ειςερχόμενα γεγονότα ςτο v και αποφαςίηει για πικανι γενικι επίκεςθ ςτο ανοιχτό ςφςτθμα με κάποια εμπιςτοςφνθ. Οριςμόσ 3. Ζνασ τοπικόσ ανιχνευτισ (Agent) W (v) (για v VF του Σ) του παράκυρου Δ είναι μια διαδικαςία απόφαςθσ που, με δεδομζνθ μία υποακολουκία S ={ Xt 0 (v), Xt 0 +1(v),, Xt 0 +Γ-1(v) ηυν Δ ειςερχόμενων γεγονότων ςτο v, ζχει αποτζλεςμα z (W)=1 (για επίκεςθ) ι z (W)=0 (μία ςυνικθ ειςερχόμενθ ροι γεγονότων), μαηί με δφο παραμζτρουσ p (W,S), q (W,S) που ορίηονται ωσ ακολοφκωσ: - p (W,S)= θ πικανότθτα να λθφκεί απόφαςθ «επίκεςθσ», δεδομζνου πωσ πράγματι ζχουμε επίκεςθ - q (W,S)= θ πικανότθτα να λθφκεί απόφαςθ «μθ επίκεςθσ», δεδομζνου πωσ πράγματι δεν ζχουμε επίκεςθ. Οριςμόσ 4. Μία τοπικι αναφορά ενόσ τοπικοφ ανιχνευτι W (v) με v VF είναι μία τριάδα (z, p, q ) όπου z {0,1} είναι θ απόφαςθ για επίκεςθ (ι μθ επίκεςθ) ςε ςχζςθ με τθν υποακολουκία ειςερχόμενων γεγονότων S, και p, q είναι αντίςτοιχα τα p(w,s) και q(w,s). 88

107 7-Μονηέλο Καηανεμημένος Σςζηήμαηορ Ανίσνεςζηρ Δπιθέζευν ζε Ππαγμαηικό Φπόνο Οριςμόσ 5. Ζνασ τοπικόσ ανιχνευτισ W (v) είναι ςυνεπισ αν S ιςχφει: - Prob {z = 1/επίθεση}=p (W,S) - Prob {z = 0 /μθ επίθεση}=q(w,s) - p, q 1/2 Οριςμόσ 6. Μία τοπικι αναφορά (z, p, q ) ενόσ τοπικοφ ανιχνευτι είναι άχρθςτθ ι εςφαλμζνθ αν οι αλθκείσ πικανότθτεσ Prob(z = 1) = Prob(z = 0) = 1/2 (ανεξάρτθτα από τα αναφερόμενα p, q ).. Μία άχρθςτθ αναφορά δεν παρζχει πλθροφορία και κεωρείται ότι είναι δυςδιάκριτθ ςε κάκε μία αναφορά (κακϊσ αν γνωρίηουμε τισ άχρθςτεσ αναφορζσ τότε απλά μποροφμε να τισ αγνοιςουμε ) που ςυμβαίνουν μόνο με κάποια πικανότθτα 1 f ςτθν ακολουκία των αναφορϊν. Υποκζτουμε τϊρα ότι το x T είναι μία γενικευμζνθ δυςδιάκριτθ μεταβλθτι του Σ ζτςι ϊςτε x T = 1 ςθμαίνει πωσ το Σ βρίςκεται κάτω από γενικευμζνθ επίκεςθ (ςε κάποιο χρονικό διάςτθμα T) και x T = 0 ςθμαίνει πωσ το Σ δεν βρίςκεται κάτω από επίκεςθ ςε αυτό το χρονικό διάςτθμα. Οριςμόσ 7. Ζνα ςφνολο S n (T) από n τοπικζσ αναφορζσ (z 1, p 1, q 1 )...(z n, p n, q n ) που ςχετίηονται ςε υποακολουκίεσ από ειςερχόμενα γεγονότα S 1, S 2,, S n ςτα ίδια χρονικά διαςτιματα T είναι ζνα ανεξάρτθτο ςφνολο αν: Prob{z 1,,z n /x T } = n i 1 Prob( z / x ) i T Στο μοντζλο μασ υποκζτουμε πωσ οι τοπικοί ανιχνευτζσ που βρίςκονται ςτισ κφρεσ του Σ παράγουν ζνα ανεξάρτθτο ςφνολο S n από n τοπικζσ αναφορζσ (για ζνα δεδομζνο γενικό χρονικό διάςτθμα Τ). Υποκζτουμε πωσ αυτζσ οι τοπικζσ αναφορζσ ςτζλνονται με ζνα ομοιόμορφο τρόπο προσ ζνα ςυγκεκριμζνο εςωτερικό κόμβο J του Σ που ανικει ςτο κζντρο του δικτυακοφ γράφου και είναι εφοδιαςμζνοσ με ζνα γενικό μθχανιςμό λιψθσ αποφάςεων που το ονομάηουμε Κριτι (Juror- J). 89

108 7.4-Τα αποηελέζμαηα Οριςμόσ 8. Ζνασ Juror J του Σ είναι μία διεργαςία λιψθσ αποφάςεων που βρίςκεται ςε ζνα κόμβο που ανικει ςτο κζντρο του Σκαι ςυνδζεται (μζςω ενόσ μονοπατιοφ) με όλεσ τθσ κφρεσ του Σ. Πταν ζνα ανεξάρτθτο ςφνολο S n (T) τοπικϊν αναφορϊν φτάνει ςτο J, τότε το J παράγει ζξοδο y (S n (T))=1 (απόφαςθ επίκεςθσ) ι y (S n (T))=0 (απόφαςθ μθ επίκεςθσ) και δφο πικανότθτεσ p J,q J (0,1) ζτςι ϊςτε: Prob{y =1/x T =1} = p J Prob{y = 0/x T = 0} =q J Η ποιότθτα ενόσ μθχανιςμοφ Juror μπορεί να μετρθκεί από τον αρικμό των ανεξάρτθτων τοπικϊν αναφορϊν που απαιτοφνται για μια αςφαλι γενικι απόφαςθ. Οριςμόσ 9. Ζςτω ζνασ μθχανιςμόσ Juror και S n (T) ζνα ανεξάρτθτο ςφνολο από τοπικζσ αναφορζσ (ςτο ίδιο γενικό χρονικό διάςτθμα T ) που τροφοδοτείται ςτο J. Υποκζτουμε ότι κζλουμε p J,q J να είναι τουλάχιςτον 1 1 T, για κάποιο ςτακερό α>1. Ζςτω n(t) να είναι ο μικρότεροσ αρικμόσ ανεξάρτθτων ςυνεπϊν αναφορϊν για αυτό. Καλοφμε n(t) τθν αποδοτικότθτα του J ςε ςχζςθ με το T. Οριςμόσ 10. Ζνασ Juror J ανταποκρίνεται γριγορα όταν το n(t) είναι λογαρικμικι ςυνάρτθςθ του T π.χ. όταν n(t)=o(logt) 7.4. Τα αποτελϋςματα Το κφριο αποτζλεςμα τθσ εργαςίασ είναι θ εφκολθ υλοποίθςθ ενόσ ταχζωσ αποκρινόμενου Κριτι (Juror). Εφαρμόηουμε το προτεινόμενο μοντζλο κατανεμθμζνθσ ανίχνευςθσ επικζςεων με ςκοπό τθν δθμιουργία ενόσ γριγορου και ανεξάρτθτου ςυςτιματοσ ανίχνευςθσ επικζςεων ςε ανοικτά δίκτυα που επιτρζπεται να λαμβάνουν ροζσ δικτυακϊν δεδομζνων ςτισ κφρεσ (ports) τουσ. Για παράδειγμα, κεωρϊντασ ζνα ανεξάρτθτο ςφνολο από τοπικζσ αναφορζσ S 6 ( T ) = 1,0.6,0.6, 1,0.6,0.6, 1,0.5,0.5, 1,0.7,0.7, 1,0.7,0.55, 1,0.55,0.6 90

109 7-Μονηέλο Καηανεμημένος Σςζηήμαηορ Ανίσνεςζηρ Δπιθέζευν ζε Ππαγμαηικό Φπόνο Το ςφςτθμά μασ είναι ικανό να εκτιμιςει αν υπάρχει επίκεςθ ακόμα και από ζνα μικρό ςφνολο αναφορϊν όπωσ το παραπάνω. Δεδομζνου του εξαιρετικά μεγάλου αρικμοφ από ειςερχόμενα γεγονότα ςε πραγματικά υποδίκτυα του διαδικτφου, θ κατανεμθμζνθ μασ μζκοδο είναι ςτθν πραγματικότθτα μία μζκοδοσ που προςεγγίηει το ιδανικό πραγματικοφ χρόνου γενικό ςφςτθμα ανίχνευςθσ επικζςεων, ενϊ παράλλθλα είναι άμεςο ςε υλοποίθςθ Το ςύςτημα και η ανϊλυςη ενόσ ταχύτατα αντιδρώντοσ Κριτό (Juror) Ασ κεωριςουμε λοιπόν (z i,p i,q i ), i=1,2,...,n ζνα ανεξάρτθτο ςφνολο S n από αποδεκτζσ αναφορζσ που καταφτάνουν ςτον Juror ςε ζνα χρονικό διάςτθμα T. Ο Juror κα επιλζξει κατάςταςθ y j (1 ι 0) ςφμφωνα με τθν πικανότθτα των δφο περιπτϊςεων. Η ανεξαρτθςία του ςυνόλου S n μασ δίνει ότι θ πικανοτικι κατανομι των αναφορϊν ςε ςχζςθ με το x T δίνεται από τον τφπο: 1 n n n zi (1 zi ) x T (1 zi ) zi (1 xt ) n T i T i i i i i 1 i 1 i 1 Prob z,..., z / x Pr ob( z / x ) { p (1 p ) } { q (1 q ) } Ρροτείνουμε τον παρακάτω απλό κανόνα απόφαςθσ για τον Juror (Κανόνασ 1): Αν Prob(z 1,...,z n /x T =1) Prob(z 1,...,z n /x T =0) τότε αποφάςιςε y J =1 ε αλλιϊσ αποφάςιςε y J =0. Χρθςιμοποιϊντασ λογαρίκμουσ ο κανόνασ αυτόσ γίνεται: Αν n i 1 a z b 0 τότε το y j =1 διαφορετικά γίνεται 0 με i i pi qi ai log( ), i 1,..., n (1 p ) (1 q) b n i 1 qi log( ) (1 p ) i i i και 91

110 7.5-Το ζύζηημα και η ανάλςζη ενόρ ηασύηαηα ανηιδπώνηορ Κπιηή (Juror) Συνεπϊσ αν τα u i και v i είναι ανεξάρτθτεσ δυαδικζσ τυχαίεσ μεταβλθτζσ με Prob(u i =1)=p i, Prob(u i =0)=1-p i κακϊσ και Prob(v i =1)=1-q i, Prob(v i =0)=q i για i=1,,n τότε για τον Juror ζχουμε τισ εξισ πικανότθτεσ p j και q j που δίνονται από τον τφπο: p Pr ob( a u b 0), J i i i 1 q Pr ob( a u b 0) J i i i 1 n n Εδϊ κεωροφμε ακόμα ότι θ μζςθ τιμι των p i, q i για i=1,,n είναι φραγμζνθ πάνω από το 1/2. Για παράδειγμα n 1 1 pi n 2 i 1 και n 1 1 qi n 2 i 1 για κάποιο δ > 0. Θα αποδείξουμε τϊρα ότι ο Juror που ορίςαμε παραπάνω απαντάει άμεςα (fast responding). Θα ξεκινιςουμε τθν απόδειξθ με το p J. Θεωροφμε τθν τυχαία μεταβλθτι n U ai ui b. i 1 Η πικανότθτα λάκουσ δίνεται από τον τφπο: 1 p Pr ob( U 0) Pr ob( e tu 1), t 0 J Χρθςιμοποιϊντασ τθν ανιςότθτα Markov (Prob(X>1) E(X),X 0) και τθν υπόκεςθ ανεξαρτθςίασ παίρνουμε μετά από μερικζσ πράξεισ. tu tu 1 p E( e ) Pr ob( e ) e J n i 1 h( t, p, q ) i i ό h t p q q p p q t 1 t 1 t t (, i, i) log( i (1 i ) i (1 i ) ) Η ςυνάρτθςθ αυτι είναι κυρτι ςε ςχζςθ με το t και επιπλζον ιςχφει h(0,p i,q i )= h h h(1,p i,q i )=0 κακϊσ και 0 για t=0 και 0 για t=1. Συνεπϊσ θ h() ζχει ολικό t t ελάχιςτο για κάποιο t μεταξφ 0 και 1 που είναι πάντα αρνθτικό και μπορεί να υπο-. 92

111 7-Μονηέλο Καηανεμημένος Σςζηήμαηορ Ανίσνεςζηρ Δπιθέζευν ζε Ππαγμαηικό Φπόνο h λογιςτεί κζτοντασ 0. t Επιπλζον θ h() είναι και κοίλθ ςε ςχζςθ με τα p, q για p i, q i 1/2 και t Є (0,1). Αυτό μπορεί να βεβαιωκεί λαμβάνοντασ τθν Hessian 2 p i,q h i και δείχνει πωσ είναι ςίγουρα αρνθτικό για τα δεδομζνα όρια. Επίςθσ θ ςυνάρτθςθ h() μειϊνεται μονότονα ςε ςχζςθ με τα p i, q i, το οποίο μπορεί να αποδειχτεί λαμβάνοντασ h h, και δείχνοντασ πωσ είναι αρνθτικά για τα δεδομζνα όρια και άρα γνθςίωσ φκίνουςα. Ζτςι ζχουμε h( t, p, q ) n h( t, p, q ) n h( t,, ) n n 2 2. n n n i i i i i 1 i 1 i 1 Αν ελαχιςτοποιιςουμε τθν παραπάνω ςυνάρτθςθ ςε ςχζςθ με το t κα πάρουμε το πάνω όριο τθσ πικανότθτασ λάκουσ: 2 1 p ( 1 ) n J p i q i και επειδι κζλουμε το 1 p J 1 T a αρκεί να ζχουμε το μικρότερο δυνατό n ϊςτε 1 logt 1 T log 1 2 n ( 1 ), n a 1, 1 a 2 και ςυνεπϊσ το n O(log T ). Άρα, ο Juror απαντά άμεςα (δθλ. είναι fast responding). Για τθν άλλθ πικανότθτα 1-q J εργαηόμαςτε ανάλογα και φτάνουμε ςτο ίδιο ςυμπζραςμα: 1 q 1 J 2 n 93

112 7.6-Ανεκηικόηηηα ζε λάθη ηος πποηεινόμενος μονηέλος 7.6. Ανεκτικότητα ςε λϊθη του προτεινόμενου μοντϋλου Μία βαςικι υπόκεςθ του παραπάνω αποτελζςματοσ ιταν ότι ο Juror μπορεί να διαχωρίςει τισ ςωςτζσ αναφορζσ από τισ λανκαςμζνεσ και να λάβει υπόψθ του μόνο τισ ςωςτζσ. Αυτι θ παραδοχι δεν είναι ρεαλιςτικι για πολλζσ περιπτϊςεισ κακϊσ δεν μπορεί να ςυλλάβει ςτο δίκτυο: τυχαία λάκθ μετάδοςθσ ανάμεςα ςτουσ τοπικοφσ ανιχνευτζσ (Agents) και τον Κριτι (Juror) απρόςμενα λάκθ των τοπικϊν μθχανιςμϊν λιψθσ αποφάςεων περιπτϊςεισ που ευφυείσ επικζςεισ προςπακοφν να παραπλανιςουν τθν διαδικαςία λιψθσ απόφαςθσ καταςκευάηοντασ τεχνθτά εςφαλμζνθ κυκλοφορία. Σε αυτζσ τισ περιπτϊςεισ θ εφαρμογι των ακριβϊν κανόνων που βαςίηονται ςε α- ναφορζσ των q i μποροφν να οδθγιςουν ανεξζλεγκτα ςε μεγάλεσ πικανότθτεσ λάκουσ. p i και Η παρουςία των άγνωςτων λανκαςμζνων αναφορϊν που είναι τυχαία διάχυτεσ ςτο ςφνολο των αναφορϊν που λαμβάνονται από ζναν Juror δθμιουργεί τθν ανάγκθ για τροποποίθςθ του κανόνα λιψθσ απόφαςθσ ϊςτε να λαμβάνεται υπόψθ και αυτι θ αβεβαιότθτα. Οποιαδιποτε τζτοια τροποποίθςθ κα ζχει ωσ αποτζλεςμα ανιχνευτζσ που κα αντζχουν ςτα λάκθ με κόςτοσ κάποια μείωςθ τθσ απόδοςθσ ςτθν ανίχνευςθ. Το πρόβλθμα είναι αν μποροφν να υπάρξουν fast responding Jurors (με λογαρικμικι απόδοςθ ςτθν ταχφτθτα) που ταυτόχρονα είναι και αξιόπιςτοι ςε λάκθ. Ζνα άλλο επακόλουκο είναι ο υπολογιςμόσ του ποςοτικοφ trade off ανάμεςα ςτθν ανοχι λακϊν και ςτθν απόδοςθ, π.χ. πόςθ απόδοςθ πρζπει να κυςιάςουμε για να πετφχουμε ζνα επικυμθτό επίπεδο ανοχισ ςε λάκθ. Αποδεικνφουμε πωσ είναι δυνατό να ζχουμε fast responding Jurors που είναι ταυτόχρονα και ανεκτικοί ςε λάκθ ωσ ζνα προκακοριςμζνο επίπεδο ρυκμοφ λιψθσ λανκαςμζνων αναφορϊν. Η μείωςθ τθσ απόδοςθσ (ςαν ςυνάρτθςθ του προκακοριςμζνου ρυκμοφ) για τζτοιουσ ανεκτικοφσ ςε λάκθ Jurors επθρεάηει μόνο τον ςτακερό όρο τθσ λογαρικμικισ ςυνάρτθςθ του χρόνου. Ασ υποκζςουμε πωσ από όλεσ τισ αναφορζσ που λαμβάνονται από ζναν Juror ζνα ποςοςτό f από αυτζσ είναι ςωςτζσ και οι υπόλοιπεσ 1 f είναι λανκαςμζνεσ (ι άχρθςτεσ) και κατανζμονται ομοιόμορφα ςτθν ροι των αναφορϊν. Αν δεν γνωρίηουμε ποιεσ από τισ αναφορζσ είναι ςωςτζσ οι πικανότθτεσ p, q από κάκε αναφορά κα πρζπει να αντικαταςτακεί από: i i 94

113 7-Μονηέλο Καηανεμημένος Σςζηήμαηορ Ανίσνεςζηρ Δπιθέζευν ζε Ππαγμαηικό Φπόνο p ( f ) = fp (1 f ), q ( f ) = fq (1 f ) 2 2 Ϊςτε να αντανακλοφν τθν πραγματικι κατάςταςθ αξιοπιςτίασ ςε ςχζςθ με τθν ακολουκία των αναφορϊν που λαμβάνει ο Juror. ' 1 i i ' 1 i i Οριςμόσ 11. Ζνασ Juror καλείται f0 - tolerant αν είναι fast responding για κάκε ρυκμό f από ςωςτζσ αναφορζσ ζτςι ϊςτε f f 0. Θεωρϊντασ ότι οι μζςεσ τιμζσ των αναφερόμενων p, q για i=1,..., n περιορίηονται μακριά από το 1 2, i i n n Ρ.χ. pi, qi για κάποιο n i=1 2 n i=1 2 μποροφμε να εκφράςουμε το ακόλουκο αποτζλεςμα >0 (όπωσ προθγουμζνωσ) Θεώρθμα 2. Ο Juror που ορίηεται από τον κανόνα 1 με κάκε λαμβανόμενθ αναφορά είναι f0 - tolerant. p p f και ' i= i( 0) q q f για ' i= i( 0) Απόδειξθ. Ρράγματι, αν ακολουκιςουμε παρόμοια βιματα όπωσ ςτθν απόδειξθ του Θεωριματοσ 1 αντικακιςτϊντασ τα p, q από i i p ( f ), ' i 0 q ( f ) και παρατθρϊντασ τισ ιδιότθτεσ των ςυναρτιςεων που εμπλζκονται τελικά ζχουμε τα παρακάτω όρια για τισ πικανότθτεσ λάκουσ: ' i 0 1 p 1 ( f ) J 0 2 n 1 q 1 ( f ) J 0 2 n Η αποδοτικότθτα του παραπάνω Juror nt ( ) όπου ο μικρότεροσ αρικμόσ αναφορϊν ςτο χρονικό διάςτθμα T ζτςι ϊςτε: 1 T 1 qj a 2alogT υπολογίηεται ςε: n( T )= = O logt 1 log 2 1 f 0 Ζτςι ο Juror είναι fast responding (κακϊσ θ απόδοςι του είναι λογαρικμικι ςυνάρτθςθ του χρόνου) όςο ο ρυκμόσ f των ςωςτϊν αναφορϊν ικανοποιεί τθ ςυνκικθ f f. Η μείωςθ τθσ απόδοςθσ του κανόνα ( ςε ςφγκριςθ με τθν περίπτωςθ που 0 όλεσ οι αναφορζσ που χρθςιμοποιοφνται από τον Juror είναι ςωςτζσ) εξαρτάται 95

114 7.6-Ανεκηικόηηηα ζε λάθη ηος πποηεινόμενος μονηέλος προδιλωσ από τον όρο f 0 που επθρεάηει μόνο τον ςτακερό όρο τθσ παραπάνω ςχζςθσ. Ρεριοριςμόσ: Τι ζςμβαίνει όηαν ηο f 0 γίνεται πολφ μικρό και τείνει ςτο μθδζν; Με δεδομζνο ότι: log 1 1 f 0 2 f 0 2 για μικρό f 0, θ παραπάνω ςχζςθ μπορεί να απλοποιθκεί ωσ ακολοφκωσ: 2 log log f0 = a T = O T n( T) n( T) Ζτςι είναι πικανόν να ζχουμε fast responding f0 tolerant Jurors ακόμα και ςε περιπτϊςεισ όπου το f 0 τείνει ςτο 0 εφόςον ο ρυκμόσ τθσ μείωςθσ ςτο 0 είναι μικρότεροσ από logt O. Η μορφι του κανόνα λιψθσ απόφαςθσ για ζνα Juror με nt ( ) tolerant Juror όπωσ παρα- f 0 0 λαμβάνεται ςαν μία οριακι περίπτωςθ ενόσ f0 κάτω: n 0 ό " ί " i=1 z i 1 2 <0 ό " ί " Αυτό το αποτζλεςμα δείχνει πωσ ςε περιπτϊςεισ που ζχουμε εχκρικι ςυμπεριφορά (από χριςτθ ι από φυςικι περίπτωςθ) που μπορεί να «εμβάλει» λανκαςμζνεσ α- ναφορζσ ςτθν ροι των αναφορϊν που φτάνουν ςτον Juror με μεγάλουσ ρυκμοφσ, θ καλφτερθ αντιμετϊπιςθ είναι να χρθςιμοποιιςουμε τον παραπάνω f0 tolerant κανόνα απόφαςθσ που αντιμετωπίηει όλεσ τισ αναφορζσ ιςοδφναμα ανεξάρτθτα από τα αναφερόμενα p, q και τα ςυςχετιηόμενα με αυτά βάρθ. Αυτό i i είναι ιςοδφναμο με πλειοψθφικι ψθφοφορία. Ζνασ τζτοιοσ Juror κα φτάςει ςε ςωςτό αποτζλεςμα με μεγάλθ πικανότθτα εφόςον οι ενζργειεσ του επιτικζμενου δεν μποροφν να αλλοιϊςουν τθ ροι των αναφορϊν που ζρχονται ςτον Juror με ρυκμό ταχφτερο του 1 O logt nt ( ) 96

115 7-Μονηέλο Καηανεμημένος Σςζηήμαηορ Ανίσνεςζηρ Δπιθέζευν ζε Ππαγμαηικό Φπόνο 7.7. Δημιουργύα Συνεπών Τοπικών Ανιχνευτών Ρεριγράφουμε εν ςυντομία τθν μεκοδολογία που χρθςιμοποιοφμε για τθν καταςκευι των ςυνεπϊν τοπικϊν ανιχνευτϊν. Χωρίηουμε μια ακολουκία παρατθριςεων τοπικϊν γεγονότων X 1, X 2, X 3, ςε ίςα τμιματα με Ν γεγονότα ςτο κακζνα. Ονομάηουμε το κάκε τμιμα από αυτά «παράκυρο χρόνου». Με δεδομζνθ τθν ιδιότθτα G (που είναι ζνα ςφνολο κανόνων που ορίηονται από προκακοριςμζνα χαρακτθριςτικά γεγονότων τα οποία πιςτεφουμε πωσ παρζχουν πλθροφορίεσ για τον διαχωριςμό τοπικϊν επικζςεων από μθ επικζςεισ), μποροφμε να μετριςουμε τθν εμπειρικι κατανομι του ποςοςτοφ των γεγονότων που ικανοποιοφν τουσ κανόνεσ αυτοφσ. Ζςτω ότι το r N G είναι ο αρικμόσ των «παρακφρων χρόνου» για τισ οποίεσ το ποςοςτό των γεγονότων που ικανοποιοφν τθν ιδιότθτα G είναι ίςθ με r. Τότε, αν TN είναι ο ςυνολικόσ αρικμόσ των «παρακφρων χρόνου» ορίηουμε τθν ακόλουκθ εμπειρικι κατανομι: r N G Prob( r), r [0,1] TN Αυτι θ κατανομι μπορεί να οριςτεί για δφο διαφορετικζσ περιπτϊςεισ: Πταν υπάρχει επίκεςθ Πταν δεν υπάρχει επίκεςθ Ο προςδιοριςμόσ των ιδιοτιτων G που είναι οι καταλλθλότερεσ για τθν καταςκευι τζτοιων κατανομϊν (και ςυνεπακόλουκα για τθν καταςκευι τοπικϊν ανιχνευτϊν) ςτθρίχκθκε ςτθν μελζτθ ςυμπεριφοράσ μερικϊν ςυνθκιςμζνων επικζςεων ςε υπολογιςτικοφσ κόμβουσ και δίκτυα, κακϊσ και από εκτεταμζνουσ πειραματιςμοφσ με εξομοιωμζνθ δικτυακι κίνθςθ. Για παράδειγμα θ ςάρωςθ (scanning) των κυρϊν ε- νόσ υπολογιςτι είναι ζνα ςθμαντικό ςυςτατικό των διαφόρων επικζςεων, ςυμπεριλαμβάνοντασ ακόμα και επιδθμίεσ διάδοςθσ υπολογιςτικϊν ιϊν. Τζτοιου είδουσ επικζςεισ μποροφν να κεωρθκοφν ωσ επικζςεισ με ξεςπάςματα και άρα ςυμπεριλαμβάνονται ςτο μοντζλο μασ. Αρκετά δικτυακά ςκουλικια (Code Red-II, Nimda, κ.ά) μεταδίδονται με τθν ςάρωςθ άλλων κόμβων για τρωτά ςθμεία. Στθν ςάρωςθ για TCP κφρεσ ο επιτικζμενοσ ςτζλνει διάφορα ιδιαίτερα πακζτα προσ διάφορεσ κατευκφνςεισ/παραλιπτεσ. Ο κόμβοσ μπορεί λοιπόν να παρακολουκεί το ςυγκεκριμζνο πρωτόκολλο για διαπραγματεφςεισ κατά τθ διάρκεια τισ ζναρξθσ επικοινωνίασ ανάμεςα ςε υπολογιςτζσ (three way handshaking) και να παρακολουκεί τα flags ςτθν ανταλλαγι πακζτων προσ ςυγκε- 97

116 7.7-Γημιοςπγία Σςνεπών Τοπικών Ανισνεςηών κριμζνεσ κφρεσ (όπωσ για παράδειγμα μία απομακρυςμζνθ διεφκυνςθ υπολογιςτι προςπακεί να εγκακιδρφςει επικοινωνία ςε μία κλειςτι κφρα. Ζχουμε πειραματιςτεί με τθν καταςκευι τοπικϊν κατανομϊν ςε ζνα μικρό παράκυρο παρατθριςεων Δ κάνοντασ χριςθ εξομοιωμζνων δεδομζνων δικτυακισ κίνθςθσ για τισ δφο περιπτϊςεισ επίκεςθσ και μθ επίκεςθσ και για διαφορετικά μεγζκθ «παρακφρων χρόνου» μεγζκουσ Ν. Η χαρακτθριςτικι ιδιότθτα τθν οποία λάβαμε υπόψθ μασ ςε αυτά τα πειράματα βαςίςτθκε ςτισ τιμζσ του flag ίςθ με «ACK» ι «ACK/PUSH» ςε αντιπαράκεςθ με τισ τιμζσ του flag ίςθ με «non-ack». Τα αποτελζςματα που πιραμε αποδεικνφουν μία ςθμαντικι διαφορά ςτα ςχιματα των κατανομϊν για τισ δφο περιπτϊςεισ. Μία απεικόνιςθ τζτοιασ κατανομισ που λάβαμε πειραματικά παρουςιάηεται ςτθν Εικόνα 7-4 παρακάτω. Εικόνα 7-4 Κατανομζσ ACK/non-ACK Το επόμενο βιμα είναι να χρθςιμοποιιςουμε κανονικά αποτελζςματα ςτα ςτατιςτικά[66] για να δθμιουργιςουμε τοπικοφσ ανιχνευτζσ (Agents). Ασ ορίςουμε με H 1 και H 0 τισ υποκζςεισ «επίκεςθ» και «μθ επίκεςθ» αντίςτοιχα και ζςτω f1(r), f0(r) να παριςτάνουν τισ δφο κατανομζσ αντιςτοίχωσ. Με δεδομζνθ μια ακολουκία παρατθριςεω&n