Внимание! Studlandia не продает дипломы, аттестаты и иные документы об образовании. Наши специалисты оказывают услуги консультирования и помощи в написании студенческих работ: в сборе информации, ее обработке, структурировании и оформления работы в соответствии с ГОСТом. Все услуги на сайте предоставляются исключительно в рамках законодательства РФ.
Нужна индивидуальная работа?
Подберем литературу
Поможем справиться с любым заданием
Подготовим презентацию и речь
Оформим готовую работу
Узнать стоимость своей работы
Дарим 200 руб.
на первый
заказ

Решение задач на тему: Анализ защищенности программного обеспечения

Купить за 100 руб.
Страниц
118
Размер файла
828.03 КБ
Просмотров
6
Покупок
0

Введение

В настоящее время значительное внимание уделяется проблеме возможного наличия в программном обеспечении (ПО) функциональных возможностей, способных привести к последствиям и тем самым нанести ущерб правообладателю или потребителю. Особую актуальность данная проблема приобретает для ПО, используемого для обработки информации, к которой предъявляются требования по безопасности. Одним из наиболее значимых факторов угрозы нарушения безопасности информации, является наличие уязвимостей в ПО, реализующем процессы обработки информации. Под уязвимостью понимается программный код, выполнение которого может нарушить безопасность обрабатываемой информации при появлении определенных условий. При этом наличие уязвимости может быть обусловлено как ошибками разработчика, так и его умышленными действиями. В связи с этим серьезные усилия специалистов сосредоточены на разработке и совершенствовании подходов к исследованиям ПО на предмет отсутствия в нем уязвимостей. Оценка влияния информационных воздействий на ПО является важнейшей частью общего процесса выявления уязвимостей и выделена в отдельное направление.

Оценка защищенности информационных технологий определяется, в первую очередь, наличием законодательных актов и нормативно-технических документов по обеспечению безопасности информационных технологий. Критерии оценки безопасности информационных технологий занимают среди них особое место. Только стандартизованные критерии позволяют проводить сравнительный анализ и сопоставимую оценку изделий информационных технологий.

Проблемы защиты программного обеспечение в области контроля над его использованием и дальнейшим распространением в настоящее время принято решать при помощи программно-технических средств - систем защиты ПО. В то же время для обхода и отключения подобных систем защиты существует множество инструментальных средств. Возникает задача сопоставить возможности средств защиты ПО с возможностями средств их преодоления. Результаты такого анализа будут полезны для оценки рисков при производстве программных продуктов, а так же планировании и оценке уровня стойкости систем защиты ПО.

У системы защиты ПО существуют ряд основных проблем, с которыми она должна справляться:

кража интеллектуальной собственности или конфиденциальных данных содержащихся в программе (в том числе восстановление логики работы программы);

несанкционированное использование либо распространение ПО (кража, копирование, пиратство);

несанкционированная модификация ПО;

Рассмотрим подробнее эти методы атаки на программное обеспечение.

Пиратство - вид деятельности, связанный с неправомерным распространением или использованием ПО. Существует множество способов проведения таких атак, среди которых (но не ограничиваясь ими) можно выделить следующие:

неправомерное копирование - перенос программы на другой компьютер и ее выполнение на нем в случае, если это не разрешено лицензией. Следует отметить, что для противодействия этой атаке важно сделать невозможным не столько копирование программы, сколько ее выполнение на другом компьютере. Этот вид атаки мало распространен в связи с несовместимостью с современной бизнес-моделью распространения ПО;

неправомерное использование - выполнение программы (либо использование ее результатов) пользователем, которому автор или владелец не предоставил разрешения на выполнение;

нарушение требований лицензии на ПО;

перепродажа программного продукта от своего имени.

Незаконное копирование и перепродажа ПО, а также несанкционированное его использование лицами, которые не имеют на это права, ежегодно обходится производителям, по разным оценкам, потерями от 10 до 12 млрд. долларов. По данным Business Software Alliance, 36% всего используемого в мире ПО является пиратским. Можно утверждать, что пиратство - основная проблема для разработчиков и распространителей коммерческого ПО. Это подтверждается и обилием решений для противостояния пиратству. За всю историю коммерческого ПО были придуманы тысячи способов (как программных, так и аппаратных) защиты ПО от нелегального использования и распространения.

Кража интеллектуальной собственности или конфиденциальных данных - это целенаправленный процесс анализа кода ПО с целью извлечения из него определенных функциональных возможностей, а также раскрытия алгоритмов или данных, используемых в программе, которые могут представлять интерес для атакующего. Анализируя извлеченные из программы данные, атакующий (называемый также обратным проектировщиком, или реверс - инженером) может получить доступ к алгоритмам программы. Возможно, некоторые из этих алгоритмов защищены патентами или просто должны сохраняться в секрете (например, по причине манипулирования секретными ключами).

