Allocation/desallocation de RAM sur PC - Page 3

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

Translate This Thread From French to

Threaded View
Re: Allocation/desallocation de RAM sur PC
Sans forcE9%ment parler de certification, ces mE9%canismes peuvent EA%tre
prE9%sents dans des OS distribuE9%s ... c'est pas parce que le
distributeur ne vend pas la certification, que les mE9%canismes sont
absents. Il est facile de trouver un Linux les possE9%dant (dE8%s qu'on
fricote avec les Linux sE9%curisE9%s); chercher aussi evidement du cotE9%
des BSD. Les Windows modernes n'ont toujours pas E7%a ? je pense entre
autre E0% XP, ou les versions Server ... ? la garantie de non
dE9%placement d'une page n'est quand mEA%me pas si compliquE9%e E0% faire .=
..

Re: Allocation/desallocation de RAM sur PC
On Aug 29, 2:27 am, Doublehp :

Quoted text here. Click to load it

Non, ma question est precise.

Quoted text here. Click to load it

Ceci n'a aucun interet puisqu'on efface la memoire avant de la
liberer.

Quoted text here. Click to load it

Bien sur que si.

Quoted text here. Click to load it

J'ai precise que la memoire est allouee avec les options
'non-moveable' et 'locked'. Pour eviter le swap je vais
monter temporairement la priorite de la thread a 'realtime'
pour qu'elle ne soit pas interrompue. Aucun probleme.

Quoted text here. Click to load it

Je ne vais pas changer d'OS alors qu'une bonne programmation
permettra de diminuer fortement, voire de resoudre le probleme.
Quand on se retourne un ongle, on ne se coupe pas le bras.

Quoted text here. Click to load it

On dirait une malediction a la Harry Potter !!!
J'ai eu toutes les reponses et confirmations que j'attendais.
Je sais comment je vais m'y prendre pour minimiser le probleme.
Vade Retro : je n'ai rien a craindre.

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

Je n'ai pas pris le temps de lire les digressions en 24 volumes. Comme
constatE9%, je suis reparti du post originale. Et ce post ne prE9%cise ni
archi, ni OS.

Quoted text here. Click to load it

DE9%solE9%, en lisant E7%a, j'ai rE9%ellement, litE9%rallement explosE9% de
rire :) Vraiment :)

Je vais citer un cas connu, pratiquE9% par certains pirates, quand c'est
possible: on se rend dans une salle server, on ouvre un server, on
retire E0% chaud une barette de RAM, et on l'insE8%re immE9%diatement dans
une carte mE8%re modifiE9%e qui, pour le moins, apporte le courant
nE9%cessaire E0% la rE9%tention des donnE9%es. Cette dite carte mE8%re est
ensuite rebootE9%e; si l'archi est n'importe quoi d'autre qu'un PC (je
vous ai dit tout le mal que je pense des PC ? ah non, tj pas), il n'y
a pas de BIOS (je vous ai dit tout le mal que je pense des BIOS ? ah
non, tj pas) ... ou avec un BIOS modifiE9%, alors il redient facile de
dE9%marrer la dite CM sur un system maison. Typiquement, la machine va
charger un OS sur la mE9%moire basse, et la barette dE9%placE9%e sera
positionnE9%e dans un slot haut. Ainsi, le chargement de l'OS n'E9%crasera
pas la barette E0% lire. Alternative, on change E0% chaud dans le server
l'unitE9% de stockage et la ROM de POST directement dans le server, et
on appui sur le bouton reset; mis a part l'espace pris par l'OS
chargE9%, on accE8%de a presque toute la RAM.

NB1: si la barette sortie est insE9%rE9%e dans une plaque d'essai avec un
controlleur du genre uC ou FPGA, E7%a ouvre E9%normE9%ment de portes.

NB2: l'histoire du bouton reset, a une E9%poque, E7%a faisait fureure.

