PROSJEKT
Del artikkel
Skrevet av: Edmond Peci (Development Engineer)
PROSJEKT
Del artikkel
Skrevet av: Edmond Peci (Development Engineer)
Teknologiske fremskritt har redusert størrelsen på mange ting vi omgir oss med, fra smartklokker, in-ear hodetelefoner og bærbare høyttalere til mobiltelefoner og laptoper. Samtidig har nye funksjoner fått plass i stadig mindre integrerte kretser. Hvem vil vel ikke ha de nyeste og beste hodetelefonene med støykansellering som får en flytur til å føles som om man sitter i sin egen stue? I en verden der flere og flere er på farten gjør mindre gjenstander turen mer praktisk. Men, man kommer ikke foruten at mindre ting er enklere å miste. Når man først er i gang med å fylle enhetene med teknologiske funksjoner, hvorfor ikke gjøre det enklere å spore de også?
Sporingstjenester for å lokalisere ting har lenge eksistert. Apple sin “Hvor er?”-tjeneste er en av de mest kjente lokaliseringstjenestene. Før iOS 13, tilbød Apple lokaliseringstjenester over to apper. For å spore sin egen iPhone benyttet man “Finn min iPhone”-appen, mens øvrig Apple utstyr som iPod, iPad og Apple Watch ble lokalisert ved hjelp av “Finn mine venner”-appen. iOS 13 kombinerte disse to appene til én enkelt app, “Hvor er?”-appen, og gjorde det mer beleilig for kundene å spore sine Apple-enheter. I 2021 annonserte Apple enda en stor endring i sitt «Hvor er?»-sporingsnettverk, da de åpnet opp for at tredjepartsprodukter også kan delta i nettverket og bli lokalisert av de mange iPhone-enhetene vi daglig omgår oss med. Kundene kan med det følge alle enhetene sine i en enkelt app, uavhengig om det er et Apple-produkt eller ei, så lenge enhetene støtter Apple sin «Hvor er?»-nettverksprotokoll.
Mange av produktene som nå kan spores som en del av Apple sitt økosystem har verken GPS antenne eller nettverksmodul. Kjernen til lokaliseringstjenestene er basert på Bluetooth. Denne artikkelen vil dykke dypere i hvordan iOS enheter blir brukt til å spore tredjepartsprodukter. En sentral bekymring som dukker opp er hvorvidt teknologien kan bli misbrukt, slik at enhetene du selv vil spore bidrar til å spore deg selv.
Bluetooth Low Energy (BLE) er en av de mest utbredte lavenergi kommunikasjonsprotokollene som benyttes i tingenes internett. Nå er det langt fra bare mobiltelefonen som støtter BLE – flere og flere andre enheter som smartklokker, bilnøkler, etc. støtter også protokollen. De aller fleste kjenner godt til (klassisk) Bluetooth. BLE må ikke forveksles med klassisk Bluetooth, da BLE er en uavhengig standard, og ikke kompatibel med klassisk Bluetooth. Sistnevnte krever kontinuerlig tilkobling, som for eksempel trådløse hodetelefoner.
BLE er en lavenergi, trådløs kommunikasjonsprotokoll som opererer i 2.4GHz ISM-båndet. Bluetooth Low Energy ble utviklet mye på grunn av fremveksten av tingenes internett, hvilket har påvirket designet av protokollen, der batteriforbruk er viktigere enn kontinuerlig dataoverføring. En BLE-enhet vil kunne gå i dvalemodus («sleep») når den ikke blir brukt for å forlenge batterilevetiden og den forblir i dvale inntil en operasjon igangsettes, være seg en tilkoblingsforespørsel, bruker-aksjon eller BLE kringkasting («advertising»). Standarden er derfor benyttet mye i enheter som ikke krever å overføre store mengder data til enhver tid.
Apple sitt «Hvor er?»-nettverk er bygd opp av et sofistikert samspill av flere komponenter som Apple servere, avanserte kryptografialgoritmer og Bluetooth Low Energy for å neven noen. Nettverksprotokollen skal tilsynelatende la deg spore dine enheter, og samtidig unngå at noen prøver å spore deg, selv Apple.
«Hvor er?»-nettverket er et enormt sporingsnettverk med to hovedenheter, 1) iOS enheter (kall disse for S-enheter) som fungerer som sporere, og 2) andre enheter, være seg Apple-produkter, som Apple Watch, eller tredjepartsprodukter (kall disse for F-enheter). Kjernen til sporingen er kommunikasjonen mellom S-enheter og F-enheter. Ettersom det er relativt lite data som blir overført mellom enhetene, så er BLE en godt egnet standard til dette formålet, og realiserer kommunikasjonen mellom deltagerne i Apple sitt nettverk. Vi skal nå se overordnet hva pakkene faktisk består av, og hvordan dette kan brukes til å spore enheter ved hjelp av «Hvor er?»-nettverksprotokollen.
En F-enhet og en iOS eier-enhet (S-enhet) genererer et kryptografisk nøkkelpar etter å ha paret for første gang i «Hvor er?»-appen. Eier-enheten som har satt opp enheten i «Hvor er?»-appen har tilgang til både den private og offentlige nøkkelen, mens F-enheten du ønsker å spore har bare tilgang til den offentlige nøkkelen. Disse nøklene danner grunnlaget for pakkene som sendes ut fra F-enheten ved hjelp av BLE.
En F-enhet vil kringkaste en roterende nøkkel som endres ved ulike intervall, basert på den offentlige nøkkelen som ble opprettet ved paring i «Hvor er?»-appen. Den nye nøkkelen vil ikke korrelere med tidligere nøkler, men vil fortsatt kunne kryptere data slik at kun dine eier-enheter kan dekryptere dataen. Denne avanserte nøkkelrotasjonsalgoritmen skal gjøre det vanskelig for utilsiktet sporing av dine bevegelser ved hjelp av BLE-pakkene F-enheter sender ut. Fremmede S-enheter som er i nærheten av F-enheter vil fange opp disse kringkastingspakkene, og benytte sin egen posisjon til å si noe om posisjonen til F-enhetene.
Figur 1: Apple «Hvor er?»-nettverkskommunikasjon
For et praktisk eksempel, la oss støtte oss på Figur 1. Anta at en Apple smart-klokke blir stjålet. Smartklokken vil ved regelmessige intervaller kringkaste «finn meg»-pakkene over BLE. Dersom det er iOS enheter i nærheten som støtter Apple sitt «Finn meg?»-nettverk, så vil disse nærliggende fremmede iPhone telefonene (S-enhetene i Figur 1), uten at eierne av iPhonene gjør noe som helst, detektere pakkene, fastsette sin egen posisjon og kryptere posisjonsdataen med nøkkelen den fanget opp fra smartklokken.
Den fremmede personen sin iPhone vil så overføre to ting til Apple sine servere: den krypterte lokasjonen, og et avtrykk («hash») av smartklokkens offentlige nøkkel, slik at Apple serveren kan identifisere enheten som skal spores. Apple serverene har ikke tilgang til den private nøkkelen, og kan derfor ikke dekryptere posisjonen. Ettersom nøklene roterer, så vil ikke den fremmede S-enheten (iPhonen) kunne koble smartklokken til BLE dataen og spore enheten selv uten videre.
Apple serverne vil som siste steg returnere den krypterte lokasjonen til eierens telefon (se venstre telefon i Figur 1), hvilket eieren nå kan dekryptere med den private nøkkelen som ble generert under paring med eierens F-enhet. Eieren kan nå i «Hvor er?»-appen se oppdatert lokasjon, uten å ha gjort noe annet enn å gå inn i appen.
Apple har lenge holdt kortene tett til brystet hva implementasjon angår. De har likevel gått ut med enkelte overordnede, ikke-komplette nettverksprotokoll-detaljer for å berolige om at sporingstjenesten er robust i møte med potensiell misbruk. Det gjenstår likevel en rekke spørsmål, da det er mye under panseret som fortsatt holdes hemmelig av forretningsårsaker.
En F-enhet vil være vanskelig å bruke som en sporeenhet, da nærliggende S-enheter vil etter en viss tid få varsel på sin telefon at en F-enhet over lenger tid har fulgt telefonen. Lyd vil spilles dersom F-enheten er i bevegelse og i nærheten (for eksempel i din ryggsekk), slik at en kan identifisere enheten og rapportere den til Apple og/eller lokale myndigheter. Et problem som helt nylig ble adressert har vært sporing av folk med telefoner som har andre operativsystem, for eksempel Android. Disse støtter ikke “Hvor er?”-nettverksprotokollen, og vil derfor ikke detektere en forfølgende F-enhet. Apple lanserte derfor en egen antistalking-app til Android i desember 2021.
Sporing basert på Bluetooth pakkene som blir kringkastet er vanskelig på grunn av den sofistikerte kryptering- og rotasjonsalgoritmen som F-enhetene utfører som en del av “Hvor er?”-nettverksprotokollen. Men, designet har sine svakheter. Sikkerhetsforskere har pekt på at sporingen heller kan skje ved korrelasjon. Hvis F-enheters lokasjon blir sendt inn til Apple servere av de samme S-enhetene, så kan en potensielt konstruere et sosiogram som sier noe om lokasjonen til enheten over tid. En svakhet ved macOS Catalina (CVE-2020-9986), som er relatert til dette ble i november 2020 adressert av Apple i en oppdatering. Svakheten tillot en angriper å aksessere krypteringsnøkler, og bruke disse til å dekryptere lokasjonsdata sendt inn av “Hvor er?”-nettverket. Den krypterte lokasjonsdataen ble tilgjengelig for angriperne ved å lure ofre til å installere en ondsinnet applikasjon som blant annet forespurte Apple sine servere om kryptert lokasjonsdata.
Apple sin sporingstjeneste omfatter allerede flere millioner iPhoner. I tillegg er det mulig å spore flere millioner andre enheter vha. Apple AirTag, men også nå nylig tredjepartsprodukter (smartklokker, ladeetui, vesker, sykler m.m.). Teknologien har lenge eksistert, men det er først nå at Apple har liberalisert og åpnet for at tredjepartsprodukter kan integrere seg i Apples “Hvor er?”-nettverk. Nettverksprotokollen implementerer avanserte krypteringsalgoritmer for å forsøke å forhindre misbruk, men den relativt svarte boksen som nettverksprotokollen representerer gjør det vanskelig for offentligheten å analysere og finne potensielle sikkerhetshull. Til tross for dette, har sikkerhetsforskere pekt på alvorlige sikkerhetshull som har berørt “Hvor er?”-nettverket. Lokasjonstjenesten er likevel et viktig bidrag til det å spore mindre enheter som lett kan bli borte, uten å kreve ytterlig maskinvare som GPS og mobildata, og tilhørende programvare. Teknologien har vært utprøvd i flere år, og er i stadig utvikling av Apple. Avslutningsvis kan det nevnes at f.eks. Google også tilbyr lignende lokasjonstjenester (“Finn enheten min”), men foreløpig i mindre skala.
R&D Manager