Extensiile de sistem și de kernel în macOS
macOS 10.15 sau ulterior le permite dezvoltatorilor să extindă capacitățile sistemului macOS prin instalarea și gestionarea extensiilor de sistem care rulează în spațiul utilizatorului și nu la nivelul kernelului. Prin rularea în spațiul utilizatorului, extensiile de sistem măresc stabilitatea și securitatea sistemului macOS. Chiar dacă extensiile de kernel au în mod inerent acces complet la întregul sistem de operare, extensiilor care rulează în spațiul utilizatorului li se acordă doar privilegiile necesare pentru a‑și îndeplini funcția specifică.
Extensiile de sistem permit gestionarea robustă prin intermediul MDM, inclusiv posibilitatea de a permite tuturor extensiilor de la un anumit dezvoltator sau de un anumit tip (de exemplu, extensiile de rețea) să se încarce fără interacțiunea cu utilizatorul. Opțional, MDM poate să nu permită utilizatorilor să aprobe încărcarea propriilor extensii de sistem.
În macOS 11.3 până la macOS 11.6.4, efectuarea directă a modificărilor asupra unui profil al extensiilor de sistem afectează direct starea extensiei. De exemplu, dacă se așteaptă aprobarea pentru o extensie și este transmis un profil de configurare care permite extensia, încărcarea extensiei este permisă. Dimpotrivă, dacă este revocată o aprobare, extensia de sistem este descărcată și marcată pentru eliminare la următoarea repornire a Mac-ului. Dacă o extensie de sistem încearcă să se descarce singură, apare o fereastră de dialog interactivă care solicită administratorului acreditările pentru a autoriza descărcarea.
În macOS 12.0.1 sau ulterior, un dicționar din sarcina Extensii de sistem – denumit RemovableSystemExtensions
– permite unui administrator MDM să specifice aplicațiile care trebuie să își poată elimina singure extensiile de sistem. Pentru eliminarea extensiilor de sistem nu este necesară autentificarea administratorului local. Acest lucru este util în mod deosebit pentru furnizorii care pot oferi programe de dezinstalare automată pentru aplicațiile lor.
Extensii de kernel
În macOS 11 sau versiunile ulterioare, dacă sunt activate extensii de kernel (kext) terțe, acestea nu pot fi încărcate în kernel la cerere. Acestea necesită aprobarea de către utilizator și repornirea sistemului macOS pentru ca modificările să fie încărcate în kernel și, de asemenea, necesită ca inițializarea securizată să fie configurată la Securitate redusă pe un Mac cu cip Apple.
Dezvoltatorii pot utiliza cadre de lucru, precum DriverKit și NetworkExtension, pentru a scrie drivere USB și de interfață umană, instrumente de securitate a punctului terminal (cum ar fi pentru prevenirea pierderii datelor sau alți agenți de punct terminal) și instrumente VPN și de rețea, toate fără a fi necesar să se scrie extensii de kernel. Agenții de securitate terți trebuie utilizați doar dacă profită de aceste API‑uri sau dacă au o planificare robustă pentru a trece la acestea și a renunța la extensiile de kernel.
Important: Extensiile de kernel nu mai sunt recomandate pentru macOS. Extensiile de kernel prezintă un risc pentru integritatea și fiabilitatea sistemului de operare. Utilizatorii ar trebui să apeleze la soluții care nu necesită extinderea kernelului și să utilizeze, în schimb, extensii de sistem.
Adăugarea extensiilor de kernel pe un Mac cu procesor Intel sau cu cip Apple cu macOS 11 sau ulterior
Dacă trebuie să utilizați extensii de kernel, consultați metodele de aprobare bazate pe tipul înscrierii.
Tip de înscriere MDM | Metodă de aprobare | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Neînscrisă Înscrierea utilizatorului | Când o nouă extensie de kernel este instalată și există o încercare de încărcare a acesteia, utilizatorul trebuie să inițieze o repornire din dialogul de avertizare din:
Această repornire inițiază reconstruirea AuxKC înainte de inițializarea kernelului. | ||||||||||
Înscrierea dispozitivului Înscrierea automată a dispozitivului | De fiecare dată când o nouă extensie de kernel este instalată și există o încercare de încărcare a acesteia, o repornire trebuie să fie inițiată de una dintre următoarele:
Notă: Un profil cu o listă de permisiuni pentru extensiile de kernel trebuie să fie instalat mai întâi de soluția MDM care specifică extensia de kernel. macOS 11.3 sau versiunile ulterioare permit opțional ca MDM să notifice utilizatorul să finalizeze repornirea la un moment potrivit pentru acesta. |
Pași suplimentari pentru adăugarea extensiilor de kernel pe un Mac cu cip Apple
Dacă adăugați extensii de kernel pe un Mac cu cip Apple, trebuie să efectuați pași suplimentari.
Tip de înscriere MDM | Metodă de aprobare | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Neînscrisă | Gestionarea extensiilor de kernel de către utilizator necesită o repornire în recoveryOS pentru a retrograda configurările de securitate. Utilizatorul trebuie să țină apăsat pe butonul de alimentare pentru a reporni în recoveryOS și a se autentifica în calitate de administrator. Doar după ce s-a intrat în recoveryOS prin apăsarea butonului de alimentare Secure Enclave va accepta schimbarea politicii. Apoi, utilizatorul trebuie să selecteze caseta de validare “Securitate redusă” și opțiunea “Permite gestionarea de către utilizator a extensiilor de kernel de la dezvoltatorii identificați” și să repornească Mac‑ul. | ||||||||||
Înscrierea utilizatorului | Utilizatorul trebuie să repornească în recoveryOS pentru a retrograda configurările de securitate. Utilizatorul trebuie să țină apăsat pe butonul de alimentare pentru a reporni în recoveryOS și a se autentifica în calitate de administrator local. Doar după ce s-a intrat în recoveryOS prin apăsarea butonului de alimentare Secure Enclave va accepta schimbarea politicii. Apoi, utilizatorul trebuie să selecteze “Securitate redusă”, să bifeze “Permite gestionarea de către utilizator a extensiilor de kernel de la dezvoltatorii identificați” și să repornească Mac‑ul. | ||||||||||
Înscrierea dispozitivului | Soluția MDM trebuie să notifice utilizatorul că trebuie să repornească în recoveryOS pentru a retrograda configurările de securitate. Utilizatorul trebuie să țină apăsat pe butonul de alimentare pentru a reporni în recoveryOS și a se autentifica în calitate de administrator. Doar după ce s-a intrat în recoveryOS prin apăsarea butonului de alimentare Secure Enclave va accepta schimbarea politicii. Apoi, utilizatorul trebuie să selecteze “Securitate redusă”, să bifeze “Permite gestionarea de la distanță a extensiilor de kernel și a actualizărilor software automate” și să repornească Mac‑ul. Pentru a afla dacă această funcționalitate este acceptată pentru dispozitivele dvs., consultați documentația oferită de furnizorul soluției MDM. | ||||||||||
Înscrierea automată a dispozitivului (Numărul de serie al Mac‑ului trebuie să apară în Apple School Manager, Apple Business Manager sau Apple Business Essentials și Mac‑ul trebuie să fie înregistrat într‑o soluție MDM asociată serviciului.) | Soluțiile MDM pot gestiona automat acest tip de înscriere. Pentru a afla dacă această funcționalitate este acceptată pentru dispozitivele dvs., consultați documentația oferită de furnizorul soluției MDM. |
Extensiile de kernel cu protecția integrității sistemului
Dacă protecția integrității sistemului (SIP) este activată, semnătura fiecărei extensii de kernel este verificată înainte de a fi inclusă în AuxKC.
Dacă SIP este dezactivată, semnătura extensiei de kernel nu va fi aplicată.
Această abordare permite fluxuri de securitate permisivă pentru ca dezvoltatorii sau utilizatorii care nu fac parte din Programul pentru dezvoltatori Apple să testeze extensiile de kernel înainte ca acestea să fie semnate.