PaX - Définition et Explications

Source: Wikipédia sous licence CC-BY-SA 3.0.
La liste des auteurs de cet article est disponible ici.

Les objectifs de Pax

PaX permet de mieux se protéger contre une exploitation malveillante d'erreurs de programmation classiques : notamment Dépassement de tampon, dépassement de valeur d'un entier,

PaX ne détecte pas directement le dépassement de tampon (En informatique, un dépassement ou débordement de tampon (en anglais, buffer overflow) est un bogue pouvant être exploité pour violer la politique de sécurité d’un système. Cette...). Pour cela, il existe d'autres mécanismes dont SSP (Stack-Smashing Protector) dans gcc.

PaX (PaX est un correctif (patch) de sécurité pour le noyau Linux créé en 2000. Il utilise une approche qui permet aux programmes informatiques de faire seulement ce qu'ils ont à...) peut être utilisé sur les architectures : x86 (La famille x86 regroupe les microprocesseurs compatibles avec le jeu d'instructions de l'Intel 8086. Cette série est nommée IA-32 (pour Intel...), IA-32, AMD64, IA-64, PA-RISC, MIPS (32 et 64 bits), PowerPC (Le PowerPC est une architecture de microprocesseurs développée conjointement par Apple, IBM et Freescale (ex-Motorola Semiconducteurs). Elle utilise un modèle RISC, privilégiant pipeline et jeu d'instructions réduit....), SPARC (et DEC Alpha).

Les limites de PaX

PaX ne peut pas protéger contre des erreurs de conception dans une application ou dans le système d'exploitation.

Il ne peut pas non plus protéger s'il n'y a pas de contrôle (Le mot contrôle peut avoir plusieurs sens. Il peut être employé comme synonyme d'examen, de vérification et de maîtrise.) sur les chaînes de caractères saisies, par exemple, une chaine avec un %s ou un %x pour un programme écrit en langage C (voir Format string attack (en)).

La documentation PaX décrit trois classes d'attaques sur lesquelles PaX pourra tenter de vous protéger. La documentation explique ce sur quoi Pax pourra vous protéger et ce sur quoi Pax sera impuissant

En résumé, les attaques que PaX pourra bloquer sont les suivantes :

  1. celles qui introduisent et exécutent un code arbitraire (fréquemment via un shellcode) ;
  2. celles qui essaient d'exécuter du code déjà existant, mais dans un contexte (Le contexte d'un évènement inclut les circonstances et conditions qui l'entourent; le contexte d'un mot, d'une phrase ou d'un texte inclut les mots qui l'entourent. Le concept...) autre que celui prévu par le programmeur (En informatique, un développeur (ou programmeur) est un informaticien qui réalise du logiciel en créant des algorithmes et en les mettant en œuvre dans un langage de programmation.) à l'origine (voir return-to-libc attack);
  3. celles qui essaient d'exécuter du code avec des données (Dans les technologies de l'information (TI), une donnée est une description élémentaire, souvent codée, d'une chose, d'une transaction d'affaire, d'un événement, etc.) arbitraires.

Historique

  • octobre 2000 : premier version de PaX avec un support basique de PAGEEXEC ;
  • novembre 2000 : première mise en œuvre de MPROTECT ;
  • juin 2001 : mise en œuvre de l'ASLR, toutefois non publié ;
  • juillet 2001 : publication de l'ASLR ;
  • août 2001 : amélioration de l'ASLR avec la randomisation de la pile et du PIE ;
  • juillet 2002 : publication de RANDEXEC et de VMA Mirroring ;
  • octobre 2002 : publication de SEGMEXEC ;
  • octobre 2002 : amélioration de l'ASLR avec la randomisation de la base de la pile noyau ;
  • février 2003 : introduction du marquage des fichiers ELF ;
  • avril 2003 : publication de KERNEXEC ;
  • juillet 2003 : amélioration de l'ASLR avec la randomisation de brk ;
  • février 2004 : introduction du marquage PT_PAX_FLAGS dans les fichiers ELF ;
  • mai 2004 : amélioration des performances de PAGEEXEC ;
  • 4 mars 2005 : publication d'une vulnérabilité (En gestion des risques, la vulnérabilité d'une organisation ou d'une zone géographique est le point faible de cette organisation pouvant être défini par :) sur le VMA Mirroring ;
  • 1 avril 2005 : PaX Team annonce la fin du développement de PaX, ce qui n'aura pas lieu, faute de candidat à la reprise du développement.
Page générée en 0.044 seconde(s) - site hébergé chez Amen
Ce site fait l'objet d'une déclaration à la CNIL sous le numéro de dossier 1037632
Ce site est édité par Techno-Science.net - A propos - Informations légales
Partenaire: HD-Numérique