Czy Apple śledzi każdą uruchamianą aplikację Mac? OCSP Explained

Czy Twój Mac rzeczywiście łączy się z Apple za każdym razem, gdy uruchamiasz aplikację? Taki zarzut pojawił się 12 października 2020 roku, gdy serwery Apple zaczęły działać wolniej, co powodowało długie czasy otwierania aplikacji na nowoczesnych komputerach Mac. Przyjrzyjmy się tej sytuacji bliżej.

Uwaga: dotyczy to zarówno systemów macOS Big Sur, jak i macOS Catalina. Problemy ze spowolnieniem i związane z tym obawy o prywatność nie są nowością w macOS Big Sur.

Dlaczego aplikacje na Macu są podpisywane certyfikatami deweloperów?

Aplikacje pobrane na Maca – niezależnie od tego, czy są z Mac App Store, czy z Internetu – muszą być podpisane certyfikatem dewelopera. Każdorazowo, gdy uruchamiasz aplikację, system sprawdza, czy została ona podpisana przez autoryzowanego dewelopera oraz czy nie została zmodyfikowana. To działanie ma na celu ochronę przed złośliwym oprogramowaniem.

Na przykład, gdy Mozilla tworzy przeglądarkę Firefox, kompiluje plik aplikacji, a następnie podpisuje go certyfikatem dewelopera Mozilli. Dzięki temu Mozilla potwierdza, że plik jest autentyczny i pochodzi z ich źródła. Jeśli aplikacja zostanie w późniejszym czasie zmodyfikowana, Mac zarejestruje tę zmianę.

Certyfikaty mają ograniczony czas ważności – zazwyczaj kilka lat – ale mogą być unieważnione wcześniej. Na przykład, jeśli Apple odkryje, że deweloper nadużywa swojego certyfikatu do podpisywania złośliwego oprogramowania, certyfikat zostanie unieważniony, a Mac nie otworzy aplikacji, która go używa.

Wyjaśnienie OCSP: dlaczego Twój Mac łączy się z Apple?

Skąd jednak Twój Mac wie, czy certyfikat aplikacji został unieważniony? W tym celu wykorzystuje protokół stanu certyfikatu online (OCSP), który jest również stosowany przez przeglądarki internetowe do weryfikacji certyfikatów stron internetowych podczas przeglądania.

Kiedy uruchamiasz aplikację, Mac wysyła zapytanie dotyczące certyfikatu do serwera Apple pod adresem ocsp.apple.com. Komputer pyta serwer, czy certyfikat jest nadal ważny. Jeśli certyfikat nie został unieważniony, aplikacja uruchamia się normalnie. W przeciwnym razie, Mac nie pozwoli na jej uruchomienie.

Czy to się dzieje za każdym razem?

Twój Mac zapamiętuje odpowiedzi przez pewien czas. Na przykład 12 listopada 2020 roku odpowiedzi były przechowywane przez pięć minut. Oznacza to, że jeśli uruchomisz aplikację, zamkniesz ją i po czterech minutach ponownie uruchomisz, Mac nie będzie musiał ponownie pytać Apple o certyfikat. Jednak po sześciu minutach Mac znów zainicjuje zapytanie do serwera Apple.

Z powodu niejasnych zmian w macOS Big Sur, serwer Apple doświadczył przeciążenia i spowolnienia 12 listopada 2020 roku. Odpowiedzi stały się znacznie wolniejsze, co powodowało długie czasy ładowania aplikacji, ponieważ Mac czekał na odpowiedź od serwera Apple.

Po tym incydencie, serwer OCSP Apple zalecił Macom, aby przechowywały odpowiedzi dotyczące ważności certyfikatu przez 12 godzin. Oznacza to, że każdy raz, gdy uruchomisz aplikację, Mac skontaktuje się z serwerem, tylko jeśli nie uzyskał odpowiedzi w ciągu ostatnich 12 godzin. (Informacje te pochodzą od niezależnego twórcy oprogramowania Jeffa Johnsona.)

Co się stanie, jeśli Mac będzie offline?

Sprawdzanie OCSP jest zaprojektowane tak, aby kończyło się niepowodzeniem. Jeśli jesteś offline, Mac pominie tę kontrolę i uruchomi aplikacje normalnie.

To samo dotyczy sytuacji, gdy Mac nie może połączyć się z serwerem ocsp.apple.com – na przykład, jeśli adres serwera został zablokowany na poziomie routera. W takim przypadku, gdy Mac nie może skontaktować się z serwerem, pomija kontrolę i natychmiast uruchamia aplikację.