NB3: c'est en jouant E0% ce genre de choses qu'on a dE9%couvert (par
hasard, comme pour toutes les bonnes inventions) que les mE9%moires CMOS
E9%taient sensibles E0% la lumiE8%re (on a constatE9% que la durE9%e de
rE9%tention des donnE9%es dE9%pendait de si la machine E9%tait ouverte ou
pas ... de fil en aiguille, on a posE9% des masques sur les mE9%moires,
constatE9% que les zones mE9%moires effacE9%es avaient une corrE9%lation av=
ec
la position du masque, puis on a grattE9% le plastique des RAM, puis les
premiE8%res cellules photo-sensibles CMOS sont nE9%es).

NB3: quand on sait qu'une barette EDO a une rE9%tention de 1 E0% 10s, on
peux jouer E0% E7%a avec une espE9%rance de rE9%cupE9%ration des donnE9%es =
qui
avoisine les 100%, si on manipule vite.

Autre note: quand on est le noyeau, ou l'admin, on peux tuer une
application sans libE9%rer ses ressources. Ni le bouton reset, ni la
panne de courant ne sont soumis E0% la moindre procE9%dure de sE9%curitE9%.
Votre application finale sera sur onduleur, et dE9%nuE9%e de bouton
reset ?

On parle sE9%curitE9% de donnE9%es, TOUS les cas sont envisageables. Y
compris les cas de piratages et d'accE8%s physiques.

Et, pour vous rappeler que quand on parle sE9%curitE9%, y a pas de place
pour les naifs, ne faites mEA%me pas confiance E0% votre processeur:
http://marc.info/?l3D%bugtraq&m3D%112016968408325&w3D%2 (y a vraiment
qu'Intel pour nous faire ce genre de blague. Je vous ai dit tout le
mal que je pense d'Intel ? )

Quoted text here. Click to load it

Alors, le plus important a E9%tE9% fait. Mais, il reste des bricoles E0%
vE9%rifier:
- qu'on est pas sur un P4 HT qui bogue
- que les appels ont tous E9%tE9% rE9%ussis
- que l'archi n'a pas d'autres failles connues (j'ai toujours E9%tE9% trE8%
s
inquiet de voire la mE9%moire gE9%rE9%e par un controlleur externe sur
Intel)
- qu'on ne rayonne pas trop (archi blindE9%e)
- qu'on a un co-processeur (et autres bricoles genre le gestionnaire
TLB) sE9%rieux, ou que le bus a pas une mE9%moire double port qui traine
(c'est fou ce qu'on trouve dans certaines machines quand on sort la
loupe).

Quoted text here. Click to load it

Jusqu'E0% ce que le client rapporte qu'une donnE9%e lui a E9%tE9% volE9%e :=
)

Lisez les documentations et ML qui concernent GNUPG, c'est
passionnant :)

Re: Allocation/desallocation de RAM sur PC
On Aug 29, 3:24 pm, Doublehp :

Quoted text here. Click to load it

Une fois de plus : ce n'est pas la question.
Il s'agit du comportement des fonctions de gestion memoire,
et non du fait que quelqu'un s'introduise dans une
societe ou un domicile pour y acceder au materiel,
car ceci n'est pas de ma responsabilite.

Quoted text here. Click to load it

Je suis bien d'accord, mais a nouveau je le repete :
Il s'agit du comportement des fonctions de gestion memoire,
non de hacking via acces physique au materiel, ok ?

Quoted text here. Click to load it

Tu est manifestement tres fier de savoir des choses,
c'est bien, mais dans ce cas precis, ce n'est pas la question.

Quoted text here. Click to load it

Voici de la lecture pour Mr  "A.Caspis"  :-)

Quoted text here. Click to load it

Apparament tu penses du mal de beaucoup de choses.

Quoted text here. Click to load it

Ouf !

Quoted text here. Click to load it

C'est ok pour moi.

Quoted text here. Click to load it

