Tre datasäkerhetssårbarheter har åtgärdats i Abitti

Tre datasäkerhetssårbarheter har åtgärdats i Abitti. Den mest kritiska av de tre har möjliggjort en attack mot en användare av webbtjänsten oma.abitti.fi (t.ex. mot en lärare). De två andra sårbarheterna berör provtillfället. Rapporterna av alla tre sårbarheterna bygger på en rapport som Studentexamensnämnden fått av en utomstående person.

Filerna med bilagor till proven i webbtjänsten oma.abitti.fi

I oma.abitti.fi kan den som bedömer ett prov returnera de bedömda proven till dem som utfört provet. Detta görs genom att den som utför provet per e-post får en länk, och genom att klicka på länken kan provprestationen, provuppgifterna och materialet i provet ses.

Sårbarheten kunde ha utnyttjats på flera olika sätt. Angriparen kunde ha gjort ett prov med en filbilaga som imiterar Abittis inloggningssida. Därefter kunde angriparen ha utgett sig vara en studerande till läraren som använder Abitti och locka läraren att klicka på länken till filen. För läraren skulle det ha känts självklart att hen måste logga in på Abitti genom angriparens falska inloggningssida. Därmed skulle angriparen ha fått tillgång till lärarens Abitti-användarnamn och lösenord.

Angriparen kunde också ha lagt in JavaScript-programkod i uppgifterna i provet. Programkoden skulle sedan ha kunnat skicka t.ex. eventuella autentiseringskex eller allt bedömningsmaterial som den som tittar på det falska provet har till angriparen.

Denna sårbarhet har åtgärdats genom att förhindra visandet av alla provuppgifter och filbilagor som gjorts med den gamla editorn. Redan tidigare har även meddelats att möjligheten att hålla prov som gjorts med den gamla editorn upphör efter studentexamen hösten 2022.

Sårbarheten berör endast prov som gjorts med den gamla editorn och den har funnits ända sedan Abitti lanserades. Motsvarande angreppsmöjlighet finns inte i prov i MEX-format som gjorts med editorn Bertta.

Det har inte varit möjligt att utnyttja denna sårbarhet i studentexamensproven.

Användning av förbjudna HTML5-program i A-delen i matematikprovet

Det är möjligt att i Abitti göra upp prov där användningen av symbolräknarprogram inte är möjligt i provets första del. Denna egenskap används i A-delen i matematikprovet i studentexamen.

Användningen av program som är förbjudna i A-delen har förhindrats genom att frånta examinandernas läsrättigheter till de viktigaste filerna. Tyvärr fanns dock den egentliga programkoden till de program som fungerar med HTML5-teknik (GeoGebra 6 och 4f-häftet) tillgänglig och kunde köras i provmiljön med hjälp av webbläsaren Firefox.

Denna sårbarhet har åtgärdats från och med version ABITTI2216Z genom att examinanderna har fråntagits läsrättigheterna till ett större antal programkoder än tidigare.

Sårbarheten har funnits i Abitti sedan Abitti lanserades. Sårbarheten har också funnits i alla studentexamensprov som gjorts med hjälp av abitti.

Att inverka på examinandens provmiljö genom att ändra parametern kernel init

Abitti bygger på operativsystemet Debian GNU/Linux. Innan provet börjar startas examinandens dator upp i operativsystemet Linux som laddas från ett USB-minne eller från datorns interna massminne. Då Linux startas ges vissa parametrar till operativsystemets kärna (kernel). Genom att ändra på dessa parametrar kan man t.ex. öka examinandens användarrättigheter under provet.

Utvecklarna har känt till detta angreppssätt. Det hanteras med hjälp av den tekniska övervakningen i provsystemet. Övervakningsprogrammet körs på examinandens dator under provet och resultaten överförs till Studentexamensnämnden samtidigt som provprestationerna laddas upp. I Abitti-övningsproven är övervakningen mycket rudimentär och dess främsta uppgift är att säkerställa att övervakningsmekanismerna fungerar. Utifrån det data som samlas in publiceras statistik om de datormodeller som använts i Abitti (hwdata.abitti.fi).

