ITU-forsker: Østdansk mobilpendlerkort-app kan forfalskes

En forsker på ITU har identificeret flere sikkerhedsmæssige svagheder ved Mobilpenderkort og billetkontrollen.

Artiklen er opdateret med et svar fra Metro Service

Der er tilsyneladende plads til forbedring af den sikkerhed, der er forbundet med app'en DOT Mobilpendlerkort, som kan anvendes på Sjælland, Lolland, Falster og Møn. Det har postdoc på IT-Universitetet i København Rosario Giustolisi fundet frem til.

Mobilpendlerkort er en digital udgave af et periodekort, der kan bruges som billet i den offentlige transport i førnævnte områder. I forbindelse med sin forskning har Rosario Giustolisi blandt andet observeret, hvordan billetkontrollen foregår i henholdsvis bus, tog og Metro.

Det primære skærmbillede i Mobilpendlerkort, som visuelt kan inspiceres af billetkontrolløren. I skærmbilledets nederste høje hjørne fremgår blandt andet navn og fødselsdag for kortholderen. I det nederste venstre hjørne er der en animation, der skal gøre det sværere at forfalske skærmbilledet. Illustration: Jakob Møllerhøj, Screenshot fra app

Og så har han kigget på de tekniske bestanddele i app'en.

Hvad app'en angår, så har den to skærmbilleder, der spiller en rolle i forbindelse med billet-kontrol. Det første skærmbillede kan visuelt kontrolleres af et menneske. Her fremgår blandt andet navnet på pendler-kortholderen, købstidspunkt, billettype, gyldige zoner og billetnummeret.

Det andet skærmbillede er en 2D-stregkode, som ligner den type, der kendes fra boardingkort og koncertbilletter. Stregkoden indeholder mange af de samme informationer, som den visuelle del. Dog indeholder 2D-koden ikke oplysninger, der direkte kan kobles til kortholderens.

Det sekundære skærmbillede i Mobilpendlerkort. 2D-koden indeholder informationer, der kan bruges til at validere gyldigheden af pendlerkortet. Koden indeholder dog ikke et personnavn, har ITU-forsker fundet frem til. Illustration: Jakob Møllerhøj, Screenshot fra app

Første svaghed

De manglende personoplysninger i 2D-koden er den ene af i alt tre svagheder i systemet, som Rosario har identificeret, og som han har beskrevet nærmere i en rapport her.

»Dette betyder, at autenticiteten af personoplysningerne fra det primære skærmbillede udelukkende hviler på, at denne skærm ikke kan forfalskes,« skriver Rosario i rapporten.

Den primære skærm er dog nem at forfalske, har ITU-forskeren fundet frem til. Også selvom den indeholder en animation, så det ikke er nok bare at tage et simpelt screenshot af skærmen. I rapporten beskriver Rosario i detaljer, hvordan han dels identificerer den font, der anvendes i app'en, og hvordan han laver et screen-capture, så animationen, der skal vanskeliggøre forfalskning, kommer med i den forfalskede udgave.

Resultatet et falsk primært-skærmbillede med personoplysninger på én person, mens de digitalt signerede oplysninger om billetten i 2D-koden er for et pendlerkort tilhørende en anden person.

Sådan en form for svindel er, som de andre svagheder, Rosario har fundet frem til, selvfølgeligt bundulovlig at udnytte i praksis. Desuden vil svindlen, som Rosario påpeger i rapporten, muligvis også kunne opdages i forbindelse med efterfølgende backend-analyse af data. Eksempelvis hvis det samme pendlerkort har været i brug på samme tid to forskellige steder.

Et andet problem

En anden potentiel sårbarhed i forhold til DOT Mobilpendlerkort er den måde, hvorved app-oplysningerne kontrolleres. Ifølge Rosarios observationer fra foråret, så bruger personalet i bus og metro ikke en scanner, der kan læse stregkoder, hvorfor valideringen af pendlerkortet alene beror på den visuelle del. Altså den del, som det ifølge Rosario er let at forfalske.

Overfor Version2 understreger ITU-forskeren dog, at situationen kan have ændret sig, siden han undersøgte problemet tilbage i april.

I et aktuelt svar oplyser DSB til Version2, at buschaufførerne ikke har mulighed for at scanne billetter, og at denne del af kontrollen derfor udelukkende er visuel. Men ifølge svaret fra DSB's pressekontakt, så har både Movia og DSB kontrolpersonale ansat, som godt kan scanne 2D-stregkoderne.

I et skriftligt svar oplyser Jan Bräuner, Operation Relations Manager i Metro Service:

»Det er korrekt, at der kan være en mindre brist i det eksisterende udstyr for håndtering af f.eks. mobilpendlerkort. Vi arbejder derfor i øjeblikket sammen med DSB på en løsning, som kan fjerne denne potentielle sikkerhedsbrist. Vi har dog også andre metoder i dag til at tjekke, om der er tale om snyd.«

Problem nummer tre

Den sidste sikkerhedsmæssige sårbarhed, Rosario har fundet frem til, handler om muligheden for at købe tillægsbilletter til pendlerkortet. Køber brugeren en tillægsbillet i app'en fremgår det ifølge ITU-forskerens research nemlig alene af det primære skærmbillede, som kan læses med menneskeøjne.

Konkret dukker der en billet op med et antal zoner, som bliver lagt henover en del af det digitale periodekort. De bagvedliggende oplysninger i 2D-koden forbliver uændrede.

