Theo de Raadt har lagt till en serie patchar i OpenBSD:s kodbas för att ge ytterligare skydd för processminnet i anvÀndarrummet. Utvecklarna har föreslagit ett nytt systemanrop och en relaterad bibliotekfunktion som heter mimmutable, som möjliggör lÄsning av ÄtkomstrÀttigheter vid minnesavbildning (memory mappings). NÀr rÀttigheterna vÀl har lÄsts, till exempel skriv- och körförbud, kan de inte lÀngre Àndras genom efterföljande anrop av funktionerna mmap(), mprotect() och munmap(), som vid försök att Àndra kommer att returnera ett felmeddelande, EPERM.
För att styra möjligheten att förÀndra rÀttigheterna för avbildat minne för objektfiler har en ny sektion introducerats, Mutable BSS (.openbsd.mutable, Mutable Block Starting Symbol), liksom nya flaggor PF_MUTABLE och UVM_ET_IMMUTABLE. LÀnkningsverktyget har fÄtt stöd för att identifiera sektioner sÄsom "openbsd.mutable" och placera dem i ett separat omrÄde i BSS, uppvÀgt mot minnessidans grÀns. Genom att anropa funktionen mimmutable kan alla avbildade omrÄden markeras som oförÀnderliga (immutable), förutom de sektioner som markerats som "openbsd.mutable". Denna nya funktionalitet kommer att förmedlas till anvÀndarna i OpenBSD 7.3-utgÄvan.
KĂ€lla: opennet.ru