Rapportören påpekade att den tekniska övervakningen kan luras på olka sätt, bl.a. genom att manipulera programmen i operativsystemet (t.ex. cat, iptables), som övervakningen bygger på.

Denna sårbarhet har åtgärdats från och med version ABITTI2216Z. På grund av övervakningens natur belyser inte Studentexamensnämnden närmare hur sårbarheten åtgärdats. Samtidigt påminner nämnden de gymnasier som ordnar övningsprov att nämnden inte följer med de jämfört med studentexamensproven begränsade uppgifterna från den tekniska övervakningen av övningsproven.

Sårbarheten har funnits med sedan Abitti lanserades. Det är fortfarande möjligt att utnyttja sårbarheten i övningsproven. Utnyttjandet av sårbarheten har följts med i alla studentexamensprov som utförts med Abitti.

Tack

Vi vill tacka Daniel Smalin som rapporterade dessa sårbarheter till oss. De uppgifter Daniel gav om sårbarheterna var detaljerade och underlättade arbetet med att lokalisera problemen och hitta det bästa sättet att åtgärda dem både för Abitti-utvecklingsteamet och för vår datasäkerhetssamarbetspartner.

Studentexamensnämnden har förbundit sig att offentliggöra alla datasäkerhetsstörningar inom tre månader. Vi har erfarenhet av att få både enkla e-postmeddelanden och professionella rapporter med inkluderad angreppskod.

Vi vill samtidigt tacka både tidigare och kommande datasårbarhetssökare!

Läs mera

Tagning av skärmdump fungerar inte i prov som gjorts med den gamla editorn (felet åtgärdat)

På grund av ett fel i den nyaste versionen av Abitti (ABITTI2216Z) fungerar inte tagningen av skärmdump i sådana gamla prov som det inte varit möjligt att konvertera till det nya MEX-formatet. Man kan känna igen dessa prov i förhandsvisningen i den gamla editorn. Om texten “Provets utseende motsvarar inte proven i studentexamen” visas i förhandsvisningen kommer tagningen av skärmdumpar inte att fungera i den nya versionen av Abitti.

Tagning av skärmdump fungerar i prov som gjorts ned Bertta och i de prov som det varit möjligt att konvertera till MEX-formatet. I det senare fallet visas inte den ovan nämnda varningstexten.

Problemet kommer att åtgärdas under de närmaste dagarna. Innan problemet är åtgärdat kan det kringås på något av följande sätt:

  • Provet som gjorts med den gamla editorn görs till ett Berttaprov genom att kopiera in en provuppgift som gjorts med den gamla editorn med verktyget för kopiering av uppgifter i Bertta
  • Avlägsna formatering ur provet i den gamla editorn tills texten “Utseendet på provet motsvarar inte proven I studentexamen” inte längre visas I förhandsvisningen
  • En äldre version av Abitti används

Uppdateringar:

  • Lösningen för detta problem kommer att distribueras genom provpaketen. Datumet för distribueringen är ännu inte känt. (Uppdatering 13.5 kl. 10.40)
  • En korrigeringspatch distribueras tillsammans med provpaketen. Patchen följer med i provpaket som laddats må 16.5 kl. 12 eller senare och överförs automatiskt från provlokalens server till examinandernas datorer. (Uppdatering 16.5. kl. 14.05)

Problemet med att kopiera prov med det gamla provformatet har åtgärdats

Det förekom ett problem under veckoslutet och början av veckan med prov som skapats med den gamla editorn. Problemet orsakade att examinander inte kunde lägga till skärmdumpari i provens svarsrutor. Felet förekommer inte i de prov som skapats med Bertta.

Problemet åtgärdaeds idag kl. 12.00. Prov som laddats från oma.abitti.fi för detta måste laddas på nytt för att svarsrutan skall fungera på rätt sätt.

Vi är mycket ledsna för det extra arbete som orsakas av denna bugg för alla Abit-användare.

Bertta har vunnit stor popularitet

Abittis nya Bertta-editor har tagits emot väl. Den har bidragit till att användningen av MEX-formatet som används i studentexamen ökat i övningsproven.

