16

Kompromitujący błąd w zabezpieczeniach macOS. Jeśli go nie zaktualizowałeś, rób to natychmiast

apple gatekeeper
macOS od lat uchodzi za jeden z najbezpieczniejszych systemów, a Apple za firmę, która na wielu poziomach do tematu bezpieczeństwa użytkowników podchodzi więcej niż poważnie. Jednocześnie od czasu do czasu przytrafiają im się, szczególnie w macOS, błędy tak absurdalne, że aż nie do uwierzenia. Niektórzy z Was pewnie pamiętają absurdalną sytuację z możliwością logowania na roota bez konieczności wpisywania hasła, a załatany właśnie dziś babol był podobnego kalibru.

Ślepy ochroniarz

Wyobraźcie sobie, że stawiacie na granicy żołnierza, który ma przepuszczać tylko ludzi z odpowiednim dokumentem. Nasz strażnik widzi człowieka, tyle że w kiepskim przebraniu, dajmy na to… łosia. Łoś idzie na dwu nogach, podaje żołnierzowi rękę, ale mimo to nasz strażnik uznaje go za zwierzę i puszcza dalej. Nieprawdopodobne? W świecie ludzi pewnie nie, ale jak się właśnie okazało, na mniej więcej podobnej zasadzie działał dotychczas Gatekeeper.

Gatekeeper,  w dużym skrócie, to systemowe zabezpieczenie Apple, mające za zadanie identyfikować zaufane oprogramowanie dostarczane przez deweloperów firm trzecich jest z nami już od wielu lat, ale prawdopodobnie ostatnie zmiany wprowadzone na poziomie Cataliny nie poszły tak, jak powinny.

Procedura uznania aplikacji za godną zaufania wymaga od twórców rejestracji w Apple i wniesienia stosownych opłat. Jej efektem jest coś w stylu cyfrowego certyfikatu, sprawdzanego w trakcie instalacji. Jeżeli aplikacja go nie ma, otrzymujemy od systemu komunikat o zagrożeniach, i żeby kontynuować instalację, trzeba się trochę naklikać.

Tymczasem wspomniany bug powodował, że aplikacje, które zostały pozbawione pliku metadanych o nazwie „info.plist”, a ich część wykonywalna oparta była na skryptach (np. bash czy python), pomimo że zawierały wykonywalny kod i posiadały inne cechy aplikacji (jak choćby rozszerzenie .app) były przez zabezpieczenia macOS traktowane jak zwykły dokument.

Jednak po jego „rozklikaniu” system uruchamiał wspomniane skrypty, co więcej nie wyświetlając nawet podstawowego ostrzeżenia o pobraniu aplikacji z internetu. Trochę przerażające, a hakerom dające duże pole do popisu… Dziurę odkrył analityk bezpieczeństwa Cedric Owens w trakcie testowania macOS w marcu tego roku i zgłosił natychmiast tego babola do Apple. Dziś doczekaliśmy się łatek zamykających tę dziurę.

Czy atak był prawdopodobny?

Odkrywca tego błędu skonsultował się z innymi badaczami i we współpracy z firmą Jamf, odnaleźli przynajmniej jeden rodzaj złośliwego oprogramowania, adware Shlayer, które aktywnie ją wykorzystywał. Czy było ich więcej? Czas pokaże. Baaardzo długi artykuł rozkładający cały problem na czynniki pierwsze znajdziecie pod tym adresem:
https://objective-see.com/blog/blog_0x64.html

Według autorów tego artykułu błąd pojawił się prawdopodobnie w macOS 10.15, kiedy Apple wprowadziło wspomniany mechanizm certyfikacji. Warto jednak odnotować, że aktualizację bezpieczeństwa otrzymało dziś także Mojave (nie wiem jak z niższymi systemami).

Co z tego wynika?

W mojej ocenie, niezmiennie od lat, powinno odejść się od wprowadzonej ponad dekadę temu zasadzie wprowadzanie dużej aktualizacji systemu co rok. Raz, że nie wpływa to dobrze na stabilność nieapplowskich aplikacji, wyklucza starsze maszyny, to jeszcze ciągłe zmiany robione pod rygorem terminu debiutu generują tego typu bugi. Systemy rozrosły się dziś do tak ogromnych rozmiarów, że ich sprawdzenie musi potrwać. Powinniśmy testerom dać na to czas.

Źródło: [1]