Faire un don ! | | style | statistiques | contactez-nous | plan | lettre d'information

Liens connexes

Dépêche modérée par

: Premier patch 'NX' pour le noyau Linux

Posté par Antoine Reversat (). Modéré le 03 juin 2004.
Ingo Molnar l'a annoncé aujourd'hui sur la LKML (Linux Kernel Mailing List) : le premier patch 'NX' pour notre bien aimé noyau est disponible. Si la technologie NX est disponible sur le processeur, le noyau ainsi modifié interdit l'exécution des buffers et de la pile. À ma connaissance Linux est le premier OS à implémenter cette technologie (NdM : non). Un noyau patché est déjà disponible pour la Fedora Core sous le nom kernel-2.6.6-1.411.

> Lire la dépêche (54 commentaires, moyenne: 3,7).  

Pour rappel NX signifie No eXecute, cette technologie rend plus difficile l'écriture de code malicieux utilisant des exploits de types dépassement de tampon ou dépassement de pile. En effet les processeurs disposant de la technologie NX ajoutent deux drapeaux aux pages mémoires allouées, à savoir le drapeau 'execute' et le drapeau 'no execute' ; ce dernier interdit l'exécution de la zone mémoire allouée.

Cette discussion est archivée, il n'est plus possible de laisser des commentaires.

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

Desole...

Posté par pasBill pasGates () le 03/06/2004 à 07:38. (lien). Évalué à 12.

Ben non c'est pas le premier, le SP2 de XP contient ca depuis un petit moment deja, et je suis a peu pres sur d'ailleurs que XP n'etait pas le premier non plus, il me semble qu'OpenBSD le faisait deja aussi, mais je n'en suis pas sur

Pardon ?

Posté par cykl (Jabber id, ) le 03/06/2004 à 08:57. (lien). Évalué à 17.

"À ma connaissance Linux est le premier OS à implémenter cette technologie."

Heu pardon c'est serieux la ?

Bon y'a deux cas si y'a un support hardware ou non.

S'il y a support hardware cette chose existe depuis la nuit des temps. Sur les systèmes qui utilisent la segmentation ou sur des processeurs non moisis niveau pagination ceci a toujours existé aussi loin que la mémoire virtuelle remonte.

Pour pas remonter à la nuit des temps je sais que Solaris le supporte au moins depuis 1998. NetBSD le fait aussi sur toutes les architectures potables.
Autrement pour faire plus mal je dirais que les anneaux Multics basés sur des segments faisaient déjà cela... y'a un peu plus de 20 ans... (rha j'étais même pas né !)

Le problème est que quelques architectures bien merdiques on fait l'économie d'un ou deux bits par pte et qu'on est bien emmerder maintenant et qu'il faut des ruses de sioux au niveau noyau pour émuler ce que le processeur n'est pas capable de fournir. Au niveau du noyau même linux à en effet été l'un des premiers (c'est plus recent maintenant) notament avec PaX & co. Il existe un autre technique mais qui demande la recompilation des tout sur la machine les solutions noyaux ayant l'avantage d'etre transparente.

Le seul événement la dedans, même s'il est pas récent, c'est que la famille de proco la plus répendue va enfin être potable niveau VM. L'AMD 64 étant pas mal foutu si on excepte les 8 modes de compatibilités...

Bref les linuxiens sont en train de trop s'enfermer dans leur monde linux à mon gout :-)

W^X sur OpenBSD

Posté par Foxy (page perso, ) le 03/06/2004 à 09:03. (lien). Évalué à 10.

À ma connaissance Linux est le premier OS à implémenter cette technologie.

Avant de dire des conneries pareilles, tu pourrais te renseigner.

Sur OpenBSD, cette fonctionnalité s'appelle "W^X" (Write XOR Execute) et est dispo depuis la version 3.4.

Cela est supporté aisément sur les processeurs disposant de cette fonctionnalité en "natif" et au pris de pas mal de contorsions (d'après les dev) sur i386.

Reflexion, extension

Posté par Benjamin G. ( Prae ) (page perso, ) le 03/06/2004 à 11:00. (lien). Évalué à 4.

> À ma connaissance Linux est le premier OS à implémenter cette technologie (NdM : non)

Le modérateur n'aurait pas pu simplement supprimer cette phrase plutot que de rajouter une note ?

Et la protection au niveau des segments alors ?

Posté par Guillaume Knispel () le 03/06/2004 à 12:23. (lien). Évalué à 6.

Je ne sais pas si c'est inenvisageable d'utiliser ca à cause de la structure des differents OS, mais ca fait TRES TRES TRES longtemps (depuis le i386 et même le 80286 en 16 bits) que les x86 possèdent une distinction segment de code / segment de donnees largement suffisante pour emepecher l'execution de code dans la pile ou le tas. Il aurait peut etre été plus malin d'utiliser ca dès le début plutôt que d'attendre que les fondeurs daignent rajouter un truc redondant au niveau des pages, en faisant par ailleurs le pire gruik illogique en attendant (supperposition on ne peut plus dangereuse (puisque qu'elle rend possible les exploitations des BOF) d'un segment de donnée pour rendre possible l'ecriture, et de code pour rendre possible l'execution).

Bref tout ca pour dire qu'avant de tripper sur des nouveautés loin d'être nouvelles, d'ailleurs, il faudrait ptet prendre le temps de matter l'existant et d'eviter de faire des choses absurdes au niveau design des OS (oui, la supperposition segment de code et segment de donnée est une chose ABSURDE, voir GRAVE si on prend en compte tous les exploit rendus possibles), et de venir se plaindre par apres du processeur sans même s'appercevoir de l'absurdite de sa plainte.

C'etait le coup de gueule du jour d'un psycopathe qui a les trois manuels d'Intel comme livre de chevet.

2 drapeaux sinon rien...

Posté par Quzqo () le 03/06/2004 à 14:35. (lien). Évalué à 7.

En effet les processeurs disposant de la technologie NX ajoutent deux drapeaux aux pages mémoires allouées, à savoir le drapeau 'execute' et le drapeau 'no execute' ; ce dernier interdit l'exécution de la zone mémoire allouée.

C'est curieux mais j'aurai plutôt pensé que l'économie imposerait un drapeau booléen execute/no execute.
Serait-ce une erreur de formulation de la dépêche, une bêtise d'ingénieur, une réalité électronique que j'ignore, un chipotage de ma part ou ces 4 états (drapeaux levés et baissés) laissent-ils présager d'autres possibilités ?

--
BXN - La vie est un (men)songe.

Revenir en haut de page