En av Berttas mest praktiska funktioner är möjligheten att kopiera individuella provuppgifter från gamla Abitti-prov till nya prov. Den här funktionen har förbättrats avsevärt under den senaste månaden. Om du inte har fått dina bästa uppgifter kopierat i början av året, försök nu på nytt!

Gamla prov bevaras

Många Abitti-användare har varit oroliga över ödet för proven med den gamla editorn och provformatet.

Studentexamensnämndens mål är att alla prov som arrangerade med Abitti använder sig av MEX-formatet. Detta möjliggör att det gamla provformatet som försvunnit från studentproven kan tas bort från server- och examinandpinnarna. Den gamla koden underhålls inte längre och oron är att den kan orsaka problem vid framtida studentprov.

Övergången till MEX-formatet verkar gå bra (se diagrammet nedan):

  • Allt flera Abitti-användare skapar sina prov med Bertta (blått område)
  • Andelen prov som skapas med det gamla formatet minskar hela tiden (gult område)
  • Den förbättrad automatiska provkonvertern (grönt område) konverterar i bästa fall en tredjedel av proven som skapats med den gamla editorn

Redan nu är mer än hälften av proven gjorda med det nya provformatet och andelen växer stadigt. Berttas användarvänlighet, uppgifternas kopieringsfunktion och möjligheten att redigera gamla studentprov som importerats från Examina verkar bidra till att MEX-övergången sker av sig själv.

Omnämnandet i förra blogginlägget om att den gamla editorn kommer att finnas kvar åtminstone till sommaren 2022 har tolkats som att den avskaffas sommaren 2022. Denna tolkning är felaktig.

Vi kommer att släppa ut en ny Abitti-versionen efter höstens studentprov. I denna stora uppdatering som innehåller en ny versionen av Debian, avskaffas möjligheten att använda Abitti-prov med det gamla formatet. En del av proven i det gamla formatet fungerar fortsättningsvis eftersom Abittis automatiska konverter kan ändra dem till det nya formatet.

När den nya Abitti-versionen publiceras i oktober-november:

  • Abittis gamla editor är i bruk
  • Prov skapade i det gamla formatet finns i bruk till exempel genom Berttas kopieringsfunktion för uppgifter
  • Prov som skapats med Bertta kan laddas för överföring till provlokalens server
  • Prov skapade med den gamla editorn kan laddas för överföring till provlokalens server, såvida inte den gamla editorns förhandsvisning visar varningstexten i högermarginalen ”Provets utseende motsvarar inte proven i studentexamen”

Delta i Bertta-demon

Vi har fått frågningar om utbildningar för Bertta-editorn. Vi hoppas att Berttas instruktioner är till hjälp vid vanlig användning. Finesserna i MEX-formatet beskrivs i ett onlinedokument och kamratstöd kan sökas från MEX-formatets forum.

Utöver detta stödmaterial som redan är tillgängligt online, kommer vi att köra två demon på distans vid följande tidpunkter:

  • ons 6.4. kl. 15.00–16.00 Anmälning
  • mån 11.4. kl. 15.00–16.00 Anmälning (inställt på grund av sjukdom)
  • ons 13.4. kl. 15.00–16.00 Anmälning Inspelningen

Vi strävar till att publicera inspelningar av demona. Demona arrangeras på finska men frågor kan ställas naturligtvis även på svenska.

Programfix för fel i valet av prov utgiven

Ett fel som inverkar på examinandernas inloggningsvy har uppdagats på den version av provlokalens server, SERVER21265, som för tillfället erbjuds. Felet leder till att vissa prov fattas i den lista på prov som kan väljas av examinanden.

För att felet ska framkomma krävs ett provpaket som innehåller MEX-prov på både svenska och finska och dessutom ett eller flera prov i det gamla MEB-formatet. Språket på provet väljs i proveditorn oma.abitti.fi och syftet med valet är att det inverkar på hur proven visas på inloggningssidan. Prov i MEB-format uppkommer oftast då webbläsarinsticksprogram som underlättar skapandet av prov används.

