11166-1 (Этапы преодоления систем защиты программного обеспечения), страница 2

2016-07-31СтудИзба

Описание файла

Документ из архива "Этапы преодоления систем защиты программного обеспечения", который расположен в категории "". Всё это находится в предмете "информатика" из , которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "рефераты, доклады и презентации", в предмете "информатика, программирование" в общих файлах.

Онлайн просмотр документа "11166-1"

Текст 2 страницы из документа "11166-1"

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

Преодоление системы защиты может осуществляться тремя основными путями:

Статическая модификация кода программного продукта, приводящая к отключению системы защиты.

Динамическая модификация кода программного продукта во время его выполнения.

Эмуляция ключевого файла, диска или электронного ключа защиты.

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

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

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

Преодоление системы защиты атакуемого продукта является последним этапом процесса анализа и преодоления систем защиты. После этого злоумышленник начинает использование программного продукта, распространение средства отключения системы защиты или самого продукта.

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

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

На основе высказанных выше соображений можно сформулировать частные критерии устойчивости защищаемого продукта к атакам. По нашему мнению, можно предложить следующие критерии:

Трудность распространения продукта (требуется пользовательская документация, необходимо специальное оборудование, объём продукта затрудняет его распространение по сети и т.п.)

Устойчивость к поиску проявлений системы защиты (маскировка факта срабатывания системы защиты);

Устойчивость к предварительному анализу защищённого продукта (маскировка функциональности системы защиты);

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

Наличие уязвимостей в системе защиты;

Устойчивость к статическому и динамическому анализу кода (противодействие анализу алгоритмов системы защиты);

Устойчивость к обходу системы защиты (наличие логических ошибок в алгоритмах защиты);

Устойчивость к преодолению системы защиты (трудность статической и динамической модификации кода продукта).

Исходя из данного набора частных критериев, можно построить комплексный критерий устойчивости программного продукта к атакам. Этот критерий формулируется следующим образом:

Kкомпл. = ni=1 αi ki,

где ki - частный критерий устойчивости, αi - весовой коэффициент частного критерия устойчивости, определяющий его важность, а n - количество частных критериев устойчивости.

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

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

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

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

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

Касперски Крис. Техника и философия хакерских атак. - М.: Солон-Р, 1999.

Майерс Гленфорд Дж. Искусство тестирования программ. - М.: Финансы и статистика, 1982.

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

Семьянов П.В., Зегжда Д.П. Анализ средств противодействия исследованию программного обеспечения и методы их преодоления. // КомпьютерПресс. - 1993. №11.

Середа С.А. Анализ средств преодоления систем защиты программного обеспечения. // ИНФОРМОСТ: Радиоэлектроника и Телекоммуникации. - 2002. №4(22). С. 11-16.

Середа С.А. Оценка эффективности систем защиты программного обеспечения. // КомпьЛог. - 2000. №2.

1 Под атакой нами понимается комплекс действий, направленных на нарушение защиты ПО от копирования и использования.

Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5224
Авторов
на СтудИзбе
428
Средний доход
с одного платного файла
Обучение Подробнее