Forældre fandt banale sikkerhedshuller i udbredt it-system til børnehaver

Opdateret: En forælder er blevet politianmeldt af it-leverandør til det offentlige for at have afsløret sårbarheder i børnehavers it-system på kontroversiel manér med simpelt Javascript-hack.

Et par it-kyndige forældre til børnehavebørn opdagede i sidste halvdel af 2014 en række banale sikkerhedshuller i det udbredte it-system til børnehaver Infoba.

Sikkerhedshullerne bestod blandt andet i, at man kunne få adgang til personlige oplysninger på nogle børnene, der var registreret i systemet over hele landet, når man blot var logget ind i systemet som en forælder. Der var dog ikke tale om følsomme personoplysninger ifølge Infoba.

Den ene af forældrene er siden blevet politianmeldt af Infoba for at have hacket systemet. Selv oplyser han, at han kontaktede it-leverandøren om nogle sikkerhedshuller, men aldrig fik svar, før han testede forskellige sårbarheder. It-leverandøren påpeger, at den er 'nødt til at tage hacking alvorligt'.

»Jeg sendte dem en mail med overskriften 'Stort sikkerhedshul' og regnede med, at nogen ville ringe efter 10 minutter, men de ringede aldrig. Så fandt jeg 3-4 sikkerhedshuller mere på en time,« siger den politianmeldte forælder Henrik Høyer, der til daglig er chef for softwareudvikling hos sPeople.

Hos Infoba tog man dog ikke let på, at Henrik Høyer havde taget sagen i egen hånd og testet en række sårbarheder samt lavet en Javascript-finte, der overraskede pædagogerne i en af børnehaverne.

»Jeg bliver nødt til som it-ansvarlig at tage det seriøst, når vores system bliver hacket. Jeg rådførte mig med politiet og Nationalt Efterforskningscenter (NEC), og de anbefalede at anmelde ham,« siger produktchef hos Infoba Torben Væring, som forsikrer, at de pågældende sikkerhedshuller blev lukket kort efter, at forældrene havde kontaktet Infoba.

Banale fejl i udbredt system

Infoba bliver brugt i samtlige offentlige daginstitutioner i 11 danske kommuner og bruges blandt andet som en digital version af den opslagstavle, som pædagoger og forældre skriver på i børnehaven. Systemet gemmer således blandt andet på informationer om børnenes fravær, kommunikation mellem forældre og pædagoger samt personfølsomme sundhedsoplysninger om barnet såsom allergier og sygdomme.

Sikkerhedshullerne gav dog ikke adgang til de personfølsomme oplysninger ifølge Infobas produktchef, som dog bliver modsagt af de to forældre, der opdagede sikkerhedshullerne i første omgang.

Hele fadæsen startede i august 2014, da forælder og tidligere webudvikler og -tester Christian Liljedahls datter startede i en børnehave på Frederiksberg. Her lagde faren hurtigt mærke til, at børnehavens it-system Infoba havde et gammeldags udseende user interface.

»Det ligner noget, der er holdt sammen med gaffertape. Det minder om det, vi lavede for 15 år siden. Nu har jeg arbejdet med test af webbaserede systemer, og så kan man bare mærke, når hængslet på døren ser ud til at sidde løst,« siger han.

Han lagde mærke til, at der i adresse-url’en i browseren blandt andet stod et ‘id’ med tilhørende nummer for hvert barn. Ved at ændre på nummeret kunne han således få adgang til alle de andre børns oplysninger, uden at han havde rettigheder til at se dem i systemet.

Det tjek, som der normalt er på hjemmesider med bruger-login, og som sørger for, at kun dem med de tilsvarende rettigheder har adgang til de relevante oplysninger, var således ikkeeksisterende. Selvom man skulle ændre på id’et hver gang for at få adgang til et nyt barns oplysninger, ville en scraper automatisk kunne hive oplysninger på samtlige af børnene ud af systemet.

»Det vidner om et dårligt systemdesign. Det, som er problemet, er, at hver gang de laver en ny side, så skal man sørge for at implementere et sikkerhedstjek i toppen af siden, som gør, at den bruger, der kigger på siden, også har retten til det. Hvis man havde det grundlæggende design tænkt igennem, ville man have det med,« siger Christian Liljedahl og giver systemet dumpekarakter:

»Hvis du lavede sådan et system selv i folkeskolens it-klasse, så ville du få en rød streg. Det her er en fejl, som jeg fandt på systemer for 10-12 år siden, hvor man lige havde lært at kode php-løsninger. Men nu er der gået 10 år, så burde vi have lært det. Det er ganske velbeskrevet, hvordan man gør det her,« siger han.

Produktchefen hos Infoba kan ikke komme med et svar på, hvorfor sikkerhedshullet er sluppet igennem så længe.

»Jeg ved det ikke. Vi gik efterfølgende ind og testede siderne, rettede fejlene og prøver at sikre, at tilsvarende ikke sker andre steder. Vi har lavet test af det, og det er så sluppet igennem alligevel,« siger Torben Væring.

