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

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

Ниже представлены некоторые, наиболее важные группы международных стандартов (табл. 1), регламентирующих:

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

Таблица 1. Международные стандарты, направленные на обеспечение технологической безопасности

ISO 09126:1991. ИТ. Оценка программного продукта. Характеристики качества и руководство по их применению.
DOD-STD-2168. Программа обеспечения качества оборонных программных средств.
ISO 09000-3:1991. Общее руководство качеством и стандарты по обеспечению качества. Ч. 3: Руководящие указания по применению ISO 09001 при разработке, поставке и обслуживании программного обеспечения.
ISO 12207:1995. Процессы жизненного цикла программных средств.
DOD-STD 2167 A:1988. Разработка программных средств для систем военного назначения.
ISO 09646 – 1-6: 1991. ИТ. ВОС. Методология и основы аттестационного тестирования ВОС.
ANSI/IEEE 829 – 1983. Документация при тестировании программ.
ANSI/IEEE 1008 – 1986. Тестирование программных модулей и компонент ПС.
ANSI/IEEE 1012 – 1986. Планирование проверки (оценки) (verification) и подтверждения достоверности (validation) программных средств.

Технологическая безопасность функционирования ПС и БД при непредумышленных угрозах косвенно поддерживается еще многими десятками стандартов, которые, в той или иной степени, обеспечивают жизненный цикл и технологию разработки и сопровождения, качество, тестирование, испытания и сертификацию ПС и БД, а также унификацию их интерфейсов с операционной и внешней средой. В этих и ряде других стандартов предусматривается обеспечение качества программ и данных в широком смысле слова и отсутствует акцент на технологическую безопасность. Однако многие тезисы и рекомендации стандартов способствуют обеспечению безопасного функционирования ИС.

Выводы и рекомендации

Степень влияния внутренних, непредумышленных дефектов и факторов на безопасность ИС в ряде случаев может быть не меньше, чем внешних факторов. Однако исследования и практика обеспечения безопасности при наличии внутренних аномалий ПС и БД значительно отстают от работ по защите ИС от внешних злоумышленных угроз. В связи с этим при создании критических ИС используются ПС и БД, содержащие различные дефекты проектирования, значительно снижающие безопасность их применения. Для обеспечения технологической безопасности критических ИС необходимо комплексное исследование и разработка эффективных методов и средств, предупреждающих и выявляющих дефекты, а также удостоверяющих безопасность использования программ и баз данных и оперативно защищающих функционирование ИС при проявлениях внутренних аномалий.

Для каждого вида программ и баз данных их качество отражается особым набором упорядоченных показателей, которые необходимо уметь измерять и сравнивать. Основным показателем качества любых программ является их функциональная пригодность для решения задач, определенных в техническом задании или в спецификации. Для ИС реального времени доминирующими показателями качества являются надежность и безопасность их функционирования в реальной внешней среде. Некоторые другие показатели качества могут также становиться определяющими в зависимости от требований технического задания.

Высокое качество ИС достигается при определенных затратах на их разработку. Значительную долю в них составляют затраты на отладку и испытания ИС, особенно в системах реального времени. Анализ факторов, влияющих на затраты ресурсов при создании ПС и БД, позволяет рационализировать их использование и добиваться заданного качества при минимальных или допустимых затратах. Одним из наиболее эффективных методов снижения затрат на разработку и испытания высококачественных ПС является многократное использование апробированных компонент и сборка из них версий ПС и БД с новыми характеристиками.

Для обеспечения технологической безопасности ИС должны быть организованы и стимулированы разработка, освоение и применение современных, автоматизированных технологий и средств, обеспечивающих исключение или предупреждение многих видов дефектов и ошибок при создании и модификации критических ИС. Разработка и сопровождение сложных ПС и БД на базе CASE-технологий позволяет устранять наиболее опасные системные и алгоритмические ошибки на ранних стадиях проектирования, а также использовать неоднократно проверенные в других проектах программные и информационные компоненты высокого качества. Процесс разработки должен планироваться и последовательно проходить ряд этапов, охватывающих все компоненты ИС с учетом реальных условий. Контроль качества создаваемых и модифицируемых ПС и БД должен сопровождать весь жизненный цикл ИС посредством достаточно автономной технологической системы обеспечения их качества и безопасности последующего применения. Предупреждение ошибок должно поддерживаться высококачественной документацией в процессе создания ПС и БД, используемых в критических ИС.

