Poslední aktualizace systému macOS Catalina 10.15.4 některé uživatele přivítala výzvou oznamující, že rozšíření systému od vývojáře třetí strany nebude v budoucí verzi macOS podporováno. V článku rozebereme, o co jde a jaké to má dopady na uživatele, tvůrce software a firmy.
O Doplňcích jádra
Doplněk jádra – KEXT (Kernel Extension) je software, který se zapojuje do jádra (Kernel) operačního systému macOS. Běží s nejvyššími možnými privilegii a může přímo přistupovat k hardware počítače. To s sebou nese několik rizik. Doplněk má prakticky neomezené možnosti, tudíž představuje potenciální hrozbu pro bezpečnost celého systému i soukromí uživatele.
Vývoj v prostředí kernelu je mnohem složitější než v případě aplikací určených pro prostor uživatele. Neošetřené situace, které běžné znamenají pád aplikace, shodí celý systém. Kernel neodpouští a společnost Apple velmi nerada vidí, když vývojáři třetí strany pochroumají uživatelský zážitek.
Postupný konec doplňků jádra
Trendem posledních let je snaha poskytovat vývojářům alternativy, aby ve svých aplikacích kexty vůbec nemuseli používat (cukr) a současně jsou na doplňky kladeny větší nároky i překážky s jasnou snahou odradit vývojáře od jejich používání (bič).
Historie omezení kextů:
- (<2012) OS X 10.8 Mountain Lion. Doplňky nemohou být digitálně podepsané.
- (2013) OS X 10.9 Mavericks. Doplňky mohou být digitálně podepsané.
- (2014) OS X 10.10 Yosemite. Doplňky musí být digitálně podepsané.
- (2015) OS X 10.11 El Capitan. Kontrolu digitálního podpisu nyní řeší nový bezpečnostní systém SIP (System Integrity Protection).
- (2017) macOS 10.13 High Sierra. Načtení doplňků musí explicitně schválit uživatel nebo MDM řešení.
- (2020) macOS 10.15.4 Catalina. Doplňky jsou označeny jako deprecated.
Přes snahu Applu zbavit se kextů existovalo několik odvětví software, kde funkcionalitu nebylo možné řešit jinak než doplňkem. Jednalo se zejména o některé typy ovladačů hardware, bezpečnostní nástroje (např. antiviry) a programy pracující se síti (typicky VPN). Vývojářská konference WWDC 2019 to však změnila. macOS 10.15 Catalina přinesla systémové knihovny umožňující vývoj zmíněných kategorií software v prostoru uživatele:
- Rodina knihoven DriveKit: Vývoj ovladačů hardware.
- EndpointSecurity: Sledování událostí v operačním systému bezpečnostními nástroji.
- NetworkExtension: Práce se sítí.
Vývojářům byl velmi důrazně doporučen přechod na nově uvedené technologie. Aktualizace macOS Catalina 10.15.4 přinesla v úvodu zmíněnou výzvu oznamující uživatelům blížící se konec doplňků. Rovněž je také pobídla ke kontaktování vývojářů, což pro několik menších firmem znamenalo zahlcenou podporu dotazy zákazníků.
Výzva se nezobrazila těm uživatelům, jejichž počítače jsou spravovány pomocí MDM a administrátor povolil načítání doplňků bez nutnosti akce uživatele. V takové situaci se předpokládá, že administrátor o situaci ví.
Konec doplňků a jak si s ním poradit
Doplňky jádra končí. Nevíme přesně, kdy přesně se tak stane. Vůbec by nás ale nepřekvapilo, kdyby k tomu došlo již v první verzi macOS 10.16. Spekulujeme, že někteří pomalí vývojáři dostanou výjimku, protože Apple si nemůže dovolit, aby jejich software přestal fungovat. Rovněž se pravděpodobně najdou případy, kdy nějaká velmi specifická funkcionalita nepůjde prozatím řešit jinak než doplňkem.
Většina software se však bude muset přizpůsobit. Uživatelům to způsobí řadu těžkostí. V lepším případě budou potřebovat pouze aktualizovat software. V horším případě nebude možné nějakou dobou aktualizovat macOS a spustit program na nových Macích, kde starší verze macOS nepoběží, dokud vývojář aktualizaci nedodá. Bohužel dojde i na aplikace, které de facto skončí a bude je nutné nahradit alternativou.
Jak se na konec doplňků připravit ve firmě?
Firmám používajícím Macy doporučujeme následující postup:
- Zjistit, který software pro firemní použití používá doplňky jádra.
- Kontaktovat dodavatele/vývojáře a požadovat informaci, jaký způsobem situaci řeší a zda stihne přechod z doplňků do vydání macOS 10.16.
- V případě nepružného software se podívat po alternativách nebo počítat s nepříjemnostmi.
Logicworks firmám nabízí asistenci s přechodem:
- Nástroji MDM a MunkiReport získáme kompletní přehled o instalovaných doplňcích na všech firemních Macích.
- Kontaktujeme za vás vývojáře software a zjistíme situaci.
- Bude-li to třeba, navrhneme alternativní řešení k nevyhovujícímu software.
Zdroje
- WWDC 2019 https://developer.apple.com/wwdc19/
- Pro uživatele:
- Pro vývojáře:
- Stará dokumentace doplňků jádra: https://developer.apple.com/library/archive/documentation/Darwin/Conceptual/KernelProgramming/Extend/Extend.html
- Přechod nové technologie nahrazující doplňky https://developer.apple.com/support/kernel-extensions/
- Nové technologie
- DriverKit: https://developer.apple.com/documentation/driverkit
- EndpointSecurity: https://developer.apple.com/documentation/endpointsecurity
- NetworkExtension: https://developer.apple.com/documentation/networkextension
- Pro administrátory: