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

Czy Twój Mac naprawdę dzwoni do domu Apple za każdym razem, gdy uruchamiasz aplikację? To zarzut krążący po 12 października 2020 roku, kiedy serwer Apple stał się powolny, a nowoczesne komputery Mac wymagały dużo czasu, aby otworzyć aplikacje. Wyjaśnimy, co się dzieje.

Informacje: dotyczy to zarówno systemu macOS Big Sur, jak i macOS Catalina. Spowolnienie i związane z nim obawy dotyczące prywatności nie są niczym nowym w macOS Big Sur.

Dlaczego aplikacje na komputery Mac są podpisane certyfikatami deweloperów

Na komputerze Mac pobrane aplikacje – czy to z Mac App Store, czy z Internetu – są podpisane certyfikatem programisty. Za każdym razem, gdy uruchamiasz aplikację, sprawdza aplikację, aby sprawdzić, czy została podpisana przez legalnego programistę i czy nie została naruszona. Pomaga to chronić Cię przed złośliwym oprogramowaniem.

Na przykład, kiedy Mozilla tworzy przeglądarkę Firefox, kompiluje plik aplikacji Firefox, a następnie podpisuje go certyfikatem programisty Mozilli. W ten sposób Mozilla może udowodnić, że plik jest prawdziwy i stworzony przez Mozillę. Jeśli plik aplikacji zostanie później zmodyfikowany, Twój Mac zauważy różnicę.

Te certyfikaty są ważne tylko przez pewien okres czasu – może kilka lat – ale można je „unieważnić” wcześniej. Na przykład, jeśli Apple odkryje, że programista używa swojego certyfikatu do podpisywania złośliwych aplikacji, wówczas Apple unieważnia certyfikat. Komputery Mac nie będą ładować aplikacji z tym odwołanym certyfikatem.

Wyjaśnienie OCSP: dlaczego Twój telefon Mac jest w domu?

Ale czekaj – skąd Twój Mac wie, czy Apple unieważnił certyfikat powiązany z aplikacją na Twoim Macu? Aby to sprawdzić, Twój Mac używa czegoś, co nazywa się protokołem stanu certyfikatu online lub OCSP; jest również używany przez przeglądarki internetowe do sprawdzania certyfikatów witryn podczas przeglądania.

Po uruchomieniu aplikacji komputer Mac wysyła informacje o jej certyfikacie do serwera Apple pod adresem ocsp.apple.com. Komputer Mac pyta ten serwer Apple, czy certyfikat został odwołany. Jeśli tak nie jest, Twój Mac uruchamia aplikację. Jeśli certyfikat został odwołany, Twój Mac nie uruchomi aplikacji.

Czy dzieje się to za każdym razem, gdy uruchamiasz aplikację?

Twój Mac pamięta te odpowiedzi przez pewien czas. 12 listopada 2020 r. Odpowiedzi były przechowywane w pamięci podręcznej przez pięć minut; innymi słowy, jeśli uruchomisz aplikację, zamkniesz ją i ponownie uruchomisz cztery minuty później, Twój Mac nie będzie musiał pytać Apple o certyfikat po raz drugi. Jeśli jednak uruchomisz aplikację, zamkniesz ją i uruchomisz sześć minut później, Twój Mac będzie musiał ponownie zapytać serwery Apple.

Z jakiegoś powodu – być może z powodu zmian w macOS Big Sur – serwer Apple został zalany i stał się bardzo powolny 12 listopada 2020 r. Odpowiedzi uległy znacznemu spowolnieniu, a ładowanie aplikacji trwało długo, ponieważ komputery Mac cierpliwie czekały na odpowiedź powolnego oprogramowania Apple serwer.

Po tym wydarzeniu serwer OSCP firmy Apple mówi teraz komputerom Mac, aby przez 12 godzin zapamiętały odpowiedzi dotyczące ważności certyfikatu. Twój Mac będzie dzwonił do domu i pytał o certyfikat za każdym razem, gdy uruchomisz aplikację – chyba że otrzymałeś odpowiedź w ciągu ostatnich 12 godzin, w takim przypadku nie będzie to konieczne. (Informacje o okresach pochodzą od niezależnego twórcy aplikacji Jeff Johnson.)

Co się stanie, jeśli Mac jest offline?

Sprawdzenie OCSP jest zaprojektowane tak, aby zakończyć się niepowodzeniem. Jeśli jesteś w trybie offline, Twój Mac po cichu pominie sprawdzanie i normalnie uruchomi aplikacje.

To samo dotyczy sytuacji, gdy Twój Mac nie może połączyć się z serwerem ocsp.apple.com – być może dlatego, że adres serwera został zablokowany w Twojej sieci na poziomie routera. Jeśli Twój Mac nie może skontaktować się z serwerem, pomija sprawdzanie i natychmiast uruchamia aplikację.

