Межгосударственный стандарт
ГОСТ Р 71206-2024
Защита информации. Разработка безопасного программного обеспечения. Безопасный компилятор языков С/С++. Общие требования
Information protection. Secure software development. Safe C/C++ compiler. General requirements
Редакционная карточка ГОСТНОРМ. Полный текст публикуется только при подтверждённом праве использования. Метаданные сверяются по нескольким источникам.
Область применения
Область применения пока не подтверждена.
1
Страница 1
ФЕДЕРАЛЬНОЕ АГЕНТСТВО
ПО ТЕХНИЧЕСКОМУ РЕГУЛИРОВАНИЮ И МЕТРОЛОГИИ
НАЦИОНАЛЬНЫЙ ГОСТ Р
СТАНДАРТ
РОССИЙСКОЙ
71206—
ФЕДЕРАЦИИ 2024
Защита информации
РАЗРАБОТКА Б ЕЗО ПАСНО ГО
ПРО ГРАМ М НО ГО О Б ЕС П ЕЧ ЕН И Я .
БЕЗОПАСНЫ Й КО М ПИ ЛЯТО Р Я ЗЫ КО В C/C++
Общие требования
Издание официальное
Москва
Российский институт стандартизации
2024
контроль строительства2
Страница 2
ГОСТ Р 71206— 2024
Предисловие
1 РАЗРАБОТАН Федеральным государственным бюджетным учреждением науки «Институт
системного программирования имени В.П. Иванникова Российской академии наук» (ИСП РАН)
2 ВНЕСЕН Техническим комитетом по стандартизации ТК 362 «Защита информации»
3 УТВЕРЖДЕН И ВВЕДЕН В ДЕЙСТВИЕ Приказом Федерального агентства по техническому
регулированию и метрологии от 18 января 2024 г. № 24-ст
4 ВВЕДЕН ВПЕРВЫЕ
Правила применения настоящего стандарта установлены в статье 26 Федерального закона
от 29 июня 2015 г. № 162-ФЗ «О стандартизации в Российской Федерации». Информация об из
менениях к настоящему стандарту публикуется в ежегодном (по состоянию на 1 января текущего
года) информационном указателе «Национальные стандарты», а официальный текст изменений
и поправок — в ежемесячном информационном указателе «Национальные стандарты». В случае
пересмотра (замены) или отмены настоящего стандарта соответствующее уведомление будет
опубликовано в ближайшем выпуске ежемесячного информационного указателя «Национальные
стандарты». Соответствующая информация, уведомление и тексты размещаются также в ин
формационной системе общего пользования — на официальном сайте Федерального агентства по
техническому регулированию и метрологии в сети Интернет (www.rst.gov.ru)
© Оформление. ФГБУ «Институт стандартизации», 2024
Настоящий стандарт не может быть полностью или частично воспроизведен, тиражирован и рас
пространен в качестве официального издания без разрешения Федерального агентства по техническо
му регулированию и метрологии3
Страница 3
ГОСТ Р 71206— 2024
Содержание
1 Область прим енения..................................................................................................................................................1
2 Нормативные ссы лки..................................................................................................................................................1
3 Термины и о п ред ел ения...........................................................................................................................................2
4 Общие требования к безопасному компилятору................................................................................................ 3
5 Требования к функциям безопасного ко м п и л я то р а ..........................................................................................4
6 Требования к производительности генерируемого кода................................................................................. 8
7 Проверка выполнения требований к безопасному компилятору..................................................................... 9
Приложение А (справочное) Таблица соответствия функций безопасности компилятора 3 класса
и опций компилятора G C C ............................................................................................................ 10
Приложение Б (справочное) Пример построения квалификационных тестов для проверки
требований раздела 5 ................................................................................................................... 11
Б ибл иограф ия..............................................................................................................................................................134
Страница 4
ГОСТ Р 71206— 2024
Введение
Уязвимости в исходном и бинарном коде программного обеспечения являются причиной реали
зации угроз безопасности информации и, следовательно, фактором риска. Такие уязвимости могут по
являться не только в результате ошибок, содержащихся в программах, но и в результате процедуры
сборки программы, т. е. преобразования исходного кода программы в бинарный код. В частности, уяз
вимости могут появляться в программе в результате оптимизаций кода, выполняемых компилятором.
Для программ на языках С и C++ существенная часть уязвимостей, проявляющихся при сборке
программы, возникает из-за использования в ее коде конструкций, поведение которых не регламен
тируется стандартом языка (так называемое неопределенное поведение или зависящее от реализа
ции поведение). Современные компиляторы выполняют оптимизацию программы, строго полагаясь на
стандарт языка, и если программа допускает нарушения стандарта, в ходе ее оптимизации компилятор
может использовать неверное для этой программы предположение о ее семантике. В результате в би
нарном коде такой программы могут появляться уязвимости, которых не было в исходной программе.
На практике конструкции с неопределенным поведением встречаются в исходном коде программ, как
системных, так и прикладных. Это создает угрозу безопасности информации для программного обеспе
чения, так как оптимизирующий компилятор может преобразовать такие конструкции в исходном коде
в бинарный код, содержащий уязвимости. Указанные проблемы могут быть решены использованием
компилятора, не вносящего в программу уязвимости при выполнении оптимизаций — безопасного ком
пилятора.
Целью применения безопасного компилятора является уменьшение количества уязвимостей, ко
торые могут быть внесены инструментами компиляции при сборке программы в ее бинарный код. Такие
уязвимости не присутствуют в исходном коде программы и возникают из-за использования современ
ными средствами сборки всех возможностей языков С и C++.
Настоящий стандарт направлен на достижение целей, связанных с предотвращением появле
ния уязвимостей в программах, и содержит общие требования к безопасному компилятору программ
на языках С и C++ (стандарты [1] и [2] соответственно), задача которого не вносить в бинарный код
программы ошибки, которых не было в исходном коде программы и которые могут появиться в ходе
компиляции, в том числе в ходе выполнения оптимизаций кода программы. Стандарт уточняет требо
вания к мерам по разработке безопасного программного обеспечения, реализуемые при выполнении
конструирования и комплексирования программного обеспечения, вводя дополнительные требования
к используемым инструментальным средствам (безопасному компилятору).
IVПоказаны первые 4 из 20
История статуса
Подтверждённых событий пока нет.