22
eXamify – digital eksamen
Innspill: 5 kommentarer · Kategori: Intervju · Tagger: bacheloroppgave, eksamen, linux, studentbidrag
I dette innlegget intervjuer vi studentene Torvald Lekvam og Jan Egil Jægersborg som i sin bacheloroppgave har laget et system for sikker digital eksamen
Hva har dere skrevet oppgave om, og hvem er oppdragsgiver?
Oppgaven, som vi har valgt å kalle eXamify, dreier seg i korte trekk om å lage en løsning slik at man kan bruke sin egen laptop på eksamen under trygge forhold. Oppgaven er egenvalg og godkjent av HiST AITeL.
Hva er utfordringer og ulemper med dagens eksamensordning som gjør at vi trenger noe nytt?
Dette finnes det flere grunner til, men i hovedsak har vi hentet motivasjon fra hvordan programmeringseksamener blir avlagt idag. Vi har selv vært med på flertallige eksamener i programmering hvor vi har vært nødt til å skrive på papir. Det å programmere er ikke en prosedural avhandling – men heller en iterativ prosess hvor skjelett bygges først og innmat etterpå. I tillegg byr progammering på et hav av bilioteker som man dynamisk får bruke og gjøre oppslag mot i et realtisk arbeidsmiljø – dette får man ikke på en papireksamen. I tillegg har det etablert seg et større press fra studentene, både fra HiST, NTNU, og andre, hvor studenter krever digitale eksamener i større grad. Dette skyldes antakeligvis det at man lever i nyere tider samtidig som dette kan være med å lette presse/stresset blant mange studenter med skrivevansker o.l.
Hvordan fungerer teknologien deres overordnet?
Vi har ut i fra Ubuntu-distrubusjonen laget vår egen Live Linux-løsning som kjøres fra USB. Dette betyr at alle eksamenskandidatene får utdelt hver sin USB-minnepenn på eksamen som det starter i fra. På denne måten starter ikke eksamenskandiatene fra sitt egen operativsystem, men heller et nytt og parallellt operativsystemet, som om det skulle vært to harddisker i samme maskin. Dette operativsystmet, eXamify, vil automatisk logge seg inn i ett kjent vindus-miljø hvor eksamenskandidaten kan skrive sin eksamensbesvarelse.
Dette er et restriktert miljø hvor kun enkelte applikasjoner er installert og tillatt. I bakgrunnen kjøres det prosesser som sørger for at eksamensbesvarelsen blir synkronisert med enserver fremme i eksamenlokalet til en hver tid. Dette gjør at eksamendeltakeren kan hente tilbake sin eksamensbesvarelse når som helst hvis det skulle oppstå problemer med datamaskinen eller besvarelsen. I tillegg står det en redundant server ved siden av hovedserveren som passer på ta over hvis hovedserveren skulle krasje. Hver eksamenskandidat klikker bare på ikonet for å levere besvarelsen når de er ferdige og besvarelsen blir trygt forseglet på serveren i lag med et bekreftet kandidatnummer.
Er systemet sikkert?
Sikkerheten har vært vår høyeste prioritet. Dette fordi utdanningsinsitusjoner gjerne skulle tillatt egen laptop på eksamen, hadde det ikke vært for risiko for fjusk. Vår løsning tilbyr et restriktivt brukermiljø for eksamensdeltakerene – og alle forsøk på fjusk blir rapportert. Alle eksamensdeltakerene går gjennom en heftig valideringsprosess fra serveren ved oppstart som vil kunne detektere blant annet om programvaren er manipulert, om den kjører i et virtuellt miljø eller f.eks. om eksamenskandidaten har tilgang på applikasjoner og resursser som ikke er tiltenkt.
Hva kreves av tid til administrasjon og oppsett i forkant?
Å sette opp systemet for første gang krever en dag, kanskje to, av en person som vil sette opp servere, router og kopiere opp minnepinner. Deretter er vedlikehold og bruk neglisjebart. Før en eksamen skal avholdes, setter faglærer (evt. ansvarlig eksamenspersonell) opp eksamen på serveren som skal brukes. Han/hun legger da inn startdato, varighet på eksamen, og eventuelle resursser som skal være tilgjengelig på eksamenen. Dette kan være f.eks ekstra programmer, bilder, videosnutter osv. Dette blir så tildelt kandidaten under eksamen. På eksamensdagen må eksamensvaktene trille inn serverene i eksamenslokalet på eksamensdagen, koble nettverksutstyr og skru på strømmen. Serverne starter automatisk programvaren, og starter backuprutiner om flere servere blir koblet til.
Hvorfor valgte dere å bygge systemet på Linux?
Valget falt naturlig da Linux tilbyr den tilpassing som er nødvendig, for å kunne lage et slik system. Man kommer tettere inn på operativsystemet, og har full mulighet til å tilpasse alt man vil, uten å tenke på lisenser. Begge utviklerene er også godt kjent med plattformen, og vet hva den er i stand til.
Hva skal til for å modifisere en Linux-distro? Må dere dypt inn i kildekoden for å få til det? Hvordan går dere typisk fram?
For å kunne modifisere en Linux distro kreves litt kunnskap til kommandolinjen og verktøy som er tilgjengelig derifra. Hoveddelen av refaktoriseringen av operativsytemet gjør vi selv. Vi kjører egne bash script som fjerner unødvendige komponenter, legger inn nødvendige pakker, setter opp brannmur, setter adgangsrettigheter på verktøy for kommunikasjon. Til slutt pakkes filsystemet slik at det blir bootbart på en USB-minnepinne. Vi bruker også remastersys, som er et program som hjelper oss med å lage de bootbare USB-ene, men selve konfigurasjonen gjøres av våre egne script.
Linux er fri kildekode. Er det mulig å gjøre forretning på et slikt konsept som dere har når Linux er fritt? Har dere ambisjoner om å ta dette et steg videre?
Siden Linux er fri kildekode er det fullt mulig å konfigurere en distro, for så å videreselge. Vi vil i første omgang la HiST få systemet, til fritt bruk, om de vil prøve det ut, og se om det fungerer bra. Om løsningen blir en «hit», er de jo fullt mulig for andre utdanningsinstitusjoner å kunne bruke det og. Da vil vi kanskje vurdere å gjøre forretning av systemet.
Har arbeidet med bachelor vært lærerikt?
Prosjektet har i stor grad vært lærerikt. Vi har måtte tenke oss grundig om for å finne løsninger på hvordan systemet skulle takle forsøk på fjusk. Dette har ført til pøving og feiling, som i seg selv er meget lærerrikt. Vi har og gått dypt inn i materien når det kommer til selve bootingen av et Linuxsystemet, og hvordan man egentlig kan hente et helt operativsystem fra en USB og kjøre dette i minne. Dette kommer av et hav av ulike konfigurasjoner, samt at det ikke er satt noen standard for hvordan man skal boote en USB-minnepinne, på ulike PCer.
Hva tenker dere å gjøre etter fullført bachelorgrad?
Begge har søkt informatikk ved NTNU, så om vi får innpass der, blir vi nok masterstudenter.
Vi ønsker lykke til videre, og takker for god innsikt i både hvordan en slik Linux-basert løsning kan bygges opp, og digital eksamen. Ville du (som leser) foretrekke digital eksamen fremfor papirbasert?
Dette innlegget har 5 kommentarer. Gjerne bidra :-)
Skrevet av: Svend Andreas Horgen (totalt 133 blogginnlegg)
Hans Fredrik Nordhaug · 22. mai, 2012, kl. 22:43
Hei, det er alltid artig når friheten i Linux brukes til å lage nye ting, men det er tre ting som slår meg:
1) Er det nødvendig å finne opp hjulet på nytt? Digeks er en etablert «fri programvareløsning for sikker gjennomføring av IKT-basert eksamen». Jeg kan ikke si om Digeks har blitt evaluert og forkastet av gode grunner fordi jeg ikke fant bacheloroppgaven på nett. Jada, av og til er det nødvendig å finne opp hjulet på nytt, men det er i alle fall åpenbart at prosjektet kunne hentet veldig mye erfaring fra gjengen bak Digeks.
2) eXamify er ikke fritt tilgjengelig. Fra prosjektsiden: Avvik fra normalsituasjonen: Resultatene fra arbeidet er sperret og kun tilgjengelig etter avtale med oppdragsgiver.
3) Siden Linux er fri kildekode er det fullt mulig å konfigurere en distro, for så å videreselge. Ja, men da må kildekoden publiseres.
Jan Egil Jægersborg · 24. mai, 2012, kl. 15:55
Hei Hans Fredrik.
Spørsmål 1.
Digeks leverer en solid løsning allerde, dette har du rett i. Vår løsning skiller seg fordi de aller fleste anvendelsene av systemet skal være håndterbare av hvem som helst. Vi har skript og programvare som alene sørger for backup og gjennoppretting hvis noe går galt på klientsiden. Serveren som samler alle besvarelsene har også en redudantserver som tar over hvis noe svikter. Skulle også routeren i eksamenslokalet krasje vil alt automatisk koble seg opp igjen autoamtisk så lenge man bytter denne.
Videre skiller vi oss fra Digeks med at hele klientmaskinen blir validert av serveren i eksamenslokalet. Systemet oppdager om klienten har tuklet med programvarekoden, f.eks om klienten kjører på virtuell maskien, i lag med en del andre ting. Hvis det ser ut som eksamenskandidaten prøver seg på noe fjusk vil eXamify forhindre dette.
Å laste opp ressurser til en gitt eksamen er gjordt på 10 minutt av faglærer selv samtidig som det en del arbeidsbesparelse for sensor som vil få alle besvarelsene levert på èn zip-fil, fremfor på en og en minnepenn eller på printet papir (veldig greit mtp programmeringseksamener).
Spørsmål 2 og 3.
Siden eXamify ikke er en 100% ferdig løsning for å kunne distribueres enda, har vi valgt å ikke gjøre programkode tilgjengelig. Dette har rett og slett med at vi har noen sikkerhetsimplemetasjoner som ikke er helt optimale enda. Dette gjør til at prosjektet er sperret for andre enn utviklerne enn så lenge – det gjelder både dokumentasjonen som beskriver dette, samt programkoden. Hvis noen er interesserte i å ta i bruk vårt system så er dette noe vi ønsker å gjøre ferdig først. Det er ikke snakk om mye arbeid – men det var arbeid vi ikke fikk tid til.
Anders Handberg · 23. mai, 2012, kl. 10:16
Hei.
Dette virker som et veldig spennende prosjekt. Jeg har ikke vært bort i programvare som gjør samme jobb, men det finnes sikkert alternativer som Hans Fredrik Nordhaug poengterer. Allikevel syns jeg at dette virker som et spennende Bachelor-prosjekt. Studentene skal ha mye ære for å ta fatt på et såpass omfattende prosjekt i sin bacheloroppgave. Det er en stor oppgave sett i lys av at en bacheloroppgave på Aitel er på ett semester, og om jeg ikke husker feil er det beregnet at hver student skal bruke omtrent 300 timer på oppgaven.
Det som slo meg når jeg leste denne bloggposten er at språket til disse studentene er preget av at de ikke finner gode norske ord for begreper de kjenner fra sitt fagmiljø. Ord som «restrikert», «detektere» og «refaktoriseringen» er alle ord som lett kunne vært erstattet med gode norske ord som «begrenset» og «oppdage». «Refaktoriseringen» vet jeg ikke hva betyr. Det er mulig jeg hadde forstått det med flere IT-fag på vitnemålet.
Et godt språk som alle forstår vil bidra til økt troverdighet, en bedre leseropplevelse og bedre forståelse fra leseren.
Jeg lurer også på hvordan en «heftig valideringsprosess» utarter seg 🙂
Jan Egil Jægersborg · 24. mai, 2012, kl. 15:56
Vi har jobbet mye med prosjektet, og for oss som går dataingeniør, skal tidsforbruket ligge på rundt 450 timer.
En «heftig valideringsprosess» som vi har valgt å kalle det, er en prosess der det utføres validering av klientprogramvaren som kjøres på eksamenskandidatens maskin. Dette for å sjekke at
deltaker ikke har jukset med minnepinnen, dette inkluderer forsøk på å endre programfiler, forsøk på å starte opp minnepinenn i en virtuell maskin, sjekking av begrensede(!) rettigheter, andre tilkoblede enheter osv.
Takk for heads-up mtp. ordene. Mye av termenologien kommer nok like mye i fra utviklings- og internettmiljø utenom skolen. Vi er begge veldig interessert i både utvikling og Linux utover det vi har lært på skolen – og det er nok også litt av nøkkelen til å kunne gå i land ett slik prosjekt som dette i løpet av et stemester.
ITfag-bloggen – Site Title · 5. februar, 2017, kl. 21:18
[…] tilleggsinformasjon, spørsmål eller personlige erfaringer til temaet i innlegget. På innlegget eXamify – digital eksamen, har leserne av bloggen kommet med gode kommentarer med spørsmål for refleksjon som igjen er […]