Wijzigingen aangebracht in OpenBSD om het procesgeheugen verder te beschermen

Theo de Raadt heeft een reeks patches aan de OpenBSD-codebasis toegevoegd om het procesgeheugen van de gebruikersruimte verder te beschermen. Ontwikkelaars krijgen een nieuwe systeemaanroep aangeboden en de bijbehorende, onveranderbare bibliotheekfunctie met dezelfde naam, waarmee toegangsrechten kunnen worden hersteld bij reflectie in het geheugen (geheugentoewijzingen). Na het repareren kunnen de rechten die zijn ingesteld voor het geheugengebied, bijvoorbeeld het verbod op schrijven en uitvoeren, later niet worden gewijzigd door daaropvolgende aanroepen van de mmap (), mprotect () en munmap () functies, die, bij een poging om te veranderen, zal een EPERM-fout genereren.

Er is een nieuwe Mutable BSS-sectie (.openbsd.mutable, Mutable Block Starting Symbol) voorgesteld om de mogelijkheid te controleren om gespiegelde geheugenmachtigingen voor objectbestanden te wijzigen, en nieuwe vlaggen PF_MUTABLE en UVM_ET_IMMUTABLE zijn toegevoegd. Ondersteuning toegevoegd aan de linker voor het definiëren van "openbsd.mutable"-secties en deze in een apart gebied in de BSS te plaatsen, uitgelijnd met de grens van een geheugenpagina. Door de aanroep van de functie 'veranderbaar' is het mogelijk om alle gespiegelde gebieden als onveranderlijk te markeren, met uitzondering van de secties gemarkeerd als "openbsd.mutable". De nieuwe functie zal uitgerold worden naar gebruikers in de OpenBSD 7.3 release.

Bron: opennet.ru

Voeg een reactie