Εάν παρακολουθείτε τις εξελίξεις στο Android, πρέπει να έχετε ακούσει αρκετά το όνομα "Verified Boot" τα τελευταία δύο χρόνια. Η Google εισήγαγε τη λειτουργία ασφαλείας στο Android 4.4 (Kitkat), με εντελώς μη ενοχλητικό τρόπο και σιγά-σιγά την αύξηση της προβολής της στις νεότερες εκδόσεις του λειτουργικού συστήματος Android.
Τις τελευταίες δύο μέρες έχουμε δει νέα σχετικά με την παρουσία ενός " Strictly Enforced Verified Boot " στην τελευταία έκδοση της Google για το πιο χρησιμοποιούμενο κινητό λειτουργικό σύστημα παγκοσμίως. Το Android Nougat θα χρησιμοποιήσει υψηλότερο επίπεδο ελέγχου ασφαλείας όταν η συσκευή εκκινήσει. Ενώ, στο Marshmallow, το Verified Boot έδωσε μόνο στον χρήστη μια προειδοποίηση, σε περίπτωση που εντοπίσει κάτι κακό με το διαμέρισμα του συστήματος, το Android Nougat θα το κάνει ένα ακόμη βήμα και θα χρησιμοποιήσει αυτό που η Google ονομάζει "Strictly Enforced Verified Boot" δεν επιτρέπεται η εκκίνηση της συσκευής καθόλου, σε περίπτωση που ανιχνεύσει ανωμαλίες στο διαμέρισμα, αλλαγές στο bootloader ή την ύπαρξη "κακόβουλου" κώδικα στη συσκευή. Αυτό προκαλεί την ερώτηση: "Τι ακριβώς σημαίνει αυτό για τους χρήστες;", αποδεικνύεται ότι η απάντηση διαφέρει για τις δύο κύριες κατηγορίες χρηστών του Android (casual και power users) και θα δώσουμε την απάντηση και για τους δύο .
Έλεγχος εκκίνησης αυστηρής εφαρμογής
Πρώτον, λίγο φόντο στο Verified Boot: Συνήθως, όταν το Android εκτελεί μια δοκιμή επαλήθευσης στα διαμερίσματα, το κάνει με τη διαίρεση των κατατμήσεων σε μπλοκ των 4KiB και τον έλεγχο τους έναντι ενός υπογεγραμμένου πίνακα. Αν τα πάντα ξεπεράσουν, αυτό σημαίνει ότι το σύστημα είναι απόλυτα καθαρό. Ωστόσο, εάν κάποια μπλοκ βγαίνουν να αλλοιωθούν ή να αλλοιωθούν, το Android ενημερώνει τον χρήστη για τα προβλήματα και αφήνει τον χρήστη να το λύσει (ή όχι).
Το μόνο που πρόκειται να αλλάξει με το Android Nougat και το Strictly Enforced Verified Boot. Όταν η Επαληθευμένη εκκίνηση εκτελείται σε κατάσταση Ενίσχυσης, δεν θα ανεχθεί τυχόν σφάλματα στα διαμερίσματα. Αν εντοπίσει τυχόν προβλήματα, δεν θα επιτρέψει στη συσκευή να εκκινήσει και ενδέχεται να επιτρέψει στον χρήστη να εκκινήσει σε περιβάλλον ασφαλούς λειτουργίας, για να προσπαθήσει να διορθώσει τα προβλήματα. Ωστόσο, η Strictly Enforced Verified Boot δεν είναι απλώς ένας έλεγχος έναντι κακών δεδομένων. Μπορεί επίσης να διορθώσει λάθη σε μπλοκ δεδομένων, επίσης. Αυτό καθίσταται εφικτό από την παρουσία κωδικών διόρθωσης σφαλμάτων προς τα εμπρός, τα οποία μπορούν να χρησιμοποιηθούν για τη διόρθωση σφαλμάτων στα μπλοκ δεδομένων. Ωστόσο, αυτό δεν μπορεί πάντα να λειτουργήσει, και σε περιπτώσεις που δεν συμβαίνει, είστε λίγο πολύ νεκρός στο νερό.
Strictly Enforced Verified Boot: Ο καλός, ο κακός και ο άσχημος
1. Το καλό
Η ενεργοποίηση της επαληθευμένης εκκίνησης σε συσκευές Android θα ενισχύσει την ασφάλεια των συσκευών. Σε περίπτωση που η συσκευή προσβληθεί από κακόβουλο λογισμικό, το Strictly Enforced Verified Boot θα το εντοπίσει την επόμενη εκκίνηση της συσκευής σας και θα σας διορθώσει ή ίσως σας ζητήσει να κάνετε κάτι γι 'αυτό.
Αυτή η λειτουργία θα ελέγξει επίσης για καταστροφή δεδομένων και στις περισσότερες περιπτώσεις θα είναι σε θέση να διορθώσει τυχόν σφάλματα που έχουν εισαχθεί στα δεδομένα, χάρη στους κώδικες FEC. Η Google χρησιμοποιεί κώδικες FEC που μπορούν να διορθώσουν ένα άγνωστο σφάλμα δυαδικών ψηφίων στα 255 bit . Σίγουρα, αυτό φαίνεται σαν ένας πολύ μικρός αριθμός, αλλά ας το θέσουμε σε προοπτική, σε σχέση με μια κινητή συσκευή:
Σημείωση: Οι παρακάτω τιμές έχουν ληφθεί από την ανάρτηση ιστολογίου από τον Google Engineer Sami Tolvanen σε προγραμματιστές Android.
Το Google θα μπορούσε να χρησιμοποιήσει κωδικούς FEC RS (255, 223): αυτοί οι κωδικοί θα μπορούσαν να διορθώσουν 16 άγνωστα σφάλματα δυαδικών ψηφίων στα 255 bit, αλλά ο εναέριος χώρος εξαιτίας των 32 bits των πλεονασμάτων δεδομένων θα ήταν σχεδόν 15% και αυτό είναι πολλά, ειδικά σε κινητές συσκευές. Προσθέστε αυτό στο γεγονός ότι το Android είναι το κυρίαρχο λειτουργικό σύστημα σε smartphones με προϋπολογισμό που φτάνουν με μνήμες 4-8 GB και το 15% επιπλέον χώρο σίγουρα μοιάζει πολύ.
Με τη θυσία των δυνατοτήτων διόρθωσης σφαλμάτων, υπέρ της εξοικονόμησης χώρου, η Google αποφάσισε να χρησιμοποιήσει τους κωδικούς FEC RS (255, 253). Αυτοί οι κώδικες μπορούν να διορθώσουν μόνο ένα άγνωστο σφάλμα στα 255 bit, αλλά το γενικό διάστημα είναι μόνο 0, 8%.
Σημείωση: Το RS (255, N) είναι μια αναπαράσταση των κωδικών Reed-Solomon, οι οποίοι είναι ένας τύπος κώδικα διόρθωσης σφαλμάτων.
2. Το κακό
Έχετε ακούσει ποτέ για "Υπάρχουν δύο πλευρές σε ένα νόμισμα"; Φυσικά έχετε. Ενώ οι προθέσεις της Google με Strictly Enforced Verified Boot ήταν αναμφίβολα καθαρές ως μωρό μονόκερος, έρχονται με τα δικά τους προβλήματα.
Όταν ελέγχει αυστηρά την αυστηρή εκκίνηση για κακόβουλο λογισμικό, ελέγχει επίσης για παράνομες τροποποιήσεις στον πυρήνα, στον bootloader και σε άλλα πράγματα που δεν θα σας κουράσω, αλλά αυτό σημαίνει ότι το Android Nougat πιθανώς θα συναντήσει πολλά προβλήματα με ριζοβολία και αναβοσβήνοντας προσαρμοσμένες ROM, επειδή η Επαληθευμένη εκκίνηση δεν μπορεί να κάνει διάκριση μεταξύ ανεπιθύμητου κώδικα κακόβουλου λογισμικού και του κώδικα που ξεκλειδώνει το bootloader. Αυτό σημαίνει ότι εάν η συσκευή σας είχε κλειδωμένο bootloader και ο ΚΑΕ σας δεν επιτρέπει το ξεκλείδωμα του bootloader, δεν μπορείτε να το κάνετε. Ας ελπίσουμε ότι κάποιος θα καταλάβει μια εκμετάλλευση για αυτό.
Ευτυχώς, οι περισσότεροι άνθρωποι που ρίζα τις συσκευές τους και flash Custom ROMs για τις πρόσθετες δυνατότητες και λειτουργικότητα, πηγαίνουν με φιλικά προς την ανάπτυξη κινητά τηλέφωνα, όπως το Nexus. Υπάρχουν πολλά που πρέπει να εξετάσουμε σχετικά με αυτό το θέμα και σίγουρα δεν είναι το τέλος των Custom ROMs, τουλάχιστον όχι σε συσκευές που έρχονται με ξεκλειδωμένο bootloader ή που επιτρέπουν το ξεκλείδωμα του bootloader. Ωστόσο, συσκευές όπως τα τηλέφωνα Samsung δεν επιτρέπουν επίσημα την αποδέσμευση του bootloader και σε αυτές τις συσκευές το ξεκλείδωμα του bootloader θα θεωρηθεί σίγουρα ως "πρόβλημα" από την Verified Boot, εμποδίζοντας την εκκίνηση της συσκευής.
Ένα άλλο πρόβλημα που θα προκύψει με την Strictly Enforced Verified Boot είναι αυτή που θα επηρεάσει ακόμα και τους χρήστες που δεν ενδιαφέρονται πραγματικά για την απόκτηση δικαιωμάτων root ή για την εγκατάσταση προσαρμοσμένων ROM. Με την πάροδο του χρόνου, καθώς χρησιμοποιείτε τη συσκευή σας, υπάρχει φυσιολογική καταστροφή δεδομένων στη μνήμη. όχι λόγω της παρουσίας κακόβουλου λογισμικού, αλλά απλώς και μόνο επειδή συμβαίνει. Αυτό δεν είναι συνήθως πρόβλημα, ή τουλάχιστον δεν είναι τόσο σοβαρό πρόβλημα όπως το Verified Boot θα το μετατρέψει. Αν έχετε κατεστραμμένα δεδομένα που δεν μπορείτε να επιδιορθώσετε κατά την εκκίνηση, δεν θα επιτρέπεται η εκκίνηση της συσκευής σας από το Strictly Enforced Verified Boot. Κατά τη γνώμη μου, αυτό είναι ένα μεγαλύτερο, πιο ορατό ζήτημα, από κάποια διεφθαρμένα δεδομένα στο διαμέρισμα χρήστη.
3. Ο άσχημος
Σε όλα τα οφέλη της επιβολής Verified Boot και σε όλα τα πιθανά ζητήματα, το πιο ανησυχητικό, πιθανότατα, είναι το γεγονός ότι οι ΚΑΕ ενδέχεται να ξεκινήσουν να κάνουν κατάχρηση για να κλειδώσουν τις συσκευές τους, έτσι ώστε οι χρήστες να μην μπορούν να χρησιμοποιούν το Android για αυτό που σήμαινε να είναι: ανοιχτό, φιλικό για τους προγραμματιστές και πλήρως προσαρμόσιμο. Το Strictly Enforced Verified Boot θα δώσει στα χέρια των ΚΑΕ τη δυνατότητα να εξασφαλίσουν ότι οι χρήστες δεν θα μπορούν να ξεκλειδώσουν τους bootloaders στις συσκευές τους, απαγορεύοντάς τους έτσι να εγκαταστήσουν Custom ROMs και να βελτιώσουν τα εργαλεία τους, όπως τα Xposed Modules.
Android Nougat: Μια ριζική αλλαγή στον τρόπο λειτουργίας του Android;
Παρόλο που είμαστε βέβαιοι ότι οι προθέσεις της Google ήταν απλά να αποφευχθούν τυχόν προβλήματα σε τυχαίους χρήστες Android, οι οποίοι δεν θα ξέρουν τι πρέπει να κάνουν σε περίπτωση που η συσκευή τους έχει προσβληθεί από κακόβουλο λογισμικό ή αν η μνήμη τους είχε καταστραφεί τα μπλοκ δεδομένων, και ο κατασκευαστής είναι το τέλειο εργαλείο για να κλειδώσετε τους χρήστες στη ζωή τους με αυτό που τους προσφέρθηκε και τίποτα περισσότερο.
Οπωσδήποτε κάποιος θα καταλάβει μια εκμετάλλευση ή μια λύση για αυτήν την κατάσταση και ελπίζουμε κάπως να το κάνουμε, με το αληθινό πνεύμα του Android. Μέχρις ότου κάποιος καταλάβει μια λύση, όμως, όλοι εμείς, όπως μπορούν να κάνουν οι χρήστες, είναι να εξασφαλίσουμε ότι θα αγοράσουμε τις συσκευές μας από κατασκευαστές φιλικούς προς τους κατασκευαστές.
Επιλεγμένη ευγένεια εικόνας: Flickr