Проверяемый статус документов Полнотекстовый поиск Доступ без регистрации

Карточка нормативного документа

ГОСТ Р 71206-2024

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

Просмотреть PDF
Статус не подтверждённа 29.09.2026Перед применением сверяйтесь с официальным источником
Удобное чтениеАбзацы и заголовки без PDF-разрывов

Межгосударственный стандарт

ГОСТ Р 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
Б ибл иограф ия..............................................................................................................................................................13

4

Страница 4

ГОСТ Р 71206— 2024


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




IV
Показаны первые 4 из 20

История статуса

Подтверждённых событий пока нет.