Lekcja 3 z 4 · 8 min
Jak macOS sprawdza otwierane aplikacje
Podpisywanie kodu, strażnik, notarializacja i XProtect: cztery kontrole przeprowadzane przed i po otwarciu aplikacji.
Za każdym razem, gdy otwierasz aplikację po raz pierwszy, macOS przeprowadza krótką serię kontroli przed jej uruchomieniem. W większości przypadków nigdy ich nie widzisz; zauważasz tylko wtedy, gdy któryś z nich coś zatrzymuje. W tej lekcji omówiono, co faktycznie się dzieje, korzystając z opisu każdego kroku opracowanego przez firmę Apple.
Podpisywanie kodu: sprawdzanie, kto go zbudował
Dokumentacja bezpieczeństwa Apple wyjaśnia, że w systemie macOS „podpisywanie kodu jest wykonywane przez programistę przy użyciu certyfikatu ID programisty (wydanego przez firmę Apple). Weryfikacja tego podpisu stanowi dla użytkownika dowód, że oprogramowanie dewelopera nie zostało naruszone od czasu jego zbudowania i podpisania. Podpis nie oznacza, że aplikacja jest bezpieczna; mówi, że aplikacja jest dokładnym plikiem stworzonym przez programistę, niezmodyfikowanym od tego czasu.
Notarializacja: czek Apple
Notarializacja jest odrębnym, dodatkowym krokiem. Apple wyjaśnia, że „może to wykonać każdy uczestnik łańcucha dystrybucji oprogramowania i dowodzi, że Apple otrzymało kopię kodu w celu sprawdzenia [pod kątem szkodliwych treści] i nie znaleziono żadnego [znanego szkodliwego oprogramowania]. Wynikiem notaryzacji jest bilet, który jest przechowywany na serwerach Apple i opcjonalnie można go zszyć w aplikacji. Od wersji macOS Catalina ta kontrola domyślnie dotyczy prawie wszystkiego, co otwierasz, niezależnie od tego, w jaki sposób dotarło ono na Twój Mac.
Gatekeeper: kontrola uruchamiana po otwarciu aplikacji
Gatekeeper jest tym, co faktycznie stosuje te wyniki w momencie dwukrotnego kliknięcia. Apple opisuje to jako zaprojektowane „aby zapewnić, że na komputerze Mac użytkownika będzie działać tylko zaufane oprogramowanie”. Gdy użytkownik pobiera i otwiera aplikację, wtyczkę lub pakiet instalacyjny spoza App Store, Gatekeeper weryfikuje, czy oprogramowanie pochodzi od zidentyfikowanego twórcy, zostało poświadczone przez Apple jako wolne od [znanych szkodliwych treści] i nie zostało zmienione. Gatekeeper prosi również użytkownika o zgodę przed pierwszym otwarciem pobranego oprogramowania, aby upewnić się, że nie został on oszukany do uruchomienia kodu wykonywalnego, który według niego jest po prostu plikiem danych. To alert, który widzisz, gdy po raz pierwszy otwierasz coś pobranego z Internetu.
- Pobierasz aplikację spoza App Store i klikasz ją dwukrotnie.
- Gatekeeper sprawdza podpis programisty i wyszukuje dla niego poświadczenie notarialne Apple.
- Jeśli weryfikacja przebiegnie pomyślnie, macOS nadal poprosi Cię o potwierdzenie chęci otwarcia go za pierwszym razem.
- Jeśli Apple unieważnił aplikację lub nic się nie sprawdziło, macOS odmówi jej otwarcia i poinformuje Cię, dlaczego.
XProtect: oglądanie po uruchomieniu aplikacji
Ostatnia warstwa działa już po fakcie. W przewodniku Apple opisano XProtect jako „wbudowaną technologię antywirusową systemu macOS służącą do wykrywania i usuwania [znanego szkodliwego oprogramowania] na podstawie sygnatur, która „sprawdza znaną [szkodliwą] zawartość za każdym razem, gdy: pierwsze uruchomienie aplikacji, zmiana aplikacji, [lub] aktualizacja podpisów XProtect”, przy czym Apple aktualizuje te podpisy automatycznie, niezależnie od pełnych aktualizacji systemu. Jeśli znajdzie znane zagrożenie, Apple wyjaśnia, że „blokuje je i przenosi do Kosza”. Następnie powiadamia użytkownika w Finderze.
Najważniejsze
- Podpisywanie kodu potwierdza, że plik aplikacji nie zmienił się od czasu, gdy programista go zbudował i podpisał; samo w sobie nie oznacza to, że aplikacja jest bezpieczna.
- Notaryzacja polega na sprawdzeniu przez Apple kopii kodu aplikacji, zanim będzie można ją domyślnie uruchomić w bieżącym systemie macOS.
- Gatekeeper stosuje obie kontrole w momencie otwarcia aplikacji i prosi o zgodę za pierwszym razem.
- XProtect sprawdza po uruchomieniu aplikacji, korzystając z sygnatur aktualizacji Apple automatycznie i niezależnie od pełnych aktualizacji systemu.
- macOS umożliwia pominięcie tych kontroli dla konkretnej aplikacji w Ustawieniach, ale powoduje to usunięcie prawdziwej ochrony, dlatego powinno być to rzadkie i celowe.
Sprawdź się
1. Czego właściwie dowodzi prawidłowy podpis kodu?
- Że aplikacja jest wolna od wszelkich możliwych problemów
- Że plik aplikacji nie zmienił się od czasu podpisania go przez programistę — Dobrze.
- Że aplikacja została sprawdzona przez człowieka w Apple
- Że aplikacja nie może uzyskać dostępu do Internetu
Podpisywanie kodu weryfikuje integralność i tożsamość programisty, a nie to, czy aplikacja jest w inny sposób bezpieczna lub dobrze się zachowuje.
2. Co według Apple oznacza notarialność?
- Apple napisało aplikację
- Firma Apple sprawdziła kopię kodu aplikacji i nie znalazła żadnych znanych zagrożeń — Dobrze.
- Aplikacja została zakupiona w App Store
- Aplikacja została przetłumaczona na wiele języków
Notarialne poświadczenie potwierdza, że Apple otrzymał kod do sprawdzenia i nie znaleziono w nim niczego, co mogłoby być szkodliwe.
3. Kiedy Gatekeeper prosi o zgodę na otwarcie aplikacji?
- Za każdym razem, gdy otwierasz dowolną aplikację
- Tylko przy pierwszym otwarciu pobranego oprogramowania — Dobrze.
- Tylko dla aplikacji z App Store
- Nigdy, działa cicho
Gatekeeper prosi o zatwierdzenie przy pierwszym otwarciu pobranego oprogramowania, więc nie można dać się oszukać i uruchomić coś nieoczekiwanego.
4. W jaki sposób XProtect aktualizuje swoje sygnatury wykrywania?
- Tylko w przypadku zainstalowania dużej aktualizacji systemu macOS
- Automatycznie, niezależnie od pełnych aktualizacji systemu — Dobrze.
- Tylko wtedy, gdy ręcznie uruchomisz skanowanie
- Nigdy nie aktualizuje się po zainstalowaniu
Apple aktualizuje podpisy XProtect automatycznie i niezależnie od pełnych aktualizacji systemu, często codziennie.
Wypróbuj to z FireAI
Zastosuj tę lekcję w praktyce na swoim Macu.
- Odpowiedz na pierwsze pytanie o połączenie i dowiedz się, co oznacza każdy czas trwania — Zrozum dokładnie, na co się zgadzasz, gdy FireAI pyta po raz pierwszy.
- Znajdź aplikacje ze znanymi lukami bezpieczeństwa — Zamknij znane luki, zanim ktoś je wykorzysta: zaktualizuj jedną aplikację, która tego potrzebuje.
- Zobacz, która aplikacja włącza twoją kamerę lub mikrofon i dokąd trafia jej ruch — Wiedz, która aplikacja może cię widzieć lub słyszeć, a nie tylko że ktoś może.
Źródła
- Apple Platform Security: App code signing process in macOS
- Apple Platform Security: Gatekeeper and runtime protection in macOS
- Apple Platform Security: Protecting against malicious software in macOS
- Apple Support: Safely open apps on your Mac
Zastosuj to na swoim Macu
Wypróbuj wszystkie funkcje za darmo przez 17 dni, bez karty.