Świat nie jest idealny i zawsze istnieje coś albo ktoś kto chce zrobić naszym wspaniałym pomocnikom w blaszanych skrzynkach kuku lub po prostu spowodować utratę danych. Albo co gorsza dobrać się do naszych zasobów finansowych lub podejrzeć filmik z ostatniej libacji w czasie której urwał nam się scenariusz. Mamy co prawda tak zwane "pewne" źródła oprogramowania w postaci sklepów firmowych, jednakże złośliwy kod może się przedrzeć i przez tą barierę. Przyjrzyjmy się zatem jakie mechanizmy posiada macOS by poradzić sobie z tym problemem.

odzwierny

Podpisywanie kodu, identyfikator programisty i odźwierny, zwany z francuska portierem albo po prostu Gatekeeper

Gatekeeper domyślnie zapewnia, że instalowane oprogramowanie jest bezpieczne, o ile Apple nie wykryje nieprawidłowości. Programiści aplikacji macOS muszą się zarejestrować co wymaga całej procedury, a wtedy otrzymują identyfikator dewelopera, który jest następnie używany do cyfrowego podpisywania tworzonego przez nich oprogramowania. Gatekeeper nie dopuszcza instalacji oprogramowania bez certyfikatu, który nie można tak sobie kupić jak dyplom Collegium Humanum. Trzeba się wykazać uczciwością i przyzwoitością, hehe.
Gatekeeper ostrzega również przy pierwszym uruchomieniu aplikacji jeśli ta nie pochodzi od znanych i zarejestrowanych deweloperów. Użytkownicy mogą wybrać w ustawieniach systemowych jak Gatekeeper ma się zachować:
Prywatność i ochrona → Pozwalaj na aplikacje z ... , czyli którym aplikacją zezwolić na instalację.

Pozwalaj%20na%20aplikacje%20z

Tylko aplikacje poświadczone notarialnie są wtedy dopuszczone do instalacji. Każda inna instalacja będzie zatrzymana. Naturalnie łatwo to obejść. Ale Apple prosił mnie by o tym nie mówić.

PIS, och sorry, SIP - System Integrity Protekszyn

Następna metoda ochrony systemu to SIP, czyli ochrona integralności systemu. SIP decyduje, jakie drivery (kext) mogą zostać uruchomiane i jaki kod może być użyty na komputerach Mac. Domyślnie mogą działać tylko sygnowane kexty lub oprogramowanie z App Store od zarejestrowanych deweloperów Apple. Naturalnie i to można obejść. Inaczej nie pisał bym tego tekstu na komputerze typu hackintosh. Tą możliwość zapewnili sobie sami projektanci systemu, jednakże dla własnych celów. My wykorzystujemy to rozwiązanie w bootloaderach typu OpenCore.
Możliwe jest wyłączenie SIP w Terminalu, ale nie jest to zalecane i konfigurując komputer hackintosh powinniśmy zapewnić pełne włączenie SIP. Ponieważ wyłączenie niweluje bezpieczeństwo systemu macOS i może ułatwić uruchamianie złośliwego kodu.
Aby uzyskać podgląd na aktualny status SIP wpisz w Terminal:

csrutil status

csrutil%20status

Niektóre programy by działać wymagają tymczasowego ograniczenia SIP. Jak przykładowo OpenCore-Legacy-Patcher. Ustawienie to można dokonać w Config.plist.

Udostępnianie i uprawnienia, narzędzia pomocnicze

MacOS wykorzystuje koncepcję przywilejów i uprzywilejowanych użytkowników. Każdy obiekt znajdujący się na dysku zarządzanym systemem macOS posiada swoje prawa. By móc pracować z tym obiektem potrzebne są przywileje. Klikając prawym przyciskiem myszy w dowolny obiekt pojawi się menu z którego można wybrać podpunkt Informacje. U spodu można podejrzeć kto taki i jakie ma prawa.
Użytkownik root na przykład, ma nieograniczone uprawnienia bezpieczeństwa i może wprowadzać zmiany do woli. Ze względów bezpieczeństwa użytkownik root jest domyślnie wyłączony w systemie macOS. Inni użytkownicy mogą mieć inne poziomy uprawnień, które pozwalają na pewne działania, w tym instalację lub usunięcie oprogramowania. Administratorzy mają podwyższone uprawnienia, system wymaga jednak podania hasła.
Aplikacje mogą posiadać kod krytyczny. W dobrze zaprojektowanym software można go jednak uruchomić jedynie za pomocą narzędzi pomocniczych. Narzędzia pomocnicze zapewniają, że tylko małe części kodu mogą być uruchamiane z podwyższonymi uprawnieniami - ograniczając w ten sposób, które części oprogramowania mogą wykonywać krytyczne zadania.
Dobrze napisana aplikacja umieści cały kod ryzyka w narzędziu pomocniczym, a następnie po potwierdzeniu hasłem uruchomi narzędzie pomocnicze. Narzędzie to podwyższa uprawnienia na krótki czas jedynie. Po czym wraca do poziomu bezpiecznego.

Demony i inne diabelstwa

Bezpieczeństwo w macOS jest zarządzane za pomocą kombinacji procesów w tle (demonów) i frameworków, ładowanych do aplikacji podczas ich uruchamiania.

W zakresie bezpieczeństwa są to takie funkcje jak:

Wszystkie te elementy współpracują ze sobą, aby zapewnić, że oprogramowanie macOS jest tak bezpieczne, jak tylko to możliwe.