Si c'est suite a un acces physique sur le materiel
ce n'est pas mon domaine : je ne suis pas un vigile.
Je pourrais meme laisser les choses en l'etat puisque mon programme
fonctionne correctement, et s'il y a fuite de donnees via allocation
memoire, ce n'est plus de mon ressort mais de celui du systeme.
Je fais cela uniquement parce-que je suis un mec bien ;-)

Quoted text here. Click to load it

Sans doute, mais ma question n'allait pas jusque la !
Toutefois je te remercie pour toutes ces precisions.

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

Bah je connaissais, hein :-)

À mon goût l'attaque par canal caché la plus bluffante,
c'est l'extraction à distance de clés crypto par
chronométrage des temps de réponse d'un serveur SSL:
http://crypto.stanford.edu/~dabo/abstracts/ssl-timing.html

AC

Re: Allocation/desallocation de RAM sur PC
On Aug 29, 4:40A0%pm, "A. Caspis" :

Quoted text here. Click to load it

Ok.


Waaah, avec ca on est bien loin de ma petite question ... :-)

Re: Allocation/desallocation de RAM sur PC
Doublehp se fendait de cette prose :


Quoted text here. Click to load it

Ah bon ? Les Bios modernes n'effacent plus la Ram en la testant ???


Quoted text here. Click to load it

Dire ça sur un forum sérieux d'électronique, c'est vous qui allez prêter
à rire. Vous ne saviez pas que *tous* les transistors et autres semi-
conducteurs étaient photosensibles ?


Quoted text here. Click to load it

Vous racontez n'importe quoi si bien... :)


--
LeLapin

Re: Allocation/desallocation de RAM sur PC


Quoted text here. Click to load it

et c'est comme ça que quand t'a pas de phototransitor tu peux en faire
un en ouvrant un transibut en TO18 avec une lime

Re: Allocation/desallocation de RAM sur PC
Le 1er sept a 12:40A0%am Max :

Quoted text here. Click to load it



Alors qu'en ouvrant la cervelle de Doublehp
on ne risque pas d'y appercevoir de la lumiere !

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

Quoted text here. Click to load it

Tu es certain qu'un thread realtime empèche l'os de swapper ? Je serais toi
je me méfierais, après tout c'est windows...

--
LeLapin

Re: Allocation/desallocation de RAM sur PC

XnF9C767CF776047lapinou@217.112.180.250...
Quoted text here. Click to load it

Surtout avec le REAL TIME "à la Billou"...

pf



Re: Allocation/desallocation de RAM sur PC
On Aug 29, 11:17A0%am, LeLapin :

Quoted text here. Click to load it

Tu as tout a fait raison, tres bonne remarque !
J'ai deja fait quelques essais en jouant sur le niveau de priorite
d'une thread avec un programme de test : la priorite 'realtime'
*ressemble* a un masquage d'interruption, aucune autre thread
utilisateur ne prend la main tant que la priorite n'est pas
redescendue a un niveau plus bas. (j'ai meme pu
bloquer mon PC dans une boucle de mon soft)

Donc puisque aucun programme ne prendra la main
pendant le tres court instant ou j'utilise la memoire pour
ensuite l'effacer, en principe aucune demande de memoire
ne pourra venir impliquer un swap disque du systeme.
Et meme si ce n'est pas un masquage d' IT du point de vue
du systeme, comme la partie critique de mon soft ne
dure que quelques millisecondes, ca devrait etre suffisant.

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

Une petite conffusion entre RT et pagination fixe ?

Ok, admettont qu'un thread RT est non interruptible. Imaginons que
l'application est multi-thread, que deux threads sont rE9%partis entre
deux processeurs; la page doit donc EA%tre allouE9%e dans une zone
partageable.
- si les processeurs ne sont pas juxtaposE9%s physiquement, certains
E9%changes de donnE9%es devront transiter par d'autres processeurs (jetez
un oeil E0% la topologie octo CPU d'AMD, vous comprendrez de quoi je
parle); on se retrouve avec des rE9%sidus de donnE9%es un peu partout :)
- qu'est-ce qui vous garanti que le gestionnaire TLB va tout
restreindre comme il faut ?
- le RT ne doit pas EA%tre confondu avec l'atomique. Dans un OS prE9%-
emptif, quand le noyeau dit "c'est E0% moi", il prend la main; alors, ce
sont les drivers qui font la loi.

