Η εξέλιξη του Τείχους προστασίας εφαρμογών Ιστού: από τείχη προστασίας σε συστήματα προστασίας που βασίζονται σε σύννεφο με μηχανική μάθηση

Στο προηγούμενο υλικό μας για θέματα cloud, εμείς είπα, πώς να προστατεύσετε πόρους πληροφορικής στο δημόσιο νέφος και γιατί τα παραδοσιακά προγράμματα προστασίας από ιούς δεν είναι απολύτως κατάλληλα για αυτούς τους σκοπούς. Σε αυτήν την ανάρτηση, θα συνεχίσουμε το θέμα της ασφάλειας στο cloud και θα μιλήσουμε για την εξέλιξη του WAF και τι είναι καλύτερο να επιλέξετε: υλικό, λογισμικό ή cloud. 

Η εξέλιξη του Τείχους προστασίας εφαρμογών Ιστού: από τείχη προστασίας σε συστήματα προστασίας που βασίζονται σε σύννεφο με μηχανική μάθηση

Τι είναι το WAF

Περισσότερο από το 75% των επιθέσεων χάκερ στοχεύουν σε τρωτά σημεία εφαρμογών ιστού και ιστοσελίδων: τέτοιες επιθέσεις είναι συνήθως αόρατες για την υποδομή ασφάλειας πληροφοριών και τις υπηρεσίες ασφάλειας πληροφοριών. Τα τρωτά σημεία σε εφαρμογές Ιστού ενέχουν, με τη σειρά τους, κινδύνους παραβίασης και απάτης λογαριασμών χρηστών και προσωπικών δεδομένων, κωδικών πρόσβασης και αριθμών πιστωτικών καρτών. Επιπλέον, τα τρωτά σημεία στον ιστότοπο χρησιμεύουν ως σημείο εισόδου για τους εισβολείς στο εταιρικό δίκτυο.

Το Τείχος προστασίας εφαρμογών Ιστού (WAF) είναι μια προστατευτική οθόνη που αποκλείει επιθέσεις σε εφαρμογές Ιστού: έγχυση SQL, δέσμες ενεργειών μεταξύ τοποθεσιών, απομακρυσμένη εκτέλεση κώδικα, ωμή βία και παράκαμψη εξουσιοδότησης. Συμπεριλαμβανομένων επιθέσεων που εκμεταλλεύονται τρωτά σημεία zero-day. Τα τείχη προστασίας εφαρμογών παρέχουν προστασία παρακολουθώντας το περιεχόμενο της ιστοσελίδας, συμπεριλαμβανομένων των HTML, DHTML και CSS, και φιλτράροντας δυνητικά κακόβουλα αιτήματα HTTP/HTTPS.

Ποιες ήταν οι πρώτες αποφάσεις;

Οι πρώτες προσπάθειες δημιουργίας τείχους προστασίας εφαρμογών Web έγιναν στις αρχές της δεκαετίας του '90. Τουλάχιστον τρεις μηχανικοί είναι γνωστό ότι έχουν εργαστεί σε αυτόν τον τομέα. Ο πρώτος είναι ο καθηγητής πληροφορικής Gene Spafford από το Πανεπιστήμιο Purdue. Περιέγραψε την αρχιτεκτονική ενός τείχους προστασίας εφαρμογών μεσολάβησης και το δημοσίευσε το 1991 στο βιβλίο "UNIX Security in Practice".

Ο δεύτερος και ο τρίτος ήταν οι ειδικοί ασφάλειας πληροφοριών William Cheswick και Marcus Ranum από τα εργαστήρια Bell. Ανέπτυξαν ένα από τα πρώτα πρωτότυπα τείχους προστασίας εφαρμογών. Διανεμήθηκε από την DEC - το προϊόν κυκλοφόρησε με το όνομα SEAL (Secure External Access Link).

