Автор работы: Пользователь скрыл имя, 17 Июня 2012 в 14:44, курсовая работа
Мировые исследования последних лет показали, что функциональные и надежностные характеристики КС определяются качеством и надежно¬стью программного обеспечения, входящего в их состав. Кроме проблем качества и надежности программного обеспечения при создании КС фун¬даментальная проблема его безопасности приобретает все большую акту¬альность. При этом в рамках данной проблемы на первый план выдвигает¬ся безопасность технологий создания программного обеспечения компью¬терных систем. Данный аспект проблемы безопасности программных ком¬плексов является сравнительно новым и связан с возможностью внедрения в тело программных средств на этапе их разработки (или модификации в ходе авторского сопровождения) так называемых «программных закла¬док».
ВВЕДЕНИЕ 3
1. Обеспечение безопасности программного обеспечения. 5
1.1. Основы защиты программного обеспечения компьютерных систем. 5
1.2. Угрозы безопасности информационно-программного обеспечения и примеры их реализации в современном компьютерном мире. 8
1.3. Основные предположения и ограничения. 14
2.Жизненный цикл информационного-программного обеспечения компьютерных систем. Технологическая и эксплуатационная безопасность программ. 16
2.1. Подход к созданию модели угроз технологической безопасности ПО. 19
2.2. Проектирование 22
2.3. Кодирование 23
2.4. Отладка и испытания 24
2.5. Контроль 24
3. Основные принципы обеспечения безопасности ПО. 26
4. Классификация угроз информационно-программному обеспечению. 30
Заключение 38
Список литературы 39
Классическим примером широкомасштабной вирусной угрозы является известный вирус Морриса, выведший 21 ноября 1988 на 24 часа из строя сеть ARPARNET. Промышленная ассоциация компьютерных вирусов (Computer Virus Industry Association - CVIA) выполнила детальный анализ расходов, связанных с действием этого вируса, заразившего 7,3% или 6200 из 85200 компьютеров сети. Пользователи потеряли свыше 8 млн. часов рабочего времени, а операторы и администраторы сети потратили около 1,13 млн. человеко-часов на то, чтобы привести сеть в рабочее состояние. Расходы от потерянной возможности доступа в сеть и средства, затраченные на ее восстановление, составили 98 млн. долларов. К декабрю 1988 г. в Ливерморской лаборатории США (Lawrence Livermore National Laboratories), которая занимается, в том числе, разработкой ядерного оружия 3-го поколения, было зафиксировано не менее 10 попыток проникновения в сеть лаборатории через каналы связи со Стэндфордским университетом, университетом штата Вашингтон и через сеть INTERNET. В результате было поражено 800 компьютеров. В том же году было зафиксировано 200 попыток заражения (из них 150 - успешных) глобальной компьютерной сети NASA. Причем 16 мая в течение 7 часов было заражено 70 ЭВМ, а после заражения в них была создана специальная программа для облегчения проникновения в сеть в будущем.
В качестве основных средств вредоносного (деструктивного) воздействия на КС необходимо, наряду с другими средствами информационного воздействия, рассматривать алгоритмические и программные закладки.
Под алгоритмической закладкой будем понимать преднамеренное завуалированное искажение какой-либо части алгоритма решения задачи, либо построение его таким образом, что в результате конечной программной реализации этого алгоритма в составе программного компонента или комплекса программ, последние будут иметь ограничения на выполнение требуемых функций, заданных спецификацией, или вовсе их не выполнять при определенных условиях протекания вычислительного процесса, задаваемого семантикой перерабатываемых программой данных. Кроме того, возможно появление у программного компонента функций, не предусмотренных прямо или косвенно спецификацией, и которые могут быть выполнены при строго определенных условиях протекания вычислительного процесса.
Под программной закладкой будем понимать совокупность операторов и (или) операндов, преднамеренно в завуалированной форме включаемую в состав выполняемого кода программного компонента на любом этапе его разработки. Программная закладка реализует определенный несанкционированный алгоритм с целью ограничения или блокирования выполнения программным компонентом требуемых функций при определенных условиях протекания вычислительного процесса, задаваемого семантикой перерабатываемых программным компонентом данных, либо с целью снабжения программного компонента не предусмотренными спецификацией функциями, которые могут быть выполнены при строго определенных условиях протекания вычислительного процесса.
Действия алгоритмических и программных закладок условно можно разделить на три класса: изменение функционирования вычислительной системы (сети), несанкционированное считывание информации и несанкционированная модификация информации, вплоть до ее уничтожения. В последнем случае под информацией понимаются как данные, так и коды программ. Следует отметить, что указанные классы воздействий могут пересекаться.
В первом классе воздействий выделим следующие:
Несанкционированное считывание информации, осуществляемое в автоматизированных системах, направлено на:
Несанкционированная модификация информации является наиболее опасной разновидностью воздействий программных закладок, поскольку приводит к наиболее опасным последствиям. В этом классе воздействий можно выделить следующие:
Из
изложенного следует вывод о
том, что алгоритмические и
С
точки зрения времени внесения программных
закладок в программы их можно
разделить на две категории: априорные
и апостериорные, то есть закладки,
внесенные при разработке ПО (или
«врожденные») и закладки, внесенные
при испытаниях, эксплуатации или
модернизации ПО (или «приобретенные»).
Хотя последняя разновидность
Таким образом, рассмотренные программные средства деструктивного воздействия по своей природе носят, как правило, разрушительный, вредоносный характер, а последствия их активизации и применения могут привести к значительному или даже непоправимому ущербу в тех областях человеческой деятельности, где применение компьютерных систем является жизненно необходимым. В связи с этим такие вредоносные программы будем называть разрушающими программными средствами (РПС), а их обобщенная классификация может выглядеть следующим образом:
В качестве вычислительной среды рассматривается совокупность установленных для данной КС алгоритмов использования системных ресурсов, программного и информационного обеспечения, которая потенциально может быть представлена пользователю для решения прикладных задач. Операционной средой является совокупность функционирующих в данный момент времени элементов вычислительной среды, участвующих в процессе решения конкретной задачи пользователя.
Принципиально возможность программного воздействия определяется открытостью вычислительной системы, под которой понимается предоставление пользователю возможности формировать элементную базу вычислительной среды под свои задачи, а также возможность использовать в полном объеме системные ресурсы, что является неотъемлемым признаком автоматизированных рабочих мест на базе персональных ЭВМ.
В качестве средства борьбы с «пассивными» методами воздействия допускается создание служб безопасности, ограничивающих доступ пользователей к элементам вычислительной среды, в первую очередь к программам обработки чувствительной информации. Предполагается, что возможности «активных» методов воздействия значительно шире.
Необходимым условием для отнесения программы к классу разрушающих программных средств является наличие в ней процедуры нападения, которую можно определить как процедуру нарушения целостности вычислительной среды, поскольку объектом нападения РПС всегда выступает элемент этой среды.
При этом необходимо учитывать два фактора:
Для устранения указанной неопределенности по отношению к испытываемым программам следует исходить из предположения, что процедура нарушения целостности вычислительной среды введена в состав ПО умышленно. Кроме условия необходимости, целесообразно ввести условия достаточности, которые обеспечат возможность описания РПС различных классов:
Предполагается наличие в РПС следующего набора возможных функциональных элементов:
Этих элементов достаточно для построения обобщенной концептуальной модели РПС, которая отражает возможную структуру (на семантическом уровне) основных классов РПС.
Необходимость определения этапов жизненного цикла (ЖЦ) ПО обусловлена стремлением разработчиков к повышению качества ПО за счет оптимального управления разработкой и использования разнообразных механизмов контроля качества на каждом этапе, начиная от постановки задачи и заканчивая авторским сопровождением ПО. Наиболее общим представлением жизненного цикла ПО является модель в виде базовых этапов -процессов, к которым относятся:
Данная
модель является общепринятой и соответствует
как отечественным нормативным документам
в области разработки программного обеспечения,
так и зарубежным. С точки зрения обеспечения
технологической безопасности целесообразно
рассмотреть более подробно особенности
представления этапов ЖЦ в зарубежных
моделях, так как именно зарубежные программные
средства являются наиболее вероятным
носителем программных дефектов диверсионного
типа.
Стандартизация
ЖЦ ПО проводится по трем направлениям.
Первое направление организуется и
стимулируется Международной