Сертификация изделий информационных технологий (ИТ) в соответствии с требованиями новой нормативной базы ФСТЭК России выполняется для одного из преопределенных оценочных уровней доверия (ОУД). Стандарт «Общие критерии» определяет семь ОУД (самый слабый – ОУД 1). Следует отметить, что ОУД 3 и ОУД 4 в настоящее время являются наиболее применимыми при проведении сертификации, ОУД 5 – ОУД 7 применяются при сертификации изделий ИТ, планируемых к использованию в ситуациях чрезвычайно высокого риска и/или там, где высокая ценность активов оправдывает более высокие затраты на разработку и сертификацию.
Приведем краткое описание основных требований, предъявляемых к разработчику, при проведении сертификации.
Задание по безопасности (ЗБ). Содержание ЗБ, как правило, не отличается для различных ОУД.
Проектная документация. Требования к стилю изложения проектной документации зависит от ОУД. Стиль изложения может быть одним из следующих:
- неформальный стиль: изложение с использованием естественного языка (требуется для ОУД 2-ОУД 4);
- полуформальный стиль: изложение, основанное на предопределенном формате (в качестве примера можно привести формат справочного руководства UNIX; требуется для ОУД 5-ОУД 6);
- формальный стиль: изложение с использованием математического аппарата, которое формально доказывает правильность функционирования объекта оценки (ОО) (требуется для ОУД 7).
Представление реализации. Для изделий ИТ, выполненных в виде программного обеспечения, представлением реализации является множество исходных текстов. Требование по представлению исходных текстов в лабораторию предъявляется начиная с ОУД 4. Следует отметить, что объем и содержание исходных тестов, представляемых в лабораторию, зависит от ОУД. Для ОУД 4 и ОУД 5, как правило, достаточно представить исходный текст, реализующий функции безопасности изделия ИТ, декларируемые в ЗБ. Начиная с ОУД 6 требуется представления полного набора исходных текстов для проведения независимого анализа.
Поддержка жизненного цикла изделия ИТ. ОУД определяет требования посредством принятия для всех этапов разработки ОО четко определенной модели жизненного цикла, включая политики и процедуры устранения недостатков, правильное использование инструментальных средств и методов, а также меры безопасности для защиты среды разработки. Все подразделения организации-разработчика, которые участвуют в процессе разработки ОО (имеют доступ на модификацию исходного текста, проведение тестирования и т.д.), должны быть проверены лабораторией на предмет выполнения требований доверия к разработке ОО.
Процедура тестирования. Предприятие-разработчик должно выполнить набор тестовых процедур, необходимый для проверки выполнения ОО предъявляемых к нему требований, и представить пригодный для проведения испытаний ОО в лабораторию для проведения независимого тестирования. Независимые тестовые процедуры включают в себя проверку с использованием тестовых процедур разработчика (и проверку правильности выполнения процедуры тестирования разработчиком), а также дополнительных тестов, разработанных лабораторией. До ОУД 6 включительно при проведении независимого тестирования может использовать подмножество тестовых процедур разработчика. При сертификации на соответствие ОУД 7 все тестовые процедуры, используемые в ходе независимого тестирования, должны быть разработаны экспертами лаборатории.
Анализ уязвимостей. Проведение анализа уязвимостей направлено на повышение уверенности в том, что в сертифицированном изделии ИТ отсутствуют уязвимости, которые могут быть использованы для нарушения установленных политик безопасности. Объем работы, выполняемых при проведении независимого анализа уязвимостей, зависит от ОУД. Для ОУД 4 необходимо проведение независимого анализа эксплуатационной документации, проектной и конструкторской документации на ОО с целью определения потенциальных уязвимостей в реализации объекта оценки. Данный анализ может базироваться на информации об уязвимостях, приведенной в общедоступных источниках, известных уязвимостях аналогичных по назначению изделий ИТ. Начиная с ОУД 5 лаборатория должна проводить независимый методический анализ уязвимостей ОО. Данный вид анализа является более строгим и может быть основан на построении и анализе деревьев атак. При планировании и проведении данной операции учитывается потенциал нарушителя. Для «высоких» ОУД предполагается, что нарушитель обладает высоким потенциалом нападения.
Кроме того объем работ существенно зависти от функций безопасности объекта оценки и сложности их реализации.
Перечислим принципиальные отличия «высоких» ОУД (ОУД 4 ‑ ОУД 7) от «низких» (ОУД 1 ‑ ОУД 3).
- Для «высоких» ОУД требуется предоставление множества (подмножества) исходных текстов в лабораторию для проведения независимого анализа.
- Повышаются требования к языку изложения проектной и конструкторской документации (функциональная спецификация, проект верхнего уровня, описание внешних интерфейсов и т. д.) на объект оценки: для «высоких» уровней доверия необходимо использовать полуформальный и формальный стиль изложения.
- Для «высоких» ОУД разработчик должен провести поиск скрытых каналов для каждой политики управления информационными потоками.
Сложность процедуры испытаний связана, в первую очередь, с ростом числа разрабатываемых документов и дополнительных действий по оценке, выполняемых лабораторией. При проведении испытаний можно использовать следующие методы оптимизации: совмещение отдельных видов испытаний, использование выборочного контроля, использование методов комбинаторного покрытия, использование программных средств автоматизации функционального тестирования, систем документирования исходных текстов, средств анализа исходных текстов программного обеспечения и средств поиска уязвимостей.