Этапы сертификации

  1. Заявитель (разработчик либо другая компания, заинтересованная в проведении сертификации) подает в федеральный орган (ФСБ, ФСТЭК или Минобороны) по сертификации заявку на проведение сертификационных испытаний некоторого продукта.
  2. Федеральный орган определяет аккредитованную испытательную лабораторию и орган по сертификации.
  3. Испытательная лаборатория совместно с заявителем проводит сертификационные испытания. Если в процессе испытаний выявляются те или иные несоответствия заявленным требованиям, то они могут быть устранены заявителем в рабочем порядке, что и происходит в большинстве случаев, либо может быть принято решение об изменении требований к продукту, например, о снижении класса защищенности. Возможен вариант, когда сертификационные испытания завершаются с отрицательным результатом. Наиболее нашумевшим в прессе примером можно назвать случай, когда испытательная лаборатория НИИ ВМФ после года проверок выдала отрицательное сертификационное заключение на программные изделия специального назначения. Известны как минимум пять случаев, когда определенные версии ОС и СУБД не смогли получить сертификат на отсутствие недекларированных возможностей по причине потери части исходного кода старых модулей. Если посмотреть реестр ФСТЭК, то можно заметить, что ряд программных систем защиты (например, СУБД Oracle и система безопасности приложений IBM Guardium) получили сертификаты лишь на соответствие ТУ, а не на соответствие руководящему документу Гостехкомиссии — это значит, что орган по сертификации посчитал, что не все требования руководящего документа подтверждены при испытаниях.
  4. Материалы испытаний передаются в орган по сертификации, который проводит их независимую экспертизу. Как правило, в экспертизе участвуют не менее двух экспертов, которые независимо друг от друга подтверждают корректность и полноту проведения испытаний.
  5. Федеральный орган по сертификации на основании заключения органа по сертификации оформляет сертификат соответствия. Надо сказать, что в случае выявления каких-либо несоответствий федеральный орган может провести дополнительную экспертизу с привлечением экспертов из различных аккредитованных лабораторий и органов.

Что такое добровольная сертификация?

Инициатором добровольной сертификации является разработчик или поставщик. Такая сертификация применяется с целью повышения конкурентоспособности продукта, расширения сферы её использования и получение дополнительных экономических преимуществ:

  • Больший тираж изделия при производстве
  • Большая длительность жизненного цикла
  • Снижение налогов за высокое качество
  • Сокращение рекламации пользователей

Что такое обязательная сертификация?

Обязательная сертификация необходима для программных продуктов, выполняющих особую ответственную функцию (энергические системы, транспортные системы, атомные системы).

Разработчик и поставщик программного продукта обязаны подвергать свои изделия сертификации на соответствие требованиям качества и безопасности.

Необходимость проведения определяет заказчик, он же может выступать в качестве заявителя.

Сертификация программных средств. Основные определения

Сертификация – процедура, подтверждающая соответствие программного продукта требованиям стандарта.

Виды сертификации:

  • Добровольная
  • Обязательная

Что касается документов, на соответствие которым проводятся сертификационные испытания, то они практически идентичны во всех системах сертификации. Существуют два основных подхода к сертификации – и соответственно два типа нормативных документов.

Функциональное тестирование средств защиты информации, позволяющее убедиться в том, что продукт действительно реализует заявленные функции. Это тестирование чаще всего проводится на соответствие конкретному нормативному документу – например, одному из руководящих документов Гостехкомиссии России. Такие документы установлены, например, для межсетевых экранов и средств защиты от несанкционированного доступа. Если же не существует документа, которому сертифицируемый продукт соответствовал бы в полной мере, то функциональные требования могут быть сформулированы в явном виде – например, в технических условиях, или в виде задания по безопасности (в соответствии с положениями стандарта ГОСТ Р 15408).

Структурное тестирование программного кода на отсутствие недекларированных возможностей. Классическим примером недекларированных возможностей являются программные закладки, которые при возникновении определенных условий инициируют выполнение не описанных в документации функций, позволяющих осуществлять несанкционированные воздействия на информацию (по ГОСТ Р 51275-99). Выявление недекларированных возможностей предполагает проведение серии тестов исходных текстов программ, предоставление которых является необходимым условием для возможности проведения сертификационных испытаний.

ГОСТ 19.503–79 ЕСПД. Руководство системного программиста. Требования к содержанию и оформлению

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

  1. Общие сведения о программе
  2. Структура программы
  3. Настройка программы
  4. Проверка программы
  5. Дополнительные возможности
  6. Сообщения системному программисту

При необходимости допускается опускать раздел, описывающий дополнительные возможности.

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

В разделе Структура программы приводятся сведения о структуре программы, ее составных частях и связях с другими программами.

Раздел Настройка программы должен содержать описание действий по настройке программы на условия конкретного применения.

