В OpenBSD бяха приети промени за допълнителна защита на паметта на процесите

Тео де Раадт добави серия от пачове в кода на OpenBSD за допълнителна защита на паметта на процесите в пространството на потребителя. На разработчиците им е предложен нов системен повик и свързана с него библиотечна функция mimmutable, която позволява да се фиксират правата на достъп при отразяване в паметта (memory mappings). След фиксирането, зададените права за дадена област от паметта, като например забрана за запис и изпълнение, не могат да бъдат променени чрез последващи повиквания на функциите mmap(), mprotect() и munmap(), които при опит за промяна ще дават грешка EPERM.

За управление на възможността за промяна на правата на отразената памет за обектни файлове е предложена нова секция Mutable BSS (.openbsd.mutable, Mutable Block Starting Symbol), както и нови флагове PF_MUTABLE и UVM_ET_IMMUTABLE. В компоновчика е добавена поддръжка за определяне на секции «openbsd.mutable» и разполагането им в отделна област в BSS, подравнена по границата на страницата на паметта. Чрез повикването на функцията mimmutable се предоставя възможност за маркиране на всички отразени области като неизменяеми (immutable), с изключение на секциите, маркирани като «openbsd.mutable». Новата възможност ще бъде предоставена на потребителите с версията OpenBSD 7.3.

Източник: opennet.ru

Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри 🔥 Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри | ProHoster