Le Tue, May 23, 2023 at 09:30:28AM +0200, Paul Gaborit a crit :
Le 23/05/2023 09:21, Michel Verdier a crit:
Le 23 mai 2023 Paul Gaborit a crit :
Mais l’idal pour mieux se prmunir de cela, c’est un conteneur (docker ou
podman par exemple) pour compiler les documents de sources non contrles.
Sans entrer dans l’installation de docker ou autre, il suffit de se crer
un autre utilisateur ddi a.
C’est toujours mieux qui rien… mais l’intrt d’un conteneur c’est que
rien ne persiste une fois la compilation effectue (sauf les documents qu’on
a choisi d’extraire, gnralement le fichier PDF produit et ventuellement
certains fichiers annexes).
C’est comme cela que des services tels que Overleaf assure leur scurit.
Il y aurait une autre possibilit, pour vrifier les fichiers, d’autant
qu’il y a des manipulations de chanes complexes (c’est quand mme
l’essentiel du traitement de TeX) qui peuvent rendre extrmement
furtives les tentatives d’attaque, c’est de modifier
lgrement le moteur TeX afin de permettre d’interdire de rcrire les
primitives, en relevant un niveau de scurit (le principe des niveaux
existent dj dans TeX d’une certaine faon).
Et il est galement possible, parce que tout ce qui n’est pas du
traitement de chanes ncessite d’appeler le code ajout, de
remplacer le code ajout par un autre qui capture les tentatives
de sortie (le mme principe que les exceptions pour un systme
d’exploitation) : plutt que de tenter de deviner ce que le code
va faire, “chopper” (“trap”) du code inconnu qui essaie de franchir
certaines limites.
Bien entendu, pour la scurit (protection contre la malveillance
volontaire), cela concerne principalement des services qui sont proposs
afin de compiler des fichiers *.tex externes.
Mais pour la sret (se protger contre les fautes involontaires ;
contre nos propres bourdes, entre autres et principalement), il y a des
mesures prendre : le code ne doit pas lire n’importe quoi n’importe o
et ne doit pas surtout pas crire n’importe quoi. Dans kerTeX, par
exemple, les fichiers crits ont toujours une extension ajoute,
dfinie (et qui est lie TeX : “.tex”, “.dvi”).
noter que dans le code non modifi de TeX (et de METAFONT : le code est
identique), il subsiste une faute dans la gestion des chemins des
fichiers qui permet justement de rcrire un fichier sans extension,
et mme d’ouvrir le mme fichier comme source TeX, comme rsultat
et comme log. En mme temps…
Thierry Laronde <tlaronde +AT+ polynum +dot+ com>
http://www.kergis.com/
http://kertex.kergis.com/
Key fingerprint = 0FF7 E906 FBAF FE95 FD89 250D 52B1 AE95 6006 F40C