Στον τομέα της ασφάλειας είναι αναγκαία η εγκατάσταση και η χρήση των εργαλείων που θα μπορούν να ειδοποιήσουν για μία επικείμενη επίθεση προτού εκείνη κλιμακωθεί και τα οποία είναι γνωστά ως συστήματα ανίχνευσης εισβολών (Intrusion Detection Systems) ή εν συντομία «IDSs».
Η διασφάλιση της πληροφορίας και των συστημάτων που τη διαχειρίζονται είναι μια συνεχής διαδικασία και δεν μπορεί να αποδοθεί σε κανένα μεμονωμένο προϊόν ή τεχνολογία. Σε προηγούμενα άρθρα εξετάσαμε διάφορους αποτρεπτικούς μηχανισμούς, οι οποίοι μπορούν να απωθήσουν μια επικείμενη επίθεση. Οι μηχανισμοί αυτοί (όπως τα τείχη προστασίας για παράδειγμα) είναι αδιαμφισβήτητα αναγκαίοι και αποτελούν αναπόσπαστο μέρος της υποδομής ασφαλείας ενός οργανισμού, εμπεριέχουν όμως από τη φύση τους ένα βασικό μειονέκτημα, ότι τίθενται σε ισχύ αφού η επίθεση έχει ήδη ξεκινήσει.
Στο χώρο της ασφάλειας όμως, οφείλουμε να είμαστε όσο το δυνατόν πιο προνοητικοί γίνεται, για αυτό και είναι αναγκαία η εγκατάσταση και η χρήση εργαλείων που να μπορούν να μας ειδοποιήσουν για μία επικείμενη επίθεση προτού εκείνη κλιμακωθεί, καθώς ενδεχομένως ακόμη και να διαθέτουν τη δυνατότητα να προβούν σε ενέργειες, προκειμένου να αποφευχθεί η περάτωσή τους. Τα συστήματα αυτά, που είναι γνωστά ως συστήματα ανίχνευσης εισβολών (Intrusion Detection Systems) ή εν συντομία «IDSs», θα αποτελέσουν το θέμα ενασχόλησης του παρόντος άρθρου.
Οι εξελίξεις τα τελευταία χρόνια στον τομέα της ανίχνευσης εισβολών (intrusion detection) περιορίζονται σε τρεις ευρείες κατηγορίες και πιο συγκεκριμένα, στην ανίχνευση ανωμαλιών (Anomaly Detection), ανίχνευση μη προδιαγεγραμμένης χρήσης (Misuse Detection) και ανίχνευση βασισμένη σε προδιαγραφές (Specification based Detection). Ανεξαρτήτως του συγκεκριμένου μοντέλου που υλοποιεί το κάθε σύστημα, υπάρχουν κάποιες γενικές αρχιτεκτονικές προδιαγραφές με τις οποίες πρέπει να ευθυγραμμίζεται. Οι προδιαγραφές αυτές προέρχονται από ένα πλαίσιο γνωστό ως «Common Intrusion Detection Framework». Πιο συγκεκριμένα, το εν λόγω πλαίσιο προδιαγράφει την ύπαρξη τεσσάρων λειτουργικών κομματιών για ένα «IDS» τα οποία επικοινωνούν μεταξύ τους με ανταλλαγή μηνυμάτων (Σχήμα 1):
- Γεννήτριες συμβάντων (Event Generators), εξειδικευμένα δηλαδή κομμάτια που έχουν σαν στόχο τη συλλογή πληροφοριών μέσα από το γενικότερο πληροφοριακό περιβάλλον το οποίο πλαισιώνει το «IDS».
- Αναλύτριες συμβάντων (Event Analyzers), που έχουν σαν στόχο πρώτον την ανάλυση της πληροφορίας η οποία συλλέγεται από τις γεννήτριες και δεύτερον τη σύνθεση ενός λογικού συμπερασμού, σε σχέση με τη φύση του συμβάντος. Το κομμάτι αυτό μπορεί είτε να αποτελούν, όπως θα δούμε παρακάτω, κάποιες μονάδες που καταφεύγουν σε στατιστικές μεθόδους προκειμένου να καταλήξουν σε ένα αποτέλεσμα σε σχέση με το παρατηρηθέν συμβάν, είτε κάποια μονάδα η οποία λειτουργεί με βάση την ύπαρξη προτύπων μεταξύ των συμβάντων και μια προκαθορισμένη λίστα από χαρακτηριστικές υπογραφές επιθέσεων (attack signatures).
- Μονάδες απόκρισης (Response Units) που έχουν σαν κύριο μέλημά τους την εφαρμογή των αποφάσεων που επιτάσσουν οι αναλύτριες συμβάντων, σε σχέση με το πώς θα χειριστεί το σύστημα τα εισερχόμενα συμβάντα.
- Αποθήκες συμβάντων (Event Databases), που έχουν σαν κύριο στόχο την αποθήκευση των συμβάντων.
Στις παραγράφους που ακολουθούν, γίνεται μια προσπάθεια για περαιτέρω εμβάθυνση πάνω σε διάφορα μοντέλα και τις σχετικές τεχνολογίες.
Συστήματα Ανίχνευσης Ανωμαλιών
Πιο συγκεκριμένα, το παράδειγμα της ανίχνευσης ανωμαλιών (Anomaly Detection) εστιάζει πρωτίστως στην κατασκευή προτύπων σχετικά με τη χρήση του συστήματος που παρακολουθείται, συνδυάζοντας διαφορετικές μετρικές και παρατηρώντας πιθανές σημαντικές αποκλίσεις από τη νόρμα. Το μέσο φορτίο CPU, ο αριθμός των διεργασιών που «τρέχουν», ο αριθμός των συνδέσεων στο δίκτυο και η συχνότητα εισαγωγής, είναι μερικές μόνο από τις μετρικές που χρησιμοποιούνται. Ο ανωτέρω αναφερόμενος στόχος εκπληρώνεται, χτίζοντας ένα μοντέλο που περιέχει μετρικές κάτω από κανονική χρήση του συστήματος και συγκρίνοντας τις προηγούμενες με τις νεοσυλλεχθείσες μετρικές. Τα κατώφλια (threshold) που καθορίζονται κατά τη διάρκεια ρύθμισης του «IDS» χρησιμοποιούνται από το σύστημα για να χαρακτηρίσουν τυχόν δραστηριότητες που ξεπερνούν αυτά τα κατώφλια σαν εισβολές. Ένα τυπικό σύστημα ανίχνευσης ανωμαλιών απεικονίζεται στο σχήμα 2.
Έτσι, εφόσον οι εισβολές είναι υποσύνολο της ανώμαλης δραστηριότητας, δεν είναι ασύνηθες για τα συστήματα ανίχνευσης ανωμαλιών να χαρακτηρίζουν την ανώμαλη συμπεριφορά ως εισβολή όταν δεν είναι (false positive) και, ακόμα χειρότερα, να μην ειδοποιούν στην περίπτωση μιας εισβολής (false negative), επειδή το σύστημα δεν θεωρεί το παρατηρηθέν γεγονός ως ανωμαλία. Επομένως, όταν κανείς ασχολείται με τα συστήματα ανίχνευσης ανωμαλιών, οφείλει να γνωρίζει εκ των προτέρων ότι υπάρχουν μερικές ενδογενείς, λόγω του μοντέλου, δυσκολίες. Έτσι, για παράδειγμα, η αποδοτικότητα του συστήματος εξαρτάται από τον αριθμό των παρακολουθούμενων μετρικών και τη συχνότητα με την οποία ανανεώνονται. Καθώς ο αριθμός των μετρικών και η συχνότητα παρακολούθησης αυξάνονται, αυξάνεται και η ακρίβεια του συστήματος. Όμως, θα πρέπει στο σημείο αυτό να τονίσουμε πως η σχέση μεταξύ ακρίβειας μοντέλου και απόδοσης συστήματος είναι αντιστρόφως ανάλογη, καθώς ένας αυξανόμενος αριθμός από πόρους του συστήματος απαιτείται να αξιοποιηθεί, προκειμένου να παραμείνει η ακρίβεια του συστήματος στα ίδια ή και μεγαλύτερα επίπεδα. Εφόσον τα προαναφερόμενα συστήματα δεν επιχειρούν να κατατάξουν συγκεκριμένες επιθέσεις με κάποιο τρόπο, υπερέχουν στο να εντοπίζουν νέες επιθέσεις χωρίς επιπλέον προγραμματισμό και μπορούν με τον καιρό να προσαρμοστούν στις αλλαγές που εφαρμόζουν οι χρήστες. Παρόλα αυτά, ένα ακόμη πρόβλημα που συναντάται στα συστήματα ανίχνευσης ανωμαλιών, είναι ο καθορισμός του κατωφλιού που καθορίζει το σημείο στο οποίο τελειώνει η ομαλή λειτουργία και αρχίζει η εισβολή.
Συστήματα Ανίχνευσης Μη Προδιαγεγραμμένης Χρήσης
Όπως αναφέρθηκε και προηγουμένως, η δεύτερη κατηγορία συστημάτων ανίχνευσης εισβολών είναι τα συστήματα ανίχνευσης μη προδιαγεγραμμένης χρήσης (Misuse Detection), που ψάχνουν για συγκεκριμένα πρότυπα χρήσης ή ακόμη και ακολουθίες γεγονότων – που είναι γνωστό από προηγούμενες απόπειρες ότι αποτελούν εισβολή. Εξαιτίας αυτού του χαρακτηριστικού, το μοντέλο μπορεί να χαρακτηριστεί ως τεχνική βασισμένη στην εκ των προτέρων γνώση (knowledge-based technique), εφαρμόσιμο μόνο όταν υπάρχει ή μπορεί να κατασκευαστεί μία υπογραφή (signature) που να περιγράφει την επίθεση. Επιπλέον, τα συστήματα ανίχνευσης μη προδιαγεγραμμένης χρήσης, αίρουν, τόσο λανθασμένες θετικές όσο και αρνητικές προειδοποιήσεις, όπως τα προαναφερόμενα συστήματα ανίχνευσης ανωμαλιών. Έτσι, εύκολα από όλα τα παραπάνω απορρέει ότι η ακρίβεια ενός συστήματος ανίχνευσης μη προδιαγεγραμμένης χρήσης εξαρτάται πρωτίστως από την ακρίβεια των υπογραφών (signatures), οι οποίες πρέπει να είναι πολύ σαφείς. Συνεπώς, όταν ένας εισβολέας επιτίθεται με άγνωστα για το σύστημα πρότυπα (δηλαδή απουσία υπογραφής για τη συγκεκριμένη εισβολή) προκύπτει μια λανθασμένη αρνητική προειδοποίηση.
Από την άλλη, όταν ένα συμβάν ταιριάζει με μια υπογραφή επίθεσης αλλά δεν αποτελεί απειλή, προκύπτει μια λανθασμένη θετική προειδοποίηση. Τα συστήματα αυτά, ενεργοποιούν πολύ λίγες λανθασμένες θετικές προειδοποιήσεις, αλλά έχουν τη δυνατότητα να παράγουν μεγάλο αριθμό λανθασμένων αρνητικών. Παρόλα αυτά, υπάρχει μια αντιστρόφως ανάλογη σχέση μεταξύ των υπογραφών αυτών των δύο τύπων συμβάντων. Στο σημείο αυτό πρέπει να παρατηρήσουμε, πως, όπως όλα τα συστήματα, έτσι και αυτά έχουν προτερήματα και μειονεκτήματα. Παράγουν λοιπόν λίγες λανθασμένες θετικές προειδοποιήσεις όταν υπάρχουν συγκεκριμένες υπογραφές επιθέσεων, αλλά αυτό αναπόφευκτα οδηγεί στην αύξηση των λανθασμένων αρνητικών προειδοποιήσεων που παράγει το σύστημα λόγω της αντιστρόφως ανάλογης σχέσης των δύο, όπως περιγράφηκε παραπάνω. Ένα σύστημα βασισμένο στο μοντέλο μη προδιαγεγραμμένης χρήσης, απεικονίζεται στο σχήμα 3.
Επιπροσθέτως, τα συστήματα ανίχνευσης μη προδιαγεγραμμένης χρήσης, εκτός από την άμεση εξάρτησή τους με την ύπαρξη υπογραφών επίθεσης, φέρουν και άλλες δύο, αρκετά δυσάρεστες, επιπτώσεις. Πρώτον, όταν οι υπογραφές στα συστήματα αυτά είναι πολύ συγκεκριμένες, δεν μπορούν να αντιμετωπίσουν διαφορετικές ποικιλίες της ίδιας επίθεσης. Δηλαδή, για κάθε επίθεση που το σύστημα χρειάζεται να είναι σε επιφυλακή, πρέπει να φέρει την απαραίτητη υπογραφή. Στην πραγματικότητα, αυτή είναι μία κοινή τακτική μεταξύ εισβολέων όταν προσπαθούν να διαπεράσουν ένα τέτοιου τύπου «IDS». Το μόνο που χρειάζεται να γίνει, είναι να αλλαχθεί ελαφρώς η υπογραφή της επίθεσης, ώστε το σύστημα να «ξεγελαστεί», κάτι το οποίο είναι εύκολο με τα σημερινά εργαλεία. Δεύτερον, υπάρχει ανοιχτό ένα παράθυρο επίθεσης, όπου το σύστημα είναι εκτεθειμένο από την ώρα που μια νέα, προηγουμένως άγνωστη, απειλή σημειώνεται και έως την ώρα που θα δημιουργηθεί μία υπογραφή για να καλύψει την επίθεση αυτή (zero-day exploits).
Ανίχνευση Βασισμένη Σε Προδιαγραφές
Συνεχίζοντας, η ανίχνευση βασισμένη σε προδιαγραφές (Specification-based Detection) έχει παρόμοια αντιμετώπιση με την ανίχνευση ανωμαλιών, αλλά αντί να εστιάζει στη δραστηριότητα του χρήστη, ρίχνει περισσότερο βάρος στην αναμενόμενη συμπεριφορά του συστήματος. Για να επιτευχθεί η ανίχνευση βασισμένη σε προδιαγραφές, ο αναλυτής πρέπει να καθορίσει πλήρως τη συμπεριφορά του συστήματος για κάθε πιθανή κατάσταση και να κατασκευάσει ένα προφίλ για το σύστημα παρακολούθησης. Αφού έχει κατασκευαστεί το προφίλ, κάθε ενέργεια του συστήματος συγκρίνεται με αυτό και κάθε απόκλιση χαρακτηρίζεται ως εισβολή. Όπως τα συστήματα ανίχνευσης μη προδιαγεγραμμένης χρήσης, τα συστήματα ανίχνευσης βάσει προδιαγραφών μπορούν να παρουσιάζουν λανθασμένες αρνητικές προειδοποιήσεις, αλλά αν το προφίλ του συστήματος είναι ολοκληρωμένο και ακριβές, τέτοιες λανθασμένες προειδοποιήσεις δεν υπάρχουν.
Παρόλα αυτά, θα πρέπει να σημειώσουμε πως η τελευταία πρόταση είναι παραπλανητική, εφόσον ανυπαρξία λανθασμένων προειδοποιήσεων θα σήμαινε πλήρεις προδιαγραφές για τη λειτουργία του συστήματος. Είναι γνωστό όμως ότι είναι μη πραγματοποιήσιμο και μη πρακτικό να περιμένει κάποιος την 100% ακριβή και πλήρη τυποποίηση οποιουδήποτε συστήματος.
Τεχνικές Υλοποίησης Μοντέλων
Συνεχίζοντας, είναι ίσως σκόπιμο να εξετάσουμε μερικές τεχνικές που μπορούν να χρησιμοποιηθούν προκειμένου να υλοποιηθούν τα μοντέλα ανίχνευσης που αναφέραμε προηγουμένως. Έτσι, μία από τις πρώτες τεχνικές που βρήκαν άμεση εφαρμογή στην ανίχνευση επιθέσεων και μάλιστα στην υλοποίηση του «anomaly detection» μοντέλου, ήταν η στατιστική ανάλυση των δεδομένων που συγκεντρώνονταν από το δίκτυο. Γενικεύοντας, πρέπει να αναφέρουμε πως υπάρχουν δύο βασικοί τύποι συστημάτων που υιοθετούν τη στατιστική ανάλυση δεδομένων. Ο μεν πρώτος εστιάζει στην ανάλυση του προφίλ ενός χρήστη, ενώ ο άλλος στηρίζεται στην καταγραφή και ανάλυση διαφόρων μεγεθών και τη σύγκριση των τιμών τους με κάποια προκαθορισμένη τιμή (threshold).
- Η ανάλυση του προφίλ ενός χρήστη βασίζεται στη δημιουργία προτύπων συμπεριφοράς που προκύπτουν μέσα από τη χρήση του συστήματος. Το βασικό χαρακτηριστικό αυτής της μεθόδου είναι ότι δεν απαιτείται η εκ των προτέρων γνώση για ένα συγκεκριμένο χρήστη, μιας και συστήματα του τύπου αυτού προσαρμόζονται αυτόματα στις συνήθειες του χρήστη, προκειμένου να διαγνώσουν μια επικείμενη επίθεση. Ενόσω το τελευταίο αυτό χαρακτηριστικό αποτελεί μεγάλο πλεονέκτημα για τα συγκεκριμένα συστήματα, αποτελεί ταυτόχρονα και το μεγάλο τους μειονέκτημα, μιας και ένας εκ των έσω επιτιθέμενος μπορεί να εκπαιδεύσει μεθοδικά το σύστημα ώστε να αποδέχεται μια σειρά κακόβουλων ενεργειών ως κανονικών.
- Συστήματα τα οποία λειτουργούν καταγράφοντας διάφορα μεγέθη (όπως τη χρήση μνήμης ή τη χρήση του επεξεργαστή) και συγκρίνουν τις τιμές τους με κάποιο προκαθορισμένο κατώφλι, επηρεάζονται άμεσα από τρεις παραμέτρους – και συγκεκριμένα, τα μεγέθη τα οποία πρέπει να καταγραφούν, το πόσο συχνά το σύστημα αναλύει τα καταγεγραμμένα μεγέθη και το προκαθορισμένο κατώφλι λειτουργίας, το οποίο αποτελεί και την κύρια παράμετρο που επηρεάζει την ακριβή λειτουργία του συστήματος.
Προχωρώντας, θα πρέπει ενδεικτικά να εξετάσουμε ακόμη μερικές τεχνικές, οι οποίες αφορούν το «misuse» μοντέλο. Δύο από τις πιο δημοφιλείς είναι η σύγκριση προτύπων που αντιπροσωπεύουν γνωστές επιθέσεις με τα καταγεγραμμένα αρχεία χρήσης του συστήματος (Pattern Matching) και η ανάλυση και η σύγκριση των βημάτων μιας επίθεσης, με τις αντίστοιχες εναλλαγές καταστάσεων που προκαλούν τα βήματα αυτά στο σύστημα (State Transition Analysis). Και οι δύο αυτές τεχνικές κατατάσσονται σε μια κλάση γνωστή ως «τεχνικές γραφημάτων». Οι παραπάνω τεχνικές, αποδίδουν καλά στην ανίχνευση γνωστών επιθέσεων (επιθέσεις δηλαδή για τις οποίες υπάρχουν γνωστές υπογραφές). Επιπλέον, όσον αφορά στην πρώτη περίπτωση, το συνολικό μέγεθος των υπογραφών αλλά και η πολυπλοκότητά τους, μπορεί να επηρεάσουν άμεσα την ικανότητα του συστήματος να λειτουργεί σε πραγματικό χρόνο (real-time). Συστήματα τα οποία χρησιμοποιούν τη δεύτερη τεχνική, παρουσιάζουν μια περιορισμένη δυνατότητα στο να ανιχνεύουν μερικώς άγνωστες επιθέσεις, επειδή δεν στηρίζονται στη σύγκριση προτύπων από κάποιο καταγεγραμμένο αρχείο χρήσης, αλλά στις εναλλαγές των καταστάσεων εξαιτίας των επιθέσεων αυτών. Το πρόβλημα είναι πως η χρησιμότητα της τεχνικής αυτής περιορίζεται σε αυτές τις επιθέσεις, που μπορούν να περιγραφούν ως ακολουθίες εναλλαγών για το σύστημα, κάτι το οποίο ισχύει μόνο για απλές περιπτώσεις. Επιπλέον, συστήματα αυτού του είδους έχουν επιδείξει μια δυσκολία στο να λειτουργήσουν σε πραγματικό χρόνο, εξαιτίας του βαθμού επεξεργασίας που απαιτείται. Τέλος, θα πρέπει ίσως να αναφέρουμε για λόγους πληρότητας, πως τεχνικές που έχουν τη βάση τους στο πεδίο της τεχνητής νοημοσύνης (όπως είναι για παράδειγμα τα νευρωνικά δίκτυα, οι γενετικοί αλγόριθμοι και τα «expert systems») έχουν από νωρίς υιοθετηθεί από το πεδίο της ανίχνευσης επιθέσεων.
Επομένως, σ’ αυτό το σημείο εύκολα συμπεραίνουμε πως το ζήτημα της ανίχνευσης επιθέσεων εναντίον πληροφοριακών συστημάτων, κάθε άλλο παρά εύκολο μπορεί να χαρακτηριστεί, μιας και όπως είδαμε, όλες οι μέθοδοι και τα μοντέλα που εξετάστηκαν παραπάνω, έχουν τόσο πλεονεκτήματα όσο και μειονεκτήματα. Επομένως, για να επιτευχθεί η ανίχνευση επιθέσεων με επιτυχή τρόπο, θα πρέπει κάθε φορά να επιλέγεται η σωστή προσέγγιση σύμφωνα με το περιβάλλον που θα αναπτυχθεί το «IDS». Έτσι, για παράδειγμα, σε περιβάλλοντα όπου επικρατούν οι επιθέσεις που προέρχονται από το εσωτερικό του οργανισμού, τα συστήματα ανίχνευσης μη προδιαγεγραμμένης είναι πιο κατάλληλα, καθώς σε μια τέτοια περίπτωση τα συστήματα ανίχνευσης ανωμαλιών θα ήταν μη αποδοτικά, γιατί οι επιτιθέμενοι θα μπορούσαν να εκπαιδεύσουν τα συστήματα ανίχνευσης ανωμαλιών να θεωρούν ως φυσιολογική μια παρεισφρητική συμπεριφορά.
Παρομοίως, η αποδοτικότητα ενός «IDS» μπορεί να επηρεαστεί από τα πρότυπα χρήσης που οφείλονται στους προστατευμένους χρήστες του συστήματος. Με άλλα λόγια, περιβάλλοντα στα οποία οι χρήστες τείνουν να χρησιμοποιούν συγκεκριμένες εντολές με συγκεκριμένη σειρά, απαιτούν συστήματα ανίχνευσης ανωμαλιών, ενώ για περιβάλλοντα όπου οι χρήστες δεν έχουν σταθερές ακολουθίες χρήσης εντολών ή που κάνουν μη συχνή χρήση του προστατευμένου συστήματος, τα συστήματα ανίχνευσης μη προδιαγεγραμμένης είναι καλύτερη επιλογή. Γενικά, αυτό που μπορούμε να συμπεράνουμε είναι ότι τα «IDSs» δεν είναι αλάνθαστα και πως για να έχουμε ένα όσο το δυνατόν πιο ασφαλές σύστημα, που θα είναι προστατευμένο από διάφορες πηγές απειλών, περισσότερα του ενός μοντέλα προστασίας θα έπρεπε να ενσωματωθούν και να υιοθετηθούν από τον ενδιαφερόμενο οργανισμό.
Tου Ευάγγελου Μωράκη
Security Expert