Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Empêcher les modifications d'un fichier

13 réponses
Avatar
JKB
Bonjour à tous,

Je cherche le moyen d'empêcher la modification d'un fichier binaire
sur un fs quelconque. J'ai ressorti ma bible POSIX, mais soit rien
n'est prévu pour cela, soit j'ai raté quelque chose. En gros,
j'arrive à poser des verrous coopératifs ou exclusifs sur un
fichier, mais ça n'empêche pas qu'un tiers vienne virer ou modifier
le fichier en question s'il ne cherche pas à acquérir le verrou.
La solution (pas propre) pourrait donc être le verrouillage de
l'inode, mais je n'ai rien trouvé de probant.

Remarquez, je m'y prends peut-être comme un manche ;-) Mon problème
est le suivant : je calcule une somme de contrôle sur un fichier
sensible avant de l'utiliser. Le but est de verrouiller ce fichier
pour qu'il ne puisse pas être modifié dans le dos de l'utilisateur
entre le moment où est calculée cette somme de contrôle et la
lecture des données. Je ne peux pas garder l'ensemble des données
dans la mémoire, ce serait trop simple.

Une idée ?

Merci d'avance,

JKB

--
Le cerveau, c'est un véritable scandale écologique. Il représente 2% de notre
masse corporelle, mais disperse à lui seul 25% de l'énergie que nous
consommons tous les jours.

10 réponses

1 2
Avatar
Nicolas George
JKB wrote in message :
Je cherche le moyen d'empêcher la modification d'un fichier binaire
sur un fs quelconque.



Tu changes les permissions du fichier et du répertoire qui le contient, dès
leur création.

Si l'offensive que tu crains vient de root ou d'un processus ayant les mêmes
droits que toi, tu es de toutes façons déjà mort, puisqu'ils pourraient
aussi bien te ptracer pour te faire prendre des vessies pour des lanternes.
Avatar
JKB
Le 05-03-2010, ? propos de
Re: Empêcher les modifications d'un fichier,
Nicolas George ?crivait dans fr.comp.os.unix :
JKB wrote in message :
Je cherche le moyen d'empêcher la modification d'un fichier binaire
sur un fs quelconque.



Tu changes les permissions du fichier et du répertoire qui le contient, dès
leur création.



Non, trop simple, et ça, je sais faire ;-)

Le fichier en question est dans /usr/local/bin ou dans tout autre
répertoire que je ne peux verrouiller simplement (en fait, c'est un
préprocesseur particulier et je ne veux pas qu'il puisse être remplacé
par autre chose).

Mon problème est le suivant. machin compile ce préprocesseur qui est
utilisé par un autre outil. Machin à donc les droits de modification
de cet outil. Or l'outil en question traite des données sensibles
par ce préprocesseur, mais machin n'a pas à récupérer les
différentes étapes du traitements. Machin pourrait donc remplacer le
préprocesseur en question par un script qui appelle ce préprocesseur
en gardant une copie du fichier initial. Ce que je cherche à faire,
c'est juste de m'assurer lors de l'exécution de ce préprocesseur,
qu'il est bien conforme à ce que j'attends.

JKB

--
Le cerveau, c'est un véritable scandale écologique. Il représente 2% de notre
masse corporelle, mais disperse à lui seul 25% de l'énergie que nous
consommons tous les jours.
Avatar
Nicolas George
JKB wrote in message :
Mon problème est le suivant. machin compile ce préprocesseur qui est
utilisé par un autre outil. Machin à donc les droits de modification
de cet outil. Or l'outil en question traite des données sensibles
par ce préprocesseur, mais machin n'a pas à récupérer les
différentes étapes du traitements.



Bon, ben non, tu ne peux pas faire ça sous Unix.
Avatar
JKB
Le 05-03-2010, ? propos de
Re: Empêcher les modifications d'un fichier,
Nicolas George ?crivait dans fr.comp.os.unix :
JKB wrote in message :
Mon problème est le suivant. machin compile ce préprocesseur qui est
utilisé par un autre outil. Machin à donc les droits de modification
de cet outil. Or l'outil en question traite des données sensibles
par ce préprocesseur, mais machin n'a pas à récupérer les
différentes étapes du traitements.



Bon, ben non, tu ne peux pas faire ça sous Unix.