Основными инструментами реверс-инженера являются дизассемблер и отладчик (большинство современных реализаций объединяют эти инструменты в одном продукте). Дизассемблер позволяет по выполняемому коду восстановить исходный код программы в виде инструкций на языке ассемблера, а в некоторых случаях - и в виде программы на языке более высокого уровня (например, С). Отладчик позволяет загрузить программу "внутрь себя" и контролировать ход ее выполнения (выполнять инструкции программы "по шагам", предоставлять доступ к ее адресному пространству, отслеживать обращения к разным участкам памяти). Следует отметить, что реверс-инженер может обойтись и без этих средств, просто рассматривая программу как "черный ящик", подавая ей на вход специальным образом сформированные данные и анализируя выходные данные. Однако анализ по методу "черного ящика" крайне неэффективен ввиду его малой производительности. Поскольку этот метод практически не используется при взломе программ, вопрос противодействия ему не будем рассматривать.

Стоить отметить, что обратный анализ программ, написанных на языках, которые компилируются в промежуточный интерпретируемый код (например, Java, С# и другие CLR-языки), на порядок проще программ, написанных на языках, компилирующихся в машинный код, поскольку в исполняемый код таких программ записывается информация про их семантическую структуру (об их классах, полях, методах и т.д.). В связи с возросшей популярностью таких языков программирования (и, в частности, .NET Framework) задача защиты программ, написанных с их использованием, становится все более актуальной.

Модификация кода программы - преднамеренное или непреднамеренное изменение выполняемого кода программы, приводящее к отклонениям программы от нормального хода выполнения. Например, атакующий может изменить процедуру проверки лицензионного ключа так, чтобы для любого переданного значения она возвращала TRUE, и, таким образом, программа бы считала любое значение лицензионного ключа корректным. Кроме того, атакующий может добавить в программу - жертву код, отсылающий конфиденциальную информацию об окружении, в котором она выполняется, на его компьютер. Способность программы определять, что она была изменена, очень важна, так как изменения, внесенные в программу, могут привести к самым печальным последствиям (например, в случае, если программа обслуживает больницу, электростанцию или другую критическую службу). Отдельно стоит отметить, что подобные атаки могут быть выполнены компьютерными вирусами, заражающими исполняемый код. Если программа сумеет противостоять заражению (или определить, что она была заражена), это сможет существенно снизить темпы распространения вирусной эпидемии.

Следует отметить, что вышеперечисленные виды атак не являются независимыми друг от друга. Скорее, даже наоборот - они очень тесно переплетены между собой. Так, проблема создания генератора ключей (пиратство) опирается на исследование, каким образом в программе выполняется проверка лицензионного ключа (реверс-инженерию); еще один подход софтверных пиратов - удаление из программы кода проверки лицензионного ключа - связан с модификацией кода. Поэтому рассматривать атаки независимо друг от друга не имеет смысла, нужно сконцентрироваться на методах, обеспечивающих максимальное противодействие всем видам атак одновременно.

Оглавление

- Введение

- Безопасность программного обеспечения

- Угрозы безопасности программного обеспечения и примеры их реализации

- Классификация угроз

- Используемая терминология

- Жизненный цикл программного обеспечения

- Стандарты жизненного цикла ПО

- Принципы обеспечения безопасности программного обеспечения

- Классификация средств атаки на средства защиты программного обеспечения

- Основные принципы обеспечения безопасности ПО

- Оценка качества программного обеспечения

- Показатели сопровождения программного обеспечения

- Показатели надежности

- Показатели удобства применения программного обеспечения

- Показатели эффективности программного обеспечения

- Показатели универсальности программного обеспечения

- Показатели корректности программного обеспечения

- Постановка задачи оценки защищенности по глава 2. методы защиты программного обеспечения, их оценка и анализ защищенности

- Методы технологической защиты ПО и их оценка эффективности

- Аппаратные средства защиты программного обеспечения

- Программные средства защиты программного обеспечения

- Методы обеспечения эксплуатационной безопасности ПО

- Методы и средства защиты программ от компьютерных вирусов

- Методы защиты программного обеспечения от средств исследования программ

- Правовая поддержка процессов разработки и применения ПО

- Стандарты в области информационной безопасности

- Оценка защищенности ПО

- Качества систем защиты программного обеспечения

- Методы анализа и оценки безопасности ПО Заключение

- Литература

Список литературы

1. Дмитрий Скляров "Искусство защиты и взлома информации" © "БХВ-ПЕТЕРБУРГ", 2004

. Расторгуев С.П. Программные методы защиты информации в компьютерах и сетях.

. Чернов А. В. Анализ запутывающих преобразований программ / Библиотека аналитической информации [Электронный ресурс] http://www.citforum.ru/security/articles/analysis/

. Чернов А. В. Исследование и разработка методологии маскировки программ: дис. ... канд. физ.-мат. наук /Моск. гос. ун-т им. М. В. Ломоносова. - М., 2003. - 133 с

. А. В. Анисимов. Подходы к защите программного обеспечения от атак злонамеренного хоста. УДК 681.3:004.056

. Мирошниченко Е. А. Технологии программирования: учебное пособие / Е. А. Мирошниченко. - 2-е изд., испр. и доп. - Томск: Изд-во Томского политехнического университета, 2008. - 128 с.

. Ефимов А.И., Пальчун Б.П. О технологической безопасности компьютерной инфосферы// Вопросы защиты информации. - 1995.- №3(30).

. Белкин П.Ю. Новое поколение вирусов принципы работы и методы защиты// Защита информации. - 1997.- №2.-С.35-40

. Зегжда Д.П., Шмаков Э.М. Проблема анализа безопасности программного обеспечения// Безопасность информационных технологий. - 1995.- №2.- С.28-33.

. Тейер Т., Липов М., Нельсон Э. Надежность программного обеспечения. - М.: Мир, 1981.

. Расторгуев СП., Дмитриевский Н.Н. Искусство защиты и "раздевания" программ. - М.: "Софтмаркет", 1991.

. Роббинс Д. Отладка приложений Microsoft .NET и Microsoft Windows. - М.: "Русская редакция", 2004. - 736 с.

. Касперски К, Техника и философия хакерских атак. Изд.2. - М.: Солон-Р, 2005.

. ГОСТ 28195-89: Оценка качества программных средств. Общие положения. - М.: Издательство стандартов, 1989.

. Изосимов А.В., Рыжко А.Л. Метрическая оценка качества программ. - М.: Изд. МАИ, 1989.

. Цивин СВ. Методы защиты программных средств вне доверенной вы-числительной среды: Автореф. дисс. к.т.н. - Пенза, 2000. - 21 с.

. Мадан В.И. Исследование и анализ количественных характеристик качества программ: Автореф. дисс, к,ф-м.н., Украинский институт кибернетики, 1992.

19. McCabe Т. А complexity measure //IEEE Transactions оn Software Engineering, 1976, V.SЕ 2, № 4, Р.308-320.

20. Шимаров В.А. Методы инструментального контроля качества программ на основе структуры передач управления: Автореф. дисс. к.ф-м.н. - АН БССР, Ин-т математики, Минск, 1989.

. Майерс Г. Надежность программного обеспечения. Пер. с англ. под ред. В.Ш. Кауфмана. - М.: Мир, 1980

. Дал У., Дейкстра Э., Хоор К. Структурное программирование. - М

. Липаев В.В. Надежность ПО АСУ. - М.: Энергоиздат, 1981.

. Воробьев С.Г., Копыльцов А.В, Пальчун Б.Н., Юсупов Р.М. Методы и модели оценки качества ПО. Ин-т информатики и автоматизации. - СПб.:1992.

. Липаев В.В. Отладка сложных программ. Методы, Средства. Технологии, - М,: Энергоатомиздат, 1993,

. Заде Л. Понятие лингвистической переменной и его применение к понятию приближенных решений. - М.: Мир, 1976.

Как купить готовую работу?
Авторизоваться
или зарегистрироваться
в сервисе
Оплатить работу
удобным
способом
После оплаты
вы получите ссылку
на скачивание
Страниц
118
Размер файла
828.03 КБ
Просмотров
289
Покупок
0
Анализ защищенности программного обеспечения
Купить за 100 руб.
Похожие работы
Сумма к оплате
500 руб.
Купить
Заказать
индивидуальную работу
Гарантия 21 день
Работа 100% по ваши требованиям
от 1 000 руб.
Заказать
Прочие работы по предмету
Работы не найдены
103 972 студента обратились
к нам за прошлый год
2002 оценок
среднее 4.2 из 5
Александр Спасибо Вам большое за помощь. Работа принята на высокий балл!Очень тяжело было найти исполнителя по данному заказу....
Игорь Отличная работа, рекомендую автора!
Александр Работа выполнена в срок, учтены все пожелания. Большое спасибо!
Александр Работа выполнена в срок. Спасибо большое за выполненную работу!
Александр Заказ выполнен раньше срока. Рекомендую исполнителя.
Иван По программе в учебном заведении резко перенесли сдачи курсовых и дали неделю с половиной на сдачу и распечатку ,...
Александр Курсовую засчитали на отлично. Работа выполнена грамотно, логично, материал хорошо структурирован, правки внесены...
Александр Работа была выполнена быстро и чётко. Результат стоит своих денег.
Александр Работа выполнена хорошо, буду обращаться вновь!
Александр Всë отлично, буду заказывать снова