Bertta on saavuttanut suuren suosion

Abitin uusi Bertta-tehtäväeditori on otettu hyvin vastaan. Se on edistänyt merkittävästi ylioppilaskokeissa käytettävän MEX-formaatin käyttöä harjoituskokeissa.

Yksi Bertan näppärimpiä ominaisuuksia on mahdollisuus kopioida uusiin kokeisiin yksittäisiä koetehtäviä vanhoista Abitti-kokeista. Tätä ominaisuutta on paranneltu huomattavasti viimeisen kuukauden aikana. Jos et ole saanut lempikokeesi parhaita tehtäviä kopioitua alkuvuodesta, kokeile nyt uudelleen!

Vanhat kokeet säilyvät

Monet Abitin käyttäjät ovat olleet huolissaan vanhalla editorilla ja koeformaatilla tehtyjen kokeiden kohtalosta.

Ylioppilastutkintolautakunnan tavoitteena on saada Abitilla järjestetyt kokeet kokonaan MEX-formaattiin, jotta palvelin- ja kokelastikuilta voidaan poistaa ylioppilaskokeista kadonnut vanha koeformaatti. Vanhaa koodia ei enää ylläpidetä ja huoli on, että se voisi aiheuttaa ongelmia tulevissa ylioppilaskokeissa.

Siirtymä MEX-formaattiin näyttää etenevä hyvin (ks. alla oleva graafi):

  • Yhä useampi Abitin käyttäjä tekee kokeensa Bertalla (sininen alue)
  • Vanhalla formaatilla tehtyjen kokeiden osuus laskee jatkuvasti (keltainen alue)
  • Parannettu automaattinen kokeiden muuttaja (vihreä alue) muuntaa parhaimmillaan joka kolmanneksen vanhalla editorilla tehdyistä kokeista

Jo nyt yli puolet järjestetyistä kokeista hyödyntää uutta koeformaattia ja osuus kasvaa jatkuvasti. Bertan helppokäyttöisyys, tehtävän kopiointitoiminto ja mahdollisuus muokata vanhoja Examinasta tuotuja yo-kokeita näyttäisivät saavan aikaan MEX-siirtymän ihan itsestään.

Edellisessä Berttaa käsittelevässä blogissa oleva maininta vanhan editorin säilyminen ainakin kesään 2022 on tulkittu siten, että se poistuu kesällä 2022. Tämä tulkinta ei pidä paikkaansa.

Julkaisemme syksyn ylioppilaskokeiden jälkeen Abitti-version. Tämän ison Debian-versiopäivityksen yhteydessä poistamme mahdollisuuden käyttää sellaisenaan vanhalla formaatilla tehtyjä Abitti-kokeita. Osa vanhan formaatin kokeista toimii, koska Abitin automaattinen muuttaja osaa konvertoida ne uuteen formaattiin.

Loka-marraskuun Abitti-version julkaisemisen jälkeen:

  • Abitin vanha editori on käytössä
  • Vanhalla formaatilla tehdyt kokeet ovat käytettävissä esim. Bertan tehtävän kopiointitoiminnolla
  • Bertalla tehtyjä kokeita voi ladata siirrettäväksi koetilan palvelimelle
  • Vanhalla editorilla tehtyjä kokeita voi ladata siirrettäväksi koetilan palvelimelle, ellei vanhan editorin esikatselussa oikeassa marginaalissa näy varoitustekstiä “Kokeen ulkoasu ei vastaa ylioppilaskokeita”

Osallistu Bertta-demoihin

Meiltä on toivottu koulutusta Bertta-editorista. Toivomme Bertan ohjeiden olevan avuksi peruskäytössä. MEX-formaatin hienouksia kuvataan verkosta löytyvästä dokumentista ja vertaistukea voi hakea MEX-formaatin keskustelupalstalta.

Edellisten, jo verkosta löytyvien tukimateriaalien lisäksi järjestämme kaksi etädemoa seuraavina ajankohtina:

  • ke 6.4. klo 15.00-16.00 Ilmoittaudu
  • ma 11.4. klo 15.00-16.00 Ilmoittaudu (peruttu sairastumisen vuoksi)
  • ke 13.4. klo 15.00-16.00 Ilmoittaudu Tallenne

Esittelyistä pyritään julkaisemaan tallenteet. Demona arrangeras på finska men frågor kan ställas naturligtvis även på svenska.

