ВВЕДЕНИЕ………………………………………………………………………...
ГЛАВА 1. СОЗДАНИЕ ЗАЩИТЫ ДЛЯ ПРОГРАММНЫХ ПАКЕТОВ, НА ПРИМЕРЕ СИСТЕМЫ ДИСТАНЦИОННОГО ОБУЧЕНИЯ………………….………..
1.1. Вопросы защиты информации, стоящие перед автоматизированными системами дистанционного обучения…………………………………..
1.2. Обзор публикаций по данной проблеме…………………………………
1.3. Задачи поставленные перед создаваемой системой защиты…………...
1.4. Выбор класса требований к системе защиты……………………………
1.5. Выводы…………………………………………………………………….
ГЛАВА 2. ПРЕДЛАГАЕМЫЕ МЕТОДЫ СОЗДАНИЯ ИНТЕГРИРУЕМОЙ СИСТЕМЫ ЗАЩИТЫ ИНФОРМАЦИИ …………………………………………………
2.1. Выбор объектов для защиты…………………………………………….
2.2. Шифрование данных……………………………………………………..
2.2.1. Некоторые общие сведения………………………………………
2.2.2. Асимметричные криптосистемы……………………….………..
2.2.2.1. Криптосистема Эль-Гамаля…………………………….
2.2.2.2. Криптосистема Ривеста-Шамира-Эйделмана…………
2.2.2.3. Криптосистема, основанная на эллиптических кривых………………………………………………….
2.2.3. Адаптированный метод асимметричного шифрования………..
2.3. Преимущества применения полиморфных алгоритмов шифрования…………………………………………………….………...
2.4. Функциональность системы защиты…………………………………….
ГЛАВА 3. РЕАЛИЗАЦИЯ СИСТЕМЫ ЗАЩИТЫ…………………………..
3.1. Выбор средств разработки и организации системы………….…………
3.1.1. Краткая характеристика языка программирования С++……….
3.1.2. Краткая характеристика среды Visual C++…………….………..
3.1.3. Краткая характеристика библиотеки ATL………………………
3.1.4. Краткая характеристика библиотеки ZLIB……………………..
3.2. Полиморфный генератор алгоритмов шифрования…………………….
3.2.1. Общие принципы работы полиморфных алгоритмов шифрования и расшифрования…………………………………
3.2.2. Виртуальная машина для выполнения полиморфных алгоритмов………………………………………………….…….
3.2.3. Генератор полиморфного кода…………………………….……..
3.2.3.1. Блочная структура полиморфного кода………………..
3.2.3.2. Алгоритм генерации полиморфного кода…….……….
3.2.3.3. Таблицы блоков для генерации полиморфного кода……………………………………………………...
3.2.4. Уникальность генерируемого полиморфного алгоритма и сложность его анализа…………………………………………...
3.3. Особенности реализации модуля защиты.………………………………
3.4. Защита исполняемых файлов…………………………………………….
ГЛАВА 4. ПРИМЕНЕНИЕ СИСТЕМЫ ЗАЩИТЫ………………….………
4.1. Состав библиотеки Uniprot……………………………………………….
4.2. Руководство программиста по использованию модуля Uniprot.dll……………………………………………………….………...
4.3. Руководство программиста по использованию программы ProtectEXE.exe………………………………………………….….……..
4.4. Описание использования системы защиты на примерах……………….
4.4.1. Подключение модуля защиты к программе на языке Visual C++………………………………………………………………...
4.4.2. Подключение модуля защиты к программе на языке Visual Basic……………………………………………………………….
4.4.3. Пример использования модуля защиты в программе на языке Visual Basic……………………………………….………………
4.4.4. Пример использования программы ProtectEXE.exe……………
4.5. Общие рекомендации по интеграции системы защиты………………..
ОСНОВНЫЕ ВЫВОДЫ И РЕЗУЛЬТАТЫ………………………………….
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ …………………………
ПРИЛОЖЕНИЕ. ИСХОДНЫЕ ТЕКСТЫ БИБЛИОТЕКИ UNIPROT………………………………………………………………
Развитие вычислительной техники открыло перед человеком огромное количество новых возможностей. Вычислительная техника нашла применение практически во всех сферах жизнедеятельности человека. Но, как и любой другой предмет, который нас окружает, вычислительную технику можно использовать как во благо, так и во вред. Всегда есть категория людей, имеющих корыстные интересы, и готовых для их достижения пойти на все, не считаясь ни с интересами других, ни с законами. Так, в последнее время много проблем разработчикам программного обеспечения доставляет незаконное копирование и распространение программ (так называемое программное пиратство). К проблемам компьютерной индустрии также можно отнести постоянно совершенствующиеся программные вирусы, от которых порой лихорадит весь мир. Постоянные попытки взлома хакерами различных сетей и систем вынуждают создавать все более и более мощные средства защиты. Это лишь часть всего того, что причиняет сегодня вред разработчикам программного обеспечения и их пользователям. На борьбу с вредоносными программами (вирусами) тратятся огромные материальные ресурсы. Но пока значительных и радикальных побед на этом поле битвы не достигнуто. Это, в принципе, не удивительно, так как компьютерная индустрия находится на этапе становления. Кроме того, эта часть рынка позволяет получать сверхприбыли. Примером может служить компания Microsoft, которая за несколько лет из маленькой группы разработчиков превратилась в огромную корпорацию, получающую огромные доходы. Следовательно, если есть сверхприбыли, то есть и желающие незаконным путем получить их часть. Таким образом, защита информации сейчас являются одной из наиболее важных проблем развития информационных технологий. В связи со сказанным ранее, вопросы защиты информации и были выбраны мною в качестве тематики диссертационной работы.
Естественно, что проблемы, связанные с защитой информации, многогранны. И в своей работе я хочу затронуть и попытаться и решить только небольшую их часть, выбрав в качестве направления своей работы защиту систем, используемых в монопольном режиме, вне доверительной среды. Объектами исследования являться системы дистанционного обучения. Эти системы выбраны благодаря тому, что являются удачным примером программ, работающих в режиме монопольного доступа. Именно в таком режиме работает большинство систем дистанционного обучения. Под монопольным доступом понимается возможность пользователя совершать с программой любые действия, без возможности контроля со стороны. Для этих систем характерны такие задачи по информационной безопасности, как защита от несанкционированного копирования, от модификации программного кода в интересах пользователя, сокрытие от пользователя части информации и ряд других. Многие из этих задач весьма актуальны для систем дистанционного обучения и тестирования.
В настоящее время большинство специалистов в области образования возлагают надежды на современные персональные компьютеры, рассчитывая с их помощью существенно повысить качество обучения в массовых масштабах, особенно при организации самостоятельной работы и внешнем контроле [1, 2, 3]. Но при осуществлении этой задачи возникает множество проблем. Одна из них состоит в том, что в разработках автоматизированных системах дистанционного обучения (АСДО) нет никакой системы, никакого объединяющего начала, вследствие чего все АСДО являются уникальными, разрозненными, не сопряженными друг с другом ни по каким параметрам. Отсюда следует дублирование разработок электронных учебников, их высокая цена при не всегда гарантированном качестве, трудности организации внешнего контроля, а также неясность вопросов, относящихся к дидактической эффективности компьютерного обучения вообще, слабая интеграция традиционных учебников с компьютерными и многие другие. Все эти трудности, с которыми приходится сталкиваться разработчикам любых компьютерных обучающих систем, составляют «узкое» место в компьютеризации обучения. Не устранив его, трудно надеяться на успешное выполнение программы, представленной в проекте [4], где запланировано «создание и эффективное использование единой образовательной среды на компьютерной основе» и перечислены задачи, являющиеся первоочередными в выполнении программы. Например, одна из задач сформулирована следующим образом: «Создание, распространение и внедрение в учебный процесс современных электронных учебных материалов, их интеграция с традиционными учебными пособиями, а также разработка средств поддержки и сопровождения. Обеспечение качества, стандартизация и сертификация средств информационных технологий учебного назначения» [4]. Совершенно очевидно, что эффективность выполнения программы непосредственно зависит от того, насколько успешно будут преодолены трудности.
Очень важной проблемой в области организации самостоятельной работы и, особенно, компьютерного внешнего контроля является слабая защищенность образовательного программного обеспечения от «взлома» с целью доступа к правильным ответам и подделки результатов контроля [5, 6, 7, 8, 9, 10, 11, 12]. Эта проблема вытекает из того, что в основном современные контролирующие системы строятся на антропоморфном принципе, суть которого применительно к автоматизации обучения заключается в использовании памяти компьютера для хранения эталонных ответов вместе с заданиями. Как правило, они шифруются, но, как показывает практика, их всегда можно расшифровать. Эта проблема особенно остро встала с появлением в России дистанционных технологий обучения, где внешний контроль знаний осуществляется в основном компьютером в отсутствие преподавателя.
Существует также проблема защиты обучающего программного обеспечения от модификации его кода, с целью изменения алгоритма оценивания результатов тестирования или другого кода. Слабая защищенность от «взлома» любых антропоморфных контролирующих систем создает трудности при проведении контроля в системах дистанционного образования. Внешний контроль на расстоянии исключен, так как никто не может гарантировать, что контролирующие программы не были «взломаны» в процессе выполнения контрольной работы. В связи с этим, экзамен возможен лишь за счет выезда преподавателя к месту встречи с «дистанционщиками». Но и в этом случае объективность не гарантируется, так как благодаря наличию ответов в контролирующей программе, преподаватель может не только пользоваться инструкциями по проведению экзамена, но и проявлять собственную инициативу, по своему усмотрению распоряжаясь имеющейся у него информацией об эталонных ответах. Кроме того, из-за выездов преподавателей падает качество обучения студентов очной системы образования. В последнее время появилась новая форма экзамена, которую многие называют «распределенной» или «разнесенной» формой. Этот подход позаимствован у студентов заочной формы обучения. В этом случае студентам, обучающимся по дистанционной технологии, высылают только экзаменационные вопросы (без ответов). Студенты на них отвечают и высылают свои результаты в центр дистанционного обучения. Там они проверяются, и студентам сообщаются результаты. Такая форма обеспечивает достаточную объективность экзамена, но не пользуется популярностью, так как студенты хотят знать свои результаты сразу после экзамена, а не через несколько дней, потому что, в случае неудовлетворительной оценки, они смогут пересдать экзамен не сразу, а лишь спустя некоторое (довольно длительное) время.
Таким образом, исследование методов создания системы защиты программ дистанционного обучения имеют большое практическое значение. Но в связи с тем, что дистанционное образование находится в стадии становления в нашей стране, проблемы защиты практически не проработаны. В данной работе будут исследованы методы и предложено несколько подходов для создания интегрируемой системы защиты дистанционных образовательных систем.
Целью настоящей работы является анализ методов защиты информации без использования вспомогательных аппаратных средств и создание интегрируемого пакета программных модулей для защиты систем функционирующих в монопольном режиме вне доверенной вычислительной среды.
Задачи исследования.
Для достижения поставленной цели в диссертационной работе на примере АСДО сформулированы и решены следующие задачи:
1) Выделены основные ключевые объекты, подлежащие защите.
2) Разработаны методы защиты АСДО вне доверенной вычислитель¬ной среды от массовых попыток модификации кода.
3) Разработаны методы защиты данных для систем обучения и контроля знаний вне доверенной вычислитель¬ной среды.
4) Проведен анализ и предложены возможные способы применения разработанных методов.
5) На основе данных методов разработан набор программных модулей защиты, предназначенных для интегрирования в системы дистанционного обучения.
Актуальность работы обусловлена тем, что с развитием компьютерных технологий в образовательном процессе появилась необходимость в создании эффективных систем обучения, самоконтроля, внешнего контроля и защиты информации.
Научная новизна работы состоит в следующем:
1) Предложен метод защиты программ путем шифрования исполняемых файлов, основанный на использовании множества уникальных полиморфных алгоритмов.
2) Предложен метод организации защиты информации и ее обмена с применением идеологии открытого ключа, основанной на полиморфных алгоритмах.
3) Отказ от использования аппаратных средств.
4) Создание единого набора интегрируемых программных модулей для интеграции в различные системы дистанционного обучения.
Методы исследования базируются на анализе работ, посвященных вопросам защиты информации, и на работах, связанных с защитой обучающих программных комплексов.
Практическая ценность:
1. Разработаны эффективные методы защиты систем дистанционного обучения вне доверенной вычислительной среды.
2. Основываясь на разработанном методе полиморфных алгоритмах шифрования, были предложены механизмы, препятствующие созданию универсальных средств обхода системы защиты.
3. Разработанные методы не нуждаются в аппаратных средствах для своей реализации.
4. Возможность легкой интеграции созданной системы защиты в уже существующие программные комплексы дистанционного обучения.
Внедрение разработки:
Разработанная система защиты была интегрирована в программный комплекс Aquarius Education 4.0, созданный на кафедре АТМ под руководством Юхименко Александра и представляющий собой систему автоматизированного тестирования.
Апробация работы.
Все вопросы, относящиеся к теме диссертации, обсуждались на различных конференциях:
1. Построение защиты в системе контроля и передачи знаний. Печатный Сборник докладов международной научной конференции ММТТ-Дон. РГХАСМ, Ростов-на-Дону, 2002. 2 стр.
2. Система интеграции защиты информации для пакетов автономного дистанционного обучения. Печатный Сборник докладов международной научной конференции ММТТ-Дон. РГХАСМ, Ростов-на-Дону, 2003. 2 стр.
Диссертация состоит из введения, четырех глав, заключения и приложения.
В первой главе рассмотрены трудности разработки автоматизированных систем дистанционного обучения с точки зрения их защиты. Проведен обзор публикаций по данной тематике, выделены задачи, возлагаемые на разрабатываемую систему защиты.
Во второй главе предложены методы реализации требований, предъявленных системе защиты. Выбраны объекты защиты, рассмотрены асимметрические методы шифрования и предложен адаптированный метод для разрабатываемой системы.
В третьей главе внимание уделено непосредственно реализации системы защиты. Выбраны средства разработки, рассмотрен процесс создания компонентов системы защиты.
Четвертая глава описывает возможности разработанной системы и содержит руководство программиста по ее использованию, ряд примеров. Также даны общие рекомендации по интеграции разработанной системы.
В заключении подведены итоги проделанной работы.
В приложении приведен исходный текст модуля защиты.
1. Выполнен сравнительный анализ существующих подходов к организации защиты данных в системах с монопольным доступом, на примере автоматизированных систем дистанционного обучения. Отмечено, что существует много защищенных обучающие систем, функционирующих в среде интернет, но практически отсутствуют защищенные пакеты для локального использования. Это обусловлено плохо проработанными и еще не достаточно хорошо изученными методами построения защищенных АСДО.
2. На основе анализа, предложен ряд мер, позволяющий повысить защищенность АСДО. Разработаны программные средства, предназначенные для интеграции в уже существующие обучающие системы, с целью их защиты при использовании вне доверенной вычислительной среды.
3. В разработанном программном обеспечении были использованы новые технологии шифрования данных. Полностью исключена необходимость использования аппаратных средств.
4. Разработана система защиты, руководство для программиста, набор тестовых примеров и рекомендации по ее применению. Созданная система была интегрирована в уже существующий комплекс Aquarius Education 4.0, разработанный на кафедре АТМ.
1. Аунапу Т.Ф., Веронская М.В. Автоматизация обучения с позиций системного анализа // Управление качеством высшего образования в условиях многоуровневой подготовки специалистов и внедрения образовательных стандартов: Тез. докладов республиканской научно-методической конференции. — Барнаул: Алт. гос. техн. ун-т, 1996. — С. 5 — 6. д
2. Брусенцов Н.П., Маслов С.П., Рамиль Альварес X. Микрокомпьютерная система «Наставник». — М.: Наука, 1990. — 224 с.
3. Кондратова О.А. Психологические требования к проектированию компьютерных учебных средств и систем обучения // Проблемы гуманизации и новые методы обучения в системе инженерного образования: Тез. докл. межвузовской научно-практической конференции. — Новокузнецк: Сиб. Гос. горно-металлургическая академия, 1995. — С. 78 — 80.
4. Федеральная целевая программа «Развитие единой образовательной информационной среды на 2002 — 2006 годы» (проект). — М.: Минобразования, 2001. — 35 с.
5. Кручинин В.В., Ситникова Е.А. Проблема защиты компьютерных экзаменационных программ в ТМЦ ДО // Современное образование: массовость и качество. Тез. докл. региональной научно-методической конференции. — Томск: ТУСУР, 2001. — С. 144.
6. Махутов Б.Н., Шевелев М.Ю. Защита электронных учебников в дистанционном обучении // Образование XXI века: инновационные технологии, диагностика и управление в условиях информатизации и гуманизации: Материалы III Всероссийской научно-методической конференции с международным участием. — Красноярск: КГПУ, 2001. — С. 106 — 108.
7. Раводин О.М. Проблемы создания системы дистанционного образования в ТУСУРе // Дистанционное образование. Состояние, проблемы, перспективы. Тез. докл. научно- методической конференции, Томск, 19 ноября Э 1997 г. — Томск: ТУ СУР, 1997. — С. 19 — 25.
8. Шевелев М.Ю. Автоматизированный внешний контроль самостоятельной работы студентов в системе дистанционного образования /У Дистанционно образование. Состояние, проблемы, перспективы. Тез. докл. научно-методической конференции. — Томск: ТУСУР, 1997. — С. 49.
9. Шевелев М.Ю. Прибор для дихотомической оценки семантических сообщений в автоматизированных обучающих системах // Современные техника и технологии. Сб. статей международной научно-практической конференции. — Томск: ТПУ, 2000. — С. 152.
10. Шевелев М.Ю. Программно-аппаратная система контроля и защиты информации // Современное образование: массовость и качество. Тез. докл. научно-методической конференции 1-2 февраля 2001 г. — Томск: ТУСУР, 2001.—С. 99—100.
11. Шелупанов А.А., Пряхин А.В. Анализ проблемы информации в системе дистанционного образования // Современное образование: массовость и качество. Тез. докл. региональной научно-методической конференции. — Томск: ТУ СУР, 2001. — С. 159 — 161.
12. Кацман Ю.Я. Применение компьютерных технологий при дистанционном обучении студентов // Тез. докладов региональной научно методической конференции "Современное образование: массовость и качество". – Томск: ТУСУР, 2001. – С.170 – 171.
13. Пресс-группа СГУ. Компьютер-экзаменатор. // Электронный еженедельник "Закон. Финансы. Налоги." – 2000. – № 11 (77).
14. Белокрылова О.С. Использование курса дистанционного обучения на экономическом факультете РГУ // Cовременные информационные технологии в учебном процессе: Тез. докл. Учебно-методическая конференция. – Апрель 2000.
15. Алешин С.В. Принципы построения оболочки информационно – образовательной среды CHOPIN // Новые информационные технологии : Тез. докл. Восьмая международная студенческая школа семинар. – Крым: Алтайский государственный технический университет, Май 2000.
16. Оганесян А.Г. Проблема обратной связи при дистанционном обучении // Открытое образование. – 2002. – март.
17. Занимонец Ю.М., Зинькова Ж.Г. Проведение всероссийского компьютерного тестирования "Телетестинг-2000" в Ростовском госуниверсите // Современные информационные технологии в учебном процессе : Тез. докл. Учебно-методическая конференция. – 2000. – апрель.
18. Сенцов, В.С. Программный комплекс тестового контроля знаний «Тест» // Новые информационные технологии: Тез. докл. Восьмая международная студенческая школа семинар. – Крым: Алтайский государственный технический университет, Май 2000.
19. Мицель. А.А. Автоматизированная система разработки электронных учебников // Открытое образование. – 2001. – май.
20. Жолобов Д.А. Генератор мультимедиа учебников // Новые информационные технологии: Тез. докл. Восьмая международная студенческая школа семинар. – Крым: Астраханский государственный технический университет, Май 2000.
21. Вергазов Р. И., Гудков П. А. Система автоматизированного дистанционного тестирования // Новые информационные технологии: Тез. докл. Восьмая международная студенческая школа семинар. – Крым: Пензенский государственный университет, Май 2000.
22. Ложников П. С. Распознавание пользователей в системах дистанционного образования: обзор // Educational Technology & Society. – 2001. – № 4, http://ifets.ieee.org/russian/depository/v4_i2/html/4.html
23. Расторгуев С.П., Долгин А.Е., Потанин М.Ю. Как защитить информацию // Электронное пособие по борьбе с хакерами. http://kiev-security.org.ua
24. Ерижоков А.А. Использование VMWare 2.0 // Публикация в сети ИНТЕРНЕТ на сервере http://www.citforum.ru/operating_systems/vmware/index.shtml.
25. Баpичев С. Kpиптогpафия без секретов. – М.: Наука, 1998. – 105 с.
26. Маутов Б.Н. Защита электронных учебников на основе программно-аппаратного комплекса "Символ-КОМ" // Открытое образование. – 2001. – апрель.
27. Тыщенко О.Б. Новое средство компьютерного обучения - электронный учебник // Компьютеры в учебном процессе. – 1999. – № 10. – С. 89-92.
28. Оганесян А. Г., Ермакова Н. А., Чабан К. О. Проблема «шпаргалок» или как обеспечить объективность компьютерного тестирования? // «Львіська політехніка». – 2001. – № 6. Публикация в сети ИНТЕРНЕТ на сервере http://www.mesi.ru/joe/N6_00/oga.html.
29. Романенко В.В. Автоматизированная система разработки электронных учебников. // Новые информационные технологии в университетском образовании: Тез. докл. Материалы седьмой Международной Научно-Методической конференции. – Томск: Томский Государственный Университет Систем Управления и Радиоэлектроники, Март 2000.
30. Касперский Е.В. Компьютерные вирусы: что это такое и как с ними бороться. – М.: СК Пресс, 1998. – 288 с., ил.
31. Трельсон Э. Модель COM и применение ATL 3.0: Пер. с англ. – СПб. БХВ-Петербург, 2001. – 928 с. ил.
32. Баричев С. Г. и др. «Основы современной криптографии». – М.: «Горячая линия –Телеком», 2001 – 120 с.
33. Бокс. Д. Сущность технологии COM. Библиотека программиста. – СПб.: Питер, 2001. – 400 с.: ил.
34. Ted Pattison. Programming Distributed Applications with COM and Microsoft Visual Basic 6.0. – Microsoft Press, 1998. – 260 c. ISBN 1-57231-961-5