Hacket afgangsprøve: Cowi slipper for skideballe
Det får næppe nogen mærkbare konsekvenser for Cowi, at de som leverandør af Folkeskolens digitale afgangsprøve har præsteret et system, der grundlæggende er usikkert bygget op.
»Nej, umiddelbart forventer jeg ikke det får konsekvenser for Cowi,« siger kontorchef i Skolestyrelsen, Tine Bak.
I går, samme dag som de første elever var oppe til digital eksamen, offentliggjorde den københavnske hackergruppe hacklab.dk en sårbarhed, der med et par linjer inline Javascript gjorde det muligt at svare 80 procent korrekt på multiple choice-opgaverne.
Ifølge Tine Bak er den offentliggjorte metode nem at opdage, og hun understreger, at al snyd vil blive opdaget. Hun forholder sig dog ikke til, at der er forskel på at forhindre snyd og på at opdage det efterfølgende.
»Hvis man vil bruge hacklab.dk's metode til at snyde med, kræver det virkelig, at man har besluttet sig for det. Man skal lægge koden ind for hvert eneste spørgsmål, og det er jo heller ikke så nemt, at alle og enhver kan gøre det,« siger Tine Bak.
Hun tilføjer, at det ikke overraskende er forbudt at snyde, også til it-baserede prøver.
»Men det er også muligt at smugle en mobiltelefon ind i forberedelseslokalet til mundtlige prøver, så vi vil aldrig kunne forhindre snyd totalt,« siger hun.
Version2 kunne i går fortælle, at sårbarheden skyldes, at leverandøren Cowi har placeret validering af svar-data på klientsiden og ikke på serversiden. Den praksis blev kritiseret både af en sikkerhedsekspert og adskillige debattører.
Cowis ører er dog i dag ikke rødere, end at projektdirektør Søren Adamsen ikke føler nogen trang til at forklare sig nærmere. Dog siger han:
»Helt grundlæggende er det interessant, at folk, der ikke kender systemet indefra, ligesom vi gør, føler sig i stand til at kommentere så dybtgående på de tekniske detaljer. Derudover har jeg ingen kommentarer, før vi har evalueret forløbet med Skolestyrelsen.«
Begge parter oplyser, at der er planlagt et evalueringsmøde en gang i næste uge.
Kommentarer (12)
Det var den slags fejl jeg lærte at man ikke skulle lave dengang jeg gik i folkeskolen...
Jeg kiggede lidt på demoen igår og nogle af spørgsmålene skal man svare på med drag and drop, hvad sker for der det... Kan folk ikke finde ud af at afkrydse de rigtige svar istedet for at skulle trække dem over i en boks...
(Jeg ville ligefrem mene at afkrydsningsbokse var mere brugervenligt).
Undskyld jeg spørger men hvor svært kan det være at lave et sikkert system med ganske almindelig HTML formularer...
Et eksamen system skal ikke være flot og fuld af fancy javascript... Det skal være sikkert og hurtigt.
»Helt grundlæggende er det interessant, at folk, der ikke kender systemet indefra, ligesom vi gør, føler sig i stand til at kommentere så dybtgående på de tekniske detaljer. Derudover har jeg ingen kommentarer, før vi har evalueret forløbet med Skolestyrelsen.«
Betyder det ikke oversat: I har ikke adgang til det vi har, og det får i ikke, og vi ved bare bedst!
»Hvis man vil bruge hacklab.dk’s metode til at snyde med, kræver det virkelig, at man har besluttet sig for det. Man skal lægge koden ind for hvert eneste spørgsmål, og det er jo heller ikke så nemt, at alle og enhver kan gøre det,« siger Tine Bak.
Men det er vil også kun nogle få der skal gøre det før det kan ses at det er muligt og at folk vil bruge de huller der findes?
Utroligt at Cowi endnu engang slipper, og at de ikke bare kan sige. øv hov, ja der var en fejl, vores fejl, vi retter den til næste år, godt der var nogle der opdagede den. Det er en utrolig arogant holdning...
»Hvis man vil bruge hacklab.dk’s metode til at snyde med, kræver det virkelig, at man har besluttet sig for det.
Med andre ord anvendes moralisering som ansvarsfraskrivelse når den egentlige sikkerhed brydes.
Man skal lægge koden ind for hvert eneste spørgsmål, og det er jo heller ikke så nemt, at alle og enhver kan gøre det,« siger Tine Bak.
Tine Bak lærte senere på dagen om copy-paste.
»Helt grundlæggende er det interessant, at folk, der ikke kender systemet indefra, ligesom vi gør, føler sig i stand til at kommentere så dybtgående på de tekniske detaljer. [...]«
Ja, det er meget interessant. Ikke desto mindre er det muligt, ligesom det er muligt for folk som ikke har bygget systemet at ødelægge det.
Heldigvis har man nok en rimelig fremtid med computere hvis man hellere vil lege med JavaScript til sin biologieksamen, som denne tegneseriestrip bekræfter: http://xkcd.com/519/
"Tine Bak lærte senere på dagen om copy-paste."
He ja. super godt!
"Heldigvis har man nok en rimelig fremtid med computere hvis man hellere vil lege med JavaScript til sin biologieksamen, som denne tegneseriestrip bekræfter: http://xkcd.com/519/"
Sandheden skal findes i tegneserier, gerne kombineret med varm kakao :-) Ej det er som regel det der giver pote i den sidste ende så deeet.
Med andre ord anvendes moralisering som ansvarsfraskrivelse når den egentlige sikkerhed brydes.
Det hun mener er vel bare, at uanset hvor lemfeldigt validereingen er implementeret, er det den enkelte elev der vælger at snyde. Man har jo altid kunnet snyde til eksamen, og det har altid haft konsekvenser at gøre det såfremt det blev opdaget.
Helt grundlæggende er det interessant, at folk, der ikke kender systemet indefra, ligesom vi gør, føler sig i stand til at kommentere så dybtgående på de tekniske detaljer.
Har han overvejet at det er fordi systemet er så ekstremt gennemskueligt at det er nemt at udtale sig om?
Faktisk tror jeg at jeg vil foretrække ikke at have adgang til at kende systemet indefra. Jeg vil gerne overleve til i morgen og til weekenden (læs: potentialet for at dø af grin er absolut til stede).
Det er ikke kun sikkerheden den er gal med, de overholder heller ikke standarderne for tilgængelighed, hvilket har været obligatorisk for offentlige myndigheder, siden 1. januar 2008.
http://www.itst.dk/arkitektur-og-standarder/Standardisering/Aabnestandar...
Demonstrationsopgaverne er ikke tilgængelige, da man skal bruge en mus for at udfylde dem.
Dette rammer specifikt børn med motorisk handicap.
Helt grundlæggende er det interessant, at folk, der ikke kender systemet indefra, ligesom vi gør, føler sig i stand til at kommentere så dybtgående på de tekniske detaljer.
Det ér da ret interessant.
Ud fra de givne oplysninger, er der ingen af os på sidelinien, som ved hvordan systemet fungerer inde i maven. At konkludere at systemet ikke fanger snyd, alene fordi det ikke umiddelbart kaster om sig med fejl, det er rent gætværk.
Måske hejser systemet et "snyder" flag, så snart dets meget fintmaskede serverside validering fornemmer at noget ikke er som det skal være.
Måske er deres logning så detaljeret, at de uden bevær kan forespørge på alle anomaliteter (ukendt IP, mystisk user-agent, for mange svar valgt, for hurtig gentagelse af forespørgsler, etc), og vise den enkelte brugers færden sekund for sekund.
Jamen, hvis det her skal være en sensation, så vil jeg gerne vide, hvori det nye snyderi består.
Snyderi er vel næppe noget nyt, og et script der kan give 80% er vel ikke meget bedre end en lap papir med samme validitet...
/Kim
Det er ikke et spørgsmål om hvorvidt man kan snyde eller hvor let det er. Vi er bare en flok folk med it viden, der bitcher over at cowi modtager vores skattekroner og så leverer et idiotisk designet system fyldt med begynderfejl :)
For øvrigt ville det på en måde være både rart og betryggende hvis cowi wille dele deres fantastiske indsigt i hvorfor client-side javascript validering lige i dette tilfælde er en gennemtænkt og smart løsning...
Der er ikke noget i vejen med client-side validering, så længe det er i sammenhæng med en god server-side validering - og der er jo ingen af os som ved, om den findes eller ej(?)
At man kan gennemføre en prøve med uautoriserede svar, er ikke ensbetydende med, at man ikke er opdaget allerede ved første svar.
Sebastian Leth:
Ud fra de givne oplysninger, er der ingen af os på sidelinien, som ved hvordan systemet fungerer inde i maven. At konkludere at systemet ikke fanger snyd, alene fordi det ikke umiddelbart kaster om sig med fejl, det er rent gætværk.
Svar:
Hæhæ, det er ret skægt, at eksempelprøven netop bogstaveligt talt kaster om sig med fejl - deres ASP.NET kører i debugging mode med fulde fejlmeddelelser, så man får hele tiden en masse kode kastet i hovedet :-)
