W OpenBSD przyjęto zmiany mające na celu dodatkową ochronę pamięci procesów

Theo de Raadt dodał do bazy kodu OpenBSD szereg poprawek mających na celu dodatkową ochronę pamięci procesów w przestrzeni użytkownika. Programiści otrzymali nowy wywołanie systemowe oraz związaną z nim funkcję biblioteczną o tej samej nazwie mimmutable, która pozwala na zablokowanie praw dostępu przy odwzorowywaniu w pamięci (memory mappings). Po zablokowaniu, nadane prawam dostępu do obszaru pamięci, na przykład zakaz zapisu i wykonania, nie można zmienić za pomocą późniejszych wywołań funkcji mmap(), mprotect() i munmap(), które przy próbie zmiany zwrócą błąd EPERM.

Aby zarządzać możliwością zmiany praw odwzorowanej pamięci dla plików obiektowych, zaproponowano nową sekcję Mutable BSS (.openbsd.mutable, Mutable Block Starting Symbol), a także dodano nowe flagi PF_MUTABLE i UVM_ET_IMMUTABLE. Do linkera dodano wsparcie dla definiowania sekcji „openbsd.mutable” i umieszczania ich w odrębnej przestrzeni w BSS, wyrównanej do granicy strony pamięci. Poprzez wywołanie funkcji mimmutable udostępniono możliwość oznaczenia wszystkich odwzorowanych obszarów jako niezmiennych (immutable), z wyjątkiem sekcji oznaczonych jako „openbsd.mutable”. Nowa funkcja będzie udostępniona użytkownikom w wersji OpenBSD 7.3.

Źródło: opennet.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster