Tijdens de ontwikkelaarsconferentie Google I/O 2019 kondigde Google Project Mainline aan - een poging om beveiligingsupdates te versnellen via modules in Android Q.
De fragmentatie van Android-versies is een van de grootste uitdagingen die Google moet oplossen. Hoewel de Google Pixel-smartphones tot de veiligste smartphones op de markt behoren dankzij de ongelooflijke inspanningen van Pixel en AOSP-ingenieurs zijn veel andere smartphones kwetsbaar voor exploits als gevolg van het uitvoeren van verouderde besturingssysteemversies of verouderde beveiligingspatches niveaus. Uit het laatste rapport van Gartner blijkt dat Android 9 Pie tot nu toe een ongelooflijk veilig besturingssysteem is slechts ongeveer 10% van alle smartphones staat op de release.
Google pakt versiefragmentatie aan met initiatieven zoals Project Treble, een ingrijpende herinrichting van Android, resulterend in een scheiding tussen de Android OS-frameworkcomponenten en de HAL-componenten van de leverancier,
uitgebreide Linux-kernel LTS, verplichte updates van beveiligingspatches voor 2 jaar, en Android Enterprise Aanbevolen. Op Google I/O 2019 kondigde het bedrijf zijn nieuwste initiatief aan om beveiligingsupdates te versnellen: Project Mainline voor Android Q.Project Mainline: Android Q-systeemmodules updaten via Google Play
De afgelopen maanden hebben we iets gevolgd dat 'TOP"in AOSP. APEX, of Android Pony EXpress, is een nieuw pakkettype dat vergelijkbaar is met een APK. In plaats van een Android-applicatie te huisvesten, is APEX echter de thuisbasis van een native of class-bibliotheek, vooraf gecompileerde code die kan worden aangeroepen door Android-apps, Hardware Abstraction Layers (HAL) en Android Looptijd (ART). Net als de APK kunnen APEX-pakketten aan gebruikers worden aangeboden via traditionele pakketinstallatiemethoden in Android: de Google Play Store/pakketbeheerder of ADB.
APEX-modules kunnen veel eerder in het opstartproces worden gebruikt dan op APK gebaseerde modules, en ze worden ook ondersteund door dm-verity en Android Verified Boot voor meer veiligheid. Voor het aankoppelen van de payload-images in het APEX-pakket is de lusdriver van de Linux-kernel vereist, dus apparaten hebben Linux-kernelversie 4.9+ nodig. Voor het beheren van de APEX-pakketten is de nieuwe APEX-daemon vereist, geïntroduceerd met Android Q. Hoewel het mogelijk is dat apparaten upgraden naar Android Q met Linux-kernel 4.4 om APEX te ondersteunen (zoals de Google Pixel 3), moeten OEM's extra patches samenvoegen om het te laten werken. Voor het grootste deel ondersteunen alleen apparaten die met Android Q worden gelanceerd Project Mainline.
GNU/Linux-distributies zijn al lange tijd in staat systeemcomponenten bij te werken, onafhankelijk van volledige systeemupdates, maar Android heeft altijd een systeemupdate nodig gehad om ze bij te werken. Google heeft ervoor gekozen deze pakketten niet te distribueren met behulp van traditionele Linux-pakketbeheersystemen zoals dpkg en rpm, omdat ze pakketten na de installatie niet beschermen met dm-verity.
Omdat het lang duurt voordat apparaatfabrikanten updates uitrollen, kunnen veel apparaten dagen, weken of zelfs maanden verouderde systeemcomponenten bevatten. Door deze componenten als APEX-pakketten te distribueren, kan Google het lange wachten tot OEM's een systeemupdate uitrollen, omzeilen.
Google oefent echter geen volledige controle uit over alle systeemcomponenten. Het bedrijf heeft met zijn OEM-partners samengewerkt om een reeks systeemapps (als APK's) en systeemcomponenten (als APEX pakketten) om te modulariseren, zodat ze de beveiliging, privacy en consistentie kunnen verbeteren voor alle gebruikers met apparaten waarmee ze worden gestart Android Q. Hoewel Google niet precies heeft onthuld hoe ze op de eerste set systeemcomponenten zijn gekomen, hebben ze dat wel gedaan heeft ons de lijst met systeemcomponenten verstrekt op apparaten die worden gelanceerd met Android Q en die kunnen worden bijgewerkt vanaf Googlen:
- Beveiliging: Mediacodecs, Media Framework-componenten, DNS-resolver, Conscrypt
- Privacy: Documenten-UI, Toestemmingsbeheerder, ExtServices
- Samenhang: Tijdzonegegevens, ANGLE (opt-in voor ontwikkelaars), Module-metagegevens, Netwerkcomponenten, Captive Portal Login, Configuratie van netwerkrechten
Onmiddellijke updates van Conscrypt, de Java-beveiligingsbibliotheek en de mediacomponenten, die "goed waren voor bijna 40% van de recentelijk gepatchte kwetsbaarheden", zullen Android-apparaten veiliger maken. Updates voor de Permissiebeheerder zullen de privacy verbeteren. Het standaardiseren van de tijdzonegegevens zal nuttig zijn om Android-apparaten over de hele wereld op één lijn te houden wanneer een land besluit zijn tijdzone te wijzigen. Bovendien zullen game-ontwikkelaars profiteren van de standaardisatie van HOEK.
Google begint met deze systeemcomponenten, maar zou er in toekomstige Android-releases meer aan kunnen toevoegen. Van deze 13 componenten worden Conscrypt, Timezone data, Media Codecs en Media Framework Components geleverd als APEX-pakketten. De overige 9 componenten zijn systeem-APK's. Hoewel zowel APEX als APK's verkrijgbaar zijn via Google Play, wordt een APEX-pakket bijgewerkt zal een herstart vereisen. Google heeft de UI-stroom over hoe dit zal gebeuren nog niet gedeeld, maar zodra apparaten met Android Q worden gelanceerd, zullen we waarschijnlijk meer informatie te weten komen over Project Mainline- en APEX-pakketten.