Κατά τη διάρκεια του συνεδρίου προγραμματιστών Google I/O 2019, η Google ανακοίνωσε το Project Mainline - μια προσπάθεια επιτάχυνσης των ενημερώσεων ασφαλείας μέσω μονάδων στο Android Q.
Ο κατακερματισμός της έκδοσης Android είναι μια από τις μεγαλύτερες προκλήσεις που πρέπει να λύσει η Google. Ενώ τα smartphone Google Pixel είναι από τα πιο ασφαλή smartphone στην αγορά χάρη στις απίστευτες προσπάθειες των Pixel και Οι μηχανικοί του AOSP, πολλά άλλα smartphone είναι ευάλωτα σε εκμεταλλεύσεις λόγω εκτέλεσης ξεπερασμένων εκδόσεων λειτουργικού συστήματος ή παρωχημένης ενημέρωσης κώδικα ασφαλείας επίπεδα. Η τελευταία αναφορά από τη Gartner δείχνει ότι το Android 9 Pie είναι ένα απίστευτα ασφαλές λειτουργικό σύστημα μόνο περίπου 10% από όλα τα smartphone είναι στην κυκλοφορία.
Η Google αντιμετωπίζει τον κατακερματισμό των εκδόσεων με πρωτοβουλίες όπως π.χ Project Treble
, μια σημαντική ανακατασκευή του Android που οδηγεί σε διαχωρισμό μεταξύ των στοιχείων πλαισίου Android OS και των στοιχείων HAL του προμηθευτή, εκτεταμένο LTS πυρήνα Linux, υποχρεωτικές ενημερώσεις κώδικα ασφαλείας για 2 χρόνια και Συνιστάται Android Enterprise. Στο Google I/O 2019, η εταιρεία ανακοίνωσε την τελευταία της πρωτοβουλία για την επιτάχυνση των ενημερώσεων ασφαλείας: Project Mainline για Android Q.Project Mainline: Ενημέρωση λειτουργικών μονάδων συστήματος Android Q μέσω του Google Play
Τους τελευταίους μήνες, παρακολουθήσαμε κάτι που ονομάζεται "ΚΟΡΥΦΗ" στην ΑΟΣΠ. APEX, ή Android Pony EXpress, είναι ένας νέος τύπος πακέτου που είναι παρόμοιος με ένα APK. Ωστόσο, αντί να στεγάζει μια εφαρμογή Android, το APEX φιλοξενεί μια εγγενή βιβλιοθήκη ή βιβλιοθήκη τάξης, προμεταγλωττισμένος κώδικας που μπορεί να κληθεί από εφαρμογές Android, Hardware Abstraction Layers (HAL) και το Android Runtime (ART). Όπως το APK, τα πακέτα APEX μπορούν να προβληθούν στους χρήστες μέσω παραδοσιακών μεθόδων εγκατάστασης πακέτων στο Android: το Google Play Store/διαχειριστής πακέτων ή το ADB.
Οι μονάδες APEX μπορούν να χρησιμοποιηθούν πολύ νωρίτερα στη διαδικασία εκκίνησης από τις μονάδες που βασίζονται σε APK και υποστηρίζονται επίσης από dm-verity και Android Verified Boot για αυξημένη ασφάλεια. Η τοποθέτηση των εικόνων ωφέλιμου φορτίου στο πακέτο APEX απαιτεί το πρόγραμμα οδήγησης βρόχου του πυρήνα Linux, επομένως οι συσκευές χρειάζονται την έκδοση 4.9+ του πυρήνα Linux. Η διαχείριση των πακέτων APEX απαιτεί τον νέο δαίμονα APEX, που παρουσιάστηκε με το Android Q. Αν και είναι δυνατό για συσκευές που αναβαθμίζονται σε Android Q με πυρήνα Linux 4.4 να υποστηρίζουν APEX (όπως το Google Pixel 3), οι OEM πρέπει να συγχωνεύσουν πρόσθετες ενημερώσεις κώδικα για να λειτουργήσει. Ως επί το πλείστον, μόνο οι συσκευές που ξεκινούν με Android Q θα υποστηρίζουν το Project Mainline.
Οι διανομές GNU/Linux ήταν από καιρό σε θέση να ενημερώνουν στοιχεία συστήματος ανεξάρτητα από πλήρεις ενημερώσεις συστήματος, αλλά το Android πάντα απαιτούσε μια ενημέρωση συστήματος για να τα ενημερώσει. Η Google επέλεξε να μην διανείμει αυτά τα πακέτα χρησιμοποιώντας παραδοσιακά συστήματα διαχείρισης πακέτων Linux, όπως dpkg και rpm, επειδή δεν προστατεύουν τα πακέτα μετά την εγκατάσταση χρησιμοποιώντας το dm-verity.
Δεδομένου ότι χρειάζεται πολύς χρόνος για τους κατασκευαστές συσκευών να κυκλοφορήσουν ενημερώσεις, πολλές συσκευές μπορεί να έχουν ξεπερασμένα στοιχεία συστήματος για ημέρες, εβδομάδες ή και μήνες. Διανέμοντας αυτά τα στοιχεία ως πακέτα APEX, η Google μπορεί να παρακάμψει τη μακρά αναμονή για τους OEM να κυκλοφορήσουν μια ενημέρωση συστήματος.
Ωστόσο, η Google δεν ασκεί απόλυτο έλεγχο σε όλα τα στοιχεία του συστήματος. Η εταιρεία έχει συνεργαστεί με τους OEM συνεργάτες της για να επιλέξει ένα σύνολο εφαρμογών συστήματος (ως APK) και στοιχείων συστήματος (ως APEX πακέτα) για να διαμορφωθούν ώστε να μπορούν να βελτιώσουν την ασφάλεια, το απόρρητο και τη συνέπεια για όλους τους χρήστες με συσκευές που εκκινούν με Android Q. Παρόλο που η Google δεν έχει αποκαλύψει ακριβώς πώς κατέληξαν στο αρχικό σύνολο στοιχείων του συστήματος, το έχουν κάνει μας παρείχε τη λίστα των στοιχείων του συστήματος σε συσκευές που κυκλοφορούν με Android Q που θα μπορούν να ενημερώνονται έως Google:
- Ασφάλεια: Media Codecs, Media Framework Components, DNS Resolver, Conscrypt
- Μυστικότητα: Documents UI, Permission Controller, ExtServices
- Συνοχή: Δεδομένα ζώνης ώρας, ANGLE (συμμετοχή προγραμματιστών), Μεταδεδομένα μονάδας, στοιχεία δικτύου, Σύνδεση αποκλειστικής πύλης, Διαμόρφωση άδειας δικτύου
Οι άμεσες ενημερώσεις για το Conscrypt, τη βιβλιοθήκη ασφαλείας Java και τα στοιχεία πολυμέσων, τα οποία «αποτελούσαν σχεδόν το 40% των πρόσφατα διορθωμένων τρωτών σημείων», θα κάνουν τις συσκευές Android πιο ασφαλείς. Οι ενημερώσεις στον ελεγκτή αδειών θα βελτιώσουν το απόρρητο. Η τυποποίηση των δεδομένων ζώνης ώρας θα είναι χρήσιμη για να διατηρείτε τις συσκευές Android σε όλο τον κόσμο στην ίδια σελίδα κάθε φορά που μια χώρα αποφασίζει να αλλάξει τη ζώνη ώρας της. Επιπλέον, οι προγραμματιστές παιχνιδιών θα επωφεληθούν από την τυποποίηση του ΓΩΝΙΑ.
Η Google ξεκινά με αυτά τα στοιχεία συστήματος, αλλά θα μπορούσε να προσθέσει περισσότερα σε μελλοντικές εκδόσεις Android. Από αυτά τα 13 στοιχεία, τα δεδομένα Conscrypt, Timezone, Media Codecs και Media Framework Components θα παραδοθούν ως πακέτα APEX. Τα άλλα 9 στοιχεία είναι APK συστήματος. Ενώ τόσο το APEX όσο και τα APK είναι παραδοτέα μέσω του Google Play, ενημερώνοντας ένα πακέτο APEX θα απαιτήσει επανεκκίνηση. Η Google δεν έχει μοιραστεί ακόμη τη ροή διεπαφής χρήστη για το πώς θα συμβεί αυτό, αλλά μόλις ξεκινήσουν οι συσκευές να ξεκινούν με Android Q, πιθανότατα θα μάθουμε περισσότερες πληροφορίες σχετικά με τα πακέτα Project Mainline και APEX.