|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : novembre 2007 Messages : 18 ![]() |
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 |
|
|
00
|
|
|
#2 |
|
Expert Confirmé Sénior
![]() francois Ingénieur systèmes et réseaux Inscription : juillet 2006 Messages : 3 546 ![]() |
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. |
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : novembre 2007 Messages : 18 ![]() |
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? |
|
|
00
|
|
|
#4 |
![]() ![]() |
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 la STL (en) Why linux is better (fr) |
|
|
00
|
|
|
#5 |
|
Invité de passage
![]() Inscription : novembre 2007 Messages : 18 ![]() |
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. |
|
|
00
|
|
|
#6 | |
|
Expert Confirmé Sénior
![]() francois Ingénieur systèmes et réseaux Inscription : juillet 2006 Messages : 3 546 ![]() |
Citation:
à 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é... |
|
|
|
00
|
|
|
#7 |
|
Invité de passage
![]() Inscription : novembre 2007 Messages : 18 ![]() |
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? |
|
|
00
|
|
|
#8 |
|
Invité de passage
![]() Inscription : novembre 2007 Messages : 18 ![]() |
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 |
|
|
00
|
|
|
#9 |
|
Invité de passage
![]() Inscription : juin 2006 Messages : 2 ![]() |
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.... |
|
|
00
|
|
|
#10 |
|
Membre émérite
![]() ![]() Inscription : octobre 2004 Messages : 668 ![]() |
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 http://xrenault.developpez.com API C standard (C ANSI ) |
|
|
00
|
|
|
#11 |
|
Invité de passage
![]() Inscription : novembre 2007 Messages : 18 ![]() |
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. |
|
|
00
|
|
|
#12 |
|
Membre émérite
![]() ![]() Inscription : octobre 2004 Messages : 668 ![]() |
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 http://xrenault.developpez.com API C standard (C ANSI ) |
|
|
00
|
|
|
#13 |
|
Invité de passage
![]() Inscription : novembre 2007 Messages : 18 ![]() |
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 |
|
|
00
|
|
|
#14 |
|
Membre confirmé
![]() Edouard ViotIngénieur sécurité Inscription : juillet 2007 Messages : 193 ![]() |
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. |
|
00
|
|
|
#15 | |
![]() ![]() Inscription : juin 2006 Messages : 6 929 ![]() |
Citation:
__________________
Je ne répondrai à aucune question technique en privé |
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com