Стабильный выпуск HardenedBSD 12
Подготовлен первый стабильный выпуск HardenedBSD 12, форка операционной системы FreeBSD 12, в который интегрированы дополнительные механизмы защиты и техники противодействия методам эксплуатации уязвимостей. Установочные iso-образы и сборки для виртуальных машин сформированы для архитектуры AMD64. По мере готовности развиваемые проектом HardenedBSD по возможности переносятся в основные ветки FreeBSD.
По сравнению с HardenedBSD 11 в новой ветке реализованы следующие улучшения:
- При сборке приложений задействован механизм проверки целостности выполнения программ Non-Cross-DSO CFI (Control Flow Integrity), нацеленный на выявление некоторых форм неопределённого поведения, которые потенциально могут привести к нарушению нормального потока управления (проброс на произвольное место в памяти) в результате атаки на приложение. Для ядра CFI пока не применяется;
- Дополнительная изоляция гипервизора bhyve;
- Возможность включения режима отладки непривилегированных процессов (sysctl security.bsd.unprivileged_process_debug) для отдельных jail-окружений;
- Применение метода защиты retpoline для блокирования уязвимости Spectre v2 на этапе сборки приложений из портов и базовой системы;
- Отключение по умолчанию технологии одновременной многопоточности (SMT или Hyper-Threading). Для включения следует установить переменную machdep.hyperthreading_allowed=1 в loader.conf;
- Перевод связанных с компилятором утилит ar, nm и objdump на реализации от проекта LLVM (llvm-ar, llvm-nm, and llvm-objdump);
- Сборка приложений с включением оптимизации на этапе связывания (LTO, Link-Time Optimization).
Из особенностей HardenedBSD можно отметить:
- Реализации ASLR (Address Space Layout Randomization), NOEXEC и SEGVGUARD (защита от обхода ASLR);
- Более защищённые варианты mprotect и procfs/linprocfs;
- Ограничение некоторых настроек sysctl;
- Усиление защиты на стадии загрузки;
- Запрет маппинга страниц памяти одновременно в режиме исполнения и записи (W^X);
- Усиление защиты сетевого стека, добавление рандомизации идентификаторов IP и временных адресов IPv6;
- Защита от метода работы эксплоитов SROP (Sigreturn-oriented programming);
- Изоляция большей части исполняемых файлов базовой системы на уровне ограничения доступа к системным вызовам;
- Возможность запуска программ только из разрешённых каталогов;
- Сборка исполняемых файлов базовой системы и портов в режиме PIE (Position-Independent Executables) с защитой от переполнения стека (SafeStack), механизмом проверки целостности выполнения программы CFI (Control Flow Integrity), защитой от эксплуатации уязвимостей Spectre (патчи retpoline) и включением опций RELRO и BIND_NOW;
- Для применения к приложениям дополнительных техник защиты предлагается утилита secadm.
© OpenNet