Allocation/desallocation de RAM sur PC

Do you have a question? Post it now! No Registration Necessary

Translate This Thread From French to

Threaded View
Salut, j'ai une question presque hors-charte
( je vais me faire allumer par Jean-Christophe :-)
mais comme je sais que nous avons parmi nous des
connaisseurs en informatique et PC, je me jette :

Est-ce que la memoire RAM allouee par un programme,
par exemple lors d'un appel a la fonction malloc();
est effacee lorsqu'elle est desallouee ?
Si ce n'est pas le cas, les dernieres informations qui y
sont pourraient etre recuperees par un autre programme :
si je fais un malloc() et que je regarde le buffer RAM,
j'y vois quelque fois des trucs qui proviennent du dernier
programme a y acceder, je trouve que ca peut etre dangereux.

Ma question est :
faut-il explicitement remettre la memoire a zero
via un appel a la fonction memset(ram,0,size);
avant de la desallouer et terminer le programme,
pour etre sur d'en avoir efface les informations ?

Exemple 1: Avec un editeur de texte, on fait un copier/coller
 d'un bout de texte qui contient un numero de carte bancaire :
 une fois le programme ferme, est-ce que la RAM du PC
 contient toujours cette information sensible ?

Exemple 2: J'ai un programme qui crypte des donnees,
 j'ai en entree un buffer memoire avec les donnees en clair,
 et en sortie un buffer memoire avec les donnees cryptees :
 une fois le programme fermE9%, est-ce que la RAM du PC
 contient toujours cette information sensible ?

Re: Allocation/desallocation de RAM sur PC

snipped-for-privacy@z38g2000yqh.googlegroups.com...

Quoted text here. Click to load it

non, aucun interet d'ailleurs

Quoted text here. Click to load it

il en est de meme sur la pile, ou dans route autre partie de la memoire


Quoted text here. Click to load it

c'est pas loin de la paranoia, mais si tu veux effacer la memoire c'est la
seule solution.

Quoted text here. Click to load it

bhen oui


oui, mais ce que tu oublies, c'est que dans un chiffrement c'est la clé qui
compte, pas les données, donc ce qui faut effacer c'est la clé.
si c'est en dur dans un programme, c'est la que se trouve le maillon faible.



Re: Allocation/desallocation de RAM sur PC

Quoted text here. Click to load it


Oui.


Exact.



Comme je l'ai dit, tu peux ecrire un programme de test
qui fait un malloc de plusieurs megaoctets, puis avec
un viewer hexadecimal tu visualises ce buffer RAM :
je t'assure que tu peux avoir des surprises, comme par
exemple y retrouver des passwords utilises recemment.
Tant que ces zones RAM n'ont pas ete reecrites par
un autre programme, les informations y restent.
C'est d'ailleurs la raison de l'origine de ma question :
la plupart du temps on s'en fout, mais pour certaines
applications sensibles, ca represente vraiment un risque.

Quoted text here. Click to load it

Okay.

 qui
Quoted text here. Click to load it

Dans mon exemple je me referais bien sur au buffer
d'entree, celui qui contient les donnees *en clair*.

Quoted text here. Click to load it

C'est vrai, mais dans mon prog ce n'est pas le cas.
Anyway merci pour tes reponses, JLP.

Re: Allocation/desallocation de RAM sur PC

snipped-for-privacy@d4g2000yqa.googlegroups.com...

Quoted text here. Click to load it

ca ce n'est pas genant, ca disparait quand le jus est coupé, mais va voir
dans ton fichier de swap, tu seras encore plus surpris, donc meme en
effacant ta memoire, tu as un stock de données dans le swap, et c'est sur le
disque ndur!



Re: Allocation/desallocation de RAM sur PC
On Aug 28, 12:33 pm, "jlp"

Quoted text here. Click to load it


Ben si c'est genant, on ne coupe pas le
jus apres chaque appel d'un programme :-)

Quoted text here. Click to load it

Exact, je n'avais pas pense au fichier de swap, rogntudju !

Comment faire pour que dans mon programme, il n'y ait pas de
swap de la RAM vers le disque entre le malloc() et le free(),
sachant que c'est le systeme qui decide de swapper la RAM ?

Mon prog utilise la RAM pendant un temps relativement court,
quelques millisecondes maxi, alors je pourrais temporairement
passer la thread de mon prog en priorite temps reel
jusqu'a ce que j'aie efface la RAM ?

A moins qu'il existe une fonction qui permette de suspendre
temporairement certaines fonctions systeme, comme le swap ?

Re: Allocation/desallocation de RAM sur PC
Quoted text here. Click to load it

man mlock

--
Mathieu Chouquet-Stringer
            The sun itself sees not till heaven clears.
