Стабильный выпуск 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