Eine Zoom-Schwachstelle und der Kampf zwischen Hackern und Entwicklern

Einblick in die DEF CON 30: Schwachstelle in Zoom für macOS.

Im März 2020, als sich die ganze Welt gerade mit der Heimarbeit vertraut machte, wurde im Installationsprogramm von Zoom, einem der weltweit wichtigsten Tools für die Fernkommunikation, eine Sicherheitslücke entdeckt. Der Bug ermöglichte die Ausführung von beliebigem Code auf Apple-Computern. Zoom hat die Sicherheitslücke inzwischen behoben… zumindest fast. Denn im August 2022 wurde eine ähnliche Lücke gefunden (sowohl in Bezug auf den Fundort an sich als auch auf die Folgen des Exploits). In diesem Artikel untersuchen wir diese aktuelle Sicherheitslücke und versuchen zu erklären, warum Schwachstellen häufig an derselben Stelle erneut auftreten.

Wie sieht diese neueste Schwachstelle aus?

Das neue Problem im Zoom-Videokonferenz-Client wurde von Forscher Patrick Wardle auf der DEF CON 30 Anfang August dieses Jahres vorgestellt. Kurz gesagt, es wurden einige Bugs im automatischen Update-System für den Apple Zoom-Client gefunden. Durch diese Fehler war es theoretisch möglich, so genannte Super-User-Rechte zu erlangen. Um die Schwachstelle auszunutzen, musste der Angreifer jedoch bereits physischen Zugriff auf den Computer haben, wenn auch ohne besondere Privilegien oder Rechte. Ein völlig unrealistisches Szenario ist dies nicht: So könnte ein Nutzer seinen Rechner beispielsweise während der Mittagspause unbeaufsichtigt lassen. Theoretisch könnte die Schwachstelle auch durch Malware ausgenutzt werden.

Weitere Details

Die rechtzeitige Bereitstellung und einfache Installation von Updates sind wichtige Voraussetzungen für jede moderne Software. Im Idealfall sollten Patches installiert werden, ohne dass der Benutzer dies überhaupt bemerkt, aber das ist nicht immer möglich. Um eine Aktualisierung abzuschließen, müssen Programme oder das ganze System oft neugestartet werden. Und ja, wir alle sind genervt von Pop-up-Benachrichtigungen, die uns daran erinnern, ein Programm, ein Betriebssystem oder die Firmware eines Smartphones oder Tablets zu aktualisieren. Doch leider ist dies unerlässlich: Denn Updates schließen Sicherheitslücken, die sonst gegen Sie verwendet werden könnten. In einigen besonders schwerwiegenden Fällen müssen Sie anfällige Software sogar sofort vor aktiven Cyberangriffen schützen.

Die übliche Methode zum Aktualisieren einer macOS-Anwendung gleicht der ihrer Erstinstallation: Sie laden die neue Version herunter, führen die Datei aus und geben ein Benutzerkennwort ein. Zoom hat versucht, eben diese Prozedur zu vereinfachen: Der Client verbindet sich mit dem Server, lädt die neue Version herunter und installiert sie vollautomatisch, ohne dass der Benutzer ein Passwort eingeben muss. Leider wird dieser Prozess der Kommunikation mit dem Server und das Herunterladen und Installieren des Updates nicht immer korrekt ausgeführt. Vor zehn Jahren war der Zugriff auf Server ohne Datenverschlüsselung gängige Praxis, sodass ein potenzieller Angreifer die Aktualisierungsdatei einfach durch Malware ersetzen konnte. Mit der Einführung der Verschlüsselung wurde dies immer komplizierter. Trotzdem ist es immer noch möglich, die Datei nach dem Herunterladen zu ersetzen, wenn sie bereits auf der Festplatte gespeichert, aber noch nicht installiert wurde.

In der neuesten Version von Zoom (Stand Ende letzten Jahres, als Patrick mit seinen Ermittlungen begann) schien alles in Ordnung zu sein. Der Client verbindet sich über einen sicheren Kanal mit dem Update-Server und lädt die Datei herunter. Anschließend überprüft er die Echtheit der Datei (indem er prüft, ob sie mit dem Zertifikat des Herstellers signiert ist) und installiert diese. Für die Installation fordert die SW temporäre Superuser-Rechte vom System an, jedoch ohne, dass der Nutzer ein Passwort eingeben muss.

