Endringer gjort i OpenBSD for ytterligere å beskytte prosessminne

Theo de Raadt har lagt til en serie patcher til OpenBSD-kodebasen for ytterligere å beskytte prosessminne i brukerområdet. Utviklere tilbys et nytt systemkall og den tilhørende bibliotekfunksjonen med samme navn, mimmutable, som lar deg fikse tilgangsrettigheter når du reflekterer inn i minnet (minnetilordninger). Etter committing kan ikke rettighetene som er satt for et minneområde, for eksempel forbud mot skriving og utførelse, endres gjennom påfølgende kall til funksjonene mmap(), mprotect() og munmap(), som vil generere en EPERM-feil ved forsøk å endre.

For å kontrollere muligheten til å endre rettighetene til reflektert minne for objektfiler, har en ny Mutable BSS-seksjon (.openbsd.mutable, Mutable Block Starting Symbol) blitt foreslått, og nye flagg PF_MUTABLE og UVM_ET_IMMUTABLE er lagt til. Lagt til støtte til linkeren for å definere "openbsd.mutable"-seksjoner og plassere dem i et eget område i BSS, justert til en minnesidegrense. Ved å kalle den immmutbare funksjonen er det mulig å markere alle speilede områder som uforanderlige, med unntak av seksjoner merket "openbsd.mutable". Den nye funksjonen vil bli rullet ut til brukere i OpenBSD 7.3-utgivelsen.

Kilde: opennet.ru

Legg til en kommentar