Problem z 12 listopada 2020 roku polegał na tym, że mimo że komputery Mac mogły połączyć się z serwerem Apple, ten działał powoli. Zamiast jednak pominąć kontrolę i uruchomić aplikację, Mac długo czekał na odpowiedź. Gdyby serwer był całkowicie niedostępny, nikt by tego nie zauważył.

Jakie są obawy dotyczące prywatności? Co Apple zamierza w tym zmienić?

Istnieje kilka kwestii prywatności, które zostały poruszone. Są one omówione przez hakerów i badaczy bezpieczeństwa, takich jak Jeffrey Paul.

Certyfikaty są powiązane z aplikacjami: gdy Mac kontaktuje się z serwerem OCSP, pyta o certyfikat związany z określoną aplikacją – lub potencjalnie z kilkoma aplikacjami. Technicznie rzecz biorąc, Mac nie zdradza Apple, którą aplikację uruchomiłeś. Na przykład, jeśli uruchomisz przeglądarkę Firefox, Apple dowiaduje się, że używasz aplikacji stworzonej przez Mozillę, ale nie wie, czy to Firefox, czy Thunderbird. Jednak jeśli uruchomisz aplikację podpisaną przez Projekt Tor, Apple może ustalić, że otworzyłeś przeglądarkę Tor.
Żądania są powiązane z adresami IP i czasem: te zapytania mogą być związane z datą, godziną oraz adresem IP. Tak działa Internet. Twój adres IP jest przypisany do konkretnego miasta i stanu. Każde zapytanie OCSP informuje Apple o deweloperze aplikacji, którą uruchamiasz, o Twojej ogólnej lokalizacji oraz o czasie uruchomienia aplikacji.
Brak szyfrowania umożliwia podsłuchiwanie: protokół OCSP nie jest szyfrowany. Oznacza to, że Apple nie tylko otrzymuje te informacje – każdy inny podmiot również ma do nich dostęp. Twój dostawca internetu, administrator sieci w pracy, a nawet agencje monitorujące mogą przechwytywać ruch OCSP między Tobą a Apple i uzyskać te dane. Te zapytania są także kierowane przez zewnętrzną sieć dystrybucji treści (CDN) o nazwie Akamai, co przyspiesza proces, ale dodaje kolejnego pośrednika, który mógłby te informacje podsłuchiwać.
Warto zauważyć, że Twój Mac nie informuje Apple o konkretnej aplikacji, którą uruchamiasz. Zamiast tego tylko informuje Apple, który deweloper stworzył aplikację. Wiele firm może mieć w swojej ofercie tylko jedną aplikację, więc to techniczne rozróżnienie nie zawsze ma istotne znaczenie.

(Pamiętaj: po wprowadzeniu zmian w buforowaniu, Mac przestał pytać Apple za każdym razem, gdy uruchamiasz aplikację. Robi to tylko co 12 godzin zamiast co 5 minut).

Dlaczego Mac to robi?

Jak można się domyślić, chodzi o bezpieczeństwo. Mac to bardziej otwarta platforma niż iPad czy iPhone, co pozwala na pobieranie aplikacji z dowolnych źródeł, nie tylko z Apple Mac App Store.

Aby chronić Maca przed złośliwym oprogramowaniem – które staje się coraz powszechniejsze również na komputerach Apple – firma Apple wprowadziła tę kontrolę bezpieczeństwa. Jeśli certyfikat używany do podpisywania aplikacji zostanie unieważniony, Twój Mac może szybko odmówić jej uruchomienia, co pozwoli uniknąć uruchamiania znanych zagrożeń.

Czy możesz zablokować testy OCSP?

Testy OCSP mają na celu szybkie zakończenie, gdy Mac jest offline lub nie może skontaktować się z serwerem ocsp.apple.com.

Można je zablokować, uniemożliwiając Macowi łączenie się z witryną ocsp.apple.com. Często można to zrobić na poziomie routera, co uniemożliwi wszystkim urządzeniom w sieci kontakt z tym adresem.

Niestety, wydaje się, że w Big Sur blokowanie na poziomie oprogramowania nie działa, co utrudnia procesowi Maca dostęp do zdalnych serwerów.