Felet framkommer inte i följande fall:

  • Provpaketet innehåller endast prov i det gamla MEB-formatet
  • Provpaketet innehåller svenskspråkiga MEX-prov och prov i MEB-format
  • Provpaketet innehåller finskspråkiga MEX-prov och prov i MEB-format

En programfix som åtgärdafelet kan installeras genom att ladda upp det bifogade provet. Provets dekrypteringskod är korjaus. Genom detta uppdateras servern, oavsett om den är virtuell eller om den har startats från en pinne. Då detta är gjort kan provpaketet med de egentliga proven laddas upp på servern. Efter att programfixen installerats visas proven i det gamla MEB-formatet som finskspråkiga prov i inloggningsvyn.

Länk till uppdateringsfilen: https://static.abitti.fi/tuki/exam_korjaus-2021-08-26.mex

Språkval i provuppgiftseditorn

Idag har möjligheten att välja språk på provet lagts till i provuppgiftseditorn i Abitti. Provets språk kan vara antingen finska eller svenska. Språket som valt då provet skapas bestämmer på vilket språk de fasta texterna i provet visas.

Förändringen hör ihop med den förtydligade inloggningssidan som tas i bruk i studentexamensproven vid höstens examen. Då examinanderna identifierar sig och loggar in med den nya studentexamensinloggningen väljer hen det egna gymnasiets undervisningsspråk, varefter endast proven på detta språk visas. Syftet med förändringen är att minska antalet fall där examinanden väljer fel prov.

Två sårbarheter i Abittis datasäkerhet har åtgärdats

Två allvarliga sårbarheter i Abittis datasäkerhet har åtgärdats. Den första, som är av mindre betydelse, gäller examinandens pinne, som är uppdaterad till version ABITTI2118E. Den märkbart allvarligare sårbarheten gäller serverpinnen. Denna sårbarhet är åtgärdad i version SERVER21174.

Båda sårbarheterna fanns i bruk i versionerna av pinnar som användes vid studentexamen våren 2021. Studentexamensnämnden har inte funnit tecken på att sårbarheterna skulle ha utnyttjats under vårens prov.

Sårbarheten i examinandpinnen

En sårbarhet har hittats i examinandpinnen vilken möjliggör att provdeltagaren kan få administrators rättigheter. Detta möjliggör till exempel ändring av brandmuren och därmed fri internetanvändning, tillgång till material och program från datorns egen hårdskiva och underlättar störning av provtillfället.

Sårbarheten bygger på att filen som behövs för att definiera en kontrollerad användning av administrators rättigheter i pkexec-programmet inte hade installerats på pinnen. Detta orsakade, att man med hjälp av pkexec-programmet kunde köra vilka som helst program, när i vanliga fall programmet endast har tillgång till exempel ändring av skärmens ljusstyrka.

Sårbarheten har funnits i Abitti sedan version ABITTI20451. Felet orsakades av att de skript som lägger till koden med begränsningar inte kördes då pinnen skapades efter uppdateringen till Debian Buster.

Vi tackar Tuure Luosto för kontaktagandet som ledde till att vi fick saken till kännedom.

Sårbarheten i serverpinnen

En mycket allvarlig sårbarhet har hittats på serverpinnen. Sårbarheten möjliggör intrång till provlokalens server via provnätet och möjligheten att genomföra godtyckliga kommandon och programkod. Angriparen kan till exempel söka alla personuppgifter och provprestationer av prodeltagarna och ändra på dem.

Genom att utnyttja sårbarheten vidare kan angriparen på provlokalens server installera ett uppdateringspaket, som installeras i Abitti-provmiljön för dem som ansluter sig till provnätet. Denna programkod som installeras på examinandernas pinne, kan köras med administrators rättigheter. Detta betyder att koden till exempel skulle kunna radera operativsystemet på examinandens dator eller permanent installera skadeprogram på den.

För att utnyttja sårbarheten krävs att deltagaren i provet har administrators rättigheter till provmiljön. Dessutom kräver utnyttjandet mycket planering, förberedelser och teknisk kunskap. Även om mycket planering har genomförts är det sannolikt att angriparen blir avslöjad i något skede. Utnyttjandet av sårbarheten är ändå lätt att upprepa om ”grundarbetet” har gjorts en gång. En exaktare beskrivning av sårbarheterna som möjliggjort missbruk finns i slutet av denna text.

