1304734158 — ИНФОРМПРОЕКТ ГРУПП
Картотека документов

Электронный фонд правовой
и нормативно-технической документации

ГОСТ Р 71206-2024 Защита информации. Разработка безопасного программного обеспечения. Безопасный компилятор языков С/С++. Общие требования

ГОСТ Р 71206-2024 Защита информации. Разработка безопасного программного обеспечения. Безопасный компилятор языков С/С++. Общие требования

ГОСТ Р 71206-2024

НАЦИОНАЛЬНЫЙ СТАНДАРТ РОССИЙСКОЙ ФЕДЕРАЦИИ

Защита информации

РАЗРАБОТКА БЕЗОПАСНОГО ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ. БЕЗОПАСНЫЙ КОМПИЛЯТОР ЯЗЫКОВ С/С++

Общие требования

Information protection. Secure software development. Safe C/C++ compiler. General requirements



ОКС 35.020

Дата введения 2024-04-01

Предисловие

     

1 РАЗРАБОТАН Федеральным государственным бюджетным учреждением науки "Институт системного программирования имени В.П.Иванникова Российской академии наук" (ИСП РАН)

2 ВНЕСЕН Техническим комитетом по стандартизации ТК 362 "Защита информации"

3 УТВЕРЖДЕН И ВВЕДЕН В ДЕЙСТВИЕ Приказом Федерального агентства по техническому регулированию и метрологии от 18 января 2024 г. N 24-ст

4 ВВЕДЕН ВПЕРВЫЕ

Правила применения настоящего стандарта установлены в статье 26 Федерального закона от 29 июня 2015 г. N 162-ФЗ "О стандартизации в Российской Федерации". Информация об изменениях к настоящему стандарту публикуется в ежегодном (по состоянию на 1 января текущего года) информационном указателе "Национальные стандарты", а официальный текст изменений и поправок - в ежемесячном информационном указателе "Национальные стандарты". В случае пересмотра (замены) или отмены настоящего стандарта соответствующее уведомление будет опубликовано в ближайшем выпуске ежемесячного информационного указателя "Национальные стандарты". Соответствующая информация, уведомление и тексты размещаются также в информационной системе общего пользования - на официальном сайте Федерального агентства по техническому регулированию и метрологии в сети Интернет (www.rst.gov.ru)

Введение


Уязвимости в исходном и бинарном коде программного обеспечения являются причиной реализации угроз безопасности информации и, следовательно, фактором риска. Такие уязвимости могут появляться не только в результате ошибок, содержащихся в программах, но и в результате процедуры сборки программы, т.е. преобразования исходного кода программы в бинарный код. В частности, уязвимости могут появляться в программе в результате оптимизаций кода, выполняемых компилятором.

Для программ на языках С и C++ существенная часть уязвимостей, проявляющихся при сборке программы, возникает из-за использования в ее коде конструкций, поведение которых не регламентируется стандартом языка (так называемое неопределенное поведение или зависящее от реализации поведение). Современные компиляторы выполняют оптимизацию программы, строго полагаясь на стандарт языка, и если программа допускает нарушения стандарта, в ходе ее оптимизации компилятор может использовать неверное для этой программы предположение о ее семантике. В результате в бинарном коде такой программы могут появляться уязвимости, которых не было в исходной программе. На практике конструкции с неопределенным поведением встречаются в исходном коде программ, как системных, так и прикладных. Это создает угрозу безопасности информации для программного обеспечения, так как оптимизирующий компилятор может преобразовать такие конструкции в исходном коде в бинарный код, содержащий уязвимости. Указанные проблемы могут быть решены использованием компилятора, не вносящего в программу уязвимости при выполнении оптимизаций - безопасного компилятора.

Целью применения безопасного компилятора является уменьшение количества уязвимостей, которые могут быть внесены инструментами компиляции при сборке программы в ее бинарный код. Такие уязвимости не присутствуют в исходном коде программы и возникают из-за использования современными средствами сборки всех возможностей языков С и C++.

Настоящий стандарт направлен на достижение целей, связанных с предотвращением появления уязвимостей в программах, и содержит общие требования к безопасному компилятору программ на языках С и C++ (стандарты [1] и [2] соответственно), задача которого не вносить в бинарный код программы ошибки, которых не было в исходном коде программы и которые могут появиться в ходе компиляции, в том числе в ходе выполнения оптимизаций кода программы. Стандарт уточняет требования к мерам по разработке безопасного программного обеспечения, реализуемые при выполнении конструирования и комплексирования программного обеспечения, вводя дополнительные требования к используемым инструментальным средствам (безопасному компилятору).

1 Область применения

