Sikkerhedsforsker blev ramt af pacemaker-fejlkonfiguration på vej op ad trapperne

En norsk sikkerhedsforsker besluttede sig for at finde ud af, hvad der faktisk foregår i hendes bug-ramte pacemaker.

Den norske sikkerhedsforsker Marie Moe har på egen krop oplevet, hvad det vil sige, når der sker fejl i den software, der styrer en pacemaker.

Det fortalte hun om under et indlæg med titlen 'Hacking my own heart' på Copenhagen Cybercrime Conference, som for nylig blev afholdt i Industriens Hus i dag i København. Bag arrangementet står CSIS, Finans Danmark og DI.

For fem år siden faldt Marie Moe om. Hun viste sig at have en hjertefejl, og hun fik indopereret en pacemaker.

På det tidspunkt arbejdede hun ved NorCERT, Norges nationale CERT. Altså en it-sikkerhedsmyndighed. Marie Moe arbejdede ikke bare professionelt med it-sikkerhed. Hun var også - og måske naturligt nok - interesseret i sikkerheden i den enhed, hun havde fået indopereret.

»Hvordan kan jeg stole på mit hjerte, når det kører proprietær kode,« spurgte hun retorisk ud i salen af it-sikkerhedsinteresserede tilhørere.

Da hun fik pacemakeren havde hun mange spørgsmål til lægerne, blandt andet om sikkerheden i den hardware og den software, der nu sørgede for, at hendes hjerte slog.

Men der var ikke rigtigt svar at hente.

»Så jeg besluttede mig for selv at opsøge information,« fortalte Marie Moe.

I den forbindelse googlede hun sig blandt andet til en teknisk manual til hjertehardwaren.

Her fandt hun ud af, at pacemakeren faktisk havde to trådløse kommunikationsmuligheder.

Det ene via Near Field Communication (NFC). Det er som navnet antyder en trådløs teknologi, der til kommunikation over helt korte afstande. NFC-interfacet i Moes pacemaker skal sikre, at en programmerings-enhed kan kommunikere med apparatet.

NFC-delen var Moe klar over.

Men det andet interface til trådløs kommunikation var ny information fra google-manualen. Det kan kommunikere over flere meter og er tænkt til at sende telemetriske oplysninger, via en boks i hjemmet videre til en server på internettet. Det vil sige oplysninger om pacemakeren og hendes hjerte.

»Patienten får ikke adgang til nogle af disse informationer,« fortalte hun.

Moe påpegede i den forbindelse, at patienten som sådan ikke var tænkt som brugeren i forhold til informationerne. Det er derimod sundhedssektoren og medicinalindustrien.

Funktionen med indsamling og videreformidling af telemetri var dog ikke slået til i Moes pacemaker, kunne hun fortælle.

Marie Moe pointerede i den forbindelse, at teknologien i medicinsk udstyr, som blandt andet pacemakere, kan have mange år på bagen, blandt andet som følge af certificeringsprocessen.

»Det betyder, at teknologien, der tilføjer internetopkobling til disse enheder, kom til for måske 15 år siden. Og ville du stole på den form for teknologi inden i din krop?,« spurgte Moe.

NFC-interfacet

I forhold til NFC-programmeringsinterfacet så kan der kommunikeres med det - eksempelvis i diagnosticeringsøjemed - ved at holde den rette enhed helt tæt til der, hvor pacemakeren sidder. Som Moe påpegede i den forbindelse, så er den trådløse kommunikation i forhold til pacemaker-diagnosticeringen praktisk nok, da alternativet ville være, at hun skulle skæres op, hvis apparatet skulle undersøges.

Men det er også en mærkværdig oplevelse at være til lægen og blive undersøgt via NFC-diagnosticeringen, fortalte hun.

»Bare ved at røre ved en skærm, kan de få hjertet til at gå hurtigere, hjertet til at gå langsommere, eller få mit hjerte til at holde op med at slå,« sagde hun.

En bug

I forhold til den enhed, der kan diagnosticere og programmere pacemakeren via NFC, så viste den sig at have en bug.

Den dukkede op i forbindelse med en tur op af nogle trapper.

»Så jeg nåede halvejs op ad trapperne, og pludseligt følte jeg mig som en 80-årig,« fortalte den norske sikkerhedsforsker.

»Jeg havde ingen idé om, hvad der foregik, jeg vidste bare, det måtte have noget med pacemakeren at gøre.«

Samme oplevelse havde Moe, da hun skulle løbe efter bussen. Pludseligt havde hun ikke flere kræfter.

Efter at have været til flere pacemaker-undersøgelser over en periode på tre måneder, så blev det endeligt klart, at der var tale om en fejl i interfacet til pacemaker-programmeringen.