Ifølge Rosario betyder det, at det i princippet er muligt at anvende den originale app med et pendlerkort, der eksempelvis gælder i to zoner, og så lægge en forfalsket tillægsbillet-grafik henover den visuelt kontrollerbare del af app'en. Forfalskningen vil ikke umiddelbart kunne opdages ved at scanne 2D-koden, da i udgangspunktet ikke indeholder oplysninger om tillægsbilletten.

Det er forholdsvist let at placere en 'floating'-grafik med tillægsbillet på eksempelvis otte zoner det rigtige sted i app'en, mener Rosario.

»Jeg har aldrig kodet i Android før. Det tog mig halvanden time at gøre alt dette på Android. Måske time at lære lidt om Android, og en halv time til kodning,« siger han til Version2.

Kontakt med DSB

Rosario Giustolisi har i forbindelse med sin forskning været i kontakt med DSB - som udgiver app'en - i forhold til de problemer, han har identificeret. Forskeren kommer i sin rapport også med flere løsningsforslag til, hvordan sikkerheden kan forbedres. Blandt andet foreslår han at lægge personoplysninger ind under 2D-koden også, ligesom han foreslår at gøre 2D-koden til det primære skærmbillede, som i udgangspunktet skal scannes af kontrollørerne.

Version2 har spurgt DSB, om der er ændret noget i app'en i lyset af ITU-forskerens arbejde.

»Vi mener, at forholdende omkring billetkontrol, som beskrives i rapporten, er som de skal være. Personalet kan afsløre, om der er lavet forsøg på dokumentfalsk med billettens layout og synlige informationer, når de scanner billetten. Svindlen svarer grundlæggende til at kopiere en fysisk billet. Denne rapport har ikke givet os anledning til at lave specifikke tekniske opdateringer – men vi har instrueret personalet i at være særligt opmærksomme problemstillingen,« oplyser Aske Wieth-Knudsen, underdirektør i DSB Produkt i et skriftligt svar sendt via DSB's presseafdeling.

Selv er Rosario bekymret over, at nogen bliver fristet til at snyde systemet.

»Jeg er mest bekymret over unge mennesker, som ser en tilsyneladende nem-at-hacke-app og riskerer fængsel på grund af dette,« siger Rosario Giustolisi

Tips og korrekturforslag til denne historie sendes til tip@version2.dk
Følg forløbet
Kommentarer (5)
sortSortér kommentarer
  • Ældste først
  • Nyeste først
  • Bedste først
Claus Nielsen

Så længe systemet ikke er bygget op så brugerne risikerer at komme til at hænge på en anden persons regning fordi 2D koden på deres kort er blevet klonet er det på et eller andet niveau et spørgsmål om, hvor stort et problem forfalskede pendlerkort er for transportselskaberne.

Hvis falskneri er en sjælden ting, så kan det ikke betale sig at indføre mere komplekse (og dyre) systemer for at fange den ene svindler ud af tusinde der kører gratis indtil en mere grundig stikprøvekontrol fanger ham.

  • 4
  • 1
Claus Bobjerg Juul

Det har været kendt i lang tid, at Rosario så har gjort det systematisk og kan kalde det forskning og undgå at blive straffet for det er jo bare dejligt.

Der er faktisk ikke nogen forskel mellem ham og Esben Warming Pedersen, de har bare brugt forskellige fremgangsmåder.
https://www.version2.dk/artikel/interview-hacker-tiltalt-jeg-totalt-usky...

  • 0
  • 2
Simon Mikkelsen

MidtTrafik har længe haft en lignende app, hvor der ikke engang er en stregkode. Der er en animation, men igen kunne man bare lave en app der viser hvad man vil have.

Som Claus Nielsen skriver, er der ingen grund til at løse et problem der ikke er der. Og for den sags skyld behøves man ikke gøre et større nummer ud ad det end nødvendigt.

Straffen er vel dokumentfalsk, hvis man bliver afsløret, så det er ret alvorligt.

En nem måde at afsløre en falsk app på kan fx være, at serveren ved billetkøb sender "dagens farve" der vises på biletten. I starten kan farven være den samme som baggrunden, men på udvalgte dage kan den skifte - på disse dage kan man sætte ekstra kontrollører ind - og så skal man nok få knaldet en del folk. Meget nemmere end at alle skal rende rundt med scannere.

Vi skal huske, at hvor mange laver applikationer der peger ud på Internettet, og dermed alle Verdens kriminelle, bliver en buskort-app kun brugt i Danmark og kun i et begrænset område. Her er truslen helt anderledes.

  • 5
  • 0
Claus Bobjerg Juul

Som Claus Nielsen skriver, er der ingen grund til at løse et problem der ikke er der

Enig, men hvor let er det lige at fabrikere en app der til forveksling ligner den officielle. Kort sagt disse apps er sårbare over for replay attacks.

Løsningen er ikke let, da det ikke er muligt at påvirke skærmen med en challenge-response. et par mulighed kunne være at app'en benytter forside kamera eller bluetooth til challenge-response, hvilket igen vil sænke kontrolhastigheden.

  • 1
  • 0
Henrik Hansen

IPA og APK filer er ZIP filer. De kan let reverse engineeres, de-compiles, kopieres, manipuleres og (gen)installeres på telefonen.
Enten som udvikler eller på en rooted telefon.

En challenge/response kræver et certifikat eller pre-shared symmetrisk nøgle som ofte ligger bundled i IPA/APK filen. Kun hvis disse distribueres af en anden kanal og gemmes i et sikkert lager for hver bruger kan dette gøres sikkert. Sikkerhed er kun så stærk som det svageste led i kæden.
Oftest er det svageste led i kæden den ansatte der skal checke sikkerheden.

  • 1
  • 0
Log ind eller Opret konto for at kommentere