OpenBSD ha adottato modifiche per proteggere ulteriormente la memoria del processo

Theo de Raadt ha aggiunto una serie di patch al codice base di OpenBSD per proteggere ulteriormente la memoria del processo nello spazio utente. Agli sviluppatori viene offerta una nuova chiamata di sistema e la funzione di libreria associata con lo stesso nome, mimmutable, che consente di correggere i diritti di accesso durante la riflessione in memoria (mappature della memoria). Dopo il commit, i diritti impostati per un'area di memoria, ad esempio il divieto di scrittura ed esecuzione, non possono essere successivamente modificati tramite chiamate successive alle funzioni mmap(), mprotect() e munmap(), che genereranno un errore EPERM quando si tenta cambiare.

Per controllare la possibilità di modificare i diritti della memoria riflessa per i file oggetto, è stata proposta una nuova sezione BSS Mutable (.openbsd.mutable, Mutable Block Starting Symbol) e sono stati aggiunti nuovi flag PF_MUTABLE e UVM_ET_IMMUTABLE. Aggiunto supporto al linker per definire le sezioni "openbsd.mutable" e posizionarle in un'area separata nel BSS, allineata al limite di una pagina di memoria. Richiamando la funzione mimmutable, è possibile contrassegnare tutte le aree specchiate come immutabili, ad eccezione delle sezioni contrassegnate con "openbsd.mutable". La nuova funzionalità verrà distribuita agli utenti nella versione OpenBSD 7.3.

Fonte: opennet.ru

Aggiungi un commento