Sleduje Apple každou aplikaci pro Mac, kterou spustíte? OCSP vysvětleno

Je pravda, že váš Mac komunikuje se servery Apple pokaždé, když spustíte aplikaci? Toto podezření se objevilo po 12. říjnu 2020, kdy servery Apple zaznamenaly výpadek, což způsobilo neobvykle pomalé otevírání aplikací na moderních počítačích Mac. Následující text objasní, co se vlastně stalo.

Důležité: Tyto informace platí pro systémy macOS Big Sur a macOS Catalina. Zpomalení a s tím spojené obavy o soukromí nejsou v macOS Big Sur ničím novým.

Proč jsou aplikace pro Mac podepisovány certifikáty vývojáře?

Aplikace pro Mac, které si stáhnete – ať už z Mac App Store nebo z webových stránek – jsou opatřeny podpisem vývojáře. Pokaždé, když aplikaci spustíte, systém kontroluje tento podpis, aby se ujistil, že aplikace byla podepsána legitimním vývojářem a že s ní nebylo neoprávněně manipulováno. Tento mechanismus slouží k ochraně uživatelů před škodlivým softwarem.

Například, když Mozilla vytvoří prohlížeč Firefox, zkompiluje jeho spustitelný soubor a následně jej podepíše svým vývojářským certifikátem. Tím Mozilla garantuje, že soubor je autentický a pochází od ní. Pokud by s aplikací bylo později jakkoliv manipulováno, váš Mac na to upozorní.

Platnost těchto certifikátů je časově omezena, obvykle na několik let, ale mohou být i předčasně zrušeny. Například, pokud Apple zjistí, že vývojář používá svůj certifikát k podepisování škodlivých aplikací, Apple tento certifikát okamžitě odvolá. Mac pak odmítne spustit aplikace s takovým zrušeným certifikátem.

Vysvětlení protokolu OCSP: Proč váš Mac „volá domů“?

Jak ale váš Mac pozná, že Apple zrušil certifikát spojený s aplikací ve vašem počítači? Pro tyto účely se používá Online Certificate Status Protocol, zkráceně OCSP. Stejný protokol využívají webové prohlížeče ke kontrole platnosti certifikátů webových stránek, které navštěvujete.

Při každém spuštění aplikace váš Mac odesílá informace o jejím certifikátu na server Apple, konkrétně na adresu ocsp.apple.com. Váš počítač se tímto způsobem dotazuje, zda nebyl certifikát dané aplikace zrušen. Pokud je certifikát stále platný, Mac aplikaci spustí. Pokud je ale zrušen, Mac aplikaci nepovolí otevřít.

Dochází ke kontrole při každém spuštění aplikace?

Váš Mac si odpovědi na tyto dotazy ukládá dočasně do paměti. Dne 12. listopadu 2020 byly odpovědi uchovávány po dobu pěti minut. To znamená, že pokud jste aplikaci spustili, zavřeli a znovu otevřeli během pěti minut, váš Mac se již znovu neptal serverů Apple na platnost certifikátu. Pokud byste ji však spustili znovu po delší době, například po šesti minutách, Mac by musel znovu kontaktovat server Apple.

Z neznámých důvodů, pravděpodobně kvůli změnám v macOS Big Sur, byly servery Apple 12. listopadu 2020 přetížené. To způsobilo výrazné zpomalení odezev a dlouhé čekání na spuštění aplikací, protože počítače Mac trpělivě čekaly na reakci pomalého serveru.

Po tomto incidentu server OCSP společnosti Apple nyní sděluje počítačům Mac, aby si odpovědi o platnosti certifikátů pamatovaly po dobu 12 hodin. Váš Mac tedy kontaktuje Apple ohledně certifikátu pouze při spuštění aplikace poprvé po 12 hodinách. Bližší informace o časových obdobích poskytl nezávislý vývojář aplikací Jeff Johnson.

Co se stane, když je Mac offline?

Kontrola OCSP je navržena tak, aby fungovala i v případě selhání. Pokud jste offline, váš Mac kontrolu tiše přeskočí a spustí aplikace bez problémů.

