Improving the Security of Jupyter Autograding

dc.contributorAalto-yliopistofi
dc.contributorAalto Universityen
dc.contributor.advisorDarst, Richard
dc.contributor.authorLaine, Sami
dc.contributor.schoolPerustieteiden korkeakoulufi
dc.contributor.supervisorSuoranta, Sanna
dc.date.accessioned2024-05-26T17:20:07Z
dc.date.available2024-05-26T17:20:07Z
dc.date.issued2024-05-20
dc.description.abstractJupyter Notebooks are a popular tool for science. They are commonly used in education to distribute and grade assignments. When teaching large courses, teachers often use automatic grading because it allows the course staff to focus on tutoring instead of grading. A commonly used tool for automatic grading of Notebooks is Nbgrader, which makes it possible to distribute, collect, and grade the assignments. However, the default grading process of Nbgrader executes the code on the grading teacher’s own user account, which introduces significant security risks. This thesis presents a method to run the grading in a secure, easy-to-use, and fast manner by using a Kubernetes cluster. In this thesis, a proof of concept is created for extending the grading functionality of Nbgrader, to run the grading in a container that is isolated from the teacher’s user account. The grading process is run in a container that is created and managed by Kubernetes, which provides a secure and scalable environment for running the grading process. This allows the grading process to be isolated from the teacher’s user account and the filesystem of the course platform, which significantly reduces the security risks of the grading process. This new grading process allows Nbgrader to be used in a more secure manner than it has been previously possible, and with further development, it can be integrated into a Jupyter environment running in a Kubernetes cluster.en
dc.description.abstractJupyter-muistikirjat (Jupyter Notebook) ovat suosittu työkalu tieteessä. Niitä käytetään opetuksen apuna tehtävien jakamisessa ja arvioinnissa. Suuria kursseja opettaessaan opettajat käyttävät usein automaattista arviointia, koska se antaa kurssin henkilökunnalle mahdollisuuden keskittyä arvioinnin sijaan opiskelijoiden ohjaukseen. Yleisesti käytetty työkalu Jupyter-muistikirjojen automaattiseen arviointiin onn Nbgrader, jonka avulla tehtäviä voidaan jakaa, kerätä ja arvioida. Nbgraderin oletusarviointiprosessi kuitenkin suorittaa koodin arvioijan käyttäjätilillä, mikä aiheuttaa merkittäviä turvallisuusriskejä. Tässä diplomityössä esitellään menetelmä, jolla arviointi voidaan suorittaa turvallisella, helppokäyttöisellä ja nopella tavalla, Kubernetes-klusteria hyödyntäen. Diplomityössä luodaan konsepti, joka laajentaa Nbgraderin arviointitoiminnallisuutta, jotta arviointi voidaan suorittaa erillään opettajan käyttäjätilistä, eristetyssä hiekkalaatikossa. Arviointiprosessi suoritetaan Kubernetesin luomassa ja hallinnoimassa kontissa (container), joka tarjoaa turvallisen ja skaalautuvan ympäristön arviointiprosessin suorittamiseen. Tämä mahdollistaa arviointiprosessin eristämisen opettajan käyttäjätilistä ja kurssialustan tiedostojärjestelmästä, mikä vähentää merkittävästi arviointiprosessin turvallisuusriskejä. Tämän uuden arviointiprosessin ansiosta Nbgraderia voidaan käyttää aiempaa turvallisemmalla tavalla, ja jatkamalla kehitystyötä se voidaan integroida Kubernetes-klusterissa toimivaan Jupyter-ympäristöön.fi
dc.format.extent38
dc.format.mimetypeapplication/pdfen
dc.identifier.urihttps://aaltodoc.aalto.fi/handle/123456789/128171
dc.identifier.urnURN:NBN:fi:aalto-202405263773
dc.language.isoenen
dc.programmeMaster’s Programme in Computer, Communication and Information Sciencesfi
dc.programme.majorSecurity and Cloud Computingfi
dc.programme.mcodeSCI3084fi
dc.subject.keywordJupyteren
dc.subject.keywordnotebooken
dc.subject.keywordautogradingen
dc.subject.keywordautomatic gradingen
dc.subject.keywordSecurityen
dc.titleImproving the Security of Jupyter Autogradingen
dc.titleJupyter-automaattiarvionnin turvallisuuden parantaminenfi
dc.typeG2 Pro gradu, diplomityöfi
dc.type.ontasotMaster's thesisen
dc.type.ontasotDiplomityöfi
local.aalto.electroniconlyyes
local.aalto.openaccessyes

Files

Original bundle

Now showing 1 - 1 of 1
No Thumbnail Available
Name:
master_Laine_Sami_2024.pdf
Size:
572.5 KB
Format:
Adobe Portable Document Format