
Rozšíření systému v prostředí macOS
Počítače Mac se systémem macOS 10.15 nebo novějším umožňují vývojářům rozšířit možnosti systému macOS o instalaci a správu takových rozšíření systému, která se spouštějí v uživatelském prostoru, a nikoli na úrovni kernelu. Při spouštění rozšíření systému v uživatelském prostoru se posiluje stabilita a zabezpečení systému macOS. Ačkoli mají rozšíření kernelu ze své podstaty plný přístup do celého operačního systému, při spuštění v uživatelském prostoru jsou jim přidělena jen taková oprávnění, která jsou nezbytně nutná pro výkon jejich konkrétních funkcí.
Rozšíření systému podporují robustní systém správy prostřednictvím služby správy zařízení včetně možnosti povolit načtení všech rozšíření od určitého vývojáře nebo rozšíření určitého typu (například síťová rozšíření) bez zásahu uživatele. Služba správy zařízení může volitelně uživatelům zakázat schvalování a zavádění vlastních rozšíření systému.
Na Macích se systémem macOS 12.0.1 nebo novějším můžou správci služeb správy zařízení pomocí slovníku RemovableSystemExtension v datové části System Extensions určit, které aplikace smějí odstranit svá vlastní systémová rozšíření. K odstranění systémových rozšíření není vyžadováno ověření totožnosti místního správce. To je užitečné zejména pro dodavatele, kteří chtějí ke svým aplikacím nabízet automatické odinstalátory.
Na počítačích Mac se systémem macOS 11.3 až macOS 11.6.4 se změny provedené v profilu systémového rozšíření přímo promítají do stavu rozšíření. Jestliže například některé rozšíření čeká na schválení a systém obdrží push zprávu s konfiguračním profilem, který toto rozšíření povoluje, je povoleno jeho zavedení. Pokud je naopak schválení odvoláno, zavedení systémového rozšíření se zruší (bude uvolněno) a bude naplánováno jeho odstranění při příštím restartu Macu. Pokud se některé systémové rozšíření pokusí o vlastní uvolnění, zobrazí se interaktivní dialogové okno s výzvou k ověření totožnosti zadáním údajů správce a k autorizaci tohoto uvolnění.
Kernel extensions (Rozšíření kernelu)
Pro počítače Mac se systémem macOS 11 nebo novějším platí, že pokud je povoleno použití rozšíření kernelu (kext) pocházejících od třetí strany, nelze tato rozšíření zavést do kernelu na vyžádání (on demand). Tato rozšíření vyžadují před zavedením změn do kernelu souhlas uživatele a restart systému macOS. Na Macu s čipem Apple musí být navíc nakonfigurováno zabezpečené spouštění na úroveň Snížené zabezpečení.
Vývojáři mohou využívat různé frameworky, například DriverKit nebo NetworkExtension, k zapisování USB ovladačů a ovladačů uživatelského rozhraní, nástroje pro zabezpečení koncových bodů (například pro prevenci datových ztrát nebo zabránění přístupu jiných agentů ke koncovým bodům) nebo VPN a síťové nástroje – to vše bez nutnosti zápisu rozšíření kernelu. Bezpečnostní agenty od nezávislých vývojářů doporučujeme používat jen v případě, že využívají tato API nebo že existuje spolehlivý postup přechodu z rozšíření jádra na tyto agenty a zpět.
Důležité: Používání rozšíření kernelu (kext) se už v systému macOS nedoporučuje. Tato rozšíření představují riziko pro integritu a spolehlivost operačního systému. Uživatelé by měli upřednostňovat řešení, která rozšíření kernelu nevyžadují a využívají místo nich rozšíření systému.
Přidávání rozšíření kernelu na počítačích Mac s procesory Intel nebo čipy Apple a systémem macOS 11 nebo novějším
Pokud potřebujete rozšíření kernelu použít, projděte si vhodné metody schvalování v závislosti na metodách registrace.
Metoda registrace | Metoda schvalování | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
Nezaregistrováno Registrace uživatelů | Když je nainstalováno nové rozšíření kernelu a probíhá pokus o jeho zavedení, uživatel musí vyvolat restart počítače z dialogového okna varování následovně:
Při tomto restartu se spustí nové sestavení sbírky AuxKC ještě před zavedením kernelu. | ||||||||||
Registrace zařízení Automatická registrace zařízení | Pokaždé, když je nainstalováno nové rozšíření kernelu a dojde k pokusu o jeho zavedení, musí být spuštěn restart systému některým z těchto subjektů:
Poznámka: Služba správy zařízení musí nejprve nainstalovat profil se seznamem povolených rozšíření kernelu, v němž je dané rozšíření uvedené. Mac se systémem macOS 11.3 nebo novějším může službě volitelně umožnit vyzvat uživatele k dokončení restartu podle jeho uvážení. | ||||||||||
Další kroky pro přidání rozšíření kernelu na Macu s čipem Apple
Pokud přidáváte rozšíření kernelu na Macu s čipem Apple, musíte provést ještě další kroky.
Metoda registrace | Metoda schvalování | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
Nezaregistrováno | Správa rozšíření kernelu uživatelem vyžaduje restart do režimu recoveryOS, aby bylo možné snížit nastavenou úroveň zabezpečení. Uživatel musí do režimu recoveryOS restartovat podržením zapínacího tlačítka a přihlásit se jako správce. Modul Secure Enclave umožní přijetí změn zásad až poté, když podržením zapínacího tlačítka restartujete do režimu recoveryOS. Pak musí uživatel zaškrtnout políčko Snížené zabezpečení, vybrat volbu „Povolit uživatelskou správu rozšíření kernelu od známých vývojářů“ a restartovat Mac. | ||||||||||
Registrace uživatelů | Uživatel musí restartovat do režimu recoveryOS, aby bylo možné snížit nastavenou úroveň zabezpečení. Do režimu recoveryOS musí uživatel restartovat podržením zapínacího tlačítka a přihlásit se jako místní správce. Modul Secure Enclave umožní přijetí změn zásad až poté, když podržením zapínacího tlačítka restartujete do režimu recoveryOS. Pak musí uživatel vybrat volby Snížené zabezpečení a „Povolit uživatelskou správu rozšíření kernelu od známých vývojářů“ a restartovat Mac. | ||||||||||
Registrace zařízení | Služba správy zařízení musí uživatele vyzvat k restartování do režimu recoveryOS, aby bylo možné snížit nastavenou úroveň zabezpečení. Uživatel musí do režimu recoveryOS restartovat podržením zapínacího tlačítka a přihlásit se jako správce. Bez použití zapínacího tlačítka modul Secure Enclave změnu zásad nepřijme. Pak musí uživatel vybrat volby Snížené zabezpečení a „Povolit vzdálenou správu rozšíření kernelu a automatickou registraci softwaru“ a restartovat Mac. Informace o tom, jestli je tato funkce na vašich zařízeních podporována, najdete v dokumentaci od vývojáře služby správy zařízení. | ||||||||||
Automatická registrace zařízení (Sériové číslo Macu se musí zobrazovat v Apple School Manageru nebo Apple Business Manageru a Mac musí být zaregistrovaný ve službě správy zařízení, která je s Apple School Managerem nebo Apple Business Managerem propojená.) | Služby správy zařízení můžou tuto akci provést automaticky. Informace o tom, jestli je tato funkce na vašich zařízeních podporována, najdete v dokumentaci od vývojáře služby správy zařízení. | ||||||||||
Rozšíření kernelu při aktivované ochraně integrity systému
Pokud je aktivována ochrana integrity systému (SIP), bude před přidáním rozšíření kernelu do sbírky AuxKC vždy nejprve ověřen jeho podpis.
Je‑li ochrana SIP vypnutá, kontrola podpisů rozšíření kernelu neprobíhá.
Tento přístup umožňuje vývojářům a uživatelům, kteří nejsou zapojeni do programu Apple Developer Program, v rámci procesů Propustného zabezpečení testovat rozšíření kernelu ještě před jejich podepsáním.