Accueil › Forums › Programmation WIMS › Programmation dans le langage wims › Exécution sécurisée de code
Étiqueté : chroot, docker, programmation
- Ce sujet contient 7 réponses, 4 participants et a été mis à jour pour la dernière fois par
jm.evers, le il y a 6 années.
-
AuteurMessages
-
-
3 septembre 2017 à 22:52 #3948
Nicolas Thiéry
Participant::Ce message est pour information, et pour founir un peu de contexte au message qui suivra.
Avec Judicaël Courant, prof en classes prépa au Lycée de la Martinière
à Lyon, nous avons fait la semaine dernière un sprint pour implanter
une nouvelle primitive dans WIMS permettant d’exécuter, depuis un
exercice OEF quelconque, du code arbitraire de manière sûre dans un bac à sable
isolé. Xiao avait développé dans les années 2000 une commande
similaire ch..root; celle ci a des soucis de portabilité et
n’est donc pas activée dans WIMS. En gros on reprend le flambeau
avec les technologies actuelles (docker, …).Notre cas d’utilisation est la création d’exercices WIMS pour
l’informatique, où les étudiants doivent écrire des programmes et être
évalués dessus. En l’occurence c’est pour le moment pour la première
année d’université et les classes préparatoires respectivement.Voici la description proposée de cette primitive:
secure_exec <dir> <cmd>
Transfère dans un bac à sable le contenu du sous-répertoire
<dir> du répertoire de session de l’étudiant, et y exécute la
commande <cmd>.EXEMPLE:
\text{output = wims(exec secure_exec « tmp » « python fichier.py »)}
Dans la pratique, l’exécution est déportée sur un service web distant.
L’utilisation de secure_exec nécessite donc de déployer un tel service
web. Notre déploiement actuel, hébergée sur le cloud de l’université
Paris Sud, utilise docker pour l’isolation. Le code dans son état
actuel (expérimental) est sur:https://gitlri.lri.fr/nthiery/wims-info/tree/master/secure_exec
Au total, il s’agit de quelques lignes côté client (=serveur wims) et
2-3 pages — configuration comprise — côté service web. Il
faudra rajouter en sus la documentation.Nous rajouterons des précisions ici lorsque ce projet aura maturé; j’espère dans quelques jours/semaines. D’ici là, nous sommes preneurs de commentaires et suggestions, sur la syntaxe, l’implantation ou des usages potientiels.
-
4 septembre 2017 à 12:09 #3954
-
4 septembre 2017 à 20:19 #3957
bernadette
Maître des clés-
5 septembre 2017 à 09:45 #3960
Olivier
Maître des clés::Les modules d’informatique qu’avait fait Xiao demandaient autre chose.
En effet : il me semble que ce qu’avait mis en place Xiao Gang pour sécuriser son serveur (en plus de chroot), c’était son systeme « sysmask »
les sources sont toujours ici :
sourceforge.net/projects/sysmaskEt la doc ici : wims.unice.fr/sysmask/doc
-
Cette réponse a été modifiée le il y a 6 années par
Olivier.
-
Cette réponse a été modifiée le il y a 6 années par
Olivier.
Olivier Bado-Faustin / Université Côte d’Azur
-
Cette réponse a été modifiée le il y a 6 années par
-
5 septembre 2017 à 09:55 #3962
Olivier
Maître des clés::Notez également que grace à l’Internet Web archive, on retrouve le module WIMS qui permettait aux potentiels hackers de tenter de contrer son systeme de sécurité.
http://web.archive.org/web/20080601200544/http://wims.unice.fr/wims/wims.cgi?module=adm/unice/challengeEt il est toujours resté inviolé.
Aujourd’hui Wims.unice.fr est installé sur un autre serveur sans sysmask, c’est pourquoi le module challenge ne s’y trouve plus.
-
Cette réponse a été modifiée le il y a 6 années par
Olivier.
Olivier Bado-Faustin / Université Côte d’Azur
-
Cette réponse a été modifiée le il y a 6 années par
-
-
4 septembre 2017 à 22:54 #3958
-
5 septembre 2017 à 12:56 #3965
bernadette
Maître des clés -
5 septembre 2017 à 14:08 #3966
jm.evers
Participant::it was a small joke…
but that’s why you can’t make exercises using perl,python,C,lisp,haskell,ruby etc.etc. in a wims chroot : because they are not installed…however in servers -without the extra security of a chroot- one can try to escape to the « real system » ,when exploiting some « new_and_unknown_to_wims_security_flaw » in the aux. software needed by wims.
-
-
AuteurMessages
- Vous devez être connecté pour répondre à ce sujet.