OpenBSD har antagit ändringar för att ytterligare skydda processminne

Theo de Raadt har lagt till en serie patchar till OpenBSD-kodbasen för att ytterligare skydda processminne i användarutrymmet. Utvecklare erbjuds ett nytt systemanrop och tillhörande biblioteksfunktion med samma namn, mimmutable, som låter dig fixa åtkomsträttigheter när du reflekterar i minnet (minnesmappningar). Efter committing kan de inställda rättigheterna för ett minnesområde, till exempel förbud mot skrivning och exekvering, inte ändras senare genom efterföljande anrop till funktionerna mmap(), mprotect() och munmap(), vilket kommer att generera ett EPERM-fel vid försök att förändra.

För att styra möjligheten att ändra rättigheterna för reflekterat minne för objektfiler har en ny mutbar BSS-sektion (.openbsd.mutable, mutbar blockstartsymbol) föreslagits och nya flaggor PF_MUTABLE och UVM_ET_IMMUTABLE har lagts till. Lade till stöd för länken för att definiera "openbsd.mutable"-sektioner och placera dem i ett separat område i BSS, justerat till en minnessidagräns. Genom att anropa den immmuterbara funktionen är det möjligt att markera alla speglade områden som oföränderliga, med undantag för avsnitt märkta "openbsd.mutable". Den nya funktionen kommer att rullas ut till användare i OpenBSD 7.3-versionen.

Källa: opennet.ru

Lägg en kommentar