OpenHayStack ist ein Framework für die Verfolgung persönlicher Bluetooth -Geräte über Apples massive Fund mein Netzwerk. Verwenden Sie es, um Ihre eigenen Tracking -Tags zu erstellen, die Sie an physische Objekte (Schlüsselringe, Rucksäcke, ...) anhängen oder in andere bluetooth-fähige Geräte wie Notebooks integrieren können.

OpenHayStack ist eine Anwendung, mit der Sie Ihr eigenes Zubehör erstellen können, das von Apples Find My Network verfolgt wird. Alles, was Sie brauchen, ist ein Mac und ein BBC-Mikro: Bit oder ein anderes Bluetooth-fähiger Gerät. Durch die Verwendung der App können Sie Ihr Zubehör über die Erde ohne Mobilfunkabdeckung verfolgen. In der Nähe von iPhones werden Ihr Zubehör entdeckt und ihren Standort auf Apples Server hochladen, wenn sie über eine Netzwerkverbindung verfügen.
OpenHayStack ist das Ergebnis der Reverse-Engineering- und Sicherheitsanalyse-Arbeiten von Apples Find My Network (oder Offline-Erkenntnis ). Wir im Secure Mobile Networking Lab von Tu Darmstadt haben nach seiner ersten Ankündigung im Juni 2019 mit der Analyse der Offline -Erkenntnisse begonnen. Wir haben festgestellt, wie Apple -Geräte von iPhones -Geräten gefunden werden können, auch wenn sie diese Arbeit offline sind. Das gesamte System ist eine clevere Kombination aus Bluetooth-Anzeigen, Cryptography und einer zentralen Datenbank für verschlüsselte Standortberichte. Wir haben eine Spezifikation der geschlossenen Teile der Offline -Erkenntnis offengelegt und eine umfassende Sicherheits- und Datenschutzanalyse durchgeführt. Wir fanden zwei unterschiedliche Schwachstellen. Die schwerwiegendste, die es einer böswilligen Anwendung ermöglichte, auf Standortdaten zuzugreifen, wurde in der Zwischenzeit von Apple (CVE-2020-9986) festgelegt. Weitere Informationen zur Sicherheitsanalyse finden Sie in unserem Artikel. Seit seiner Veröffentlichung erhielten wir einiges an Presse- und Medienberichterstattung.
OpenHayStack ist experimentelle Software. Der Code ist ungetestet und unvollständig. Zum Beispiel können OpenHayStack -Zubehör mit unserer Firmware einen festen öffentlichen Schlüssel übertragen und daher von anderen Geräten in der Nähe verfolgbar (dies könnte sich in einer zukünftigen Version ändern). OpenHayStack ist nicht mit Apple Inc. angeschlossen oder von Apple Inc. unterstützt.
OpenHayStack besteht aus zwei Komponenten. Zunächst bieten wir eine MacOS -Anwendung an, die den zuletzt gemeldeten Ort Ihrer persönlichen Bluetooth -Geräte anzeigen kann. Zweitens ermöglicht das Firmware -Image Bluetooth -Geräte, Beacons zu übertragen, die sie durch iPhones auffindbar machen.
OpenHayStack benötigt MacOS 11 (Big Sur).
Für die OpenHayStack -Anwendung ist ein benutzerdefiniertes Plugin für Apple Mail erforderlich. Es wird verwendet, um Standortberichte von Apples Servern über eine private API herunterzuladen (technische Erläuterung: Das Plugin erbt die Berechtigung von Apple Mail, die für die Verwendung dieser API erforderlich ist). Daher ist das Installationsverfahren geringfügig unterschiedlich und erfordert, dass Sie den Gatekeeper vorübergehend deaktivieren. Unser Plugin greift nicht auf andere private Daten wie E -Mails (siehe Quellcode).
~/Library/Mail/Bundle zu installieren.sudo spctl --master-disable aus, das den Gatekeeper deaktiviert und unser Apple Mail-Plugin ausführen lässt.sudo defaults write "/Library/Preferences/com.apple.mail" EnableBundles 1sudo spctl --master-enable , das den Gatekeeper wieder ermöglicht.Hinzufügen eines neuen Zubehörs. Um ein neues Zubehör zu erstellen, müssen Sie nur einen Namen dafür eingeben und optional ein geeignetes Symbol und eine Farbe auswählen. Die App generiert dann ein neues Schlüsselpaar, mit dem die Standortberichte verschlüsselt und entschlüsseln. Der private Schlüssel wird in der Schlüsselbund Ihres Macs gespeichert.
Auf dem Gerät bereitstellen. Schließen Sie ein unterstütztes Gerät über USB an Ihren Mac an und klicken Sie auf die Schaltfläche Bereitstellung neben dem Namen des Zubehörs und wählen Sie die entsprechenden. Anstatt die integrierte Bereitstellung von OpenHayStack zu verwenden, können Sie auch den für die Werbung verwendeten öffentlichen Schlüssel kopieren (mit der rechten Maustaste auf Zubehör) und sie manuell bereitstellen.
Stellen Sie Geräteorte an. Es kann bis zu 30 Minuten dauern, bis Sie den ersten Standortbericht auf der Karte auf der rechten Seite sehen. Die Karte wird immer alle neuesten Standorte Ihrer Artikel angezeigt. Sie können auf jedes Element klicken, um zu überprüfen, wann das letzte Update empfangen wurde. Durch Klicken auf die Schaltfläche Reload können Sie die Standortberichte aktualisieren.
Wir erklären das Offline -Fundsystem von Apple kurz (auch bekannt als mein Netzwerk finden ). Weitere Informationen finden Sie in unserem PETS -Papier und der Zubehörspezifikation von Apple. Wir geben einen schematischen Überblick (aus unserem Artikel) und erklären, wie wir die verschiedenen Schritte in OpenHayStack unten integrieren.