Для обнаружения и устранения ошибок проектирования все этапы разработки и сопровождения ПС и БД должны быть поддержаны методами и средствами систематического, автоматизированного тестирования. На этапах разработки ИС целесообразно применять различные методы, эталоны и виды тестирования, каждый из которых ориентирован на обнаружение, локализацию или диагностику определенных типов ошибок.

Безопасность применения ПС и БД непосредственно зависит от полноты комплектов тестов и адекватности генераторов тестов реальным объектам внешней среды и условиям эксплуатации. Следует учитывать, что сложность и трудоемкость создания полноценных тестов и процессов тестирования соизмеримы с непосредственной разработкой программных и информационных компонент критических ИС. Регистрация выявленных дефектов и обобщение их характеристик может служить базой для оценки достигнутого уровня надежности и безопасности ПС и БД. Планирование, контроль процессов и выполненных объемов тестирования, а также рациональное распределение ресурсов на его проведение, позволяет достигать необходимой безопасности применения критических ИС при допустимых затратах.

Непредсказуемость вида, места и времени проявления дефектов ПС и БД в процессе эксплуатации приводит к необходимости создания специальных систем оперативной защиты от непредумышленных искажений вычислительного процесса, программ и данных. Системы оперативной защиты предназначены для выявления и блокирования распространения негативных последствий проявления дефектов и уменьшения их влияния на безопасность функционирования ПС и БД без устранения их первичных источников. Для этого в критические ИС вводится временная, программная и информационная избыточность, осуществляющая оперативное обнаружение аномалий, их идентификацию и автоматическое восстановление нормального функционирования ИС. Необходимая надежность и безопасность ПС и БД обеспечиваются за счет средств повышения помехоустойчивости, оперативного контроля и восстановления функционирования программ и баз данных. Эффективность такой защиты зависит от используемых методов, координированности их применения и выделяемых вычислительных ресурсов на обеспечение безопасности ИС.

Обеспечение безопасности ИС при сопровождении и развитии версий ПС и БД имеет ряд особенностей, обусловленных локальным характером внесения изменений, созданием только части новых компонент и тщательной апробацией предшествующих версий. Поэтому выбор методов, видов и средств автоматизации сопровождения ориентируется преимущественно на проверку новых и модернизированных компонент и их взаимодействия с неизменявшейся частью версии ПС или БД. Эти методы поддерживаются средствами конфигурационного управления. Благодаря этому эффективно используется программный и информационный задел, увеличивается длительность жизни программных средств и баз данных, непрерывно совершенствуются их функции и повышается качество.

Для обеспечения безопасности использования импортных ПС и БД следует закупать только лицензионно чистые продукты, поддерживаемые гарантированным сопровождением конкретных фирм-поставщиков. В контрактах на закупку должны специально фиксироваться обязательства поставщиков по длительному сопровождению и замене версий ПС и БД при выявлении дефектов. Использование легальных версий ПС и БД солидных зарубежных фирм, распространяющих свои изделия в разных странах, значительно снижает риск злоумышленных внедрений вирусов или "закладок", угрожающих безопасности их применения в нашей стране.

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

Об авторе: Владимир Липаев – профессор Института системного программирования.

Литература

1. Л. Дж. Хоффман – Современные методы защиты информации – М.: Сов. радио, 1980

2. В. А. Герасименко – Защита информации в автоматизированных системах обработки данных. Книги 1 и 2 – М.: Энергоатомиздат, 1994

3. Республиканский н.-т. совет по направлению Информатизация России, НИИ Квант – Концепция развития безопасных информационных технологий: обеспечение защиты информации в проектах информатизации России – М., 1992

4. Р. М. Юсупов , Б. П. Пальчун – Безопасность компьютерной инфосферы систем критических приложений. – Вооружение. Политика. Конверсия – М., 1993, # 2, с.52-56, # 3, с. 23-31.

5. Parnas – Software aspects of strategic defense systems – Communications of the ACM , 1985, v. 28, n 12. p. 1326-1335

6. Информатика и вычислительная техника. Научно-технический сборник – М.: ВИМИ , 1994 # 2-3