Bertasta ensisijainen Abitti-editori

Ylioppilastutkintolautakunta on kehittänyt Abittiin uuden Bertta-editorin, jotta ylioppilastutkintoon voisi harjoitella ylioppilaskokeen kaltaisilla kokeilla. Bertta-editori on tänään muutettu Abitin ensisijaiseksi tehtäväeditoriksi. Vanhaa tehtäväeditoria voi edelleen käyttää, mutta editorin tai sen tuottamien kokeiden ongelmia ei enää korjata.

Bertan “visuaalisella editorilla” tehtävänantoihin voi liittää kuvia suoraan leikepöydältä ja kaavoja YTL:n kaavaeditorilla. Valittavissa on ylioppilaskokeista tutut vastaustyypit: teksti-, lyhyt teksti-, monivalinta- ja pudostusvalikkovastaukset. Liitetiedostot voi liittää ylioppilaskokeiden tapaan tiettyyn tehtävään.

Bertalla on nopeaa rakentaa uusia harjoituskokeita Examinasta tuotujen ylioppilaskokeiden ja vanhojen Abitti-kokeiden tehtävistä. Esimerkiksi kuullun ymmärtämisen osakokeiden tehtäviä kielikokeissa on nyt helppo uusiokäyttää omissa harjoituskokeissa.

Bertalla voi myös asettaa laadittavan kokeen purkukoodin. Jos lukio sopii yhteisen purkukoodin, on harjoituskokeiden lataaminen koetilan palvelimelle yhtä helppoa kuin ylioppilaskokeissa: vain yhden koodin syöttö riittää.

Jos “visuaalisen editorin” keinovalikoima loppuu, voi koetta muokata koodivälilehdellä. Näin voi asettaa esimerkiksi ääninäytteiden maksimikuuntelukerrat tai tekstivastauksen enimmäispituuden. Jälkimmäinen ominaisuus tulee ylioppilaskokeissa käyttöön aikaisintaan syksyllä 2022.

Vanhasta editorista poiketen Bertta varmistaa, että laaditut kokeet noudattavat Abitin MEX-koeformaattia ja siten näkyvät koetilanteessa halutulla tavalla. Vanha editori on käytössä ainakin kesään 2022 saakka.

Tässä samassa yhteydessä estämme yli 500 kilotavun koetiedostojen laatimisen vanhalla editorilla. Käytännössä tämä estää base64-koodattujen liitteiden lisäämisen. Tätä tapaa käytettiin liitetiedostojen lisäämiseen ennen vuotta 2017, jolloin vanhaan editoriin lisättiin helppo tapa liitetiedostojen lisäämiseen. Tämä tapa toimii edelleen. Tästä muutoksesta varoitettiin kaksi vuotta sitten.

Lue lisää:

Uudessa Abitissa voi ohjelmoida Pythonilla

Uusi Abitti-versio sisältää joukon pieniä päivityksiä ja parannuksia. Koejärjestelmän ohjeissa on mahdollisuus ohjelmoida Python-ohjelmointikielellä. Ominaisuus on käytössä myös koejärjestelmän ohjeiden verkkoversiossa osoitteessa cheat.abitti.fi ja siihen liittyen on julkaistu erillinen blogikirjoitus. Kokelaat ovat toivoneet mahdollisuutta soittaa taustamusiikkia peittämään koetilan hälyääniä. Tämä toiminnallisuus on nyt lisätty koejärjestelmän ohjeisiin.

4F-Vihko on päivitetty uusimpaan versioon ja GeoGebra 6 on palautettu kevään 2021 kokeissa käytettyyn versioon 6.0.639. Ikävä kyllä tiedostojen tallennuksen yhteydessä ilmestyy näytölle edelleen tyhjä ikkuna, jonka sulkemisen jälkeen tallennus onnistuu. YTL on ilmoittanut virheestä GeoGebralle.

Koetilan palvelin yrittää tarkistaa palvelimen päivämäärän oikeellisuuden. Mikäli palvelimen päivämäärä on vanhempi kuin käytetyn Abitti-version julkaisupäivämäärä, on päivämäärä korjattava ennen kokeiden latausta. Tällä tarkistuksella yritetään varmistaa päivämäärään sidottujen lisenssien toiminta (Casio, TI-Nspire).

