
Muistiturvallinen iBoot
iOS 14:ssä ja iPadOS 14:ssä tai uudemmissa Apple on muokannut iBoot-käynnistyslataajan rakentamiseen käytettävää C-kääntäjän työkaluketjua turvallisemmaksi. Muokatussa työkaluketjussa käytetään koodia, joka on suunniteltu estämään C-ohjelmille tyypillisiä muisti- ja tyyppiturvallisuusongelmia. Se esimerkiksi auttaa ehkäisemään useimmat haavoittuvuudet seuraavissa haavoittuvuusluokissa:
Puskurin ylivuotovirheitä estetään varmistamalla, että kaikissa osoittimissa on tieto rajoista, joka tarkistetaan muistia käytettäessä.
Kekojen hyväksikäyttämistä estetään erottamalla keon data sen metadatasta ja havaitsemalla täsmällisesti virhetilat kuten muistin vapauttaminen kahdesti.
Tyypin sekaannusta estetään varmistamalla, että kaikissa osoittimissa on ajonaikainen tyyppitieto, joka tarkistetaan osoittimen tyypinmuunnosoperaatioiden yhteydessä.
Tyypin sekaannusta, joka aiheutuu yrityksestä käyttää vapautettua muistia, estetään erottamalla kaikki dynaamiset muistivaraukset staattisella tyypillä.
Tämä teknologia on saatavilla iPhonessa, jossa on A13 Bionic ‑siru tai uudempi, ja iPadissa, jossa on A14 Bionic ‑siru tai uudempi.