
Estensioni di sistema in macOS
Un Mac con macOS 10.15 o versione successiva consente agli sviluppatori di espandere le funzionalitĂ di macOS tramite lâinstallazione e la gestione delle estensioni di sistema che vengono eseguite nello spazio dellâutente invece che a livello di kernel. Grazie allâesecuzione nello spazio utente, le estensioni di sistema aumentano stabilitĂ e sicurezza di macOS. Anche se le kext hanno intrinsecamente accesso completo allâintero sistema operativo, alle estensioni in esecuzione nello spazio utente sono concessi solo i privilegi necessari per eseguire la loro specifica funzione.
Le estensioni di sistema supportano la gestione efficace tramite lâutilizzo della soluzione MDM, incluso la possibilitĂ di consentire tutte le estensioni di uno sviluppatore o tipo specifico (come le estensioni di rete) che possono essere caricate senza interazione da parte dellâutente. Opzionalmente, MDM può non consentire agli utenti di approvare il caricamento delle proprie estensioni di sistema.
In un Mac con macOS 12.0.1 o versione successiva, un dizionario nel payload âEstensioni di sistemaâ, detto RemovableSystemExtension
, consente a un amministratore MDM di specificare quali app dovrebbero essere capaci di rimuovere le proprie estensioni di sistema. Per rimuovere le estensioni del sistema, non è richiesta lâautenticazione dellâamministratore locale. Questo è specialmente utile per i fornitori che possono fornire programmi di disinstallazione automatizzati per le proprie app.
In un Mac con macOS 11.3 fino a macOS 11.6.4, eseguire modifiche a un profilo di estensione di sistema influisce direttamente sullo stato dellâestensione. Per esempio, se unâestensione è in attesa di approvazione e viene inviato un profilo di configurazione che consente lâestensione, questâultima può essere caricata. Al contrario, se lâapprovazione viene revocata, il caricamento dellâestensione di sistema viene annullato e contrassegnato per la rimozione al riavvio successivo del Mac. Se unâestensione di sistema prova ad annullare il caricamento, viene visualizzato un dialogo di autenticazione interattivo che richiede allâamministratore le credenziali per autorizzare lâannullamento del caricamento.
Estensioni Kernel
In un Mac con macOS 11 o versione successiva, se le estensioni del kernel (kext) di terze parti sono abilitate, non possono essere caricate nel kernel su richiesta. Richiedono lâapprovazione dellâutente e il riavvio di macOS per caricare le modifiche nel kernel, inoltre richiedono che lâavvio sicuro sia configurato su âSicurezza ridottaâ su un Mac con Apple Silicon.
Gli sviluppatori possono usare i framework, come DriverKit e NetworkExtension, per scrivere su unitĂ USB e per lâinterfaccia umana, strumenti per la sicurezza degli endpoint (come la prevenzione della perdita di dati o altri agenti per gli endpoint) e strumenti VPN e di rete, il tutto senza necessitĂ di scrivere kext. Gli agenti di sicurezza di terze parti dovrebbero essere utilizzati solo se traggono vantaggio da tali API o se dispongono di unâefficace tabella di marcia per la transizione verso di esse senza ricorrere alle estensioni del kernel.
Importante: le kext non sono piĂš consigliate per macOS. Le kext mettono a rischio lâintegritĂ e lâaffidabilitĂ del sistema operativo. Gli utenti dovrebbero preferire soluzioni che non richiedono lâestensione del kernel e utilizzare estensioni di sistema.
Aggiungere kext su un Mac con processore Intel o con chip Apple con macOS 11 o versioni successive
Se devi utilizzare le estensioni del kernel, rivedi i metodi di approvazione basati sul metodo di registrazione.
Metodo di registrazione MDM | Metodo di approvazione | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Non registrato Registrazione dellâutente | Quando viene istallata una nuova kext e si tenta di caricarla, è necessario che lâutente effettui un riavvio dalla finestra di dialogo di avviso in:
Il riavvio comporta lâavvio del processo di ricostruzione di AuxKC prima che il kernel si avvi a sua volta. | ||||||||||
Registrazione dei dispositivi Registrazione automatica dei dispositivi | Ogni volta che viene istallata una nuova kext e si tenta di caricarla, è necessario che lâutente effettui un riavvio, seguendo uno di questi metodi:
Nota: prima è necessario installare il profilo dellâelenco di autorizzazione kext dalla soluzione MDM che specifica la kext. Un Mac con macOS 11.3 o versione successiva consente opzionalmente a MDM di avvisare lâutente di completare il riavvio appena possibile. |
Passaggi extra per aggiungere kext su un Mac con Apple Silicon
Se aggiungi estensioni del kernel su un Mac con chip Apple, devi eseguire dei passaggi aggiuntivi.
Metodo di registrazione MDM | Metodo di approvazione | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Non registrato | La gestione delle kext da parte dellâutente richiede un riavvio di recoveryOS per effettuare il downgrade delle impostazioni di sicurezza. Lâutente deve tenere premuto il pulsante di alimentazione per eseguire il riavvio in recoveryOS e autenticarsi come amministratore. Solo dopo aver effettuato lâaccesso a recoveryOS premendo il pulsante di alimentazione, Secure Enclave accetterĂ le modifiche alla politica. DopodichĂŠ, lâutente deve selezionare la casella âSicurezza ridottaâ e lâopzione âConsenti la gestione utente delle estensioni del kernel da sviluppatori identificatiâ e riavviare il Mac. | ||||||||||
Registrazione dellâutente | Lâutente deve eseguire il riavvio di recoveryOS per effettuare il downgrade delle impostazioni di sicurezza. Lâutente deve tenere premuto il pulsante di alimentazione per eseguire il riavvio in recoveryOS e autenticarsi come amministratore locale. Solo dopo aver effettuato lâaccesso a recoveryOS premendo il pulsante di alimentazione, Secure Enclave accetterĂ le modifiche alla politica. DopodichĂŠ, lâutente deve selezionare âSicurezza ridottaâ, spuntare la casella âConsenti la gestione utente delle estensioni del kernel da sviluppatori identificatiâ e riavviare il Mac. | ||||||||||
Registrazione dei dispositivi | La soluzione MDM dovrebbe inviare una notifica allâutente che segnala lâobbligo di riavviare in recoveryOS per effettuare il downgrade delle impostazioni di sicurezza. Lâutente deve tenere premuto il pulsante di alimentazione per eseguire il riavvio in recoveryOS e autenticarsi come amministratore. Solo dopo aver effettuato lâaccesso a recoveryOS premendo il pulsante di alimentazione, Secure Enclave accetterĂ le modifiche alla politica. DopodichĂŠ, lâutente deve selezionare âSicurezza ridottaâ, spuntare la casella âConsenti la gestione remota delle estensioni kernel e degli aggiornamenti software automaticiâ e riavviare il Mac. Per scoprire se questa funzionalità è supportata dai tuoi dispositivi, consulta la documentazione fornita da chi sviluppa la soluzione MDM. | ||||||||||
Registrazione automatica dei dispositivi (Il numero di serie del Mac deve essere visualizzato in Apple School Manager o Apple Business Manager e il Mac deve essere registrato a una soluzione MDM collegata al servizio.) | Le soluzioni MDM possono gestire automaticamente questa funzionalità . Per scoprire se questa funzionalità è supportata dai tuoi dispositivi, consulta la documentazione fornita da chi sviluppa la soluzione MDM. |
Estensioni del kernel con Protezione dellâintegritĂ del sistema
Se la protezione dellâintegritĂ del sistema (SIP) è abilitata, la firma di ciascuna kext viene verificata prima di essere inclusa in AuxKC.
Se SIP è disabilitato, la firma kext non viene forzata
Questa strategia consente anche flussi di sicurezza permissiva per gli sviluppatori o utenti che non fanno parte del programma per sviluppatori Apple per verificare le kext prima che vengano firmate.