Zaufanie aplikacji na Macu nie jest pojedynczą decyzją na tak lub nie. To cztery osobne pytania, na każde z których odpowiada inny mechanizm: kto to zbudował, czy Apple to sprawdziło, czego wolno jej dotykać i co naprawdę robi, gdy już działa. Pierwsze trzy Apple dokumentuje szczegółowo. Czwarte to to, które musisz zaobserwować sam, i to ono wyłapuje aplikację, która przeszła pierwsze trzy, a potem zeszła na złą drogę.
App Store czy pobranie bezpośrednie
Strona wsparcia Apple Bezpieczne otwieranie aplikacji na Macu nazywa App Store najbezpieczniejszym miejscem pozyskiwania oprogramowania z dwóch konkretnych powodów: Apple sprawdza każdą aplikację przed jej przyjęciem i może szybko usunąć aplikację, jeśli problem wyjdzie na jaw później. Aplikacje z App Store muszą też działać w App Sandbox, który strona Apple o Gatekeeperze i ochronie w czasie działania opisuje jako ograniczający dane, do których aplikacja może sięgnąć, i zmuszający ją do używania API macOS w komunikacji z innymi aplikacjami.
To nie czyni każdego bezpośredniego pobrania podejrzanym. Ogromna część legalnego oprogramowania dla Maca jest dystrybuowana poza sklepem, bo sandbox zabrania tego, co musi ona robić (narzędzia dyskowe, narzędzia deweloperskie, zapory sieciowe włącznie). Różnica polega na tym, że przy pobraniu bezpośrednim etap przeglądu zastępują dwie lżejsze kontrole, które Apple opisuje na tych samych stronach: podpis mówiący, kto zbudował aplikację, oraz skan notaryzacyjny.
Developer ID i notaryzacja: czego dowodzą
Certyfikat Developer ID jest wydawany przez Apple deweloperowi zapisanemu do Apple Developer Program i pozwala Gatekeeperowi potwierdzić, że aplikacja została podpisana przez tego dewelopera i od tego czasu nie została zmodyfikowana. To wszystko, czego dowodzi podpis: tożsamości i integralności. Nie mówi nic o intencjach. Podpisana aplikacja wciąż może być złą aplikacją; podpis oznacza tylko, że Apple wie, czyje nazwisko na niej widnieje, i może go unieważnić.
Notaryzacja to druga kontrola. Dokumentacja deweloperska Apple o notaryzacji oprogramowania macOS przed dystrybucją opisuje ją jako zautomatyzowany skan oprogramowania podpisanego certyfikatem Developer ID pod kątem znanej wrogiej zawartości i problemów z podpisem kodu, po którym Apple wystawia bilet, który Gatekeeper może odczytać. Strona wsparcia Apple jest ostrożna w sformułowaniach: notaryzacja oznacza, że „Apple sprawdziło aplikację pod kątem szkodliwego oprogramowania i żadnego nie wykryło”. To skan względem tego, co Apple już wie, a nie przegląd tego, co aplikacja robi, i Apple może później unieważnić notaryzację, jeśli dowie się czegoś więcej.
Flaga kwarantanny
Mechanizmem, który wiąże te kontrole z konkretnym pobraniem, jest atrybut rozszerzony pliku, com.apple.quarantine, który Safari i większość innych przeglądarek oraz komunikatorów ustawia na wszystkim, co zapisują. Gdy po raz pierwszy otwierasz plik z tym atrybutem, Gatekeeper wykonuje swoje kontrole i prosi o Twoją zgodę. Strona Apple o Gatekeeperze opisuje ustawienie domyślne jako sprawdzanie całego oprogramowania pod kątem znanej szkodliwej zawartości przy pierwszym otwarciu. Atrybut możesz zobaczyć sam, wydając w Terminalu polecenie xattr -l na pobranym pliku.
Jeśli aplikacja nie jest podpisana lub notaryzowana, macOS odmawia jej otwarcia i oferuje ścieżkę obejścia. Strona wsparcia Apple Otwieranie aplikacji Mac od niezidentyfikowanego dewelopera wyjaśnia kroki, a następnie dodaje ostrzeżenie warte przytoczenia co do treści: obchodzenie tych ustawień to najczęstszy sposób, w jaki Mac zostaje zainfekowany, i Apple zaleca zamiast tego poszukać innej aplikacji, nawet gdy deweloper wydaje się znany. Praktyczna zasada wynika z tego wprost. Obejście powinno być rzadkim, świadomym aktem wobec oprogramowania, któremu masz konkretny powód ufać, nigdy odruchem.
Uprawnienia: czego aplikacji wolno dotykać
Trzecie pytanie dotyczy zakresu. Od macOS 10.15, jak wyjaśnia strona przewodnika Apple po bezpieczeństwie platformy o kontrolowaniu dostępu aplikacji do plików, aplikacje muszą pytać, zanim odczytają Biurko, Dokumenty, Pobrane rzeczy, iCloud Drive lub wolumeny sieciowe, a dostęp do kamery, mikrofonu, nagrywania ekranu, monitorowania klawiatury i pełnego dostępu do dysku jest nadawany wyłącznie przez wyraźne monity lub ręczną zmianę w Ustawieniach systemowych, Prywatność i ochrona. System stojący za tymi monitami nazywa się TCC (Transparency, Consent and Control), a jego zasada, słowami Apple, brzmi: użytkownicy powinni mieć pełną przejrzystość, zgodę i kontrolę nad tym, co aplikacje robią z ich danymi.
Uprawnienia same w sobie są sygnałem zaufania. Menedżer schowka, który prosi o dostęp w ramach Dostępności, ma powód. Aplikacja z tapetami, która prosi o Pełny dostęp do dysku i Nagrywanie ekranu, nie ma. Rozbieżność między tym, do czego aplikacja służy, a tym, o co prosi, jest często widoczna, zanim aplikacja zrobi cokolwiek, a odmowa i sprawdzenie, czy aplikacja nadal działa, nic nie kosztuje.
Zachowanie w sieci: pytanie, na które pozostałe kontrole nie odpowiedzą
Podpis, notaryzacja i uprawnienia są oceniane przed żądaniem lub w chwili jego złożenia. Żadne z nich nie obserwuje aplikacji w czasie i żadne nie patrzy na tę jedną czynność, która zamienia problem prywatności w problem bezpieczeństwa: wysyłanie danych poza Maca. Aplikacja może być podpisana przez prawdziwego dewelopera, notaryzowana przez Apple, mieć tylko te uprawnienia, których wiarygodnie potrzebuje, i mimo to wysyłać Twoje kontakty do brokera analitycznego, odpytywać punkt śledzący co kilka minut albo, po tym jak rutynowa aktualizacja podmieni jej kod, zacząć rozmawiać z serwerem, z którym nigdy wcześniej się nie kontaktowała.
Czytanie zachowania w sieci jako sygnału zaufania oznacza zadanie kilku konkretnych pytań o każdą aplikację. Czy w ogóle się łączy, a jeśli tak, to czy jest to oczekiwane przy tym, co robi? Z jakimi hostami rozmawia i czy są to własne serwery dewelopera, rozpoznawalna usługa, czy lista domen reklamowych i analitycznych? Czy używa szyfrowanych połączeń, czy coś wychodzi przez zwykły HTTP? Czy jej zachowanie zmienia się po aktualizacji? I czy łączy się według harmonogramu, gdy jej nie używasz? Żadne z tych pytań nie wymaga wiedzy eksperckiej; wymagają zobaczenia połączeń, a tego macOS domyślnie nie pokazuje.
Do tego służy FireAI. Jego mapa na żywo pokazuje każde połączenie nawiązywane przez każdą aplikację, wraz z celem, krajem i siecią, która za nim stoi, a jego ocena Private AI, model działający na urządzeniu, osądza każde nowe połączenie z nieznanej aplikacji na podstawie reputacji celu, tego, czy plik binarny był już widziany, portu i protokołu oraz tego, czy łącze jest szyfrowane, a następnie wyjaśnia swoje uzasadnienie zwykłym językiem. Jego ochrona nieszyfrowanych danych zatrzymuje numery kart, hasła i klucze API wychodzące przez zwykły HTTP niezależnie od tego, która aplikacja je wysyła. Każda decyzja AI staje się widoczną regułą, którą możesz cofnąć, a reguły można pisać zwykłym angielskim lub francuskim („block Microsoft Teams”) albo eksportować jako plik tekstowy.
Blokowanie tego, co niepodpisane, i podążanie za podpisem
Dwie decyzje projektowe FireAI wynikają wprost z opisanego wyżej modelu Apple. Po pierwsze, jego surowsze tryby bezpieczeństwa, Paranoid i Under attack, całkowicie blokują łączenie się niepodpisanych aplikacji, wraz z telemetrią i trackerami, co zamienia okno Apple „czy na pewno?” w domyślne ustawienie na poziomie sieci: niepodpisany plik binarny może działać, jeśli się uparłeś, ale nie może do nikogo zadzwonić. Po drugie, reguły FireAI per aplikacja podążają za podpisem kodu aplikacji, a nie za jej nazwą czy ścieżką. Podszywająca się aplikacja o nazwie „Slack.app” w folderze Pobrane rzeczy nie dziedziczy reguły, którą napisałeś dla prawdziwego Slacka, bo podpis się nie zgadza; a gdy prawdziwa aplikacja się aktualizuje, reguła przechodzi dalej, bo podpis się zgadza. To ta sama tożsamość, której Apple używa w Gatekeeperze, zastosowana do sieci.
Czego to nie robi
FireAI nie skanuje plików aplikacji, nie bada jej kodu ani pamięci i nie jest antywirusem; nie powie Ci, że pobrany plik jest wrogi, zanim go uruchomisz. Jeśli zezwoliłeś aplikacji, ruch, który ukrywa się wewnątrz tej aplikacji, dziedziczy jej uprawnienie. Szyfrowany ruch do celu o dobrej reputacji jest oceniany według celu i wzorca, a nie zawartości. I żadna zapora nie zastępuje pierwszych trzech kontroli: najtańszą i najbardziej niezawodną decyzją o zaufaniu na Macu wciąż jest wybór App Store lub pobrania podpisanego certyfikatem Developer ID i notaryzowanego, odmowa w oknie obejścia oraz odrzucanie uprawnień, których aplikacja nie ma widocznego powodu potrzebować.
Razem te cztery pytania dają roboczą definicję godnej zaufania aplikacji na Maca: podpisana przez znanego dewelopera, notaryzowana przez Apple, prosząca tylko o to, czego wiarygodnie potrzebuje, i rozmawiająca tylko z serwerami, które mają sens przy tym, co robi. Pierwsze trzy Apple pozwala sprawdzić przy instalacji. Czwarte można zobaczyć tylko obserwując, i dlatego to właśnie je warto dodać.
Jaką rolę odgrywają FireAI i HisnLabs
Apple answers the first three trust questions at install time; FireAI exists for the fourth, showing what each app actually does on the network and keying every rule to the same code signature Gatekeeper already relies on.
FireAI to własny produkt HisnLabs: zapora sieciowa z AI działająca bezpośrednio na Macu. Pokazuje prostym językiem każde połączenie nawiązywane przez twoje aplikacje i pozwala ci decydować, co opuszcza twojego Maca — jej AI działa lokalnie, więc twój ruch nigdy nie jest wysyłany do nas ani do nikogo innego. Zespół badań nad bezpieczeństwem HisnLabs dba o to, by te decyzje pozostały trafne: kataloguje, które domeny to zwykła telemetria, a które prawdziwa usługa, śledzi kraj i sieć stojące za połączeniem oraz trenuje lokalny model (funkcję Autopilot) na rzeczywistych wzorcach ruchu — a nic z tego nie opuszcza twojego Maca.
Możesz przeczytać o decyzjach technicznych, które za tym stoją, albo wypróbować FireAI przez 17 dni na FireAI od HisnLabs.
