Det betyder inte att vem som helst kunde fråga Find My från en anonym Linux-dator. Resultatet visar i stället att ett annat operativsystem kan återskapa den relevanta klientlogiken efter att Apples autentiserings- och registreringssteg har genomförts.
Projektet band ihop flera normalt dolda delar av Apples ekosystem:
Kontoinloggning: Zerotistic använde Apples GrandSlam-protokoll. Flödet omfattade en Secure Remote Password-förhandling och tvåfaktorsautentisering, vilket gav kontoidentifierare och en kortlivad token motsvarande ett lösenord.
Registrering av enheten: Klienten skapade en PKCS#10-begäran om certifikatsignering med en 2 048-bitars RSA-nyckel och en SHA-1-signatur. Begäran skickades till Apples äldre authenticateDS-endpoint för profilregistrering, som returnerade ett certifikat från Apple Identity Services.
Registrering i IDS: Med certifikatet och tillhörande enhetsdata kunde Linux registrera sig som en Identity Services-kompatibel enhet, ange vilka krypteringstyper som stöddes, prenumerera på nödvändiga meddelandetjänster och få leveransuppgifter för Apple Push Notification Service, APNs.
Synkronisering med Find My: Klienten återskapade den inbyggda Find My People-sekvensen, med initiering, uppdateringar och en SubscribeAndFetch-begäran med intent: distributeKeysmode: proactive
Lokal dekryptering: Den krypterade IDS-datan innehöll information om relationen samt SearchParty-nyckelmaterial. Biblioteket pypush hanterade push- och IDS-lagret, medan FindMy.py hämtade och dekrypterade Find My-rapporter till koordinater, tidsstämplar och uppgifter om noggrannhet.
Det handlade alltså om protokoll- och klientemulering, inte om ett förfalskat Apple-certifikat. Servern utfärdade fortfarande behörigheterna först efter att kontoautentiseringen och registreringsflödet hade lyckats.
Beteendet hos SubscribeAndFetch tyder på att Apple kan leverera aktuellt platsnyckelmaterial till en ny enhet som har auktoriserats efter att en delningsrelation redan skapats. Det behövs för funktioner som enhetsbyte och kontosynkronisering: användaren ska inte behöva be varje kontakt att stoppa och starta om platsdelningen när en ny enhet läggs till.
Den rapporterade nyttolasten innehöll bland annat ett relations-ID, ett nyckelindex, en 32 byte lång hashad annonseringsnyckel och en 85 byte lång representation av en privat nyckel. Tillsammans pekar fälten på att dekrypteringen av Find My-platsrapporter bygger på material som är knutet både till relationen och till en viss nyckelversion, och som kan distribueras på nytt via IDS.
Den offentliga redogörelsen visar hur synkronisering och nyckelrotation fungerar i det undersökta flödet, men fastställer inte något universellt intervall för nyckelrotation. Forskningen visar alltså hur aktuell nyckelstatus levereras – inte en komplett offentlig specifikation av Apples schema för nyckelhantering.
Klienten var medvetet begränsad. Den kunde läsa en redan godkänd platsdelning på forskarens Apple-konto och bearbeta informationen lokalt. Även geostaketen, alltså regler som reagerar på när någon kommer till eller lämnar en plats, kördes lokalt och inte som en Apple-funktion i molnet.
Enligt redogörelsen saknade klienten funktioner för att:
Resultatet bör därför ses som ett fynd om interoperabilitet och tillitsgränser – inte som ett fjärrbaserat verktyg för att spåra vem som helst. Den mer realistiska säkerhetsrisken gäller ett kapat Apple-konto eller en komprometterad betrodd enhet: om en angripare fick kontroll över kontot eller registrerade en obehörig enhet skulle delningar som kontot redan har tillgång till kunna exponeras.
Zerotistics demonstration och nRootTag rör olika delar av Find My och har olika hotbilder.
Zerotistics arbete fokuserade på Find My People. Det återskapade mottagarsidan av en befintlig och auktoriserad delningsrelation. Kontot och enheten behövde godkännas av Apple, och personens position behövde redan vara delad med kontot.
nRootTag riktade in sig på Find My Network och offline-hittning. Forskarna rapporterade att Apples tjänst accepterade fler typer av Bluetooth-adresser än de förväntade slumpmässiga statiska adresserna. Det kunde göra det möjligt för en angripare att få en Bluetooth-kompatibel dator att fungera som en AirTag-liknande spårningsfyr, där närliggande Apple-enheter vidarebefordrar dess position utan ägarens vetskap.
Kort sagt tog Zerotistics projekt emot data som ett konto redan var behörigt att se. nRootTag försökte skapa en obehörig spårningsfunktion. Om metoderna blandas ihop låter Linux-demonstrationen betydligt kraftfullare än vad beläggen stödjer.
Den uttalade motivationen var samtyckesbaserad automatisering. En vän som redan delade sin position hade godkänt att ett Linux-system skulle hålla lokala geostaket och skicka Discord-notiser när vännen kom till eller lämnade vissa platser.
Zerotistic räknade först med att arbetet skulle handla om en autentiserad webbförfrågan och uppskattade ungefär en kvälls arbete. Bakåtanalysen växte dock långt utöver den första planen. Det tillgängliga materialet anger ingen exakt total tidsåtgång för det färdiga projektet, så en mer precis tidsuppgift vore spekulativ.
De citerade rapporterna bekräftar demonstrationen, men innehåller inget verifierat offentligt uttalande från Apple om just denna Linux-implementation av Find My People. De visar inte heller någon bekräftad åtgärd eller något offentligt redovisat resultat från Apples bug-bountyprogram.
Den centrala lärdomen kvarstår: att begränsa en funktion till Apple-hårdvara gör inte automatiskt hårdvaran till själva säkerhetsgränsen. Om tilliten på serversidan främst bygger på uppgifter, certifikat, deklarerade funktioner och korrekt protokollbeteende kan en tillräckligt kompatibel klient på ett annat operativsystem passera produktgränsen – samtidigt som den fortfarande begränsas av kontots behörigheter och de kryptografiska nycklar den faktiskt får tillgång till.