
- •Управление образования города астана Гуманитарно-технический колледж «Асу»
- •Дипломный проект
- •Задание на выполнение дипломного проекта
- •Астана 2014
- •Аннотация
- •Содержание
- •Введение
- •1 Создание защиты для программных пакетов, на примере системы дистанционного обучения
- •1.1 Вопросы защиты информации, стоящие перед автоматизированными системами дистанционного обучения
- •1.2 Задачи поставленные перед системой защиты
- •1.3 Выбор класса требований к системе защиты
- •2 Предлагаемые методы создания интегрируемой
- •2.1 Выбор объектов для защиты
- •2.2 Шифрование данных
- •Для примера кратко расскажем о нескольких классических асимметричных системах шифрования. Криптосистема Эль-Гамаля
- •Криптосистема Ривеста-Шамира-Эйделмана
- •Криптосистема, основанная на эллиптических кривых
- •2.3 Преимущества применения полиморфных алгоритмов шифрования
- •2.4 Функциональность системы защиты
- •3 Реализация системы защиты
- •3.1 Выбор средств разработки и организации системы
- •3.2 Полиморфный генератор алгоритмов шифрования
- •3.3 Особенности реализации модуля защиты
- •3.4 Защита исполняемых файлов
- •4 Применение системы защиты
- •4.1 Состав библиотеки Uniprot
- •4.2 Руководство программиста по использованию программы ProtectExe.Exe
- •4.3 Описание использования системы защиты на примерах
- •4.4 Общие рекомендации по интеграции системы защиты
- •5 Охрана труда и безопасность жизнедеятельности
- •5.1 Анализ санитарно-гигиенических условий труда
- •5.2 Рекомендации по улучшению условий труда
- •5.3 Расчет естественного освещения
- •Список использованных источников
2.3 Преимущества применения полиморфных алгоритмов шифрования
К преимуществам применения полиморфных алгоритмов шифрования для систем, по функциональности схожим с АСДО, можно отнести следующие пункты:
слабая очевидность принципа построения системы защиты;
сложность создания универсальных средств для обхода системы защиты;
легкая реализация системы асимметрического шифрования;
возможность легкой, быстрой адаптации и усложнения такой системы;
возможность расширения виртуальной машины с целью сокрытия части кода.
Рассмотрим теперь каждый их этих пунктов по отдельности и обоснуем эти преимущества. Можно привести и другие удобства, связанные с использование полиморфных механизмов в алгоритмах шифрования. Но, на мой взгляд, перечисленные преимущества являются основными и заслуживающими внимания:
Слабая очевидность принципа построения системы защиты, является следствием выбора достаточно своеобразных механизмов. Во-первых, это само выполнение кода шифрования/расшифрования в виртуальной машине. Во-вторых, наборы полиморфных алгоритмов, уникальных для каждого пакета защищаемого программного комплекса. Это должно повлечь серьезные затруднения при попытке анализа работы такой системы с целью поиска слабых мест для атаки. Если система сразу создаст видимость сложности и малой очевидности работы своих внутренних механизмов, то скорее всего это остановит человека от дальнейших исследований. Правильно построенная программа с использованием разрабатываемой системой защиты может не только оказаться сложной на вид, но и быть такой в действительности. Выбранные же методы сделают устройство данной системы нестандартным, и, можно сказать, неожиданным.
Сложность создания универсальных средств для обхода системы защиты заключается в возможности генерации уникальных пакетов защищенного ПО. Создание универсального механизма взлома средств защиты затруднено при отсутствии исходного кода. В противном случае необходим глубокий, подробный и профессиональный анализ такой системы, осложняемый тем, что каждая система использует свои алгоритмы шифрования/расшифрования. А модификация отдельного экземпляра защищенного ПО интереса не представляет. Ведь основной упор сделан на защиту от ее массового взлома, а не на высокую надежность отдельного экземпляра пакета.
Легкая реализация системы асимметрического шифрования, хоть и является побочным эффектом, но очень полезна и важна. Она представляет собой следствие необходимости генерировать два разных алгоритма, один для шифрования, а другой для расшифрования. На основе асимметрического шифрования можно организовать богатый набор различных механизмов в защищаемом программном комплексе. Примеры такого применения будут даны в других разделах данной работы.
Возможность легкой, быстрой адаптации и усложнения такой системы. Поскольку для разработчиков система предоставляется в исходном коде, то у него есть все возможности для его изменения. Это может быть вызвано необходимостью добавления новой функциональности. При этом для такой функциональности может быть реализована поддержка со стороны измененной виртуальной машины. В этом случае работа новых механизмов может стать сложной для анализа со стороны. Также легко внести изменения с целью усложнения генератора полиморфного кода и увеличения блоков, из которых строятся полиморфные алгоритмы. Это, например, может быть полезно в том случае, если кем-то, не смотря на все сложности, будет создан универсальный пакет для взлома системы зашиты. Тогда совсем небольшие изменения в коде, могут свести на нет труды взломщика. Стоит отметить, что это является очень простым действием, и потенциально способствует защите, так как делает процесс создания взлома еще более нерациональным.
Поскольку программисту отдаются исходные коды система защиты, то он легко может воспользоваться существующей виртуальной машиной и расширить ее для собственных нужд. То же самое касается и генератора полиморфных алгоритмов. Например, он может встроить в полиморфный код ряд специфической для его системы функций. Сейчас имеется возможность ограничить возможность использования алгоритмов по времени. А где-то, возможно, понадобится ограничение по количеству запусков. Можно расширить только виртуальную машину с целью выполнения в ней критических действий. Например, проверку результатов ответа. Выполнение виртуального кода намного сложнее для анализа, а, следовательно, расширяя механизм виртуальной машины, можно добиться существенного повышения защищенности АСДО.