Na konferencji WWDC w zeszłym roku, Apple ogłosiło plany deprecjacji macOS “rozszerzeń jądra” (KEXTs) i zastąpienia ich nowym mechanizmem o nazwie “rozszerzenia systemowe.”
Pierwszy krok w kierunku tej zapowiedzi został wykonany wraz z wydaniem macOS Catalina (10.15.0) we wrześniu 2019 roku, kiedy to rozszerzenia systemowe zostały wprowadzone obok rozszerzeń jądra.
Ostatni krok planu Apple wejdzie w życie w najbliższych tygodniach, wraz z nadchodzącym wydaniem macOS Catalina 10.15.4.
Według Apple, począwszy od macOS 10.15.4, korzystanie z rozszerzeń jądra spowoduje wyświetlenie powiadomienia dla użytkownika, że oprogramowanie zawiera przestarzałe API i poprosi użytkownika o kontakt z deweloperem w celu uzyskania alternatywnych rozwiązań.
Jaka jest różnica między nimi?
Oba rozszerzenia jądra i rozszerzenia systemu służą temu samemu celowi. Pozwalają użytkownikom instalować aplikacje, które rozszerzają natywne możliwości systemu operacyjnego macOS.
Apps install kernel/system extensions that allow them to perform operations for which macOS has no native features or functions.
Macowe oprogramowanie antywirusowe, zapory sieciowe, klienci VPN, serwery proxy DNS, sterowniki USB i inne, wszystkie korzystają z rozszerzeń jądra.
Różnica między tymi dwoma nowymi systemami rozszerzeń polega na tym, że starsze rozszerzenia jądra wykonują swój kod na poziomie jądra macOS, podczas gdy nowsze rozszerzenia systemowe działają w ściślej kontrolowanej przestrzeni użytkownika.
Wielki ruch dla bezpieczeństwa
“Z punktu widzenia Apple, to duży krok w kierunku poprawy bezpieczeństwa macOS”, Patrick Wardle, Principal Security Researcher w Jamf, i znany ekspert ds. bezpieczeństwa macOS, powiedział ZDNet w wywiadzie w tym tygodniu.
“Rozszerzenia jądra firm trzecich stanowią soczysty wektor ataku dla napastników celujących w macOS”, dodał. “Szczególnie, jeśli jako atakujący możesz wykorzystać rozszerzenie jądra lub załadować własne (zakładając, że jest podpisane).”
Ataki z wykorzystaniem KEXT-ów zdarzały się w przeszłości.
“To naprawdę koniec gry dla macOS,” powiedział Wardle. “Wiele mechanizmów bezpieczeństwa jest zaimplementowanych/wzmocnionych w jądrze.”
Wardle mówi, że atak taki jak ten nie zadziałałby z rozszerzeniami systemowymi, ponieważ działają one w trybie użytkownika.
“Ponieważ nie działają one w jądrze, exploit nie daje ci już dostępu do trybu jądra, tak jak to miało miejsce w przypadku exploita KEXT,” powiedział Wardle.
“Więc Apple w zasadzie chce wyrzucić wszystkich, głównie ze względów bezpieczeństwa.”
Potencjalne minusy
Jednakże Wardle mówi, że jest też minus tego ruchu.
Pierwszym z nich jest to, że przez wyrzucenie twórców aplikacji z jądra, Apple zyskuje również dużo więcej kontroli nad macOS, podobnej do tej, jaką mają nad iOS.
Do tej pory macOS był rajem dla deweloperów i jego użytkowników. Jeśli macOS nie miał konkretnej funkcji, deweloperzy mogli po prostu stworzyć aplikację i wykorzystać rozszerzenie jądra, aby dodać funkcje, których potrzebowali.
Drugim minusem jest to, że wiele narzędzi bezpieczeństwa same, w dużej mierze opierały się i zostały zbudowane wokół pełnego dostępu do rozszerzeń jądra zapewniają użytkownikowi Mac. Można argumentować, że ruch Apple w kierunku rozszerzeń systemu może skończyć się un neutering produktów bezpieczeństwa, które stracą niektóre z ich zdolności do wykrywania i zatrzymywania złośliwego oprogramowania po drodze.
Jednakże Wardle, który jest autorem wielu darmowych narzędzi bezpieczeństwa macOS, mówi, że Apple dostarczyło “kilka wspaniałych frameworków trybu użytkownika, które zapewniają 3rd-party narzędzia bezpieczeństwa możliwości, których potrzebują”, więc wydaje się, że Apple nie został cięcia gałąź spod jego stóp, jeszcze.
Ale na razie nie jest jasne, czy rozszerzenia systemu zapewni taką samą wszechstronność i wolność kodowania jako rozszerzenia jądra. To pozostaje do zobaczenia – i temat na inny artykuł – jak będziemy potrzebować więcej czasu dla deweloperów macOS powoli dokonać przełączenia do rozszerzeń systemowych going forward.
Jednakże Wardle wskazuje, że ruch jest dobry dla bezpieczeństwa macOS, ogólnie, niezależnie od innych możliwych powodów Apple’s move.
.