Detta sätt att angripa provsystemet som kombinerar flera olika sårbarheter hittades av Mikael Hannolainen, Ruben Mkrtumyan och Eemil Sinkko. Deras agerande och kontakt med nämnden har varit exceptionellt professionellt och har möjliggjort en snabb korrigering av problemet. Det visar på brett datatekniskt kunnande och exceptionellt engagemang för datasäkerhet att ha hittat en sårbarhet som kopplar samman flera sårbarheten i datasäkerheten.

Vi uppmärksammades på sårbarheten under provdagarna i vårens examen. Vi ville inte riskera anordnandet av proven med en stor uppdatering mitt under examen men samtidigt ändå reagera på saken så fort som möjligt. Därför inledde vi våra åtgärder med att i Abitti-proven lägga till ett uppdateringspaket som installerade programkod som skyddar mot intrång på provlokalens server. Tyvärr installeras inte programkoden i alla situationer på servern och därför måste alla Abitti-servrar nu uppdateras.

Rapporter gällande datasäkerhet från frivilliga är viktiga för SEN

Utvecklingen av Abitti startade i exceptionella förhållanden: under året 2013 lanserades det dåvarande DigabiOS genom en Hackabi-hackertävling. Under åren som gått har vi fått flera rapporter om olika sårbarheter. En typisk raporterare är en person i gymnasieåldern som är väl invandrad i datateknik och som har använt mycket tid på att bekanta sig med Abitti.

Förutom rapporter från frivilliga letar även datasäkerhetsproffs efter sårbarheter. Vi letar alltid efter sårbarheter då vi öppnar en ny tjänst eller gör betydande ändringar i en befintlig tjänst. Professionella experter använder olika skannrar och verktyg som gör den tråkiga grundundersökningen effektiv. Då en typisk datasäkerhetskartering görs på ungefär en vecka kan en frivillig, motiverad gymnasiestuderande leta efter sårbarheter i månader. Studerandena har också den fördelen att provtillfället och gymnasiekontexten är bekant för dem. Det är ingen överraskning att frivilliga som ännu är i början av sin karriär upptäcker sårbarheter.

Vi har inte statistik över antalet datasäkerhetssårbarheter, men av de upptäckta sårbarheter som lett till reparationsåtgärder har drygt hälften upptäckts av yrkespersoner och de övriga rapporterats av allmänheten. Studentexamensnämnden har förbundit sig att publicera alla datasäkerhetsavvikelser som rapporterats till oss senast inom tre månader. Vi är vana vid att få både enkla e-postmeddelanden och professionella rapporter som innehåller kodexempel för utnyttjande av sårbarheten ifråga.

Vi vill tacka alla tidigare, nu aktiva och kommande Abitti-sårbarhetssökare!

Beskrivning av SEN:s datasäkerhetssakkunniga om sårbarheten i servrarna som äventyrat datasäkerheten

Observationen gällande datasäkerheten inbegriper tre sårbarheter i Abitti-systemet. Genom att koppla samman sårbarheterna erhåller man rättigheter på root-nivå på servern.

(Redirect, Server side request forgery (SSRF)) Den första sårbarheten gäller NSA-övervakningen som servern uträttar och som skickar övervakningsanrop till apparaterna som deltar i provet. Övervakningsanropet mottas med en egen tjänst, som returnerar en begäran om omdirigering till provlokalens server (307). Begäran om omdirigering styrs till en lokal tjänst på servern, som är belägen på den lokala adressen 127.0.0.1 på port 8021. Denna tjänst står inte i direkt kontakt med utomstående apparater. Den interna omdirigeringen i servern leder till att kommandot som kommer från utanför körs i det interna systemet.

(Command injection) Den andra sårbarheten finns i gränssnittet i provlokalens server, vars funktion är att spara provsvaren. Det är inte möjligt att köra kommandon i detta system utanför provlokalens server, men omdirigeringen styr begäran lokalt, vilket leder till att begäran styrs till det sårbara lokala gränssnittet. Sårbarheten i gränssnittet är att det är möjligt att bifoga godtyckliga kommandon i det som argument varefter gränssnittet kör kommandona på servern.

