Πώς λειτουργούν οι μηνιαίες ενημερώσεις ενημερωμένης έκδοσης κώδικα ασφαλείας Android

Αναρωτηθήκατε ποτέ πώς λειτουργούν οι μηνιαίες ενημερώσεις κώδικα ασφαλείας Android; Μην αναρωτιέστε πια, καθώς έχουμε μόνο το primer για να κατανοήσετε ολόκληρη τη διαδικασία.

Η Google δημοσιεύει μηνιαία δελτία ασφαλείας από τον Αύγουστο του 2015. Αυτά τα ενημερωτικά δελτία ασφαλείας περιέχουν μια λίστα με αποκαλυπτόμενα τρωτά σημεία ασφαλείας που έχουν επιδιορθωθεί και επηρεάζουν το πλαίσιο Android, τον πυρήνα του Linux και άλλα στοιχεία προμηθευτή κλειστού κώδικα. Κάθε ευπάθεια στα δελτία είτε ανακαλύφθηκε από την Google είτε γνωστοποιούνται στην εταιρεία. Κάθε ευπάθεια που αναφέρεται έχει έναν αριθμό κοινών ευπαθειών και εκθέσεων (CVE), μαζί με αναφορές, τον τύπο της ευπάθειας, μια αξιολόγηση σοβαρότητας και την έκδοση AOSP που επηρεάζεται (αν εφαρμόσιμος). Ωστόσο, παρά τη φαινομενικά απλοϊκή διαδικασία πίσω από τον τρόπο λειτουργίας των ενημερώσεων κώδικα ασφαλείας Android, στην πραγματικότητα υπάρχει κάτι περίπλοκο πίσω και πίσω στα παρασκήνια που επιτρέπει στο τηλέφωνό σας να εμφανίζεται μηνιαία ή (ελπίζουμε) σχεδόν μηνιαία μπαλώματα.

Τι κάνει στην πραγματικότητα μια ενημερωμένη έκδοση κώδικα ασφαλείας;

Ίσως έχετε παρατηρήσει ότι κάθε μήνα, υπάρχουν στην πραγματικότητα δύο επίπεδα ενημέρωσης κώδικα ασφαλείας. Η μορφή αυτών των ενημερώσεων κώδικα είναι είτε ΕΕΕΕ-ΜΜ-01 ή ΕΕΕΕ-ΜΜ-05. Ενώ το ΕΕΕΕ και το ΜΜ αντιπροσωπεύουν προφανώς το έτος και τον μήνα αντίστοιχα, το "01" και το "05" με σύγχυση δεν σημαίνει στην πραγματικότητα την ημέρα του μήνα κατά τον οποίο κυκλοφόρησε αυτό το επίπεδο ενημέρωσης κώδικα ασφαλείας. Αντίθετα, το 01 και το 05 είναι στην πραγματικότητα δύο διαφορετικά επίπεδα ενημερωμένης έκδοσης κώδικα ασφαλείας που κυκλοφορούν την ίδια μέρα κάθε μήνα - το επίπεδο ενημέρωσης κώδικα με το 01 στο τέλος περιέχει διορθώσεις στο πλαίσιο Android, αλλά δεν ενημερώσεις κώδικα προμηθευτών ή ενημερώσεις κώδικα του πυρήνα του Linux upstream. Οι ενημερώσεις κώδικα προμηθευτών, όπως ορίσαμε παραπάνω, αναφέρονται σε επιδιορθώσεις σε στοιχεία κλειστού κώδικα, όπως προγράμματα οδήγησης για Wi-Fi και Bluetooth. Το επίπεδο ενημερωμένης έκδοσης κώδικα ασφαλείας που υποδηλώνεται με -05 περιέχει αυτές τις ενημερώσεις κώδικα του προμηθευτή καθώς και ενημερώσεις κώδικα στον πυρήνα του Linux. Ρίξτε μια ματιά στον παρακάτω πίνακα που μπορεί να βοηθήσει στην κατανόηση.

Μηνιαίο επίπεδο ενημέρωσης κώδικα ασφαλείας

2019-04-01

2019-04-05

Περιέχει ενημερώσεις πλαισίου Απριλίου

Ναί

Ναί

Περιέχει Πωλητές Απριλίου + μπαλώματα πυρήνα

