Linuxról is elérhetővé vált az Apple Find My People – egy kutató visszafejtette a privát helymegosztási rendszert

Apple Find My People Linuxon: visszafejtették az Apple helymegosztását

Egy biztonsági kutató bemutatta, hogy az Apple szigorúan zárt Find My People helymegosztási rendszere Linux számítógépről is elérhető, miután visszafejtette azokat a privát hitelesítési, eszközregisztrációs, üzenetküldési és titkosítási protokollokat, amelyek normál esetben Apple-eszközökre korlátozzák a funkció használatát.

A kutatás szerint egy Linux-alapú kliens képes bejelentkezni egy meglévő Apple-fiókba, regisztrálni magát az Apple belső identitás-infrastruktúrájában, fogadni egy már létező helymegosztási kapcsolathoz tartozó titkosítási kulcsot, majd teljes egészében az Apple hivatalos alkalmazásain kívül visszafejteni egy ismerős aktuális tartózkodási helyét.

Fontos azonban, hogy az eredmények nem bizonyítanak olyan sérülékenységet, amely lehetővé tenné idegenek számára tetszőleges iPhone-felhasználók követését, a fiókhitelesítés megkerülését vagy helyadatok elérését meglévő megosztási kapcsolat nélkül.

A kutató ehelyett egy jogosult Apple-eszköz működését reprodukálta saját fejlesztésű szoftverrel. A munka azt mutatja meg, milyen mértékben támaszkodik a Find My People dokumentálatlan szolgáltatások közötti kommunikációra egy hivatalosan támogatott, nyilvános interfész helyett.

A kutatást 2026. augusztus 19-én publikálta a Zerotistic nevet használó szakember. A projekt rendkívül részletes betekintést nyújt az Apple személyes helymegosztási infrastruktúrájába, többek között az Apple Identity Services, az Apple Push Notification service, a SearchParty, a delegált hitelesítési tokenek és az elliptikus görbéken alapuló többrétegű titkosítás működésébe.

Egy Discord-automatizálási projekt vezetett az Apple privát infrastruktúrájához

A projekt egy viszonylag egyszerű céllal indult: a kutató egy barátja már meglévő Find My helymegosztási engedélyét szerette volna felhasználni arra, hogy automatikus Discord-értesítések készüljenek, amikor az illető belép egy meghatározott földrajzi területre vagy elhagyja azt.

A kutató szerint a barátja már korábban beleegyezett helyzetének megosztásába, és kifejezetten hozzájárult az automatizálási kísérlethez is.

Az Apple saját Find My rendszerében már támogatja a helyalapú érkezési és távozási értesítéseket. A felhasználók beállíthatnak értesítést arra az esetre, ha egy ismerős megérkezik egy kiválasztott helyre vagy elhagyja azt. Ismétlődő értesítések esetén a megfigyelt személynek jóvá kell hagynia a kérést.

A kutató célja azonban az volt, hogy ezt a funkcionalitást az Apple saját alkalmazásain kívülre vigye, és a helyadatokat Linuxon futó külső szoftverrel integrálja.

Ami kezdetben egyszerű hitelesített API-kérésnek tűnt, végül komoly reverse engineering feladattá vált.

Bár korábbi projektek már dokumentálták az Apple Find My ökoszisztémájának egyes részeit, a kutató arra jutott, hogy a Find My People segítségével megosztott élő helyadatok lekéréséhez Apple-eszközök teljes privát kommunikációs láncát kell reprodukálnia.

Ehhez többek között szükség volt:

  • Apple-fiók hitelesítésére;
  • szolgáltatásspecifikus hitelesítő adatok megszerzésére;
  • üzenetküldési identitás regisztrálására;
  • az Apple privát push értesítési infrastruktúrájára való feliratkozásra;
  • egy meglévő helymegosztási kulcs újraküldésének kérésére;
  • valamint az Apple szerverei által visszaadott titkosított helyjelentések visszafejtésére.

