Руководство по выбору методов и средств
Некоторые из подразделов настоящего стандарта связаны с таблицами, приведенными в приложениях А и Б. Например, подраздел 5.6 связан с таблицей А.1. Более подробные таблицы, которые раскрывают содержание некоторых элементов таблиц приложения А, содержатся в приложении Б. Например, таблица Б.2 раскрывает содержание динамического анализа и тестирования из таблицы А.5.
Для каждого метода/средства, упомянутого в приложениях А и Б, даны рекомендации по уровню полноты безопасности, изменяющемуся от SIL1 до SIL4. Эти рекомендации обозначаются следующим образом:
КР (HR) - метод/средство, крайне рекомендуемые для данного уровня полноты безопасности. Если указанные метод/средство не используют, то на этапе планирования должно быть дано подробное обоснование отказа от их применения, согласованное с экспертом;
Р (R) - метод/средство, рекомендуемые для данного уровня полноты безопасности. Степень обязательности их применения ниже, чем в случае рекомендации КР (HR).
-- - метод/средство, не имеющие рекомендаций по применению или неприменению;
HP (NR) - метод/средство, не рекомендуемые к применению для данного уровня полноты безопасности. Если эти метод/средство применяют, то на стадии планирования должно быть приведено подробное обоснование его применения, которое необходимо согласовать с экспертом.
Методы/средства следует выбирать в соответствии с уровнем полноты безопасности. Альтернативные или эквивалентные методы/средства обозначены буквой, следующей за номером. Следует выполнять только один из альтернативных или эквивалентных методов/средств.
Ранжирование методов/средств связано с концепцией эффективности, используемой в ГОСТ Р 53195.3. При прочих равных условиях методы, имеющие ранг КР (HR), будут более эффективны в предотвращении внесения систематических ошибок при разработке ПО либо при разработке структуры программ, будут более эффективны при выявлении ошибок, оставшихся не обнаруженными на этапе выполнения программ, по сравнению с методами, имеющими ранг Р (R).
При большом числе факторов, влияющих на полноту безопасности ПО, невозможно установить алгоритм, определяющий такую комбинацию методов и средств, которая была бы корректной для любого заданного приложения.
При планировании безопасности для конкретного приложения должна быть установлена соответствующая комбинация подлежащих использованию методов/средств, если примечания к таблице не налагают иных требований.
Таблица А.1 - Рекомендации по применению методов/средств проектирования и разработки ПО (см. 5.5, 5.6.4)
Методы/средства проектирования и разработки ПО | Ссылка на структурную единицу стандарта | Ранг применимости методов/средств для | |||
SIL1 | SIL2 | SIL3 | SIL4 | ||
1 Компьютерные средства разработки спецификаций | В.2.4, ГОСТ Р 53195.5-2010 | P (R) | P (R) | КР (HR) | КР (HR) |
2а Полуформальные методы | Таблица Б.7, настоящий стандарт | P (R) | P (R) | КР (HR) | КР (HR) |
2б Формальные методы, использующие, например, CCS, CSP, HOL, OBJ, LOTOS, временную логику, VDM и Z | В.2.4, ГОСТ Р 53195.5-2010
| -- | P (R) | P (R) | КР (HR) |
Примечания 1 Спецификация требований к безопасности программного обеспечения всегда будет требовать описания задачи на естественном языке и использования необходимой системы математических обозначений, отражающих содержание приложения. 2 Таблица отражает дополнительные требования для ясного и точного определения требований к безопасности программного обеспечения. |
Таблица А.2 - Рекомендации по применимости методов/средств для проектирования и разработки ПО: проектирование структуры программ (см. 5.6.5)
Методы/средства проектирования структуры программ | Ссылка на структурную единицу стандарта | Ранг применимости методов/средств для | |||
SIL1 | SIL2 | SIL3 | SIL4 | ||
1 Обнаружение и диагностика сбоев и ошибок | В.3.1, ГОСТ Р 53195.5-2010 | -- | P (R) | КР (HR) | КР (HR) |
2 Обнаружение и исправление ошибок | В.3.2, ГОСТ Р 53195.5-2010 | P (R) | P (R) | P (R) | КР (HR) |
3а Программирование с проверкой ошибок | В.3.3, ГОСТ Р 53195.5-2010 | P (R) | P (R) | P (R) | КР (HR) |
3б Методы "подушки безопасности" | В.3.4, ГОСТ Р 53195.5-2010 | -- | P (R) | P (R) | P (R) |
3в Многовариантное программирование | В.3.5, ГОСТ Р 53195.5-2010 | P (R) | P (R) | P (R) | КР (HR) |
3г Блоки восстановления | В.3.6, ГОСТ Р 53195.5-2010 | P (R) | P (R) | P (R) | P (R) |
3д Восстановление предыдущего состояния | В.3.7, ГОСТ Р 53195.5-2010 | P (R) | P (R) | P (R) | P (R) |
3е Прямое восстановление | В.3.8, ГОСТ Р 53195.5-2010 | P (R) | P (R) | P (R) | P (R) |
3ж Повторный запуск механизмов восстановления после ошибок | В.3.9, ГОСТ Р 53195.5-2010 | P (R) | P (R) | P (R) | КР (HR) |
3и Сохранение достигнутых состояний | В.3.10, ГОСТ Р 53195.5-2010 | -- | P (R) | P (R) | КР (HR) |
4 Постепенное отключение функций | В.3.11, ГОСТ Р 53195.5-2010 | P (R) | P (R) | КР (HR) | КР (HR) |
5 Исправление ошибок методами искусственного интеллекта | В.3.12, ГОСТ Р 53195.5-2010 | -- | HP (NR) | HP (NR) | HP (NR) |
6 Динамическая реконфигурация | В.3.13, ГОСТ Р 53195.5-2010 | -- | HP (NR) | HP (NR) | HP (NR) |
7а Структурные методы, включая, например, JSD, MASCOT, SADT и Yourdon | В.2.1, ГОСТ Р 53195.5-2010 | КР (HR) | КР (HR) | КР (HR) | КР (HR) |
7б Полуформальные методы | Таблица Б.7, настоящий стандарт | P (R) | P (R) | КР (HR) | КР (HR) |
8 Компьютерные средства разработки спецификаций | Б.2.4, ГОСТ Р 53195.5-2010 | P (R) | P (R) | КР (HR) | КР (HR) |
Примечание - Приведенные в данной таблице средства, касающиеся устойчивости к ошибкам (контроль ошибок), должны рассматриваться совместно с требованиями, описанными в ГОСТ Р 53195.3 к структуре и контролю ошибок для АС программируемых электронных устройств. |
Таблица А.3 - Рекомендации по применимости методов/средств для проектирования и разработки ПО: инструментальные средства поддержки и языки программирования (см. 5.6.6)
Методы/средства для проектирования инструментальных средств поддержки и языки программирования | Ссылка на структурную единицу ГОСТ Р 53195.5-2010 | Ранг применимости методов/средств для | |||
SIL1 | SIL2 | SIL3 | SIL4 | ||
1 Выбор соответствующего языка программирования | В.4.7 | КР (HR) | КР (HR) | КР (HR) | КР (HR) |
2 Строго типизированные языки программирования | В.4.1 | КР (HR) | КР (HR) | КР (HR) | КР (HR) |
3 Подмножество языка | В.4.2 | -- | -- | КР (HR) | КР (HR) |
4а Сертифицированные средства | В.4.3 | P (R) | КР (HR) | КР (HR) | КР (HR) |
4б Инструментальные средства, заслуживающие доверия на основании опыта использования | В.4.4 | КР (HR) | КР (HR) | КР (HR) | КР (HR) |
4в Сравнение исходных программ и исполнимых кодов | В.4.5 | КР (HR) | КР (HR) | КР (HR) | КР (HR) |
5а Сертифицированный компилятор | В.4.3 | P (R) | КР (HR) | КР (HR) | КР (HR) |
5б Трансляторы, заслуживающие доверия на основании опыта использования | В.4.4 | КР (HR) | КР (HR) | КР (HR) | КР (HR) |
6 Библиотека проверенных/верифицированных модулей и компонентов | В.4.6 | P (R) | КР (HR) | КР (HR) | КР (HR) |
Таблица А.4 - Рекомендации по применимости методов/средств для проектирования и разработки ПО: детальное проектирование (см. 5.6.4, 5.6.5 и 5.6.7)
Методы/средства детального проектирования | Ссылка на структурную единицу стандарта | Ранг применимости методов/средств для | |||
SIL1 | SIL2 | SIL3 | SIL4 | ||
1а Структурные методы, включая, например, JSD, MASCOT, SADT и Yourdon | В.2.1, ГОСТ Р 53195.5-2010 | КР (HR) | КР (HR) | КР (HR) | КР (HR) |
1б Полуформальные методы | Таблица Б.7, настоящий стандарт | P (R) | КР (HR) | КР (HR) | КР (HR) |
1в Формальные методы, включая, например, CCS, CSP, HOL, LOTOS, OBJ, временную логику, VDM и Z | В.2.4, ГОСТ Р 53195.5-2010 | -- | P (R) | P (R) | КР (HR) |
2 Средства автоматизированного проектирования | Б.3.5, ГОСТ Р 53195.5-2010 | P (R) | P (R) | КР (HR) | КР (HR) |
3 Программирование с защитой | В.2.5, ГОСТ Р 53195.5-2010 | -- | P (R) | КР (HR) | КР (HR) |
4 Модульный подход | Таблица Б.9, настоящий стандарт | КР (HR) | КР (HR) | КР (HR) | КР (HR) |
5 Стандарты для проектирования и кодирования | Таблица Б.1, настоящий стандарт | P (R) | КР (HR) | КР (HR) | КР (HR) |
6 Структурное программирование | В.2.7, ГОСТ Р 53195.5-2010 | КР (HR) | КР (HR) | КР (HR) | КР (HR) |
7 Использование проверенных/верифицированных программных модулей и компонентов (по возможности) | В.2.10, В.4.6, ГОСТ Р 53195.5-2010 | P (R) | КР (HR) | КР (HR) | КР (HR) |
Таблица A.5 - Рекомендации по применимости методов/средств для проектирования и разработки ПО: тестирование программных модулей и интеграция (см. 5.6.9 и 5.6.10)