Zitat aus der Präsentation von Patrick Wardle, die den Nutzen der Signierung von Updates zeigt.

 

Die digitale Signatur ist wichtig. Schließlich wird das Programm aus irgendeiner Ecke des Internets auf den Computer des Benutzers heruntergeladen und mit maximalen Privilegien ausgeführt. Es muss also sichergestellt werden, dass es sich um das richtige Programm handelt. Ein einfaches Fälschen der heruntergeladenen Datei wird hierbei nicht funktionieren: Wie in Patricks Präsentation oben gezeigt, führt das Ersetzen der Datei zu einer Fehlermeldung – das gefälschte Update hat keine digitale Signatur, und es ist äußerst schwierig, diese zu fälschen.

Leider war das Verfahren zur Überprüfung der digitalen Signatur selbst fehlerhaft. Es funktionierte, indem ein Systemdienstprogramm ausgeführt wurde. Dieses zeigte die Parameter der digitalen Signatur des heruntergeladenen Updates an, einschließlich einer Zeile, die angab, welches Unternehmen das Zertifikat erhalten hatte:

Zoom Video Communications, Inc. Developer ID Certification Authority Apple Root CA

War diese Zeile bei der Verarbeitung der Ausgabe des Dienstprogramms vorhanden, begann die Installation. Das Problem war, dass aber auch der Name der Datei in der Ausgabe auftauchte. Ein Angreifer könnte also theoretisch ein schädliches Update namens „Zoom Video Communications, Inc. Developer ID Certification Authority Apple Root CA.pkg“ anstelle der Standarddatei „ZoomUpdate.pkg“ erstellen. Das würde ausreichen, um das Überprüfungsverfahren zu täuschen: Die erforderliche Zeile ist vorhanden, also muss die Datei legitim sein – auch wenn es eigentlich die falsche Datei ist und die magischen Wörter an einer vollkommen falschen Stelle stehen!

Das heißt, ein Angriff könnte folgendermaßen aussehen: Das Update-Validierungsverfahren wird eingeleitet (was nicht schwer ist), dann wird das legitime Update heruntergeladen, durch Malware ersetzt und umbenannt, um den fehlerhaften Zertifikatsvalidierungsprozess zu überlisten. Die Schaddatei wird mit Systemprivilegien ausgeführt und der Computer gehackt!

Am 20. Dezember 2021 wurde jedoch ein Zoom-Update veröffentlicht, das diesem Angriffsvektor ein Ende setzte. Die Änderung war mehr als simpel: Nach dem Download wurde eine Umbenennung der Datei erzwungen. Patrick Wardle war jedoch in der Lage, den Angriff zu modifizieren: Wenn Zoom erst ab Version 5.9.0 sicher ist, was wäre, wenn der Client auf eine ältere Version „aktualisiert“ würde? Und genau das funktionierte: Das alte Update verfügte über ein legitimes digitales Zertifikat, und die Version wurde während der Installation nicht überprüft.

Wo liegt das Problem?

Die Forschungsergebnisse von Patrick Wardle zeigen, wie wichtig es ist, die Bereitstellung und Installation von Updates zu sichern. Darüber hinaus zeigt die Geschichte dieses Bugs ganz offensichtlich, wie Softwareentwickler oft versuchen, ein Problem durch eine einfache Änderung zu lösen, ohne einen genaueren Blick auf die Details zu werfen. Zunächst (noch bevor Wardle das Problem an Zoom meldete), im Dezember 2021, verteidigten sie die einfachste Version eines Angriffs mit trivialer Dateisubstitution und Umgehung der Zertifikatsvalidierung. Nachdem die Schwachstelle im April 2022 gemeldet wurde, schlossen sie die Downgrade-Option – die Installation einer älteren, anfälligeren Version von Zoom über den Standard-Mechanismus zur Bereitstellung von Updates. Aber erst im Juli 2022, sechs Monate nach dem Bericht von Wardle, wurde der Mechanismus zur Validierung digitaler Zertifikate repariert.

