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 RemovableSystemExtensiondatové čá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.3macOS 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á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ě:

  • macOS 13 a novější: nabídka Apple > Nastavení systému > Soukromí a zabezpečení.

  • macOS 12.0.1 a starší: nabídka Apple > Předvolby systému > Zabezpečení a soukromí.

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ů:

  • Z místního účtu správce v dialogovém okně varování na panelu Soukromí a zabezpečení v Nastavení systému (macOS 13 a novější) nebo Zabezpečení a soukromí v Předvolbách systému (macOS 12.0.1 a starší). Služba správy zařízení může tuto operaci zpřístupnit i standardním uživatelům.

  • Ze samotné služby správy zařízení pomocí příkazu RestartDevice s příznakem RebuildCache. K novému sestavení sbírky AuxKC dojde při následujícím restartu Macu. Budou do ní zahrnuta rozšíření kernelu, která už systém macOS identifikoval (byla například zavedena příslušným softwarem a zablokována), a služba správy zařízení k nim může pomocí klíče KextPaths přidat rozšíření, u kterých zatím pokus o zavedení neproběhl.

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 a Mac musí být zaregistrovaný ve službě správy zařízení, která je s Apple School Managerem nebo službou Apple Business 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.

Datum vydání: 27. října 2021
Morty Proxy This is a proxified and sanitized view of the page, visit original site.
Užitečné?
Limit počtu znaků: 250
Limit maximálního počtu znaků je 250.
Děkujeme za zpětnou vazbu.
Morty Proxy This is a proxified and sanitized view of the page, visit original site.