Um Apple My Network zu verwenden, generieren wir ein öffentlich-privates Schlüsselpaar in einer elliptischen Kurve (P-224). Der private Schlüssel bleibt auf dem Mac, der sicher im Schlüsselbund gespeichert ist, und der öffentliche Schlüssel wird auf dem Zubehör, z. B. einem beigefügten Mikro: Bit eingesetzt.
Kurz gesagt, das Zubehör sendet den öffentlichen Schlüssel als Bluetooth Low Energy -Anzeigen (BLE) (siehe Firmware). In der Nähe von iPhones können wir unser Zubehör nicht von einem echten Apple -Gerät oder einem zertifizierten Zubehör unterscheiden.
Wenn ein nahe gelegenes iPhone eine BLE -Anzeige erhält, holt das iPhone seinen aktuellen Standort über GPS ab, verschlüsselt es mit dem öffentlichen Schlüssel aus der Werbung und lädt den verschlüsselten Bericht auf Apples Server hoch. Alle iPhones auf iOS 13 oder neuer tun dies standardmäßig. OpenHayStack ist nicht an diesem Schritt beteiligt.
Apple weiß nicht, welche verschlüsselten Standorte zu welchem Apple -Konto oder -gerät gehören. Daher kann jeder Apple -Benutzer einen Standortbericht herunterladen, solange er den entsprechenden öffentlichen Schlüssel kennt. Dies ist kein Sicherheitsproblem: Alle Berichte sind endlich verschlüsselt und können nicht entschlüsselt werden, es sei denn, man kennt den entsprechenden privaten Schlüssel (im Schlüsselbund gespeichert). Wir nutzen diese Funktion, um die Berichte von Apple herunterzuladen, die für unser OpenHayStack -Zubehör erstellt wurden. Wir verwenden unsere privaten Schlüssel, um die Standortberichte zu entschlüsseln und den neuesten auf der Karte zu zeigen.
Apple schützt seine Datenbank vor dem willkürlichen Zugriff, indem er einen authentifizierten Apple -Benutzer verlangt, um Standortberichte herunterzuladen. Wir verwenden unser Apple Mail -Plugin, das mit erhöhten Berechtigungen ausgeführt wird, um auf die erforderlichen Authentifizierungsinformationen zuzugreifen. Die OpenHayStack -App kommuniziert beim Herunterladen von Berichten mit dem Plugin. Aus diesem Grund müssen Sie die Post offen halten, während Sie OpenHayStack verwenden.
Grundsätzlich kann jedes Bluetooth -Gerät in ein OpenHayStack -Zubehör verwandelt werden, das über Apple My Network verfolgt werden kann. Derzeit bieten wir eine bequeme Bereitstellungsmethode unserer OpenHayStack -Firmawares für eine kleine Anzahl eingebetteter Geräte (siehe Tabelle unten). Wir unterstützen auch Linux -Geräte über unser generisches HCI -Skript. Fühlen Sie sich frei, OpenHayStack auf andere Geräte zu portieren, die Bluetooth Low Energy basierend auf dem Quellcode unserer Firmware und der Spezifikation in unserem Artikel unterstützen. Bitte teilen Sie Ihre Ergebnisse mit uns!
| Plattform | Getestet auf | Über App bereitstellen | Kommentar |
|---|---|---|---|
| Nordic Nrf51 | BBC Micro: Bit V1 | ✓ | Unterstützt zu diesem Zeitpunkt nur NRF51822 (siehe Ausgabe 6). |
| Espresssif ESP32 | SP32-in-Room, ESP32-Wrover | ✓ | Der Einsatz kann bis zu 3 Minuten dauern. Benötigt Python 3. Danke @fhessel . |
| Linux HCI | Raspberry Pi 4 W/ Raspbian | Sollte jede Linux -Maschine unterstützen. |

OpenHayStack Mobile ist eine vollständige Neuauflagen der OpenHayStack MacOS -Anwendung für Smartphones. Die App bietet die gleiche Funktionalität, um Zubehör zu erstellen und zu verfolgen, und zielt darauf ab, die Benutzerfreundlichkeit zu erhöhen, insbesondere für neue Benutzer. Im Gegensatz zur MacOS -Anwendung können die Standortberichte nicht direkt auf das Smartphone abgerufen werden, sodass für die App ein Proxy -Server erforderlich ist, der auf Mac -Hardware gehostet wird, um auf das Find My -Netzwerk zuzugreifen. Auf den Proxy -Server kann von mehreren Benutzern gleichzeitig über ein Netzwerk zugegriffen werden.
So stellen Sie eine Verbindung zu Ihrem Proxy-Server her


OpenHayStack Mobile ist mit dem plattformübergreifenden Flutter-Framework erstellt und läuft derzeit auf Android und iOS. Weitere Informationen zu den App- und Verwendungsanweisungen finden Sie im Ordner OpenHayStack-Mobile dieses Repositorys.
OpenHayStack ist unter der GNU Affero General Public Lizenz v3.0 lizenziert.