* les processeurs Intel gérant SMEP (à partir d'Ivy Bridge, Core i* de 3ème génération), et encore davantage les processeurs Intel gérant SMAP (annoncé depuis des années, mais disponible seulement à partir de Broadwell, Core i* 5ème génération, et si je me souviens bien pas sur tous les modèles) sont une goutte d'eau par rapport à la base de CPUs Intel et compatibles sur laquelle PaX/grsecurity propose respectivement KERNEXEC et UDEREF, qui sont tous les deux des sur-ensembles stricts de SMEP et SMAP, depuis plus de 10 ans. Aussi, PaX/grsecurity tire partie du PCID des Sandy Bridge (Core i* de 2ème génération) pour optimiser UDEREF, et mainline pourrait bénéficier de PCID pour optimiser sans la sécurité augmentée, mais ne le faisait toujours pas il y a quelques mois...
EDIT 2+h plus tard: et en plus, l'utilisation de SMAP par le kernel mainline est foireuse depuis qu'il gère le SMAP:
http://seclists.org/oss-sec/2016/q1/446 "That patch fixes a bug that exposed a fairly large kernel code surface to a straightforward SMAP bypass." / "This bug is present in all kernels from 3.10 on AFAICT.".
* certains processeurs ARM disposent de PXN et PAN, mais encore faut-il les utiliser, ce qui est loin d'être le cas par défaut sur nombre d'entre eux, notamment les Android utilisant des kernels lourdement obsolètes et trafiqués... Là aussi, PaX/grsecurity était en avance.
* PaX/grsecurity gère UDEREF et/ou KERNEXEC sur d'autres ISAs.
Linus se plaint toujours du
security theater, mais en attendant, son kernel reste une passoire n'implémentant pas des protections efficaces connues pour certaines depuis plus de 10 ans, et c'est largement à cause de son état d'esprit, partagé hélas par beaucoup de devs core. Android va finir par être en avance (mais sur des kernels obsolètes, c'est malin...) grâce notamment à Copperhead, géré par des chercheurs en sécurité et bons connaisseurs de PaX/grsec comme Daniel Micay, qui sont en train d'augmenter le niveau de sécurité de userspace + kernel Android.
Les BSDs sont hors course pour la sécurité, n'ayant par exemple implémenté des choses aussi faibles qu'ASLR qu'avec des années de retard sur Windows et Linux (ça, c'était pour OpenBSD; FreeBSD ne l'a toujours pas dans la souche principale, ou si ça a été enfin mergé, ça date au plus de quelques mois), avoir mal copié MPROTECT avec le W^X OpenBSD Not Invented Here, etc.