При описании проверки программы необходимо привести и описать способы проверки, позволяющие дать общее заключение о работоспособности программы (контрольные примеры, методы прогона, результаты).

Раздел Дополнительные возможности должен содержать описание дополнительных разделов функциональных возможностей программы и способов их выбора.

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

ГОСТ 19.402–78 ЕСПД. Описание программы

Данный стандарт определяет состав и требования к содержанию программного документа «Описание программы». Описание программы включает:

  • Общие сведения
  • Функциональное назначение
  • Описание логической структуры
  • Используемые технические средства
  • Вызов и загрузка
  • Входные данные
  • Выходные данные

В разделе Общие сведения указывают:

  • Обозначение и наименование программы
  • Программное обеспечение, необходимое для функционирования программы
  • Языки программирования, на которых написана программа

Раздел Функциональное назначение должен отражать классы решаемых задач и/или назначение программы, сведения о функциональных ограничениях на применение.

При описании логической структуры должны быть отражены:

  • Алгоритм программы
  • Используемые методы
  • Структура программы с описанием функций составных частей и связей между ними
  • Связи программы с другими программами

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

При описании раздела Вызов и загрузка указывают способ вызова программы с соответствующего носителя данных и входные точки в программу.

Раздел Входные данные отражает:

  • Характер, организацию и предварительную подготовку входных данных
  • Формат, описание и способ кодирования входных данных

Раздел Выходные данные отражает:

  • Характер и организацию выходных данных
  • Формат, описание и способ кодирования выходных данных

Какие задачи выполняются в процессе создания инфраструктуры?

Процесс создания инфраструктуры (infrastructure process) охватывает выбор и поддержку (сопровождение) технологии, стандартов и инструментальных средств, выбор и установку аппаратных и программных средств, используемых для разработки, эксплуатации или сопровождения ПС. Инфраструктура должна модифицироваться и сопровождаться в соответствии с изменениями требований к соответствующим процессам. Инфраструктура, в свою очередь, является одним из объектов управления конфигурацией.

ГОСТ 19.201–78 ЕСПД. Техническое задание. Требования к содержанию и оформлению

Техническое задание (ТЗ) содержит совокупность требований к ПС и может использоваться как критерий проверки и приемки разработанной программы. Поэтому достаточно полно составленное (с учетом возможности внесения дополнительных разделов) и принятое заказчиком и разработчиком ТЗ является одним из основополагающих документов проекта ПС.

  • введение;
  • основания для разработки;
  • назначение разработки;
  • требования к программе или программному изделию;
  • требования к программной документации;
  • технико-экономические показатели;
  • стадии и этапы разработки;
  • порядок контроля и приемки;
  • в техническое задание допускается включать приложения.

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

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

Единая система программной документации ЕСПД – общая характеристика

Стандарты ЕСПД (как и другие ГОСТы) подразделяют на группы:

  • Общие положения
  • Основополагающие стандарты
  • Правила выполнения документации разработки
  • Правила выполнения документации изготовления
  • Правила выполнения документации сопровождения
  • Правила выполнения эксплуатационной документации
  • Правила обращения программной документации
  • Резервные группы
  • Прочие стандарты

Обозначение стандарта ЕСПД должно состоять из:

  • числа 19 (присвоенных классу стандартов ЕСПД);
  • одной цифры (после точки), обозначающей код классификационной группы стандартов, указанной в таблице;
  • двузначного числа (после тире), указывающего год регистрации стандарта.