Uudet versiot toimivat yhteen SERVER21174- ja ABITTI2118E-versioiden ja uudempien kanssa. Päivitys ei sisällä uusia laiteajureita.
Kaikki päivityksen muutokset löytyvät muutoslokista.

Tekninen Abitti-päivitys helpottaa tikuttoman kokelaan koneen ylläpitoa

Tänään julkaistu Abitti-versio (ABITTI2143J, ABITTI21443 ks. päivitys) on tekninen päivitys. Se ei sisällä muutoksia käynnistysvaihtoehtoihin, kokelaan näkymään tai sovelluksiin.

Edellisessä Abitti-versiossa julkaistua koneen sisäiseltä levyltä käynnistystä on helpotettu siten, että Abitin sisältävät tiedostot voivat olla FAT- ja ext-levyjärjestelmien lisäksi NTFS-levyjärjestelmässä. Tämä helpottaa “tuplabootti-Abitin” ylläpitoa Windows-käyttöjärjestelmän rinnalla.

Uusi päivitys on hyödyllinen vain niille lukioille, jotka suunnittelevat Abitin käynnistämistä Windows-käyttöjärjestelmän rinnalla. Uuden kokelastikun yhteydessä ei julkaista uutta palvelinversiota. Uusi versio toimii yhteen SERVER21174- ja uudempien palvelinversioiden kanssa.

Päivitys 8.11.2021

Jakeluun päässyt virheellinen versio 2143J vedettiin pois jakelusta. Versioon oli virheellisesti asennettu vanhan Debian-jakelun firmware-koodeja, jotka on korvattu tänään julkaistussa versiossa 21443.

Lue lisää:

Lokakuun Abitti-versiossa uusia laiteajureita

Tänään julkaistussa Abitti-versiossa (ABITTI2140K ja SERVER2140F) suurin parannus on Linuxin ytimen uusi versio 5.14 sekä olemassa olevien versioiden päivitykset. Päivityksiä on tullut sekä kokelaan että palvelimen tikkuun. Päivityksillä lisätään laitetukea sekä ylläpidetään tietoturvaa.

Käynnistysvaihtoehdon Francium takana ollut i2c-parannus on nyt laajennettu kaikkiin 5.10-version käynnistysvaihtoehtoihin (Natrium, Polonium, Radon, Radium ja Uranium).

Koeympäristön ohjeisiin (myös cheat.abitti.fi) on tullut päivityksiä. Kemian välilehdellä natriumsulfaatin tietoja on korjattu ja fysiikan välilehdellä lisätty taulukko polttoaineista, arvoja veden tiheydestä, lisäyksiköitä, taulukko valon spektristä ja kaavat palamisesta vapautuvasta energiasta sekä intensiteetin heikkenemisestä väliaineessa. Ohje on vapaata lähdekoodeja ja siihen voi tehdä lisäysehdotuksia. Kiitos Aapo Heiskalle ja Panu Viitaselle muutosehdotuksista.

MAOL digitaulukoiden vanha versio on poistettu.

Monikielisten Abitti-kokeiden näkyvyyteen kokeen valinnassa liittyvä vika sekä ongelmat kuvakaappauksissa tietyissä erityistilanteissa on korjattu.

Abitin käyttöehtoja on päivitetty versioon 1.4. Päivityksessä tarkennetaan, että YTL ei omista immateriaalioikeuksia kaikkiin levykuvan ohjelmistoihin ja mihin kohtaan levynkuvaa kielto selvittää koodin rakennetta ja sisältöä kohdistuu. Kiitos asiasta huomauttaneelle Luukas Aholalle.

Kokelaan tikulta on poistettu pääsy joissakin lukioissa käytettyihin liitetiedostojen jakopalvelimille, koska Abitin oma liitetiedostojen liittäminen on ollut jo vuosia käytössä. Kiitos tästä huomiosta Tuure Luostolle, joka vinkkasi meille vanhasta jäänteestä.

Abitin kokelastikku on aiempaa helpompi asentaa tietokoneen sisäiselle levylle koneen oman käyttöjärjestelmän rinnalle (ns. dual-boot). Muutoksen jälkeen Abitin toiminnan kannalta vaaditut komponentit voidaan asentaa ja päivittää koneen “isäntäkäyttöjärjestelmän” tiedostojärjestelmässä. Tähän liittyvä ohjeistus päivitetään lähiviikkoina.

