Experiment byl proveden na pěti zařízeních iPhone 17e s operačním systémem iOS 26.5.2. Stejné chování se opakovalo na všech zařízeních. Síťový provoz byl analyzován v kontrolované Wi-Fi síti. Hlavní výsledek výzkumu:
Vypnutí systémové analytiky nezastaví automatický přenos metadat do infrastruktury společnosti Apple. Vypne sice určitou kategorii diagnostických zpráv, ale nezastaví služby Find My, Apple Account, geolokační služby, reklamní komponenty, App Store, MobileAsset a systémové mechanismy check-in.
Co přesně iPhone přenáší
V dešifrovaných požadavcích byly zjištěny:
- adresa Apple Account;
- DSID a alternativní DSID účtu;
- reklamní ADSID;
- sériové číslo;
- UDID zařízení;
- APNs a push tokeny;
- IDS (identifikátor zařízení);
- model telefonu;
- verze a sestavení iOS;
- hardwarová platforma;
- velikost operační paměti;
- název zařízení;
- region účtu;
- jazyk a časové pásmo;
- stav baterie;
- stav nabíjení;
- stav uzamčení obrazovky;
- stav funkce „Najít můj“;
- stav geolokačních služeb;
- BSSID okolních Wi-Fi přístupových bodů;
- souřadnice pro WeatherKit;
- verze nainstalovaných systémových komponent;
- informace o připojených zařízeních Apple.
Nejedná se o jednotnou „analytickou zprávu“. Data jsou rozdělena mezi několik funkčních služeb společnosti Apple. Z technického hlediska však jde o automatickou telemetrii: telefon odesílá vzdáleným serverům informace o sobě, svém stavu a okolí.
Apple přijímá události zapnutí a vypnutí geolokace
Nejvýraznější mechanismus souvisí se službou Find My.
Při každé změně stavu geolokačních služeb iPhone odešle požadavek:
POST p117-fmf.icloud.com/fmipservice/fmf/<DSID>/<UDID>/register
Při vypnutí geolokace obsahoval HTTP-dotaz následující údaje:
{
"cause": "LocationServicesStateChanged",
"registeredCauses": [
"LocationServicesStateChanged"
],
"locationServicesEnabled": false,
...
}Při následném zapnutí:
{
"cause": "LocationServicesStateChanged",
"registeredCauses": [
"LocationServicesStateChanged"
],
"locationServicesEnabled": true
}Oba požadavky byly přijaty serverem Apple s odpovědí: HTTP 204 No Content
Apple tak nezískává pouze aktuální stav geolokace. Server obdrží samostatnou událost, která oznamuje, že uživatel změnil příslušné nastavení.
Samotný příznak true nebo false je pouze malou částí požadavku. Spolu s ním se přenášejí:
- DSID účtu Apple;
- UDID telefonu;
- sériové číslo;
- model zařízení;
- verze a sestavení iOS;
- název telefonu;
- APN token;
- seznam push tokenů;
- IDS (identifikátor zařízení);
- stav baterie;
- stav nabíjení;
- stav uzamčení;
- místní nastavení;
- časové pásmo;
- certifikační hlavičky Apple.
Jedná se o zcela jednoznačně identifikovatelnou událost. Je spojena současně s účtem, konkrétním zařízením a jeho aktuálním stavem.
Co se děje po zapnutí geolokace?
Při vypnuté geolokaci byly požadavky na odeslání BSSID zastaveny. Během dvou a půl hodiny nedošlo k jedinému dotazu na hlavní Wi-Fi lokalizační službu.
Ihned po zapnutí geolokace začal iPhone komunikovat s: http://gs-loc.apple.com/clls/wloc
Systémový proces locationd zasílal společnosti Apple seznamy okolních přístupových bodů.
V jednom z dotazů bylo odesláno 19 BSSID. Apple v odpovědi vrátila 119 Wi-Fi záznamů týkajících se okolní oblasti.
Mechanismus funguje následovně:
- iPhone skenuje dostupné Wi-Fi přístupové body.
- Telefon odešle společnosti Apple jejich BSSID – MAC adresy přístupových bodů.
- Server vrátí geografické údaje o nalezených a sousedních přístupových bodech.
- Telefon vypočítá svou polohu lokálně.
Formálně zařízení neodesílá zprávu „nacházím se na této adrese“. Seznam několika okolních BSSID spolu s časem dotazu však serveru umožňuje s vysokou přesností určit oblast, ve které se telefon nachází.
Samostatně se proces geod se obrací na: http://gspXX-ssl.ls.apple.com/wifi_request
V tomto dotazu se předává jeden BSSID – pravděpodobně identifikátor aktuálního připojovacího bodu nebo hlavního bodu používaného při určování polohy.
Geoslužby pokračují v činnosti i při vypnuté geolokaci
Vypnutí geolokačních služeb zastavilo načítání seznamů okolních BSSID, ale nezastavilo samotný geografický stack iOS.
Procesy geod a locationd pokračovaly v přístupu k:
gspXX-ssl-background.ls.apple.com/dispatcher.arpc
gsp-ssl.ls.apple.com/ab.arpc
configuration.ls.apple.com/config/defaults
gspeX-ssl.ls.apple.com/pep/gcc
gspeXX-ssl.ls.apple.com/ligl/v1/ligl.bin
gspeXX-ssl.ls.apple.com/geo_manifest/dynamic/configV dotazech byly předány:
- model iPhone;
- verze iOS;
- číslo sestavení;
- identifikátor systémového procesu;
- jazyk;
- region;
- typ dotazu v Apple Maps;
- servisní parametry geografické konfigurace.
V odpovědích dispatcher.arpc se vyskytovaly regionální údaje a bloky zpětného geokódování.
Na stejné dotazy vracely různé serverové uzly údaje pro Japonsko nebo region Apple Account. To ukazuje, že geografický subsystém i nadále přijímá serverovou konfiguraci, a to i při vypnutém uživatelském přístupu k geolokaci.
WeatherKit předává souřadnice v URL
Komponenta iOS pro počasí se obracela na:
weatherkit.apple.com/api/v2/weather/<lang>/<lat>/<lon>Souřadnice se nacházely přímo v adrese URL s přesností na tři desetinná místa – přibližně na sto metrů.
Dále byly předávány:
- časové pásmo;
- země;
- jazyky zařízení;
- verze iOS;
- číslo sestavení;
- seznam datových sad o počasí;
- časové rozmezí;
- UUID požadavku;
- Bearer JWT.
JWT se používalo k autorizaci WeatherKitu a neobsahovalo DSID, UDID ani sériové číslo. Samotný HTTPS požadavek však přesto obsahoval souřadnice a IP adresu zdroje.
V jednom ze zachycených požadavků server Apple takový požadavek úspěšně zpracoval a vrátil HTTP 200.
Z toho vyplývá, že přenos souřadnic do WeatherKitu není pouze lokálně vytvořený požadavek, ale také potvrzená komunikace se serverem.
Aplikace Find My přenáší stav telefonu
Funkce Find My se nepoužívá pouze při přepínání geolokace.
Po restartu iPhone odešle stejný typ registrace s důvodem: cause = DeviceRestart
V telefonu se nacházejí:
- sériové číslo;
- UDID;
- název zařízení;
- model;
- verze iOS;
- push tokeny;
- IDS (identifikátor zařízení);
- stav baterie;
- stav nabíjení;
- zda je připojena nabíječka;
- zda je obrazovka uzamčena;
- zda je zapnutá geolokace;
- zda je aktivní funkce „Najít můj“.
Server získá přesný čas restartu a aktuální stav zařízení.
Funkce „Find My“ v tomto případě funguje jako plnohodnotný kanál provozní telemetrie, který je vázán na účet Apple a konkrétní fyzické zařízení.
Přihlášení k účtu Apple
Po restartu systémový proces com.apple.NewDeviceOutreach odešle požadavek:POST sse-ws-p189.apple.com/device/api/v1/checkIn
Obsahuje:
- e-mail Apple Account;
- hlavní DSID;
- alternativní DSID;
- sériové číslo;
- model zařízení;
- název telefonu;
- barva krytu;
- region;
- prodejna;
- jazyk;
- časové pásmo;
- hash záruky;
- seznam místních zařízení Apple;
- informace o propojených hodinkách Apple Watch;
- služební identifikátory Apple Media Services;
- hardwarová certifikace.
Server vrátí výsledek SUCCESS a čas příštího přihlášení.
Jedná se o jeden z dotazů s nejvyšším obsahem osobních údajů. Spojuje účet, fyzické zařízení, záruční údaje a informace o propojených zařízeních.
Reklamní infrastruktura funguje i při vypnuté personalizaci
I při vypnuté personalizované reklamě pokračovaly systémové procesy:
com.apple.ap.promotedcontentd
com.apple.ap.adprivacydObracely se na:
sas.pcms.apple.com
iadsdk.apple.com
ca.iadsdk.apple.com
partiality.itunes.apple.comV požadavcích na reklamní segmentaci se předávaly:
- DSID;
- ADSID;
- storefront;
- lokace;
- časové pásmo;
- potvrzení zařízení;
- serverové soubory cookie;
- služební příznaky reklamního profilu.
Endpoint pro přiřazování získával:
- identifikátor aplikace v App Store;
- ID balíčku;
- atribucní klíč;
- model iPhone;
- verzi iOS;
- sestavení;
- obchod;
- časové razítko;
- podpis Apple.
V těle se nacházela hodnota: attribution = false
To znamená, že nebyla stanovena pozitivní reklamní atribuce. Samotný mechanismus atribuce a reklamní segmentace však nadále fungoval.
Vypnutí personalizované reklamy nevypne reklamní stack. Změní pravidla pro využívání dat, ale nezastaví síťovou výměnu.
App Store stahuje konfiguraci metrik prostřednictvím bag.itunes.apple.com/bag.xml
iPhone získává konfiguraci App Store a mediálních služeb.
V požadavcích telefon předává:
- model;
- třídu zařízení;
- verzi a sestavení iOS;
- storefront;
- jazyk;
- časové pásmo;
- identifikátor systémového procesu.
Odpovědi obsahují adresy:
xp.apple.com/report
daf.xp.apple.com/reportServer rovněž předává:
- témata metrik použití;
- témata výkonnostních metrik;
- intervaly odesílání;
- parametry vzorkování;
- rotující ID klientů;
- pravidla pro omezení událostí a polí.
Spojení s xp.apple.com byla zaznamenána, ale jejich obsah zůstal zašifrovaný. Proto není možné na základě dostupných údajů určit přesný obsah událostí, které tam byly odeslány.
Lze konstatovat pouze toto: konvejér metrik byl nakonfigurován a iPhone navazoval spojení se serverem pro příjem reportů.
Siri a Apple Intelligence nadále přijímají systémové manifesty
I při vypnutých službách Siri a Apple Intelligence telefon nadále komunikoval s: gdmf-ados.apple.com/v2/assets
Byly dotazovány systémové pakety:
com.apple.MobileAsset.UAF.Siri.UnderstandingNLOverrides
com.apple.MobileAsset.UAF.Siri.UnderstandingASRHammer
com.apple.MobileAsset.UAF.IF.PlannerOverridesV dotazech byly předávány:
- model telefonu;
- hardwarová platforma;
- velikost operační paměti;
- verze a sestavení iOS;
- Build ID;
- ID systémového obrazu;
- stav aktualizace;
- stav vrácení změn;
- verze nainstalovaných komponent;
- ID relace;
- Nonce;
- Asset Audience.
Odpovědi obsahovaly podepsané manifesty:
- URL systémového archivu;
- verze komponenty;
- build;
- ID archivu;
- klíč pro dešifrování archivu;
- hash;
- velikost;
- rozsah kompatibilních verzí iOS;
- pravidla ukládání do mezipaměti.
Nepřevádí se zde hlas, text Siri ani uživatelské požadavky. Jedná se o kontrolu aktualizací systémových modelů.
Vypnutí těchto funkcí však neznamená, že by zařízení přestalo být podporováno příslušnými komponenty: iPhone i nadále pravidelně kontroluje jejich verze a předává společnosti Apple podrobnou konfiguraci hardwaru a softwaru.
Restart a letový režim spouštějí kaskádu připojení
Restart je jednou z nejnáročnějších událostí.
Ihned po spuštění se iPhone:
- se zaregistruje ve službě Find My s důvodem
DeviceRestart; - provede přihlášení k účtu Apple;
- zkontroluje dostupnost sítě;
- určí externí IP adresu;
- načte seznamy aplikací z App Store;
- obnovuje připojení k iCloudu;
- kontroluje MobileAsset;
- aktualizuje geografické nastavení.
Během jedné minuty po restartu byly zaznamenány desítky přístupů k:
gateway.icloud.com
bag.itunes.apple.com
setup.icloud.com
gsa.apple.com
itunes.apple.com
fpinit.itunes.apple.comPodobné chování bylo pozorováno při zapnutí a vypnutí režimu v letadle.
Po návratu do sítě iPhone navazoval spojení s: gateway.icloud.com
a spouštěl opakovanou inicializaci systémových služeb Apple.
Obsah výměny s gateway.icloud.com nebylo možné dešifrovat, ale samotný fakt síťové události a její souvislost s přepnutím letového režimu se podařilo reprodukovat v kontrolovaném experimentu.
Zabezpečené služby mizí při prohlížení HTTPS
Část služeb Apple stabilně nefungovala při aktivním prohlížení HTTPS provozu.
Experiment byl opakován:
- na pěti iPhonech 17e;
- po dobu dvou dnů;
- po 5–10 restartováních každého zařízení.
Dokud se HTTPS provoz dešifroval, příslušné služby nenavazovaly funkční připojení.
Ihned po vypnutí dešifrování obnovily svou činnost a staly se viditelnými jako neprůhledná CONNECTspojení.
Toto chování se opakovalo a nejednalo se o náhodnou síťovou poruchu.
Celkový obraz se proto skládal ze dvou typů zachycených dat:
- s dešifrováním – pro analýzu URL, hlaviček a obsahu;
- bez dešifrování – pro zaznamenání zabezpečených služeb, které pod dohledem odmítají fungovat.
Jeden CONNECT se nerovná jednomu HTTP požadavku. Uvnitř jednoho tunelu může probíhat mnoho operací. Proto počet CONNECT nelze přímo srovnávat s počtem dešifrovaných požadavků GET a POST.
Telefon se i nadále připojuje k Apple v režimu nečinnosti
Během dlouhé relace na pozadí ležel iPhone bez jakékoli akce ze strany uživatele.
I přes vypnuté analytické funkce, geolokaci, Siri a synchronizaci se zařízení každých několik minut připojovalo k infrastruktuře společnosti Apple.
Mezi nejčastější intervaly patří:
gspXX-ssl-background.ls.apple.com— přibližně jednou za 30 minut;configuration.ls.apple.com— přibližně jednou za 50 minut;iphone-ld.apple.com— přibližně každých 51 minut;gateway.icloud.com— v sériích;weatherkit.apple.com— přibližně jednou za několik hodin;caldav.icloud.com— přibližně jednou za hodinu.
Za 8,8 hodiny nedošlo k žádnému zcela „spícímu“ intervalu delšímu než 21 minut.
Závěr
Výzkum neodhalil žádné zjevné crash reporty, stack trace ani kompletní diagnostické archivy. Je pravděpodobné, že přepínač „Analytika iPhone“ skutečně vypíná právě tuto kategorii reportů.
Nevypíná však telemetrii iOS jako systém.
I při vypnutých uživatelských nastaveních iPhone 17e nadále předává společnosti Apple:
- identifikátory účtu;
- e-mailovou adresu účtu Apple;
- DSID a ADSID;
- sériové číslo;
- UDID;
- push tokeny;
- IDS (identifikátor zařízení);
- stav baterie;
- stav uzamčení;
- skutečnost restartu;
- skutečnost přepnutí geolokace;
- skutečnost změny stavu sítě;
- BSSID okolních Wi-Fi přístupových bodů;
- souřadnice pro meteorologickou službu;
- údaje o připojených zařízeních;
- podrobný hardwarový a softwarový otisk;
- údaje o reklamní segmentaci a atribuci.
Klíčový závěr:
V systému iOS neexistuje jednotný uživatelský přepínač, který by zastavil automatické odesílání metadat společnosti Apple. Vypnutí analytiky deaktivuje pouze samostatný analytický mechanismus, ale funkční služby nadále sdělují serveru, o jaké zařízení se jedná, ke kterému účtu je přiřazeno, v jakém stavu se nachází a co se děje s jeho systémovými nastaveními.
Všechny popsané údaje se přenášejí v rámci šifrovaných HTTPS spojení. Poskytovatel nebo vlastník běžné Wi-Fi sítě je nevidí. Přijímá je přímo Apple. Nemůžeme však tvrdit, že by mohly být předány gateway.icloud.com a dalším službám využívajícím SSL Pinning, nemůžeme.