MacOS używa dewizy Zero Trust, a to oznacza, że dostęp do oprogramowania jest ograniczony, chyba że uprzywilejowany użytkownik autoryzuje swoje czyny, wiedząc co robi. Zero Trust domyślnie oznacza, że oprogramowanie nie może działać bez określonej autoryzacji.

W Terminal podając komendę top zobaczysz co takiego hasa pod maską macOS, funkcja wyświetla wszystkie uruchomione procesy, w tym demony, identyfikatory procesów (PID), środowiska wykonawcze, użycie procesora, porty i inne. Naturalnie możesz użyć też programu "Monitor aktywności". Ale w obu przypadkach tylko doświadczony użytkownik wyłowi zagrożenia. Pomocny może być w tym wypadku program KnockKnock, którym sprawdzić można zainstalowane rozszerzenia.

Objective See >> link do KnockKnock

Program jest darmowy, a deweloper godny polecenia.

knock

Co może zaatakować nasze maci

Rodzaje złośliwego oprogramowania obejmują (ale nie są ograniczone do) wirusy, konie trojańskie, złośliwe aplikacje lub frameworki, sterowniki, a nawet oprogramowanie układowe. Ataki sieciowe są również możliwe poprzez wstrzykiwanie złośliwego oprogramowania do kodu sieciowego lub podsłuchiwanie komunikacji sieciowej.
Ransomware to złośliwe oprogramowanie, które kradnie tajemnice handlowe firmy lub dane klientów, a następnie pozwala żądać płatności, bez której grozi ujawnienie skradzionych danych. Najczęściej napotkać można jednak wirusy, to fragmenty kodu, które można zainstalować i uruchomić zdalnie na lokalnym komputerze użytkownika i po cichu siać spustoszenie. Wirusy mogą uszkodzić lub zmodyfikować kod aplikacji, sterowniki, pliki, bazy danych lub oprogramowanie systemowe w celu wykonania jakiejś złośliwej czynności. Może to obejmować usuwanie albo uszkodzenie danych lub modyfikowanie oprogramowania w celu wykonania jakiegoś niegodziwego działania. Groźne są tak zwane konie trojańskie, to w zasadzie aplikację, które mogą szkodzić przechowywanym danym lub innemu zainstalowanemu oprogramowaniu. Jednym z typowych wektorów ataku koni trojańskich jest po cichu zastąpienie frameworków, oprogramowania lub komponentów systemu złośliwą wersją oszusta, która następnie skrycie uruchamia inną aplikacje, którą ściągnie z sieci. Sterowniki urządzeń mogą być również zainstalowane w celu uruchomienia złośliwego kodu, gdy używane jest określone urządzenie. Sieciowe sterowniki złośliwego oprogramowania są szczególnie niebezpieczne, ponieważ mogą do woli przesyłać dane przez sieć i to niezauważalnie.
Ataki przepełnienia bufora są jednymi z najczęstszych ataków internetowych. Są trudne do wykrycia, ponieważ większość kodu sieciowego i stron internetowych działa automatycznie i poza zabezpieczeniami oprogramowania. Większość przeglądarek internetowych zawiera jednak ustawienia ograniczające, jakie rodzaje oprogramowania można pobrać i uruchomić automatycznie w ich oknach.
Innym atakiem który jednak nam "gigantom intelektu" nie zagraża, to atak socjotechniczny. To taktyka, w której typki w czarnych kapturach przekonują ofiary, że są pracownikami jakiejś ważnej instytucji, na przykład Episkopatu, aby uzyskać dostęp do twojej sakiewki, więc bądźcie czujni.

Co możesz zrobić dodatkowo

Ze względu na wyłączonego domyślnie użytkownika root i ograniczone uprawnienia, pod którymi działa większość oprogramowania macOS, atakującemu trudno jest nakłonić system do uruchomienia złośliwego kodu z podwyższonymi uprawnieniami. Podpisane i bezpieczne narzędzia pomocnicze sprawiają, że te próby są jeszcze trudniejsze - i zapewniają, że większość złośliwego oprogramowania nie może działać wystarczająco długo, aby wyrządzić szkody. Dopóki SIP jest włączony, oprogramowanie nieautoryzowanych programistów nie może być uruchamiane bez ostrzeżenia użytkownika.

Instalacja dobrego skanera wirusów jest nadal zalecana, przynajmniej prze ze mnie. Takie rzeczy jak Avast można przecież przeboleć. Staraj się panować nad rozszerzeniami systemowymi, skryptami, czcionkami innych firm, sterownikami i rozszerzeniami jądra - Kext. Czym mniej tym lepiej. Możesz również wyłączyć obcych użytkowników albo gości, i pozostawić tylko siebie, hehe.
Zadbaj o dobre hasło WiFi i dobry poziom szyfrowania. Wyłącz zdalne zarządzanie, zdalne logowanie i zdalne skrypty aplikacji w:
Ustawienia systemowe → Udostępnianie,
praktycznie poza Bluetooth można wszystko pozostawić wyłączone. Wyłącz WiFi jak akurat niepotrzebne. Użyj zapory sieciowej, wykorzystaj opcje jak tryb utajony.

Zapora

Tak jak system Apple, stosuj zawsze dewizę Zero Trust. Skorzystaj z dodatkowej zapory jak LuLu:

Objective See >> link do LuLu

favicon-32x32 AUTOR @A.M. NOGLIK / 11-10-2024