(Privilege escalation) Den tredje sårbarheten gäller ”koetila”-användarens sudo-rättigheter. Koetila har privilegiet att skapa och köra med sudo-rättigheter (som administratör) skriptet /tmp/ktp-update-work/ktp-update.sh. Detta betyder, att koetila-användaren kan höja på sina rättigheter till adminstratornivå genom att skapa ett eget skript i katalogen i fråga och köra skriptet med sudo /bin/bash /tmp/ktp-update-work/ktp-update.sh kommandot.

Genom att koppla samman alla dessa sårbarheter kan en angripare på distans köra skadlig kod på provlokalens server (Remote code execution) som administratör.

Efter att ha fått tillgång till provlokalens server kan angriparen som administratör köra kod på provlokalens server och i vissa fall på examinandernas apparater. I detta fall riskeras informationens integritet, tillförlitlighet och tillgänglighet både på servern och i examinandernas system. I vissa fall kan kod som körs med root-rättigheter på examinandernas apparater utsätta examinandernas ursprungliga operativsystem för angrepp och missbruk. För att godtycklig kod ska köras på examinandens apparat krävs det att examinandapparater söker en uppdatering från servern. Examinandapparaten söker en uppdatering från servern då apparaten startas eller omstartas.

Den sårbara funktionen i koden för provlokalens server (Command injection) har funnits sedan år 2015, men möjligheten att utnyttja den med hjälp av SSRF-sårbarheten har varit möjlig först från 1.10.2019 framåt. Sårbarheterna har åtgärdats 4/2021.

Den korrigerade startmenyn är nu publicerad

Det hittades direkt saker som bör korrigeras i den nya Abitti-versionen. Två Gallium-startalternativ uppenbarade sig i startmenyn. Det övre alternativet startar Abitti med den nya kerneln 5.8, medan det nedre alternativet startar version 4.9 som funnits med på pinnen redan en längre tid.

Den korrigerade versionen är nu publicerad med versionsnumret ABITTI20459. Den korrigerade versionen kan användas parallellt med versionen som publicerades på tisdagen.

En ny version av Abitti har publicerats

En ny version av Abitti har publicerats. Den nya versionen är baserad på Buster-versionen av Debian GNU/Linux. Med den nya versionen kommer en mängd nya drivrutiner både för examinandens dator och provlokalens server. Tyvärr åtgärdar versionen som nu publiceras inte kompatibilitetsproblemen gällande tangentborden och pekplattorna på Apple Macbook och Air-datorer.

De viktigaste förändringarna i Abitti:

  • Nya versioner av Linux-kerneln: 5.4 (Caesium, Barium, Cerium, Holmium, Helium, Neptunium) och 5.8 (Natrium, Polonium, Gallium, Radium, Uranium)
  • LibreOffice har uppdaterats till version 6.1
  • MarvinSketch har uppdaterats till version 20.18
  • GIMP har uppdaterats till version 2.10
  • TI-Nspire har uppdateras till version 5.2
  • Casio ClassPad Manager har uppdateras till version 2.01.7600-1
  • Det enkla ritprogrammet Pinta har ersatts med det motsvarande programmet KolourPaint
  • Kartor har nu lagts till i provsystemets anvisningar (en bloggtest med anknytning till detta)

Dessutom innehåller de nya pinnarna en mängd andra tekniska förbättringar som inte syns för användaren. På grund av dessa ändringar är den nya versionen av Abitti som nu publiceras inte kompatibel med tidigare versioner. Det är alltså inte möjligt att använda gamla och nya Abittipinnar i samma nät i provlokalen.

Pinnen som används i studentexamen nästa vår bygger på den version av Abitti som nu publiceras. Den nya versionen har gått igenom automatiska och manuella tester. Av erfarenhet vet vi dock att då programvaran kommer i bredare användning kan fel uppdagas. Om behov uppkommer för eventuella uppdateringar meddelar vi om detta så fort som möjligt.