6
АННОТАЦИЯ
Данная диссертация посвящена вопросам построения систем защиты информации для программных пакетов, используемых в монопольном доступе. В качестве объекта для исследования и применения разработанных методов защиты служат системы дистанционного обучения и контроля знаний.
Рассмотрены различные методы применяемые для создания разнообразных систем защиты, рассмотрена возможность их применения для систем дистанционного обучения. Проанализированы ключевые места, требующие защиты и предложены варианты ее осуществления, отмечены их преимущества и недостатки. Предложены новые пути реализации защиты для систем используемых в монопольном режиме. Разработан набор программных модулей предназначенный для интеграции в защищаемый программный комплекс и реализующий подсистему защиты. Проведена апробация созданной подсистемы защиты на одном из пакетов дистанционного тестирования. Приведены руководства и программная документация по интеграции и использованию созданной подсистемы защиты для различных программных комплексов.
Диссертация содержит 168 страниц, 12 иллюстраций, 1 таблицу.
СОДЕРЖАНИЕ
ВВЕДЕНИЕ
ГЛАВА 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. СОЗДАНИЕ ЗАЩИТЫ ДЛЯ ПРОГРАММНЫХ ПАКЕТОВ, НА ПРИМЕРЕ СИСТЕМЫ ДИСТАНЦИОННОГО ОБУЧЕНИЯ
1.1. Вопросы защиты информации, стоящие перед автоматизированными системами дистанционного обучения
Все большее внимание уделяется новому направлению в образовании - дистанционному обучению. Дистанционное образование с одной стороны открывает новые возможности, с другой ставит новые задачи. Одной из задач является построение защиты в системе контроля и передачи знаний.
Примером может служить контроль за достоверностью результатов компьютерного тестирования. Сюда же, относится проблема построения системы разграничения доступа в различных программных комплексах, предназначенных для автоматизации процесса обучения. Рассмотрим часто встречающуюся на данный момент ситуацию. На кафедре создана система, включающая виртуального лектора и подсистему тестирования. В случае использования данной системы в аудиториях кафедры, никаких сложностей не возникает, так как студенты находятся под контролем преподавательского состава. Но ориентация образования на дистанционное обучение вносит свои коррективы. Возникает потребность в возможности использования данного программного обеспечения студентом на своей локальной машине. Такая задача может быть решена (и решается достаточно хорошо) с применением сетевых технологий. В такой системе студент заходит на сайт, где он может заниматься обучением или проходить различные виды тестирования. Но система неудобна тем, что требует постоянного подключения к сети. Имеют место следующие негативные стороны:
а) немалые финансовые затраты;
б) необходимость, чтобы каждый студент имел возможность находиться в сети;
в) низкая пропускная способность, если брать во внимание качество отечественных телефонных линий;
г) вынужденное ограничение учебного материала, вызванного его объемом. Например, придется ограничиться картинкой, где совсем бы не помешало показать видеоролик.
Отсюда возникает потребность сделать эту систему автономной с возможностью распространения ее на носителях, таких, как CD-ROM.
Естественно, сразу встает проблема защиты данных, которые служат для проведения тестирования. Если обучающую информацию можно хранить свободно, то доступ к информации, предназначенной для проведения тестирования, должен быть закрыт для студента. Еще один вопрос состоит в том, как организовать сбор информации о проведенном тестировании - проблема достоверности полученных результатов. Предположим, что студент приносит результат (отчет, сгенерированный программой) своего тестирования на дискете в виде файла. Следовательно, он не должен иметь возможность его модифицировать. Да и как быть уверенным, что он не воспользовался системой, специально измененной для фальсификации результатов тестирования.
Сформулируем основные проблемы, связанных с защитой, и ряд других вопросов, относящихся к системам дистанционного обучения.
1. Отсутствие возможности достоверно определить, прошел ли студент тестирование самостоятельно. Для этой задачи он вполне мог использовать другого человека (например, более подготовленного студента).
2. Неизвестно, сколько раз студент предпринял попытку пройти тестирование. Студент имеет возможность устанавливать систему дистанционного обучения в нескольких экземплярах и/или копировать ее, тем самым сохраняя ее текущее состояние. Так студент получает возможность неограниченного количества попыток прохождения тестирования и возможность выбрать из них попытку с наилучшим результатом.
3. Существует возможность создания универсального редактора файлов результатов тестирования. Он может использоваться студентом для корректировки оценок выставленных программой тестирования.
4. Существует угроза создания универсальной программы просмотра файлов с заданиями и ответами. Тем самым, студент имеет возможность узнать верные ответы на вопросы в тестах.
5. Возможность модификации программного кода системы тестирования, с целью изменения алгоритма выставления оценок.
6. Необходима легкая адаптация уже существующих систем дистанционного обучения и тестирования. Это в первую очередь связанно с тем, что к этим системам уже существуют базы с лекциями, тестовыми заданиями и так далее.
1.2. Обзор публикаций по данной проблеме
В предыдущем разделе были сформулированы ряд основных проблем систем дистанционного обучения и контроля, с точки зрения защиты. Эти или подобные проблемы возникают у всех, кто занимается созданием систем дистанционного обучением. Вопрос дистанционного обучения сейчас становится все более популярным. И практически все ВУЗы заняты созданием своих систем дистанционного обучения. В интернете имеется огромное количество информации по этим разработкам. Интересно, что, говоря о преимуществах той или иной системы, обычно как-то умалчивается о том, каким образом система защищена. Конечно, некоторые системы при проведении тестирования подразумевают видеоконференцию. Но это весьма дорогой метод и, естественно, он вряд ли в скором времени получит распространение.
В качестве подхода к решению некоторых проблем, можно привести пример системы, описанной в еженедельнике "Закон. Финансы. Налоги." в статье "Компьютер-экзаменатор" [13]:
"Ученые СГУ разработали новую тест-систему. Для контроля знаний студентов в Современном гуманитарном университете применяется оригинальная система тестирования, использующая печатные материалы.
Для повышения качества учебного процесса внедрена система с применением персонального компьютера преподавателя и индивидуальных электронных приборов тестирования. При ее использовании полностью исключается рутинная ручная проверка и проставление оценок методистом.
Система обеспечивает индивидуальное (а не групповое) тестирование в любое удобное студенту время и по любому предмету. У студентов нет возможность доступа к печатным ключам тестов и изменения оценки за тест. Кроме того, абсолютно исключается несанкционированное копирование и последующее использование ПО, обслуживающего систему тестирования.
В состав системы входят личные идентификаторы студентов и преподавателей, ПК, прибор тестирования и устройство ввода-вывода информации.
В качестве личных идентификаторов используются бесконтактные пластиковые электронные карты, вырабатывающие уникальный код. Прибор тестирования, который раздается каждому студенту, обеспечивает контроль времени, а также прием и передачу данных от компьютера и обратно по оптическому каналу. Устройство ввода-вывода информации в прибор тестирования, подключаемое к ПК, преобразует данные, поступающие от компьютера, в оптические сигналы, передаваемые в прибор тестирования. Одно устройство ввода-вывода информации может поддерживать работу любого числа приборов тестирования.
Работа электронной системы происходит по следующему сценарию. Системе предъявляется личный идентификатор (пластиковая карточка с кодом) методиста, который будет проводить тестирование. Далее системе предъявляется ЛИ студента. Система производит поиск в базе данных и вывод на экран монитора данные о студенте (ФИО, номер контракта и номер группы). Методист выбирает тест, на который будет отвечать студент. Данные можно ввести как с клавиатуры, так и проведя сканером по штрих-коду, нанесенному на каждый вариант теста. Студенту выдаются прибор тестирования и лист с вопросами. Время, выделенное для ответа на тест, контролируется в приборе тестирования и в компьютере. Студент, нажав клавишу на приборе тестирования, видит оставшееся у него время. За 5 мин. до конца тестирования прибор предупреждает студента звуковым и текстовым сообщениями. По окончании тестирования студент возвращает прибор методисту. Производится активация устройства ввода-вывода и прием собранных данных из прибора в компьютер.
Далее система сравнивает ответы студента с эталонными и выставляет оценку, которую затем заносит в итоговую зачетную ведомость. Каждую оценку система подписывает своей электронной подписью. Электронная подпись в последующем автоматически проверяется, и любое несанкционированное изменение данных в зачетной ведомости будет исключено.
Аналогов такой системы в настоящее время не существует. СГУ готов всем заинтересовавшимся данной уникальной системой оказать всестороннее содействие и консультации."
Применить подобные методы на практике затруднительно. Причина очевидна - это слишком высокая цена построения системы с использованием таких аппаратных средств, да и это не совсем то решения проблем дистанционного тестирования.
Решение многих из перечисленных проблем может лежать в построении системы по принципу клиент/сервер, с использованием сетей Intranet/Internet. Но это противоречит возможности использования таких программ в локальном режиме. А также это противоречит пункту, касающемуся адаптации уже существующих систем. А следовательно построение подобной модели рассматриваться не будет.
В некоторых докладах вполне честно отмечается, что существует масса нерешенных проблем. Примером может являться тезисы доклада О.С. Белокрылова в "Использование курса дистанционного обучения на экономическом факультете РГУ" [14]. В них отмечено, что проведенная работа дает различные положительные результаты применения интернет-технологии. Но далее отмечается, что новационный характер продукта обусловливает наличие некоторых недоработок и негативных сторон программы. Одной из них является: "слабая защита (студенты могут использовать чужой пароль и выполнять задание под чужим именем);".
О том же говорит С. В. Алешин, рассматривая принципы построения оболочки информационно-образовательной среды «Chopin», имеющей структуру, показанную на рисунке 1 [15].
Рисунок 1. Структура оболочки «Chopin»
Он отмечает:
"Готовые тесты хранятся в файловой системе данных (ФСД) в виде текстовых файлов Windows с расширением “tst”. Подобный формат очень удобен при практической эксплуатации системы. Система является прозрачной, логика ее работы может быть проконтролирована до самого нижнего уровня. Вместе с тем, подобная открытость создает ряд проблем в обеспечении ее безопасности. Система информационной безопасность основана на разграничении прав пользователей."
В статье "Проблема обратной связи при дистанционном обучении." А.Г. Оганесян отмечает, что система дистанционного образования должна иметь достаточные средства защиты от несанкционированного вмешательства и подмены реальных студентов их дублерами [16]. Далее говорится, что проблема идентификации студентов, кажется, вообще не имеет решения. Действительно, как уже отмечалось, пароли и иные атрибуты личной идентификации проблемы не решают, т.к. студент заинтересован заменить себя дублером и располагает неограниченными возможностями такой подмены. Техническое решение для ее обнаружения придумать пока не удалось. А вот организационные, похоже, есть. Выход может быть в создании постепенного контроля знаний с целью формирования трудностей для подмены проходящего тестирование дублером. Найти дублера на один экзамен намного проще, чем на весь период обучения.
В некоторых работах отмечается, что примененные системы защиты может иметь негативные стороны. В тезисах докладов Занимонец Ю.М. отмечает: "иногда чрезмерные меры защиты создавали проблемы при инсталляции и эксплуатации программного обеспечения" [17]. Следовательно, немаловажным моментом является хорошая продуманность системы защиты. В противном случае она может скорее навредить, чем принести пользу. Из этого вновь можно сделать выводы, что вопросы защиты (в области дистанционного образования) плохо проработаны.
Некоторые ученые рассматривают защиту в очень ограниченном аспекте. Н.Н. Сенцов и В.С. Солдаткин, описывая программный комплекс
тестового контроля знаний «Тест», говорят о следующем [18]:
"Каждая часть программного комплекса функционирует самостоятельно. В клиентской части нет возможности доступа к базе данных для ее изменения - это возможно из администраторской части при знании пароля доступа к базе данных. Для работы клиентской части необходима заполненная база данных тестовыми заданиями. Это должно быть заведомо сделано из части администратора."
Таким образом, существует защита от модификации, но нет защиты от просмотра. Так же, вполне очевидно, отсутствует и защита отчетов о результатах тестирования
В некоторых статьях эта проблема не рассматривается. Весьма интересная система, описанная в статье "Автоматизированная система разработки электронных учебников." А.А. Мицель, очевидно вообще не защищена [19]. Все это говорит о том, что эти проблемы весьма важные, но в этой области мало наработок.
Аналогично, Д.А. Жолобов, говоря о создании генератора мультимедийных учебников, отмечает, что программа должна обладать возможностью защиты данных учебника от несанкционированного доступа [20]. Но ничего не говорится о том, как реализована защита в этой системе.
Р.И. Вергазов и П.А.Гудков, описывая систему автоматизированного дистанционного тестирования, отмечают, что в сетевом варианте можно построить весьма надежную систему [21]. Существует вариант для работы системы и в локальном режиме. Но не упоминается, существуют ли защита при использовании этой системы в данном режиме.
Теперь обратимся к списку проблем, приведенному в предыдущем разделе. Проведем обзор исследований по данным вопросам в различных работах.
1. Отсутствие возможности определить, прошел ли студент тестирование самостоятельно. Для этой задачи он вполне мог использовать другого человека (например, более подготовленного студента).
Это, пожалуй, самая сложная задача. Невозможно помешать студенту пойти к другу и попросить выполнить определенную лабораторную работу, пройти тестирование. Без применения специальной аппаратуры это практически нереально. Но, естественно, применение аппаратных средств невозможно в силу хотя бы своей цены. Следовательно, такой вариант рассматриваться не будет. По крайней мере он не реален да данном этапе состояния образования в нашей стране.
Проблема того, что студент может пойти к товарищу, а не выполнять лабораторную работу дома, практически является проблемой установки нескольких копий комплекса "виртуальная лаборатория". А следовательно, эта проблема будет обсуждена в пункте № 2.
Вот что пишет П.С. Ложников по вопросу распознавание пользователей в системах дистанционного образования [22]:
"Сегодня остро стоит вопрос о качестве знаний, полученных с использованием технологии дистанционного образования. При очной форме обучения большинство преподавателей ведут учет посещаемости студентов. С переходом на дистанционное образование (ДО) аудитория обучаемых увеличилась в несколько раз, и учитывать посещаемость студентов проблематично. ДО предъявляет определенные требования к психологическим особенностям обучаемого. Во-первых, у него должна быть высокая устойчивая мотивация к получению образования. Во-вторых, студент достаточно четко должен представлять желаемый результат обучения. И, в-третьих, он должен понимать, что несет ответственность за знания, полученные с помощью СДО. Говорить о том, что сегодня идут на дистанционную форму обучения люди с такими психологическими данными нельзя. Большинство людей в России учится за сам факт получения диплома. И у многих утверждение о том, что ДО обеспечивает человеку свободный график обучения, ассоциируется со свободным посещением сервера СДО. В связи с этим, существует вероятность того, что при тестировании студент может посадить за компьютер вместо себя более осведомленного в предмете человека. Навигационная система ДО должна проверять, находится ли за удаленным компьютером именно тот обучаемый, за которого он себя выдает, то есть, произвести распознавание пользователя.
Каким образом сегодня решается эта проблема? Каждый поступающий на обучение в СДО человек получает свое входное имя и пароль для входа на сервер с учебными материалами. При обращении обучаемого к серверу о нем можно собирать информацию, полезную для преподавателя:
· перечень страниц, посещенных пользователем за сеанс работы;
· время, проведенное на каждой странице;
· активированные гиперссылки на данной странице;
· перечень файлов, которые были скопированы пользователем с учебного сервера;
· время тестирования;
· и др.
При необходимости администратор сервера СДО может с помощью собираемой информации восстановить любой сценарий сеанса работы какого-либо обучаемого.
Но вся собранная таким образом информация является косвенной. То есть, если в систему вошел человек по входному имени и паролю своего коллеги с целью отметиться и принять участие в тестировании, то его невозможно разоблачить. Другими словами, нужны прямые доказательства того, что данный сеанс обучения провел действительно тот пользователь, с чьим именем сопоставлены входное имя и пароль."
Далее в статье идет речь о распознавании пользователей с применением дополнительного аппаратного обеспечения. Предлагается использовать такие биометрические характеристики человека, как отпечаток пальца, геометрия руки, радужная оболочка глаза, сетчатка глаза, голос, геометрия лица, что для нас не представляет интереса.
Более интересным является направление, обозначенное в статье как распознавание пользователей с использованием дополнительного программного обеспечения. Развитие исследования данного вопроса мы можем найти в пособии "Как защитить информацию" (глава "Идентификация пользователя: СВОЙ - ЧУЖОЙ?") [23]. Вот основные идеи, излагаемые в этом руководстве:
"Почерк уникален, это знают все. Но немногие догадываются, что в общении с компьютером индивидуальность пользователя проявляется также: скорость, привычка использовать основную или дополнительную часть клавиатуры, характер «сдвоенных» и «строенных» нажатий клавиш, излюбленные приемы управления компьютером..., с помощью которых можно выделить конкретного человека среди всех работавших на данной машине. И ничего удивительного, - это сродни способности меломанов различать на слух пианистов, исполняющих одно произведение. Как же выявить индивидуальные особенности клавиатурного почерка? Также, как и при графологической экспертизе: нужны эталонный и исследуемый образцы текста. Лучше, если их содержание будет одинаковым (так называемая, парольная или ключевая фраза). Разумеется, по двум-трем, даже по десяти нажатым клавишам отличить пользователя невозможно, нужна статистика.
При наборе ключевой фразы компьютер позволяет зафиксировать много различных параметров, но для идентификации наиболее удобно использовать время, затраченное на ввод отдельных букв. А повторив ввод фразы несколько раз, в результате будем иметь множество временных интервалов для каждого символа. На базе полученных значений всегда можно рассчитать среднее время ввода каждого символа, допустимое отклонение от среднего, и хранить эти результате в качестве эталонов для каждого пользователя.
Уникальные особенности клавиатурного почерка выявляются двумя методами: по набору ключевой фразы или по «свободному» тексту. Каждый обязательно имеет режимы настройки и идентификации. При настройке определяются и запоминаются эталонные характеристики ввода пользователем ключевых фраз, например, время, затраченное на отдельные буквы. А в режиме идентификации, после исключения грубых ошибок, эталонное и полученное множества сопоставляются (проверяется гипотеза о равенстве их центров распределения)."
Далее в руководстве излагаются соответствующие алгоритмы для настройки и организации идентификации системы, использующей анализ клавиатурного подчерка, движений мышки. Применительно к системам дистанционного обучения, использование подобного метода могло бы дать возможность выявления ситуации, когда за компьютер сядет другой человек. Хотя приведенные в статье методы интересны, но они достаточно ненадежны, а исследование в этом направлении потребует отдельной работы. Для обучения системы необходимо определенное время. В случае студента этого времени практически нет, да и при своей работе ему придется вводить совсем немного текстовых данных. Движения мышки в такой системе анализировать будет сложно.
2. Неизвестно, сколько раз студент предпринял попытку пройти тестирование. Студент имеет возможность устанавливать систему дистанционного обучения в нескольких экземплярах и/или копировать ее, тем самым сохраняя ее текущее состояние. Студент получает возможность неограниченного количества попыток прохождения тестирования и выбора из них попытки с наилучшим результатом.
Применение различных ухищрений при хранении информации о проделанной студентом работе. Решить эту проблему не просто. В любом случае невозможно узнать, что студент установил пакет программ дистанционного обучения на двух компьютерах, а затем использует один для тренировки и подбора правильных ответов, а второй уже для тестирования. При чем он может поступить проще и воспользоваться программой для создания множества виртуальных машин на одной физической. Такой программой, например, являетсяWMware [24]. Или может создать одну виртуальную машину и установить на ней программу, производящую тестирования. А затем, если результат прохождения тестирования его не будет устраивать, он сможет восстановить предыдущее состояние всей виртуальной системы, просто сделав откат. Это, например, позволяет произвести уже упомянутая ранее программа WMware. Т.е., фактически, используя такую программу, студент имеет возможность создавать "моментальный слепок" всего компьютера. Что позволяет ему необходимо вернуться к предыдущему состоянию.
Одним из методом решения данной проблемы может стать использование индивидуальной дискеты студента. Идея здесь та же, что и использовалась при защите программного обеспечения от несанкционированного копирования. Сейчас для этих целей все чаше используется технология электронных ключей (Hasp и т.д.). Смысл в том, что дискета форматируется, а затем используется особым образом. Т.е. работать с такой дискетой может только специальный набор программ. Стандартными методами такую дискету нельзя ни скопировать, ни просмотреть информацию на ней, так как она хранится в особом формате. Работать с такой дискетой могут только программы, входящие в состав системы дистанционного обучения. Без ключевой дискеты система работать не будет. На этой дискете можно отмечать количество попыток тестирование и т.д., тем самым решая рассматриваемую проблему.
Но эта технология не является решением проблемы. Посмотрим, что, например, говорится в электронном пособии по борьбе с хакерами о некоторых таких системах [23]:
"Система JAWS.
Ключевая информация в системе располагается на дорожке 0 инженерного цилиндра с номером 42. Автор системы защиты от копирования JAWS утверждает, что созданные дискеты не копируются программой COPYWRIT. Это утверждение не соответствует действительности. Дискета копируется программой COPYWRIT, если указать максимальный номер копируемого цилиндра, равным 42.
Система НОТА.
Авторы этой системы также решили расположить информацию о защите в области инженерных цилиндров. В отличие от системы JAWS они решили использовать дорожку 0 цилиндра 41. Однако программа COPYWRIT также успешно копируют эту дискету.
Система SHIELD
Авторы системы SHIELD не пошли проторенным путем использования инженерного цилиндра и нарушения CHRN. Они использовали свободное пространство на дорожке 0 цилиндров 0, 1 и 2 для размещения ключевой информации. Дискета не копируется напрямую программой COPYWRIT. Однако после копирования программой COPYWRIT достаточно обработать данные программой DISK EXPLORER и Вы имеете работоспособную копию.
Система BOARD.
На дискете применяется метод форматирования с длиной 1. Также применяется метод увеличения длины последнего сектора, для запутывания программ COPYIIPC и COPYWRIT. Применяемый формат имеет следующие характеристики. Формат одинаков для цилиндров 0 и 41. Выполняется форматирование на 11 секторов с N=1, GAP=255 и символом заполнителем формата “X”. Первые 9 секторов имеют стандартные R от 1 до 9 и N=2. Предпоследний CHRN имеет R=11 и N=6. У последнего сектора поля CHRN соответственно равны 123, 17, 249 и 7. Полученный формат при работе с секторами от 1 до 9 имеет “отрицательный” GAP3, так как форматирование выполняется с кодом длины 1, а операции с секторами выполняются с кодом длины 2. При этом CRC сектора залезает на SYNC адресного маркера идентификатора следующего сектора. В первом секторе цилиндра 41 записывается ключевая информация, а сектора 2, 3, ... , 9 заполняются символами F6h, что должно маскировать их под обычный формат. Вместе с тем, авторы проверяют из всего объема ключевой информации только информацию из первого сектора на цилиндре 41. Поэтому при копировании достаточно завести обычный сектор с номером 1 на 41 цилиндре и переписать туда ключевую информацию. Авторы не использовали дополнительных возможностей контроля ключевой информации. Анализ данных при чтении предпоследнего сектора на ключевых дорожках позволяет контролировать размер GAP3 и символ заполнитель, использованные при форматировании, а также CHRN последнего сектора на дорожке и длину дорожки. "
Описание многих других систем здесь опушено, так как в целом они схожи с уже описанными. Как видно, использование данного подхода не решает проблему. Достаточно легко воспользоваться специализированными программами копирования или создать свой аналог. Отсюда можно сделать вывод, что разработка системы с использованием ключевой дискеты не рациональна. Подобный подход также повлечет массу сложностей. Например, не ясно, что делать в случае утери или порчи дискеты. Но, по всей видимости, в этом случае студенту придется проходить тестирование еще один раз, что явно неприемлемо.
Можно сделать вывод, что без использования специальных аппаратных средств, данная проблема также не имеет достаточно удовлетворительного решения. Но к ее решению можно постараться приблизиться, используя специфические методы хранения состояния (например в реестре и т.п.) и тем самым усложняя процесс махинации. Но в общем случае это опять не даст результата, если студент воспользуется виртуальной машиной, созданной, например, программой WMware.
3. Существует возможность создания универсального редактора файлов результатов тестирования. Он может использоваться студентом для корректировки оценок выставленных программой тестирования.
Здесь можно было воспользоваться идеей ключевой дискеты для сохранения результата. Тем самым модификация результата стала бы весьма затруднительной. Но этот метод имеет одно ограничение, которое делает его практически непригодным. Это необходимость использования для передачи результата дискеты. Т.е. вместо того, чтобы просто отослать результат по сети, придется доставлять его на дискете.
Но есть другой метод. Это использование шифрования с открытым ключом. Для краткого ознакомления с шифрованием с использования открытого ключа обратиться к книге Баpичева Сеpгея "Kpиптогpафия без секретов" [25]:
"Как бы ни были сложны и надежны криптографические системы - их слабое место при практической реализации - проблема распределения ключей. Для того, чтобы был возможен обмен конфиденциальной информацией между двумя субъектами ИС, ключ должен быть сгенерирован одним из них, а затем каким-то образом опять же в конфиденциальном порядке передан другому. Т.е. в общем случае для передачи ключа опять же требуется использование какой-то криптосистемы.
Для решения этой проблемы на основе результатов, полученных классической и современной алгеброй, были предложены системы с открытым ключом.
Суть их состоит в том, что каждым адресатом ИС генерируются два ключа, связанные между собой по определенному правилу. Один ключ объявляется открытым, а другой закрытым. открытый ключ публикуется и доступен любому, кто желает послать сообщение адресату. секретный ключ сохраняется в тайне.
Исходный текст шифруется открытым ключом адресата и передается ему. зашифрованный текст в принципе не может быть расшифрован тем же открытым ключом. Дешифpование сообщение возможно только с использованием закрытого ключа, который известен только самому адресату.
криптографические системы с открытым ключом используют так называемые необратимые или односторонние функции, которые обладают следующим свойством: при заданном значении x относительно просто вычислить значение f(x), однако если y=f(x), то нет простого пути для вычисления значения x.
Множество классов необратимых функций и порождает все разнообразие систем с открытым ключом. Но не всякая необратимая функция годится для использования в реальных ИС.
В самом определении необратимости присутствует неопределенность. Под необратимостью понимается не теоретическая необратимость, а практическая невозможность вычислить обратное значение, используя современные вычислительные средства за обозримый интервал времени.
Поэтому чтобы гарантировать надежную защиту информации, к системам с открытым ключом (СОК) предъявляются два важных и очевидных требования:
1. преобразование исходного текста должно быть необратимым и исключать его восстановление на основе открытого ключа.
2. определение закрытого ключа на основе открытого также должно быть невозможным на современном технологическом уровне. при этом желательна точная нижняя оценка сложности (количества операций) раскрытия шифра.
Алгоритмы шифрования с открытым ключом получили широкое распространение в современных информационных системах. Так, алгоритм RSA стал мировым стандартом де-факто для отк ...........
Страницы: [1] | 2 | 3 | 4 | 5 |
|