1 Punkte von GN⁺ 2023-12-22 | 3 Kommentare | Auf WhatsApp teilen
  • Die seit iOS 9 verfügbare HotspotHelper API ermöglicht es Apps, Informationen zu WLAN-Zugangspunkten in der Umgebung zu erhalten, und kann damit zu einem Weg für Standortverfolgung ohne Zustimmung der Nutzer werden
  • Apps können in einem registrierten Callback die SSID und BSSID umliegender Netzwerke auslesen und an einen Server senden, um sie für Logik zur Standortschätzung zu nutzen
  • Da WLAN-Zugangspunkte meist fest installiert sind, ist in Kombination mit öffentlichen Diensten wie Precisely oder der Google Geolocation API eine WLAN-basierte Standortschätzung möglich
  • Dieses Verhalten tritt nicht nur auf, während Nutzer in den Einstellungen etwas bedienen, sondern kann auch auftreten, wenn das Gerät gesperrt ist und WLAN-Netze in der Umgebung scannt; Nutzer haben keine Möglichkeit, es zu erkennen oder abzuschalten
  • Auch Apps mit großer Reichweite wie WeChat und Alipay haben diese Funktion implementiert, was zu Forderungen führt, Apple solle wie bei Standort- und Benachrichtigungsberechtigungen eine explizite Option zum Erlauben/Ablehnen bereitstellen

Von der HotspotHelper API offengelegte WLAN-Informationen

  • Apple stellt seit iOS 9 die HotspotHelper API bereit, mit der Apps eine Funktion anfordern können, die das System beim Verbinden mit WLAN-Zugangspunkten unterstützt
  • Beispielcode zeigt den Ablauf, bei dem eine App über NEHotspotHelper.register WLAN-Netzwerkinformationen erhält
    • Aus command.networkList wird die Liste der Netzwerke in der Umgebung abgerufen
    • Aus jedem Netzwerk werden network.ssid und network.bssid gelesen
    • Diese Werte können an Logik zur Standortverfolgung wie trackLocation(withSSID:andMACAddress:) übergeben werden
  • Der ursprüngliche Zweck kann die Unterstützung reibungsloser Verbindungen sein, doch Apps können die erhaltenen SSID und BSSID auch als Daten zur Standortverfolgung verwenden

Ein Weg zur Standortschätzung ohne Zustimmung der Nutzer

  • Informationen zu WLAN-Zugangspunkten in der Umgebung können als Referenzpunkte dienen, um den Standort eines Nutzers zu schätzen
    • Die meisten WLAN-Zugangspunkte bewegen sich nach der Installation nicht
    • Über die Liste umliegender Zugangspunkte lässt sich der aktuelle Standort des Nutzers per Triangulation bestimmen oder schätzen
  • Beispiele für öffentliche APIs sind Precisely Location By Wi-fi Access Point und Google's Geolocation API
  • Diese Funktion wird nicht nur aktiviert, wenn Nutzer ausdrücklich den Einstellungsbildschirm bedienen
    • Registrierte Apps können ausgeführt werden, wenn das Gerät WLAN-Zugangspunkte in der Umgebung scannt
    • Das umfasst auch Fälle, in denen das Gerät gesperrt ist und sich in der Tasche des Nutzers befindet
  • Apps können umliegende SSIDs und MAC-Adressen erfassen und an Server senden; wenn Entwickler es wollen, ist nahezu echtzeitnahe Standortverfolgung möglich
  • Für Nutzer ist auf dem Bildschirm schwer zu erkennen, ob dieser Vorgang stattfindet, und es gibt auch keine Option, die Funktion zu deaktivieren

Fälle WeChat und Alipay

  • WeChat und Alipay werden als wichtige Apps genannt, die diese Funktion bereits implementiert haben
  • Beide Apps werden auf dem chinesischen Festland sehr breit genutzt und greifen in viele Bereiche des Alltags ein
  • Wenn bei derart weit verbreiteten Apps die Möglichkeit zur Standortverfolgung ohne Zustimmung der Nutzer entsteht, ist die potenzielle Reichweite groß
  • Selbst wenn der Zweck der Datenerfassung in der Verbesserung der User Experience oder der Unterstützung bei Verbindungen mit nahegelegenen WLANs liegen kann, bleibt wegen undurchsichtiger serverseitiger Logik ein Problem bei Transparenz und Verantwortlichkeit bestehen