Αλλά το SEAL δεν ήταν μια ολοκληρωμένη λύση WAF. Ήταν ένα κλασικό τείχος προστασίας δικτύου με προηγμένη λειτουργικότητα - δυνατότητα αποκλεισμού επιθέσεων σε FTP και RSH. Για το λόγο αυτό, η πρώτη λύση WAF σήμερα θεωρείται ότι είναι προϊόν της Perfecto Technologies (αργότερα Sanctum). Το 1999 αυτή παρουσιάζονται Σύστημα AppShield. Εκείνη την εποχή, η Perfecto Technologies ανέπτυζε λύσεις ασφάλειας πληροφοριών για το ηλεκτρονικό εμπόριο και τα ηλεκτρονικά καταστήματα έγιναν το κοινό-στόχος του νέου τους προϊόντος. Το AppShield ήταν σε θέση να αναλύει αιτήματα HTTP και να μπλοκάρει επιθέσεις βάσει δυναμικών πολιτικών ασφάλειας πληροφοριών.

Περίπου την ίδια εποχή με το AppShield (το 2002), εμφανίστηκε το πρώτο ανοιχτού κώδικα WAF. Εγινε ModSecurity. Δημιουργήθηκε με στόχο τη διάδοση των τεχνολογιών WAF και εξακολουθεί να υποστηρίζεται από την κοινότητα πληροφορικής (εδώ είναι αποθετήριο στο GitHub). Το ModSecurity αποκλείει επιθέσεις σε εφαρμογές που βασίζονται σε ένα τυπικό σύνολο κανονικών εκφράσεων (υπογραφές) - εργαλεία για τον έλεγχο των αιτημάτων με βάση μοτίβα - Σύνολο βασικών κανόνων OWASP.

Ως αποτέλεσμα, οι προγραμματιστές κατάφεραν να επιτύχουν τον στόχο τους - νέες λύσεις WAF άρχισαν να εμφανίζονται στην αγορά, συμπεριλαμβανομένων εκείνων που κατασκευάστηκαν με βάση το ModSecurity.

Τρεις γενιές είναι ήδη ιστορία

Συνηθίζεται να διακρίνουμε τρεις γενιές συστημάτων WAF, που έχουν εξελιχθεί με την ανάπτυξη της τεχνολογίας.

Πρώτη γενιά. Λειτουργεί με κανονικές εκφράσεις (ή γραμματικές). Αυτό περιλαμβάνει το ModSecurity. Ο πάροχος συστήματος μελετά τους τύπους επιθέσεων σε εφαρμογές και δημιουργεί μοτίβα που περιγράφουν νόμιμα και δυνητικά κακόβουλα αιτήματα. Το WAF ελέγχει αυτές τις λίστες και αποφασίζει τι να κάνει σε μια συγκεκριμένη κατάσταση - να αποκλείσει την κυκλοφορία ή όχι.

Ένα παράδειγμα ανίχνευσης που βασίζεται σε κανονικές εκφράσεις είναι το ήδη αναφερθέν έργο Σετ βασικών κανόνων ανοιχτή πηγή. Ενα άλλο παράδειγμα - Naxsi, το οποίο είναι επίσης ανοιχτού κώδικα. Τα συστήματα με κανονικές εκφράσεις έχουν μια σειρά από μειονεκτήματα, ιδίως, όταν ανακαλύπτεται μια νέα ευπάθεια, ο διαχειριστής πρέπει να δημιουργήσει πρόσθετους κανόνες με μη αυτόματο τρόπο. Στην περίπτωση μιας μεγάλης κλίμακας υποδομής πληροφορικής, μπορεί να υπάρχουν αρκετές χιλιάδες κανόνες. Η διαχείριση τόσων πολλών κανονικών εκφράσεων είναι αρκετά δύσκολη, για να μην αναφέρουμε το γεγονός ότι ο έλεγχος τους μπορεί να μειώσει την απόδοση του δικτύου.

Οι κανονικές εκφράσεις έχουν επίσης αρκετά υψηλό ποσοστό ψευδώς θετικών. Ο διάσημος γλωσσολόγος Noam Chomsky πρότεινε μια ταξινόμηση των γραμματικών στην οποία τις χώρισε σε τέσσερα επίπεδα πολυπλοκότητας υπό όρους. Σύμφωνα με αυτήν την ταξινόμηση, οι κανονικές εκφράσεις μπορούν να περιγράψουν μόνο κανόνες τείχους προστασίας που δεν περιλαμβάνουν αποκλίσεις από το μοτίβο. Αυτό σημαίνει ότι οι επιτιθέμενοι μπορούν εύκολα να «ξεγελάσουν» την πρώτη γενιά WAF. Μια μέθοδος για την καταπολέμηση αυτού είναι η προσθήκη ειδικών χαρακτήρων σε αιτήματα εφαρμογών που δεν επηρεάζουν τη λογική των κακόβουλων δεδομένων, αλλά παραβιάζουν τον κανόνα υπογραφής.