Uudet versiot toimivat yhteen SERVER21174- ja ABITTI2118E-versioiden ja uudempien kanssa. Kokelaan tikut tulisi päivittää, koska uusi versio sisältää myös TI Nspire –ohjelman päivitetyn lisenssin.

Ennen virtuaalipalvelimen päivitystä palvelimen hallinnassa käytettävä Naksu-ohjelma tulisi päivittää versioon 2.0.5.

Bertta mahdollistaa MEX-kokeiden muokkauksen

Abittiin on lisätty mahdollisuus muokata MEX-kuvauskiellä kirjoitettuja kokeita. MEX-formaattia käytetään ylioppilaskokeissa ja sen “kielioppi” on kuvattu omassa dokumentissaan.

Tänään julkaistulla Bertta-editorin ensimmäisellä versiolla voi kirjoittaa MEX-kuvauskieltä ja katsoa kokeen esikatselua. Seuraavaksi lisäämme Berttaan mahdollisuuden hallita liitetiedostoja samalla tavoin kuin vanhassa Abitti-editorissa. Bertan kehittämistä jatketaan tämän jälkeenkin.

Vanha Abitti-editori on edelleen käytettävissä Abitti-kokeiden tehtävänlaadinnassa.

Korjaus kokeen valintaongelmaan julkaistu

Nyt jaossa olevasta koetilan palvelinversiosta SERVER21265 on löytynyt kokelaiden kirjautumisnäkymään vaikuttava ongelma. Virhe ilmenee siten, että valittavasta koelistauksesta puuttuu kokeita.

Virheen ilmeneminen vaatii koepaketin, jossa on sekä suomen- että ruotsinkielisiä MEX-muotoisia kokeita ja näiden lisäksi vanhan MEB-formaatin mukainen koe. Kokeen kieli valitaan oma.abitin tehtävänlaadintasivulla ja sen tarkoitus on vaikuttaa kirjautumisnäkymään. MEB-formaatin mukaisia kokeita syntyy yleensä käytettäessä tehtävänlaadintaa helpottavia selainlisäosia.

Virhettä ei ilmene seuraavissa tapauksissa:

  • Koepaketissa on vain vanhan MEB-formaatin kokeita
  • Koepaketissa on suomenkielisiä MEX-kokeita ja MEB-formaatin kokeita
  • Koepaketissa on ruotsinkielisiä MEX-kokeita ja MEB-formaatin kokeita

Korjaus ongelmaan on asennettavissa lataamalla palvelimelle koe, jonka purkukoodi on “korjaus”. Tämä päivittää virtuaali- tai tikkupalvelimen. Tämän jälkeen palvelimelle voi ladata halutun koepaketin. Korjauksen asentamisen jälkeen MEB-formaatin kokeet näkyvät kirjautumisikkunassa suomenkielisinä kokeina.

Kokeen latauslinkki: https://static.abitti.fi/tuki/exam_korjaus-2021-08-26.mex

Syksyn yo-tikkua vastaava Abitti-versio julkaistu

Syksyn ylioppilaskokeissa käytettävää opiskelijan tikkua vastaava Abitti-versio on julkaistu. Näkyvät muutokset liittyvät kirjautumiseen ja henkilöllisyyden tarkistamiseen.

Jos palvelimelle on ladattu sekä suomeksi että ruotsiksi suoritettavia kokeita, kirjautumissivulla on erillinen kokeen kielivalinta. Kirjautuvalle kokelaalle näytetään vain valinnan mukaiset kokeet. Tämä toivottavasti vähentää vääriä koevalintoja ylioppilaskokeissa. Abitin koe-editorissa on ollut kokeen kielen valinta jo viime keväästä lähtien.

Syksyn ylioppilaskokeista alkaen näkö- ja kuulovammaisille kokelaille on laadittu omat koeversionsa. Erityisjärjestelypäätöksen saaneet kokelaat löytävät kokeet kirjautumissivun alalaidassa näkyvän Näytä erityisryhmien kokeet -valinnan takaa. Valinta on näkyvissä vain siinä tapauksessa, että palvelimelle on ladattu erityisryhmien kokeita. Abitin koe-editorissa ei ole mahdollista merkitä koetta erityisryhmän kokeeksi.

