Improving the Security of Jupyter Autograding
dc.contributor | Aalto-yliopisto | fi |
dc.contributor | Aalto University | en |
dc.contributor.advisor | Darst, Richard | |
dc.contributor.author | Laine, Sami | |
dc.contributor.school | Perustieteiden korkeakoulu | fi |
dc.contributor.supervisor | Suoranta, Sanna | |
dc.date.accessioned | 2024-05-26T17:20:07Z | |
dc.date.available | 2024-05-26T17:20:07Z | |
dc.date.issued | 2024-05-20 | |
dc.description.abstract | Jupyter 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.abstract | Jupyter-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.extent | 38 | |
dc.format.mimetype | application/pdf | en |
dc.identifier.uri | https://aaltodoc.aalto.fi/handle/123456789/128171 | |
dc.identifier.urn | URN:NBN:fi:aalto-202405263773 | |
dc.language.iso | en | en |
dc.programme | Master’s Programme in Computer, Communication and Information Sciences | fi |
dc.programme.major | Security and Cloud Computing | fi |
dc.programme.mcode | SCI3084 | fi |
dc.subject.keyword | Jupyter | en |
dc.subject.keyword | notebook | en |
dc.subject.keyword | autograding | en |
dc.subject.keyword | automatic grading | en |
dc.subject.keyword | Security | en |
dc.title | Improving the Security of Jupyter Autograding | en |
dc.title | Jupyter-automaattiarvionnin turvallisuuden parantaminen | fi |
dc.type | G2 Pro gradu, diplomityö | fi |
dc.type.ontasot | Master's thesis | en |
dc.type.ontasot | Diplomityö | fi |
local.aalto.electroniconly | yes | |
local.aalto.openaccess | yes |
Files
Original bundle
1 - 1 of 1
No Thumbnail Available
- Name:
- master_Laine_Sami_2024.pdf
- Size:
- 572.5 KB
- Format:
- Adobe Portable Document Format