Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Faille de sécurité possible de windows et segment DATA éxécutabl e

8 réponses
Avatar
Stef
Je me demande si on peut réellement considérer celà comme une faille de
sécurité, à mon avis oui. Selon moi, le système d'exploitation ne devrait pas
permettre d'exécuter des données, tout comme il ne devrait pas permettre à un
logiciel de modifier directement l'espace mémoire adressée comme étant
éxécutable. Je m'explique.

Imaginons un simple programme écrit en assembleur avec deux segments : data
et code. En principe, seul le segment code devrait avoir l'autorisation
d'être éxécutable et devrait avoir un attribut de lecture seule (seul le
système d'exploitation et l'utilisateur devrait avoir l'autorisation
d'attribuer la permission d'éxécuter du code sur une plage mémoire, pas un
logiciel tièrce partie... à moins de lui donner spécifiquement la permission).

Pour le moment, il n'existe aucune restriction interdisant, sous windows XP,
à un logiciel de soudainement appeler une routine placée dans le segment data
(disons, après avoir été préalablement modifiée, bien entendu, complètement à
l'insu de tout dispositif anti-virus ou anti-adware). Ainsi, on peut supposer
qu'il serait très simple de crypter un code possiblement dangeureux, le
placer dans le segment data. Par la suite, le logiciel pourrait venir
décrypter ce code juste avant de l'éxécuter, menant à un code impossible à
détecter par tout logiciel. Ceci est évidemment une nuisance catastrophique
et je crois que c'est réellement au système d'exploitation de sécuriser
l'accès aux plages mémoire.


--
Stef

8 réponses

Avatar
François Ropert
Imaginons un simple programme écrit en assembleur avec deux segments :
data

et code. En principe, seul le segment code devrait avoir l'autorisation
d'être éxécutable et devrait avoir un attribut de lecture seule (seul le
système d'exploitation et l'utilisateur devrait avoir l'autorisation
d'attribuer la permission d'éxécuter du code sur une plage mémoire, pas un
logiciel tièrce partie... à moins de lui donner spécifiquement la
permission).


Ces permissions d'exécution sont enregistrés dans l'en-tête PE.
Rien ne vous empêche de rendre non-exécutable le segment DATA.


Pour le moment, il n'existe aucune restriction interdisant, sous windows
XP,

à un logiciel de soudainement appeler une routine placée dans le segment
data