Οχι

Ναί

Περιέχει επιδιορθώσεις πλαισίου Μαρτίου

Ναί

Ναί

Περιέχει Πωλητές Μαρτίου + μπαλώματα πυρήνα

Ναί

Ναί

Φυσικά, ορισμένοι κατασκευαστές OEM ενδέχεται να επιλέξουν να εισάγουν τις δικές τους ενημερώσεις κώδικα και ενημερώσεις σε ενημερώσεις ασφαλείας. Οι περισσότεροι OEM έχουν τη δική τους άποψη για το Android, επομένως είναι λογικό να έχετε, για παράδειγμα, μια ευπάθεια σε ένα τηλέφωνο Samsung που δεν υπάρχει σε ένα Huawei. Πολλοί από αυτούς τους ΚΑΕ δημοσιεύουν επίσης τα δικά τους δελτία ασφαλείας.

  • Google Pixel
  • Huawei
  • LG
  • Motorola
  • HMD Global
  • Samsung

Το χρονοδιάγραμμα μιας ενημέρωσης κώδικα ασφαλείας από την Google στο τηλέφωνό σας

Οι ενημερώσεις κώδικα ασφαλείας έχουν ένα χρονοδιάγραμμα που εκτείνεται περίπου σε 30 ημέρες, αν και δεν μπορεί κάθε OEM να επωφεληθεί από το πλήρες μήκος αυτού του χρονοδιαγράμματος. Ας ρίξουμε μια ματιά στο Ενημερωμένη έκδοση κώδικα ασφαλείας Μαΐου 2019 για παράδειγμα, και μπορούμε να αναλύσουμε ολόκληρο το χρονοδιάγραμμα πίσω από τη δημιουργία αυτής της ενημέρωσης κώδικα. Εταιρείες όπως Ουσιώδης καταφέρνουν να βγάλουν τις ενημερώσεις ασφαλείας τους την ίδια μέρα όπως το Google Pixel, πώς το κάνουν; Η σύντομη και απλή απάντηση είναι ότι είναι ένα Συνεργάτης Android. Το δελτίο ασφαλείας Μαΐου 2019 δημοσιεύτηκε στις 6 Μαΐου, με τα Google Pixels και το Essential Phone να λαμβάνουν σχεδόν άμεσες ενημερώσεις.

Τι σημαίνει να είσαι συνεργάτης Android

Όχι οποιαδήποτε εταιρεία μπορεί να είναι συνεργάτης Android, αν και ομολογουμένως είναι βασικά κάθε σημαντικός OEM Android. Οι συνεργάτες Android είναι οι εταιρείες στις οποίες χορηγείται άδεια χρήσης της επωνυμίας Android σε υλικό μάρκετινγκ. Τους επιτρέπεται επίσης να αποστέλλουν Υπηρεσίες Google Mobile (GMS - αναφέρεται σχεδόν σε όλες τις υπηρεσίες Google) εφόσον πληρούν τις απαιτήσεις που περιγράφονται στο Έγγραφο ορισμού συμβατότητας (CDD) και περάστε τη σουίτα δοκιμής συμβατότητας (CTS), τη σουίτα δοκιμής προμηθευτή (VTS), τη σουίτα δοκιμών Google (GTS) και μερικές άλλες δοκιμές. Υπάρχουν σαφείς διαφορές στη διαδικασία ενημέρωσης κώδικα ασφαλείας για εταιρείες που δεν είναι έναν συνεργάτη Android.

  • Οι ενημερώσεις κώδικα πλαισίου Android είναι διαθέσιμες σε αυτούς αφού συγχωνευτούν στο AOSP 1-2 ημέρες πριν από την κυκλοφορία του ενημερωτικού δελτίου ασφαλείας.
  • Οι ενημερώσεις κώδικα του πυρήνα Linux upstream μπορούν να επιλεγούν μόλις διατεθούν.
  • Διατίθενται επιδιορθώσεις από προμηθευτές SoC για στοιχεία κλειστού κώδικα, ανάλογα με τις συμφωνίες με τον προμηθευτή SoC. Σημειώστε ότι εάν ο προμηθευτής έχει δώσει στον OEM πρόσβαση στον πηγαίο κώδικα του στοιχείου(ων) κλειστού κώδικα, τότε ο OEM μπορεί να επιδιορθώσει μόνος του το(τα) πρόβλημα(α). Εάν ο OEM δεν έχει πρόσβαση στον πηγαίο κώδικα, τότε πρέπει να περιμένει τον προμηθευτή να εκδώσει μια επιδιόρθωση.