Вообще перечень документов ЕСПД очень обширен. В него, в частности, входят следующие ГОСТы:

  • ГОСТ 19.001-77 ЕСПД. Общие положения.
  • ГОСТ 19.005-85 ЕСПД. P-схемы алгоритмов и программ. Обозначения условные графические и правила выполнения.
  • ГОСТ 19.101-77 ЕСПД. Виды программ и программных документов.
  • ГОСТ 19.102-77 ЕСПД. Стадии разработки.
  • ГОСТ 19.103-77 ЕСПД. Обозначение программ и программных документов.
  • ГОСТ 19.104—78 ЕСПД. Основные надписи.
  • ГОСТ 19.105-78 ЕСПД. Общие требования к программным документам.
  • ГОСТ 19.106-78 ЕСПД. Требования к программным документам, выполненным печатным способом.
  • ГОСТ 19.201-78 ЕСПД. Техническое задание. Требования к содержанию и оформлению.
  • ГОСТ 19.202-78 ЕСПД. Спецификация. Требования к содержанию и оформлению.
  • ГОСТ 19.301-79 ЕСПД. Порядок и методика испытаний.
  • ГОСТ 19.401-78 ЕСПД. Текст программы. Требования к содержанию и оформлению.
  • ГОСТ 19.402-78 ЕСПД. Описание программы.
  • ГОСТ 19.403-79 ЕСПД. Ведомость держателей подлинников.
  • ГОСТ 19.404-79 ЕСПД. Пояснительная записка. Требования к содержанию и оформлению.
  • ГОСТ 19.501-78 ЕСПД. Формуляр. Требования к содержанию и оформлению.
  • ГОСТ 19.502-78 ЕСПД. Описание применения. Требования к содержанию и оформлению.
  • ГОСТ 19.503-79 ЕСПД. Руководство системного программиста. Требования к содержанию и оформлению.
  • ГОСТ 19.504-79 ЕСПД. Руководство программиста. Требования к содержанию и оформлению.
  • ГОСТ 19.505-79 ЕСПД. Руководство оператора. Требования к содержанию и оформлению.
  • ГОСТ 19.506-79 ЕСПД. Описание языка. Требования к содержанию и оформлению.
  • ГОСТ 19.507-79 ЕСПД. Ведомость эксплуатационных документов.
  • ГОСТ 19.508-79 ЕСПД. Руководство по техническому обслуживанию. Требования к содержанию и оформлению.
  • ГОСТ 19.601-78 ЕСПД. Общие правила дублирования, учета и хранения.
  • ГОСТ 19.602-78 ЕСПД. Правила дублирования, учета и хранения программных документов, выполненных печатным образом.
  • ГОСТ 19.603-78 ЕСПД. Общие правила внесения изменений.
  • ГОСТ 19.604-78 ЕСПД. Правила внесения изменений в программные документы, выполняемые печатным способом.
  • ГОСТ 19.701-90 ЕСПД. Схемы алгоритмов, программ, данных и систем. Условные обозначения и правила выполнения.
  • ГОСТ 19.781-90. Обеспечение систем обработки информации про-рамное. Термины и определения.

Общая характеристика состояния дел в области документирования программных средств

Основу отечественной нормативной базы в области документирования ПС составляет комплекс стандартов Единой системы программной документации (ЕСПД). Основная и большая часть комплекса ЕСПД была разработана в 70-е и 80-е годы 20 века. Сейчас этот комплекс представляет собой систему межгосударственных стандартов стран СНГ (ГОСТ), действующих на территории Российской Федерации на основе межгосударственного соглашения по стандартизации.

Единая система программной документации — это комплекс государственных стандартов, устанавливающих взаимоувязанные правила разработки, оформления и обращения программ и программной документации.

Стандарты ЕСПД в основном охватывают ту часть документации, которая создается в процессе разработки ПС, и связаны, по большей части, с документированием функциональных характеристик ПС. Следует отметить, что стандарты ЕСПД (ГОСТ 19) носят рекомендательный характер. Впрочем, это относится и ко всем другим стандартам в области ПС (ГОСТ 34, международному стандарту ISO/IEC и др.). Дело в том, что в соответствии с Законом РФ «О стандартизации» эти стандарты становятся обязательными на контрактной основе, т.е. при ссылке на них в договоре на разработку (поставку) ПС.

В состав ЕСПД входят:

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

Говоря о состоянии ЕСПД в целом, можно констатировать, что большая часть стандартов ЕСПД морально устарела.

К числу основных недостатков ЕСПД можно отнести:

  • ориентацию на единственную «каскадную» модель жизненного цикла ПС;
  • отсутствие четких рекомендаций по документированию характеристик качества ПС;
  • отсутствие системной увязки с другими действующими отечественными системами стандартов по ЖЦ и документированию продукции в целом, например ЕСКД;
  • нечетко выраженный подход к документированию ПС как товарной продукции;
  • отсутствие рекомендаций по самодокументированию ПС, например, в виде экранных меню и средств оперативной помощи пользователю (хелпов);
  • отсутствие рекомендаций по составу, содержанию и оформлению перспективных документов на ПС, согласованных с рекомендациями международных и региональных стандартов.

ЕСПД нуждается в полном пересмотре на основе стандарта ИСО/МЭК 12207-95 на процессы жизненного цикла ПС.

Тем не менее до пересмотра всего комплекса многие стандарты могут с пользой применяться в практике документирования ПС. Эта позиция основана на следующем:

  • стандарты ЕСПД вносят элемент упорядочения в процесс документирования ПС;
  • предусмотренный стандартами ЕСПД состав программных до-кументов вовсе не такой «жесткий», как некоторым кажется: стандарты позволяют вносить в комплект документации на ПС дополнительные виды программных документов (ПД), необходимых в конкретных проектах, и исключать многие ПД;
  • стандарты ЕСПД позволяют вдобавок мобильно изменять структуры и содержание установленных видов ПД исходя из требований заказчика и пользователя.

Международный стандарт ISO/IEC 12207:1995 на организацию ЖЦ продуктов программного обеспечения (ПО), казалось бы, весьма неконкретный, но вполне новый и отчасти «модный» стандарт.