Η Mozilla εφαρμόζει το CRLite για να ελέγξει για προβληματικά πιστοποιητικά TLS

Εταιρεία Mozilla ανακοινώθηκε σχετικά με την έναρξη δοκιμών σε νυχτερινές εκδόσεις του Firefox, έναν νέο μηχανισμό για τον εντοπισμό ανακληθέντων πιστοποιητικών - CRLite. Το CRLite σάς επιτρέπει να οργανώνετε αποτελεσματικό έλεγχο ανάκλησης πιστοποιητικού σε σχέση με μια βάση δεδομένων που φιλοξενείται στο σύστημα του χρήστη. Η εφαρμογή CRLite του Mozilla που δημοσιεύθηκε υπό τη δωρεάν άδεια MPL 2.0. Ο κώδικας για τη δημιουργία της βάσης δεδομένων και των στοιχείων διακομιστή είναι γραμμένος Python και φύγε. Προστέθηκαν τμήματα πελάτη στον Firefox για ανάγνωση δεδομένων από τη βάση δεδομένων έτοιμος στη γλώσσα Rust.

Επαλήθευση πιστοποιητικού με χρήση εξωτερικών υπηρεσιών με βάση το πρωτόκολλο που εξακολουθεί να χρησιμοποιείται OCSP (Online Certificate Status Protocol) απαιτεί εγγυημένη πρόσβαση στο δίκτυο, οδηγεί σε σημαντική καθυστέρηση στην επεξεργασία αιτημάτων (350 ms κατά μέσο όρο) και έχει προβλήματα με τη διασφάλιση του απορρήτου (οι διακομιστές OCSP που ανταποκρίνονται σε αιτήματα λαμβάνουν πληροφορίες σχετικά με συγκεκριμένα πιστοποιητικά, τα οποία μπορούν να χρησιμοποιηθούν για να κριθεί εάν τοποθεσίες που ανοίγει ο χρήστης). Υπάρχει επίσης η δυνατότητα τοπικού ελέγχου έναντι λιστών C.R.L. (Certificate Revocation List), αλλά το μειονέκτημα αυτής της μεθόδου είναι το πολύ μεγάλο μέγεθος των ληφθέντων δεδομένων - αυτή τη στιγμή η βάση δεδομένων των ανακληθέντων πιστοποιητικών καταλαμβάνει περίπου 300 MB και η ανάπτυξή της συνεχίζεται.

Για τον αποκλεισμό πιστοποιητικών που έχουν παραβιαστεί και ανακληθεί από τις αρχές πιστοποίησης, ο Firefox χρησιμοποιεί μια κεντρική μαύρη λίστα από το 2015 OneCRL σε συνδυασμό με κλήση προς εξυπηρέτηση Ασφαλής περιήγηση Google για τον εντοπισμό πιθανής κακόβουλης δραστηριότητας. OneCRL, όπως Σετ CRL στο Chrome, λειτουργεί ως ενδιάμεσος σύνδεσμος που συγκεντρώνει λίστες CRL από αρχές πιστοποίησης και παρέχει μια ενιαία κεντρική υπηρεσία OCSP για τον έλεγχο των ανακληθέντων πιστοποιητικών, καθιστώντας δυνατή τη μη αποστολή αιτημάτων απευθείας στις αρχές πιστοποίησης. Παρά την πολλή δουλειά για τη βελτίωση της αξιοπιστίας της διαδικτυακής υπηρεσίας επαλήθευσης πιστοποιητικών, τα δεδομένα τηλεμετρίας δείχνουν ότι περισσότερο από το 7% των αιτημάτων OCSP λήγει (πριν από μερικά χρόνια το ποσοστό αυτό ήταν 15%).

Από προεπιλογή, εάν είναι αδύνατη η επαλήθευση μέσω OCSP, το πρόγραμμα περιήγησης θεωρεί το πιστοποιητικό έγκυρο. Η υπηρεσία ενδέχεται να μην είναι διαθέσιμη λόγω προβλημάτων δικτύου και περιορισμών στα εσωτερικά δίκτυα ή να αποκλειστεί από εισβολείς - για να παρακάμψετε τον έλεγχο OCSP κατά τη διάρκεια μιας επίθεσης MITM, απλώς αποκλείστε την πρόσβαση στην υπηρεσία ελέγχου. Εν μέρει για την πρόληψη τέτοιων επιθέσεων, έχει εφαρμοστεί μια τεχνική Πρέπει να συρραφή, το οποίο σας επιτρέπει να αντιμετωπίζετε ένα σφάλμα πρόσβασης OCSP ή τη μη διαθεσιμότητα OCSP ως πρόβλημα με το πιστοποιητικό, αλλά αυτή η δυνατότητα είναι προαιρετική και απαιτεί ειδική εγγραφή του πιστοποιητικού.

Το CRLite σάς επιτρέπει να συγκεντρώνετε πλήρεις πληροφορίες σχετικά με όλα τα πιστοποιητικά που έχουν ανακληθεί σε μια δομή που ενημερώνεται εύκολα, μεγέθους μόνο 1 MB, η οποία καθιστά δυνατή την αποθήκευση μιας πλήρους βάσης δεδομένων CRL στην πλευρά του πελάτη.
Το πρόγραμμα περιήγησης θα μπορεί να συγχρονίζει καθημερινά το αντίγραφό του των δεδομένων σχετικά με τα ανακληθέντα πιστοποιητικά και αυτή η βάση δεδομένων θα είναι διαθέσιμη υπό οποιεσδήποτε συνθήκες.

