Жизненный цикл программного обеспечения компьютерных систем. Технологическая и эксплуатационная безопасность программ
Необходимость определения этапов жизненного цикла (ЖЦ) ПО обусловлена стремлением разработчиков к повышению качества ПО за счет оптимального управления разработкой и использования разнообразных механизмов контроля качества на каждом этапе, начиная от постановки задачи и заканчивая авторским сопровождением ПО. Наиболее общим представлением жизненного цикла ПО является модель в виде базовых этапов – процессов [Лип1], к которым относятся:
системный анализ и обоснование требований к ПО;
предварительное (эскизное) и детальное (техническое) проектирование ПО;
разработка программных компонент, их комплексирование и отладка ПО в целом;
испытания, опытная эксплуатация и тиражирование ПО;
регулярная эксплуатация ПО, поддержка эксплуатации и анализ результатов;
сопровождение ПО, его модификация и совершенствование, создание новых версий.
Данная модель является общепринятой и соответствует как отечественным нормативным документам в области разработки программного обеспечения, так и зарубежным. С точки зрения обеспечения технологической безопасности целесообразно рассмотреть более подробно особенности представления этапов ЖЦ.
Графическое представление моделей ЖЦ позволяет наглядно выделить их особенности и некоторые свойства процессов. Первоначально была создана каскадная модель ЖЦ [Лип1], в которой крупные этапы начинались друг за другом с использованием результатов предыдущих работ. Наиболее специфической является спиралевидная модель ЖЦ [Лип1]. В этой модели внимание концентрируется на итерационном процессе начальных этапов проектирования. На этих этапах последовательно создаются концепции, спецификации требований, предварительный и детальный проект. На каждом витке уточняется содержание работ и концентрируется облик создаваемого ПО.
Для проектирования ПО сложной системы, особенно системы реального времени, целесообразно использовать общесистемную модель ЖЦ, основанную на объединении всех известных работ в рамках рассмотренных базовых процессов. Эта модель предназначена для использования при планировании, составлении рабочих графиков, управлении различными программными проектами.
Совокупность этапов данной модели ЖЦ целесообразно делить на две части, существенно различающихся особенностями процессов, технико-экономическими характеристиками и влияющими на них факторами.
В первой части ЖЦ производится системный анализ, проектирование, разработка, тестирование и испытания ПО. Номенклатура работ, их трудоемкость, длительность и другие характеристики на этих этапах существенно зависят от объекта и среды разработки. Изучение подобных зависимостей для различных классов ПО позволяет прогнозировать состав и основные характеристики графиков работ для новых версий ПО.
Этой совокупности этапов ЖЦ ПО соответствует процесс внесения в разрабатываемые программы определенных защитных функций. Этот процесс называется обеспечением технологической безопасностии характеризуется необходимостью предотвращения модификации ПО за счет внедрения РПС априорного типа (алгоритмических и программных закладок).
Вторая часть ЖЦ, отражающая поддержку эксплуатации и сопровождения ПО, относительно слабо связана с характеристиками объекта и среды разработки. Номенклатура работ на этих этапах более стабильна, а их трудоемкость и длительность могут существенно изменяться, и зависят от массовости применения ПО. Для любой модели ЖЦ обеспечение высокого качества программных комплексов возможно лишь при использовании регламентированного технологического процесса на каждом из этих этапов. Такой процесс поддерживается CASE-средствами (средствами автоматизации разработки ПО), которые целесообразно выбирать из имеющихся или создавать с учетом объекта разработки и адекватного ему перечня работ.
Этапам эксплуатации и сопровождения ПО соответствует процесс обеспечения эксплуатационной безопасности ПО. Этот процесс характеризуется необходимостью защиты программ от компьютерных вирусов и программных закладок апостериорного типа. Последние могут внедряться за счет злонамеренного использования методов исследования программ и их спецификаций. Кроме того, на этапе обеспечения эксплуатационной безопасности ПО применяются методы защиты программ от несанкционированного копирования, распространения и использования.
- Глава 1. Введение в теорию обеспечения безопасности программного обеспечения 12
- Глава 1. Введение в теорию обеспечения безопасности программного обеспечения 12
- Глава 1. Введение в теорию обеспечения безопасности программного обеспечения 13
- Глава 1. Введение в теорию обеспечения безопасности программного обеспечения 13
- Глава 1. Введение в теорию обеспечения безопасности программного обеспечения 13
- Глава 1. Введение в теорию обеспечения безопасности программного обеспечения 13
- Глава 1. Введение в теорию обеспечения безопасности программного обеспечения 13
- Глава 1. Введение в теорию обеспечения безопасности программного обеспечения 14
- Глава 1. Введение в теорию обеспечения безопасности программного обеспечения 14
- Глава 1. Введение в теорию обеспечения безопасности программного обеспечения 14
- Глава 1. Введение в теорию обеспечения безопасности программного обеспечения 14
- Глава 1. Введение в теорию обеспечения безопасности программного обеспечения 15
- Глава 1. Введение в теорию обеспечения безопасности программного обеспечения 15
- Предисловие
- Введение в теорию обеспечения безопасности программного обеспечения
- Зачем и от кого нужно защищать программное обеспечение компьютерных систем
- Угрозы безопасности программного обеспечения
- Разрушающие программные средства
- Несанкционированное копирование, распространение и использование программ
- Принятая аксиоматика и терминология
- Основные предположения и ограничения
- Используемая терминология
- Жизненный цикл программного обеспечения компьютерных систем. Технологическая и эксплуатационная безопасность программ
- Модели угроз безопасности программного обеспечения
- Вводные замечания
- Подходы к созданию модели угроз технологической безопасности по
- Элементы модели угроз эксплуатационной безопасности по
- Проектирование
- Кодирование
- Отладка и испытания
- Контроль
- Модель разрушающего программного средства Обобщенное описание и типизация рпс
- Модели взаимодействия прикладной программы и программной закладки
- Методы внедрения рпс
- Основные принципы обеспечения безопасности по
- Принципы обеспечения технологической безопасности при обосновании, планировании работ и проектном анализе по
- Принципы достижения технологической безопасности по в процессе его разработки
- Принципы обеспечения технологической безопасности на этапах стендовых и приемо-сдаточных испытаний
- Принципы обеспечения безопасности при эксплуатации программного обеспечения