Автор работы: Пользователь скрыл имя, 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
Для проектирования ПО сложной системы, особенно системы реального времени, целесообразно использовать общесистемную модель ЖЦ, основанную на объединении всех известных работ в рамках рассмотренных базовых процессов. Эта модель предназначена для использования при планировании, составлении рабочих графиков, управлении различными программными проектами.
Совокупность этапов данной модели ЖЦ целесообразно делить на две части, существенно различающихся особенностями процессов, технико-экономическими характеристиками и влияющими на них факторами.
В первой части ЖЦ производится системный анализ, проектирование, разработка, тестирование и испытания ПО. Номенклатура работ, их трудоемкость, длительность и другие характеристики на этих этапах существенно зависят от объекта и среды разработки. Изучение подобных зависимостей для различных классов ПО позволяет прогнозировать состав и основные характеристики графиков работ для новых версий ПО.
Вторая часть ЖЦ, отражающая поддержку эксплуатации и сопровождения ПО, относительно слабо связана с характеристиками объекта и среды разработки. Номенклатура работ на этих этапах более стабильна, а их трудоемкость и длительность могут существенно изменяться, и зависят от массовости применения ПО. Для любой модели ЖЦ обеспечение высокого качества программных комплексов возможно лишь при использовании регламентированного технологического процесса на каждом из этих этапов. Такой процесс поддерживается CASE средствами автоматизации разработки, которые целесообразно выбирать из имеющихся или создавать с учетом объекта разработки и адекватного ему перечня работ.
Один
из возможных подходов к созданию
модели технологической безопасности
ПО АСУ может основываться на обобщенной
концепции технологической
Модель
угроз технологической
Модель угроз должна включать:
В
указанной Концепции также
На базе утвержденной модели угроз технологической безопасности компьютерной инфосферы, как обобщенного, типового документа должна разрабатываться прикладная модель угроз безопасности для каждого конкретного компонента защищаемого комплекса средств автоматизации КС. В основе этой разработки должна лежать схема угроз, типовой вид которой применительно к ПО КС представлен на рис.1.
Наполнение
модели технологической безопасности
ПО должно включать в себя следующие элементы:
матрицу чувствительности КС к «вариациям»
ПО (то есть к появлению искажений), энтропийный
портрет ПО (то есть описание «темных»
запутанных участков ПО), реестр камуфлирующих
условий для конкретного ПО, справочные
данные о разработчиках и реальный (либо
реконструированный) замысел злоумышленников
по поражению этого ПО. На рис.1 приведен
пример указанной типовой модели для сложных
программных комплексов.
Рис.1.
Схема угроз технологической
безопасности ПО
Проектные решения
Злоумышленный выбор нерациональных алгоритмов работы Облегчение внесения закладок и затруднение их обнаружения.
Внедрение
злоумышленников в коллективы, разрабатывающие
наиболее ответственные части ПО.
Используемые информационные технологии
Внедрение злоумышленников, в совершенстве знающих «слабые» места и особенности используемых технологий.
Внедрение информационных технологий или их элементов, содержащих программные закладки.
Внедрение
неоптимальных информационных технологий.
Используемые аппаратно-технические средства
Поставка вычислительных средств, содержащих программные, аппаратные или программно-аппаратные закладки.
Поставка вычислительных средств с низкими реальными характеристиками.
Поставка вычислительных средств, имеющих высокий уровень экологической опасности.
Задачи коллективов разработчиков и их персональный состав.
Внедрение злоумышленников в коллективы разработчиков программных и аппаратных средств.
Вербовка
сотрудников путем подкупа, шантажа
и т.п.
Архитектура программной системы, взаимодействие ее с внешней средой и взаимодействие подпрограмм программной системы
Доступ к «чужим» подпрограммам и данным.
Нерациональная
организация вычислительного
Организация динамически формируемых команд или параллельных вычислительных процессов.
Организация
переадресации команд, запись злоумышленной
информации в используемые программной
системой или другими программами
ячейки памяти.
Функции и назначение кодируемой части программной системы, взаимодействие этой части с другими подпрограммами
Формирование программной закладки, воздействующей на другие части программной системы.
Организация замаскированного спускового механизма программной закладки.
Формирование
программной закладки, изменяющей структуру
программной системы.
Технология записи программного обеспечения и исходных данных
Поставка
программного обеспечения и технических
средств со встроенными дефектами.
Назначение, функционирование, архитектура программной системы
Встраивание программной закладки как в отдельные подпрограммы, так и в управляющую программу программной системы.
Формирование программной закладки с динамически формируемыми командами.
Организация
переадресации отдельных команд
программной системы.
Сведения о процессе испытаний (набор тестовых данных, используемые вычислительные средства, подразделения и лица, проводящие испытания, используемые модели
Формирование набора тестовых данных, не позволяющих выявить программную закладку.
Поставка вычислительных средств, содержащих программные, аппаратные или программно-аппаратные закладки.
Формирование программной закладки, не обнаруживаемой с помощью используемой модели объекта в силу ее неадекватности описываемому объекту.
Вербовка сотрудников коллектива, проводящих испытания.
Используемые процедуры и методы контроля
Формирование спускового механизма программной закладки, не включающего ее при контроле на безопасность.
Маскировка программной закладки путем внесения в программную систему ложных «непреднамеренных» дефектов.
Формирование программной закладки в ветвях программной системы, не проверяемых при контроле.
Формирование
«вирусных» программ, не позволяющих
выявить их внедрение в программную систему
путем контрольного суммирования. Поставка
программного обеспечения и вычислительной
техники, содержащих программные, аппаратные
и программно-аппаратные закладки
2.6. Эксплуатация
Сведения о персональном составе контролирующего подразделения и испытываемых программных системах
Внедрение
злоумышленников в
Вербовка
сотрудников контролирующего
Разработка новых программных закладок при доработке программной системы.
Сведения об обнаруженных незлоумышленных дефектах и программных закладках
Сведения о доработках программной системы и подразделениях, их осуществляющих
Сведения о среде функционирования программной системы и ее изменениях
Сведения
о функционировании программной
системы, доступе к ее загрузочному
модулю и исходным данным, алгоритмах
проверки сохранности программной системы
и данных.
В
качестве объекта обеспечения
Принципы обеспечения технологической безопасности при обосновании, планировании работ и проектном анализе ПО
Принципы обеспечения безопасности ПО на данном этапе включают принципы:
Комплексности обеспечения безопасности ПО, предполагающей рассмотрение проблемы безопасности информационно - вычислительных процессов с учетом всех структур КС, возможных каналов утечки информации и несанкционированного доступа к ней, времени и условий их возникновения, комплексного применения организационных и технических мероприятий.
Планируемости применения средств безопасности программ, предполагающей перенос акцента на совместное системное проектирование ПО и средств его безопасности, планирование их использования в предполагаемых условиях эксплуатации.
Обоснованности средств обеспечения безопасности ПО, заключающейся в глубоком научно-обоснованном подходе к принятию проектных решений по оценке степени безопасности, прогнозированию угроз безопасности, всесторонней априорной оценке показателей средств защиты.