sikkerhet
Gransker app-sikkerhet på fritiden: – Stol aldri på brukeren
Norske sårbarhetsjegere fortalte om flere til nå ukjente funn.
TEKNOLOGIHUSET, OSLO (digi.no): Stadig vekk oppdages det sikkerhetsproblemer i norske, nettbaserte løsninger. Noen av de mest omtalte har det siste året blitt funnet av enten Roy Solberg eller Hallvard Nygård.
Derfor var det ekstra mange som var spente på hva de to ville fortelle om under en «meetup» arrangert av OWASP Norge tidligere denne uka.
OWASP Norge-leder Erlend Oftedal forteller til digi.no at det vanligvis er mellom 30 og 50 medlemmer som deltar på slike arrangementer. Men under mandagens arrangement var det nærmere hundre.
Digi.no har tidligere omtalt flere av sårbarhetene som Roy Solberg har funnet. Dette inkluderer sårbarheter i apper og webløsninger fra aktører som Tryg Forsikring, Sbanken og Gjensidige.
I tillegg fant Solberg sårbarheter i GPS-klokken Gator 2 parallelt og uavhengig av det arbeidet som Forbrukerrådet gjorde sammen med Mnemonic i fjor høst.
Ikke helt fair
Til daglig er Solberg ansatt i NorApps, hvor han jobber med utviklingen av fotballappen FotMob, som har blitt lastet ned mer enn 10 millioner ganger av både Android- og iOS-brukere.
Under foredrag fortalte Solberg at det er nysgjerrighet som er hovedårsaken til at han leter etter sårbarheter i andres tjenester. Ofte dreier det seg om tjenester som han selv bruker.
– Jeg har sett mye rart gjennom årene. Ting som kan ta ned hele bedrifter, og lekkasjer av persondata, forteller han.
Folk må få vite at dataene deres er utrygge.
Tidligere opplevde han at når han meldte fra om sårbarheter, ble henvendelsene stort sett godt mottatt. Sårbarhetene ble rettet og Solberg ble takket for å ha sagt ifra.
– Men jeg syns ikke det er helt fair at sårbarhetene ikke blir gjort kjent for brukerne. Folk må få vite at dataene deres er utrygge, fortalte han.
Derfor har Solberg siden fjor skrevet blogginnlegg om sårbarhetene han har funnet. Innleggene er stort sett delt opp slik at kan være av interesse for både lesere som ikke er så veldig tekniske av seg, og av dem som ønsker å fordype seg i de tekniske detaljene.
– Folk vil også gjerne høre om hvordan varslene ble mottatt, fortalte Solberg.
Ansvarlig avsløring
Samtidig er han opptatt av at avsløringene skal skje på en ansvarlig måte. Han melder derfor fra til den berørte aktøren umiddelbart og gir den typisk 90 dager til å rette feilen, før han skriver om den.
– Det er ikke alltid så lett å melde fra om sårbarhetene. For eksempel er det ikke alltid at meldingen kommer fram. I tillegg kan hull være vanskelige å tette, og det er det ikke sikkert 90 dager er tilstrekkelig, fortalte Solberg.
Da kikker jeg litt på kildekoden og nettverkstrafikken. Ofte er det ikke mer som skal til.
Det Solberg som oftest bruker for å finne sårbarhetene, er utviklerverktøyene som finnes innebygd i de fleste nettlesere.
– Det dreier seg ofte om tjenester hvor jeg er innlogget. Da kikker jeg litt på kildekoden og nettverkstrafikken. Ofte er det ikke mer som skal til, fortalte Solberg.
Ikke bevisste nok
Solberg gikk gjennom en rekke caser, inkludert flere av de tidligere nevnte. I et tilfelle fra 2014 oppdaget han at det var mulig å endre en enkelt verdi i en webbasert julekalender på nettstedet til fergeselskapet Fjord Line, slik at han ble garantert premie.
– Mange skriver komplekse JavaScript-applikasjoner, men ikke alle utviklere er helt bevisste på hvor koden faktisk kjøres. Kan man stole på dataene som sendes fra webapplikasjonen, spurte han.
Om sårbarheten han fant i forbindelse med den nye aksjesparekontoen hos daværende Skandiabanken, mistenker Solberg at bankens utviklere ble gitt litt for dårlig tid på løsningen. For reguleringen av aksjesparekontoer ble godkjent den 21. juni i fjor, mens løsningen ble åpne den 1. september.
Sårbarheten gjorde det mulig for ham å få oppgitt saldo og navn på andres kontoer, bare ved å oppgi kontonummeret i en HTTP-spørring.
– Som oftest er det banale ting som går galt, sa Solberg.
Som oftest er det banale ting som går galt.
Skandiabanken rettet feilen etter bare noen få timer.
– De reagerte helt nydelig og opptrådte veldig ryddig.
Internasjonal oppmerksomhet
Selv om Forbrukerrådet kom Solberg i forkjøpet, fikk også han internasjonal oppmerksomhet for funnet av sikkerhetsproblemene med Gator-klokken.
– Det dreide seg om fullstendig manglende sikkerhet på grunn av fraværet av kryptering, sa Solberg.
Han mener likevel at Gator AS om selger klokkene i Norge ikke hadde dårlige intensjoner, men hadde konsentrert seg langt mer om stråling og frekvenser fra klokken enn om informasjonssikkerheten.
Denne gangen har de gjort en god jobb og fortjener honnør for dette.
Solberg berømmer det norske selskapet for innsatsen selskapet har lagt ned for å løse problemene.
– De har gjort alt på nytt. Denne gangen har de gjort en god jobb og fortjener honnør for dette. Men de burde ha gjort det riktig fra starten av, sa Solberg, som nylig kom med et oppdatert blogginnlegg om nettopp dette.
Leste du denne? Er sikkerhetsfolkene IT-bransjens homeopater?
Strømforbruk
Solberg omtalte også en annen sårbarhet han har oppdaget, men ikke tidligere har omtalt. Den ene fant han i et skjema for oppdatering av kundedata hos Norgesnett.
Skjemaet inneholdt også kundenummeret til den innloggede kunden, men Solberg oppdaget at han kunne endre kundenummeret. Ved hjelp av en kamerats kundenummer forsøkte han dette og fikk da tilsendt en epost med blant annet en PIN-kode til sin egen epostadresse.
Ved hjelp av PIN-koden kunne Solberg legge til kontoen til kameraet som et kundeforhold til sin egen konto.
Dermed fikk han full tilgang til kameratens konto.
Solberg varslet Norgesnett om dette i februar og fikk dagen etter svar om at leverandøren av systemet, altså Enoro, skulle rette problemet raskt. Siden har han ikke hørt noe.
Ved å søke etter tilsvarende tekster på Google, mener Solberg å ha funnet fram til 14 andre brukere av det samme systemet, altså andre norske kraftselskaper. Han har ikke forsøkt å finne ut om også disse er eller har vært berørt av den samme sårbarheten, men ser ikke bort fra at det er tilfellet.
Digi.no har bedt administrerende direktør i Enoro, Stian Madsen, om en kommentar, men har ikke fått svar på våre gjentatte henvendelser.
Helseinformasjon om barn
I et annet og betydelig eldre eksempel fortalte Solberg om en nettjeneste for barnehager som gjorde det mulig for ham å laste ned personopplysninger om alle barna i barnehagen og deres foresatte. Om barna inkluderte dette opplysninger om allergier og vaksiner.
Spør en mor eller en far om de syns det er OK
Sårbarheten fantes i en eksportfunksjon i tjenesten. Leverandøren skal ha reagert svært raskt. I ettertid fikk Solberg tilsendt et nettbrett som takk.
– Lovmessig var det ikke snakk om sensitive data, men spør en mor eller en far om de syns det er OK, sa Solberg.
Han gikk fortalte ikke om denne sårbarheten før han i november i fjor, flere år etter oppdagelsen, skrev et blogginnlegg om den. I ettertid angrer han litt på at han ikke krevde at leverandøren skulle opplyse kundene om sårbarheten.
Råd til systemeiere
I foredraget presenterte han følgende punktliste over hvordan han mener systemeiere bør håndtere sikkerhetshull:
- Bug bounty-plattform
- Gjør det lett å rapportere
- Håndtering av henvendelse
- Security Incident Response Team
- Vær takknemlig og ydmyk
- Varsling av berørte parter
OWASP publiserer med noen års mellomrom en topp 10-liste over de mest kritiske og utbredte sikkerhetsfeilene i webapplikasjoner. Den nyeste ble utgitt i fjor. Alle punktene bør være allerede vært godt kjente for utviklere av webapplikasjoner. Likevel er det nettopp disse sårbarhetene som stadig går igjen.
Innrømmet elendige rutiner: Høgskolen i Sørøst-Norge ble varslet flere ganger om grovt sikkerhetsbrudd
Unngå ID+1
Solberg gikk gjennom en del av disse og kom med råd underveis.
Blant annet nevnte han at det ofte kan være mulig for brukere å få tilgang til andres kontoer fordi brukerID-ene følger mønsteret ID+1. I stedet bør det brukes universelt unike ID-er (UUID), noe som i teorien er umulig å gjette seg fram til.
Solberg nevnte også at mange systemer er konfigurert slik at de oppgir svært mye informasjon dersom de feiler, for eksempel når de mottar uventede inndata.
Ofte inkluderer dette både versjonsnumre for programvare og feilmeldinger som i detalj forteller hvor i koden feilen ligger. Alt dette kan utnyttes og manipuleres av uvedkommende som ønsker å kartlegge hvordan webapplikasjonen fungerer og dermed avdekke eventuelle sårbarheter, både i selve webapplikasjonen og i de underliggende systemene.
Slike feilmeldinger bør derfor ikke være tilgjengelige for brukerne.
Over til Nygård
Før han overlot podiet til Hallvard Nygård, som i fjor oppdaget den mye omtalte sårbarheten i Æ-appen til Rema, fortalte Solberg og at også han undersøkte Æ-appen. Men i motsetning til Nygård fant han ingenting.
– Jeg trodde den var helt fint, men det viste seg at jeg hadde testet den fire dager etter at den nye versjonen hadde blitt lagt ut, avsluttet Solberg.
Jeg trodde den var helt fint.
Nygård er til daglig utvikler hos Skagen AS, hvor han jobber med både front- og backend. Det er på fritiden han tester ut sikkerheten i ulike applikasjoner.
Han har dermed flere funn av sårbarheter på samvittigheten enn den i Æ-appen. Den eldste han nevnte fant han i Itslearning i 2005. Da kunne han sette inn en iframe i feltet for egenomtale.
– De hadde XSS-problemer den gangen også, fortalte Nygård, med henvisning til nyere sårbarheter.
Sikkerhet i JavaScript
En interessant sårbarhet fant han en webløsning tilknyttet Gallup Seerpanel, altså Kantar TNS-tjenesten som registrerer hva deltakerne i panelet ser på tv-en. Nygård fortalte at han ble med på dette fordi han ønsket å finne ut hvordan det fungerte.
Det viste seg at sikkerheten i løsningen var JavaScript-basert. Ved å bytte ut en «===» med en «!==» fikk han tilgang til et administrasjonsgrensesnitt og kunne da se informasjon om andre deltakere i panelet.
Nygård sendte da epost til Datatilsynet, med kopi til TNS, og fikk svar dagen etterpå at løsningen var blitt tatt ned. Det var han fornøyd med.
Les også: Brukerdata og passord til flere hundre tusen kunder kan være på avveie
Eiendomsinformasjon
Hos Boligmappa.no, som i utgangspunktet er godt sikret med blant annet innlogging ved hjelp av BankID, fant Nygård ut at kan kunne få tilgang til å se informasjon om andres eiendommer via et programmeringsgrensesnitt fra Ambita, som leverer data til Boligmappa.no. Ambita er for øvrig deleier av tjenesten.
Årsaken til at det gikk galt, var en utvidelse av den opprinnelige tjenesten.
Hvor mye data som var tilgjengelig, er uklart, men Nygård fikk i alle fall ut navn, fødselsdato og eiendommene til andre, inkludert opplysning om tvangssalg og pant.
– Årsaken til at det gikk galt, var en utvidelse av den opprinnelige tjenesten. De stengte den aktuelle delen dagen etter at de var blitt varslet, fortalte Nygård.
Helsedata i skyen
Nygård fortalte også om en sårbarhet han fant i samarbeid med kollegaen Asbjørn Aarrestad. Dette var i Diasend, en opprinnelige svensk, skybasert tjeneste for opplasting av diabetesdata. I dag er selskapet Diasend en del av amerikanske Glooko.
Ifølge Nygård brukes tjenesten av mange norske aktører, inkludert sykehus. Selv testet han den ved å registrere seg og å oppgi fiktive data.
– En eksportfunksjon, hvor jeg kunne putte inn epostadressen til andre brukere i URL-en, var nok en gang synderen. Jeg fikk tilgang til alle opplastede data, inkludert personopplysninger, fortalte Nygård.
Stol aldri på brukeren!
Aarrestad varslet den svenske aktøren, som rettet feilen senest dagen etterpå. Men etter det Nygård kjenner til, ble verken norske helseforetak eller Datatilsynet i Norge varslet.
Rundt betalingsmuren
Han avsluttet foredraget med å fortelle om at enkelte avisutgiveres litt hjelpeløse forsøk på å hindre nettavislesere tilgang til lukkede artikler. Blant annet nevnte han en avis som hadde glemt å legge funksjonen for utskrift bak betalingsmuren.
I et annet tilfelle, hos et mediehus som utgir mange aviser på Sørvestlandet, var det mulig å veksle mellom de ulike nettavisene selv om man bare hadde abonnent hos én av dem. Dette lot seg gjøre ved å flytte session-cookien mellom de ulike nettavisene.
– Stol aldri på brukeren, var Nygårds råd til forsamlingen.
Leste du denne? Databaseserveren til norsk forskningsinstitutt var eksponert på nettet