Uusim WebView tutvustab isoleeritud renderdaja protsessi ja rakendusesisest ohutut sirvimist

Google avaldas WebView'i uusima versiooni muudatuste lühikese ülevaate. Android WebView on Androidi süsteemikomponent, mis võimaldab Androidi rakendustel kuvada sisu veebist otse rakenduse sees.

Alates Android Lollipopist otsustas Google levitada WebView't iseseisva APK-na, mida värskendatakse Play poest iga kuue nädala järel. Eesmärk on pakkuda kasutajatele kiiresti kriitilisi parandusi, kuna teenus oli näinud tõsiseid turvaprobleeme. Rakenduse uusim versioon toob kaasa ka paar olulist turvatäiustust.

Google avaldab Android O hiljem sel suvel. Lisaks väljalasele töötab WebView renderdaja isoleeritud protsessina hostrakendusest eraldi, kasutades ära Androidi protsesside vahelist eraldatust, mis on olnud teistele kättesaadav rakendusi.

WebView pakub nüüd kahte isolatsioonitaset.

  1. Renderdusmootor on jagatud eraldi protsessiks. See isoleerib hostirakenduse renderdusprotsessis esinevate vigade või krahhide eest ning muudab renderdajat ära kasutada saavatel pahatahtlikul veebisaidil hostrakenduse ärakasutamise raskemaks.
  2. Selle edasiseks piiramiseks käitatakse renderdusprotsessi isoleeritud protsessi liivakastis, mis piirab selle piiratud ressurssidega. Näiteks ei saa renderdusmootor iseseisvalt kettale kirjutada ega võrku rääkida. Samuti on see seotud sama seccomp-filtriga, mida kasutab Chrome Androidis. Seccomp-filter vähendab süsteemikõnede arvu, millele renderdaja protsess juurde pääseb, ja piirab ka lubatud argumentide arvu süsteemikutsete jaoks.

Lõpuks võimaldab WebView uusim versioon kolmanda osapoole rakendustel kasutada ohutu sirvimise funktsioone. Blogi sissekande kohaselt kuvatakse teavet või hoiatust võimalike pahatahtlike veebisaitide eest üle 250 miljoni korra kuus. Lihtsa manifesti märgendi abil saate lubada oma rakenduses ohutu sirvimise. Saate teada, millise koodi peate lisama, külastades Androidi arendajate ajaveebi.

WebView uusim versioon peaks peagi Google Play poes saadaval olema.


Allikas: Android Developers Blog