Googles Project Mainline i Android Q vil bidra til å øke hastigheten på sikkerhetsoppdateringer

Under Google I/O 2019-utviklerkonferansen kunngjorde Google Project Mainline – et forsøk på å øke hastigheten på sikkerhetsoppdateringer via moduler i Android Q.

Android-versjonsfragmentering er en av de største utfordringene for Google å løse. Mens Google Pixel-smarttelefonene er blant de sikreste smarttelefonene på markedet, takket være den utrolige innsatsen til Pixel og AOSP-ingeniører, mange andre smarttelefoner er sårbare for utnyttelse på grunn av å kjøre utdaterte OS-versjoner eller utdatert sikkerhetsoppdatering nivåer. Den siste rapporten fra Gartner viser at Android 9 Pie er et utrolig sikkert operativsystem ennå bare ca 10% av alle smarttelefoner er på utgivelsen.

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

Google takler versjonsfragmentering med initiativer som f.eks Prosjekt diskant, en større ombygging av Android som resulterer i et skille mellom Android OS-rammekomponentene og leverandørens HAL-komponenter,

utvidet Linux-kjerne LTS, obligatoriske sikkerhetsoppdateringer i 2 år, og Android Enterprise anbefales. På Google I/O 2019 kunngjorde selskapet sitt siste initiativ for å øke hastigheten på sikkerhetsoppdateringer: Project Mainline for Android Q.

Prosjektets hovedlinje: Oppdatering av Android Q-systemmoduler gjennom Google Play

De siste månedene har vi sporet noe som heter "TOPPUNKT" i AOSP. APEX, eller Android Pony EXpress, er en ny pakketype som ligner på en APK. I stedet for å huse en Android-applikasjon, er APEX imidlertid hjemmet til et innfødt eller klassebibliotek, forhåndskompilert kode som kan kalles av Android-apper, Hardware Abstraction Layers (HAL) og Android Kjøretid (ART). I likhet med APK, kan APEX-pakker leveres til brukere over tradisjonelle pakkeinstallasjonsmetoder i Android: Google Play Store/pakkebehandling eller ADB.

APEX-moduler kan brukes mye tidligere i oppstartsprosessen enn APK-baserte moduler, og de er også støttet av dm-verity og Android Verified Boot for økt sikkerhet. Montering av nyttelastbildene i APEX-pakken krever Linux-kjernens loop-driver, så enheter trenger Linux-kjernen versjon 4.9+. Å administrere APEX-pakkene krever den nye APEX-demonen, introdusert med Android Q. Selv om det er mulig for enheter som oppgraderer til Android Q med Linux-kjerne 4.4 for å støtte APEX (som Google Pixel 3), må OEM-er slå sammen flere patcher for å få det til å fungere. For det meste vil bare enheter som lanseres med Android Q støtte Project Mainline.

GNU/Linux-distribusjoner har lenge vært i stand til å oppdatere systemkomponenter uavhengig av fullstendige systemoppdateringer, men Android har alltid krevd en systemoppdatering for å oppdatere dem. Google valgte å ikke distribuere disse pakkene ved å bruke tradisjonelle Linux-pakkehåndteringssystemer som dpkg og rpm fordi de ikke beskytter pakker etter installasjon ved hjelp av dm-verity.

Siden det tar lang tid for enhetsprodusenter å rulle ut oppdateringer, kan mange enheter ha utdaterte systemkomponenter i dager, uker eller til og med måneder. Ved å distribuere disse komponentene som APEX-pakker, kan Google omgå den lange ventetiden for OEM-er å rulle ut en systemoppdatering.

Fordelene med Project Mainline. Kilde: Google.

Google har imidlertid ikke total kontroll over alle systemkomponenter. Selskapet har jobbet med sine OEM-partnere for å velge et sett med systemapper (som APK-er) og systemkomponenter (som APEX pakker) for å modularisere slik at de kan forbedre sikkerhet, personvern og konsistens for alle brukere med enheter som starter med Android Q. Selv om Google ikke har avslørt nøyaktig hvordan de kom opp med det første settet med systemkomponenter, har de gjort det gitt oss listen over systemkomponenter på enheter som lanseres med Android Q som vil kunne oppdateres av Google:

  • Sikkerhet: Mediekodeker, Media Framework Components, DNS Resolver, Conscrypt
  • Personvern: Dokumenter UI, Permission Controller, ExtServices
  • Konsistens: Tidssonedata, ANGLE (tilvalg av utviklere), modulmetadata, nettverkskomponenter, Captive Portal-pålogging, nettverkstillatelseskonfigurasjon

Umiddelbare oppdateringer til Conscrypt, Java-sikkerhetsbiblioteket og mediekomponentene, som "utgjorde nesten 40 % av nylig korrigerte sårbarheter," vil gjøre Android-enheter tryggere. Oppdateringer av tillatelseskontrolleren vil forbedre personvernet. Standardisering av tidssonedataene vil være nyttig for å holde Android-enheter rundt om i verden på samme side når et land bestemmer seg for å endre tidssonen. Videre vil spillutviklere dra nytte av standardiseringen av VINKEL.

Google begynner med disse systemkomponentene, men kan legge til flere i fremtidige Android-utgivelser. Av disse 13 komponentene vil Conscrypt, Timezone data, Media Codecs og Media Framework Components bli levert som APEX-pakker. De andre 9 komponentene er system-APK-er. Mens både APEX og APK-er kan leveres via Google Play, oppdaterer du en APEX-pakke vil kreve en omstart. Google har ikke delt UI-flyten for hvordan dette vil skje ennå, men når enheter begynner å lanseres med Android Q vil vi sannsynligvis lære mer informasjon om Project Mainline og APEX-pakker.