Εάν είστε συνεργάτης Android, το έχετε αμέσως πολύ πιο εύκολο. Οι συνεργάτες Android ειδοποιούνται για όλα τα ζητήματα πλαισίου Android και ζητήματα πυρήνα Linux τουλάχιστον 30 ημέρες πριν από τη δημοσιοποίηση του ενημερωτικού δελτίου. Η Google παρέχει ενημερώσεις κώδικα για όλα τα ζητήματα για συγχώνευση και δοκιμή των OEM, αν και οι ενημερώσεις κώδικα στοιχείων προμηθευτή εξαρτώνται από τον προμηθευτή. Ενημερωμένες εκδόσεις κώδικα για ζητήματα πλαισίου Android που αποκαλύφθηκαν στο ενημερωτικό δελτίο ασφαλείας του Μαΐου 2019, για παράδειγμα, παρασχέθηκαν σε συνεργάτες Android τουλάχιστον από τις 20 Μαρτίου 2019*. Είναι ένα παρτίδα του επιπλέον χρόνου.

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

Γιατί πρέπει να περιμένω τόσο πολύ για να λάβω μια ενημερωμένη έκδοση κώδικα ασφαλείας στο τηλέφωνό μου;

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

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

Αν και όλα αυτά είναι έγκυροι λόγοι για μια επιχείρηση να μην κυκλοφορήσει μια ενημερωμένη έκδοση κώδικα ασφαλείας, ο τελικός χρήστης δεν ενδιαφέρεται πάντα για κανένα από αυτά. Ομολογουμένως, ο τελικός χρήστης δεν ενδιαφέρεται πάντα για τις ενημερώσεις κώδικα ασφαλείας, αν και θα έπρεπε. Πρωτοβουλίες όπως το Project Treble, εκτεταμένο Linux LTS, και Project Mainline βοηθούν στην εξάλειψη των τεχνικών δυσκολιών της συγχώνευσης αυτών των ενημερώσεων κώδικα ασφαλείας, αλλά δεν αρκεί για να κάνουμε τους OEM να προσπαθούν διαρκώς να δημοσιεύουν ενημερώσεις. Με μια γενική εικόνα πυρήνα ή GKI, οι προμηθευτές SoC και οι OEM θα έχουν πιο εύκολο χρόνο συγχώνευσης ενημερώσεων κώδικα του πυρήνα Linux upstream, αν και πιθανότατα δεν θα δούμε τις πρώτες συσκευές με GKI μέχρι το επόμενο έτος.

Αλλά μια ενδιαφέρουσα πληροφορία που οι περισσότεροι δεν γνωρίζουν είναι ότι οι μεγάλοι ΚΑΕ πρέπει παρέχει "τουλάχιστον τέσσερις ενημερώσεις ασφαλείας" εντός ενός έτους από την κυκλοφορία μιας συσκευής και 2 χρόνια ενημερώσεων συνολικά. Η Google δεν έχει επιβεβαιώσει αυτούς τους συγκεκριμένους όρους, αλλά η εταιρεία επιβεβαίωσε ότι «εργάστηκε για την οικοδόμηση επιδιόρθωσης ασφαλείας στις συμφωνίες OEM [τους]». Όσον αφορά τις συσκευές Android Enterprise Recommended (AER), οι συσκευές πρέπει να λαμβάνουν ενημερώσεις ασφαλείας εντός 90 ημερών από την κυκλοφορία για 3 χρόνια. Απαιτούνται ανθεκτικές συσκευές AER για τη λήψη 5 χρόνια ενημερώσεων ασφαλείας. Οι συσκευές Android One υποτίθεται ότι λαμβάνουν ενημερώσεις ασφαλείας κάθε μήνα για 3 χρόνια.

Τι περιέχει μια ενημερωμένη έκδοση κώδικα ασφαλείας;

