Veranderinge aan OpenBSD gemaak om prosesgeheue verder te beskerm

Theo de Raadt het 'n reeks pleisters by die OpenBSD-kodebasis gevoeg om prosesgeheue in gebruikersruimte verder te beskerm. Ontwikkelaars word 'n nuwe stelseloproep aangebied en die gepaardgaande biblioteekfunksie met dieselfde naam, mimmutable, wat jou toelaat om toegangsregte reg te stel wanneer dit in die geheue reflekteer (geheuekaarte). Na commit, kan die regte wat vir 'n geheue-area gestel is, byvoorbeeld die verbod op skryf en uitvoering, nie later verander word deur daaropvolgende oproepe na die mmap(), mprotect() en munmap() funksies, wat 'n EPERM-fout sal genereer wanneer gepoog word om te verander.

Om die vermoë te beheer om die regte van gereflekteerde geheue vir objeklêers te verander, is 'n nuwe Mutable BSS-afdeling (.openbsd.mutable, Mutable Block Starting Symbol) voorgestel, en nuwe vlae PF_MUTABLE en UVM_ET_IMMUTABLE is bygevoeg. Bygevoeg ondersteuning by die skakelaar vir die definisie van "openbsd.mutable" afdelings en plaas hulle in 'n aparte area in die BSS, in lyn met 'n geheue bladsy grens. Deur die mimmutable funksie te roep, is dit moontlik om alle spieël areas as onveranderlik te merk, met die uitsondering van afdelings gemerk "openbsd.mutable". Die nuwe kenmerk sal in die OpenBSD 7.3-weergawe aan gebruikers bekendgestel word.

Bron: opennet.ru

Voeg 'n opmerking