Настоящий стандарт устанавливает общие требования к безопасному компилятору программ на языках С и C++ (стандарты [1] и [2] соответственно). Целью работы безопасного компилятора является не вносить в бинарный код программы ошибки, которых не было в исходном коде программы и которые могут появиться в ходе компиляции, в том числе в ходе выполнения оптимизаций кода программы. Настоящий стандарт задает требования к динамической компоновке и загрузке программ, выполнение которых необходимо для поддержки ряда возможностей безопасного компилятора. Настоящий стандарт уточняет требования к мерам по разработке безопасного программного обеспечения, реализуемые при выполнении конструирования и комплексирования программного обеспечения, в части требований к используемым инструментальным средствам (безопасному компилятору). Настоящий стандарт определяет требования к функциям безопасного компилятора и задает нефункциональные требования к безопасному компилятору, задает требования к методике проверки требований к безопасному компилятору.

Настоящий стандарт предназначен для разработчиков компиляторов, а также для разработки безопасного программного обеспечения при выборе и оценке средств компиляции.

2 Нормативные ссылки

В настоящем стандарте использованы нормативные ссылки на следующие стандарты:

ГОСТ 34.11 Информационная технология. Криптографическая защита информации. Функция хэширования

Доступ к полной версии документа ограничен

Название документа
ГОСТ Р 71206-2024 Защита информации. Разработка безопасного программного обеспечения. Безопасный компилятор языков С/С++. Общие требования
Номер документа
71206-2024
Вид документа
Нормативно-технический документ
Статус
Скрыто
Дата принятия
Скрыто
Дата начала действия
Скрыто

Документ «ГОСТ Р 71206 2024» посвящён вопросам защиты информации и разработке безопасного программного обеспечения с акцентом на компиляторы языков С и С++. Основное назначение стандарта заключается в установлении общих требований к разработке безопасных компиляторов, что актуально для организаций, занимающихся программным обеспечением, а также для пользователей, стремящихся повысить уровень безопасности своих программных продуктов.

В рамках стандарта регламентируются методы и параметры, которые должны быть учтены при разработке компиляторов. Это включает в себя требования к анализу исходного кода, механизмам предотвращения уязвимостей, а также процедурам тестирования, направленным на выявление и устранение потенциальных угроз безопасности. Стандарт также определяет минимальные характеристики, которые должны быть соблюдены для обеспечения безопасной компиляции программного кода.

Технические детали стандарта охватывают условия испытаний компиляторов, включая методы оценки их безопасности и производительности. Установлены критерии для классификации компиляторов по уровню защищённости, а также измеряемые величины, которые необходимо учитывать при проведении тестирования. Это позволяет обеспечить систематизированный подход к оценке безопасности программного обеспечения, созданного с использованием данных компиляторов.

Целевая аудитория стандарта включает производителей программного обеспечения, лаборатории, занимающиеся тестированием и сертификацией, а также контролирующие органы, ответственные за соблюдение требований безопасности в области информационных технологий. Стандарт предоставляет практические рекомендации, которые могут быть полезны как для разработчиков, так и для организаций, стремящихся обеспечить высокий уровень безопасности своих продуктов.

Практическое значение стандарта заключается в его влиянии на безопасность программного обеспечения, что в свою очередь способствует повышению качества разрабатываемых решений и охране труда пользователей. Соблюдение требований данного стандарта позволяет минимизировать риски, связанные с уязвимостями программного обеспечения, и обеспечивает совместимость с другими стандартами в области информационной безопасности.

В новой редакции стандарта учтены изменения, касающиеся актуализации методов тестирования и расширения требований к документации, сопровождающей процесс разработки. Это направлено на улучшение прозрачности и повышению доверия к разработанным программным продуктам, а также на упрощение процесса сертификации компиляторов на соответствие требованиям безопасности.

Описание документа носит справочный характер, достоверность этого материала не гарантируется.

Чтобы получить полный доступ к этому и другим документам, приобретайте доступ к Информационной сети «Техэксперт» - лидеру в области комплексного обеспечения предприятий нормативно-технической документацией.

Нормативно-техническая документация (ГОСТ, СНиП, ГН, Р, ГЭСН и др.)
Нормативно-правовые акты органов государственной власти (законы, законопроекты, постановления)
Технологическая документация (чертежи, схемы и др.)
Аналитические материалы
Классификаторы и словари
Справочная информация
Все документы и информация о них
доступны в системах «Техэксперт» и «Кодекс»

Возможно вас заинтересуют

PDF ГОСТ Р 57700.41-2024 Компьютерные модели и моделирование. Верификация компьютерных моделей. Определение напряженно-деформированного состояния конструкций в упругопластической области PDF ГОСТ Р 57700.39-2024 Компьютерные модели и моделирование. Программное обеспечение компьютерного моделирования физических процессов. Общие требования PDF ГОСТ Р 57700.38-2024 Компьютерные модели и моделирование. Валидация программного обеспечения. Определение параметров выносливости конструкции PDF ГОСТ Р 71207-2024 Защита информации. Разработка безопасного программного обеспечения. Статический анализ программного обеспечения. Общие требования PDF ГОСТ 33158-2023 Бензины. Определение марганца методом атомно-абсорбционной спектроскопии (с Поправкой) PDF ГОСТ Р 71153.1-2024 Соединения клеевые деталей и узлов железнодорожного подвижного состава. Часть 1. Требования к квалификации предприятий