Наскоро компанията Edera, която отговаря за разработването на решения за защита на инфраструктурата Kubernetes и AI системи, представи OpenPaX, проект на Пачове на ядрото на Linux насочени към подобряване на сигурността чрез противодействие на уязвимостите свързани с управлението на паметта.
Като такъв OpenPaX се позиционира като решение, базирано на кръпка за ядрото на Linux, предназначен като алтернатива на оригиналния пластир PaX, който вече е включен в grsecurity, предоставяйки на системните администратори допълнителен слой на защита срещу свързани с паметта уязвимости в сигурността.
На свой ред общността на ядрото на Linux може да се възползва от тези пачове с отворен код, с възможност част от тяхната функционалност да бъде интегрирана в основното ядро, когато е подходящо.
OpenPaX предлага смекчаване с отворен код за грешки в безопасността на паметта по време на изпълнение, отключвайки достъпа на разработчиците до критични функции за сигурност, като същевременно спестява на бизнеса ненужни разходи за поддръжка.
Сред най-забележителните характеристики от OpenPaX е открит механизмът W^X (Напишете XOR Execute), което има за цел да подобри сигурността на системата чрез картографиране на страници с памет. Този механизъм гарантира, че страниците не могат да бъдат създадени така че, позволява както писане, така и едновременно изпълнение, което предотвратява определени видове уязвимости. Освен това W^X поставя допълнителни ограничения, като не позволява на страниците, които са били разпределени за запис, да се променят в изпълнимо състояние.
Друга характеристика важно нещо за OpenPaX е неговият механизъм за емулация на батут, че ви позволява да правите повиквания към функции, разположени в стека и области на паметта, където изпълнението на код е изрично забранено. Въпреки това ограничение, емулацията на трамплин използва сигурни техники, за да гарантира, че кодът може да продължи да работи, без да компрометира сигурността на системата. Този механизъм прихваща грешки на страницата, които възникват при опит за изпълнение на код в област на паметта, маркирана като неизпълнима, и емулира прескачането, необходимо за продължаване на изпълнението.
Това Това е особено полезно в приложения, които зависят от libffi или GCC, които динамично генерират трамплини в стека. По този начин OpenPaX гарантира, че операциите, включващи манипулиране на трамплин, могат да се извършват безопасно, без да се нарушават политиките за изпълнение на кода на системата.
Споменава се, че тъй като внедрените техники за защита могат да попречат на работата на JIT компилаторите, OpenPaX ви позволява избирателно да управлявате кои функции се прилагат към изпълними файлове, като използвате xattr и инструмента paxmark.
Има и "мек" режим за да активирате OpenPaX (чрез sysctl kernel.pax.softmode=1), в който защитата е деактивирана по подразбиране, но може да се активира за конкретни приложения, които се нуждаят от допълнителна сигурност.
„Радваме се, че можем да предложим това на индустрията като цяло и като интегрирано предложение за нашите клиенти с Edera Protect“, каза Ариадне Конил, изтъкнат инженер и съосновател на Edera и поддържащ Alpine Linux. „Досега достъпът до здрав разум за смекчаване на сигурността на паметта като W^X потребителско пространство изискваше разработчиците и предприятията да лицензират скъпа корекция на ядрото, която не можеха да разпространяват, без да загубят достъп до актуализирани версии на корекцията, което можеше да наруши GPL. OpenPaX променя всичко това към по-добро.“
И накрая, трябва да се спомене, че OpenPaX се счита за неограничена алтернатива на лепенките PaX от проекта Grsecurity, която от 2017г Това е платен продукт. Пачовете на OpenPaX са отворени за обществеността под лиценза GPLv2, което го прави лесен за приемане в различни дистрибуции.
В момента Пачовете на OpenPaX могат да бъдат намерени в неговото хранилище на GitHub и тези, които се интересуват да опитат или да научат повече за тях, могат да получат повече информация В следващия линк.
От своя страна, Alpine Linux обяви, че ще включва експериментална версия на ядрото с тези кръпки в предстоящата версия 3.21 и планира да ги интегрира като стандартна опция във версия 3.22. Разпределения като Gentoo y Arch Linux, който преди това предлагаше версии на ядрото с PaX, може също да приеме OpenPaX. По същия начин разработчиците на OpenPaX се стремят да интегрират някои от своите механизми директно в основното ядро на Linux.
Ако сте заинтересовани да научите повече за това, можете да проверите подробностите В следващия линк.