We've slightly trimmed the long signature. Click to see the full one.
Re: Allocation/desallocation de RAM sur PC
On Aug 28, 1:38A0%pm, Mathieu Chouquet-Stringer :

Quoted text here. Click to load it


Sous Windows avec un compilateur Visual C++ ?

Re: Allocation/desallocation de RAM sur PC
Quoted text here. Click to load it

No se mais ça serait étonnant que ça n'existe pas...
--
Mathieu Chouquet-Stringer
            The sun itself sees not till heaven clears.
We've slightly trimmed the long signature. Click to see the full one.
Re: Allocation/desallocation de RAM sur PC
On Aug 28, 1:43 pm, Mathieu Chouquet-Stringer :

Quoted text here. Click to load it

Oui il y a un equivalent: GlobalLock(), dont la doc
specifie "Locked memory will not be moved or discarded"

Mais est-ce que ces fonctions (comme mlock) garantissent
qu'il n'y aura aucun swap jusqu'a l'appel de GlobalUnlock() ?
En principe cela devrait bien etre le cas ...

Re: Allocation/desallocation de RAM sur PC
Quoted text here. Click to load it

Sous Unix c'est le fonctionnement : mlockall locke ton process en RAM
jusqu'Ă  appel de munlockall...  AprĂšs RTFM pour Windows...

Enfin le plus simple c'est peut-ĂȘtre de ne pas utiliser de swap (enfin
ça dépendant de ce que tu fais tourner sur la machine).

--
Mathieu Chouquet-Stringer
            The sun itself sees not till heaven clears.
We've slightly trimmed the long signature. Click to see the full one.
Re: Allocation/desallocation de RAM sur PC
On Aug 28, 2:33A0%pm, Mathieu Chouquet-Stringer :

Quoted text here. Click to load it

Ok.


Oui bien sur, mais la je n'ai pas le choix.
Merci pour tes infos.

Re: Allocation/desallocation de RAM sur PC
Mathieu Chouquet-Stringer se fendait de cette prose :

Quoted text here. Click to load it

Au prix du Go de Ram, on peut facilement se passer de swap.

--
LeLapin

Re: Allocation/desallocation de RAM sur PC
On Aug 28, 4:32A0%pm, LeLapin :

Quoted text here. Click to load it

J'attends qu'on puisse meme se passer de disques durs.

Re: Allocation/desallocation de RAM sur PC
Jean-Christophe se fendait de cette prose :

Quoted text here. Click to load it

On peut aussi, les disques solid state sont pas si chers que ça.

--
LeLapin

Re: Allocation/desallocation de RAM sur PC
Quoted text here. Click to load it

J'ai sous la main une machine avec 640 GB de flash... ;-)
--
Mathieu Chouquet-Stringer
            The sun itself sees not till heaven clears.
We've slightly trimmed the long signature. Click to see the full one.
Re: Allocation/desallocation de RAM sur PC
Mathieu Chouquet-Stringer a ecrit
Quoted text here. Click to load it
Bonjour Mathieu
Vouloir securiser soft une (partie) d'application sensible en usant de
standard documentĂ© est illusoire ! :oÞ

ça se "pelle" Ă  la mano (et au moins Ă  6 mains :')  ) en connnaissant
initialements les tenants et les aboutissants ;o)


Rvl



Re: Allocation/desallocation de RAM sur PC
On Aug 28, 1:52A0%pm, "rvlegran" :

Quoted text here. Click to load it

Dans mon prog la memoire est non-moveable et locked.
Il s'agit juste de s'assurer que la memoire soit effacee
avant d'etre liberee, et qu'il n'y ait pas eu de swap.

Re: Allocation/desallocation de RAM sur PC

snipped-for-privacy@demande.net...
Quoted text here. Click to load it

Je pense que c'est l'une des raisons parmi des tonnes d'autres qui fait que
Windaube ne peut pas et n'est pas un OS "sécuritaire"...
De plus que l'on ne dispose pas des sources pour voir ce que fait cet OS et
découvrir ses failles de sécurité.

Bonnes bidouilles Ă  tous.
pf




Re: Allocation/desallocation de RAM sur PC
        Salut rv,
        
Quoted text here. Click to load it

Mouais, je suis pas entiÚrement d'accord : sa demande est légitime. De toutes
maniÚres, il est obligé d'avoir la clé en mémoire à un moment ou un autre
donc s'il peut minimiser les risques d'exposition, il aurait tort de se priver.

Quoted text here. Click to load it

"Pelle" ?
--
Mathieu Chouquet-Stringer
            The sun itself sees not till heaven clears.
We've slightly trimmed the long signature. Click to see the full one.
Re: Allocation/desallocation de RAM sur PC
On Aug 28, 2:37A0%pm, Mathieu Chouquet-Stringer :

Quoted text here. Click to load it


Tout a fait, et je ne vais pas me gener :-)

Site Timeline