Η εξέλιξη του Τείχους προστασίας εφαρμογών Ιστού: από τείχη προστασίας σε συστήματα προστασίας που βασίζονται σε σύννεφο με μηχανική μάθηση

Η δεύτερη γενιά. Για την παράκαμψη των προβλημάτων απόδοσης και ακρίβειας των WAF, αναπτύχθηκαν τείχη προστασίας εφαρμογών δεύτερης γενιάς. Έχουν πλέον αναλυτές που είναι υπεύθυνοι για τον εντοπισμό αυστηρά καθορισμένων τύπων επιθέσεων (σε HTML, JS, κ.λπ.). Αυτοί οι αναλυτές λειτουργούν με ειδικά διακριτικά που περιγράφουν ερωτήματα (για παράδειγμα, μεταβλητή, συμβολοσειρά, άγνωστος, αριθμός). Οι δυνητικά κακόβουλες ακολουθίες διακριτικών τοποθετούνται σε μια ξεχωριστή λίστα, την οποία το σύστημα WAF ελέγχει τακτικά. Αυτή η προσέγγιση παρουσιάστηκε για πρώτη φορά στο συνέδριο Black Hat 2012 με τη μορφή C/C++ βιβλιοθήκες libinjection, που σας επιτρέπει να ανιχνεύετε ενέσεις SQL.

Σε σύγκριση με τα WAF πρώτης γενιάς, οι εξειδικευμένοι αναλυτές μπορούν να είναι ταχύτεροι. Ωστόσο, δεν έλυσαν τις δυσκολίες που σχετίζονται με τη μη αυτόματη ρύθμιση παραμέτρων του συστήματος όταν εμφανίζονται νέες κακόβουλες επιθέσεις.

Η εξέλιξη του Τείχους προστασίας εφαρμογών Ιστού: από τείχη προστασίας σε συστήματα προστασίας που βασίζονται σε σύννεφο με μηχανική μάθηση

Τρίτη γενιά. Η εξέλιξη στη λογική ανίχνευσης τρίτης γενιάς συνίσταται στη χρήση μεθόδων μηχανικής εκμάθησης που καθιστούν δυνατή την προσέγγιση της γραμματικής ανίχνευσης όσο το δυνατόν πιο κοντά στην πραγματική γραμματική SQL/HTML/JS των προστατευόμενων συστημάτων. Αυτή η λογική ανίχνευσης είναι σε θέση να προσαρμόσει μια μηχανή Turing για να καλύψει αναδρομικά αναρίθμητες γραμματικές. Επιπλέον, προηγουμένως το έργο της δημιουργίας μιας προσαρμόσιμης μηχανής Turing ήταν άλυτο μέχρι να δημοσιευθούν οι πρώτες μελέτες για τις νευρικές μηχανές Turing.

Η μηχανική εκμάθηση παρέχει τη μοναδική δυνατότητα προσαρμογής οποιασδήποτε γραμματικής για την κάλυψη οποιουδήποτε τύπου επίθεσης χωρίς τη μη αυτόματη δημιουργία λιστών υπογραφών όπως απαιτείται στην ανίχνευση πρώτης γενιάς και χωρίς την ανάπτυξη νέων tokenizers/parsers για νέους τύπους επιθέσεων όπως Memcached, Redis, Cassandra, SSRF injections , όπως απαιτείται από τη μεθοδολογία δεύτερης γενιάς.

Συνδυάζοντας και τις τρεις γενιές της λογικής ανίχνευσης, μπορούμε να σχεδιάσουμε ένα νέο διάγραμμα στο οποίο η τρίτη γενιά ανίχνευσης αντιπροσωπεύεται από το κόκκινο περίγραμμα (Εικόνα 3). Αυτή η γενιά περιλαμβάνει μία από τις λύσεις που εφαρμόζουμε στο cloud μαζί με τον Onsek, τον προγραμματιστή της πλατφόρμας προσαρμοστικής προστασίας εφαρμογών web και του Wallarm API.