Kirjautumisen jälkeen näytöllä näkyvän valvojan tunnistautumisnäytön muutosten tavoitteena on vähentää entisestään virheitä kokelaiden tunnistamisessa. Henkilötunnuksen kaksi ensimmäistä merkkiä on peitetty, jotta vahvistuksessa käytettävä syntymäpäivä on varmasti peräisin kokelaiden valvojalle näyttämästä henkilötodistuksesta tai valvojalla olevasta koepöytäkirjasta.

Näiden kirjautumiseen liittyvien näkyvien muutosten lisäksi uudessa versiossa on joukko pienempiä muutoksia. Koetilan palvelimella näytetään palvelimen päivämäärä. Tämän toivotaan vähentävän tilanteita, joissa palvelimen väärä päivämäärä estää lisenssinalaisten ohjelmien (TI Nspire ja Casio ClassPad Manager) käytön. Yksityiskohtainen lista muutoksista löytyy muutoslokista.

Yhteensopivuus

Uusi palvelinversio toimii kaikkien tänä vuonna julkaistujen opiskelijan tikkujen (ABITTI2106S ja myöhemmin) kanssa. Suosittelemme lämpimästi opiskelijan tikkujen päivittämistä, koska uusimmassa versiossa on kirjautumismuutosten lisäksi tärkeitä tietoturvaparannuksia. Kirjautumismuutokset toimivat tietenkin vain päivitetyissä tikuissa.

Esimerkki kirjautumis- ja henkilötunnuksen tarkistussivuista 

Tässä esimerkissä palvelimelle on ladattu koko joukko kokeita:


Koska palvelimella on sekä suomen- että ruotsinkielisiä kokeita, kirjautuva kokelas näkee kokeen kielivalinnan:

Erityisryhmien kokeet näkyvät oman valintaruutunsa takaa:

Esimerkki henkilöllisyyden tarkistussivusta:

Kielivalinta tehtäväeditoriin

Abitin koe-editoriin on lisätty tänään kokeen kielen valinta. Kokeen kieli voi olla joko suomi tai ruotsi. Kokeen laadinnassa tehty kielivalinta määrittelee koesivun vakiotekstien kielen.

Muutos liittyy syksyn ylioppilaskokeessa käyttöön tulevaan helpotettuun kirjautumissivuun. Uudessa yo-kirjautumisessa kokelas valitsee oman lukion opetuskielen, jonka jälkeen näytetään vain nämä kokeet. Uudelleensuunnittelun tavoitteena on vähentää väärien kokeiden valintaa.

Abitista on korjattu kaksi tietoturvahaavoittuvuutta

Abitista on korjattu kaksi vakavaa tietoturva-aukkoa. Ensimmäinen, merkitykseltään vähäisempi haavoittuvuus koskee kokelaan tikkua. Tämä on korjattu versiossa ABITTI2118E. Huomattavasti vakavampi haavoittuvuus koskee palvelintikkua. Tämä haavoittuvuus on korjattu versiossa SERVER21174.

Molemmat haavoittuvuudet ovat olleet kevään 2021 ylioppilaskokeissa käytetyissä tikkuversioissa. Ylioppilastutkintolautakunta ei ole löytänyt merkkejä siitä, että näitä haavoittuvuuksia olisi hyödynnetty kevään kokeissa.

Kokelaan tikun haavoittuvuus

Kokelaan tikusta on löytynyt haavoittuvuus, jonka avulla kokeen suorittaja voi saada pääkäyttäjän oikeudet. Tämä mahdollistaa esimerkiksi palomuurin muokkaamisen ja siten vapaan internetin käytön sekä tietokoneen omalla levyllä olevien aineistojen ja ohjelmien hyödyntämisen. Lisäksi haavoittuvuus helpottaa koetilanteen häiritsemistä.

Haavoittuvuus perustuu siihen, että pääkäyttäjän oikeuksien kontrolloituun käyttöön tarvittavan pkexec-ohjelman määrittelytiedostot olivat jääneet asentamatta tikulle. Tämän seurauksena pkexec-ohjelmalla saattoi ajaa mitä tahansa ohjelmia, kun normaalitilanteessa ohjelman käyttö on rajoitettu esimerkiksi näytön kirkkauden säätöön.

Haavoittuvuus on ollut Abitissa versiosta ABITTI20451 alkaen. Vika johtui siitä, että Debian Buster –versioon siirryttäessä tikun rakentamisessa käytetyissä skripteissä ei ajettu rajoitukset lisääviä koodeja.

Kiitämme yhteydenotosta Tuure Luostoa, joka toi asian tietoomme.

