Aviso: para depositar documentos, por favor, inicia sesión e identifícate con tu cuenta de correo institucional de la UCM con el botón MI CUENTA UCM. No emplees la opción AUTENTICACIÓN CON CONTRASEÑA
 

Ejecución segura y con limitación de memoria de programas en Python

dc.contributor.advisorGómez Martín, Marco Antonio
dc.contributor.advisorGómez Martín, Pedro Pablo
dc.contributor.authorSarnago Ojuel, David
dc.date.accessioned2023-06-17T10:53:57Z
dc.date.available2023-06-17T10:53:57Z
dc.date.issued2021-06
dc.degree.titleGrado en Ingeniería Informática
dc.descriptionTrabajo Fin de Grado en Ingeniería Informática, Facultad de Informática UCM, Departamento de Ingeniería del Software e Inteligencia Artificial, curso 2020-2021
dc.description.abstractLos jueces en línea, como por ejemplo ¡Acepta el Reto! 1 (Gómez-Martín y Gómez-Martín, 2017), reciben programas enviados por los usuarios y los ejecutan para comprobar su corrección. Esta ejecución debe ser realizada bajo un entorno seguro, que no ponga en riesgo la máquina del juez, y bajo una restricción de memoria impuesta por cada problema. Desarrollar un sistema de ejecución seguro con limitación de memoria para programas en Python está, como el título indica, formado por dos puntos fundamentales. La limitación de memoria de un programa permite al entorno restringir el uso total que este puede hacer ejecutándose en su interior. El objetivo no solo es evitar poner en riesgo el mismo entorno debido al alto uso de memoria, sino el de implementar una limitación mucho más restrictiva para los programas que permita, por ejemplo, discriminar soluciones con consumo lineal de memoria. La ejecución segura permite al entorno ejecutar cualquier tipo de programa sin temer por la integridad de la máquina que lo está ejecutando. Esto se puede conseguir restringiendo las funciones que se pueden emplear dentro de un programa o realizando su ejecución en un entorno que por sí mismo no permita la ejecución de ciertas funciones. Este trabajo consiste en un estudio e implementación de diferentes formas de abarcar los dos puntos anteriores y unirlos en un solo programa, capaz de ejecutar cualquier tipo de código Python de forma segura y con una limitación sobre la memoria máxima que puede utilizar.
dc.description.abstractOnline judges like ¡Acepta el Reto! 1 (Gómez-Martín y Gómez-Martín, 2017) receive small programs submitted by the users and run them to check their correctness. This execution must be carried out in a safe environment, which does not put the judge’s machine at risk, and under memory restriction imposed by each problem. Developing a memory-limited secure execution system for Python is, as the title says, made up of two essential points. Limiting the memory of a program allows the environment to restrict the maximum memory that can be used by them inside it. The goal is not only to avoid putting the environment at risk due to high memory usage, but to implement a more restrictive limitation for the programs to discriminate, for example, solutions with linear memory consumption. Safe execution allows the environment to run any kind of program without worrying about the integrity of the machine that is running it. This can be achieved by restricting the functions that can be used in the programs or by running them inside an environment that doesn’t allow the execution of those functions by default. Este trabajo consiste en un estudio de las diferentes formas de abarcar los dos puntos anteriores y unirlos en un solo programa, capaz de ejecutar cualquier tipo de código Python de forma segura y con una limitación sobre la memoria máxima que puede utilizar. This work consists then on a study and implementation of the different ways of dealing with the last two points and combining them on a single program, capable of executing any kind of Python code safely and memory limited.
dc.description.departmentDepto. de Ingeniería de Software e Inteligencia Artificial (ISIA)
dc.description.facultyFac. de Informática
dc.description.refereedTRUE
dc.description.statusunpub
dc.eprint.idhttps://eprints.ucm.es/id/eprint/66897
dc.identifier.urihttps://hdl.handle.net/20.500.14352/10424
dc.language.isospa
dc.page.total84
dc.rightsAtribución-NoComercial 3.0 España
dc.rights.accessRightsopen access
dc.rights.urihttps://creativecommons.org/licenses/by-nc/3.0/es/
dc.subject.cdu004(043.3)
dc.subject.keywordPython
dc.subject.keywordEjecución segura
dc.subject.keywordLimitación de memoria
dc.subject.keyword¡Acep- ta el Reto!
dc.subject.keywordLinux
dc.subject.keywordChroot
dc.subject.keywordJuez en línea
dc.subject.keywordLlamadas al sistema.
dc.subject.keywordSafe execution
dc.subject.keywordMemory-limited
dc.subject.keyword¡Acepta el Reto!
dc.subject.keywordOnline judges
dc.subject.keywordSystem calls.
dc.subject.ucmInformática (Informática)
dc.subject.unesco1203.17 Informática
dc.titleEjecución segura y con limitación de memoria de programas en Python
dc.typebachelor thesis
dspace.entity.typePublication
relation.isAdvisorOfPublication47690a94-e97c-4f96-917d-569d14ecba3b
relation.isAdvisorOfPublicationef9526b3-169c-4e45-b8f9-2e82965baecb
relation.isAdvisorOfPublication.latestForDiscovery47690a94-e97c-4f96-917d-569d14ecba3b

Download

Original bundle

Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
SARNAGO OJUEL 69816_DAVID_SARNAGO_OJUEL_Memoria_TFG_David_Sarnago_Ojuel_784051_547081443.pdf
Size:
1.12 MB
Format:
Adobe Portable Document Format