macOS High Sierra: bezpieczne ładowanie rozszerzeń jądra nie takie bezpieczne
Najnowszy macOS 10.13 wprowadza nowy mechanizm zabezpieczającySecure Kernel Extension Loading (SKEL), mający blokować ładowanierozszerzeń jądra. W założeniu ma on oczywiście chronić przed złośliwymoprogramowaniem. Praca niezależnego badaczaPatricka Wardle’a pokazuje jednak, że Apple za mocne w kwestiachzwiązanych z bezpieczeństwem nie jest, a SKEL praktycznie niestanowi żadnej przeszkody dla twórców malware, utrudni tylko życieniezależnym programistom.
19.09.2017 12:48
Poprzez Secure Kernel Extension Loading, system macOS High Sierrama uniemożliwić aplikacjom załadowanie modułów do jądra systemuoperacyjnego (Xnu) w celu zmiany jego działania bez wyraźnej zgodyużytkownika. Przedstawione w dokumentacjiApple’a rozwiązanie już wzbudziło niepokój profesjonalistówkorzystających z macOS-a. Ekspert od systemu Apple’a Erik Gomeznazywacałe wręcz je „kextokalipsą” [od popularnej nazwy rozszerzeńkernela macOS-a, kext – przyp. red.], wykazując, że w warunkachkorporacyjnych dotknie ono użytkowników antywirusów, licznychsterowników, środowisk wirtualizacyjnych czy narzędzideweloperskich.
Aby bowiem użyć rozszerzenia jądra konieczne jest ręczneotworzenie ustawień bezpieczeństw i prywatności, a następnie anietam pozwolenia na jego użycie. Procedura ta jest stosunkowouciążliwa, na tyle, że wielu użytkowników nie będzie w staniezainstalować legalnego oprogramowania bez pomocy – szczególnie jeśli nie mają uprawnień administracyjnych. Pociesza jedynieto, że rozszerzenia już zainstalowane w macOS Sierra (10.12) będąautomatycznie dozwolone w 10.13.
20 minut miało zająć Patrickowi Wardle z firmy Synackznalezienie w ostatniej udostępnionej wersji beta macOS-a HighSierra drogi obejścia SKEL. Udało mu się bez problemu instalowaćnowe rozszerzenia bez interakcji z użytkownikiem. Nie ujawniłtechnicznych szczegółów swojego ataku – wygląda jednak na to,że nie jest on wcale taki oczywisty. Nie chodzi ani o bezpośredniąmodyfikację bazy polityk wobec rozszerzeń kernela, ani teżprogramistyczne sterowanie interfejsem użytkownika, by zasymulowaćzgodę.
Trzeba przypomnieć, że już od premiery OS X Yosemite, Appleuniemożliwia swobodne ładowanie rozszerzeń kernela. Kexty musząbyć podpisane specjalnym certyfikatem, który uzyskać wcale niejest łatwo – wydane one zostały jedynie nielicznym firmomprogramistycznym, mającym uzasadnione powody do pisania koduingerującego w kernel Xnu. Przedstawiono to oczywiście jakowzmocnienie bezpieczeństwa systemu, i jedynie nieprzychylne firmie zCupertino języki oceniły to jako kolejny mechanizm kontroli Applenad tym, co robimy z Makami. Obecnie niepodpisane kexty można wgraćdo systemu tylko wtedy, gdy użytkownik dezaktywuje system ochronyprzed modyfikacją integralności (SIP).
Nowe zabezpieczenia, zdaniem Wardle’a, skomplikują życieprogramistów i użytkowników produktów firm trzecich, niewpływając na cyberprzestępców, którzy przecież nie zamierzajągrać zgodnie z zasadami. Oczywiście jeśli faktycznym celem SKELjest przejęcie kontroli nad systemem użytkownika pod przykrywkąwzmocnienia bezpieczeństwa, to odkryte obejście nie jest żadnąwadą – pisze ekspert.
Nie wiemy póki co, czy szczegóły techniczne ataku zostałyprzekazane Apple i czy wykorzystana luka została już zamknięta wwersji Golden Master macOS High Sierra 10.13. Premiera nowej wersjisystemu operacyjnego Maka planowana jest na 25 września.