Aarhus Universitets segl

Studerende afslører sikkerhedsbrud i populære apps

Millioner af mennesker bruger hver dag forskellige apps til at kommunikere med deres venner, tracke deres løbeture, overføre penge eller tjekke deres coronatestsvar. Mange af disse apps bruger og tracker personoplysninger, og derfor er sikkerheden vigtigere end nogensinde før. Men hvor sikre er de egentlig? Det blev et hold kandidatstuderende på kurset Network Security sat til at undersøge i deres afsluttende projekt. Underviseren på kurset er lektor Diego F. Aranha. De studerende valgte selv, hvilken app de ville undersøge for eventuelle trusler og sårbarheder. De i alt 28 grupper analyserede 21 forskellige apps, hvoraf ni viste sig at have sårbarheder, der gav anledning til en opfølgende sårbarhedsanalyse. De studerende har indtil videre fået kontakt til ca. halvdelen af virksomhederne for at fortælle om resultatet af deres analyser.

I 2015 var Diego Aranha vejleder på et bachelorprojekt i Brasilien, hvor den studerende undersøgte sikkerhedsbrud i otte forskellige bank-apps. Den studerende fandt sårbarheder i syv af de otte apps. Alle bankerne blev kontaktet omkring problemet, men mange af dem var ikke interesserede i, hvad undersøgelsen havde vist, eller hvordan man kunne løse problemet. Det trak overskrifter i de brasilianske medier. Episoden gav lektor Diego Aranha idéen til kandidatkurset Network Security, som han nu underviser i på Aarhus Universitet.

”Som kryptograf ved jeg, at der er sikkerhedsbrud overalt, men det var alligevel bekymrende at se, hvor mange fejl, der var i de her bank-apps, og hvor alvorlige fejlene var,« siger Diego, og fortsætter: »Det gav mig idéen til et projekt, hvor de studerende skal analysere apps, som de kender fra deres egen hverdag, for at finde ud af, hvor udbredt sikkerhedsproblemet egentlig er. Derudover skal de også selv komme med løsninger på de problemer, de har identificeret. Mange mennesker tror, at ’hacking’ kun er negativt, men på det her kursus er vi ’the good guys’, som hacker os ind i apps for at sikre, at brugerens persondata er endnu bedre beskyttet.”

Kurset

50 studerende fra AU Engineering og Institut for Datalogi fulgte i efteråret 2020 kandidatkurset Network Security. På kurset har de studerende lært om forskellige sikkerhedslag og typiske sårbarheder i software samt angreb og foranstaltninger, der skal modvirke angreb. Kurset blev afsluttet med, at de studerende skulle analysere en app efter eget valg. De studerende var meget glade for, at kurset også indeholdt praktisk arbejde.

”Jeg kunne rigtig godt lide, at der var nogle praktiske elementer på kurset, for eksempel at vi fik lov at afprøve nogle angreb for at få en bedre forståelse af, hvordan de fungerer i praksis. Og det afsluttende projekt var også virkelig sjovt. Jeg kunne godt lide at arbejde med en rigtig app og få nogle erfaringer med sikkerhedsanalyse fra den virkelige verden,” siger datalogistuderende Anna Mie Hansen, og fortsætter: ”Jeg har fulgt mange teoretiske kurser i kryptografi, men jeg synes altid, det har været svært at komme til at lære om den praktiske del. Men det her kursus har givet mig et godt udgangspunkt - og nu hvor jeg allerede har prøvet nogle ting af, har jeg fået mod på at lære endnu mere.”

Anders og Christian, som begge læser computerteknologi, er enige: ”Vi kan rigtig godt lide, at der er så mange praktiske øvelser, for det har givet os mulighed for at afprøve noget af al den teori, vi har lært på kurset, i praksis. Det har især været spændende at få et overblik over de mange forskellige angrebsoverflader og sårbarheder, som man skal tage højde for i næsten alle apps.”

Resultaterne

De studerende vælger selv den case, de vil analysere i det afsluttende projekt, men det var et krav, at appen på en eller anden måde skulle håndtere persondata eller følsomme data. Når de studerende selv får lov at vælge, hvilken app, de gerne ville arbejde med, bliver de generelt mere engagerede i projektet, forklarer Diego.

Anna valgte at arbejde med en post-app, mens Anders og Christian analyserede en app, som bruges til styring af lønudbetalinger (navne på virksomheder er udeladt af hensyn til fortrolighedsaftaler). Begge grupper fandt sårbarheder i deres analyser.

