Введение.
Центральным информационно-активным звеном любых компьютер-ных систем является их математическое, программное, информационное и лингвистическое обеспечение. Современные компьютеры и сети компью-теров, обладающие «потрясающими» вычислительными, информацион-ными и телекоммуникационными возможностями, со своим сложным «внутренним технологическим миром», остаются широким полем деятель-ности для человека, который создает и совершенствует и сами компьюте-ры, и те задачи, которые они решают. При этом основным техническим инструментом для этого является программное обеспечение, которое наря-ду с интеллектом человека, его навыками и знаниями, позволяет создавать сложные и порою удивительные компьютерные объекты, существенно расширяющие горизонты деятельности человека, облегчающие нашу по-вседневную жизнь и делающие ее активнее и разнообразнее. Программное обеспечение современных компьютерных систем явля-ется очень сложным изделием, при создании и функционировании которо-го активно используются автоматизированные средства его разработки и общесистемное программное обеспечение, объем и сложность которого могут превышать прикладное программное обеспечение на порядки. По-этому в общем случае, обеспечение абсолютного качества программных продуктов представляет собой практически неразрешимую задачу, что яв-ляется причиной того, что ни один программист, ни одна организация-разработчик не гарантирует полноценной надежности создаваемого про-граммного продукта. При этом особую сложность, наряду с поиском, лока-лизацией и устранением программных ошибок, представляет собой обна-ружение дефектов, преднамеренно вносимых, как на этапе создания про-граммных комплексов, так и их эксплуатации. Кроме того, существенный урон производителю программных про-дуктов наносят такие несанкционированные действия, как несанкциониро-ванное копирование программ, их незаконное распространение и исполь-зование. Это наносит значительный нравственный и материальный ущерб фирмам-изготовителям программного обеспечения, а часто и легитимным потребителям программного продукта. Поэтому многие разработчики за-даются вопросом, можно ли наряду с правовым и организационным обес-печением процесса разработки и эксплуатации программ, осуществить и научно-технические мероприятия, позволяющие защищаться от подобных злоумышленных действий. Таким образом, необходимость внесения в программное обеспечение защитных функций на всем протяжении его жизненного цикла от этапа уяснения замысла на создание программ и их разработки до этапов испы-таний, эксплуатации, модернизации и сопровождения программ, не вызы-вает сомнений.
|