Mamy złą informację dla fanów urządzeń firmy z logo nadgryzionego jabłka, do których też się zaliczamy:) Jak to w cyberbezpieczeństwie bywa, co jakiś czas odkrywane są nowe podatności w systemach Windows, rzadziej w Linux , o których piszemy na Kapitanie. Przyszedł czas na MacOS.
Odkryta podatność jest o tyle ciekawa, że przedstawił ją konkurent Apple – Microsoft. Z pewnością był to odwet na nasze częste artykuły o nowych podatnościach w „durszlaku”;) Oczywiście to jest żart i cieszymy się, że Microsoft stale ulepsza swój system i również kibicujemy jego wielkiemu sukcesowi na rynku.


Błąd w zabezpieczeniach SIP na MacOS

Pod koniec października Microsoft odkrył krytyczną lukę w zabezpieczeniach systemu macOS, która według badacza zespołu Microsoft 365 Defender Research, Jonathana Bar-Ora, mogła zostać wykorzystana do zainstalowania rootkita na docelowych Macbookach.
Luka została zidentyfikowana w mechanizmie zabezpieczeń systemu macOS – System Integrity Protection (SIP). Badania sugerują, że może to umożliwić atakującym zainstalowanie interfejsu sprzętowego w celu nadpisania plików systemowych lub zainstalowania niewykrywalnego, trwałego złośliwego oprogramowania.

Oceniając procesy macOS uprawnione do omijania zabezpieczeń SIP, natrafiliśmy na demona system_installd, który ma wysokie uprawnienie com.apple.rootless.install.inheritable. Dzięki temu uprawnieniu każdy proces podrzędny system_installd będzie w stanie całkowicie ominąć ograniczenia systemu plików SIP” — wyjaśnił Bar-Or w poście na blogu.

Luka dotyczyła również mechanizmu podpisywania pakietów i sposobu instalacji skryptów poinstalacyjnych. Według Jonathana cyberprzestępca może utworzyć „specjalnie spreparowany plik”, aby przejąć kontrolę nad procesem instalacji.


Krótko o SIP

Ochrona Integralności Systemu (SIP) to technologia zabezpieczeń w systemie macOS występująca od wersji OS X El Capitan, która ma na celu zapobieganie modyfikowaniu chronionych plików i folderów na komputerze Mac przez potencjalnie złośliwe oprogramowanie. Ochrona integralności systemu ogranicza konto użytkownika root i ogranicza działania, które użytkownik root może wykonywać na chronionych częściach systemu operacyjnego Mac. SIP to taki „odpowiednik” mechanizmu User Account Control (UAC) w systemie Windows. O omijaniu UAC pisaliśmy ostatnio tutaj.
W systemie MacOS, aby oprogramowanie podczas instalacji mogło uzyskać dostęp na poziomie administratora do systemu koniczne jest podanie nazwy i hasła administratora. Dzięki temu może ono modyfikować lub zastępować dowolny plik systemowy lub aplikację.
Ochrona Integralności Systemu SIP obejmuje ochronę następujących części systemu:

  • /System
  • /usr
  • /bin
  • /sbin
  • /var
  • Aplikacje preinstalowane z systemem OS X

Ścieżki i aplikacje, które aplikacje i instalatory innych firm mogą nadal pisać, obejmują:

  • /Applications
  • /Library
  • /usr/local

Zgodnie z informacją podawaną przez Apple „Ochrona Integralności Systemu została zaprojektowana tak, aby umożliwić modyfikowanie tych chronionych części wyłącznie przez procesy podpisane przez Apple i mające specjalne uprawnienia do zapisywania w plikach systemowych, takich jak aktualizacje oprogramowania firmy Apple i instalatory firmy Apple. Aplikacje pobrane ze sklepu AppStore już działają z ochroną integralności systemu. Inne oprogramowanie innych firm, jeśli jest w konflikcie z ochroną integralności systemu, może zostać odłożone na bok podczas uaktualniania do systemu OS X El Capitan lub nowszego.”


Jak atakujący mogą ominąć SIP?

SIP jest również nazywany trybem pracy bez root (ang. rootless). Blokuje system od użycia root’a, używając piaskownicy Apple do ochrony macOS i zawiera wiele zmiennych opartych na pamięci. Wewnętrznie jest kontrolowany przez następujące zmienne NVRAM:

  • csr-active-config: maska bitowa włączonych zabezpieczeń
  • csr-data: przechowuje konfigurację netboot

Tych zmiennych nie można legalnie modyfikować w trybie bez odzyskiwania. Dlatego jedynym uzasadnionym sposobem wyłączenia SIP jest uruchomienie systemu w trybie odzyskiwania i wyłączenie SIP. Włączanie lub wyłączanie SIP odbywa się za pomocą wbudowanego narzędzia csrutil, które może również wyświetlać stan SIP:

W naszym przypadku widać włączoną ochronę na systemie MacOS.

Bar-Or zauważył, że Apple znacznie poprawiło ograniczenia, aby wzmocnić SIP przed takimi atakami na przestrzeni lat, z których najbardziej godnym uwagi jest ograniczenie systemu plików.
Opisywana i odkryta przez niego nowa luka powiązana jest aktualizacjami systemu, które wymagają nieograniczonego dostępu do katalogów chronionych protokołem SIP. Apple wprowadziło określony zestaw uprawnień w celu obejścia kontroli SIP zgodnie z projektem. Badacz Microsoft uważa, że problem był poważny i nazwał go Shrootless.


POC i Exploit

Badacz stworzył w pełni funkcjonalny exploit typu proof-of-concept (POC) w celu pokazania obejścia SIP.
Wykorzystuje on następujący scenariusz:

  1. Pobiera pakiet podpisany przez Apple (za pomocą wget), o którym wiadomo, że zawiera skrypt poinstalacyjny
  2. Skrypt umieszcza złośliwy kod w ścieżce „/etc/zshenv”, który sprawdza swój proces nadrzędny. Jeśli jest to „system_installd”, to możliwy jest zapis do zastrzeżonych lokalizacji na dysku.
  3. Wywołuje narzędzie instalatora, aby zainstalować pakiet.

Poniżej prezentujemy wynik działania exploit’a, któremu udało się zastąpić listę wykluczeń rozszerzeń jądra.

źródło: Microsoft

Co dalej z problemem?

Apple zostało powiadomione o usterce i podatność została natychmiast załatana. Luka jest kolejnym z coraz częstszych kierunków ataków, które mogą być wykorzystywane przez cyberprzestępców. Sklasyfikowana jako CVE-2021-30892 została poprawiona w aktualizacjach macOS Monterey 12.0.1, Security Update 2021-007 Catalina, macOS Big Sur 11.6.1.
Zalecamy oczywiście jak najszybszą aktualizacje Waszych urządzeń.

Podziel się z innymi tym artykułem!