I løpet av én uke fant seniorforsker Bjarte M. Østvold ved Norsk Regnesentral så mange feil og mangler ved kildekoden til it-løsningen i E-valg 2011 at han mener hele løsningen må gjennomgås.
– Kildekoden i e-valgløsningen skulle ikke vært brukt i et valg. Hvis den skal benyttes ved politiske valg senere, bør myndighetene vurdere å kjøre en skikkelig gjennomgang av hele kildekoden, sier Østvold til Teknisk Ukeblad.
Sammen med NTNU-student Edvard K. Karlsen har han ettergått deler av arbeidet som hovedleverandøren Evry og den spanske valgutvikleren Scytl har gjort for Kommunaldepartementet.
Her fant de både svakheter innenfor sikkerhet og uoversiktlig kode. Resultatene legges frem på Norsk informatikkonferanse i Bodø i neste uke, men du kan lese hovedpunktene her.
Les også:
Snart blir det klart om du får stemme på nett
Kodestil
Programutviklerne har mange steder valgt å kopiere kode når samme funksjoner skal brukes flere steder.
Norsk Regnesentral mener dette øker risikoen for feil: Hvis det oppdages feil i koden, må feilen rettes på hvert eneste sted som denne koden er kopiert til, og det kan være vanskelig å få med seg alle.
– For her er det omfattende kopiering. I det utvalget vi så på fant vi 500 kodesegmenter med gjennomsnittlig 40 kodelinjer i hver. Det er mye, og det gjør programmet mer uhåndterlig enn nødvendig, sier seniorforskeren.
Rett metode er at ulike programfunksjoner gjør et kall til, eller kobler seg mot, denne koden ved behov, fremfor at den blir kopiert dit den skal benyttes. Det krever mer av programmereren, men reduserer feilkildene og gjør det lettere å teste løsningen.\
Spagetti
Forskeren og studenten reagerer på det de kaller spagettiprogrammer, fordi man ikke klarer å følge trådene.
Formelt er betegnelsen «nøstet programlogikk»: Logikken i programmet blir innfløkt fordi programmereren i for stor grad nøster kode inn i annen kode.
– Det blir så uoversiktlig at selv utvikleren kan få problemer å forstå koden. Og det blir vanskelig å teste koden eller bygge videre på den, sier Østvold.
Les også:
Nå kan du bruke BankID til å sjekke skatten
Slik tar superhackeren kontroll over telefonen din
Kron eller mynt
Innenfor sikkerhet avdekket arbeidet ved Norsk Regnesentral svikt i en såkalt challenge-verdi.
Her skal en mottaker sikre seg at informasjon kommer fra rett avsender ved hjelp av en kryptografisk verdi som det i praksis skal være umulig å gjette seg frem til.
– Her bør det være én sjanse på milliarden, mens vi avdekket at det var kun to tall å velge mellom og dermed 50 prosent sjanse for en angriper å få innpass. Som å kaste kron og mynt, advarer Østvold.
Forskerne har ikke gransket hele kildekoden, men mener at alt sammen bør granskes siden de fant så mange svakheter på bare et utvalg av kildekoden.
Ikke omfattende
Ledelsen i prosjektet E-valg 2011 i departementet har lagt opp til en åpen prosess nettopp for at eksperter som Østvold ved Norsk Regnesentral skal kunne komme med kritikk.
– Vi er klar over at det forekommer en del gjenbruk av kode og lignende svakheter i kvaliteten. Derimot mener vi at det ikke er så omfattende at det innebærer noen risiko, sier Christian Bull , ansvarlig for sikkerhet og teknisk løsning i prosjektet. Han understreker at det vil bli gjort forbedringer før systemet blir brukt i eventuelle nye forsøk med e-valg.
Ikke ønskelig
Og han er enig med Norsk Regnesentral om at «kode-i-kode» er et problem.
– Såpass kraftig nøsting er ikke ønskelig fordi det gjør testingen vanskeligere, sier Bull. I kjølvannet av dette kommer departementet til å bestille en full gjennomgang av kildekoden for å få den mer oversiktlig.
Svakheten i kryptografien kunne vært alvorlig. Den hører imidlertid hjemme i en modul for elektronisk stemmegivning i valglokalene og ikke på hjemme-pc. Den skulle ikke brukes ved valget i fjor og ble derfor ikke sjekket på samme grundige måte som annen kode i systemet.
Ingen gransking
Bull støtter ikke konklusjonen om at funnene til Norsk Regnesentral er tegn på at hele kildekoden er for dårlig til å brukes i en valgløsning.
– Dette er én manns subjektive mening og ikke noe vi slutter oss til. Koden har vært nøye undersøkt av selskapet Combitech med omtrent de samme metodene og verktøyene som Norsk Regnesentral har brukt, og de har ikke sagt det samme, sier han og vil understreke at systemet fungerer som det skal på det viktigste området – at valgresultatet i 2011 var korrekt.
Les også:
To av tre selskaper utsatt for flere dataangrep
Snart kan du se saldo direkte på bankkortet