Auteur: Yves Martin Date: À: guilde Sujet: Re: A propos du No eXecute d'AMD64
Selon Yves Martin <ymartin59@???>:
> dans la version actuelle mais je pense que Linux
> définit un seul segment qui couvre toute la mémoire (avec droit en
> exécution)
> et que sa valeur est posée dans tous les registres de segment (CS, DS, ES,
> FS, GS, SS)
Oops, mon brouillon de mail est parti... Et comme c'est faux, je veux
corriger:
Linux utilise 4 segments (include/asm-i386/segment.h):
KERNEL_CS, KERNEL_DS, USER_CS, USER_DS
et le segment de pile est bien fixé à USER_DS
J'ai trouvé l'initialisation dans la GDT de KERNEL_CS et KERNEL_DS dans
arch/i386/boot/setup.S mais pas les segments à USER_DS et USER_CS.
Si à l'occasion je comprends pourquoi les attaques par buffer overflow sur
la pile fonctionne sur Linux/i386 ...