Modifications apportées à OpenBSD pour protéger davantage la mémoire des processus

Theo de Raadt a ajouté une série de correctifs à la base de code OpenBSD pour protéger davantage la mémoire des processus dans l'espace utilisateur. Les développeurs se voient proposer un nouvel appel système et la fonction de bibliothèque associée du même nom, mimmutable, qui permet de fixer les droits d'accès lors de la réflexion en mémoire (mappages mémoire). Après la validation, les droits définis pour une zone mémoire, par exemple l'interdiction d'écriture et d'exécution, ne peuvent pas être modifiés ultérieurement par des appels ultérieurs aux fonctions mmap(), mprotect() et munmap(), ce qui générera une erreur EPERM lors de la tentative de validation. changer.

Pour contrôler la possibilité de modifier les droits de mémoire réfléchie pour les fichiers objets, une nouvelle section Mutable BSS (.openbsd.mutable, Mutable Block Starting Symbol) a été proposée et de nouveaux indicateurs PF_MUTABLE et UVM_ET_IMMUTABLE ont été ajoutés. Ajout de la prise en charge de l'éditeur de liens pour définir les sections "openbsd.mutable" et les placer dans une zone distincte du BSS, alignée sur une limite de page mémoire. En appelant la fonction mimmutable, il est possible de marquer toutes les zones miroir comme immuables, à l'exception des sections marquées "openbsd.mutable". La nouvelle fonctionnalité sera déployée auprès des utilisateurs dans la version OpenBSD 7.3.

Source: opennet.ru

Ajouter un commentaire