Annas post-app gør det muligt for brugere at hente pakker ved hjælp af deres telefons Bluetooth-forbindelse, og appen har adgang til brugerens telefonnummer og GPS-lokation. ”Jeg fandt noget kode, som er i strid med nogle af de mest grundlæggende principper for sikkerhed, hvilket var overraskende for sådan en som mig, der interesserer sig for sikkerhed. Til at begynde med troede jeg næsten ikke, det kunne være rigtigt, at udviklerne ikke havde fjernet koden, men hvis man ikke er sikkerhedsekspert, kan man let overse den slags ting,” siger Anna.

Anders og Christian valgte at analysere en app, som er meget relevant for dem selv, fordi de begge to bruger den til at registrere deres arbejdstimer og modtage lønsedler i forbindelse med deres studiejob. Appen har adgang til mange forskellige følsomme data, som for eksempel brugernavne, adresser, CPR-numre og lønoplysninger.

”Vores analyse viste, at der var en sikkerhedsbrist, som betød, at vi kunne nulstille adgangskoden for en hvilken som helst bruger i systemet og få adgang til eller ændre brugerens personlige oplysninger. Det vil sige, at en ondsindet angriber vil kunne ændre en hvilken som helst brugers bankoplysninger og få indbetalt brugerens løn på en anden konto,” forklarer Anders og Christian, og fortsætter: ”Vi fandt også en måde at få adgang til API-nøglen til Google Maps, og en ondsindet bruger ville kunne udnytte den adgang til at bruge penge på Google Maps på virksomhedens vegne. Begge resultater kom som en overraskelse for os, fordi appen har mange brugere og håndterer flere forskellige typer af persondata.”

Konklusionerne

De 28 grupper analyserede 21 forskellige apps fra Danmark, Tyskland og Slovakiet samt internationale brands. I ni af de analyserede apps fandt de studerende sårbarheder, der gav anledning til at foretage en opfølgende sårbarhedsanalyse i samarbejde med virksomheden. Nogle af de identificerede fejl handlede om usikre internetforbindelser, som gør det muligt for hackere at opfange følsomme oplysninger, hard-codede hemmeligheder, svag autentifikation og brud på brugerens privatliv.

Grupperne henvendte sig til virksomhederne for at præsentere dem for deres resultater og mulige løsninger på de afdækkede problemstillinger. Virksomhederne reagerede meget forskelligt. ”De studerende oplevede virkelig reaktioner i begge ender af skalaen, når de kontaktede virksomhederne. Nogle af dem var meget åbne og interesserede i de studerendes resultater, mens andre ignorerede dem eller nægtede at indrømme, at der kunne være et sikkerhedsbrud i deres app,” fortæller Diego Aranha.

Anna havde held med at få kontakt til den virksomhed, der stod bag den app, hun undersøgte. ”Jeg fremlagde nogle af mine resultater for virksomheden. De sagde ’tak for det’, men så hørte jeg ikke mere, og indtil videre har de ikke opdateret deres app. Så jeg går ud fra, at appen stadig har den samme sårbarhed. Anders og Christian havde mere held med deres henvendelse: “Vi kontaktede virksomheden, og de vendte meget hurtigt tilbage og bad om et møde med os. De reagerede enormt positivt på vores henvendelse. Faktisk endte de med at ansætte os på en konsulentkontrakt, så vi kunne køre endnu en ’penetration test’ på deres app, efter at de havde forsøgt at rette sikkerhedsfejlen. Vi er stadig i dialog med dem omkring resultatet af den sidste test, men vi regner med, at de får rettet op på problemet med sårbarhederne,” siger Anders og Christian.

”Jeg blev positivt overrasket over, hvor mange kræfter de studerende lagde i deres afsluttende projekt. Mange af dem gik meget længere, end de havde behøvet for at få en god karakter. Det var ikke nogen nem opgave, men jeg håber, at denne tekniske udfordring gav de studerende noget spændende at bruge deres tid på her under pandemien,” siger Diego Aranha. ”Det er min fornemmelse, at mange af de studerende fik et ret unikt perspektiv på sikkerheden i digitale løsninger, og at de som fremtidens eksperter og forskere inden for deres respektive fagområder vil bidrage med dette perspektiv til gavn for samfundet,” slutter han.


Kursusinformation

Fra efteråret 2021 udbyder Institut for Datalogi et lignende kursus under navnet Systems Security. Også her er underviseren Diego Aranha. Yderligere information kan findes i kursuskataloget https://kursuskatalog.au.dk/da/course/108987/Systems-Security eller ved at kontakte lektor Diego F. Aranha dfaranha@cs.au.dk.

Kurset udforsker forskellige måder at angribe og forsvare IT-systemer af forskellig slags, herunder kryptografiske byggeklodser og softwaresikkerhed, samt anvendelsen af disse til beskyttelse af netværkssystemer.