Проект HardenedBSD, занимающийся улучшением механизмов защиты FreeBSD, представил первый публичный выпуск инструментария secadm, предназначенного для организации применения к приложениям тех или иных дополнительных техник защиты. В состав secadm входит модуль ядра, взаимодействующий с фреймворком мандатного контроля доступа (MAC), библиотека libsecadm и утилита для управления из командной строки.

Утилита secadm позволяет на уровне отдельных исполняемых файлов включать и выключать определённые дополнительные методы защиты. Новая система призвана заменить ранее предлагаемый инструмент ugidfw, изначально позиционированный как временное решение, не предназначенное для повсеместного использования. В настоящее время в secadm предоставлены средства для настройки использования ASLR (Address Space Layout Randomization), SEGVGUARD, mprotect и PAGEEXEC. Конфигурация применения дополнительных техник защиты определяется в формате JSON. Настройки можно переопределять на уровне отдельных jail (параметры одного jail-окружения не пересекаются с другими).

ASLR представляет собой технику рандомизации раскладки сегментов данных и стека в адресном пространстве, усложняющую вычисление точек возврата функций, через которые можно передать управление своему коду в случае эксплуатации уязвимостей. MPROTECT и PAGEEXEC позволяют запретить исполнение кода в страницах памяти, не предназначенных для исполняемых инструкций. SEGVGUARD осуществляет отслеживание обращений к невыделенным страницам памяти (page-fault) и пытается определить попытки эксплуатации уязвимостей, например, на стадии перебора адресов для вычисления точки возврата.

Источник: http://www.opennet.ru/opennews/art.shtml?num=41361