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).
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.
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).
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.
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).
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.
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.
Faux, DEP intégré à Windows XP le fait. Il suffit de l'activer.
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.
Faux, DEP intégré à Windows XP le fait. Il suffit de l'activer.
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.
Faux, DEP intégré à Windows XP le fait. Il suffit de l'activer.
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à ?
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à ?
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à ?
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.
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.
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.
*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.
=== >
*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.
=== >
*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.
=== >