A munka állítólag kevesebb mint egy hétig tartott, de ehhez az Apple több rendszerkomponensét – például az fmfd, findmylocated és searchpartyd daemonokat – valamint kapcsolódó Apple-protokollok meglévő nyílt forráskódú implementációit is vizsgálni kellett.

A Find My People nem ugyanaz, mint egy AirTag megkeresése

Az Apple Find My alkalmazása több különböző funkciót egyesít egyetlen felületen.

A felhasználók:

  • megkereshetik saját Apple-eszközeiket;
  • követhetik AirTagjeiket és kompatibilis tartozékaikat;
  • megoszthatják tartózkodási helyüket barátokkal vagy családtagokkal.

Bár ezek a funkciók egy alkalmazásban jelennek meg, nem feltétlenül ugyanazokat a backend szolgáltatásokat, jogosultsági szabályokat vagy titkosítási mechanizmusokat használják.

Az Apple a Find My hálózatot olyan adatvédelmi szempontból védett rendszerként írja le, amelyben a közelben lévő Apple-eszközök titkosított helyinformációkat továbbíthatnak elveszett eszközökről és tartozékokról.

A Find My People ettől eltérő problémát old meg: lehetővé kell tennie, hogy egy személy szándékosan és folyamatosan megossza helyzetét egy másik személlyel, ráadásul a címzett fiókjához kapcsolódó több eszközön keresztül.

Ehhez az Apple infrastruktúrájának:

  • fel kell ismernie a meglévő megosztási kapcsolatot;
  • azonosítania kell a jogosult címzetthez tartozó eszközöket;
  • el kell juttatnia hozzájuk a megfelelő kriptográfiai kulcsokat;
  • és olyan titkosított helyfrissítéseket kell biztosítania, amelyeket helyben lehet visszafejteni.

A most publikált kutatás erre a kevésbé dokumentált személyek közötti helymegosztási folyamatra koncentrál, nem pedig az elveszett eszközök vagy AirTagek felkutatására használt mechanizmusokra.

Ez azért fontos, mert a Find My egyik részével kapcsolatos kutatási eredményekből nem következik automatikusan, hogy ugyanazok a módszerek az Apple teljes követési ökoszisztémájára alkalmazhatók.

A hagyományos iCloud-hitelesítés nem volt elegendő

Az első komoly akadály akkor jelentkezett, amikor a kutató hagyományos iCloud-hitelesítéssel próbálta elérni a korábbi Find My Friends szolgáltatáshoz kapcsolódó endpointokat.

Az érvényes fiókhitelesítő adatok vagy egy már hitelesített böngészőmunkamenet ellenére a kérések sikertelenek voltak.

Ennek oka, hogy az Apple belső szolgáltatásai nem tekintik az általános iCloud-hozzáférést automatikusan elegendő jogosultságnak minden speciális backend szolgáltatáshoz.

Ehelyett az egyes szolgáltatások meghatározott képességekhez kötött, korlátozott hatókörű hitelesítő adatokat és delegált tokeneket használnak.

A Find My People eléréséhez kapcsolatba kellett lépni az Apple Identity Services, vagyis IDS rendszerével. Ez egy privát keretrendszer, amely az Apple-fiókok identitását regisztrált eszközökkel, üzenetküldési tanúsítványokkal, push tokenekkel és titkosítási kulcsokkal kapcsolja össze.

A kutató először a nyílt forráskódú pypush projektből származó régebbi implementációkkal kísérletezett.

Ez a korábbi hitelesítési módszer azonban elbukott, amikor az Apple kétfaktoros ellenőrzést kért, majd elutasította a beküldött hitelesítési kódot.

A működő megoldást végül a GrandSlam, az Apple fiókhitelesítési protokollja jelentette, amelyet már meglévő közösségi eszközök implementáltak.

A fiókhitelesítés és a kétfaktoros ellenőrzés sikeres befejezése után a kutató hozzájutott a fiókazonosítókhoz és egy rövid élettartamú, jelszóval egyenértékű tokenhez.

