Bugs, die Websites, die Mac- und iPhone-Kameras kapern

Bugs, die Websites, die Mac- und iPhone-Kameras kapern

Bugs, die Websites, die Mac- und iPhone-Kameras kapern lassen, erhalten ein Kopfgeld von 75.000 Dollar

Im Folgenden wird gezeigt, wie ein Forscher strenge Beschränkungen umgangen hat, die Apple für den Zugriff auf Webkameras vorsieht.

Ein Sicherheitsfehler, der es böswilligen Hackern ermöglichte, auf die Kameras von Macs, iPhones und iPads zuzugreifen, hat dem Forscher, der ihn entdeckt hat, ein Kopfgeld von 75.000 Dollar eingebracht.

 Zugriff von Anwendungen von Drittanbietern Bitcoin Revolution

In hier und hier veröffentlichten Beiträgen sagte der Forscher Ryan Pickren, er habe sieben Schwachstellen in Safari und seiner Webkit-Browser-Engine entdeckt, die es böswilligen Websites ermöglichen, die Kameras von Macs, iPhones und iPads einzuschalten, wenn sie miteinander verkettet werden. Pickren berichtete privat über die Fehler, und Apple hat seitdem die Schwachstellen behoben und dem Forscher 75.000 Dollar als Teil des Bug-Bounty-Programms des Unternehmens gezahlt. Apple schränkt den Zugriff von Anwendungen von Drittanbietern Bitcoin Revolution auf Gerätekameras streng ein. Für Apple-Anwendungen sind die Einschränkungen nicht ganz so streng. Selbst dann verlangt Safari von den Benutzern, dass sie explizit die Websites auflisten, auf die die Kameras zugreifen dürfen. Und darüber hinaus können Kameras nur dann auf diese Websites zugreifen, wenn sie in einem sicheren Kontext bereitgestellt werden, d. h. wenn der Browser sich sicher ist, dass die Seite über eine HTTPS-Verbindung bereitgestellt wird.

Wenn Skype.com nicht Skype.com ist

Pickren entwickelte eine Ausbeutungskette, die diese Schutzvorkehrungen umging. Durch die Ausnutzung mehrerer von ihm entdeckter Schwachstellen konnte der Forscher Safari dazu zwingen, seine bösartige Proof-of-Concept-Website so zu behandeln, als wäre sie Skype.com, die zu Demonstrationszwecken in die Liste der vertrauenswürdigen Websites aufgenommen wurde. (Skype.com unterstützt Safari eigentlich nicht, aber Pickrens Ausnutzung kann jede Website, einschließlich Zoom und Google Hangouts, die dies tut, täuschen). Das folgende Video zeigt das Ergebnis.

Der Hack im Desktop-Format.

Es ist klar, dass der Besuch einer Website, die diese Fehler ausnutzte, es ihr ermöglichte, sich als jede andere Website zu tarnen. Falls Safari der gefälschten Website vertraute, um auf die Kamera zuzugreifen, konnte die böswillige Website sofort sehen, was sich im Blickfeld des Zielgeräts befand. Das Video macht auch deutlich, dass eine Videokamera in der Adressleiste erscheinen würde, sobald der Zugriff begann. Außerdem würden Mac-Kameras ein grünes Licht einschalten. Während aufmerksame Benutzer wissen würden, dass ihre Kameras aktiviert wurden, würden weniger erfahrene oder wachsame Benutzer dies vielleicht nicht bemerken.

„Einfach ausgedrückt: Der Fehler hat Apple dazu gebracht, eine bösartige Website für eine vertrauenswürdige zu halten“, schrieb Pickren. „Dies geschah durch Ausnutzung einer Reihe von Fehlern bei der Analyse von URIs, der Verwaltung von Web-Ursprüngen und der Initialisierung von sicheren Kontexten.

Seine böswillige Website verwendete JavaScript, um direkt auf die Zielkamera zuzugreifen, ohne um Erlaubnis zu bitten oder sie zu erhalten. Pickren sagte, dass Exploits „jeden JavaScript-Code mit der Möglichkeit, ein Popup zu erstellen“, hätten verwenden können. Das bedeutet, dass die Kameraabfrage laut Bitcoin Revolution nicht nur von eigenständigen Websites, sondern auch von eingebetteten Werbebannern, von Websites, die in einem HTML-Iframe-Tag gerendert werden, oder von böswilligen Browser-Erweiterungen durchgeführt werden könnte.

Der längere der beiden Beiträge des Pickren, der sich hier befindet, bietet einen tiefen Einblick in die technischen Details. In einer E-Mail fasste Pickren den Exploit auf diese Weise zusammen:

Meine bösartige Website verwendete eine „Daten-URL“, um eine „Blob-URL“ zu generieren, und benutzte dann die Web-API Location.replace(), um zu ihr zu navigieren. Dadurch wurde Safari dazu gebracht, mir versehentlich einen missgebildeten „Ursprung“ zu geben (CVE-2020-3864). Bei diesem missgebildeten Ursprung verwendete ich die window.history-API, um meine URL in „blob://skype.com“ zu ändern. Von dort aus habe ich meine Herkunft praktisch ausgeblendet, um Safari dazu zu bringen, mich in einem „sicheren Kontext“ zu sehen (CVE-2020-3865). Da Safari zuvor die URL-Schemata beim Anwenden von Website-Berechtigungen ignorierte (CVE-2020-3852), konnte ich alle Berechtigungen, die das Opfer dem echten skype.com gewährte, nutzen.

Während die Angriffskette die als CVE-2020-3864, CVE-2020-3865 und CVE-2020-3852 verfolgten Schwachstellen ausnutzte, entdeckte Pickren vier weitere Fehler, die als CVE-2020-3885, CVE-2020-3887, CVE-2020-9784 und CVE-2020-9787 indexiert sind. Apple hat die meisten von ihnen Ende Januar behoben (siehe Hinweise hier und hier, und den Rest im letzten Monat gepatcht.