Ruft Ihr Mac tatsächlich jedes Mal bei Apple an, wenn Sie eine App starten? Diese Frage kam nach dem 12. Oktober 2020 auf, als ein Apple-Server langsam reagierte und das Öffnen von Apps auf modernen Macs lange dauerte. Wir erklären die Hintergründe.
Wichtig: Dieses Problem betrifft sowohl macOS Big Sur als auch macOS Catalina. Die Verlangsamung und die damit verbundenen Datenschutzbedenken sind kein neues Phänomen in macOS Big Sur.
Die Bedeutung von Entwicklerzertifikaten bei Mac-Apps
Mac-Apps, die Sie herunterladen – egal ob aus dem Mac App Store oder aus dem Internet – sind mit einem Entwicklerzertifikat versehen. Jedes Mal, wenn Sie eine App öffnen, wird diese überprüft, um sicherzustellen, dass sie von einem vertrauenswürdigen Entwickler stammt und nicht manipuliert wurde. Dies ist ein Schutzmechanismus gegen Schadsoftware.
Wenn beispielsweise Mozilla Firefox entwickelt, erstellt das Unternehmen eine Firefox-Anwendungsdatei und signiert diese mit dem Mozilla-Entwicklerzertifikat. Dadurch beweist Mozilla, dass die Datei authentisch ist und von ihnen stammt. Wenn die Anwendungsdatei nachträglich verändert wird, erkennt Ihr Mac dies.
Diese Zertifikate sind zeitlich begrenzt gültig, meistens für einige Jahre, können aber auch vorzeitig „widerrufen“ werden. Sollte Apple feststellen, dass ein Entwickler sein Zertifikat für bösartige Apps nutzt, widerruft Apple es. Macs starten keine Apps mit widerrufenen Zertifikaten.
OCSP: Warum Ihr Mac nach Hause telefoniert
Die Frage ist: Woher weiß Ihr Mac, ob Apple ein Zertifikat widerrufen hat, das einer App auf Ihrem Mac zugeordnet ist? Hier kommt das Online Certificate Status Protocol (OCSP) ins Spiel. Dieses Protokoll wird auch von Webbrowsern verwendet, um Website-Zertifikate beim Surfen zu überprüfen.
Wenn Sie eine App starten, sendet Ihr Mac Informationen zu deren Zertifikat an einen Apple-Server unter ocsp.apple.com. Ihr Mac fragt diesen Server, ob das Zertifikat widerrufen wurde. Ist dies nicht der Fall, wird die App gestartet. Bei einem widerrufenen Zertifikat wird die App nicht geöffnet.
Passiert das bei jedem App-Start?
Ihr Mac speichert die Antworten für eine gewisse Zeit. Am 12. November 2020 wurden die Antworten für fünf Minuten zwischengespeichert. Das bedeutet: Wenn Sie eine App starteten, schlossen und vier Minuten später wieder öffneten, musste Ihr Mac nicht erneut bei Apple nachfragen. Starteten Sie die App jedoch nach sechs Minuten wieder, war eine erneute Anfrage an Apples Server notwendig.
Am 12. November 2020 war Apples Server aus unbekannten Gründen – möglicherweise durch Änderungen in macOS Big Sur – überlastet und langsam. Die Reaktionszeiten waren erheblich verlängert, und das Laden von Apps dauerte lange, da Macs geduldig auf eine Antwort von Apples langsamem Server warteten.
Nach diesem Vorfall hat Apple die Caching-Zeit auf 12 Stunden erhöht. Das bedeutet, Ihr Mac fragt nicht jedes Mal bei App-Start nach einem Zertifikat, sondern nur, wenn in den letzten 12 Stunden keine Antwort empfangen wurde. (Diese Zeitangaben stammen vom unabhängigen App-Entwickler Jeff Johnson.)
Was passiert, wenn ein Mac offline ist?
Die OCSP-Prüfung ist so konzipiert, dass sie im Fehlerfall nicht stört. Wenn Ihr Mac offline ist, überspringt er die Überprüfung und startet Apps normal.
Dasselbe gilt, wenn Ihr Mac den Server ocsp.apple.com nicht erreichen kann – vielleicht, weil die Serveradresse in Ihrem Netzwerk auf Routerebene blockiert wurde. In diesem Fall wird die Prüfung ebenfalls übersprungen und die App sofort gestartet.
Das Problem am 12. November 2020 war, dass Macs zwar Apples Server erreichen konnten, der Server selbst aber langsam war. Anstatt stillschweigend zu versagen und fortzufahren, warteten Macs lange auf eine Antwort. Wäre der Server komplett ausgefallen, hätte dies niemand bemerkt.
Welche Datenschutzrisiken bestehen?
Es gibt einige Datenschutzbedenken, die hier aufkommen. Diese wurden von Jeffrey Paul in einem ausführlichen Bericht dargestellt:
- Zertifikate sind Apps zugeordnet: Ihr Mac fragt den OCSP-Server nach einem Zertifikat, das meistens einer bestimmten App zugeordnet ist. Technisch gesehen teilt Ihr Mac Apple nicht mit, welche App Sie gestartet haben. Bei Firefox erfährt Apple, dass Sie eine App von Mozilla gestartet haben, nicht aber, ob es Firefox oder Thunderbird ist. Bei einer App des Tor-Projekts weiß Apple jedoch, dass Sie wahrscheinlich den Tor-Browser geöffnet haben.
- Verknüpfung mit IP-Adressen und Zeiten: Diese Anfragen sind mit Datum, Uhrzeit und Ihrer IP-Adresse verbunden. Ihre IP-Adresse ist einem bestimmten Ort zugeordnet. Jede OCSP-Anfrage teilt Apple den Entwickler der gestarteten App, Ihren Standort sowie Datum und Uhrzeit mit.
- Fehlende Verschlüsselung: Das OCSP-Protokoll ist nicht verschlüsselt. Nicht nur Apple, sondern auch Dritte können diese Informationen einsehen – Ihr Internetanbieter, Netzwerkadministratoren oder sogar Geheimdienste. Zudem laufen die Anfragen über ein Content Distribution Network (CDN) namens Akamai, was eine weitere potenzielle Überwachungsmöglichkeit bietet.
Wichtig: Ihr Mac teilt Apple nicht mit, welche *genaue* App Sie starten, sondern nur den *Entwickler* der App. Oftmals gibt es jedoch nur eine App pro Entwickler, was die Unterscheidung irrelevant macht.
(Durch das geänderte Caching fragt Ihr Mac Apple nun nicht mehr bei jedem App-Start, sondern nur alle 12 Stunden.)
Warum macht Ihr Mac das?
Im Kern geht es um Sicherheit. Der Mac ist eine offene Plattform, auf der Apps auch außerhalb des Mac App Stores heruntergeladen werden können.
Um den Mac vor Malware zu schützen, hat Apple diese Sicherheitsüberprüfung implementiert. Wenn ein Zertifikat widerrufen wird, kann der Mac sofort reagieren und die App nicht starten. So kann Apple Macs daran hindern, bekannte Schadsoftware auszuführen.
Kann man OCSP-Prüfungen blockieren?
Die OCSP-Prüfungen sind so konzipiert, dass sie unbemerkt fehlschlagen, wenn ein Mac offline ist oder den ocsp.apple.com-Server nicht erreichen kann.
Dadurch lassen sie sich leicht blockieren: Sie müssen lediglich verhindern, dass Ihr Mac eine Verbindung zu ocsp.apple.com aufbaut. Dies kann häufig auf Routerebene geschehen, um alle Geräte in Ihrem Netzwerk daran zu hindern.
Leider scheint es so, dass in Big Sur Softwarefirewalls auf dem Mac den Zugriff des integrierten Trustd-Prozesses auf Remote-Server nicht mehr blockieren können.
Achtung: Wenn Sie den Server ocsp.apple.com blockieren, erfährt Ihr Mac nicht, wenn Apple das Entwicklerzertifikat einer App widerruft. Sie schalten damit eine Sicherheitsfunktion ab und gefährden möglicherweise Ihren Mac.
Was sagt Apple und was wird geändert?
Apple hat die Kritik offenbar gehört. Am 16. November 2020 wurden Informationen zum Datenschutz bei Gatekeeper auf der Apple-Website veröffentlicht.
Apple versichert, dass Daten aus diesen Zertifikats- und Malware-Prüfungen nicht mit anderen Daten kombiniert werden, die Apple über Sie besitzt. Die Informationen würden nicht verwendet, um nachzuverfolgen, welche Apps einzelne Personen auf ihren Macs öffnen.
Weiterhin heißt es, dass die Zertifikatsprüfungen nicht mit Ihrer Apple-ID oder gerätespezifischen Daten über Ihre IP-Adresse hinaus verknüpft sind. Apple hat angeblich die Protokollierung von IP-Adressen im Zusammenhang mit diesen Anfragen beendet und wird diese aus ihren Protokollen entfernen.
Im Laufe des nächsten Jahres – bis Ende 2021 – sollen folgende Änderungen vorgenommen werden:
- Verschlüsseltes Protokoll: OCSP wird durch ein neues, verschlüsseltes Protokoll ersetzt, um das unverschlüsselte OCSP-System zur Überprüfung von Entwicklerzertifikaten zu ersetzen. Dies soll das Abfangen durch Dritte verhindern.
- Schutz vor Serverausfällen: Apple verspricht einen besseren Schutz vor Serverausfällen, um zu vermeiden, dass Apps langsam laden, wenn ein Server überlastet ist.
- Wahlmöglichkeit für Benutzer: Apple wird Mac-Nutzern ermöglichen, diese Sicherheitsmaßnahmen zu deaktivieren und die Prüfung auf widerrufene Entwicklerzertifikate zu verhindern.
Diese Änderungen sollen mehrere Probleme beheben. Dritte können die Daten nicht mehr abfangen. Macs senden zwar weiterhin Informationen an Apple, die Rückschlüsse auf die geöffneten Apps ermöglichen, aber Apple verspricht, diese Informationen nicht mit Ihnen zu verknüpfen. Durch die Behebung des Leistungsproblems sollten auch Verlangsamungen vermieden werden.
Womit Apple OCSP ersetzen wird, ist noch nicht bekannt. Sicherheitsexperte Scott Helm schlägt beispielsweise CRLite vor. Hierbei könnte Ihr Mac eine Datei von Apple herunterladen, die eine Liste aller Zertifikatswiderrufe enthält und regelmäßig aktualisiert wird. Bei jedem App-Start würde diese Datei überprüft, wodurch Netzwerkprüfungen und Datenschutzbedenken entfallen würden.
App-Hashes an Apple
Es ist erwähnenswert, dass Ihr Mac manchmal Hashes der von Ihnen geöffneten Apps an Apple sendet. Dies geschieht unabhängig von den OCSP-Signaturprüfungen und steht im Zusammenhang mit dem Gatekeeper-Beglaubigungsprozess.
Entwickler können Apps bei Apple einreichen, wo sie auf Malware geprüft werden. Anschließend erhalten sie eine Beglaubigung, wenn sie sicher sind. Diese Beglaubigung kann in der App-Datei gespeichert werden. Wenn die Beglaubigung nicht in der Datei hinterlegt ist, überprüft Ihr Mac die Server von Apple beim ersten Start der App.
Dies geschieht nur beim ersten Start einer bestimmten App-Version, nicht bei jedem Öffnen. Entwickler können diese Online-Prüfung umgehen, indem sie die Beglaubigungsinformationen in der App-Datei hinterlegen.
Macs sind damit nicht allein. Windows 10-PCs laden beispielsweise auch Daten über Apps zu Microsofts SmartScreen-Dienst hoch, um diese auf Schadsoftware zu prüfen. Auch Antivirenprogramme und andere Sicherheitsanwendungen laden oft Daten zu verdächtigen Apps zu den jeweiligen Sicherheitsunternehmen hoch.