Promjene napravljene na OpenBSD-u radi dalje zaštite procesne memorije

Theo de Raadt je dodao niz zakrpa u OpenBSD kodnu bazu kako bi dodatno zaštitio procesnu memoriju korisničkog prostora. Programerima se nudi novi sistemski poziv i pridružena mimmutable bibliotečka funkcija istog imena, koja omogućava fiksiranje prava pristupa prilikom reflektiranja u memoriju (memory mappings). Nakon popravljanja, prava postavljena za memorijsko područje, na primjer, zabrana pisanja i izvršavanja, ne mogu se kasnije mijenjati kroz naknadne pozive funkcija mmap (), mprotect () i munmap (), koje, kada se pokušava promijeniti, će generirati EPERM grešku.

Predložena je nova promjenjiva BSS sekcija (.openbsd.mutable, promjenjivi početni simbol bloka) za kontrolu mogućnosti promjene preslikanih memorijskih dozvola za objektne datoteke, a dodane su i nove zastavice PF_MUTABLE i UVM_ET_IMMUTABLE. Dodata podrška povezivaču za definisanje "openbsd.mutable" sekcija i njihovo postavljanje u odvojeno područje u BSS-u poravnato sa granicom memorijske stranice. Preko poziva funkcije mimmutable, moguće je označiti sve zrcaljene oblasti kao nepromjenjive, sa izuzetkom sekcija označenih kao "openbsd.mutable". Nova funkcija će biti predstavljena korisnicima u izdanju OpenBSD 7.3.

izvor: opennet.ru

Dodajte komentar