Palvelintikun haavoittuvuus

Palvelintikulta on löytynyt erittäin vakava haavoittuvuus, joka mahdollistaa murtautumisen koeverkosta koetilan palvelimelle ja siellä mielivaltaisten komentojen ja ohjelmakoodin suorittamisen. Hyökkääjä voi esimerkiksi hakea kaikkien kokeisiin osallistuneiden henkilötiedot tai koesuoritukset tai muuttaa niitä.

Tätä mahdollisuutta hyödyntämällä hyökkääjä voi asentaa koetilan palvelimelle päivityspaketin, joka asennetaan kaikkien koeverkkoon liittyvien kokelaiden Abitti-ympäristöön. Tämä kokelaiden tikulle asennettava ohjelmakoodi voidaan ajaa pääkäyttäjän oikeuksin, joten se voisi esimerkiksi pyyhkiä kokelaan tietokoneen oman käyttöjärjestelmän tai asentaa tietokoneelle pysyviä haittaohjelmia.

Haavoittuvuuden hyödyntäminen vaatii sitä, että kokeen suorittajalla on kokelaan koeympäristön pääkäyttäjän oikeudet. Tämänkin jälkeen hyväksikäyttäminen vaatii ennalta runsasta suunnittelua sekä ennakoivaa valmistautumista ja teknistä osaamista. Runsaasta valmistautumisesta huolimatta on todennäköistä, että hyökkääjä jää kiinni jossain vaiheessa hyökkäystä. Hyökkäys on kuitenkin helposti toistettava, mikäli “pohjatyö” on jo kerran tehty. Tarkka selvitys hyväksikäytön mahdollistaneista tietoturva-aukoista löytyy tämän viestin lopusta.

Tämän useita tietoturva-aukkoja yhdistävän hyökkäystavan löysivät Mikael Hannolainen, Ruben Mkrtumyan ja Eemil Sinkko. Heidän yhteydenottonsa lautakuntaan oli poikkeuksellisen ammattimainen ja mahdollisti ongelman nopean korjaamisen. Useita haavoittuvuuksia ketjuttaneen tietoturva-aukon löytäminen osoittaa laaja-alaista tietotekniikan hallintaa ja poikkeuksellista omistautumista tietoturvalle.

Haavoittuvuus tuli tietoomme kevään ylioppilastutkinnon koepäivien aikana. Koska emme halunneet vaarantaa koejärjestelyjä laajalla päivityksellä kesken tutkintoa mutta silti reagoida asiaan mahdollisimman nopeasti, aloitettiin toimenpiteet lisäämällä Abitti-kokeisiin päivityspaketin, joka asensi koetilan palvelimille hyökkäykseltä suojaavan ohjelmakoodin. Ikävä kyllä päivitys ei aivan kaikissa tilanteissa asennu palvelimelle ja siksi kaikki Abitti-palvelimet on päivitettävä.

Vapaaehtoisten ilmoitukset ovat tärkeitä YTL:lle

Abitin kehittäminen alkoi poikkeuksellisissa merkeissä: vuonna 2013 silloinen DigabiOS lanseerattiin Hackabi-hakkerointikisalla. Vuosien varrella meille on tullut useita ilmoituksia erilaisista haavoittuvuuksista. Tyypillinen ilmoittaja on lukioikäinen tietotekniikan tuntija, joka on käyttänyt runsaasti aikaa Abitin tutkimiseen.

Vapaaehtoisten harrastajien ilmoitusten lisäksi tietoturvahaavoittuvuuksia etsivät tietoturva-ammattilaiset. Haavoittuvuuksia etsitään aina, kun avaamme jonkin uuden palvelun tai palveluun tehdään merkittäviä muutoksia. Ammattilaiset hyödyntävät erilaisia skannereita ja työkaluja, jotka tekevät perustutkinnasta tehokasta. Kun tyypilliseen tietoturvakartoitukseen käytetään noin viikko, voi vapaaehtoinen motivoitunut lukiolainen etsiä puutteita kuukausikaupalla. Opiskelijoiden etuna on myös se, että koetilanteen ja lukion konteksti on heille tuttu. Ei ole yllätys, että vielä uransa alkuvaiheessa olevat vapaaehtoiset löytävät puutteita.