Det viste sig, at standardkonfigurationen på selve pacemakeren var sat til en øvre puls på 160 slag i minuttet.

»Så når jeg nåede 160 slag i minuttet, så blev pulsen omgående sat ned til 80 slag i minuttet.«

Fejlen bestod i, at brugergrænsefladen til den NFC-programmeringsenheden, der kunne kommunikere med Moes pacemaker, viste et andet maks-puls-niveau end det niveau, der faktisk var programmeret ind i pacemakeren.

Det lykkedes at lokalisere fejlen ved at monitorere Moe, mens hendes puls steg. På den måde var det muligt at se, at pacemakeren satte pulsen ned allerede ved 160 slag i minuttet.

Episoden var en medvirkende faktor til, at Moe begyndte at forske aktivt i, om der var flere bugs og problemer med hendes hardware.

I forbindelse med forskningsprojektet - der er ongoing - har hun blandt andet skaffet pacemaker-programmeringsudstyr via eBay.

Selve pacemakerne har været vanskeligere at skaffe, men Moe har modtaget nogle stykker via doneringer.

En anden bug

Marie Moe er blevet personligt ramt af mere end en bug-relateret episode i pacemakeren.

I forbindelse med sin præsentation på CCC, viste hun et billede af sig selv i en hospitalsseng fra september 2016.

»Jeg skulle debugges. Jeg blev indlagt på et hospital i Holland,« sagde Marie Moe.

Hun var på vej med fly til en konference i Amsterdam, da det gik galt.

Normalt mærker Marie Moe ikke noget til pacemakeren, men pludseligt kunne hun se sine brystmuskler bevæge sig.

»Det blev sandsynligvis forårsaget af kosmisk stråling, som forårsagede bit-flips i enhedens hukommelse, så enheden ikke kunne tilgå dens hukommelse, som det er meningen, den skal.«

Der var ikke nogen pacemaker-teknikker til stede på hospitalet i Holland, så Marie Moe måtte vente til næste dag med at blive tilset.

Da teknikeren kom, havde han medbragt adskillige enheder til kommunikation med pacemakeren. De forskellige leverandører anvender nemlig forskellige proprietære kommunikationsformer, fortalte Moe.

Fabriksindstillinger

Pacemakerne endte med at blive nulstillet til fabriks-indstillinger. Og Marie Moe fik samtidig overtalt leverandøren til at udlevere en data-dump, der lå på enheden, med crash-oplysninger.

»Denne begivenhed gav mig faktisk adgang til et memory-dump af mit hjerte,« sagde Marie Moe.

Hun henviste til, at det normalt ikke er sådan lige til at få adgang til software i medicinske enheder.

I forbindelse med episoden fik Marie Moe også opklaret, hvordan softwaren på pacemakeren bliver opdateret.

Det er sker ved at en usb-nøgle fra leverandøren bliver sat ind i programmeringsenheden, som så uploader den nye kode til pacemakeren.

I lyset af de mulige sikkerhedshuller, Marie Moe kunne være stødt på i forbindelse med sit forskningsprojekt, var hun interesseret i forhold til, hvordan software-opdatering af sådan en enhed ville foregå.

Udskrift af konfigurationsindstillinger

Da pacemakeren ved det hollandske hospitalsbesøg blev gendannet til fabriksindstillinger, så gik den konfiguration, der var tilpasset Marie Moe også fløjten.

Heldigvis havde hun ved tidligere lejligheder insisteret på en fysisk udskrift af sin pacemaker-konfiguration. Den fik hun nogen i Norge til at indscanne og sende til Holland, så pacemakeren kunne blive korrekt sat op.

Halvmarathon

Marie Moe sluttede med en slide, der viser hende løbe et halvmarathon for illustrere, at pacemakeren i dag fungerer efter hensigten.

Efter præsentationen var der et spørgsmål fra salen, der gik på, hvorvidt hun mente, at pacemakere skulle køre open source.

»Det behøver ikke nødvendigvis være open source, men der bør være tredjeparter, der tester og gennemgår koden. Jeg mener det vigtigste er, at vi får standardiseret protokoller,« sagde hun og henviste til hospitalsopholdet i Holland, og det ikke var åbenlyst, hvilken programmerings-enhed, der kunne kommunikere med hendes pacemaker-model.

Derudover pegede Marie Moe på, at det også ville være ønskværdigt med fælles software-repositories, som bliver brugt på tværs af enheder som pacemakere. Så når der eksempelvis er en fejl eller ligefrem et sikkerhedshul i et tredjeparts-bibliotek, som bliver brugt på tværs af enheder, så er det nemmere at identificere enheder, der skal patches.