Η Project Zero είναι η ομάδα της Google που είναι υπεύθυνη για την ανακάλυψη ελαττωμάτων ασφαλείας σε διαφορετικά προϊόντα και στη συνέχεια την ιδιωτική αναφορά τους στον αντίστοιχο προμηθευτή. Παρέχεται προθεσμία 90 ημερών για την επιδιόρθωση ενός ζητήματος πριν εκτεθεί δημόσια. Σε ορισμένες περιπτώσεις, μπορεί να προσφερθεί και περίοδος χάριτος 14 ημερών.
Το Google Project Zero έχει αναφέρει στο παρελθόν σημαντικά ζητήματα στα προϊόντα της Google, καθώς και σε αυτά που ανήκουν σε άλλα, όπως τα Windows, iPhone, Qualcomm Adreno, GitHubκαι άλλα. Τώρα, έχει αποκαλύψει δημόσια ένα σφάλμα στο Chrome OS μετά την αποτυχία της συνδεδεμένης ομάδας να το διορθώσει εντός των προβλεπόμενων 90 ημερών.
Το εν λόγω ζήτημα αφορά τον τρόπο με τον οποίο το Chrome OS χειρίζεται τις συσκευές USB όταν η συσκευή είναι κλειδωμένη. Ουσιαστικά, το Chrome OS χρησιμοποιεί το USBGuard για τη διαμόρφωση λιστών επιτρεπόμενων και αποκλειστικών λιστών για συσκευές USB. Ωστόσο, οι εσφαλμένες διαμορφώσεις αυτού του πλαισίου μπορεί να οδηγήσουν σε συσκευές USB χωρίς έλεγχο ταυτότητας ώστε να μπορούν να έχουν πρόσβαση στον πυρήνα και την αποθήκευση του υπολογιστή.
Όπως περιγράφει ο ερευνητής ασφαλείας του Google Project Zero, Jann Horn, το USBGuard στο Chrome OS διαθέτει μια λίστα αποκλεισμού που δεν ελέγχει την ταυτότητα συσκευών USB με συγκεκριμένους περιγραφείς διεπαφής κλάσης σε κλειδωμένη οθόνη. Ωστόσο, μετά από αυτήν την επικύρωση, επιτρέπονται όλες οι άλλες διεπαφές.
Αυτό σημαίνει ότι ενώ μια συσκευή USB χωρίς έλεγχο ταυτότητας θα αποκλειστεί σωστά στην οθόνη κλειδώματος, άλλες συσκευές μπορούν να μιμηθούν μια συσκευή μαζικής αποθήκευσης, να τροποποιήσουν τον πυρήνα του εισβολέα ώστε να μην εμφανίζεται ως συσκευή USB και να πιστοποιηθούν. Αυτό συμβαίνει επειδή η κατηγορία USB δεν έχει σημασία για έναν πυρήνα, επομένως θα επιτρέψει την τροποποίηση και από μια φαινομενικά πιστοποιημένη συσκευή. Ο Horn σημειώνει ότι:
Εκτός από το πρόβλημα ότι υπάρχει μεγάλος όγκος επιφάνειας επίθεσης στα προγράμματα οδήγησης για συσκευές που δεν ανήκουν σε αυτές τις κατηγορίες διεπαφής USB, υπάρχει ένα άλλο ζήτημα με αυτήν την προσέγγιση: Ο πυρήνας συχνά δεν ενδιαφέρεται για ποια κατηγορία USB μια συσκευή ισχυρίζεται ότι είναι. Ο τρόπος με τον οποίο λειτουργούν τα προγράμματα οδήγησης USB, ακόμη και για τυποποιημένα πρωτόκολλα, είναι ότι το πρόγραμμα οδήγησης καθορίζει με χαμηλή προτεραιότητα ότι θα ήθελε να συνδεθεί με συσκευές συμβατές με πρότυπα χρησιμοποιώντας την κατάλληλη κατηγορία διασύνδεσης USB, αλλά επίσης καθορίζει με υψηλή προτεραιότητα ότι θα ήθελε να σύνδεση σε συγκεκριμένες συσκευές USB με βάση το αναγνωριστικό προμηθευτή και το αναγνωριστικό προϊόντος, χωρίς να ενδιαφέρεται για την κατηγορία διασύνδεσης USB τους.
[…] Εάν χρησιμοποιούμε ένα μηχάνημα Linux με κατάλληλο υλικό (χρησιμοποιώ μια πλακέτα προγραμματισμού NET2380, αλλά θα μπορούσατε πιθανώς να το κάνετε και με ένα ξεκλείδωτο τηλέφωνο Pixel ή ένα Raspberry Pi Zero W ή κάτι παρόμοιο) για να μιμηθείτε ένα Συσκευή μαζικής αποθήκευσης USB, χρησιμοποιώντας (αυτό), και επιδιορθώστε μια γραμμή στον πυρήνα του εισβολέα έτσι ώστε να ισχυρίζεται ότι είναι διαφημιστική πινακίδα και όχι συσκευή αποθήκευσης.
Αυτό το ζήτημα επισημάνθηκε ως ευπάθεια υψηλής σοβαρότητας και αναφέρθηκε ιδιωτικά στην ομάδα του Chrome OS στις 24 Φεβρουαρίου. Ωστόσο, μετά τη δοκιμή του ελαττώματος, αυτή η ομάδα το εκχώρησε ως ευπάθεια χαμηλής σοβαρότητας και δήλωσε την 1η Μαρτίου ότι θα διορθώσει το πρόβλημα με αντιστοίχιση βασίζεται σε προγράμματα οδήγησης και όχι σε περιγραφείς διεπαφής κλάσης. Στις 11 Μαΐου, η ομάδα του Chrome OS παρείχε μια ενημέρωση προόδου, αλλά επειδή δεν μπόρεσε να διορθώσει το ελάττωμα στις προβλεπόμενες 90 ημέρες, το ζήτημα αποκαλύφθηκε δημόσια στις 24 Μαΐου.
Δεν είναι σαφές πότε θα κυκλοφορήσει μια ενημέρωση κώδικα, αλλά είναι Είναι σημαντικό να σημειωθεί ότι πρόκειται για μια τοπική ευπάθεια που απαιτεί από έναν εισβολέα να εισάγει με μη αυτόματο τρόπο ένα USB για να παραβιάσει τη συσκευή και τον πυρήνα της. Δεν είναι δυνατή η απομακρυσμένη εκμετάλλευση του, αλλά λειτουργεί ως φορέας επίθεσης για άλλα exploits, εάν αφήσετε τον υπολογιστή σας με Chrome OS αφύλακτο κάπου, ακόμα κι αν είναι κλειδωμένος.