• # secu

    Posté par . En réponse à la dépêche Le noyau Linux est disponible en version 2.6.38. Évalué à 6. Dernière modification le 15 mars 2011 à 14:32.

    Le nouveau noyau propose également un travail d'amélioration de l'option CONFIG_DEBUG_RODATA effectué par Ingo Molnar.

    Ce n'est pas Ingo qui a fait le boulot.

    Cette option permet de marquer en Read Only certaines pages mémoires du noyau et, avec le noyau 2.6.38, nous bénéficions maintenant d'une protection contre l'exécution sur les données. Le bit NX (No eXecute) est mis pour les sections BSS (Block Started by Symbol)

    En théorie il est mis pour tout ce qui n'est pas du code : bss, mais aussi les data, les section init (code et data)...
    Mais sur le 2.6.38 ce n'est fait qu'en mode 32 bits. Un bug en mode 64 bits bloquait le suspend to RAM.
    Un patch a été soumis, mais bon c'est pas un truc qui a l'air de passionner les devs Linux...

    et un second patch protège le chargement des modules noyau en mettant le bit RO/NX sur les données et le bit RO+X sur le code.

    En fait c'est RO sur le code + données constante et X sur le code :
    RO+X sur le code ;
    RO+NX sur le données constantes ;
    RW+NX sur les datas ;