Ostrzeżenie: jeśli zablokujesz serwer ocsp.apple.com, Twój Mac nie dowie się, że Apple unieważnił certyfikat dewelopera aplikacji. To oznacza, że decydujesz się na wyłączenie funkcji zabezpieczeń, co może narażać Twój Mac na niebezpieczeństwo.

Co Apple mówi i obiecuje zmienić?

Wygląda na to, że Apple zareagowało na krytykę. 16 listopada 2020 roku firma zamieściła na swojej stronie internetowej informację o „Ochronie prywatności” w ramach Gatekeepera.

Po pierwsze, Apple zapewnia, że nigdy nie łączy danych z certyfikatów lub testów złośliwego oprogramowania z jakimikolwiek innymi informacjami o użytkownikach. Firma obiecuje, że nie wykorzysta tych danych do śledzenia aplikacji uruchamianych na komputerach Mac.

Po drugie, Apple podkreśla, że kontrole certyfikatów nie będą związane z Twoim Apple ID ani żadnymi innymi informacjami o urządzeniu poza adresem IP. Apple zapewnia, że przestało rejestrować adresy IP związane z tymi zapytaniami i usunie je z logów.

Do końca 2021 roku Apple planuje wprowadzić następujące zmiany:

  • Zastąpienie OCSP nowym, szyfrowanym protokołem: Apple zapowiada stworzenie nowego zaszyfrowanego protokołu, który zastąpi obecny, nieszyfrowany system OCSP do weryfikacji certyfikatów deweloperów. To uniemożliwi podsłuchiwanie.
  • Eliminacja spowolnień: Apple obiecuje również „silną ochronę przed awarią serwera”, co oznacza, że aplikacje nie będą się ładować wolno z powodu spowolnienia serwera.
  • Zapewnienie użytkownikom wyboru: Apple twierdzi, że użytkownicy komputerów Mac będą mogli wyłączyć te zabezpieczenia i zablokować Maca przed sprawdzaniem odwołanych certyfikatów deweloperów.

Te zmiany mają na celu rozwiązanie różnych problemów – osoby trzecie nie będą mogły już podsłuchiwać komunikacji. Komputery Mac nadal będą wysyłać Apple informacje, które mogą być używane do śledzenia uruchamianych aplikacji, jednak Apple obiecuje, że nie będzie ich łączyć z danymi użytkowników. Dodatkowo, spowolnienia mają zostać wyeliminowane dzięki poprawie wydajności.

Jak będzie wyglądał nowy protokół? Apple jeszcze nie ujawnili szczegółów dotyczących zastępstwa OCSP. Jak zauważa badacz bezpieczeństwa Scott Helme, rozwiązaniem mogłoby być coś w stylu CRLite. Można sobie wyobrazić, że Twój Mac mógłby pobrać pojedynczy plik z Apple i regularnie go aktualizować, zawierający skompresowaną listę unieważnionych certyfikatów. Każdorazowo przy uruchomieniu aplikacji, Mac mógłby sprawdzić ten plik, eliminując potrzebę zapytań sieciowych i związane z nimi problemy z prywatnością.

Twój Mac czasami wysyła informacje o uruchamianych aplikacjach do Apple

Warto dodać, że Twój Mac czasami przesyła informacje o aplikacjach, które otwierasz, na serwery Apple. To różni się od procesu weryfikacji OCSP. Chodzi o Gatekeepera, który notarialnie zatwierdza aplikacje.

Deweloperzy mogą przesyłać aplikacje do Apple, które sprawdza je pod kątem złośliwego oprogramowania i w razie pozytywnego wyniku „poświadcza” je notarialnie. Informacje te mogą być wbudowane w aplikację. Jeśli programista nie umieści tych informacji w pliku aplikacji, Twój Mac sprawdzi serwery Apple przy pierwszym uruchomieniu danej wersji aplikacji.

To sprawdzenie odbywa się tylko przy pierwszym uruchomieniu danej wersji aplikacji, a nie przy każdym jej otwarciu. Deweloperzy mogą zredukować potrzebę sprawdzania online poprzez wbudowanie odpowiednich informacji.

Nie tylko komputery Mac są w podobnej sytuacji. Na przykład komputery z systemem Windows 10 również często przesyłają dane o pobieranych aplikacjach do usługi SmartScreen firmy Microsoft w celu wykrycia złośliwego oprogramowania. Programy antywirusowe oraz inne aplikacje zabezpieczające mogą także przesyłać informacje o podejrzanych aplikacjach do odpowiednich instytucji zabezpieczających.


newsblog.pl