Ezt a tokent ezután egy kifejezetten a com.apple.private.ids szolgáltatáshoz tartozó delegált hitelesítő adatra cserélte.

Ez a követelmény alapvető fontosságú a kutatás biztonsági jelentőségének megértéséhez: a bemutatott folyamat továbbra is sikeres Apple-fiók-hitelesítést és kétfaktoros azonosítást igényelt.

Nem kerülte meg az Apple bejelentkezési védelmét.

A Linuxnak elismert Apple üzenetküldési klienssé kellett válnia

Az IDS delegate token megszerzése csak a kezdet volt.

Az Apple infrastruktúrájának a Linuxon futó folyamatot regisztrált, üzenetküldésre alkalmas identitásként is el kellett fogadnia ahhoz, hogy védett kommunikációt fogadhasson.

Ehhez a kutató IDS-hitelesítési tanúsítványt igényelt egy Apple-eszközregisztrációhoz kapcsolódó endpointon keresztül.

A kérés mindaddig sikertelen volt, amíg annak struktúrája pontosan meg nem egyezett az Apple dokumentálatlan szolgáltatása által elvárt formátummal.

A kutatás szerint az elfogadott certificate-signing requesthez:

  • 2048 bites RSA-kulcs;
  • SHA-1 aláírás;
  • valamint az IDS-profilazonosító nagybetűs SHA-1 hashéből képzett common name

volt szükséges.

A kérést ezt követően XML property listbe kellett ágyazni, majd gzip segítségével tömöríteni.

Több látszólag megfelelő alternatíva – például SHA-256 aláírás vagy eltérő szerializáció – nem működött.

A kutató végül a tanúsítványkérelem egyes részeit manuálisan állította össze, hogy pontosan kontrollálhassa az endpoint által megkövetelt bájtszintű kódolást.

Az SHA-1 jelenléte ebben a regisztrációs folyamatban nem jelenti az SHA-1 feltörését vagy az Apple titkosításának megkerülését. Csupán azt mutatja, hogy egy régi kompatibilitási interfész egy meghatározott formátumot fogadott el.

A közvetlen Find My-regisztráció sikertelen volt

Még az autentikációs tanúsítvánnyal sem lehetett egyszerűen Find My kliensként regisztrálni a Linux-rendszert.

A kutató először közvetlenül a Find My Friends szolgáltatáshoz próbált regisztrálni, de az Apple elutasította a kérést.

A közösségi Apple-protokoll implementációk további elemzése azt mutatta, hogy az Apple ehelyett egy szélesebb, multiplexált szolgáltatást regisztrál, amely több egymással összefüggő Find My funkciót foglal magában.

A Linux-kliens végül a következő szolgáltatás alatt regisztrált:

com.apple.private.alloy.multiplex1

A hozzá kapcsolódó hat alszolgáltatás:

com.apple.private.alloy.fmf

com.apple.private.alloy.fmd

com.apple.private.alloy.status.keysharing

com.apple.private.alloy.status.personal

com.apple.private.alloy.findmy.itemsharing-crossaccount

com.apple.private.alloy.kcsharing.invite

A regisztráció ezen kívül fiók-handle-öket, eszközképességeket, az Apple újabb üzenetküldési formátumához tartozó identitásadatokat és key-transparency metaadatokat is tartalmazott.

Az újabb üzenetküldési formátum P-256 eszközkulcsot és aláírt prekey-t használt.

Ezek a P-256 kulcsok azonban az eszközök közötti kommunikációt védték, és nem ugyanazok voltak, mint amelyeket később a megosztott helyadatok visszafejtésére használtak.

A sikeres regisztráció után a Linux-kliens már rendelkezett az Apple által elismert üzenetküldési endpoint működéséhez szükséges fő elemekkel:

  • push notification identity;
  • IDS-hitelesítési tanúsítvány;
  • regisztrált fiók-handle-ök;
  • eszközoldali üzenetküldési kulcsok;
  • Find My szolgáltatásregisztráció.

