OpenBSD har vedtaget ændringer for yderligere at beskytte proceshukommelse

Theo de Raadt har tilføjet en række patches til OpenBSD-kodebasen for yderligere at beskytte proceshukommelse i brugerrummet. Udviklere tilbydes et nyt systemkald og den tilhørende biblioteksfunktion af samme navn, mimmutable, som giver dig mulighed for at rette adgangsrettigheder, når de reflekterer i hukommelsen (hukommelseskort). Efter committing kan de indstillede rettigheder for et hukommelsesområde, for eksempel forbud mod skrivning og udførelse, ikke efterfølgende ændres gennem efterfølgende kald til funktionerne mmap(), mprotect() og munmap(), som vil generere en EPERM-fejl ved forsøg at skifte.

For at kontrollere muligheden for at ændre rettighederne til reflekteret hukommelse for objektfiler er en ny Mutable BSS-sektion (.openbsd.mutable, Mutable Block Starting Symbol) blevet foreslået, og nye flag PF_MUTABLE og UVM_ET_IMMUTABLE er blevet tilføjet. Tilføjet støtte til linkeren til at definere "openbsd.mutable" sektioner og placere dem i et separat område i BSS, justeret til en hukommelsessidegrænse. Ved at kalde den mimutable funktion er det muligt at markere alle spejlede områder som uforanderlige, med undtagelse af sektioner mærket "openbsd.mutable". Den nye funktion vil blive rullet ud til brugere i OpenBSD 7.3-udgivelsen.

Kilde: opennet.ru

Tilføj en kommentar