Το CRLite συνδυάζει πληροφορίες από Διαφάνεια πιστοποιητικού, ένα δημόσιο αρχείο καταγραφής όλων των εκδοθέντων και ανακληθέντων πιστοποιητικών και των αποτελεσμάτων της σάρωσης πιστοποιητικών στο Διαδίκτυο (συλλέγονται διάφορες λίστες CRL των αρχών πιστοποίησης και συγκεντρώνονται πληροφορίες για όλα τα γνωστά πιστοποιητικά). Τα δεδομένα συσκευάζονται χρησιμοποιώντας κλιμακωτό Φίλτρα ανθίσματος, μια πιθανολογική δομή που επιτρέπει την εσφαλμένη ανίχνευση ενός στοιχείου που λείπει, αλλά αποκλείει την παράλειψη ενός υπάρχοντος στοιχείου (δηλαδή, με μια ορισμένη πιθανότητα, είναι δυνατό ένα ψευδές θετικό για ένα σωστό πιστοποιητικό, αλλά τα πιστοποιητικά που έχουν ανακληθεί είναι εγγυημένα ότι αναγνωρίζονται).

Για την εξάλειψη των ψευδώς θετικών, η CRLite εισήγαγε πρόσθετα διορθωτικά επίπεδα φίλτρων. Μετά τη δημιουργία της δομής, αναζητούνται όλες οι εγγραφές πηγής και εντοπίζονται τυχόν ψευδώς θετικά στοιχεία. Με βάση τα αποτελέσματα αυτού του ελέγχου, δημιουργείται μια πρόσθετη δομή, η οποία εντάσσεται σε καταρράκτη στην πρώτη και διορθώνει τα ψευδώς θετικά που προκύπτουν. Η λειτουργία επαναλαμβάνεται μέχρι να εξαλειφθούν πλήρως τα ψευδώς θετικά κατά τον έλεγχο ελέγχου. Συνήθως, η δημιουργία 7-10 επιπέδων αρκεί για την πλήρη κάλυψη όλων των δεδομένων. Δεδομένου ότι η κατάσταση της βάσης δεδομένων, λόγω περιοδικού συγχρονισμού, υστερεί ελαφρώς σε σχέση με την τρέχουσα κατάσταση του CRL, ο έλεγχος των νέων πιστοποιητικών που εκδόθηκαν μετά την τελευταία ενημέρωση της βάσης δεδομένων CRLite πραγματοποιείται χρησιμοποιώντας το πρωτόκολλο OCSP, συμπεριλαμβανομένης της Συρραφή OCSP (μια απόκριση OCSP που πιστοποιείται από μια αρχή πιστοποίησης μεταδίδεται από τον διακομιστή που εξυπηρετεί τον ιστότοπο κατά τη διαπραγμάτευση μιας σύνδεσης TLS).

Η Mozilla εφαρμόζει το CRLite για να ελέγξει για προβληματικά πιστοποιητικά TLS

Χρησιμοποιώντας φίλτρα Bloom, το τμήμα πληροφοριών Δεκεμβρίου από το WebPKI, που καλύπτει 100 εκατομμύρια ενεργά πιστοποιητικά και 750 χιλιάδες ανακληθέντα πιστοποιητικά, μπόρεσε να συσκευαστεί σε μια δομή μεγέθους 1.3 MB. Η διαδικασία δημιουργίας δομής είναι αρκετά εντατική σε πόρους, αλλά εκτελείται στον διακομιστή Mozilla και παρέχεται στον χρήστη μια έτοιμη ενημέρωση. Για παράδειγμα, σε δυαδική μορφή, τα δεδομένα προέλευσης που χρησιμοποιούνται κατά τη δημιουργία απαιτούν περίπου 16 GB μνήμης όταν αποθηκεύονται στο Redis DBMS, και σε δεκαεξαδική μορφή, η ένδειξη όλων των σειριακών αριθμών πιστοποιητικών διαρκεί περίπου 6.7 GB. Η διαδικασία συγκέντρωσης όλων των ανακληθέντων και ενεργών πιστοποιητικών διαρκεί περίπου 40 λεπτά και η διαδικασία δημιουργίας μιας συσκευασμένης δομής που βασίζεται στο φίλτρο Bloom διαρκεί άλλα 20 λεπτά.

Επί του παρόντος, η Mozilla διασφαλίζει ότι η βάση δεδομένων CRLite ενημερώνεται τέσσερις φορές την ημέρα (δεν παρέχονται όλες οι ενημερώσεις στους πελάτες). Η δημιουργία ενημερώσεων delta δεν έχει ακόμη υλοποιηθεί - η χρήση του bsdiff4, που χρησιμοποιείται για τη δημιουργία ενημερώσεων delta για εκδόσεις, δεν παρέχει επαρκή αποτελεσματικότητα για το CRLite και οι ενημερώσεις είναι αδικαιολόγητα μεγάλες. Για να εξαλειφθεί αυτό το μειονέκτημα, σχεδιάζεται να επεξεργαστεί εκ νέου τη μορφή της δομής αποθήκευσης για να εξαλειφθεί η περιττή αναδόμηση και διαγραφή επιπέδων.

Το CRLite λειτουργεί επί του παρόντος στον Firefox σε παθητική λειτουργία και χρησιμοποιείται παράλληλα με το OCSP για τη συγκέντρωση στατιστικών στοιχείων σχετικά με τη σωστή λειτουργία. Το CRLite μπορεί να αλλάξει σε λειτουργία κύριας σάρωσης· για να γίνει αυτό, πρέπει να ορίσετε την παράμετρο security.pki.crlite_mode = 2 στο about:config.

Η Mozilla εφαρμόζει το CRLite για να ελέγξει για προβληματικά πιστοποιητικά TLS

Πηγή: opennet.ru

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