Az Apple Push Notification Service továbbította a hiányzó kulcsot

A helymegosztási kulcs fogadásához a Linux-kliensnek kapcsolatot kellett létesítenie az Apple privát push értesítési infrastruktúrájával.

Az Apple Push Notification service, vagyis APNs az Apple saját biztonsági dokumentációja szerint több szolgáltatás – például az iMessage – alapvető kommunikációs infrastruktúrája.

A Find My kutatás esetében azonban nem a harmadik fél alkalmazásfejlesztők számára biztosított hagyományos nyilvános push interfészre volt szükség.

A kutatónak az Apple belső üzenetküldési ökoszisztémájához kapcsolódó privát bináris kapcsolatot kellett reprodukálnia.

Ehhez:

  • aktiválta az eszköztanúsítványt;
  • megszerezte az alap push tokent;
  • majd feliratkozott a megfelelő Find My értesítési témákra.

Az első próbálkozás során csak a korábban regisztrált konkrét Find My alszolgáltatásokra iratkozott fel.

Használható üzenet azonban nem érkezett.

A kutató ezt követően felfedezte, hogy a natív Apple-kliensek egy szélesebb privát IDS topicra is feliratkoznak. Ez szükséges kézbesítési csatornaként működik akkor is, ha a végső üzenet egy konkrétabb Find My szolgáltatáshoz tartozik.

A parent topic hozzáadása után megérkeztek a Find My üzenetek.

Ez jól mutatta a kutatás egyik visszatérő nehézségét: az Apple belső szolgáltatásai gyakran technikailag sikeres választ adtak akkor is, ha valamely dokumentálatlan előfeltétel hiányzott.

A rendszer a már meglévő helymegosztási engedélyt használta újra

A kutatás legfontosabb része egy már létező helymegosztási kapcsolathoz tartozó titkosítási kulcs megszerzése volt.

Az Apple architektúrájának kezelnie kell azt a helyzetet, amikor valaki új iPhone-ra, iPadre vagy Macre jelentkezik be, és azt várja, hogy korábban létrehozott Find My kapcsolatai továbbra is működjenek.

Ennek érdekében egy újonnan felismert eszköz megkaphatja a már meglévő megosztási kapcsolathoz tartozó aktuális kriptográfiai adatokat.

A kutató ezt a folyamatot egy SubscribeAndFetch kéréssel reprodukálta, amelyben:

  • az intent értéke distributeKeys;
  • a mode értéke pedig proactive

volt.

A kérés egy már meglévő és elfogadott kapcsolat azonosítójára hivatkozott, nem hozott létre új helymegosztási meghívást.

A megfelelő kérési folyamat után az Apple infrastruktúrája utasította a helyzetét már megosztó barát online eszközét, hogy továbbítsa aktuális helymegosztási kulcsát az újonnan regisztrált címzett identitásnak.

A kulcs aszinkron módon, az Apple Push Notification service és az IDS segítségével érkezett meg.

A kutatás ugyanakkor egy jól ismert korlátra is rámutat az adatvédelmet biztosító rendszerekben:

a titkosítás megvédheti az adatot a jogosulatlan kívülállóktól, de nem tudja teljes mértékben szabályozni, hogy egy már jogosult címzett mit kezd az információval, miután hozzáfért ahhoz.

Az Apple-felhasználók számára ezért a legfontosabb tanulság nem az, hogy idegenek mostantól Linux segítségével nyomon követhetik az iPhone-jukat.

A valódi tanulság az, hogy a helymegosztási jogosultságokat ugyanolyan komolyan kell kezelni, mint a fiókhitelesítő adatokat vagy más különösen érzékeny személyes információkhoz biztosított hozzáférést.

Amint valaki jogosultságot kap élő helyadatok fogadására, az Apple hivatalos alkalmazásának technikai és felületi korlátai már nem feltétlenül határozzák meg azt, hogy az információ végül milyen módokon használható fel.

Az oldal tartalma nem másolható!