Оценка характеристик безопасности в рамках процесса оценки качества программных средств в соответствии с международными стандартами ISO/IEC |
30.09.2008 10:44 | ||||||||||||||||||||||||||||||||||||
Автор: Полаженко Сергей, ведущий проекта «Тестирование безопасности» Требования к качеству программных средств (ПС) всё время повышаются, программы должны быть не только надёжными, удобными для работы, простыми для изучения и т.д. — пользователь хочет иметь гарантии того, что он может доверять программе свои данные. Это означает, что реализация требований безопасности при разработке ПС является одной из составных частей общей проблемы обеспечения их качества. Так, например, последний пакет обновлений для операционной системы Windows XP продемонстрировал то, что обеспечение безопасности становится приоритетным направлением компании Microsoft. Современные корпоративные ПС (системы управления баз данных, средства автоматизации офиса и т.д.) всегда оснащаются такими сервисами безопасности как авторизация и идентификация пользователей, внутренними средствами разграничения доступа, протоколированием и т.д. Можно ли полагаться на то, что в процессе разработки программного обеспечения (ПО) были корректно учтены все требования безопасности? Большое количество обновлений и «заплаток», которые ежемесячно публикуются в бюллетенях производители ПО, красноречиво говорит о том, что процессов разработки безошибочного ПО пока не существует.
В случае высокой сложности программного продукта (ПС и их компонент) остро встаёт проблема оценки качества реализации его требований безопасности. И заказчик, и разработчик должны однозначно определять атрибуты безопасности, идеалом было бы уметь говорить о безопасности на языке чисел и при этом однозначно осознавать, что стоит за каждым названным числом. Одним из подходов для оценки атрибутов безопасности разрабатываемого ПС является оценка соответствующих атрибутов качества, связанных с безопасностью, определённых в серии международных стандартов ISO/ IEC 9126 «Software engineering — Product quality» и ISO/ IEC 14598 «Software engineering — Product evaluation». Стандарты определяют базовую терминологию и общий подход к проблеме оценки качества ПС (характеристики качества, метрики для их измерения, методологию оценки), что позволяет уменьшить неопределённость при совместной работе нескольких организаций (заказчики разработки, разработчики, независимые оценщики). Применение международных стандартов ISO/ IEC в свою очередь удобно тем, что используемые подходы могут быть использованы при работе с зарубежными партнёрами. Кратко опишем подход к оценке качества, определённый стандартами. Примечание: В статье большинство переводов англоязычных терминов взято в редакции ранее опубликованной работы Липаева В.В. Стандартизация характеристик и оценивания качества программных средств. — Приложение к журналу «Информационные технологии», 2001, № 4 [ Содержание ] Модель характеристик качестваСтандарты определяют модель характеристик качества ПС (см. рис. 1), которая состоит из нескольких видов атрибутов качества:
Рисунок 1. — Качество в жизненном цикле ПС [ открыть крупнее ] Требования пользователя к качеству в спецификациях (см. рисунок 2) должны в процессе верификации преобразовываться в требования к внешнему качеству, а затем в требования к внутреннему качеству. Процессы реализации требований к внутреннему качеству должны обеспечивать внешнее качество, а последнее — воплощаться в качество для пользователей. Рисунок 2. — Различные подходы к качеству ПС и соответствующим метрикам качества. [ открыть крупнее ] [ Содержание ] Характеристики качестваМодель внутренних и внешних характеристик качества ПС состоит из шести групп базовых показателей, каждая из которых детализирована несколькими нормативными субхарактеристиками:
Дополнительно каждая характеристика сопровождается субхарактеристикой — согласованностью , которая должна отражать отсутствие противоречий с прочими стандартами и нормативными документами, а также с другими показателями в этих сериях стандартов. В стандартах также определена модель характеристик качества в использовании. В этой модели используются несколько другие базовые характеристики по сравнению с моделью внутреннего и внешнего качества. Основными характеристиками качества ПС в использовании являются:
[ Содержание ] Безопасность и качествоТеперь подробнее остановимся на характеристиках безопасности, которые определяют стандарты. Характеристика как внутреннего, так и внешнего качества «защищённость» используется в стандартах в значении: способность ПП защищать информацию и данные так, чтобы неавторизованные субъекты или процессы не смогли читать или модифицировать их, а авторизованным пользователям и процессам не было отказано в доступе к ним. В стандартах подчеркивается, что данное требование также относится и к данным, которые находятся в процессе пересылки. Характеристика качества «безопасность» вводится как характеристика качества в использовании, данная характеристика определяет способность ПП достигать приемлемого уровня риска для здоровья людей, их бизнеса, ПО, имущества или окружающей среды при данном способе (контексте) применения. Если учесть, что информационная безопасность включает в себя вопросы обеспечения целостности, конфиденциальности и доступности, то можно прийти к выводу, что при комплексной оценке безопасности ПП и его использования в соответствии с вышеназванными стандартами нельзя ограничиться только этими характеристиками. Необходимо также учесть (полностью или частично) такие характеристики как «надёжность», «сопровождаемость», а также ряд смежных субхарактеристик (в составе других характеристик), которые косвенно затрагивают атрибуты безопасности ПП и системы, в которой он используется. Допустим, мы определились с теми характеристиками и субхарактеристиками, которые мы собираемся оценивать для разрабатываемого ПП. Следующий этап, это собственно «язык чисел». Стандарт определяет набор метрик, при помощи которых можно численно оценить каждую субхарактеристику. Для иллюстрации подхода ниже будут приведены метрики субхарактеристик внешнего и внутреннего качества «защищённость» и качества в использовании «безопасность». В стандарте рекомендуется разрабатывать собственные метрики, в которых будет более точно учтены проблемы безопасности, затрагивающие ПС. Таблица – Метрики субхарактеристик внешнего и внутреннего качества «защищённость» и качества в использовании «безопасность»:
[ Содержание ] Методология оценки характеристикМетодологии оценивания характеристик качества готовых ПП на различных этапах жизненного цикла посвящен международный стандарт ISO / IEC 14598-1-6:1998-2001 «Software engineering — Product evaluation» (Оценивание программного продукта ), состоящий из шести частей: Часть 1. 1999. Общий обзор. Часть 2. 2000. Планирование и управление. Часть 3. 2000. Процесс для разработчиков. Часть 4. 1999. Процесс для приобретателей. Часть 5. 1998. Процесс для оценщиков (испытателей). Часть 6. 2001. Документирование оценки модулей. Рисунок 3. — Взаимосвязь стандартов ISO/IEC 9126 и 14598 [ открыть крупнее ] Методология оценки характеристик безопасности ПП в соответствии со стандартом ISO/ IEC 14598 в общем виде будет представлять следующее:
Для каждой характеристики качества рекомендуется сформировать шкалу измерений с выделением требуемых, допустимых и неудовлетворительных значений. [ Содержание ] ЗаключениеНиже перечислены основные преимущества и недостатки рассматриваемого подхода. Преимущества:
Недостатки:
Следует отметить, что предыдущие версии такого стандарта как ISO/ IEC 9126:1991 уже приняты в качестве национальных в ряде стран СНГ, так например, РБ — СТБ ИСО/МЭК 9126-2003 «Информационные технологии. Оценка программной продукции. Характеристики качества и руководства по их применению»; РФ — ГОСТ Р ИСО/МЭК 9126-93) — «Информационная технология. Оценка программного продукта. Характеристики качества и руководство по их применению», что говорит о высокой заинтересованности национальных нормотворческих органов в поддержке подходов, рекомендуемых стандартами ISO/ IEC. Инженеры качества ПО и специалисты в области информационной безопасности занимаются одной проблемой – разработкой и реализацией качественных информационных систем, поэтому им следует объединить свои усилия для достижения общей цели. |