Et zut... Je n'ai aucune envie de transformer ce préprocesseur écrit
par un pied en bibliothèque liée statiquement tellement il y a de
fuite mémoire dedans ! Mais si c'est la seule solution, on va le
faire :-(

Merci,

JKB

--
Le cerveau, c'est un véritable scandale écologique. Il représente 2% de notre
masse corporelle, mais disperse à lui seul 25% de l'énergie que nous
consommons tous les jours.
Avatar
Nicolas George
JKB wrote in message :
Et zut... Je n'ai aucune envie de transformer ce préprocesseur écrit
par un pied en bibliothèque liée statiquement tellement il y a de
fuite mémoire dedans ! Mais si c'est la seule solution, on va le
faire :-(



Si tu envisages de lier statiquement, c'est qu'une copie supplémentaire du
machin ne pose pas de problème. Dans ce cas, je t'ai donné la solution : tu
changes les droits sur le répertoire.

Mais il y a de fortes chances que la sécurité gagnée ainsi soit du niveau
d'un sparadrap sur une moustiquaire.
Avatar
JKB
Le 05-03-2010, ? propos de
Re: Empêcher les modifications d'un fichier,
Nicolas George ?crivait dans fr.comp.os.unix :
JKB wrote in message :
Et zut... Je n'ai aucune envie de transformer ce préprocesseur écrit
par un pied en bibliothèque liée statiquement tellement il y a de
fuite mémoire dedans ! Mais si c'est la seule solution, on va le
faire :-(



Si tu envisages de lier statiquement, c'est qu'une copie supplémentaire du
machin ne pose pas de problème. Dans ce cas, je t'ai donné la solution : tu
changes les droits sur le répertoire.



Ça change au contraire tout puisque les données restent à
l'intérieur de l'outil et ne sont pas envoyées à un préprocesseur
externe.

JKB

--
Le cerveau, c'est un véritable scandale écologique. Il représente 2% de notre
masse corporelle, mais disperse à lui seul 25% de l'énergie que nous
consommons tous les jours.
Avatar
Kojak
Le vendredi 05 mars à 09:49:48,
JKB a écrit :

Je cherche le moyen d'empêcher la modification d'un fichier
binaire sur un fs quelconque. J'ai ressorti ma bible POSIX, mais soit
rien n'est prévu pour cela, soit j'ai raté quelque chose. En gr os,
j'arrive à poser des verrous coopératifs ou exclusifs sur un
fichier, mais ça n'empêche pas qu'un tiers vienne virer ou
modifier le fichier en question s'il ne cherche pas à acquérir le
verrou. La solution (pas propre) pourrait donc être le verrouillage de
l'inode, mais je n'ai rien trouvé de probant.



Sur le coup, en lisant juste la première ligne j'ai pensé aux
attributs de fichiers mais, malheureusement, vu la suite de ta
requête, ça ne marchera pas non plus. La seul chose qui me vie nne à
l'esprit c'est de passer par les RBAC, MAC, DTE ou autres,... Mais,
là, nous ne sommes plus dans le registre du tout-venant. Bref, t'es
mal barré.

Sur ce, bon appétit ! ;-)

--
Jacques.
Avatar
JKB
Le 05-03-2010, ? propos de
Re: Empêcher les modifications d'un fichier,
Kojak ?crivait dans fr.comp.os.unix :
Le vendredi 05 mars à 09:49:48,
JKB a écrit :

Je cherche le moyen d'empêcher la modification d'un fichier
binaire sur un fs quelconque. J'ai ressorti ma bible POSIX, mais soit
rien n'est prévu pour cela, soit j'ai raté quelque chose. En gros,
j'arrive à poser des verrous coopératifs ou exclusifs sur un
fichier, mais ça n'empêche pas qu'un tiers vienne virer ou
modifier le fichier en question s'il ne cherche pas à acquérir le
verrou. La solution (pas propre) pourrait donc être le verrouillage de
l'inode, mais je n'ai rien trouvé de probant.



Sur le coup, en lisant juste la première ligne j'ai pensé aux
attributs de fichiers mais, malheureusement, vu la suite de ta
requête, ça ne marchera pas non plus. La seul chose qui me vienne à
l'esprit c'est de passer par les RBAC, MAC, DTE ou autres,... Mais,
là, nous ne sommes plus dans le registre du tout-venant. Bref, t'es
mal barré.

Sur ce, bon appétit ! ;-)



Merci. Je vais aller poser la question à mon rantamplan à moi qui me
colle aux basques. Il devrait avoir une idée... Il a toujours des
idées sur tout et il fait surtout rire. Je crois que j'en ai besoin
;-)

JKB

--
Le cerveau, c'est un véritable scandale écologique. Il représente 2% de notre
masse corporelle, mais disperse à lui seul 25% de l'énergie que nous
consommons tous les jours.
Avatar
Nicolas George
JKB wrote in message :
Ça change au contraire tout puisque les données restent à
l'intérieur de l'outil et ne sont pas envoyées à un préprocesseur
externe.



Tu n'as pas compris ce que je te suggérais : fais une copie de ton machin
dans un répertoire où tu es le seul à avoir les droits. Après ça, tu fais ce
que tu veux.
Avatar
JB
Nicolas George wrote:

JKB wrote in message :
Ça change au contraire tout puisque les données restent à
l'intérieur de l'outil et ne sont pas envoyées à un préprocesseur
externe.



Tu n'as pas compris ce que je te suggérais : fais une copie de ton machin
dans un répertoire où tu es le seul à avoir les droits. Après ça, tu fais
ce que tu veux.



bonsoir,
selinux répond-il aux besoins?
A+
JB
1 2