Stejná situace nastane, pokud váš Mac nemůže dosáhnout serveru ocsp.apple.com, například kvůli zablokování této adresy na úrovni vašeho routeru. V takovém případě váš Mac kontrolu vynechá a aplikaci okamžitě spustí.

Problém z 12. listopadu 2020 spočíval v tom, že počítače Mac sice dokázaly server Apple kontaktovat, ale ten reagoval velmi pomalu. Místo toho, aby počítače kontrolu přeskočily, čekaly na odpověď dlouhou dobu. Kdyby server úplně přestal fungovat, pravděpodobně by si toho nikdo ani nevšiml.

Jaká jsou rizika ohledně soukromí? Co se Apple dozvídá?

Ohledně soukromí se objevilo několik obav. Tyto obavy zdůraznil hacker a bezpečnostní výzkumník Jeffrey Paul v jeho kritickém pohledu na situaci.

Certifikáty jsou spojeny s aplikacemi: Když váš Mac kontaktuje server OCSP, dotazuje se na certifikát, který je pravděpodobně spojen s jednou nebo několika aplikacemi. Technicky vzato, váš Mac neříká Apple, kterou aplikaci jste konkrétně spustili. Například, když spustíte Firefox, Apple se pouze dozví, že jste spustili aplikaci vytvořenou Mozillou. Může jít o Firefox nebo Thunderbird, ale Apple neví, o kterou konkrétně. Pokud ale spustíte aplikaci podepsanou Tor Project, Apple může poměrně snadno odhadnout, že jste otevřeli Tor Browser.
Dotazy jsou spojeny s IP adresami a časem: Tyto požadavky jsou pochopitelně spojeny s datem a časem a vaší IP adresou. Tak zkrátka internet funguje. Vaše IP adresa je spojena s určitým městem a krajem. Každý dotaz OCSP sděluje společnosti Apple, kterého vývojáře aplikace spouštíte, vaši obecnou polohu a čas, kdy jste aplikaci spustili.
Absence šifrování umožňuje odposlouchávání: Protokol OCSP je nešifrovaný. To znamená, že nejen Apple získá tyto informace, ale kdokoliv „uprostřed“. Váš poskytovatel internetových služeb, správce sítě v zaměstnání nebo dokonce špionážní agentura sledující provoz na internetu by mohli odposlouchávat komunikaci protokolu OCSP mezi vámi a Applem a dozvědět se všechny uvedené detaily. Tyto požadavky také prochází skrze distribuční síť (CDN) Akamai. To sice zrychluje proces, ale přidává to dalšího prostředníka, který by mohl teoreticky data sledovat.
Informace: Váš Mac nesděluje Apple, kterou aplikaci konkrétně spouštíte. Informuje pouze o vývojáři, který aplikaci vytvořil. Nicméně, mnoho vývojářů vytváří pouze jednu aplikaci. Takže v praxi je tento technický rozdíl často minimální.

(Důležité: Díky změně v ukládání do paměti již váš Mac nebude kontaktovat Apple při každém spuštění aplikace. Provádí to pouze jednou za 12 hodin, nikoli každých 5 minut.)

Proč to váš Mac dělá?

Jak se dá očekávat, hlavním důvodem je bezpečnost. Mac je otevřenější platformou než iPad a iPhone. Aplikace si můžete stahovat odkudkoliv, tedy i mimo oficiální Mac App Store.

Aby společnost Apple chránila Macy před škodlivým softwarem, který se stává stále běžnějším, zavedla tento bezpečnostní mechanismus. Pokud je certifikát používaný k podpisu aplikace zrušen, váš Mac může okamžitě jednat a odmítnout takovou aplikaci otevřít. To umožňuje Applu zabránit spouštění známých škodlivých aplikací na počítačích Mac.

Je možné kontroly OCSP blokovat?

Tyto kontroly OCSP jsou navrženy tak, aby v případě, že je Mac offline nebo nemůže kontaktovat server ocsp.apple.com, rychle a bez problémů selhaly.

Díky tomu je lze relativně snadno blokovat: stačí zabránit Macu v připojení k adrese ocsp.apple.com. Můžete tuto adresu zablokovat na svém routeru a zabránit tak připojení všech zařízení ve vaší síti.

