Ndryshimet e bëra në OpenBSD për të mbrojtur më tej kujtesën e procesit

Theo de Raadt shtoi një seri arnimesh në bazën e kodeve OpenBSD për të mbrojtur më tej kujtesën e procesit të hapësirës së përdoruesit. Zhvilluesve u ofrohet një thirrje e re sistemi dhe funksioni i bibliotekës së ndryshueshme shoqëruese me të njëjtin emër, i cili lejon fiksimin e të drejtave të aksesit kur reflektohet në memorie (hartografitë e memories). Pas rregullimit, të drejtat e vendosura për zonën e kujtesës, për shembull, ndalimi i shkrimit dhe ekzekutimit, nuk mund të ndryshohen më vonë përmes thirrjeve të mëvonshme në funksionet mmap (), mprotect () dhe munmap (), të cilat, kur përpiqeni t'i ndryshoni, do të gjenerojë një gabim EPERM.

Një seksion i ri BSS i ndryshueshëm (.openbsd.mutable, Simboli i fillimit të bllokut të ndryshueshëm) është propozuar për të kontrolluar aftësinë për të ndryshuar lejet e kujtesës së pasqyruar për skedarët e objekteve dhe janë shtuar flamujt e rinj PF_MUTABLE dhe UVM_ET_IMMUTABLE. Mbështetje e shtuar për lidhësin për përcaktimin e seksioneve "openbsd.mutable" dhe vendosjen e tyre në një zonë të veçantë në BSS të lidhur me një kufi faqe memorie. Nëpërmjet thirrjes për funksionin e ndryshueshëm, është e mundur të shënohen të gjitha zonat e pasqyruara si të pandryshueshme, me përjashtim të seksioneve të shënuara si "openbsd.mutable". Funksioni i ri do të shpërndahet për përdoruesit në versionin OpenBSD 7.3.

Burimi: opennet.ru

Shto një koment