About this paper

Appears in:
Pages: 4315-4322
Publication year: 2011
ISBN: 978-84-615-0441-1
ISSN: 2340-1117

Conference name: 3rd International Conference on Education and New Learning Technologies
Dates: 4-6 July, 2011
Location: Barcelona, Spain

SCALABLE ARCHITECTURE FOR SECURE EXECUTION AND TEST OF STUDENTS' ASSIGNMENTS IN A VIRTUAL PROGRAMMING LAB

J.C. Rodríguez, E. Rubio Royo, Z. Hernández

University of Las Palmas of Gran Canaria (SPAIN)
When designing a virtual programming lab module capable to automatically execute and test student’s code, security becomes a major concern. There is a real chance for submission of malicious code (including unintentionally erroneous code) that could drives the system to a fault state due to a crash, a hang or a denial of service. Our proposal is to leave the code execution in charge of a separate system (jail system), so execution of any student’s code is never carry out by the server that runs the Learning Management System which receives and processes the submissions. Scalability is another main issue of our proposal; the architecture shown here is conscious of jail system faults and capable of adapting to load peaks by allowing increase the number of jail systems in use and redistributing workload between them, so responding to variable demands and keeping running under bad conditions. The jail system is built around a Linux daemon and its purpose is to execute programs in a controlled environment, under several constraints of time, memory, file size and number of simultaneous processes. Requests received by the jail server are executed in a sandbox. This sandbox is based on a chroot which changes the root directory of the file system to a fake file system that impedes execution of programs with privileges and limits the available resources. When the execution ends all the files created by the executed programs are deleted. Each execution uses a different virtual user randomly selected from a set of virtual users. This architecture has been successfully applied in the design of the Virtual Programming Lab (VPL) module for Moodle, developed at the University of Las Palmas de Gran Canaria.
@InProceedings{RODRIGUEZ2011SCA,
author = {Rodr{\'{i}}guez, J.C. and Rubio Royo, E. and Hern{\'{a}}ndez, Z.},
title = {SCALABLE ARCHITECTURE FOR SECURE EXECUTION AND TEST OF STUDENTS' ASSIGNMENTS IN A VIRTUAL PROGRAMMING LAB},
series = {3rd International Conference on Education and New Learning Technologies},
booktitle = {EDULEARN11 Proceedings},
isbn = {978-84-615-0441-1},
issn = {2340-1117},
publisher = {IATED},
location = {Barcelona, Spain},
month = {4-6 July, 2011},
year = {2011},
pages = {4315-4322}}
TY - CONF
AU - J.C. Rodríguez AU - E. Rubio Royo AU - Z. Hernández
TI - SCALABLE ARCHITECTURE FOR SECURE EXECUTION AND TEST OF STUDENTS' ASSIGNMENTS IN A VIRTUAL PROGRAMMING LAB
SN - 978-84-615-0441-1/2340-1117
PY - 2011
Y1 - 4-6 July, 2011
CI - Barcelona, Spain
JO - 3rd International Conference on Education and New Learning Technologies
JA - EDULEARN11 Proceedings
SP - 4315
EP - 4322
ER -
J.C. Rodríguez, E. Rubio Royo, Z. Hernández (2011) SCALABLE ARCHITECTURE FOR SECURE EXECUTION AND TEST OF STUDENTS' ASSIGNMENTS IN A VIRTUAL PROGRAMMING LAB, EDULEARN11 Proceedings, pp. 4315-4322.
User:
Pass: