Spremembe v OpenBSD za dodatno zaščito pomnilnika procesa

Theo de Raadt je dodal vrsto popravkov v kodno zbirko OpenBSD za dodatno zaščito procesnega pomnilnika uporabniškega prostora. Razvijalcem je na voljo nov sistemski klic in pripadajoča istoimenska funkcija knjižnice mimmutable, ki omogoča popravljanje dostopnih pravic pri refleksiji v pomnilnik (memory mapping). Po popravku nastavljenih pravic za pomnilniško področje, na primer prepoved pisanja in izvajanja, kasneje ni mogoče spremeniti z naknadnimi klici funkcij mmap (), mprotect () in munmap (), ki ob poskusu spremembe bo ustvaril napako EPERM.

Za nadzor zmožnosti spreminjanja dovoljenj zrcaljenega pomnilnika za objektne datoteke je bil predlagan nov razdelek Spremenljivi BSS (.openbsd.mutable, Začetni simbol spremenljivega bloka), dodani pa sta bili tudi novi zastavici PF_MUTABLE in UVM_ET_IMMUTABLE. Dodana podpora povezovalniku za definiranje razdelkov »openbsd.mutable« in njihovo umestitev v ločeno območje v BSS, poravnano z mejo pomnilniške strani. S klicem funkcije mimmutable je mogoče vsa zrcaljena področja označiti kot nespremenljiva, z izjemo odsekov, označenih kot "openbsd.mutable". Nova funkcija bo uporabnikom uvedena v izdaji OpenBSD 7.3.

Vir: opennet.ru

Dodaj komentar