Das Problem wurde dadurch trotzdem nicht vollständig aus der Welt geschafft. Zwar wurden die beiden einfachsten Angriffsmethoden, das Ersetzen der Aktualisierungsdatei durch Malware und das Herabstufen auf eine anfälligere Version aus dem Arsenal der Möchtegern-Cyberkriminellen entfernt, aber es gab noch ein weiteres Problem: Eine mit Superuser-Rechten ausgeführte Update-Datei konnte von jedem, der Zugriff auf den Computer hatte, geändert werden! Ein Angreifer musste nur den richtigen Weg finden, im richtigen Moment eine schädliche Datei in das Zoom-Installationsprogramm zu schleusen: nachdem die digitale Signatur validiert wurde, aber bevor die Installation begann. Und es hat tatsächlich funktioniert. Als Patrick Wardle seine Ergebnisse auf der DEF CON 30 im August 2022 vorstellte – acht Monate nachdem Zoom über das Problem informiert wurde – war die Schwachstelle noch immer nicht vollständig gepatcht! Erst am 17. August, fünf Tage nach Patricks Bericht, setzten die Entwickler dem Problem endlich ein Ende.

Über Hacker & Entwickler

Wenn man den Bericht von Patrick Wardle liest, fragt man sich unweigerlich, wie das sein kann. Wie kann es zu solch kindischen Schwachstellen in kritischen Softwareteilen kommen, und warum werden Sicherheitslücken, selbst bei Meldung eines Problems, erst acht Monate später und beim dritten Versuch geschlossen? Wir wollen die Entwickler nicht zu Unrecht der Inkompetenz beschuldigen. In allen Programmen tauchen gelegentlich Bugs und Fehler auf. Denn auch im Bereich der Programmierung ist Irren menschlich.

Vielleicht liegt es daran, dass White-Hat-Hacker (die ihre Ergebnisse an die Hersteller melden) und Cyberkriminelle (die Schwachstellen ausnutzen, um Nutzer anzugreifen und Profit zu machen) andere Prioritäten haben als Softwareentwickler. Bei der Entwicklung eines Programms ist es wichtig, dass es zahlreiche verschiedene Aufgaben korrekt ausführt. Dabei ist oberste Priorität, die Nutzer nicht aus ihrer Komfortzone zu locken, was im Falle von Zoom eine gute Kommunikationsqualität und Kompatibilität mit verschiedenen Betriebssystemen und Tausenden von alten und neuen Geräten bedeutet. Ein Krimineller hingegen muss lediglich einen einzigen Bug finden, der für schmutzige Tricks missbraucht werden kann. Stellen Sie sich nun vor, jemand informiert Sie über eine Schwachstellen. Ja, sie muss gepatcht werden, aber ohne das empfindliche System der Client-Server-Software zu zerstören. Natürlich möchte der Entwickler das Problem mit sehr geringem Aufwand lösen. Aber das ist leider oft nicht genug.

Programme werden mit jedem Patch nach und nach sicherer. Man kann nicht alle Probleme lösen und so die perfekte Anwendung erstellen. Oder besser gesagt, man kann es schon, aber nur, wenn man bei Null anfängt. Aber einige kritische Elemente sollten so gut wie möglich instandgehalten werden, und das System zur Bereitstellung von Updates ist definitiv eines davon. Wir, die Nutzer, müssen den Programmen, die wir auf unseren Computern installieren, vertrauen können. Und in diesem Sinne ist die Geschichte der Zoom-Schwachstellen ein positives Beispiel für die Zusammenarbeit eines unabhängigen Forschers und eines Entwicklers bei der Lösung eines Problems. Sie zeigt deutlich die verantwortungsvolle Haltung des Entwicklers.

Wir beenden diese Geschichte mit einem wichtigen Reminder: Malware gelangt oft bei der Erstinstallation von Software auf einen Computer. Daher ist es wichtig, darauf zu achten, dass Hilfsprogramme nur aus offiziellen Quellen bezogen werden; d. h. nach Möglichkeit aus offiziellen App-Stores. Unter keinen Umständen sollten Programme von verdächtigen Websites heruntergeladen werden. Andernfalls besteht die Gefahr, dass Ihre Daten durch sehr einfache Hacking-Methoden gestohlen werden – und dazu ist meist nicht einmal der Exploit ausgeklügelter Sicherheitslücken in offizieller Software notwendig.

Tipps