Problem z 12 listopada 2020 r. Polegał na tym, że podczas gdy komputery Mac mogły dotrzeć do serwera Apple, sam serwer działał wolno. Ale zamiast po cichu zawieść i zacząć uruchamiać aplikację, komputery Mac długo czekały na odpowiedź. Gdyby serwer został całkowicie wyłączony, nikt by tego nie zauważył.

Jakie jest zagrożenie dla prywatności? Czego uczy Apple?

Kampus Apple w Cupertino.

Istnieje kilka problemów związanych z prywatnością, które ludzie tutaj poruszyli. Są one opisane przez hakerów i badaczy bezpieczeństwa Jeffrey Paul błyskawicznie ocenia tę sytuację.

Certyfikaty są skojarzone z aplikacjami: gdy Mac kontaktuje się z serwerem OCSP, pyta o certyfikat, który prawdopodobnie jest powiązany z jedną aplikacją – lub może z kilkoma aplikacjami. Technicznie rzecz biorąc, Twój Mac nie informuje Apple, którą aplikację uruchomiłeś. Na przykład, jeśli uruchomisz przeglądarkę Firefox, Apple dowiaduje się, że uruchomiłeś aplikację utworzoną przez Mozillę. Może to być Firefox lub Thunderbird, ale Apple nie wie które. Jeśli jednak uruchomisz aplikację podpisaną przez Projekt Tor, Apple może zorientować się, że otworzyłeś przeglądarkę Tor.
Żądania są powiązane z adresami IP i godzinami: te żądania mogą oczywiście być powiązane z datą i godziną oraz adresem IP. Tak właśnie działa internet. Twój adres IP jest powiązany z określonym miastem i stanem. Każde żądanie OCSP informuje Apple programistę o utworzeniu uruchamianej aplikacji, o Twojej ogólnej lokalizacji oraz o dacie i godzinie uruchomienia aplikacji.
Brak szyfrowania oznacza, że ​​podsłuchiwanie jest możliwe: protokół OCSP nie jest szyfrowany. Apple nie tylko otrzymuje te informacje – każdy w środku również może je zobaczyć. Twój dostawca usług internetowych, administrator sieci w miejscu pracy, a nawet agencja szpiegowska monitorująca ruch internetowy mogą podsłuchiwać ruch OSCP między Tobą a Apple i poznać wszystkie te szczegóły. Te żądania również przechodzą przez stronę trzecią sieć dystrybucji treści (CDN) o imieniu Akamai. To je przyspiesza – ale dodaje kolejnego pośrednika, który technicznie mógłby podsłuchiwać.
Informacje: Twój Mac nie informuje Apple, którą aplikację uruchamiasz. Zamiast tego Twój Mac po prostu informuje Apple, który programista utworzył uruchamianą aplikację. Oczywiście wielu programistów tworzy po prostu jedną aplikację. To techniczne rozróżnienie często niewiele znaczy.

(Pamiętaj: po zmianie sposobu buforowania komputer Mac nie pyta już Apple za każdym razem, gdy uruchamiasz aplikację. Robi to tylko co 12 godzin zamiast co 5 minut).

Dlaczego Twój Mac to robi?

Jak można się spodziewać, chodzi o bezpieczeństwo. Mac to bardziej otwarta platforma niż iPad i iPhone. Możesz pobierać aplikacje z dowolnego miejsca, nawet poza sklepem Apple Mac App Store.

Aby chronić komputer Mac przed złośliwym oprogramowaniem – i tak, złośliwe oprogramowanie dla komputerów Mac stało się bardziej powszechne – firma Apple wdrożyła tę kontrolę bezpieczeństwa. Jeśli certyfikat używany do podpisywania aplikacji zostanie unieważniony, Twój Mac może natychmiast rozpocząć działanie i odmówić otwarcia tej aplikacji. Dzięki temu Apple może powstrzymać komputery Mac przed uruchamianiem znanych złośliwych aplikacji.

Czy możesz zablokować testy OCSP?

Te testy OCSP mają na celu szybkie i ciche niepowodzenie, gdy komputer Mac jest w trybie offline lub nie może skontaktować się z serwerem ocsp.apple.com.

Dzięki temu można je łatwo zablokować: po prostu uniemożliwiaj komputerowi Mac łączenie się z witryną ocsp.apple.com. Na przykład często można zablokować ten adres na routerze, uniemożliwiając łączenie się z nim wszystkim urządzeniom w sieci.

Niestety wygląda na to, że Big Sur już nie pozwala zapory na poziomie oprogramowania na komputerze Mac blokują wbudowany w komputer Mac proces zaufania, aby uzyskać dostęp do zdalnych serwerów, takich jak ten.