Bohužel, zdá se, že systém Big Sur již nedovoluje softwarovým firewallům na Macu blokovat vestavěný důvěryhodný proces Macu v přístupu ke vzdáleným serverům.

Upozornění: Pokud zablokujete server ocsp.apple.com, váš Mac nebude vědět o zrušených certifikátech a aplikací. Toto rozhodnutí o zrušení bezpečnostní funkce by mohlo ohrozit váš počítač Mac.

Co říká Apple a slibuje změnu?

Zdá se, že Apple vyslyšel kritiku. Dne 16. listopadu 2020 společnost aktualizovala informace o „ochraně soukromí“ pro Gatekeeper na svých webových stránkách.

Za prvé, Apple tvrdí, že nikdy nekombinoval data z těchto kontrol certifikátů s jinými daty, které o vás Apple má. Společnost slibuje, že tyto informace nepoužije ke sledování aplikací, které lidé spouštějí na svých počítačích Mac.

Za druhé, Apple zdůrazňuje, že tyto kontroly certifikátů nejsou spojeny s vaším Apple ID ani s žádnými informacemi o konkrétním zařízení kromě vaší IP adresy. Apple také tvrdí, že přestal protokolovat IP adresy spojené s těmito dotazy a že je z protokolů Apple odstraní.

Během následujícího roku – tedy do konce roku 2021 – Apple plánuje zavést tyto změny:

Nahradit OCSP šifrovaným protokolem: Apple hodlá vytvořit nový šifrovaný protokol, který nahradí současný nešifrovaný systém OCSP pro kontrolu vývojářských certifikátů. Tím zabrání odposlouchávání třetími stranami.
Zamezit zpomalování: Apple slibuje „robustní ochranu proti selhání serveru“ – jinými slovy, aplikace se nebudou načítat pomalu z důvodu opětovného zpomalení serveru.
Poskytnout uživatelům volbu: Apple uvádí, že uživatelé Maců budou mít možnost tyto bezpečnostní ochrany vypnout a zamezit kontrole zrušených vývojářských certifikátů.

Celkově tyto změny řeší různé problémy. Třetí strany již nebudou moci odposlouchávat. Počítače Mac budou i nadále posílat Apple informace, které může společnost potenciálně použít ke sledování aplikací, které otevíráte, ale Apple slibuje, že tyto informace s vámi nebude spojovat. Zpomalení by měla být odstraněna, protože Apple se také zaměřuje na problémy s výkonem.

Jaký bude tento vylepšený protokol? Apple zatím neoznámil, čím přesně OCSP nahradí. Jak uvádí bezpečnostní expert Scott Helme, řešení jako CRLite by mohla být vhodná. Představte si, že by si váš Mac mohl stahovat jeden soubor od Apple a pravidelně ho aktualizovat. Tento soubor by obsahoval komprimovaný seznam všech odvolání certifikátů. Při spuštění aplikace by Mac pouze zkontroloval tento soubor, čímž by se eliminovaly síťové kontroly a obavy o soukromí.

Váš Mac někdy odesílá „hash“ aplikací společnosti Apple

Mimochodem, váš Mac někdy odesílá „hash“ (jedinečný otisk) aplikací, které spouštíte, na servery Apple. To se liší od kontrol podpisů OCSP. Souvisí to s ověřováním Gatekeeperem.

Vývojáři mohou nahrát své aplikace do Apple, kde se kontroluje, zda neobsahují škodlivý kód, a pokud je vše v pořádku, jsou notářsky ověřeny. Informace o tomto ověření se pak mohou „připojit“ k aplikaci. Pokud vývojář informace nepřipojí do souboru s aplikací, váš Mac to při prvním spuštění zkontroluje na serverech Apple.

K tomu dochází pouze při prvním spuštění dané verze aplikace, nikoli při každém otevření. A tuto online kontrolu může vývojář eliminovat „připojením“ notářských informací přímo do souboru aplikace.

Macy v tomto nejsou ojedinělé. Například Windows 10 často odesílá informace o stahovaných aplikacích do služby SmartScreen společnosti Microsoft za účelem kontroly na přítomnost malwaru. Antivirové programy a další bezpečnostní aplikace také mohou nahrávat informace o podezřelých aplikacích bezpečnostním společnostem.