Journal Technologie No eXecute

Posté par .
Tags : aucun
0
16
août
2004
Salut à tous...

Voila je me pose des questions sur cette technologie qui est incluse dans certains processeurs (pour éviter certains soft malveillants de faire n'importe quoi ;)).

Il apparaît que cette technologie poserait des problèmes (je me base sur les problèmes principaux du SP2 de XP). Les logiciels qui pourraient poser sont très nombreux .
(http://support.microsoft.com/default.aspx?kbid=884130&product=w(...))

Donc de quoi cela vient-il ?
Cette technologie est-elle vraiment utile et nécessite-t-elle que l'on "corrige" tous ces logiciels ?
Comment ce passe(ra)-t-il la "migration" avec Linux ?

Merci pour tous vos informations ;) !

PS : Je suis désolé de citer XP comme exemple mais on en entend bcp parler de ce problème vu que le SP2 est sorti il y a de cela quelques jours...
  • # same player shoot again...

    Posté par . Évalué à -1.

  • # Technologie No eXecute

    Posté par . Évalué à 8.

    De ce que je sais, la technologie NX permet de marquer des pages mémoires comme non exécutables, donc réservée théoriquement aux données d'un processus. Par exemple, si les pages de la pile d'un processus étaient marquée non exécutable, avec NX ça permettrait d'éviter qu'un dépassement d'un tampon créé dans la pile soit exploité pour exécuter du code malveillant, soit 90% (estimation au pif) des failles de sécurité en ce qui concerne Unix/Linux.

    Si une demande d'exécution d'un code dans une page mémoire marquée non-exécutable est demandée, une exception (1) est levée par le processeur s'il est configuré pour utiliser NX : le système d'exploitation peut intercepter cetévénement pour le logguer ou/et le signaler à l'utilisateur.

    Pour information, les processeurs AMD ont supportés la technologie NX avant les processeurs Intel.

    (1) Il s'agit d'une exception du processeur qui est déclenchée si le code pointer est déplacé vers une adresse appartenant une page non exécutable.

    « Je vous présente les moines Shaolin : ils recherchent la Tranquillité de l'Esprit et la Paix de l'Âme à travers le Meurtre à Main Nue »

    • [^] # Re: Technologie No eXecute

      Posté par . Évalué à -3.

      Pour information, les processeurs AMD ont supportés la technologie NX avant les processeurs Intel.

      Tiens, revoilà le petit troll AMD/Intel !
      ça va pitchoun ? :)
  • # meuh

    Posté par (page perso) . Évalué à 6.

    Donc de quoi cela vient-il ?

    AMHA cela vient potentiellement :

    1. de bugs dans le programme
    2. de manque de suivi de "bonnes pratiques" (utilisation de code généré sans le faire dans les règles de l'art... "pas de soucis tant que nos tests montrent que ça marche")

    Cette technologie est-elle vraiment utile et nécessite-t-elle que l'on "corrige" tous ces logiciels ?

    Oui elle est très utile car elle permet la protection automatique contre la principale voie qu'emprunte les exploits, les buffer overflow.

    Comment ce passe(ra)-t-il la "migration" avec Linux ?

    On a le source et plein de gens motivés pour faire avancer les logiciels. Donc le point 1 sera résolu rapidement et sans soucis (ce qui n'est pas le cas pour les logiciels propriétaires car on doit attendre la bonne volonté de l'éditeur). Le point 2 sera peut-être un peu plus lent mais la solution sera aussi relativement simple une fois que ça aura été fait une première fois.
    • [^] # Re: meuh

      Posté par . Évalué à 3.

      >la solution sera aussi relativement simple une fois que ça aura été fait une première fois

      Si je ne m'abuse, les architectures Sparc et MIPS, sur lesquelles tourne déjà Linux, utilisent un équivalent du bit NX. Donc il ne devrait y avoir que très peu de travail à faire.

      A moins que le noyau Linux, chose improbable, ne note toutes les pages comme exécutables, mais cela me semble peu vraisemblable.
      • [^] # Re: meuh

        Posté par . Évalué à 1.

        Faut-il y voir un zeste d'ironie/2eme degre ?
        (J'ai jamais trop mis les mains dans le cambouis du kernel)
        • [^] # Re: meuh

          Posté par . Évalué à 4.

          (J'ai jamais trop mis les mains dans le cambouis du kernel)

          Moi non plus, mais j'ai déjà discuté de ce point avec gc, qui, lui, m'a l'air de bien s'y connaître, et d'y avoir "mis les mains". Donc, si j'ai envoyé ce commentaire, c'est dans l'espoir d'obtenir de lui soit une confirmation ("oui, effectivement, comme c'est déjà fait ailleurs, ça ira vite"), soit des détails supplémentaire ("non, c'est pas si simple" ou bien "non, tu n'as pas compris").

          Pour formuler mon commentaire, je me suis appuyé, comme à l'accoutumée, sur mes connaissances théoriques, et c'est tout (non, je n'ai jamais regardé le code du noyau).

          Bon, cela dit, je reconnais que je ferais mieux, pour obtenir des confirmations/infirmations, poser directement de questions, plutôt que de dire "d'après mes cours, ça doit être comme ça" et d'attendre que l'on me contredise.

          Faut-il y voir un zeste d'ironie/2eme degre ?

          Euh? Bah, non, à priori, ce n'était pas le but... (Bon, si ça peut faire rire quelqu'un, tant mieux :) , mais c'est un "effet secondaire non recherché" ;-) .)

          Si tu trouves que ce que j'ai posté était ridicule ou stupide, explique-le-moi, parce que, moi, ça ne me le semblait pas.

          Et si ta question était due au fait que tu avais plus de détails au sujet de ma remarque ("ça a déjà été fait sur une autre architecture, donc il ne devrait plus y avoir grand-chose à faire"), n'hésite pas à les poster, je suis preneur!
          • [^] # Re: meuh

            Posté par . Évalué à 1.

            s/supplémentaire/supplémentaires/g

            CoinKoin, regarde ta plume quand tu postes!
          • [^] # Re: meuh

            Posté par . Évalué à 2.

            Non-non, je buvais tes paroles, c'est juste sur le :
            A moins que le noyau Linux, chose improbable, ne note toutes les pages comme exécutables, mais cela me semble peu vraisemblable
            que j'avais légèrement tiqué... Ca ressemblait furieusement à un lancé de troll de 3ème catégorie ;)
            /me qui voit vraiment le mal partout :P
            • [^] # Re: meuh

              Posté par . Évalué à 2.

              Ah, d'accord. Ben, tu vois, c'est juste parce que je n'ai jamais regardé le code du kernel que j'écrivais cela :).

              Décidément, si en plus de mes trolls habituels, je me mets à troller sans le vouloir, il va nous en tomber des pleines brouettes! ;-)
  • # Lisez tout...

    Posté par (page perso) . Évalué à 2.

    Si vous lisez toute l'introduction, vous verrez :
    "Many of these issues are related to the introduction of the Windows Firewall feature."

    Donc ne mettez pas tout sur le dos de cette nouvelle technologie...
  • # Attention !

    Posté par . Évalué à 10.

    Il y a deux chose complètement différente :

    - Le NX Bit : la technologie qui permet de donner les droits en execution a un segment mémoire, en d'autres termes on définit une zone mémoire comm étant non executable (data only) et il devient impossible de demander au CPU d'executer quelques intructions que ce soit dans cette zone. Cette technologie n'existe pas sur architecture x86.

    - La protection de pile : Qui interdit au gestionnaire de mémoire et a l'OS de jumper la pile en execution. En d'autres termes il devient impossible de placer des instructions au sommet de la pile et d'attendre que le programme l'execute.

    C'est la deuxième technologie qui pose problème sur les logiciels mal codés. En effet certains prog n'hésite pas a accumuler le code sur la pile et à l'executer après. Bien entendu cette façon de faire entrainne une faille de sécurité dans 90% des cas.

    Kha

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.