Адрес: ул. Б. Очаковская 32 Москва Россия
Наши официальные канал и чат в telegram
Поднимем Devuan на вершину Distrowatch! Просто перейдите по ссылке один раз в день.

В Clang намерены добавить режим усиленной безопасности

Новости собранные из разных RSS источников
Аватара пользователя
root:#
Site Admin
Сообщения: 562
Зарегистрирован: Вт ноя 08, 2022 3:27 pm
Благодарил (а): 41 раз
Поблагодарили: 23 раза

В Clang намерены добавить режим усиленной безопасности

Сообщение root:# »

В Clang намерены добавить режим усиленной безопасности
Аарон Баллман (Aaron Ballman), главный сопровождающий компилятор Clang и участник команд разработки стандартов WG21 (C++) и WG14 (C), начал обсуждение добавления в компилятор Clang режима усиления безопасности. Новый режим позволит разом активировать набор опций для усиления защиты по аналогии с добавленным в GCC 14 флагом "-fhardened", при котором включаются опции "-D_FORTIFY_SOURCE=3 -D_GLIBCXX_ASSERTIONS -ftrivial-auto-var-init=zero -fPIE -pie -Wl,-z,relro,-z,now -fstack-protector-strong -fstack-clash-protection -fcf-protection=full". Отмечается, что в настоящее время ведётся работа по добавлению возможностей для усиления безопасности в стандарты C и C++, но этот процесс не быстрый, при том, что в Сlang уже доступны отдельные опции с реализацией дополнительных механизмов защиты. Реализуемые методы защиты часто приводят к отдельным несовместимостям с существующим кодом или нарушению ABI, что не позволяет активировать их по умолчанию. Кроме того, подобные опции разрознены (флаги для управления компиляцией, флаги генерации машинных инструкций, привязанные к аппаратным архитектурам, предупреждения, режимы диагностики, макросы), плохо документированы и выпадают из поля зрения многих разработчиков. Единая настройка унифицирует включение связанных с безопасностью опций и упростит их применение. Рассматривается несколько вариантов активации режима усиленной безопасности, например, обсуждается активация через флаг "-fhardened", набор настроек "--config=hardened", отдельный драйвер (clang --driver-mode) или раздельные опции "-fhardened, -mhardened и -Whardened", привязанные к компиляции, генерации кода и выводу предупреждений. Режим может охватывать:
  • Возможности компилятора: -ftrivial-auto-var-init, -fPIE, -fcf-protection и т.п. Возможности, привязанные к генерации кода для целевых платформ: -mspeculative-load-hardening, -mlvi-hardening и т.п. Предупреждения: -Wall, -Wextra, -Werror=return-type и т.п. Режимы усиления безопасности в стандартной библиотеке функций. Макросы: _FORTIFY_SOURCE, _GLIBCXX_ASSERTIONS и т.п. Требование к явному выбору используемого стандарта языка. Отказ компилировать код с использованием устаревших стандартов C89 и C++98. Передача дополнительных флагов компоновщику, например, для включения рандомизации адресов.

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