Mga pagbabagong ginawa sa OpenBSD upang higit pang maprotektahan ang memorya ng proseso

Nagdagdag si Theo de Raadt ng isang serye ng mga patch sa OpenBSD codebase upang higit pang maprotektahan ang memorya ng proseso ng user-space. Inaalok ang mga developer ng bagong system call at ang nauugnay na nababagong function ng library na may parehong pangalan, na nagbibigay-daan sa pag-aayos ng mga karapatan sa pag-access kapag sumasalamin sa memorya (mga memory mapping). Pagkatapos ayusin, ang mga karapatan na itinakda para sa lugar ng memorya, halimbawa, ang pagbabawal sa pagsulat at pagpapatupad, ay hindi mababago sa ibang pagkakataon sa pamamagitan ng mga kasunod na tawag sa mga function na mmap (), mprotect () at munmap (), na, kapag sinusubukang baguhin, bubuo ng EPERM error.

Ang isang bagong seksyon ng Mutable BSS (.openbsd.mutable, Mutable Block Starting Symbol) ay iminungkahi upang kontrolin ang kakayahang baguhin ang mga pahintulot ng mirrored memory para sa mga object file, at ang mga bagong flag na PF_MUTABLE at UVM_ET_IMMUTABLE ay naidagdag. Nagdagdag ng suporta sa linker para sa pagtukoy ng mga seksyong "openbsd.mutable" at paglalagay ng mga ito sa isang hiwalay na lugar sa BSS na nakahanay sa hangganan ng memory page. Sa pamamagitan ng tawag sa mimmutable function, posibleng markahan ang lahat ng na-mirror na lugar bilang hindi nababago, maliban sa mga seksyong minarkahan bilang "openbsd.mutable". Ang bagong feature ay ilalabas sa mga user sa OpenBSD 7.3 release.

Pinagmulan: opennet.ru

Magdagdag ng komento