Η λογική ανίχνευσης χρησιμοποιεί πλέον ανατροφοδότηση από την εφαρμογή για να αυτοσυντονιστεί. Στη μηχανική μάθηση, αυτός ο βρόχος ανάδρασης ονομάζεται «ενίσχυση». Συνήθως, υπάρχουν ένας ή περισσότεροι τύποι τέτοιου οπλισμού:

  • Ανάλυση συμπεριφοράς απόκρισης εφαρμογής (παθητική)
  • Σάρωση/fuzzer (ενεργό)
  • Αναφορά αρχείων/διαδικασιών παρακολούθησης/παγίδες (εκ των υστέρων)
  • Εγχειρίδιο (καθορίζεται από τον επόπτη)

Ως αποτέλεσμα, η λογική ανίχνευσης τρίτης γενιάς αντιμετωπίζει επίσης το σημαντικό ζήτημα της ακρίβειας. Είναι πλέον δυνατό όχι μόνο να αποφευχθούν τα ψευδώς θετικά και τα ψευδώς αρνητικά, αλλά και να εντοπιστούν έγκυρα αληθινά αρνητικά, όπως ο εντοπισμός χρήσης στοιχείων εντολής SQL στον Πίνακα Ελέγχου, η φόρτωση προτύπου ιστοσελίδας, αιτήματα AJAX που σχετίζονται με σφάλματα JavaScript και άλλα.

Η εξέλιξη του Τείχους προστασίας εφαρμογών Ιστού: από τείχη προστασίας σε συστήματα προστασίας που βασίζονται σε σύννεφο με μηχανική μάθηση

Η εξέλιξη του Τείχους προστασίας εφαρμογών Ιστού: από τείχη προστασίας σε συστήματα προστασίας που βασίζονται σε σύννεφο με μηχανική μάθηση

Η εξέλιξη του Τείχους προστασίας εφαρμογών Ιστού: από τείχη προστασίας σε συστήματα προστασίας που βασίζονται σε σύννεφο με μηχανική μάθηση

Στη συνέχεια, θα εξετάσουμε τις τεχνολογικές δυνατότητες διαφόρων επιλογών υλοποίησης WAF.

Υλικό, λογισμικό ή σύννεφο - τι να επιλέξετε;

Μία από τις επιλογές για την υλοποίηση τείχη προστασίας εφαρμογών είναι μια λύση υλικού. Τέτοια συστήματα είναι εξειδικευμένες υπολογιστικές συσκευές που εγκαθιστά μια εταιρεία τοπικά στο κέντρο δεδομένων της. Αλλά σε αυτήν την περίπτωση, θα πρέπει να αγοράσετε τον δικό σας εξοπλισμό και να πληρώσετε χρήματα στους ενοποιητές για τη ρύθμιση και τον εντοπισμό σφαλμάτων (εάν η εταιρεία δεν έχει το δικό της τμήμα πληροφορικής). Ταυτόχρονα, οποιοσδήποτε εξοπλισμός γίνεται ξεπερασμένος και αχρηστεύσιμος, με αποτέλεσμα οι πελάτες να αναγκάζονται να κάνουν προϋπολογισμό για αναβαθμίσεις υλικού.

Μια άλλη επιλογή για την ανάπτυξη ενός WAF είναι μια εφαρμογή λογισμικού. Η λύση εγκαθίσταται ως πρόσθετο για κάποιο λογισμικό (για παράδειγμα, το ModSecurity έχει ρυθμιστεί πάνω από το Apache) και εκτελείται στον ίδιο διακομιστή με αυτό. Κατά κανόνα, τέτοιες λύσεις μπορούν να αναπτυχθούν τόσο σε φυσικό διακομιστή όσο και στο cloud. Το μειονέκτημά τους είναι η περιορισμένη επεκτασιμότητα και η υποστήριξη από τον προμηθευτή.