Apples Reaktion und das nötige Berechtigungsmodell

  • Das Problem wurde vor etwa zwei Jahren entdeckt und als Video auf Bilibili geteilt, erreichte öffentlich jedoch nur begrenzte Aufmerksamkeit
  • Auch Apple wurden die Bedenken übermittelt, und es gab eine Antwort per E-Mail, danach jedoch keine weiteren Updates
  • Apple sollte Nutzern wie bei Datenschutzeinstellungen für Standort und Benachrichtigungen eine Option bieten, diese Funktion zu deaktivieren
  • Bevor eine App auf diese Funktion zugreift, sollte sie ausdrücklich eine Berechtigung anfordern, und Nutzer sollten den Zugriff während der App-Nutzung erlauben oder ablehnen können
  • HotspotHelper bleibt ein umstrittener Punkt zwischen Apples Datenschutzversprechen und dem Schutz von Nutzerdaten

3 Kommentare

 
GN⁺ 2023-12-22
Hacker-News-Kommentare
  • Wenn man sich das verlinkte Dokument ansieht, scheint diese API dafür gedacht zu sein, dass Apps, die von Besitzern von Wi-Fi-Hotspots erstellt wurden, Nutzern helfen, sich mit dem jeweiligen Hotspot zu verbinden: https://developer.apple.com/documentation/networkextension/h...
    NEHotspotHelper ermöglicht es Apps, am Authentifizierungsprozess von Wi-Fi-Netzwerken teilzunehmen, bei denen Nutzer mit dem Netzwerk interagieren müssen, um Zugriff auf das weitere Internet zu erhalten – also bei Hotspot-Netzwerken.
    Außerdem heißt es dort, dass es nur für die Hotspot-Integration nützlich ist und dass für andere Aufgaben wie Zubehör-Integration oder Wi-Fi-basierte Standortbestimmung technische und geschäftliche Einschränkungen gelten; vor der Nutzung ist zudem Apples Genehmigung für die spezielle Berechtigung com.apple.developer.networking.HotspotHelper erforderlich.
    Dann stellt sich die Frage, warum Apps wie WeChat oder Alipay diese Berechtigung erhalten haben.

    • Zu Alipay weiß ich nichts, aber WeChat scheint diese Funktion wegen WeChat Wifi zu benötigen, womit Nutzer sich mit ihrem WeChat-Konto bei Internet-Hotspots anmelden können: https://mp.weixin.qq.com/s?__biz=MzI1NjA0NzQzOQ==∣=265026...
    • Selbst wenn die Berechtigung nur echten Hotspot-Apps erteilt wird, ist das kein nutzerfreundliches Privacy-first-Design.
      Die Nutzung einer solchen API sollte einen für den Nutzer sichtbaren Berechtigungsdialog anzeigen, bevor die App Hintergrundbenachrichtigungen erhält, und der Nutzer sollte zwischen „Nur einmal erlauben“, „Beim Verwenden erlauben“, „Im Hintergrund erlauben“ und „Nicht erlauben“ wählen können.
      Die App-Aktivität sollte außerdem im App-Datenschutzbericht angezeigt werden.
    • Vermutlich, weil der chinesische Markt zu wichtig ist.
      Bei WeChat kann man noch argumentieren, dass es eine „Super-App“ ist und auch für Wi-Fi-Hotspot-Verbindungen genutzt werden kann, aber bei Alipay fällt mir keine gute Erklärung ein.
    • VPN-Apps scheinen diese Funktion ebenfalls zu nutzen: https://github.com/pia-foss/mobile-ios/blob/4618b55161ec5b8b...
    • Unter einigen von Apple zusammengefassten Bedingungen scheint diese Berechtigung nicht nötig zu sein: https://developer.apple.com/forums/thread/679038
      1. Wenn die App die CoreLocation-API verwendet und vom Nutzer die Genehmigung für den Zugriff auf den genauen Standort erhalten hat. Da sie dann ohnehin bereits den genauen Standort bekommt, wirkt das harmlos.
      2. Wenn die App das aktuelle Wi-Fi-Netzwerk über die NEHotspotConfiguration-API konfiguriert hat. Genau das scheint in den Umfang dieses Artikels zu fallen.
      3. Wenn für die App eine aktive VPN-Konfiguration installiert ist. Das ist ziemlich überraschend.
      4. Wenn für die App eine aktive NEDNSSettingsManager-Konfiguration installiert ist. Ich weiß nicht genau, was das ist, aber es wirkt ähnlich wie der VPN-Fall.
  • Zur Einordnung: Um diese API zu nutzen, braucht man eine spezielle Berechtigung, die man nur erhält, wenn man sie bei Apple beantragt und den Verwendungszweck rechtfertigt.
    Es ist keine allgemeine API, die jede beliebige App nutzen kann.

    • Das ist kein großer Trost. Dem Artikel zufolge hat Apple WeChat und Alipay diese Berechtigung gegeben.
      Natürlich sind das „Super-Apps“, und Wi-Fi-Hotspot-Dienste könnten zu ihren angebotenen Funktionen gehören, aber gerade deshalb sollte es eine Berechtigung sein, die Nutzer vergeben können – ähnlich wie „Zugriff auf lokales Netzwerk“.
      Wenn ich mich nicht für die Hotspot-Funktion interessiere, möchte ich nicht, dass die App diese Fähigkeit hat.
    • Die meisten Berechtigungen zeigen einen Datenschutz-Prompt an, damit Nutzer eine Funktion abschalten können.
      Ohne die Test-App selbst auszuprobieren, weiß ich nicht, ob das auch bei dieser Berechtigung so ist, aber meiner Meinung nach sollte die Nutzererlaubnis abgefragt werden.
    • Wenn Facebook, Instagram, Messenger oder die im Artikel erwähnten Alipay und WeChat diese Berechtigung haben und damit fragwürdige Dinge tun, könnte das zu einem großen Privacy-Problem werden.
      Ich frage mich, ob Apple die Nutzung der Berechtigung analysiert und sie bei Missbrauch entzieht.
      Ähnlich erinnere ich mich daran, dass Apple beim Facebook-VPN-„Skandal“ Facebooks Enterprise-Signaturzertifikat entzogen hat.
    • Ich weiß nicht, ob das besser oder schlechter ist.
      Es klingt wie: „Keine Sorge, du oder ich können es nicht missbrauchen, nur Großunternehmen und Datensammler können das.“
    • Heißt das am Ende, dass nur große Apps Nutzer ausspionieren können?
      Der Autor scheint Chinese zu sein und sich deshalb um WeChat und Alipay zu sorgen; ich frage mich, wie es bei Facebook und Google aussieht.
  • Ich dachte bereits, dass Nutzer eine Aufforderung bekommen, diese Berechtigung zu erlauben
    Heutzutage fragen ziemlich viele Apps, ob sie Zugriff auf das „lokale Netzwerk“ bekommen dürfen; ich verstehe das als Fähigkeit, lokale Wi-Fi-Hotspots zu sehen, und lehne es fast immer ab
    Nach dem Lesen dieses Artikels habe ich es auch bei Spotify deaktiviert
    Allerdings wissen die meisten Nutzer nicht, dass sich aus diesen Informationen der Standort ableiten lässt, daher muss der Berechtigungsdialog verbessert werden

    • Aus Entwicklersicht gibt es Gründe, warum die Berechtigung „lokales Netzwerk“ nervt
      Erstens ist die Umsetzung schlampig. Anders als bei anderen Berechtigungen gibt es keine Möglichkeit, den Prompt explizit anzuzeigen; er erscheint plötzlich, wenn Apple es für passend hält
      Selbst wenn er für eine Kernfunktion nötig ist, gibt es keine Möglichkeit, Nutzer sauber darauf vorzubereiten, und auch keine Möglichkeit zu prüfen, ob die Berechtigung erteilt wurde
      Zweitens, und wichtiger: Apples eigene Apps zeigen diese Warnung nicht an, wodurch die Wettbewerbsbedingungen unfair sind
      AirPlay und Ähnliches funktionieren nahtlos, konkurrierende Technologien aber nicht; und weil Entwickler den Berechtigungsstatus nicht kennen, wird die User Experience schlechter
      Wenn Apple Einschränkungen einführt, sollten sie auch für die eigenen Apps gelten. AirPlay und AirDrop müssten jeweils nach Bluetooth- und lokalem Netzwerkzugriff fragen, die Photos-App müsste beim Start den Prompt „Fotos auswählen, alle erlauben, ablehnen“ anzeigen, und die Camera-App dürfte ohne denselben Prompt ebenfalls nicht in die Fotomediathek schreiben
      Nur so hätte Apple einen Anreiz, die User Experience rund um solche Einschränkungen ordentlich zu gestalten und statt verwirrender Dialoge kreativere Lösungen zu finden
      Derzeit gibt es keinen Anreiz für gutes Design. Jeder iOS-Entwickler, der mit diesen APIs gearbeitet hat, weiß, dass das Design wegen willkürlicher und unerwarteter Einschränkungen miserabel ist
    • Diese Berechtigung ist für das Senden und Empfangen von lokalem Netzwerk-Traffic gedacht, etwa um mit Geräten im selben Subnetz zu kommunizieren oder Ziele wie Chromecast zu finden
      AirPlay benötigt diese Berechtigung nicht
    • Ich verstehe es so, dass damit das LAN, vielleicht sogar ein Tailnet, nach Diensten wie Hue-Bridges, Sonos-Lautsprechern oder Chromecast abgesucht wird
  • Dokumentation: https://developer.apple.com/documentation/technotes/tn3111-i...
    Die Prüfung wird kleine Spam-Apps wohl blockieren, aber wie der Autor und andere sagen, vermutlich keine großen Player

    • Aus der Dokumentation geht hervor, dass für diesen API-Aufruf eine Berechtigung nötig ist
      Unklar bleibt aber weiterhin, ob bei vorhandener Berechtigung ein Prompt erscheint, mit dem Nutzer die Nutzung der API ablehnen können
  • Gibt es eine Möglichkeit herauszufinden, welche populären Apps das verwenden?
    Wie die meisten hier habe ich WeChat oder Alipay nicht installiert, aber mich würden Apps wie Instagram, Facebook, WhatsApp, Twitter, TikTok, Snapchat, Chrome, Firefox, Photoshop oder Lightroom interessieren

    • Ich habe das Gefühl, mich zu wiederholen, aber der App Store sollte vor der Installation anzeigen, welche Berechtigungen eine App anfordern wird
      Man sollte eine App nicht herunterladen und installieren müssen, nur um zu sehen, welche Aktionen sie versuchen wird
      Der App Store kennt diese Informationen bereits, und sie vor dem Download in den App-Details anzuzeigen, wäre sehr einfach
  • Man sollte auch darüber sprechen, dass iOS/macOS bei jedem Systemupdate Wi-Fi- und Bluetooth-Funkgeräte einschaltet
    Entgegen dem Wiegenlied aus dem Marketing wirkt es fast wie ein Gerät, das absichtlich dafür gebaut wurde, Überwachung zu maximieren

    • Nach Hanlons Rasiermesser könnte Apple einfach nur faul sein und diese Einstellungen standardmäßig eingeschaltet lassen
      99 % der Leute nutzen oder brauchen sie, also hat Apple sich wohl dafür entschieden, den Einstellungszustand nicht nachzuverfolgen; außerdem mag Apple Bluetooth-Tastaturen und -Mäuse
    • Das ist wirklich nervig
  • Jetzt bin ich neugierig. Welche anderen Apps haben diese Berechtigung?
    Gibt es eine Möglichkeit herauszufinden, welche der auf meinem Telefon installierten Apps diese Berechtigung haben?

  • Eines der großen Probleme einer vollständig geschlossenen Plattform
    Dass der Plattformbetreiber die Privatsphäre respektiert und Übergriffe anderer verhindert, ist am Ende nicht mehr als ein Versprechen per kleinem Finger

    • Diese Sichtweise könnte falsch sein. Niemand erwartet, dass Apple perfekt ist
      Sicherheit von Computing-Plattformen ist grundsätzlich schwierig, und gerade Privatsphäre ist kulturell viel unschärfer definiert als klassische Computersicherheit, die über technische Umgehungen von Zugriffskontrollen definiert wird
      Der Kern ist, ob Apple versuchen will, als Kurator des Ökosystems aufzutreten
      Als Uber früher fragwürdige Dinge getan hat, hat Apple auch einmal ein Chicken Game gespielt, um sie zum Aufhören zu bringen
      Natürlich könnten Alipay und WeChat schwieriger sein, weil der chinesische Markt für Apple sehr groß und für den aktuellen Erfolg wichtig ist
      Es wird interessant sein zu sehen, wie Apple sich in den nächsten Jahren daran anpasst
      Offene Plattformen haben solche Probleme ebenfalls und verlassen sich vielleicht sogar noch stärker auf Versprechen per kleinem Finger
      Wenn nicht gemeint ist: „Falls dieses Problem nicht gelöst wird, ist eine offene Plattform besser“, verstehe ich den Punkt nicht ganz
      Das Problem an dieser Logik ist, dass dies nur ein einzelner Fehlschlag unter vielen Problemen ist und später gelöst werden kann, während offene Plattformen neben diesem Problem noch viele weitere ungelöste Probleme haben
  • Ich habe Beschwerden gehört, dass dieser Titel übertrieben sei; wenn es bessere, genauere und neutralere Titelvorschläge gibt, kann er gern geändert werden

    • „iOS-Apps mit Sonderberechtigung können Nutzer per SSID-Scan verfolgen“ scheint es am besten zu beschreiben
      Ganz sicher bin ich nicht, aber nach dem Lesen des Artikels wirkt der aktuelle Titel nicht wirklich wie eine Tatsache
    • Ich finde den aktuellen Titel auch in Ordnung
  • Für die Nutzung von NEHotspotHelper ist die spezielle Berechtigung com.apple.developer.networking.HotspotHelper erforderlich, die beantragt werden muss; Apple wird sie Apps vermutlich nicht erteilen, wenn kein berechtigter Bedarf besteht.
    Allerdings scheint das die Unvereinbarkeit zwischen Apples Datenschutzstrategie und Super-Apps wie WeChat oder Alipay zu zeigen.
    Wenn ein Unternehmen alle Funktionen in eine einzige App packt, hat diese App plötzlich alle Berechtigungen, und es wird schwer nachvollziehbar, wann und wie sensible Daten verwendet werden.
    Im Westen werden Apps normalerweise nicht so gebaut. Comcast hat zum Beispiel eine separate „WiFi Hotspots“-App.
    Witzigerweise wurde vor zwei Tagen angekündigt, diese Funktion in die Haupt-App Xfinity zu integrieren; vielleicht holt der Westen also gerade auf.

    • Gibt es für Endnutzer eine Möglichkeit zu sehen, welche Apps diese Berechtigung haben?
    • Facebook ist ebenfalls eine Super-App. Seit Jahren gibt es in der App eine Funktion zum Finden von WLAN-Hotspots.
    • Ich hasse es wirklich, wenn direkt beim Start einer App Anfragen zum Zugriff auf Kamera, Mikrofon, Kontakte usw. einprasseln.
      Ich lehne sie sofort ab, und wenn dadurch Funktionen der App kaputtgehen, lösche ich die App gleich mit.
      Auch dass Google Maps ständig drängt, die genaue Standortbestimmung zu aktivieren, fragt, ob ich statt eines Freundes gerade navigiere, und Zugriff auf Kontakte erlauben will, lehne ich ab.
    • Wo kann man com.apple.developer.networking.HotspotHelper unter iOS widerrufen?
      Unter Einstellungen → Datenschutz & Sicherheit → Lokales Netzwerk, oder an anderer Stelle?
    • Heißt das am Ende, dass Apple entscheidet, welches Unternehmen meine Standortdaten bekommen darf? Toll.
 
ndrgrd 2023-12-23

Ein Unternehmen, das Datenschutz als Verkaufsargument nutzt, greift hinter den Kulissen offenbar Nutzerbenachrichtigungen und Standortdaten ab.

 
joyfui 2023-12-22

Ich dachte, diese Funktion sei gesperrt, deshalb seien Ein- und Ausstiegsbenachrichtigungen in der U-Bahn nicht möglich, aber offenbar gab es die Funktion schon. Warum funktioniert das dann nur auf dem iPhone nicht...