OpenBSD prijalo zmeny na ďalšiu ochranu procesnej pamäte

Theo de Raadt pridal sériu záplat do kódovej základne OpenBSD na ďalšiu ochranu pamäte procesov v užívateľskom priestore. Vývojárom sa ponúka nové systémové volanie a pridružená knižničná funkcia s rovnakým názvom, mimmutable, ktorá vám umožňuje opraviť prístupové práva pri premietaní do pamäte (mapovanie pamäte). Po potvrdení nie je možné následne zmeniť práva nastavené pre pamäťovú oblasť, napríklad zákaz zapisovania a spúšťania, prostredníctvom následných volaní funkcií mmap(), mprotect() a munmap(), ktoré pri pokuse vygenerujú chybu EPERM zmeniť.

Na kontrolu schopnosti meniť práva odrazenej pamäte pre objektové súbory bola navrhnutá nová sekcia Mutable BSS (.openbsd.mutable, Mutable Block Starting Symbol) a boli pridané nové príznaky PF_MUTABLE a UVM_ET_IMMUTABLE. Pridaná podpora pre linker na definovanie sekcií „openbsd.mutable“ a ich umiestnenie do samostatnej oblasti v BSS, zarovnané s hranicou pamäťovej stránky. Volaním funkcie mimmutable je možné označiť všetky zrkadlené oblasti ako nemenné, s výnimkou sekcií označených „openbsd.mutable“. Nová funkcia bude sprístupnená používateľom vo vydaní OpenBSD 7.3.

Zdroj: opennet.ru

Pridať komentár