Med konferenco za razvijalce Google I/O 2019 je Google napovedal Project Mainline – prizadevanje za pospešitev varnostnih posodobitev prek modulov v sistemu Android Q.
Razdrobljenost različice Androida je eden največjih izzivov, ki jih mora rešiti Google. Medtem ko so pametni telefoni Google Pixel med najbolj varnimi pametnimi telefoni na trgu, zahvaljujoč neverjetnim prizadevanjem Pixel in Inženirji AOSP so številni drugi pametni telefoni ranljivi za zlorabe zaradi izvajanja zastarelih različic operacijskega sistema ali zastarelega varnostnega popravka stopnje. Zadnje Gartnerjevo poročilo kaže, da je Android 9 Pie še vedno neverjetno varen OS samo približno 10% vseh pametnih telefonov, ki so v izdaji.
Google se loteva razdrobljenosti različic s pobudami, kot je npr Projekt Treble, velika prenova arhitekture Androida, ki je povzročila ločitev med komponentami ogrodja OS Android in komponentami HAL prodajalca,
razširjeno jedro Linux LTS, obvezne posodobitve varnostnih popravkov za 2 leti in Android Enterprise Priporočeno. Na Google I/O 2019 je podjetje objavilo svojo najnovejšo pobudo za pospešitev varnostnih posodobitev: Project Mainline za Android Q.Projekt Mainline: Posodabljanje sistemskih modulov Android Q prek Google Play
Zadnjih nekaj mesecev smo spremljali nekaj, kar se imenuje "APEX" v AOSP. APEX, oz Android Pony EXpress, je nova vrsta paketa, ki je podobna APK-ju. Namesto aplikacije za Android pa je APEX dom izvorne ali razredne knjižnice, vnaprej prevedena koda, ki jo lahko pokličejo aplikacije za Android, plasti abstrakcije strojne opreme (HAL) in Android Runtime (ART). Tako kot APK je tudi pakete APEX mogoče uporabnikom ponuditi prek tradicionalnih metod namestitve paketov v sistemu Android: Trgovina Google Play/upravitelj paketov ali ADB.
Module APEX je mogoče uporabiti veliko prej v procesu zagona kot module, ki temeljijo na APK-jih, poleg tega pa so podprti z dm-verity in Android Verified Boot za večjo varnost. Namestitev slik koristnega tovora v paketu APEX zahteva gonilnik zanke jedra Linuxa, zato naprave potrebujejo različico jedra Linuxa 4.9+. Za upravljanje paketov APEX je potreben nov demon APEX, predstavljen z Androidom Q. Čeprav lahko naprave, ki se nadgradijo na Android Q z jedrom Linux 4.4, podpirajo APEX (kot je Google Pixel 3), morajo proizvajalci originalne opreme združiti dodatne popravke, da bo delovalo. Večinoma bodo samo naprave, ki se zaženejo z Androidom Q, podpirale Project Mainline.
Distribucije GNU/Linux že dolgo lahko posodabljajo sistemske komponente neodvisno od popolnih sistemskih posodobitev, vendar je Android za njihovo posodobitev vedno zahteval sistemsko posodobitev. Google se je odločil, da teh paketov ne bo distribuiral s tradicionalnimi sistemi za upravljanje paketov Linux, kot sta dpkg in rpm, ker ne ščitijo paketov po namestitvi z dm-verity.
Ker izdelovalci naprav potrebujejo veliko časa, da uvedejo posodobitve, imajo lahko številne naprave zastarele sistemske komponente več dni, tednov ali celo mesecev. Z distribucijo teh komponent kot paketov APEX lahko Google zaobide dolgo čakanje, da proizvajalci originalne opreme uvedejo sistemsko posodobitev.
Vendar Google ne izvaja popolnega nadzora nad vsemi komponentami sistema. Podjetje je sodelovalo s svojimi partnerji OEM pri izbiri niza sistemskih aplikacij (kot APK-ji) in sistemskih komponent (kot APEX pakete) za modularizacijo, da lahko izboljšajo varnost, zasebnost in doslednost za vse uporabnike z napravami, ki se zaženejo z Android Q. Čeprav Google ni natančno razkril, kako so prišli do začetnega nabora sistemskih komponent, so nam je posredoval seznam sistemskih komponent v napravah z operacijskim sistemom Android Q, ki jih bo mogoče posodobiti do Google:
- Varnost: Medijski kodeki, Komponente medijskega ogrodja, DNS razreševalec, Conscrypt
- Zasebnost: uporabniški vmesnik za dokumente, krmilnik dovoljenj, ExtServices
- Doslednost: podatki o časovnem pasu, ANGLE (privolitev razvijalcev), metapodatki modula, omrežne komponente, prijava na prestrezni portal, konfiguracija omrežnih dovoljenj
Takojšnje posodobitve za Conscrypt, varnostno knjižnico Java in medijske komponente, ki so "predstavljale skoraj 40 % nedavno popravljenih ranljivosti," bodo naredile naprave Android varnejše. Posodobitve krmilnika dovoljenj bodo izboljšale zasebnost. Standardizacija podatkov o časovnem pasu bo v pomoč pri ohranjanju naprav Android po vsem svetu na isti strani, kadar koli se država odloči spremeniti svoj časovni pas. Poleg tega bodo razvijalci iger imeli koristi od standardizacije KOT.
Google začenja s temi sistemskimi komponentami, vendar bi lahko dodal še več v prihodnjih izdajah Androida. Od teh 13 komponent bodo Conscrypt, podatki o časovnem pasu, medijski kodeki in komponente medijskega ogrodja dostavljeni kot paketi APEX. Ostalih 9 komponent je sistemskih APK-jev. Medtem ko sta tako APEX kot APK na voljo prek storitve Google Play, posodabljanje paketa APEX bo zahteval ponovni zagon. Google še ni delil toka uporabniškega vmesnika o tem, kako se bo to zgodilo, a ko se bodo naprave začele uvajati z Androidom Q, bomo verjetno izvedeli več informacij o paketih Project Mainline in APEX.