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