Μια ενημερωμένη έκδοση κώδικα ασφαλείας είναι απλώς μια άλλη ενημέρωση, αν και γενικά είναι πολύ μικρότερη με αλλαγές σε μεμονωμένα πλαίσια και λειτουργικές μονάδες συστήματος αντί για βελτιώσεις ή αλλαγές σε όλο το σύστημα. Κάθε μήνα, η Google παρέχει σε OEM συσκευών ένα αρχείο zip που περιέχει ενημερώσεις κώδικα για όλες τις κύριες εκδόσεις Android που υποστηρίζονται ακόμη αυτήν τη στιγμή, μαζί με μια σουίτα δοκιμών ασφαλείας. Αυτή η σουίτα δοκιμών βοηθά τους OEM να εντοπίσουν κενά στις ενημερώσεις κώδικα ασφαλείας, για να εξασφαλίσουν ότι δεν θα τους λείψει τίποτα και ότι τα patches συγχωνεύτηκαν κατάλληλα. Καθώς περνάει ο μήνας, η Google ενδέχεται να κάνει μικρές αναθεωρήσεις, όπως να αποφασίσει ότι μια συγκεκριμένη ενημέρωση κώδικα είναι προαιρετική, ειδικά εάν υπάρχουν προβλήματα κατά την εφαρμογή της.

Τι γίνεται με custom ROM;

Εάν το smartphone σας δεν λαμβάνει πολλές ενημερώσεις ασφαλείας, αυτό δεν σημαίνει απαραίτητα ότι είναι καλύτερα να μεταβείτε σε μια προσαρμοσμένη ROM. Αν και είναι αλήθεια ότι θα λαμβάνετε ενημερώσεις ασφαλείας που δεν θα είχατε λάβει διαφορετικά, αυτό είναι μόνο το ήμισυ της ιστορίας. Το ξεκλείδωμα του bootloader σάς αφήνει επιρρεπείς σε φυσικές επιθέσεις στη συσκευή σας, ακόμα κι αν από την πλευρά του λογισμικού, η ασφάλεια είναι σκληρή. Αυτό δεν σημαίνει ότι δεν πρέπει να χρησιμοποιείτε προσαρμοσμένες ROM, απλώς υπάρχουν άλλες ανησυχίες όσον αφορά τη χρήση τους που δεν ισχύουν εάν ο bootloader σας παραμένει κλειδωμένος. Εάν ανησυχείτε περισσότερο για την πλευρά του λογισμικού, τότε εξακολουθείτε να είστε καλύτερα με μια προσαρμοσμένη ROM που λαμβάνει συχνές ενημερώσεις κώδικα ασφαλείας.

Αλλά θυμάστε ότι μιλήσαμε για τη διαφορά μεταξύ των ενημερωμένων εκδόσεων ΕΕΕΕ-ΜΜ-01 και ΕΕΕΕ-ΜΜ-05; Το επίπεδο ενημέρωσης κώδικα -05 περιέχει ενημερώσεις κώδικα του πυρήνα Linux καθώς και ενημερώσεις κώδικα προμηθευτών - ενημερώσεις κώδικα που εφαρμόζονται σε λογισμικό κλειστού κώδικα. Αυτό σημαίνει ότι οι προγραμματιστές προσαρμοσμένης ROM βρίσκονται στο έλεος οποιουδήποτε OEM για το οποίο αναπτύσσουν, και εάν ο OEM κυκλοφορεί ενημερωμένες σταγόνες ή όχι. Αυτό είναι καλό για συσκευές που εξακολουθούν να ενημερώνονται από τον κατασκευαστή, αλλά για συσκευές που δεν ενημερώνονται, οι ενημερώσεις κώδικα που εφαρμόζονται μπορούν να εφαρμοστούν μόνο στο πλαίσιο Android και στον πυρήνα του Linux. Αυτός είναι ο λόγος που το LineageOS Διασύνδεση εμπιστοσύνης δείχνει δύο επίπεδα ενημερωμένης έκδοσης κώδικα ασφαλείας - το ένα είναι πλατφόρμα, το άλλο είναι προμηθευτής. Παρόλο που οι προσαρμοσμένες ROM για συσκευές που δεν υποστηρίζονται δεν μπορούν να ενσωματώσουν πλήρως όλες τις τελευταίες ενημερώσεις κώδικα, θα είναι πιο ασφαλείς από την παλαιότερη, ξεπερασμένη ROM.