Ostrzeżenie: jeśli zablokujesz serwer ocsp.apple.com, Twój Mac nie zauważy, że firma Apple unieważni certyfikat programisty aplikacji. Decydujesz się wyłączyć funkcję zabezpieczeń, co może zagrozić Twojemu komputerowi Mac.

Co Apple mówi i obiecuje zmienić?

Mężczyzna korzystający z MacBooka z rozszerzeniem

Wydaje się, że Apple słyszało krytykę. 16 listopada 2020 roku firma dodała informację o „Ochrona prywatności” dla Gatekeepera na swojej stronie internetowej.

Po pierwsze, Apple twierdzi, że nigdy nie łączyło danych z tych certyfikatów lub testów złośliwego oprogramowania z żadnymi innymi danymi, które Apple o Tobie zna. Firma obiecuje, że nie wykorzysta tych informacji do śledzenia aplikacji uruchamianych przez użytkowników na swoich komputerach Mac.

Po drugie, Apple nalega, aby te kontrole certyfikatów nie były powiązane z Twoim Apple ID ani żadnymi informacjami dotyczącymi urządzenia poza Twoim adresem IP. Apple twierdzi, że przestał rejestrować adresy IP powiązane z tymi żądaniami i usunie je z dzienników Apple.

W ciągu następnego roku – innymi słowy do końca 2021 roku – Apple twierdzi, że wprowadzi następujące zmiany:

Zastąp OCSP szyfrowanym protokołem: Apple twierdzi, że utworzy nowy zaszyfrowany protokół, który zastąpi niezaszyfrowany system OCSP do sprawdzania certyfikatów programistów. Zapobiegnie to szpiegowaniu nikogo w środku.
Zatrzymaj spowolnienia: Apple obiecuje również „silną ochronę przed awarią serwera” – innymi słowy, aplikacje nie będą się ładować wolno, ponieważ serwer znowu zwolnił.
Zapewnij użytkownikom wybór: Apple twierdzi, że użytkownicy komputerów Mac będą mogli wyłączyć te zabezpieczenia i uniemożliwić Macowi sprawdzanie odwołanych certyfikatów programistów.

Ogólnie rzecz biorąc, zmiany te wyeliminują różne problemy – osoby trzecie nie będą już mogły szpiegować w środku. Komputery Mac nadal będą wysyłać do Apple informacje, których może używać do śledzenia, które aplikacje otwierasz, ale Apple obiecuje nie kojarzyć tych informacji z Tobą. Spowolnienia powinny zostać wyeliminowane, ponieważ Apple rozwiązuje również problem z wydajnością.

Jaki będzie ten lepszy protokół? Cóż, Apple jeszcze nie powiedział, czym zastąpi OCSP. Jako badacz bezpieczeństwa Scott Helme notatki, coś w stylu CRLite może pomóc w nawleczeniu igły tutaj. Wyobraź sobie, że Twój Mac może pobrać pojedynczy plik z Apple i regularnie go aktualizować. Plik zawierałby skompresowaną listę wszystkich unieważnień certyfikatów. Za każdym razem, gdy uruchamiasz aplikację, Twój Mac może sprawdzić plik, eliminując sprawdzanie sieci i problemy z prywatnością.

Twój Mac czasami wysyła skróty aplikacji do Apple

Nawiasem mówiąc, Twój Mac czasami wysyła skróty aplikacji, które otwierasz, na serwery Apple. Różni się to od sprawdzania podpisów OCSP. Zamiast tego ma to związek z Gatekeeperem notarialnie.

Programiści mogą przesyłać aplikacje do Apple, które sprawdza je pod kątem złośliwego oprogramowania, a następnie „poświadcza” je notarialnie, jeśli wydają się bezpieczne. Te informacje o poświadczeniu notarialnym można „zszywać” w aplikacji. Jeśli programista nie zszyje informacji o biletach w pliku aplikacji, Twój Mac sprawdzi serwery Apple przy pierwszym uruchomieniu tej aplikacji.

Dzieje się tak tylko przy pierwszym uruchomieniu danej wersji aplikacji, a nie przy każdym jej otwarciu. Sprawdzanie online może zostać wyeliminowane przez programistę poprzez zszywanie.

Komputery Mac nie są tutaj wyjątkowe. Na przykład komputery z systemem Windows 10 często przesyłają dane o pobieranych aplikacjach do usługi SmartScreen firmy Microsoft w celu sprawdzenia, czy nie ma złośliwego oprogramowania. Programy antywirusowe i inne aplikacje zabezpieczające mogą również przesyłać informacje o podejrzanych aplikacjach do firmy ochroniarskiej.