Sulje mainos

Muistin suojaus on ollut Googlen etusijalla viime aikoina, sillä muistivirheet ovat yleensä ohjelmistokehityksen vakavimpia. Itse asiassa tämän alueen haavoittuvuudet olivat vastuussa suurimmasta osasta kriittisiä haavoittuvuuksia Androidu viime vuoteen asti, jolloin Google loi merkittävän osan uutta natiivikoodia AndroidRust-ohjelmointikielellä C/C++:n sijaan. Ohjelmistojätti pyrkii tukemaan muita tapoja lieventää järjestelmänsä muistin haavoittuvuuksia, joista yksi on nimeltään muistimerkintä. Tuetuissa laitteissa, joissa on järjestelmä Android 14 saattaa olla uusi asetus nimeltä Lisämuistin suojaus, joka voi vaihtaa tämän ominaisuuden.

Memory Tagging Extension (MTE) on Arm v9 -arkkitehtuuriin perustuva prosessorien pakollinen laitteistoominaisuus, joka tarjoaa yksityiskohtaista tietoa informace muistin vioittumisesta ja suojaa muistin turvallisuusvirheiltä. Kuten Google selittää: "Korkealla tasolla MTE merkitsee jokaisen muistin varauksen/vapautuksen lisämetatiedoilla. Määrittää muistipaikkaan merkin, joka voidaan sitten liittää osoittimiin, jotka viittaavat kyseiseen muistipaikkaan. Ajon aikana prosessori tarkistaa, että osoitin ja metatietotunnisteet täsmäävät aina, kun se luetaan ja tallennetaan."

Google pyrkii tukemaan MTE:tä koko ohjelmistopaketissa Android pitkään aikaan. Vastaanottaja Androidu 12 lisäsi Scudo-muistin allokaattorin ja tuen kolmelle MTE-toimintatilalle yhteensopivissa laitteissa: synkroninen tila, asynkroninen tila ja epäsymmetrinen tila. Yritys mahdollisti myös MTE:n mahdollistamisen järjestelmäprosesseille järjestelmän ominaisuuksien ja/tai ympäristömuuttujien kautta. Sovellukset voivat lisätä MTE-tuen määritteen kautta android:memtagMode. Kun MTE on käytössä prosesseja varten Androidu, kokonaiset muistin turvallisuusvirheet, kuten Use-After-Free ja puskurin ylivuoto, aiheuttavat kaatumisia hiljaisen muistin vioittumisen sijaan.

Do Androidu 13 Google lisäsi Userspace Application Binary Interfacen (ABI) ilmoittamaan halutun MTE-käyttötilan käynnistyslataimelle. Tätä voidaan käyttää ottamaan MTE käyttöön yhteensopivissa laitteissa, joissa MTE ei ole oletusarvoisesti käytössä, tai sitä voidaan käyttää sen poistamiseen käytöstä yhteensopivissa laitteissa, joissa se on oletusarvoisesti käytössä. Järjestelmän ro.arm64.memtag.bootctl_supported system -ominaisuuden asettaminen arvoon "true" järjestelmässä Android 13 kertoi järjestelmälle, että käynnistyslatain tuki ABI:ta ja aktivoi myös painikkeen kehittäjäasetusten valikossa, jonka avulla käyttäjä voi ottaa MTE:n käyttöön seuraavan uudelleenkäynnistyksen yhteydessä.

V Androidu 14 MTE:n ottaminen käyttöön yhteensopivissa laitteissa saattaa kuitenkin jo edellyttää sukeltamista kehittäjäasetusten valikkoon. Jos laite käyttää Arm v8.5+ -prosessoria, jossa on MTE-tuki, laitetoteutus tukee ABI:ta halutun MTE-käyttötilan viestimiseksi käynnistyslataimelle, ja uuden ro.arm64.memtag.bootctl_settings_toggle -järjestelmän ominaisuuden arvoksi on asetettu "true". , sitten uusi sivu Muistin lisäsuojaus v Asetukset → Suojaus ja yksityisyys → Suojauslisäasetukset. Tämä sivu voidaan käynnistää myös uudella ACTION_ADVANCED_MEMORY_PROTECTION_SETTINGS-toiminnolla.

Mielenkiintoista on, että Google Pixel 2 -sarjaa käyttävä Tensor G7 -piirisarja käyttää Arm v8.2 -prosessoriytimiä, mikä tarkoittaa, että se ei tue MTE:tä. Jos tuleva Google Pixel 8 -sarja käyttää uusia Arm v9 -ytimiä kuten muutkin lippulaivasarjat androidpuhelimissa, niiden laitteiston pitäisi pystyä tukemaan MTE:tä. Kysymys jää kuitenkin siitä, selviääkö "edistynyt muistisuojaus" vakaaseen versioon Androidvuonna 14

Tämän päivän luetuin

.