Votre station de dE9%veloppement est quelle archi ? combien de CPU ?
quel type de RAM ? quel chipset ?

Vous savez que rien que dans la sE9%rie P4, il y a 3 approches
diffE9%rentes possibles pour un accE8%s mE9%moire selon la catE9%gorie ? Qu=
and
E0% AMD, ils sont en constante E9%volution (j'essaye mEA%me plus de les
suivre).

Vous avez vE9%rouillE9% la machine parce qu'une application gourmande a
pris le dessus sur le noyeau; probabilitE9% de 100% dans un mono CPU,
50% dans un bi, 33% dans un tri ...

Quoted text here. Click to load it

Totallement faux. MEA%me quand une tache est RT, certaines versions de
Windows peuvent quand mEA%me demander au noyeau de reprendre la main, si
le noyeau a E9%tE9% configurE9% pour E7%a (regardez les advanced server). C=
a
va aussi varier selon la structure du noyeau. Bref, lisez la
documentation du scheduler. Et de la VM (Virtual Machine, c'est elle
qui gE8%re les allocations).

Sur un bi CPU, tout change encore.

Certains windows sont trE8%s paramE9%trables, surtout les Windows temps
rE9%el (comme certaines versions server, ou CE). Sous linux, le noyeau a
enfin une frE9%quence de scheduling variable, qui peut EA%tre montE9%e E0%
10kHz; je serais E9%tonnE9% que Windows CE n'ait pas une option similaire.

Qu'est-ce qui vous garanti que le nombre de cycles requis pour votre
opE9%ration sera toujours infE9%rieure au nombre de cycles permis pour une
opE9%ration atomique ?

Pour E9%viter ces problE8%mes, l'idE9%al est qu'une partie de l'application
soit un driver, chargE9% en espace noyeau; on dispose alors d'outils
beaucoup plus pointus pour se munir des protections voulues. C'est
plus la mode, mais E7%a facilite le travail.

De toute faE7%on, parler sE9%curitE9% dans une station de travail Intel sou=
s
Windows ... c'est franchement une perte de temps. Parce que vous ne
savez pas ce qu'Intel ou Microsoft inventeront d'idiot pour leurs
prochains produits. L'idE9%al est donc malheureusement, E0% l'ancienne,
d'interdit que votre produit soit E9%xE9%cutE9% sur une machine diffE9%rent=
e
de ce pour quoi E7%a a E9%tE9% conE7%u. Certes, je vous suggE8%re de bloque=
r
toute compatibilitE9% amont; mais la sE9%curitE9% est E0% ce prix.

Re: Allocation/desallocation de RAM sur PC
On Aug 29, 3:41 pm, Doublehp :

Quoted text here. Click to load it

Stop : entre les deux instants qui separent l'allocation memoire
et sa liberation, il n'y a qu'UNE et UNE SEULE thread qui tourne.

Quoted text here. Click to load it

Un seul CPU.

| > Donc puisque aucun programme ne prendra la main
| > pendant le tres court instant ou j'utilise la memoire pour
| > ensuite l'effacer, en principe aucune demande de memoire
| > ne pourra venir impliquer un swap disque du systeme.
| > Et meme si ce n'est pas un masquage d' IT du point de vue
| > du systeme, comme la partie critique de mon soft ne
| > dure que quelques millisecondes, ca devrait etre suffisant.
| Totallement faux. MEA%me quand une tache est RT, certaines versions de
| Windows peuvent quand mEA%me demander au noyeau de reprendre la main,

Certes, mais tant que le scheduler ne donne pas la
main a une autre programme *utilisateur* tout est ok.

Site Timeline