IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C Discussion :

N'autoriser qu'un seul processus à acceder à un tube nommé


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    maa
    maa est déconnecté
    Membre éclairé
    Avatar de maa
    Inscrit en
    Octobre 2005
    Messages
    672
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Octobre 2005
    Messages : 672
    Par défaut N'autoriser qu'un seul processus à acceder à un tube nommé
    Bonjour,

    Je cherche un moyen, sous Windows, de sécuriser un tube nommé afin de n'autoriser qu'un seul processus à le lire et à écrire dedans. Est-ce possible ?

    J'ai vu que la fonction CreateNamedPipe() peut prendre en parametre un pointeur vers une structure SECURITY_ATTRIBUTES, ce qui permet d'y attacher un security descriptor. Dans le DACL de ce security descriptor est-il possible d'identifier un processus ou bien un thread? En d'autres termes il me semble qu'il faudrait que le thread ou le processus possede son propre Security Id (SID). Mais je doute que celà soit possible car je crois que le SID est plutot fait pour représenter un utilisateur ou un groupe...

    Par ailleurs, le processus que je cherche à authentifier n'est pas créé dans le même programme que celui qui créé le tube nommé, ce qui doit encore compliquer les choses je suppose...

    Je me suis un peu renseigné sur le modèle de controle d'accès sous Windows, mais je ne suis pas encore très à l'aise pour determiner ce qui est possible ou pas. J'aimerais bien quelques pistes si il existe des solutions à mon probleme.

    Merci d'avance.

  2. #2
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 395
    Par défaut
    Hélas, il n'existe pas de droits d'accès spécifiques aux processus: Seuls les privilèges peuvent être réglés de manière aussi fine.

    Les SID concernent les utilisateurs et les groupes, ainsi que les sessions (et les machines, mais je pense que ça sort du cadre de ce que tu cherches).
    Par contre, il me semble que depuis telle ou telle version de Windows, les services peuvent se voir attribuer plus ou moins automatiquement un "utilisateur" dédié.
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  3. #3
    maa
    maa est déconnecté
    Membre éclairé
    Avatar de maa
    Inscrit en
    Octobre 2005
    Messages
    672
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Octobre 2005
    Messages : 672
    Par défaut
    Merci pour ta réponse.

    En fait, quand un certain message est écrit dans le pipe, un événement est déclenché dans mon programme. Je voudrais donc éviter que n'importe quel processus externe puisse déclencher cet événement. A défaut de restreindre l'accès au pipe n'y a t-il pas moyen de contrôler qui a écrit le message ou bien garder "secret" le message entre l'auteur et le destinataire?

  4. #4
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 395
    Par défaut
    On ne peut rien garder secret au même utilisateur (ou à un admin), en dehors du Protected Media Path (DRM... ) ou des trucs genre niveaux d'intégrité (les trucs de l'UAC) dont je ne sais pas trop comment ils marchent.

    Le mot d'ordre en sécurité informatique, ce n'est pas d'empêcher les utilisateurs de se tirer dans le pied, mais de les empêcher de tirer sur les autres utilisateurs ou les admins.
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

Discussions similaires

  1. Réponses: 10
    Dernier message: 21/01/2014, 22h11
  2. Ouvrir plusieurs classeurs Excel dans un seul processus
    Par zoopsys dans le forum VBA Access
    Réponses: 2
    Dernier message: 06/12/2008, 17h27
  3. Réponses: 1
    Dernier message: 15/10/2007, 20h49
  4. lancer un seul processus en TSE toutes sessions confondues
    Par gudul dans le forum API, COM et SDKs
    Réponses: 11
    Dernier message: 17/03/2006, 18h55
  5. Autorisations pour "killer" certains processus
    Par DeusXL dans le forum MFC
    Réponses: 2
    Dernier message: 27/06/2005, 21h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo