Повышение безопасности Linux-ядра через использование страниц памяти, доступных только для чтения
Цель инициативы проста - перевести ядро насколько это возможно на работу с памятью в режиме только для чтения, особенно в местах, в которых фигурируют указатели на функции и в точках возможного перехвата управления, которые являются главной мишенью атак злоумышленников, в случае обнаружения ошибок, приводящих к возможности записи в области памяти ядра.
В качестве базиса для реализации данной идеи предложено использовать работу, ранее начатую в рамках проекта PaX, по реорганизации таблиц указателей на функции в вид с постоянными указателями (перевод указателей в режим только для чтения после их инициализации). Кроме того, предлагается добавить в ядро патч, реализующий механизм повышения безопасности модулей ядра через реализацию возможности запрещения выполнения кода и операций записи для определённых частей модулей.
С общим планом переноса в основное Linux-ядро различных улучшений из проектов PaX и grsecurity можно ознакомиться на данной странице. Кроме вышеотмеченных функций можно упомянуть проведение чистки файловой системы /proc на предмет возможной утечки важной для проведения атак информации; добавление возможностей для контроля автозагрузки модулей; поддержка пометки процессов как только 32- или 64-разрядных; ограничение доступа к системным вызовам, связанным с режимом vm86; скрытие служебных символьных таблиц ядра; рандомизация стека ядра и сегментирование памяти (PAX_RANDKSTACK, PAX_MEMORY_UDEREF); поддержка битовой маски для ограничения доступа к определённым классам системных вызовов.
Источник: http://www.opennet.ru/opennews/art.shtml?num=28587
|
0 | Tweet | Нравится |
|