Tietoturva-aukkoja ei ole tilastoitu, mutta korjauksiin päätyneistä havainnoista hiukan yli puolet on löytynyt ammattilaisten toimesta ja loput yleisöltä. Ylioppilastutkintolautakunta on sitoutunut julkistamaan kaikki tietoon tulleet tietoturvapoikkeamat kolmen kuukauden kuluessa. Olemme tottuneet vastaanottamaan sekä yksinkertaisia sähköposteja että ammattimaisia hyökkäyskoodin sisältäviä ilmoituksia.

Kiitokset kaikille entisille, nykyisille ja tuleville Abitin tietoturva-aukkojen etsijöille!

YTL:n tietoturva-asiantuntijoiden kuvaus palvelinhaavoittuvuuden mahdollistaneista tietoturva-aukoista

Tarkasteltu tietoturvahavainto koskee kolmea haavoittuvuutta Abitti-järjestelmässä, joita ketjuttamalla saavutetaan root-tason oikeudet koetilan palvelimella.

(Redirect, Server side request forgery (SSRF)) Ensimmäinen haavoittuvuus liittyy koetilan palvelimen suorittamaan NSA-valvontaan, jossa lähetetään valvontakutsu kokeeseen osallistuvan laitteelle. Valvontakutsu vastaanotetaan omalla palvelulla, josta palautetaan koetilan palvelimelle uudelleenohjauspyyntö (307). Uudelleenohjauspyyntö ohjautuu koetilan palvelimen paikalliseen palveluun, joka on paikallisessa osoitteessa 127.0.0.1 portissa 8021. Kyseiseen palveluun ei ole suoraa yhteyttä ulkopuolisilta laitteilta. Palvelimen sisäinen uudelleenohjaus aiheuttaa sen, että ulkopuolelta tullut käsky ajetaan sisäisessä järjestelmässä.

(Command injection) Toinen haavoittuvuus on koetilan palvelimen rajapinnassa, jolla on tarkoitus tallentaa koevastaukset. Kyseiseen järjestelmään ei ole mahdollista ajaa koetilan palvelimen ulkopuolelta käskyjä, mutta uudelleenohjauspyyntö ohjaa kutsun paikallisesti, jolloin kutsu ohjataan haavoittuvaan paikalliseen rajapintaan. Haavoittuvuus kyseisessä rajapinnassa on siinä, että siihen on mahdollista liittää mielivaltaisia komentoja argumentiksi ja rajapinta suorittaa komennot palvelimella.

(Privilege escalation) Kolmas haavoittuvuus liittyy “koetila” -käyttäjän sudo-oikeuksiin. Koetila:lla on oikeus luoda, sekä ajaa sudo-oikeuksilla (pääkäyttäjänä) skripti /tmp/ktp-update-work/ktp-update.sh. Tämä tarkoittaa sitä, että koetila-käyttäjä pystyy korottamaan oikeutensa pääkäyttäjätasolle luomalla oman skriptinsä kyseiseen hakemistoon ja ajamalla skriptinsä sudo /bin/bash /tmp/ktp-update-work/ktp-update.sh komennolla.

Ketjuttamalla kolme haavoittuvuutta hyökkääjä pystyy etänä suorittamaan haitallista koodia koetilan palvelimella (Remote code execution) pääkäyttäjänä.

Saatuaan järjestelmään pääsyn hyökkääjä pystyy ajamaan pääkäyttäjänä koodia koetilan palvelimella sekä tietyissä olosuhteissa myös kokelaiden päätelaiteilla. Tällöin vaarantuu tiedon eheys, luotettavuus ja saatavuus, niin palvelimella kuin kokelaiden järjestelmissä. Kokelaiden päätelaitteilla root-tasoisena koodin ajaminen altistaa myös tietyissä tapauksissa kokelaiden alkuperäisen käyttöjärjestelmän hyökkäyksille tai väärinkäytölle. Mielivaltaisen koodin ajaminen kokelaslaitteilla vaatii sen, että kokelaslaite hakee päivityksen palvelimelta. Kokelaslaite hakee päivityksen palvelimelta kokelaslaitteen käynnistyksen tai uudelleenkäynnistyksen yhteydessä.

Koetilan palvelimen koodissa haavoittuva funktio (Command injection) on ollut vuodesta 2015 lähtien, mutta sen hyödyntäminen SSRF-haavoittuvuuden avulla on ollut mahdollista vasta 1.10.2019 eteenpäin. Haavoittuvuudet ovat paikattu 4/2021.