Les "guard pages" n'ont rien à voir avec les canaris/SSP, le canari est une valeur bien précise qui se place sur le stack entre l'adresse de retour et les paramètres. Ca se fait au niveau du compilateur. Alors que la page de garde (si j'ai bien compris) est une page "vide" entre deux autres pages mémoires et ça ça se fait au niveau de la gestion de la mémoire par l'OS/la libc.
SSP/ProPolice est bien utilisé dans OBSD (et DFBSD d'après Wikipédia) et j'ai cru comprendre que les développeurs OBSD ont passé pas mal de temps à bidouiller dessus mais c'est pas eux qui l'ont crée.
La plupart de ces mesures de sécurité ont effectivement des impacts plus ou moins grands sur les performances mais au final ça ne peut être que bénéfique.
AFAIK, aucune des ces mesures de sécurité (guard page, malloc randomisation, free(3) qui munmap(2) à tous les coups ou presque) n'est implémentée dans le noyau Linux normal.
pertinent adj. Approprié : qui se rapporte exactement à ce dont il est question.
[^] # Re: Points 1) et 2)
Posté par Krunch (courriel, site web personnel) . En réponse au journal "Improved Memory Allocation" dans OpenBSD 3.8. Évalué à 2.
SSP/ProPolice est bien utilisé dans OBSD (et DFBSD d'après Wikipédia) et j'ai cru comprendre que les développeurs OBSD ont passé pas mal de temps à bidouiller dessus mais c'est pas eux qui l'ont crée.
La plupart de ces mesures de sécurité ont effectivement des impacts plus ou moins grands sur les performances mais au final ça ne peut être que bénéfique.
AFAIK, aucune des ces mesures de sécurité (guard page, malloc randomisation, free(3) qui munmap(2) à tous les coups ou presque) n'est implémentée dans le noyau Linux normal.
pertinent adj. Approprié : qui se rapporte exactement à ce dont il est question.