OpenBSD on tehnyt muutoksia prosessimuistin suojaamiseksi entisestään

Theo de Raadt on lisännyt sarjan korjaustiedostoja OpenBSD-koodikantaan suojatakseen entisestään prosessimuistia käyttäjätilassa. Kehittäjille tarjotaan uusi järjestelmäkutsu ja siihen liittyvä samanniminen kirjastotoiminto, mimmutable, jonka avulla voit korjata käyttöoikeudet muistiin heijastuessa (muistikartoitukset). Sitoutumisen jälkeen muistialueelle asetettuja oikeuksia, esimerkiksi kirjoitus- ja suorituskielto, ei voi muuttaa myöhemmin kutsumalla mmap(), mprotect() ja munmap()-funktioita, mikä aiheuttaa EPERM-virheen yritettäessä. muuttua.

Objektitiedostojen heijastusmuistin oikeuksien muuttamisen hallitsemiseksi on ehdotettu uutta Mutable BSS -osaa (.openbsd.mutable, Mutable Block Starting Symbol) ja uudet liput PF_MUTABLE ja UVM_ET_IMMUTABLE on lisätty. Lisätty tuki linkkiin "openbsd.mutable"-osien määrittämiseksi ja niiden sijoittamiseksi erilliselle alueelle BSS:ssä, tasataan muistisivun rajaan. Kutsumalla mummuable-funktiota on mahdollista merkitä kaikki peilatut alueet muuttumattomiksi, paitsi "openbsd.mutable" -merkityillä osioilla. Uusi ominaisuus julkaistaan ​​käyttäjille OpenBSD 7.3 -julkaisussa.

Lähde: opennet.ru

Lisää kommentti