A tavalyi WWDC konferencián az Apple bejelentette, hogy tervezi a macOS “kernel-kiterjesztések” (KEXT) elavulását, és egy új, “rendszerkiterjesztések” nevű mechanizmussal helyettesíti őket.”
A bejelentés első lépése a macOS Catalina (10.15.0) 2019 szeptemberi kiadásával történt, amikor a kernel-kiterjesztések mellett a rendszerkiterjesztéseket is bevezették.
Az Apple tervének utolsó lépése a következő hetekben lép életbe, a macOS Catalina 10.15.4 közelgő kiadásával.
Az Apple szerint a macOS 10.15-től kezdve a macOS 10.15.4-től kezdve a kernel-bővítmények használata értesítést fog kiváltani a felhasználó számára, hogy a szoftver elavult API-t tartalmaz, és arra fogja kérni a felhasználót, hogy lépjen kapcsolatba a fejlesztővel alternatívákért.
Mi a különbség a kettő között?
A kernel-bővítmények és a rendszerbővítmények ugyanazt a célt szolgálják. Lehetővé teszik a felhasználók számára, hogy olyan alkalmazásokat telepítsenek, amelyek kibővítik a macOS operációs rendszer natív képességeit.
Az alkalmazások olyan kernel/rendszerbővítményeket telepítenek, amelyek lehetővé teszik számukra olyan műveletek elvégzését, amelyekhez a macOS nem rendelkezik natív jellemzőkkel vagy funkciókkal.
Mac vírusirtó szoftverek, tűzfalak, VPN-kliensek, DNS-proxyk, USB-illesztőprogramok és mások mind kernel-bővítményeket használnak.
A különbség e két új bővítményrendszer között az, hogy a régebbi kernel-bővítmények a macOS kernel szintjén hajtják végre kódjukat, míg az újabb rendszerbővítmények egy szigorúan ellenőrzött felhasználói térben futnak.
Nagyszerű lépés a biztonság érdekében
“Az Apple szempontjából ez egy jelentős lépés a macOS biztonságának javítása felé” – mondta Patrick Wardle, a Jamf vezető biztonsági kutatója és ismert macOS-biztonsági szakértő a ZDNetnek egy e heti interjúban.
“A harmadik féltől származó kernel-bővítmények valóban szaftos támadási vektort jelentenek a macOS-t célzó támadók számára” – tette hozzá. “Különösen, ha támadóként kihasználhatsz egy kernel-bővítményt, vagy betöltheted a sajátodat (feltéve, hogy az alá van írva).”
A KEXT-eket érintő támadások már történtek a múltban is .
“A macOS számára tényleg vége a játéknak” – mondta Wardle. “Sok sok biztonsági mechanizmus a kernelben van implementálva/megerősítve.”
Wardle szerint egy ilyen támadás nem működne a rendszerkiterjesztésekkel, mivel azok felhasználói módban futnak.
“Mivel nem a kernelben futnak, egy exploit már nem ad kernel-módú hozzáférést, mint a KEXT exploit esetében” – mondta Wardle.
“Tehát az Apple alapvetően mindenkit ki akar rúgni , főleg biztonsági okokból.”
Potenciális hátrányai
Wardle szerint azonban ennek a lépésnek van hátránya is.
Az első az, hogy az alkalmazásfejlesztők kernelből való kirúgásával az Apple sokkal nagyobb kontrollt nyer a macOS felett, hasonlóan az iOS felett gyakorolt kontrollhoz.
Előtte a macOS a fejlesztők és a felhasználók menedéke volt. Ha a macOS nem rendelkezett egy adott funkcióval, a fejlesztők egyszerűen létrehozhattak egy alkalmazást, és a kernel-bővítményt kihasználva hozzáadhatták a szükséges funkciókat.
A második hátránya, hogy sok biztonsági eszköz maga is erősen támaszkodott és épült a kernel-bővítmények által a felhasználó Macjéhez biztosított teljes körű hozzáférésre. Lehet azzal érvelni, hogy az Apple rendszerkiterjesztések felé való elmozdulása a biztonsági termékek semlegesítését eredményezheti, amelyek így elveszítik a rosszindulatú programok felderítésére és megállítására való képességük egy részét.
A Wardle, aki számos ingyenes macOS biztonsági eszköz szerzője, azonban azt mondja, hogy az Apple “néhány nagyszerű felhasználói módú keretrendszert biztosított, amelyek biztosítják a harmadik féltől származó biztonsági eszközök számára a szükséges képességeket”, így úgy tűnik, hogy az Apple egyelőre nem vágja ki az ágat a lába alól.
Egyelőre azonban nem világos, hogy a rendszerkiterjesztések ugyanolyan sokoldalúságot és kódolási szabadságot biztosítanának-e, mint a kernel-bővítmények. Ez még kiderül – és egy másik cikk témája -, mivel több időre lesz szükségünk ahhoz, hogy a macOS fejlesztői lassan átálljanak a rendszerkiterjesztésekre a jövőben.
Mindenesetre Wardle rámutat, hogy a lépés összességében jót tesz a macOS biztonságának, függetlenül az Apple lépésének egyéb lehetséges okaitól.