(disons, après avoir été préalablement modifiée, bien entendu,
complètement à

l'insu de tout dispositif anti-virus ou anti-adware).


Faux, DEP intégré à Windows XP le fait. Il suffit de l'activer.


Ainsi, on peut supposer
qu'il serait très simple de crypter un code possiblement dangeureux, le
placer dans le segment data. Par la suite, le logiciel pourrait venir
décrypter ce code juste avant de l'éxécuter, menant à un code impossible à
détecter par tout logiciel. Ceci est évidemment une nuisance
catastrophique

et je crois que c'est réellement au système d'exploitation de sécuriser
l'accès aux plages mémoire.


Méthode connue depuis de nombreuses années en virologie.


@+


--
Dialoguer pour une meilleure sécurité
Chat for a better security

Communauté sécurité Microsoft (French Microsoft security community) :
http://www.rezalfr.org/securite

Avatar
Stef
Désolé, j'ai dû cliquer à la mauvaise place pour répondre, donc je place une
seconde version ici, au bon endroit :/

Ces permissions d'exécution sont enregistrés dans l'en-tête PE.
Rien ne vous empêche de rendre non-exécutable le segment DATA.


Alors comment je rends non-éxécutable les segment DATA de tous les logiciels
de mon ordinateur (pas seulement ceux que je suis en train de programmer)?

Faux, DEP intégré à Windows XP le fait. Il suffit de l'activer.


Alors comment on l'active? Et pourquoi n'est-il pas activé par défaut? Il me
semble que c'est une option dangeureuse, n'est-ce pas? D'ailleurs, que
signifie ce "DEP intégré" là?

--
Stef

Avatar
JacK [MVP]
Stef a émis l'idée suivante :
Désolé, j'ai dû cliquer à la mauvaise place pour répondre, donc je place
une seconde version ici, au bon endroit :/

Ces permissions d'exécution sont enregistrés dans l'en-tête PE.
Rien ne vous empêche de rendre non-exécutable le segment DATA.


Alors comment je rends non-éxécutable les segment DATA de tous les
logiciels de mon ordinateur (pas seulement ceux que je suis en train de
programmer)?

Faux, DEP intégré à Windows XP le fait. Il suffit de l'activer.


Alors comment on l'active? Et pourquoi n'est-il pas activé par défaut? Il
me semble que c'est une option dangeureuse, n'est-ce pas? D'ailleurs, que
signifie ce "DEP intégré" là ?


'lut,

Data Execution Prevention (Matérielle et logicielle si ton hardware le
supporte ou uniquement logicielle si ce n'est le cas)

http://www.microsoft.com/technet/prodtechnol/winxppro/maintain/sp2mempr.mspx

Win + Pause => Avancé => PerformancesParamètres => Prévention de
l'exécution des données.

--
http://www.optimix.be.tf MVP Windows Security
http://websecurite.org
http://www.msmvps.com/XPditif/
http://experts.microsoft.fr/longhorn4u/
Helping you void your warranty since 2000
---**ANTISPAM**---
Click on the link to answer -Cliquez sur le lien pour répondre
http://www.cerbermail.com/?csaLJS6yvZ
@(0)@ JacK


Avatar
Stef
Merci beaucoup pour la réponse. Malheureusement, après avoir essayé les
options, dans boot.ini, /noexecute=AlwaysOn et /noexecute=OptOut de même
qu'après avoir été voir les options système, performance, prévention de
l'exécution de données et "Activer la prévention d'exécution des données pour
tous les programmes et les services, sauf ceux que je sélectionne" (avec une
liste complètement vide), il semble que mon petit logiciel test (qui ne fait
rien d'autre que simplement rouler un code dans le segment DATA, après avoir
modifié les données qui s'y trouve) ne soit pas encombré par ce dispositif de
protection.


--
Stef
Avatar
JacK [MVP]
Stef avait écrit le 29/05/2005 :
Merci beaucoup pour la réponse. Malheureusement, après avoir essayé les
options, dans boot.ini, /noexecute=AlwaysOn et /noexecute=OptOut de même
qu'après avoir été voir les options système, performance, prévention de
l'exécution de données et "Activer la prévention d'exécution des données
pour tous les programmes et les services, sauf ceux que je sélectionne"
(avec une liste complètement vide), il semble que mon petit logiciel test
(qui ne fait rien d'autre que simplement rouler un code dans le segment
DATA, après avoir modifié les données qui s'y trouve) ne soit pas
encombré par ce dispositif de protection.


'lut,

Lis la page indiquée en Ref.

--
http://www.optimix.be.tf MVP Windows Security
http://websecurite.org
http://www.msmvps.com/XPditif/
http://experts.microsoft.fr/longhorn4u/
Helping you void your warranty since 2000
---**ANTISPAM**---
Click on the link to answer -Cliquez sur le lien pour répondre
http://www.cerbermail.com/?csaLJS6yvZ
@(0)@ JacK

Avatar
Daniel92
*Bonjour* ! *François Ropert* écrit dans :
http://groups.google.com/groups?threadm535E6A6-71B9-4019-A78F-3AE52E79CB92%40microsoft.com
http://groups.google.com/groups?threadmB99974e%240%2430604%248fcfb975%40news.wanadoo.fr

: > Imaginons un simple programme écrit en assembleur avec deux
: > segments : data et code. En principe, seul le segment code devrait
: > avoir l'autorisation d'être éxécutable et devrait avoir un attribut de
: > lecture seule (seul le système d'exploitation et l'utilisateur devrait
: > avoir l'autorisation d'attribuer la permission d'éxécuter du code
: > sur une plage mémoire, pas un logiciel tièrce partie... à moins
: > de lui donner spécifiquement la permission).

: Ces permissions d'exécution sont enregistrés dans l'en-tête PE.
: Rien ne vous empêche de rendre non-exécutable le segment DATA.

: > Pour le moment, il n'existe aucune restriction interdisant, sous
: > windows XP, à un logiciel de soudainement appeler une routine
: > placée dans le segment data (disons, après avoir été préalablement
: > modifiée, bien entendu, complètement à l'insu de tout dispositif
: > anti-virus ou anti-adware).

: Faux, DEP intégré à Windows XP le fait. Il suffit de l'activer.

** À condition que le processeur supporte ce système de protection,
Prévention de l'exécution des données DEP qui permet d'empêcher
des programmes malveillants comme des virus de s'exécuter.

Malheureusement cette article de Matt Eliott (CNET Asia) du
Lundi 14 mars 2005 , indique que tous les processeurs ne
supportent pas ce système de protection :
http://www.zdnet.fr/produits/materiels/processeurs/guide/0,39022210,39210750,00.htm

" ... Windows XP SP2 comporte en effet un dispositif intitulé DEP
(Data Execution Prevention) qui protège le PC contre certains virus
exploitant les débordements de zones tampon.
Mais seuls les processeurs AMD récents et un nombre limité de
serveurs Itanium d'Intel supportaient le DEP, laissant les autres
ordinateurs à la merci de vers tels que MS Blaster ou Sasser.
Or les processeurs qui viennent d'être annoncés disposent de la
technologie Execute Disable Bit qui permet d'activer le DEP, ce
qui constitue un nouveau rempart matériel aux intrusions. ... "

Cordialement,
:O)
Daniel.
====
Avatar
Patrice Manac'h
Bonjour,

le SP2 d'XP apporte un équivalent logiciel aux processeurs ne disposant pas
de cette fonctionnalité :
http://www.microsoft.com/technet/security/prodtech/windowsxp/depcnfxp.mspx

A noter que c'est activé par défaut lors de l'installation du SP2.

Cordialement,

P. Manac'h
MCS France

"Daniel92" a écrit dans le message de news:


*Bonjour* ! *François Ropert* écrit dans :
http://groups.google.com/groups?threadm535E6A6-71B9-4019-A78F-3AE52E79CB92%40microsoft.com
http://groups.google.com/groups?threadmB99974e%240%2430604%248fcfb975%40news.wanadoo.fr

: > Imaginons un simple programme écrit en assembleur avec deux
: > segments : data et code. En principe, seul le segment code devrait
: > avoir l'autorisation d'être éxécutable et devrait avoir un attribut de
: > lecture seule (seul le système d'exploitation et l'utilisateur devrait
: > avoir l'autorisation d'attribuer la permission d'éxécuter du code
: > sur une plage mémoire, pas un logiciel tièrce partie... à moins
: > de lui donner spécifiquement la permission).

: Ces permissions d'exécution sont enregistrés dans l'en-tête PE.
: Rien ne vous empêche de rendre non-exécutable le segment DATA.

: > Pour le moment, il n'existe aucune restriction interdisant, sous
: > windows XP, à un logiciel de soudainement appeler une routine
: > placée dans le segment data (disons, après avoir été préalablement
: > modifiée, bien entendu, complètement à l'insu de tout dispositif
: > anti-virus ou anti-adware).

: Faux, DEP intégré à Windows XP le fait. Il suffit de l'activer.

** À condition que le processeur supporte ce système de protection,
Prévention de l'exécution des données DEP qui permet d'empêcher
des programmes malveillants comme des virus de s'exécuter.

Malheureusement cette article de Matt Eliott (CNET Asia) du
Lundi 14 mars 2005 , indique que tous les processeurs ne
supportent pas ce système de protection :
http://www.zdnet.fr/produits/materiels/processeurs/guide/0,39022210,39210750,00.htm

" ... Windows XP SP2 comporte en effet un dispositif intitulé DEP
(Data Execution Prevention) qui protège le PC contre certains virus
exploitant les débordements de zones tampon.
Mais seuls les processeurs AMD récents et un nombre limité de
serveurs Itanium d'Intel supportaient le DEP, laissant les autres
ordinateurs à la merci de vers tels que MS Blaster ou Sasser.
Or les processeurs qui viennent d'être annoncés disposent de la
technologie Execute Disable Bit qui permet d'activer le DEP, ce
qui constitue un nouveau rempart matériel aux intrusions. ... "

Cordialement,
:O)
Daniel.
=== >




Avatar
Daniel92
Bonsoir, *Patrice Manac'h* écrit dans :
http://groups.google.fr/groups?threadm=ucDMcWGZFHA.3364%40TK2MSFTNGP12.phx.gbl
"old style" :
http://groups.google.com/groups?threadm=ucDMcWGZFHA.3364%40TK2MSFTNGP12.phx.gbl

: > article de Matt Eliott (CNET Asia) du Lundi 14 mars 2005 ,
: > http://www.zdnet.fr/produits/materiels/processeurs/guide/0,39022210,39210750,00.htm
: > " ... Windows XP SP2 comporte en effet un dispositif intitulé DEP
: > (Data Execution Prevention) qui protège le PC contre certains virus
: > exploitant les débordements de zones tampon.
: > Mais seuls les processeurs AMD récents et un nombre limité de
: > serveurs Itanium d'Intel supportaient le DEP, laissant les autres
: > ordinateurs à la merci de vers tels que MS Blaster ou Sasser.
: > Or les processeurs qui viennent d'être annoncés disposent de la
: > technologie Execute Disable Bit qui permet d'activer le DEP, ce
: > qui constitue un nouveau rempart matériel aux intrusions. ... "

: le SP2 d'XP apporte un équivalent logiciel aux processeurs ne disposant pas
: de cette fonctionnalité :
: http://www.microsoft.com/technet/security/prodtech/windowsxp/depcnfxp.mspx
:
: A noter que c'est activé par défaut lors de l'installation du SP2.

** Hello Patrice, merci pour ces pages (J'ai relu également
celle de JacK) . Je les avais lues un peu rapidement.
Ce sont des pages qui méritent pédagogie pour bien
distinguer le DEP "hard" et le DEP "soft" .

Cordialement,
:O)
Daniel.
====