OpenBSD přijalo změny pro další ochranu procesní paměti

Theo de Raadt přidal řadu záplat do kódové základny OpenBSD, aby dále chránil procesní paměť v uživatelském prostoru. Vývojářům je nabídnuto nové systémové volání a přidružená knihovní funkce stejného jména, mimmutable, která umožňuje opravit přístupová práva při odrazu do paměti (mapování paměti). Po potvrzení nelze práva nastavená pro paměťovou oblast, například zákaz zápisu a spouštění, následně změnit pomocí následných volání funkcí mmap(), mprotect() a munmap(), které při pokusu vygenerují chybu EPERM změnit.

Pro kontrolu schopnosti měnit práva odražené paměti pro objektové soubory byla navržena nová sekce Mutable BSS (.openbsd.mutable, Mutable Block Starting Symbol) a byly přidány nové příznaky PF_MUTABLE a UVM_ET_IMMUTABLE. Přidána podpora linkeru pro definování sekcí „openbsd.mutable“ a jejich umístění do samostatné oblasti v BSS, zarovnané s hranicí stránky paměti. Voláním funkce mimmutable je možné označit všechny zrcadlené oblasti jako neměnné, s výjimkou sekcí označených "openbsd.mutable". Nová funkce bude uživatelům zpřístupněna ve verzi OpenBSD 7.3.

Zdroj: opennet.ru

Přidat komentář