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

Sécurité Discussion :

securiser un processus


Sujet :

Sécurité

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 18
    Points : 6
    Points
    6
    Par défaut securiser un processus
    Bonjour,

    Voila , j'ai developpé un programme en C.
    Ce que je voudrais, c'est m'assurer que lorsque je le lance, il ne soit pas possible de recuperer des informations sur le processus ( ne pas pouvoir acceder a la memoire utiliser, ne pas avoir de dossier /proc/numero_PiD/,...).
    En faite je voudrais arriver a ne laisser sortir aucune information de ce processus.

    Merci d'avance

  2. #2
    Expert éminent sénior Avatar de frp31
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2006
    Messages
    5 196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2006
    Messages : 5 196
    Points : 12 264
    Points
    12 264
    Par défaut
    c'est strictement impossible car sous unix tout est fichier y compris un processus et donc sa création dans /proc est une des condition pour la réussite de la création du processus.

    la seule chose que tu peux faire c'est empêcher l'entrée dans /proc/<son n°>/*
    après la création du processus mais root le pourra quand même ainsi que les accès par chemin absolu.

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 18
    Points : 6
    Points
    6
    Par défaut
    merci pour ta reponse elle commence a m'eclairer.
    Si jai bien compris je bloque l'acces au repertoire portant le numero du processus.
    Comment est ce que je peux faire ca?

    En changeant les droits ou peut etre en bloquant le repertoire par un mot de passe pour l'acces?

    Autre question, est ce qu'il existe d'autre de type de fuite que celle qui se trouve dans le repertoire /proc/

    Qu'est ce que vous en pensez?

  4. #4
    Rédacteur

    Avatar de Davidbrcz
    Homme Profil pro
    Ing Supaéro - Doctorant ONERA
    Inscrit en
    Juin 2006
    Messages
    2 307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ing Supaéro - Doctorant ONERA

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 307
    Points : 4 732
    Points
    4 732
    Par défaut
    Pourquoi as tu donc besoin de cacher ses infos ?
    "Never use brute force in fighting an exponential." (Andrei Alexandrescu)

    Mes articles dont Conseils divers sur le C++
    Une très bonne doc sur le C++ (en) Why linux is better (fr)

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 18
    Points : 6
    Points
    6
    Par défaut
    J'ai besoin de cacher des infos parceque je fait de la cryptographie.
    Et que toutes infos qui peut-etre recuperer au cours d'un chiffrement est un information pour un attaquant.

  6. #6
    Expert éminent sénior Avatar de frp31
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2006
    Messages
    5 196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2006
    Messages : 5 196
    Points : 12 264
    Points
    12 264
    Par défaut
    Citation Envoyé par laconi87 Voir le message
    J'ai besoin de cacher des infos parceque je fait de la cryptographie.
    Et que toutes infos qui peut-etre recuperer au cours d'un chiffrement est un information pour un attaquant.
    oui enfin faut déjà réussir à entrer sur le réseau, à identifier la machine qui contient le soft de crypto, à y prendre la main, à obtenir les droits root et savoir où et quoi chercher, et réussir à installer un sniffer, et reussir à renvoyer les resultats vers le poste de l'attaquant qui après ça peut enfin attaquer potentiellement après une longue analyse.....

    à mon avis il vaut mieux sécuriser la façon de faire que lepsote dans un tel cas

    PS: pour info dans les rares boites faisant de la crypto où j'ai pu passer, les machines sont purement et simplement isolées du réseau sauf pour l'émission des résultats 1 à 3 fois 30minutes par semaine...

    ça c'est de la vraie sécurité...

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 18
    Points : 6
    Points
    6
    Par défaut
    oui je suis completement d'accord avec toi.
    Mais ce que je cherche a faire c'est d'etudier d'un point de vue théorique.
    Enfin ce que je veux dire c'est que si quelqu'un passe au travers de tous les si alors qu'elle info peut t-il recuperer? Et donc Comment l'en empecher?

  8. #8
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 18
    Points : 6
    Points
    6
    Par défaut
    Bonjour, je me permet de relancer la discution car j'ai vraiment besoin d'avoir une reponse.

    Il est clair que la securite peut etre vue sur plusieurs point de vue. Mais il me parait aussi evident que en matiere de securite il faut toujours imaginer le pire qu'il puisse arriver. D'autre part il existe de nombreux types d'attaques en cryptographie et notament une ou on considere qu'un attaquant arriverait a prendre possession de la machine.

    Si tel etait le cas, je me demande que l information pourrait etre obtenu par l'attaquant du a des "fuites" engendrer par le processus. Ce que j'entend par fuite, c'est quel sont les traces qu'un processus fait apparaitre pendant son execution, quel sont celle laissé apres l'execution s'il y en a(Noter que je ne pas de fuite memoire dixit valgrind)?

    En vous remerciant de vous interesser a mon probleme.

    Nicolas

  9. #9
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    2
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 2
    Points : 2
    Points
    2
    Par défaut Peut être...
    Bonjour, tu crois qu'un hacker surveillerais un processus qui ne porterais pas le nom de ton programme ? Peut être est il possible de binder une méthode dans une autre appli style firefox ou quoi. Et utiliser un processus comme un leurre. Je pense que c'est possible a réaliser...
    Mais bon si le hacker s'amuse a vérifier tous les processus un par un.... Ben garde la méthode en dehors du processus, style dans une clef usb avec reconnaissance d' empreinte... Ben sinon je pensait a cet methode d'utiliser 2 ordis... style un qui recoit l'information, l'envoie à l'autre qui lui décrype l'information... Celui qui décrypte l'information ne peut que recevoir une information et ne pas en envoyer.... enfin je sais pas si je suis dans le bon

  10. #10
    Membre éprouvé
    Avatar de Pouic
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    669
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 669
    Points : 977
    Points
    977
    Par défaut
    Si l'attaquant est root sur ta machine, tu ne peux rien faire. À terme, il arrivera à ses fins.
    La seule chose que sur laquelle tu peux influer est le temps qu'il mettra à trouver l'info. Donc cacher suffisamment les choses pour que
    temps accès donnée > temps validité de la donnée

    Mais ça restera du bricolage.
    Software becomes slower faster than hardware becomes faster
    [size=1]
    http://xrenault.developpez.com

  11. #11
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 18
    Points : 6
    Points
    6
    Par défaut
    Tout d'abord merci pour votre participation car je commençais a désesperer que quelqu'un s'interesse a mon probleme.

    Deja pour ce qui est d'une solution utilisant deux pc, je pense que c'est encore plus dangereux car il y aurait forcement des echanges d'information entre les pc et pour le coup je pense que cela faciliterais le travail de l'attaquant pour recuperer des infos.

    Pour ce qui est du temps d'acces au donnée >temps de validité des données je pense avoir un chiffrement qui tourne suffisament rapidement pour que cela soit fait.

    En fait plus j'y reflechi et d'apres ce que j'ai pu lire ici et la les seules fuites proviendrait du dossier /proc/num_Pid. En faite j'ai entendu dire qu'il existe des bibliothèques en C en rapport avec la securite d'un processus et je pense que je vais essayer de me tourner vers ca.

    Merci a tous.

    Je vais poster une discutionsur le forum C.
    Si j'y obtient des infos je mettrais le lien de la discussion.

  12. #12
    Membre éprouvé
    Avatar de Pouic
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    669
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 669
    Points : 977
    Points
    977
    Par défaut
    Hm, je n'ai pas dû me faire comprendre.
    Il est inutile et naif de croire que tu pourras cacher des informations à quelqu'un qui est root sur ta machine.
    Même en prenant des techniques s'apparentant à des rootkits, il y a *toujours* des traces qui restent. Une fois ces traces découvertes, il est enfantin de récupérer la ou les données sensibles.

    Je connais plusieurs labo qui travaillent sur des solutions matérielles de ce genre de chose, mais au niveau software, il est quasi-impossible d'empêcher la récupération d'infos.

    Donc soit tu pars du principe que ton processus de chiffrement est exécuté dans une sandbox, sur une machine isolée du réseau, et que tu transfères les données à chiffre par clef usb. Soit tu regardes ce qui se fait en hardware

    Tu peux toujours penser à modifier ton kernel, mais encore une fois, si l'attaquant est root sur ta bécane, c'est inutile.
    Software becomes slower faster than hardware becomes faster
    [size=1]
    http://xrenault.developpez.com

  13. #13
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 18
    Points : 6
    Points
    6
    Par défaut
    Merci pouic.

    La solution n'est donc clairement pas dans la machine mais dans la sécurisation de sa position et de son utilisation.

    Merci encore.

    Nicolas

  14. #14
    Membre actif
    Homme Profil pro
    Ingénieur sécurité
    Inscrit en
    Juillet 2007
    Messages
    193
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur sécurité
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2007
    Messages : 193
    Points : 274
    Points
    274
    Par défaut
    surtout qu'il faudrait que tu pense a une multitude de chose, offuscation pour essayer d'empecher que l'appli soit reverser, empecher peut etre les LD_PRELOAD en compilant ton application en static, empecher ton application d'etre ptracé afin qu'on ne puissse atteindre la memoire de ton programme comme tu le souhaitais (par exemple un processeur peut etre ptracer une seul fois, donc si ton application ne peut pas se ptracer elle meme c'est que kkun d'autre le fait).

    Enfin tu vois il y a beaucoup trop de choses a penser, et une fois que tu auras fais tout ca ton application ne sera toujours pas secure. bref voila ce que tu souhaites est un peu trop vaste.

  15. #15
    Rédacteur

    Avatar de millie
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    7 015
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 015
    Points : 9 818
    Points
    9 818
    Par défaut
    Citation Envoyé par Elboras Voir le message
    surtout qu'il faudrait que tu pense a une multitude de chose, offuscation pour essayer d'empecher que l'appli soit reverser, empecher peut etre les LD_PRELOAD en compilant ton application en static, empecher ton application d'etre ptracé afin qu'on ne puissse atteindre la memoire de ton programme comme tu le souhaitais (par exemple un processeur peut etre ptracer une seul fois, donc si ton application ne peut pas se ptracer elle meme c'est que kkun d'autre le fait).
    Je plussoies, c'est terrible ce que l'on peut faire à une application avec LD_PRELOAD. Maintenant, je ne suis pas sûr que mettre tous ses efforts dans la sécurisation d'un processus soit vraiment utile, si une personne est root, il pourra faire à peu près ce qu'il veut.
    Je ne répondrai à aucune question technique en privé

Discussions similaires

  1. securiser un processus C
    Par laconi87 dans le forum POSIX
    Réponses: 12
    Dernier message: 19/12/2007, 10h22
  2. Processus paralleles
    Par Lyes dans le forum Threads & Processus
    Réponses: 4
    Dernier message: 11/02/2003, 13h04
  3. probleme avec les processus
    Par saidi dans le forum Autres éditeurs
    Réponses: 1
    Dernier message: 05/02/2003, 00h18
  4. [VB6] [Système] Tuer un processus courant
    Par mdoyer dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 22/10/2002, 14h47
  5. Réponses: 2
    Dernier message: 04/10/2002, 09h13

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