программа шифрование данный

Защита информации в системах дистанционного обучения с монопольным доступом Программирование программа шифрование данный комп-рыЗащита информации в системах дистанционного обучения с монопольным доступом ТУЛЬСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ На правах рукописи Карпов Андрей Николаевич ЗАЩИТА ИНФОРМАЦИИ В СИСТЕМАХ ДИСТАНЦИОННОГО ОБУЧЕНИЯ С МОНОПОЛЬНЫМ ДОСТУПОМ Направление 553000 - Системный анализ программа шифрование данный управление Программная подготовка 553005 – Системный анализ данных программа шифрование данный моделей принятия решений АВТОРЕФЕРАТ диссертации на соискание степени магистра техники программа шифрование данный технологии Тула 2004 Работа выполнена на кафедре автоматики программа шифрование данный телемеханики Тульского государственного университета Научный руководитель д.т.н. Богатырев М.Ю. _____________ Консультатнт к.т.н. проф. Теличко Г.Н. _____________ Защита диссертации состоится 16 июня 2004 г. в 10 ч. 00 мин. Секретарь ГАК кандидат технических наук, доцент Спицын А.В. ОБЩАЯ ХАРАКТЕРИСТИКА РАБОТЫ Актуальность темы. В последнее время много проблем разработчикам и пользователям программного обеспечения доставляют проблемы информационной безопасности. Вопросы защиты информации весьма обширны, поэтому в данной работе будет рассмотрена защита автоматизированных систем дистанционного обучения (АСДО). Они являются удачным образцом систем, функционирующих в режиме монопольного доступа вне доверительной среды. Под монопольным доступом понимается возможность пользователя совершать с программой любые действия без внешнего контроля. Для систем, функционирующих вне доверительной среды, характерны следующие задачи информационной безопасности: защита от несанкционированного копирования, защита от модификации программного кода, сокрытие от пользователя части информации и ряд других задач. Это отмечают Алешин С. В., Белокрылова О.С., Жолобов Д.А., Мицель А.А., Оганесян А.Г., Шевелев М.Ю программа шифрование данный другие авторы в работах, посвященных защите информации в АСДО. Объект исследования – автоматизированная система дистанционного обучения. Предмет исследования – организация защиты информации для систем с монопольным режимом доступа, функционирующих вне доверительной среды. Цель работы. Целью диссертационной работы является анализ методов защиты информации без использования вспомогательных аппаратных средств и создание интегрируемого пакета программных модулей для защиты систем, функционирующих в монопольном режиме вне доверенной вычислительной среды. Гипотеза исследования – возможность использования механизма полиморфных алгоритмов шифрования для предотвращения массовых попыток взлома автоматизированных систем дистанционного обучения. Задачи исследования. Для достижения поставленной цели в диссертационной работе на примере АСДО сформулированы программа шифрование данный решены следующие задачи: 1. Выделены основные ключевые объекты, подлежащие защите. 2. Разработаны методы защиты АСДО вне доверенной вычислительной среды от массовых попыток модификации кода. 3. Разработаны методы защиты данных для систем обучения программа шифрование данный контроля знаний вне доверенной вычислительной среды. 4. Проведен анализ программа шифрование данный предложены возможные способы применения разработанных методов. Методы исследования. Исследования базируются на анализе работ посвященных вопросам защиты информации, программа шифрование данный на работах, связанных с защитой обучающих программных комплексов. Теоретические результаты – предложены новые методы защиты автоматизированных систем дистанционного обучения, основанные на использовании полиморфных алгоритмов. Практическая ценность. 1. Разработаны эффективные методы защиты систем дистанционного обучения вне доверенной вычислительной среды. 2. Основываясь на разработанном методе полиморфных алгоритмах шифрования, были предложены механизмы, препятствующие созданию универсальных средств обхода системы защиты. 3. Разработанные методы не нуждаются в аппаратных средствах для своей реализации. 4. Возможность легкой интеграции созданной системы защиты в уже существующие программные комплексы дистанционного обучения. Реализация – система защиты была интегрирована в программный комплекс Aquarius Education 4.0, созданный на кафедре АТМ под руководством Юхименко Александра программа шифрование данный представляющий собой систему автоматизированного тестирования. Область применения – сфера образования Публикации. По теме диссертации опубликованы две научных работы. Структура программа шифрование данный объем работы. Диссертация состоит из введения, четырех глав, заключения, списка литературы программа шифрование данный приложения. Материал изложен на 168 страницах, содержит 12 рисунков, одну таблицу программа шифрование данный список литературы из 34 наименований. ОСНОВНОЕ СОДЕРЖАНИЕ РАБОТЫ Во введении сказано о выборе в качестве темы диссертационной работы, вопросов защиты информации, применительно к системам с монопольным доступом. А также о выборе в качестве объекта исследования автоматизированных систем обучения программа шифрование данный актуальности данного направления исследований. В первой главе рассмотрены трудности разработки автоматизированных систем дистанционного обучения с точки зрения их защиты. Проведен обзор публикаций по данной тематике, выделены задачи, возлагаемые на разрабатываемую систему защиты. Все большее внимание уделяется новому направлению в образовании – дистанционному обучению. Одной из задач при построении АСДО является их защита. Примером может служить установление достоверности результатов компьютерного тестирования. Сюда же относится проблема построения системы разграничения доступа в различных программных комплексах, предназначенных для автоматизации процесса обучения. Рассмотрим часто встречающуюся на данный момент ситуацию. На кафедре создана система, включающая виртуального лектора программа шифрование данный подсистему тестирования. В случае использования данной системы в аудиториях кафедры никаких сложностей не возникает, так как студенты находятся под контролем преподавательского состава. Но ориентация образования в сторону дистанционного обучения вносит свои коррективы. Возникает потребность в возможности использования данного программного обеспечения студентом на своей локальной машине. Такая задача может быть решена (и решается достаточно хорошо) с использованием сетевых технологий. В такой системе студент заходит на сайт, где он может заниматься обучением или проходить различные виды тестирования. Но такая система неудобна тем, что требует постоянного подключения к сети, влечет немалые финансовые затраты, вынуждена ограничивать учебный материал. Например, придется ограничиться картинкой там, где совсем бы не помешало показать видеоролик. Отсюда возникает потребность сделать эту систему автономной, с возможностью распространения ее на таких носителях, как CD-ROM. Сформулируем основные проблемы, связанных с защитой программа шифрование данный рядом других вопросов, относящихся к системам дистанционного обучения. 1. Отсутствие возможности достоверно определить, прошел ли студент тестирование самостоятельно. Для этой задачи он вполне мог использовать другого человека (например, более подготовленного студента). 2. Неизвестно, сколько раз студент предпринял попытку пройти тестирование. Студент имеет возможность устанавливать систему дистанционного обучения в нескольких экземплярах и/или копировать ее, тем самым сохраняя ее текущее состояние. Так, студент получает возможность неограниченного количества попыток прохождения тестирования программа шифрование данный возможность выбрать из них попытку с наилучшим результатом. 3. Существует возможность создания универсального редактора файлов результатов тестирования. Он может использоваться студентом для корректировки оценок выставленных программой тестирования. 4. Существует возможность создания универсальной программы просмотра файлов с заданиями программа шифрование данный ответами. Тем самым, студент имеет возможность узнать верные ответы на вопросы в тестах. 5. Возможность модификации программного кода системы тестирования, с целью изменения алгоритма выставления оценок. 6. Необходима возможность легкой адаптации уже существующих систем дистанционного обучения программа шифрование данный тестирования. Это в первую очередь связанно с тем, что к этим системам уже существуют базы с лекциями, тестовыми заданиями программа шифрование данный так далее. Практически все ВУЗы заняты созданием своих систем дистанционного обучения. В интернете имеется огромное количество информации по этим разработкам. Интересно, что говоря о преимуществах той или иной системы, обычно умалчивается о том, каким образом система защищена, из чего можно сделать вывод о плохой проработке данного вопроса. К сожалению, в рамках автореферата невозможно предоставить развернутый обзор каждого из перечисленных вопросов, поэтому приведем только несколько ссылок, чтобы подчеркнуть актуальность программа шифрование данный необходимость работы в выбранном направлении. В статье "Проблема обратной связи при дистанционном обучении." А.Г. Оганесян отмечает, что система дистанционного образования должна иметь достаточные средства защиты от несанкционированного вмешательства программа шифрование данный подмены реальных студентов их дублерами. Далее говорится, что проблема идентификации студентов – дистанщиков, кажется вообще не имеет решения. Действительно, пароли программа шифрование данный иные атрибуты личной идентификации проблемы не решают, т.к. студент заинтересован заменить себя дублером программа шифрование данный располагает неограниченными возможностями такой подмены. Техническое решение для ее обнаружения придумать пока не удалось. А вот организационные, похоже, есть. Выход может быть в создании постепенного контроля знаний, с целью формирования трудностей для подмены проходящего тестирование дублером. Ведь найти дублера на один экзамен намного проще, чем на весь период обучения. В некоторых работах отмечается, что примененние системы защиты может иметь негативные стороны. В тезисах докладов Занимонец Ю.М. отмечает: "иногда чрезмерные меры защиты создавали проблемы при инсталляции и эксплуатации программного обеспечения". Следовательно, немаловажным моментом является хорошая продуманность системы защиты. В противном случае она может скорее навредить, чем принести пользу. Из этого вновь можно сделать выводы, что вопросы защиты (в области дистанционного образования) плохо проработаны. Некоторые ученые рассматривают защиту в очень ограниченном аспекте. Н.Н. Сенцов программа шифрование данный В.С. Солдаткин, описывая программный комплекс тестового контроля знаний «Тест», говорят о следующем: "Каждая часть программного комплекса функционирует самостоятельно. В клиентской части нет возможности доступа к базе данных для ее изменения – это возможно из администраторской части, при знании пароля доступа к базе данных. Для работы клиентской части необходима заполненная база данных тестовыми заданиями. Это должно быть заведомо сделано из части администратора." Таким образом, существует защита от модификации, но нет защиты от просмотра. Так же, вполне очевидно, отсутствует программа шифрование данный защита отчетов о результатах тестирования. Аналогично, Д.А. Жолобов, говоря о создании генератора мультимедийных учебников, отмечает, что программа должна обладать возможностью защиты данных учебника от несанкционированного доступа. Но ничего не говорится о том, как реализована защита в этой системе. А Р.И.Вергазов программа шифрование данный П.А.Гудков, описывая систему автоматизированного дистанционного тестирования, отмечают, что в сетевом варианте можно построить весьма надежную систему. Существует вариант для работы системы и в локальном режиме. Но не упоминается, существуют ли защита при использовании этой системы в локальном режиме. Отделим те задачи, решение которых лежит вне сферы возможности программных средств программа шифрование данный решение которых относится к административным средствам контроля. Для остальных задач предложены методы их решения, и сказано о необходимости включить поддержку их решений в функциональность разрабатываемой системы защиты. К сожалению, первые две проблемы лежат вне сфер возможности программных средств без применения дополнительного аппаратного обеспечения. Естественным решением данных проблем может служить только правильное построение курса. Контроль знаний следует строить так, чтобы усложнить процесс подмены дублером. Найти дублера на один тест намного проще, чем на весь период обучения. При тестировании целесообразно предложить достаточно большое количество вопросов, наиболее оптимальным выходом является автоматическая генерация. Это исключило бы возможность просмотра всех вопросов программа шифрование данный пробы разных вариантов ответов. Помешать возможности создания универсального редактора файлов результатов тестирования может механизм открытых ключей. Именно такой механизм необходимо будет реализовать в системе защиты. Отметим, что будет использоваться шифрование с применением открытого ключа не в классическом понимании. Метод будет состоять в генерации полиморфных алгоритмов шифрования/расшифрования. При этом одному алгоритму шифрования будет соответствовать один алгоритм расшифровки. А воссоздание алгоритма шифровки/расшифровки по имеющимся обратному алгоритму слишком трудоемко. Решение проблемы возможности создания универсальной программы просмотра файлов с заданиями программа шифрование данный ответами представляется мне не в использовании стойких криптоалгоритмов, программа шифрование данный в способе хранения данных. Помочь может генератор алгоритмов шифрования/расшифрования, позволяющий создавать уникальные пакеты АСДО. Путем хранения данных в пакетах, отдаваемых студенту программа шифрование данный зашифрованных различными алгоритмами, будет реализовываться сложность создания универсальной программы просмотра. Рассмотрим проблему возможности модификации программного кода системы тестирования с целью изменения алгоритма выставления оценок или другого кода. Как ни странно, подсказать решение могут такие программы, как вирусы. Точнее, полиморфные вирусы. Полиморфной называются программа, каждый штамм (копия) которой отличается от другого. Два экземпляра такой программы могут не совпадать ни одной последовательностью байт, но при этом функционально они являются копиями. Вирусы используют полиморфные генераторы для усложнения их обнаружения. Для нас полиморфный код интересен по другой причине. В него очень сложно внести изменения. Точнее, внести исправление в конкретный экземпляр приложения не представляется большой проблемой, программа шифрование данный вот применить этот метод модификации на другом экземпляре невозможно. Отсюда следует высокая сложность написания универсального алгоритма, который бы изменял полиморфную программу так, чтобы она начала функционировать, как этого хочет злоумышленник. Отсюда возникает идея построить подсистему по следующему описанию. Система представляет из себя файл, который хранится в зашифрованном виде. Программа-загрузчик расшифровывает его непосредственно в памяти программа шифрование данный затем запускает. Таким образом, невозможно написать обыкновенную программу, модифицирующую этот файл. Ведь каждый файл зашифрован своим методом, а следовательно программа шифрование данный простая модификация невозможна. Конечно, возможно создание программы, взламывающей систему тестирования, базирующуюся на методах динамической модификации памяти программы или на создании программа шифрование данный загрузки слепка данных в память. Но создание подобной программы уже само по себе весьма сложно программа шифрование данный требует высокой квалификации. Задача легкой адаптации уже существующих АСДО полностью лежит в сфере информационных технологий программа шифрование данный имеет достаточно простое решение. В ОС Windows имеется механизм, который позволит легко адаптировать уже существующие системы дистанционного обучения программа шифрование данный тестирования, причем разработанные на различных языках. Он обладает широкой поддержкой средств разработки и библиотек. Это COM (Component Object Model). COM - модель компонентных объектов Microsoft (стандартный механизм, включающий интерфейсы, с помощью которых одни объекты предоставляют свои сервисы другим, - является основой многих объектных технологий, в том числе OLE программа шифрование данный ActiveX) [15]. Во второй главе предложены методы для реализации требований, поставленных системе защиты. Выбраны объекты защиты, рассмотрены асимметрические методы шифрования программа шифрование данный предложен адаптированный метод для разрабатываемой системы. Система защиты, предложенная в данной работе, не относится к системам дистанционного обучения, построенным по технологии клиент-сервер. Такие системы уже по своей идеологии достаточно хорошо защищены. Все базы данных с материалами для обучения, тестирования программа шифрование данный так далее хранятся на сервере. В нужный момент только часть этих данных попадает на компьютер клиента. В этом случае, например, не требуется защита базы с ответами, поскольку проверка правильности может происходить на серверной стороне. Но, тем не менее, для такой системы модуль защиты будет также полезен. Так, если на компьютере студента устанавливается некий набор программ, организующий его обучение, то возможно программа шифрование данный существование критических мест, где может пригодиться защита исполняемых модулей от модификации кода или другая функциональность модуля защиты. Рассмотрим более подробно объекты системы дистанционного локального обучения, требующие защиты. Данные, являющиеся текстом задач с ответами, могут быть просмотрены с корыстной целью. Это не является простым занятием в случае, если эти данные хранятся в сложном бинарном формате, так как без знания устройства соответствующего формата, просмотр таких данных внешними программами весьма сложен. Но многие АСДО хранят эти задачи в простом текстовом виде или в виде документов WORD, и, следовательно, просмотр таких данных никаких сложностей не вызовет. И, соответственно, доступ к базе задач автоматически дискредитируют систему тестирования. Может возникнуть ситуация, когда нежелательна возможность неограниченного доступа не только к базам заданий/ответов, но программа шифрование данный к обучающему материалу. Например, нежелательно широкое распространение обучающих материалов, программа шифрование данный требуется ограничить их просмотр только из соответствующей системы тестирования. Естественно, абсолютной защиты тут придумать невозможно, так как в любом случае просто физически нельзя запретить, например, сфотографировать монитор. Но, тем не менее, шифрование таких данных иногда оправдано. Исполняемые файлы систем тестирования подвержены модификации с целью изменения алгоритма их работы. Примером может служить модификация алгоритма выставления оценки за пройденное тестирование или алгоритма генерации отчета с соответствующей оценкой. Дополнительная трудность состоит в том, чтобы усложнить процесс массового взлома. Нет такой программы, которую невозможно было бы взломать. Но вот критерий трудоемкости взлома прямо пропорционален критерию надежности. Таким образом, стоит задача по возможности ограничения возможности создания программы – взломщика, которую можно будет применить для модификации обучающего пакета любого студента. Задача состоит не в создании очень сложной системы защиты исполняемых модулей. Задача состоит в том, чтобы разработанная кем-то программа–взломщик не имела своего действия на другие пакеты, или, точнее сказать, чтобы создание такой программы было очень трудоемким и экономически нецелесообразным. Представим такую ситуацию. Группе студентов выдали пакет дистанционного обучающего программного обеспечения. Один из студентов вместо честного обучения программа шифрование данный тестирования потратил все время на изучение программа шифрование данный взлом этой системы в результате чего получил высокую оценку, так и не ознакомившись с предметом. Такой частный случай сам по себе не страшен. Намного страшнее, если после этого данный студент начнет распространять свое техническое достижение. И, таким образом, все студенты следующего года обучения воспользуются этим. Результатом будет полное не владение курсом студентами, обучение которых происходит на взломанной АСДО. Один из путей защиты – это создание уникальных программных модулей. То есть модулей, для которых неприменима простая программа - взломщик модифицирующая определенную последовательность байт. Предлагаемое решение генерации таких модулей будет описано в дальнейшем программа шифрование данный будет основано на применении полиморфных алгоритмов шифрования. Изменению могут быть подвержены результаты тестирования, то есть отчет, формируемый системой обучения/тестирования. Система дистанционного обучения может быть построена по принципу, когда студент присылает файл с результатами его тестирования по электронной почте или, скажем, приносит на дискете. В этом случае этот файл не должен представлять собой, например, простой текстовый файл. Часто в простых системах тестирования, изначально не разрабатывавшихся для дистанционного обучения, эти файлы для удобства представляются текстовыми документами или другими форматами, удобными для просмотра. В общем случае, здесь просто необходимо применение шифрования данных. В реализуемой системе защита будет построена на основе асимметричных механизмов шифрования. Это, во-первых, позволит защитить данные от модификации, программа шифрование данный во-вторых, "подпишет" полученные данные. Так как каждого студента будет достаточно снабдить пактом тестирования с уникальным ключом, что сделает невозможным использование чужого файла с отчетом. Теперь остановимся на асимметричных криптосистемах программа шифрование данный кратко расскажем о них. Связано это с тем, что в дальнейшем в системе защиты будет предложен и использован механизм построенный по принципу асимметричных криптосистем. Асимметричные или двухключевые системы являются одним из обширных классов криптографических систем. Эти системы характеризуются тем, что для шифрования программа шифрование данный для расшифрования используются разные ключи, связанные между собой некоторой зависимостью. При этом данная зависимость такова, что установить один ключ, зная другой, с вычислительной точки зрения очень трудно. Один из ключей (например, ключ шифрования) может быть общедоступным, в этом случае проблема получения общего секретного ключа для связи отпадает. Если сделать общедоступным ключ расшифрования, то на базе полученной системы можно построить систему аутентификации передаваемых сообщений. Поскольку в большинстве случаев один ключ из пары делается общедоступным, такие системы получили также название криптосистем с открытым ключом. Классические методы построения асимметричных алгоритмов криптопреобразований хоть нам программа шифрование данный интересны, но не достаточно хорошо подходят для решаемой задачи. Можно было бы взять реализацию уже готового асимметричного алгоритма, или согласно теоретическому описанию реализовать подобный алгоритм самостоятельно. Но, во-первых, здесь встает вопрос о лицензировании программа шифрование данный использовании алгоритмов шифрования. Но использование стойких криптоалгоритмов связано с правовой базой, касаться которой бы не хотелось. Ведь сам по себе стойкий алгоритм шифрования здесь не нужен. Он просто излишен, программа шифрование данный создаст лишь дополнительное замедление работы программы при шифровании/расшифровании данных. Также планируется выполнять код программы шифрования/расшифрования в виртуальной машине, из чего вытекает большая сложность реализации такой системы, если использовать сложные алгоритмы шифрования. Виртуальная машина дает ряд преимуществ, например, делает более скрытной возможность проведения некоторых операций. В качестве примера можно привести проверку алгоритмом допустимого срока своего использования. Отсюда следует вывод, что создаваемый алгоритм шифрования должен быть прост. Но при этом он должен обеспечивать асимметричность программа шифрование данный быть достаточно сложным для анализа. Исходя их этих позиций, берет свое начало идея создания полиморфных алгоритмов шифрования. Основная сложность будет состоять в построении генератора, который должен выдавать на выходе два алгоритма. Один для шифрования, другой для расшифрования. Ключей у этих алгоритмов шифрования/расшифрования нет. Можно сказать что они сами являются ключами, или что они содержат ключ внутри. Они должны быть устроены таким образом, чтобы производить уникальные преобразования над данными. То есть, два сгенерированных алгоритма шифрования должны производить шифрования абсолютно различными способами. И для их расшифровки возможно будет использовать только соответствующий алгоритм расшифрования, который был сгенерирован в паре с алгоритмом шифрования. Уникальность создания таких алгоритмов должен обеспечить полиморфный генератор кода. Исполняться алгоритмы будут в виртуальной машине. Анализ алгоритмов должен стать весьма трудным программа шифрование данный нецелесообразным занятием. Преобразования же над данными будут достаточно тривиальны, но практически уникальны. Точнее, вероятность генерации двух одинаковых алгоритмов должна стремиться к нулю. В качестве же элементарных действий следует использовать такие нересурсоемкие операции, как сложение с каким либо числом или, например, побитовое исключающее или (XOR). Но повторение нескольких таких преобразований, да еще с изменяющимися аргументами операций (в зависимости от адреса шифруемой ячейки), делает шифр достаточно сложным. А генерации каждый раз новой последовательности таких преобразований, да еще с участием различных аргументов, делает алгоритм сложным для анализа. Остановимся чуть подробнее на основных преимуществах применения полиморфных алгоритмов шифрования для систем, по функциональности схожих с АСДО. Слабая очевидность принципа построения системы защиты. Это является следствием выбора достаточно своеобразных механизмов. Во-первых, это само выполнение кода шифрования или расшифрования в виртуальной машине. А во- вторых, наборы полиморфных алгоритмов, уникальных для каждого пакета защищаемого программного комплекса. Это должно повлечь серьезные затруднения при попытке анализа работы такой системы, с целью поиска слабых мест для атаки. И это очень важно. Так как, если система сразу создаст видимость сложности программа шифрование данный малой очевидности работы своих внутренних механизмов, то, скорее всего, это остановит человека от дальнейших исследований. Правильно построенная программа, с использованием разрабатываемой системой защиты, может не только оказаться сложной на вид, но программа шифрование данный быть таковой в действительности. Выбранные же методы сделают устройство такой системы нестандартным, программа шифрование данный даже, можно сказать, неожиданным. Сложность создания универсальных средств для обхода системы защиты. Данное преимущество заключается в возможности генерации уникальных пакетов защищенного ПО. Создание универсального механизма взлома средств защиты, затруднено в случае отсутствия исходного кода. В противном случае необходим глубокий, подробный программа шифрование данный профессиональный анализ такой системы, осложняемый тем, что каждый экземпляр системы использует свои алгоритмы шифрования/расшифрования. А модификация отдельного экземпляра, защищенного ПО интереса не представляет. Ведь основной упор сделан на защиту от ее массового взлома, программа шифрование данный не на высокую надежность отдельного экземпляра пакета. Легкая реализация системы асимметрического шифрования. Это представляет собой следствие необходимости генерировать два разных алгоритма, один для шифрования, программа шифрование данный другой для расшифрования. На основе асимметрического шифрования можно организовать богатый набор различных механизмов в защищаемом программном комплексе. Возможность легкой, быстрой адаптации программа шифрование данный усложнения такой системы. Поскольку для разработчиков система предоставляется в исходном коде, то у него есть все возможности для его изменения. Это может быть вызвано необходимостью добавления новой функциональности. При этом, для такой функциональности может быть реализована поддержка со стороны измененной виртуальной машины. В этом случае работа новых механизмов может стать сложной для анализа со стороны. Также легко внести изменения с целью усложнения генератора полиморфного кода, программа шифрование данный увеличения блоков, из которых строятся полиморфные алгоритмы. Это, например, может быть полезно в том случае, если кем-то, не смотря на все сложности, будет создан универсальный пакет для взлома системы зашиты. Тогда совсем небольшие изменения в коде, могут свести на нет труды взломщика. Стоит отметить, что это является очень простым действием, программа шифрование данный потенциально так же способствует защите, так как делает процесс создания взлома еще более нерациональным. Поскольку программисту отдаются исходные коды система защиты, то он легко может воспользоваться существующей виртуальной машиной программа шифрование данный расширить ее для собственных нужд. То же самое касается программа шифрование данный генератора полиморфных алгоритмов. Например, он может встроить в полиморфный код ряд специфических для его системы функций. Сейчас имеется возможность ограничить возможность использования алгоритмов по времени. А где-то, возможно понадобится ограничение по количеству запусков. Можно расширить только виртуальную машину с целью выполнения в ней критических действий. В третьей главе внимание уделено непосредственно реализации системы защиты. Выбраны средства разработки, рассмотрен процесс создания компонентов системы защиты. Для разработки системы защиты необходим компилятор, обладающий хорошим быстродействием генерируемого кода. Требование к быстродействию обусловлено ресурсоемкостью алгоритмов шифрования программа шифрование данный расшифрования. Также необходима среда с хорошей поддержкой COM. Желательно, чтобы язык был объектно- ориентированный, что должно помочь в разработке достаточно сложного полиморфного генератора. Естественным выбором будет использование Visual C++. Данное средство разработки отвечает всем необходимым требованиям. Также понадобится библиотека для сжатия данных. Наиболее подходящим кандидатом является библиотека ZLIB. Рассмотрим общие принципы работы полиморфных алгоритмов шифрования и расшифрования. Алгоритмы состоят из 8 функциональных блоков, некоторые из которых могут повторяться. На рисунке 1 приведена абстрактная схема работы алгоритма шифрования/расшифрования. Повторяющиеся блоки обозначены эллипсами, находящимися под квадратами. Количество таких блоков выбирается случайно при генерации каждой новой пары алгоритмов. Функциональные блоки программа шифрование данный их номер отмечены числом в маленьком прямоугольнике, расположенным в правом верхнем углу больших блоков. |[pic] | |Рисунок 1. Алгоритм шифрования/расшифрования в общем| |виде. | Сразу отметим, что при своей работе виртуальная машина использует виртуальные регистры программа шифрование данный память. Начальное содержимое виртуальной памяти, как и сам сгенерированный алгоритм хранится в файле. Например, именно в виртуальной памяти может быть записано, сколько байт необходимо расшифровать. Некоторые виртуальные регистры программа шифрование данный виртуальные ячейки памяти содержат мусор программа шифрование данный не используются или используются в холостых блоках. Холостые блоки состоят из одной или более базовых инструкций виртуальной машины. Они не являются функциональными, программа шифрование данный описание их здесь будет опушено. Холостым блокам будет уделено внимание в следующем разделе. На схеме произвольные регистры/ячейки памяти обозначаются как буква А с программа шифрование данный цифрой. Полиморфный генератор случайным образом выбирает, какой же именно регистр или ячейка памяти будет задействована в каждом конкретном алгоритме шифрования/расшифрования. Рассмотрим теперь каждый из функциональных блоков более подробно. Блок 1 заносит в виртуальный регистр или переменную (обозначим ее как A1) адрес шифруемого/расшифруемого блока данных. Для виртуальной машины этот адрес на самом деле всегда является нулем. Дело в том, что когда происходит выполнение виртуальной инструкции модификации данных, то виртуальная машина добавляет к этому адресу настоящий адрес в памяти программа шифрование данный уже с ним производит операции. Можно представить A1 как индекс в массиве шифруемых/расшифруемых данных, адресуемых с нуля. Блок 2 заносит в виртуальный регистр или переменную (обозначим ее как A2) размер блока данных. А2 выполняет роль счетчика в цикле преобразования данных. Заметим, что ее значение всегда в 4 раза меньше, чем настоящий размер шифруемых/расшифруемых данных. Это связано с тем, что полиморфные алгоритмы всегда работают с блоками данных кратных по размеру 4 байтам. Причем, операции преобразования выполняются над блоками кратными 4 байтам. О выравнивании данных по 4 байта заботятся более высокоуровневые механизмы, использующие виртуальную машину программа шифрование данный полиморфные алгоритмы для шифрования программа шифрование данный расшифрования данных. Возникает вопрос, откуда алгоритму знать, какого размера блок ему необходимо зашифровать, ведь при его генерации такой информации просто нет. Необходимое значение он просто берет из ячейки памяти. Дело в том, что виртуальная машина памяти "знает" именно об этой виртуальной ячейке памяти программа шифрование данный перед началом выполнения полиморфного алгоритма заносит туда необходимое значение. Блок 3 помещает в виртуальный регистр или переменную (обозначим ее как A3) константу, участвующую в преобразовании. Эта константа, возможно, затем программа шифрование данный не будет использована для преобразования данных, все зависит от того, какой код будет сгенерирован. Блок 3 может быть повторен несколько раз. Над данными осуществляется целый набор различных преобразований программа шифрование данный в каждом из них участвуют различные регистры/переменные инициализированные в блоке 3. Блок 4 можно назвать основным. Именно он, а, точнее сказать, набор этих блоков производит шифрование/расшифрование данных. Количество этих блоков случайно, программа шифрование данный равно количеству блоков номер 3. Но при преобразованиях не обязательно будет использовано значение из A3. Например, вместо A3 может использоваться константа или значение из счетчика. На данный момент полиморфный генератор поддерживает 3 вида преобразований: побитовое "исключающее или" (XOR), сложение программа шифрование данный вычитание. Набор этих преобразование можно легко расширить, главное, чтобы такое преобразование имело обратную операцию. Блок 5 служит для увеличения A1 на единицу. Как программа шифрование данный во всех других блоках эта операция может быть выполнена по-разному, то есть с использованием различных элементарных инструкций виртуальной машины. Блок 6 организует цикл. Он уменьшает значение A2 на единицу, и если результат не равен 0, то виртуальная машина переходит к выполнению четвертого блока. На самом деле управление может быть передано на один из холостых блоков между блоком 3 программа шифрование данный 4, но с функциональной точки зрения это значения не имеет. Блок 7 производит проверку ограничения по времени использования алгоритма. Код по проверке на ограничение по времени относится к холостым командам, программа шифрование данный на самом деле может присутствовать программа шифрование данный выполнятся в коде большое количество раз. То, что он относится к холостым блокам кода вовсе не значит, что он не будет нести функциональной нагрузки. Он будет действительно проверять ограничение, но, как программа шифрование данный другие холостые блоки, располагаться произвольным образом в пустых промежутках между функциональными блоками. Поскольку этот блок может теоретически никогда не встретиться среди холостых блоков, то хоть один раз его следует выполнить. Именно поэтому он программа шифрование данный вынесен как один из функциональных блоков. Если же при генерации алгоритма от генератора не требуется ограничение по времени, то в качестве аргумента к виртуальной команде проверки времени используется специальное число. Блок 8 завершает работу алгоритма. Опишем теперь по шагам, как работает генератор полиморфного кода. 1. На первом этапе выбираются характеристики будущих алгоритмов. К ним относятся: a) размер памяти, выделенной под код; б) в каких регистрах или ячейках будут располагаться указатели на модифицируемый код; г) сколько раз будут повторяться функциональные блоки 3 программа шифрование данный 4; д) в каких регистрах или ячейках будут располагаться счетчики циклов; При этом количество повторений блоков 3 программа шифрование данный 4 должно быть одинаковым программа шифрование данный для алгоритма шифрования программа шифрование данный для алгоритма расшифрования, так как каждой команде преобразования данных при шифровании должна быть сопоставлена обратная команда в алгоритме расшифрования. 2. Виртуальная память, используемая в алгоритме, заполняется случайными значения. 3. Создается 1-ый функциональный блок программа шифрование данный помещается в промежуточное хранилище. а) Случайным образом ищется подходящий первый блок. Критерий поиска – блок должен использовать регистр или ячейку памяти под указатель, в зависимости от того какие характеристики были выбраны на первом шаге (пункт б). б) В код блока подставляется соответствующий номер регистра или адрес виртуальной ячейки памяти. 4. Создается 2-ой функциональный блок программа шифрование данный помещается в промежуточное хранилище. Алгоритм создания подобен алгоритму, описанному в шаге 3. Но теперь подставляется не только номер регистра или ячейки памяти, куда помещается значение, но программа шифрование данный адрес памяти с источником. В эту ячейку памяти в дальнейшем виртуальная машина будет помещать размер шифруемой/расшифруемой области. 5. Необходимое количество раз создаются программа шифрование данный помещается в промежуточное хранилище функциональные блоки под номером 3. Механизм их генерации также схож с шагами 3 программа шифрование данный 4. Отличием является то, что некоторые константы в коде блока заменяются случайными числами. Например, эти значения при шифровании или расшифровании будут складываться с преобразуемыми ячейками памяти, вычитаться программа шифрование данный так далее. 6. Подсчитывается размер уже сгенерированных блоков. Это число затем будет использоваться для случайной генерации адреса начала блоков в цикле. 7. Рассчитывается размер памяти, который будет выделен под уже сгенерированные блоки (расположенные до цикла) с резервированием места под холостые блоки. Также подсчитывается адрес первого блока в цикле. 8. Необходимое количество раз создаются программа шифрование данный помещается в промежуточное хранилище функциональные блоки под номером 3. Это шаг несколько сложнее, чем все другие. Во-первых, здесь весьма сильная зависимость между сгенерированным кодом шифрования программа шифрование данный расшифрования. В коде расшифрования используются обратные по действию операции относительно операций шифрования. При этом они располагаются в обратной последовательности. 9. Создается 5-ой функциональный блок программа шифрование данный помещается в промежуточное хранилище. 10. Создается 6-ой функциональный блок программа шифрование данный помещается в промежуточное хранилище. Это блок, организующий цикл, поэтому он использует адреса, рассчитанные на шаге 7. 11. Создается 7-ой функциональный блок программа шифрование данный помещается в промежуточное хранилище. 12. Создается 8-ой функциональный блок программа шифрование данный помещается в промежуточное хранилище. 13. Созданные функциональные блоки размещаются в одной области памяти с промежутками случайного размера. 14. Оставшиеся промежутки заполняются случайно выбранными холостыми блоками. При этом эти блоки также подвергаются модификации кода. Например, подставляются случайные но неиспользуемые номера регистров, записываются случайные константы программа шифрование данный так далее. 15. Происходит запись в файл необходимых идентификаторов, структур, различных данных программа шифрование данный самого полиморфного кода. В результате мы получаем то, что называется файлом с полиморфный алгоритмом. Четвертая глава описывает возможности разработанной системы программа шифрование данный содержит руководство программиста по ее использованию, ряд примеров. Также даны общие рекомендации по интеграции разработанной системы. В начале главы приведен список компонентов, входящих в разработанную библиотеку защиты Uniprot. Затем подробно описаны интерфейсы, предоставляемые программисту модулем Uniprot.dll. Модуль экспортирует три интерфейса: IProtect, IProtectFile, IProtectConformity. В интерфейсе IProtect собраны функции общего плана программа шифрование данный генерации файлов с полиморфными алгоритмами шифрования программа шифрование данный расшифрования. К сожалению в рамках автореферата не удастся более подробно остановиться на описании как этого, так программа шифрование данный следующих интерфейсов, хотя они очень важны для точного понимания предоставляемых модулем возможностей. В IProtectFile собраны функции работы с зашифрованными файлами, такие как создание зашифрованного файла, запись в него, чтение программа шифрование данный так далее. Идеология работы с зашифрованными файлами построена на дескрипторах. При создании или открытии зашифрованного файла ему в соответствие ставится дескриптор, с использованием которого в дальнейшем программа шифрование данный ведется работа с файлом. Интерфейс IProtectConformity является вспомогательным программа шифрование данный объединяет набор функций, призванных облегчить использование системы с большим количеством файлов с алгоритмами программа шифрование данный зашифрованных данных. Глава содержит также руководство программиста по использованию программы ProtectEXE.exe. Программа ProtectEXE.EXE предназначена для защиты исполняемых файлов от модификации. Под исполняемыми модулями понимаются EXE файлы в формате PE (Portable Executables). Защита исполняемых модулей основана на их шифровании. Особенностью утилиты ProtectEXE является то, что она шифрует каждый исполняемый файл уникальным полиморфным алгоритмом. Это затрудняет возможность использования программного взломщика, основанного на модификации определенных кодов в программе. Поскольку каждый исполняемый файл зашифрован своим методом, то программа шифрование данный модифицировать их единым методом невозможно. Утилита ProtectEXE.EXE не позволяет защититься от динамического модифицирования в памяти. Это слишком сложно программа шифрование данный не может быть достигнуто, без существенной переделки исходного текста самой защищаемой программы. Но в рамках защиты дистанционных средств обучения такая защита должна быть достаточно эффективна программа шифрование данный достаточна. Ведь создание взламывающей программы экономически мало целесообразно, а, следовательно, и, скорее всего, не будет осуществлено. Далее в главе описано использования системы защиты на примерах. Так например рассмотрено подключение модуля защиты к программе на языке Visual C++ программа шифрование данный Visual Basic. Приведен пример использования модуля защиты в программе на языке Visual Basiс, Пример использования программы ProtectEXE.exe. В конце главы дан ряд общих рекомендаций по интеграции системы защиты. В заключении подведены итоги проделанной работы. В приложениях приведен исходный текст модуля защиты. ОСНОВНЫЕ РЕЗУЛЬТАТЫ РАБОТЫ 1. Выполнен сравнительный анализ существующих подходов к организации защиты данных в системах с монопольным доступом на примере автоматизированных систем дистанционного обучения. Отмечено, что существует много защищенных обучающие систем, функционирующих в среде интернет, но практически отсутствуют защищенные пакеты для локального использования. Это обусловлено плохо проработанными программа шифрование данный еще не достаточно хорошо изученными методами построения защищенных АСДО. 2. На основе анализа предложен ряд мер, позволяющий повысить защищенность АСДО. Разработаны программные средства, предназначенные для интеграции в уже существующие обучающие системы с целью их защиты при использовании вне доверенной вычислительной среды. 3. В разработанном программном обеспечении были использованы новые технологии шифрования данных. Полностью исключена необходимость использования аппаратных средств. 4. Разработана система защиты, руководство для программиста, набор тестовых примеров программа шифрование данный рекомендации по ее применению. Созданная система была интегрирована в уже существующий комплекс Aquarius Education 4.0, разработанный на кафедре АТМ. СПИСОК ОСНОВНЫХ ПУБЛИКАЦИЙ ПО ТЕМЕ ДИССЕРТАЦИИ 1. Построение защиты в системе контроля программа шифрование данный передачи знаний. Печатный Сборник докладов международной научной конференции ММТТ-Дон. РГХАСМ, Ростов-на-Дону, 2002. 2 стр. 2. Система интеграции защиты информации для пакетов автономного дистанционного обучения. Печатный Сборник докладов международной научной конференции ММТТ-Дон. РГХАСМ, Ростов-на-Дону, 2003. 2 стр. смотреть на рефераты похожие на "Защита информации в системах дистанционного обучения с монопольным доступом " Поиск по Серверу разделы стоматологический услуга мигрень купить хлебопечку изготовление презентация холодильный агрегат обед тач-скрин монитор информационный валаам купить nokia 8910 лак эмаль авиа отправка бесплатный нард man гильза международный конкурс дебютант мультиметры цифровой фейрверк праздник кружка укрепление откос покраска аэротенк цвет гармония купить яйцеварку тонировка стекол зона ограничение доступ комплексный сайт li-da снегоход буран гайковерт предохранитель пкт тонирование авто лак orly светлогорск тестоделитель тренировка память кострома коммерческий электромонтажный стол учиться танго холодный зеркало видеосъемка перевод денег автобетононасосы гильза цилиндр теплолюкс концепция совершенствование сбыта электросчетчик сэт международный конкурс дебютант дефектоскопия сварной швов книга кремль этнический психология очистка подогреватель вызов врач longines mobihel краска сборщик долг применение доломита пломбирование узи тошиба время иваново эфирный антенна funke компания петрокатридж скачать короткий нард iridium motorola поставка холодильный камера гуп ритуал автоподъемник флаг заказ конвейер асбест tognana фарфор mobil pegasus лакокраска фотопечать dhl шелкография лечение слух валерий билет электрокамин dimplex model plasma (sp9) виниловый дирижабль куллер вымпел заказ восстановление информация nokia 6021 купить 5004.14 (крышка) inerta краска медикаментозный прерывание беременность паркетный лак набор гинекологический прамышленый альпинизм datamax система видеоконференция бахила подбор холодильный камера подгонный компенсатор danfoss решетка дренажный нужен фотограф 1000 холодильник гильза цилиндр этикетировочные машина акриловый пряжа рассылка база данный договор суррогатный мать вакуумный упаковочный ларсен центр паркетный лак слабость головокружение фотопечать карбид кальций пежо 5440.15 (крышка) сушильный машина asko жаростойкий краска вилатерм нейминг программа шифрование данный