Efter at have opdaget sikkerhedshullet kontaktede Christian Liljedahl it-leverandøren, som rettede det.

»Det, at Christian henvender sig til os, gør, at vi tager det seriøst, fordi vi vurderer, at han har været i god tro,« siger Torben Væring

Infoba er udvalgt som leverandør af intranet og hjemmesider til institutioner på den offentlige SKI-aftale, hvilket betyder, at kommunerne kan vælge systemet uden at lave et udbud først.

Netop inden for it-systemer til børnehaver har iværksætterne bag det agilt udviklede Famly tidligere været ude og kritisere det offentlige for i udbudsprocessen slet ikke at være gearet til at håndtere systemer udviklet efter moderne agile principper.

Javascript-finte førte til politianmeldelse

Nogle måneder efter, at den første forælder opdagede sikkerhedshullet i Infobas system, blev virksomheden kontaktet af faderen til endnu et barn.

Ifølge ham selv for at gøre opmærksom på en række sikkerhedshuller i it-systemet. Ifølge Infoba gjorde faderen blot virksomheden opmærksom på, at den ikke benyttede sig af den nyeste type af krypterede SSL-forbindelse, TLS.

Herefter er der uenigheder mellem de to parter om sagens forløb.

Forælderen, Henrik Høyer havde blandt andet opdaget, at den infoskærm, som hver enkelt børnehave havde i systemet, var befængt med et sikkerhedshul, der tillod cross-site scripting. Ganske enkelt blev de beskeder, som man skrev til den fælles infoskærm, ikke renset for tegn, der gør det muligt at indsende Javascript-kode.

Det udnyttede Henrik Høyer til at skrive en simpel Javascript alertbox, der poppede frem med beskeden 'Ring til Infoba og sig at jeres nye intranet løsning er blevet hacket', hvorefter brugeren skulle trykke ‘OK’.

Det var der flere af pædagogerne, som så, og som undrede sig over, ifølge Infobas produktchef.

»Jeg skrev til Infoba og hørte aldrig fra dem. Så lavede jeg den her løsning, som måske var lige på grænsen for, hvad man må,« siger Henrik Høyer og fortsætter:

»Jeg lavede et harmløst javascript, men kunne have gjort det meget værre.«

Han påstår også at have fundet sikkerhedshuller, der tillod SQL-injection, samt en svaghed i funktionen bag glemt kodeord. Dette afviser produktchefen for Infoba.

Efter fem måneder havde Henrik Høyer stadig ikke hørt fra Infoba, men fik den 8. juni 2015 i stedet besøg af en politimand, der fortalte, at han var blevet anmeldt for hacking af Infoba.

Torben Væring forklarer, at han havde set loggen igennem, da han opdagede, at Henrik Høyer havde forsøgt at kompromittere systemet.

»Der kunne jeg se, at han havde været meget kreativ med at se, hvordan han kunne komme igennem systemet. Der må man se på, om det er i god eller ond tro,« siger Torben Væring, der efterfølgende viste loggen til NEC, som anbefalede produktchefen at politianmelde softwareudvikleren.

Torben Væring vil af hensyn til den igangværende sag ikke komme ind på, hvilke konkrete metoder Henrik Høyer benyttede sig af til at komme igennem systemet.

»Han fik kun sat en Javascript-besked op, selvom han har forsøgt på rigtig meget mere,« siger Torben Væring.

Kan du forstå, at man som forælder er bekymret for sikkerheden i det system, som ens barn benytter sig af, og forsøger at teste det?

»Det er sundt, at forældre er skeptiske og mistroiske. Men når der er en, der går til biddet, så politianmelder vi det. Hvis jeg undlader at gøre det, hvordan skulle jeg så vide, om det er en ondsindet hacker?« siger Torben Væring.

Men han skrev jo selv en mail til jer?

»Politiet mente, at det kunne blive en sag, og de anbefalede os ikke at kontakte ham. Det er grunden til, at vi ikke har gjort det. Vi når ikke at reagere på den første mail, før han hacker os, og lige så snart han gør det, så går det over i noget kriminelt,« siger han og fortsætter:

»Det, der adskiller Henriks og Christians måde at gøre det på, er, at Henrik ikke informerer os om id-hacking og script-injection først. Han kører bare på ekspansivt. Endvidere var der ingen sammenhæng i det, han kritiserede i mailen, og den teknik, han brugte til at forsøge at hacke.«

Opdateret den 11. juni kl. 12.22 med præcisering af et af sikkerhedshullerne. Der stod før, at det var muligt at få adgang til børnenes personlige oplysninger uden at være logget ind. Det er ikke korrekt ifølge Infoba, som påpeger, at man skulle være logget ind som forælder for, at sikkerhedshullet kunne udnyttes. Derudover har Version2 fået dokumentation for, hvad der præcist stod i den Javascript-alert box som Henrik Høyer lavede, hvilket er blevet rettet i artiklen. Indholdet i boksen adskiller sig fra det, som forælderen oplyste i første omgang.