
Muistiturvallinen iBoot
Laitteissa, joissa on iOS 14 tai iPadOS 14 tai uudempi, 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 rajojen tiedot, jotka 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.