Googles Project Mainline i Android Q vil hjælpe med at fremskynde sikkerhedsopdateringer

Under Google I/O 2019 udviklerkonferencen annoncerede Google Project Mainline – et forsøg på at fremskynde sikkerhedsopdateringer via moduler i Android Q.

Android-versionsfragmentering er en af ​​de største udfordringer for Google at løse. Mens Google Pixel-smartphones er blandt de mest sikre smartphones på markedet takket være den utrolige indsats fra Pixel og AOSP-ingeniører, mange andre smartphones er sårbare over for udnyttelser på grund af at køre forældede OS-versioner eller forældede sikkerhedsopdateringer niveauer. Den seneste rapport fra Gartner viser, at Android 9 Pie er et utroligt sikkert operativsystem endnu kun cirka 10 % af alle smartphones er på udgivelsen.

Oversigt over 2019 Mobile OS'er og Device Security: A Comparison of Platforms-rapporten. Kilde: Gartner. Via: Google.

Google tackler versionsfragmentering med initiativer som f.eks Projekt Diskant, en større ombygning af Android, der resulterer i en adskillelse mellem Android OS-rammekomponenterne og leverandørens HAL-komponenter,

udvidet Linux-kerne LTS, obligatoriske sikkerhedsopdateringer i 2 år, og Android Enterprise anbefales. På Google I/O 2019 annoncerede virksomheden sit seneste initiativ til at fremskynde sikkerhedsopdateringer: Project Mainline til Android Q.

Projektets hovedlinje: Opdatering af Android Q-systemmoduler via Google Play

I de sidste mange måneder har vi sporet noget, der hedder "SPIDS" i AOSP. APEX, eller Android Pony EXpress, er en ny pakketype, der ligner en APK. I stedet for at rumme en Android-applikation, er APEX imidlertid hjemsted for et indfødt eller klassebibliotek, prækompileret kode, der kan kaldes af Android-apps, Hardware Abstraction Layers (HAL) og Android Runtime (ART). Ligesom APK kan APEX-pakker serveres til brugere over traditionelle pakkeinstallationsmetoder i Android: Google Play Butik/pakkehåndtering eller ADB.

APEX-moduler kan bruges meget tidligere i opstartsprocessen end APK-baserede moduler, og de understøttes også af dm-verity og Android Verified Boot for øget sikkerhed. Montering af nyttelastbillederne i APEX-pakken kræver Linux-kernens loop-driver, så enheder har brug for Linux-kerneversion 4.9+. Håndtering af APEX-pakkerne kræver den nye APEX-dæmon, introduceret med Android Q. Selvom det er muligt for enheder, der opgraderer til Android Q med Linux-kerne 4.4, for at understøtte APEX (som Google Pixel 3), skal OEM'er flette yderligere patches for at få det til at fungere. For det meste er det kun enheder, der starter med Android Q, der understøtter Project Mainline.

GNU/Linux-distributioner har længe været i stand til at opdatere systemkomponenter uafhængigt af komplette systemopdateringer, men Android har altid krævet en systemopdatering for at opdatere dem. Google valgte ikke at distribuere disse pakker ved hjælp af traditionelle Linux-pakkehåndteringssystemer som dpkg og rpm, fordi de ikke beskytter pakker efter installation ved hjælp af dm-verity.

Da det tager lang tid for enhedsproducenter at udrulle opdateringer, kan mange enheder have forældede systemkomponenter i dage, uger eller endda måneder. Ved at distribuere disse komponenter som APEX-pakker kan Google omgå den lange ventetid for OEM'er til at udrulle en systemopdatering.

Fordelene ved Project Mainline. Kilde: Google.

Google udøver dog ikke total kontrol over alle systemkomponenter. Virksomheden har arbejdet med sine OEM-partnere for at vælge et sæt systemapps (som APK'er) og systemkomponenter (som APEX pakker) for at modularisere, så de kan forbedre sikkerhed, privatliv og konsistens for alle brugere med enheder, der starter med Android Q. Selvom Google ikke har afsløret præcis, hvordan de kom frem til det indledende sæt af systemkomponenter, har de givet os listen over systemkomponenter på enheder, der starter med Android Q, og som kan opdateres af Google:

  • Sikkerhed: Mediecodecs, Media Framework Components, DNS Resolver, Conscrypt
  • Privatliv: Dokumenter UI, Permission Controller, ExtServices
  • Konsistens: Tidszonedata, ANGLE (tilvalg af udviklere), modulmetadata, netværkskomponenter, Captive Portal-login, netværkstilladelseskonfiguration

Øjeblikkelige opdateringer til Conscrypt, Java-sikkerhedsbiblioteket og mediekomponenterne, som "udgjorde næsten 40 % af de nyligt korrigerede sårbarheder," vil gøre Android-enheder mere sikre. Opdateringer til Permission Controller vil forbedre privatlivets fred. Standardisering af tidszonedata vil være nyttigt for at holde Android-enheder rundt om i verden på samme side, når et land beslutter sig for at ændre sin tidszone. Endvidere vil spiludviklere drage fordel af standardiseringen af VINKEL.

Google starter med disse systemkomponenter, men kan tilføje flere i fremtidige Android-udgivelser. Af disse 13 komponenter vil Conscrypt, Timezone data, Media Codecs og Media Framework Components blive leveret som APEX-pakker. De andre 9 komponenter er system-APK'er. Mens både APEX og APK'er kan leveres via Google Play, opdateres en APEX-pakke vil kræve en genstart. Google har endnu ikke delt UI-flowet for, hvordan dette vil ske, men når enheder begynder at lancere med Android Q, vil vi sandsynligvis lære mere om Project Mainline og APEX-pakker.