Η τρίτη επιλογή είναι η ρύθμιση ενός WAF από το cloud. Τέτοιες λύσεις παρέχονται από παρόχους cloud ως συνδρομητική υπηρεσία. Η εταιρεία δεν χρειάζεται να αγοράσει και να διαμορφώσει εξειδικευμένο υλικό· αυτές οι εργασίες βαρύνουν τον πάροχο υπηρεσιών. Ένα σημαντικό σημείο είναι ότι ένα σύγχρονο cloud WAF δεν συνεπάγεται τη μετάβαση των πόρων στην πλατφόρμα του παρόχου. Ο ιστότοπος μπορεί να αναπτυχθεί οπουδήποτε, ακόμη και εντός εγκατάστασης.

Θα εξηγήσουμε περαιτέρω γιατί οι άνθρωποι πλέον κοιτάζουν όλο και περισσότερο προς το cloud WAF.

Τι μπορεί να κάνει το WAF στο cloud

Όσον αφορά τις τεχνολογικές δυνατότητες:

  • Ο πάροχος είναι υπεύθυνος για τις ενημερώσεις. Το WAF παρέχεται με συνδρομή, επομένως ο πάροχος υπηρεσιών παρακολουθεί τη συνάφεια των ενημερώσεων και των αδειών χρήσης. Οι ενημερώσεις αφορούν όχι μόνο το λογισμικό, αλλά και το υλικό. Ο πάροχος αναβαθμίζει το πάρκο διακομιστή και το συντηρεί. Είναι επίσης υπεύθυνο για την εξισορρόπηση φορτίου και τον πλεονασμό. Εάν ο διακομιστής WAF αποτύχει, η κυκλοφορία ανακατευθύνεται αμέσως σε άλλο μηχάνημα. Η ορθολογική κατανομή της κυκλοφορίας σάς επιτρέπει να αποφύγετε καταστάσεις κατά τις οποίες το τείχος προστασίας εισέρχεται σε λειτουργία ανοιχτής αποτυχίας - δεν μπορεί να αντιμετωπίσει το φορτίο και σταματά να φιλτράρει αιτήματα.
  • Εικονική διόρθωση. Οι εικονικές ενημερώσεις κώδικα περιορίζουν την πρόσβαση σε παραβιασμένα μέρη της εφαρμογής έως ότου ο προγραμματιστής κλείσει την ευπάθεια. Ως αποτέλεσμα, ο πελάτης του παρόχου cloud έχει την ευκαιρία να περιμένει ήρεμα έως ότου ο προμηθευτής αυτού ή του άλλου λογισμικού δημοσιεύσει επίσημες "patches". Το να γίνει αυτό το συντομότερο δυνατό αποτελεί προτεραιότητα για τον προμηθευτή λογισμικού. Για παράδειγμα, στην πλατφόρμα Wallarm, μια ξεχωριστή ενότητα λογισμικού είναι υπεύθυνη για την εικονική ενημέρωση κώδικα. Ο διαχειριστής μπορεί να προσθέσει προσαρμοσμένες τυπικές εκφράσεις για τον αποκλεισμό κακόβουλων αιτημάτων. Το σύστημα καθιστά δυνατή τη σήμανση ορισμένων αιτημάτων με τη σημαία «Εμπιστευτικά δεδομένα». Στη συνέχεια, οι παράμετροί τους καλύπτονται και σε καμία περίπτωση δεν μεταδίδονται εκτός της περιοχής εργασίας του τείχους προστασίας.
  • Ενσωματωμένος σαρωτής περιμέτρου και ευπάθειας. Αυτό σας επιτρέπει να προσδιορίσετε ανεξάρτητα τα όρια δικτύου της υποδομής IT χρησιμοποιώντας δεδομένα από ερωτήματα DNS και το πρωτόκολλο WHOIS. Στη συνέχεια, το WAF αναλύει αυτόματα τις υπηρεσίες που εκτελούνται εντός της περιμέτρου (εκτελεί σάρωση θυρών). Το τείχος προστασίας είναι ικανό να ανιχνεύει όλους τους κοινούς τύπους ευπάθειας - SQLi, XSS, XXE κ.λπ. - και να εντοπίζει σφάλματα στη διαμόρφωση του λογισμικού, για παράδειγμα, μη εξουσιοδοτημένη πρόσβαση στα αποθετήρια Git και BitBucket και ανώνυμες κλήσεις σε Elasticsearch, Redis, MongoDB.
  • Οι επιθέσεις παρακολουθούνται από πόρους cloud. Κατά κανόνα, οι πάροχοι cloud έχουν μεγάλες ποσότητες υπολογιστικής ισχύος. Αυτό σας επιτρέπει να αναλύετε απειλές με υψηλή ακρίβεια και ταχύτητα. Ένα σύμπλεγμα κόμβων φίλτρου αναπτύσσεται στο σύννεφο, μέσω του οποίου διέρχεται όλη η κίνηση. Αυτοί οι κόμβοι αποκλείουν επιθέσεις σε εφαρμογές ιστού και στέλνουν στατιστικά στοιχεία στο Κέντρο Analytics. Χρησιμοποιεί αλγόριθμους μηχανικής εκμάθησης για να ενημερώσει τους κανόνες αποκλεισμού για όλες τις προστατευμένες εφαρμογές. Η εφαρμογή ενός τέτοιου σχήματος φαίνεται στο Σχ. 4. Αυτοί οι προσαρμοσμένοι κανόνες ασφαλείας ελαχιστοποιούν τον αριθμό των ψευδών συναγερμών τείχους προστασίας.

