
Optio-ROMin suojaus macOS:ssä
Huomaa: Applen sirulla varustettu Mac ei tällä hetkellä tue optio-ROMeja.
Optio-ROMin suojaus Apple T2 Security -sirulla varustetussa Macissa
Thunderbolt- ja PCIe-laitteissa voi olla ”optio-ROM (OROM)” fyysisesti liitettynä laitteeseen. (Tämä ei yleensä ole oikea ROM, vaan se on uudelleenkirjoitettava siru, johon on tallennettu laiteohjelmisto.) UEFI-pohjaisissa järjestelmissä laiteohjelmisto on yleensä UEFI-ajuri, jonka UEFI-laiteohjelmisto lukee ja suorittaa. Suoritetun koodin pitäisi valmistella ja määrittää laitteisto, josta se on haettu, jotta laitteisto voidaan antaa muun laiteohjelmiston käyttöön. Tätä ominaisuutta tarvitaan, jotta erikoistuneet muun valmistajan laitteistot voivat ladata ja toimia käynnistyksen aikaisimmissa vaiheissa (esimerkiksi käynnistyä ulkoisista RAID-pakoista).
OROMit ovat kuitenkin yleensä uudelleenkirjoitettavia, joten jos hyökkääjä korvaa hyväksytyn oheislaitteen OROMin, hyökkääjän koodi suoritetaan käynnistysprosessin aikaisessa vaiheessa, jolloin hyökkääjä voi peukaloida suoritusympäristöä ja vahingoittaa myöhemmin ladattavan ohjelmiston eheyttä. Samoin jos hyökkääjä ottaa oman haittalaitteensa käyttöön järjestelmässä, hän voi suorittaa haitallista koodia.
macOS 10.12.3:ssa vuoden 2011 jälkeen myytyjen Mac-tietokoneiden toimintaa muutettiin siten, että OROMeja ei suoriteta oletuksena Macin käynnistyksessä, jollei tiettyä näppäinyhdistelmää paineta. Tämä näppäinyhdistelmä suojasi haitallisten OROMien tahattomalta käyttöönotolta macOS:n käynnistysvaiheessa. Myös laiteohjelmiston salasanatyökalun oletustoimintaa muutettiin siten, että kun käyttäjä on asettanut laiteohjelmiston salasanan, OROMeja ei voida suorittaa, vaikka näppäinyhdistelmää painettaisiin. Tämä esti fyysistä hyökkääjää ottamasta tarkoituksella käyttöön haitallista OROMia. Käyttäjät, joiden täytyy edelleen käyttää OROMeja, kun laiteohjelmiston salasana on asetettuna, voivat määrittää ei-oletusarvoisen vaihtoehdon firmwarepasswd
-komentorivityökalulla macOS:ssä.
OROM-eristys suojauskeinona
macOS 10.15:ssä UEFI-laiteohjelmistoon päivitettiin OROMien eristys ja niiden oikeuksien poisto. UEFI-laiteohjelmisto suorittaa yleensä kaiken koodin, mukaan lukien OROMit, prosessorin maksimioikeustasolla 0 ja käyttää yhtä jaettua virtuaalimuistitilaa kaikille koodeille ja tiedoille. Taso 0 on oikeustaso, jolla macOS-kernel toimii, kun taas apit toimivat matalammalla oikeustasolla, tasolla 3. OROM-eristys poistaa OROMien oikeudet hyödyntämällä virtuaalista muistinerotusta samalla tavalla kuin kernel ja sitten laittamalla OROMit toimimaan tasolla 3.

Eristys lisäksi rajoittaa merkittävästi liittymiä, joita OROMit voivat kutsua (mikä muistuttaa kerneleiden järjestelmäkutsujen rajoittamista) ja laitetyyppiä, joksi OROM voi rekisteröityä (mikä muistuttaa appien hyväksyntää). Tämän mallin etuna on, että haitalliset OROMit eivät voi enää kirjoittaa suoraan minne tahansa tason 0 muistissa. Sen sijaan ne on rajoitettu erittäin kapeaan ja tarkasti määritettyyn eristykseen. Tämä rajoitettu käyttöliittymä pienentää merkittävästi hyökkäysmahdollisuuksia ja pakottaa hyökkääjät ensin pääsemään pois eristyksestä ja laajentamaan oikeuksiaan.