Проект HardenedBSD, занимающийся улучшением механизмов защиты FreeBSD, представил стабильный выпуск 40.1, сформированный на базе ответвления веток FreeBSD 10-STABLE и 11-CURRENT. Установочные iso-образы и сборки для виртуальных машин подготовлены для архитектуры AMD64 (10-STABLE и 11-CURRENT). По мере готовности развиваемые проектом HardenedBSD возможности переносятся в основные ветки FreeBSD.
Из входящих в HardenedBSD улучшений, можно отметить реализации ASLR (Address Space Layout Randomization), SEGVGUARD, PAGEEXEC, secfw, SMAP (Supervisor Mode Access Prevention), chacha20, arc4random, более защищённые варианты mprotect, PTrace, mmap(MAP_32BIT), getentropy и procfs/linprocfs, удаление устаревших форматов (a.out, COFF, SVR4, IBCS2), усиление защиты на стадии загрузки, рекурсивный вариант setfacl, рандомизация порядка загрузки совместно используемых объектов и т.п. Для применения к приложениям дополнительных техник защиты предлагается утилита secadm.
Например, ASLR представляет собой технику рандомизации раскладки сегментов данных и стека в адресном пространстве, усложняющую вычисление точек возврата функций, через которые можно передать управление своему коду в случае эксплуатации уязвимостей. MPROTECT и PAGEEXEC позволяют запретить исполнение кода в страницах памяти, не предназначенных для исполняемых инструкций. SMAP позволяет использовать одноимённые инструкции процессоров Intel для блокирования доступа к данным в пространстве пользователя из привилегированного кода, выполняемого в пространстве ядра. SEGVGUARD осуществляет отслеживание обращений к невыделенным страницам памяти (page-fault) и пытается определить попытки эксплуатации уязвимостей, например, на стадии перебора адресов для вычисления точки возврата.
|