Η εξέλιξη του Τείχους προστασίας εφαρμογών Ιστού: από τείχη προστασίας σε συστήματα προστασίας που βασίζονται σε σύννεφο με μηχανική μάθηση

Τώρα λίγα λόγια για τα χαρακτηριστικά των WAF στο cloud όσον αφορά τα οργανωτικά ζητήματα και τη διαχείριση:

  • Μετάβαση στο OpEx. Στην περίπτωση των cloud WAF, το κόστος υλοποίησης θα είναι μηδενικό, καθώς όλο το υλικό και οι άδειες έχουν ήδη πληρωθεί από τον πάροχο· η πληρωμή για την υπηρεσία γίνεται με συνδρομή.
  • Διαφορετικά τιμολόγια. Ο χρήστης της υπηρεσίας cloud μπορεί γρήγορα να ενεργοποιήσει ή να απενεργοποιήσει πρόσθετες επιλογές. Η διαχείριση των λειτουργιών γίνεται από έναν ενιαίο πίνακα ελέγχου, ο οποίος είναι επίσης ασφαλής. Η πρόσβαση σε αυτό γίνεται μέσω HTTPS, καθώς και ένας μηχανισμός ελέγχου ταυτότητας δύο παραγόντων που βασίζεται στο πρωτόκολλο TOTP (Time-based One-Time Password Algorithm).
  • Σύνδεση μέσω DNS. Μπορείτε να αλλάξετε μόνοι σας το DNS και να διαμορφώσετε τη δρομολόγηση δικτύου. Για την επίλυση αυτών των προβλημάτων δεν χρειάζεται να προσλαμβάνονται και να εκπαιδεύονται μεμονωμένοι ειδικοί. Κατά κανόνα, η τεχνική υποστήριξη του παρόχου μπορεί να βοηθήσει στη ρύθμιση.

Οι τεχνολογίες WAF έχουν εξελιχθεί από απλά τείχη προστασίας με εμπειρικούς κανόνες σε πολύπλοκα συστήματα προστασίας με αλγόριθμους μηχανικής μάθησης. Τα τείχη προστασίας εφαρμογών προσφέρουν τώρα ένα ευρύ φάσμα δυνατοτήτων που ήταν δύσκολο να εφαρμοστούν στη δεκαετία του '90. Με πολλούς τρόπους, η εμφάνιση νέας λειτουργικότητας έγινε δυνατή χάρη στις τεχνολογίες cloud. Οι λύσεις WAF και τα συστατικά τους συνεχίζουν να εξελίσσονται. Όπως και άλλοι τομείς ασφάλειας πληροφοριών.

Το κείμενο ετοιμάστηκε από τον Alexander Karpuzikov, διευθυντή ανάπτυξης προϊόντων ασφάλειας πληροφοριών στον πάροχο cloud #CloudMTS.

Πηγή: www.habr.com

Προσθέστε ένα σχόλιο