7. Владимир Галатенко – Информационная безопасность – обзор основных положений – JetInfo, 1-3, 1996

8. Б. Боэм , Х. Каспар. Пер. с англ. Е. К. Масловского (ред.) – Характеристики качества программного обеспечения – М.: Мир, 1981

9. В. В. Липаев – Отладка сложных программ – М.: Энергоатомиздат, 1993

10. Г. Майерс – Искусство тестирования программ: Пер. с англ – М.: Финансы и статистика, 1982

11. Б. У. Боэм – Инженерное проектирование программного обеспечения: Пер. с англ. под ред. А. А. Красилова – М.: Радио и связь, 1985

12. Open systems handbook: A guide to building open systems – Digital Equipment Corparation, USA, 1991

13. J. S. Quarterman – Unix, Posix and open systems: The open standards puzzle – N.Y.: Addison – Wesley Publishing Company, 1993

14. Открытые системы. Материалы к программе развития и применения открытых систем в Российской Федерации – Казань, 1994

15. В. В. Липаев – Оценка затрат на разработку программных средств – М.: Финансы и статистика, 1988

16. В.В. Липаев – Управление разработкой программных средств. Методы, стандарты, технология – М.: Финансы и статистика, 1993

17. A. S. Fisher – CASE: using the newest tools in software development – N.Y.: John Wiley & Sons, 1988

18. P. A. Ng R.T. Yeh (ред.) – Modern software engineering. Foundations and current perspectives. – N.Y.: Van Nostrand Reinhold, 1990

19. В. В. Липаев , А. А. Штрик – Технология сборочного программирования – М.: Радио и связь, 1992

20. Stradis. Product description – McDonnell Douglas Corporation, 1990

21. J. D. Musa , A. Iannino , K. Okumoto – Software Reliability: Measurement, Prediction, Application – N.Y.: McGraw Hill, 1987

22. R. Charett – Software engineering risk analysis and management – N.Y.: McGraw Hill, 1989

23. Методические документы ИСО/МЭК по сертификации продукции, оценке систем обеспечения качества продукции и аккредитации испытательных лабораторий – М.: Изд. стандартов, 1988

24. Сертификация программного обеспечения. Документ радиотехнической комиссии по аэронавтике. RTCA/DO-178. Пер. с англ – ВЦП, 1981

25. Сертификация продукции. Международные стандарты и руководства ИСО/МЭК в области сертификации и управления качеством – М.: Изд-во стандартов, 1990

26. В. В. Липаев – Методические основы сертификации информационных технологий – ВНИИ ПВТИ, 1995

27. В. К. Щербо – Международная стандартизация в области информационной технологии – Проблемы информатизации, 1992, # 4, с. 47-51

28. W. E. Howden – Functional program testing and analysis – N.Y.: McGraw Hill, 1987

29. Ю. М. Батурин – Компьютерная преступность и компьютерная безопасность – М.: Юридическая литература, 1991

30. В. В. Липаев – Распределение ресурсов в вычислительных системах – М.: Статистика, 1979

31. А. С. Шаракшанэ , В. П. Шахин , А. К. Халецкий – Испытания программ сложных автоматизированных систем – М.: Высшая школа, 1982

32. М. М. Леман – Программы, жизненные циклы и законы эволюции программного обеспечения. – ТИИЭР, Техника программного обеспечения: Пер. с англ. – М.: Мир, 1980, т. 68, # 9, с. 26-45

33. A. Spector – The Space Shuttle primary computer system – Communication of the ACM, 1984, v. 27, n 9, p. 874-890

34. А. В. Спесивцев , В. А. Вегнер , А. Ю. Крутяков , В. А. Сидоров – Защита информации в персональных ЭВМ – М.: Радио и связь, 1992

35. В. И. Савицкий – Автоматизированные системы управления воздушным движением. Справочник – М.: Транспорт, 1986

36. J. K. Buckle – Software configuration management – London: Macmillan Press, 1982

37. A. Waters , J. Vincent , J. Sinclair – Software quality assurance. Vol. II. A programme guide – Englewood Cliffs, New Yersey: Prentice-Hall, 1988

38. А. И. Костогрызов , В. В. Липаев – Сертификация качества функционирования автоматизированных информационных систем – Вооружение. Политика. Конверсия, 1996