Стабильный выпуск HardenedBSD 12
18 декабря 2018 года
Подготовлен первый стабильный выпуск 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.
Источники
правитьЛюбой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.