Защита информации в системах дистанционного обучения с монопольным доступом
Категория реферата: Рефераты по информатике, программированию
Теги реферата: гражданское право реферат, реферат на тему человек
Добавил(а) на сайт: Popyrin.
Предыдущая страница реферата | 1 2 3 4 5 6 7 8 9 10 11 | Следующая страница реферата
Немаловажным фактором является то, что существующие на данный момент
различные системы автоматизации процесса обучения написаны на разных
языках. Это Visual C++, Delphi и Visual Basic и другие языки.
Следовательно, для взаимодействия с ними нужно удобный и, главное, поддерживаемый всеми этими языками механизм взаимодействия. Можно
использовать такие средства, как именованные каналы, сокеты. Но
использование таких механизмов хотя и стандартно в ОС Windows, но их
использование совсем не простое. Надо иметь определенные знания по данному
вопросу.
В последнее время широкое применение нашла технология COM. Многие
АСДО, разработанные с ее использованием или с использованием таких ее
разновидностей, как OLE и ActiveX. Для примера приведем слова Романенко
В.В., описывающего создание автоматизированной системы разработки
электронных учебников [29]:
"В системе будут использованы многие современные технологии программирования, в частности, COM, то есть система будет иметь модульную структуру, связанную интерфейсами COM. Это сделает систему гибкой, легко модифицируемой. По таким принципам создаются все современные офисные приложения."
Можно сделать вывод, что взаимодействие модуля защиты с использованием
технологии COM очень гибко и широко используется для построения модульных
программ. Это очень важно, так как необходимо именно легкое интегрирование
в уже существующие системы.
1.3. Задачи поставленные перед системой защиты
Ранее были перечислены основные проблемы, связанные с организацией защиты в системах дистанционного обучения и контроля знаний. Был проведен обзор публикаций по данным вопросам. Попытаемся теперь отделить те задачи, решение которых лежит вне сферы возможности программных средств и решение которых относятся к административным средствам контроля. Для остальных задач попробуем предложить методы их решения и включить поддержку их решений в функциональность разрабатываемой системы защиты.
К сожалению, первые две проблемы лежат вне сферы возможности
программных средств без применения дополнительного аппаратного обеспечения.
Напомним их.
1. Отсутствие возможности достоверно определить, прошел ли студент тестирование самостоятельно. Для этой задачи он вполне мог использовать другого человека (например, более подготовленного студента).
Естественным решением данной проблемы может служить только правильное построение курса. Процесс контроля знаний следует строить так, чтобы усложнить процесс подмены дублером. Найти дублера на один тест намного проще, чем на весь период обучения. Таким образом, мы вынуждены исключить этот вопрос из списка задач, решение которых должен предоставить разрабатываемый модуль защиты.
2. Неизвестно, сколько раз студент предпринял попытку пройти тестирование. Студент имеет возможность устанавливать систему дистанционного обучения в нескольких экземплярах и/или копировать ее, тем самым сохраняя ее текущее состояние. Так студент получает возможность неограниченного количества попыток прохождения тестирования.
Эта задача в чем-то аналогична предыдущей и также, к сожалению, не имеет программного решения. Решением этой проблемы скорее будет являться правильное построение системы дистанционного обучения. Например, при тестировании целесообразно предложить достаточно большое количество вопросов, наиболее оптимальным выходом является их автоматическая генерация. Это исключило бы возможность просмотра всех вопросов и пробы разных вариантов ответов. Примером такой системы может служить система генерации задач по физике, составляемых по определенным правилам, используя в качестве значений, предложенных для решения, случайные числа.
3. Существует возможность создания универсального редактора файлов результатов тестирования. Он может использоваться студентом для корректировки оценок выставленных программой тестирования.
Здесь на помощь может прийти применение механизма открытых ключей.
Именно такой механизм необходимо будет реализовать в системе защиты.
Отметим, что будет использоваться шифрование с использованием открытого
ключа не в классическом понимании. Метод будет состоять в генерации
полиморфных алгоритмов шифрования/расшифрования. При этом одному алгоритму
шифрования будет соответствовать один алгоритм расшифровки. А воссоздание
алгоритма шифровки/расшифровки по имеющимся в наличии обратного алгоритма
слишком трудоемко. Модуль должен будет обеспечить построении сложного для
анализа полиморфного кода, что должно препятствовать построению обратного
алгоритма.
4. Существует возможность создания универсальной программы просмотра файлов с заданиями и ответами. Таким образом, студент имеет возможность узнать верные ответы на вопросы в тестах.
Решение данной проблемы представляется мне не в использовании стойких
криптоалгоритмов, а в способе хранения данных. Одно дело, если все данные
будут храниться в текстовом виде. Потом этот текстовый файл будет просто
подвергнут шифрованию. В этом случае, расшифровав эти данные с
использованием найденного ключа, злоумышленник получит все, что ему надо.
Совсем другое дело, если написать механизм чтения/записи данных, использующий записи различных типов. Допустим, мы сохраняем сначала блок с
названием работы, потом, сохраняем идентификатор картинки, затем данные
самой картинки, затем данные о правильном ответе, и т.д. И теперь знание
ключа расшифровки мало что дает, т.к. для еще надо знать формат сохраняемых
данных. А взломщик это может узнать только проведя глубокий анализ
внутренней работы ПО. А даже если кто и проведет, и будет знать формат
читаемых/сохраняемых данных, он должен будет создать программу, позволяющую
работать с ними. В силу того, что хранимые данные могут иметь весьма
сложный формат, то это маловероятно. Иначе придется повторить довольно
большую часть неизвестного программного кода.
Дополнительную сложность должен внести генератор алгоритмов шифрования/расшифрования. Путем хранения данных в пакетах, отдаваемых студенту, и зашифрованных различными алгоритмами, будет достигаться дополнительная сложность создания универсальной программы просмотра.
5. Возможность модификации программного кода системы тестирования, с целью изменения алгоритма выставления оценок или другого кода.
Как ни странно, подсказать решение могут такие программы, как вирусы.
Точнее, полиморфные вирусы. Полиморфной называется программа, каждый штамм
(копия) которой отличается от другого. Два экземпляра такой программы могут
не совпадать ни одной последовательностью байт, но при этом функционально
они являются копиями [30]. Вирусы используют полиморфные генераторы для
усложнения их обнаружения. Для нас полиморфный код интересен по другой
причине. В него очень сложно внести изменения. Точнее, внести исправление в
конкретный экземпляр приложения не представляется большой проблемой, а вот
применить этот метод модификации к другому экземпляру невозможно. Отсюда
следует высокая сложность написания универсального алгоритма, который бы
изменял полиморфную программу так, чтобы она начала функционировать как
этого хочет злоумышленник.
В результате возникает идея построения подсистемы по следующему описанию. Система представляет из себя файл, который хранится в зашифрованном виде. Программа-загрузчик расшифровывает его непосредственно в памяти и затем запускает. Каждый файл зашифрован своим методом, а следовательно, и простая модификация невозможна.
Возможно создание программы, взламывающей систему тестирования, базирующуюся на методах динамической модификации памяти программы или на создании и загрузки слепка данных в память. Но создание подобной программы уже само по себе весьма сложно и требует высокой квалификации.
6. Необходима возможность легкой адаптации уже существующих систем дистанционного обучения и тестирования. Это, в первую очередь, связанно с тем, что под эти системы уже существуют базы с лекциями, тестовыми заданиями и так далее.
Эта задача полностью лежит в сфере информационных технологий и имеет
достаточно простое решение. В ОС Windows существует механизм, который
позволит легко адаптировать уже существующие системы дистанционного
обучения и тестирования, причем, созданных на различных языках. Он обладает
широкой поддержкой средств разработки и библиотек. Это COM (Component
Object Model). COM - модель компонентных объектов Microsoft [31].
В частности, примером простоты работы с COM-модулями может служить
Visual Basic. В других средствах разработки программного обеспечения этому
механизму уделено много внимания. В Visual C++ существует мощная библиотека
ATL (Active Template Library) для разработки COM-модулей и взаимодействия с
ними. ATL - библиотека активных шаблонов, которая представляет собой
множество шаблонов языка C++, предназначенных для построения эффективных
СОМ-компонентов. Но главное преимущество в том, что для того чтобы
подключить модуль защиты, кроме самой DLL, понадобится только библиотека
типов (TLB файл). Библиотека типов предназначена для предоставления другим
приложениям и средам программирования информации о составных объектах, которые в ней содержатся.
1.4. Выбор класса требований к системе защиты
Занимаясь разработкой системы защиты, было бы логичным выбрать класс, к которому она будет принадлежать. Это важно в частности с точки зрения бедующего пользователя такой системы. Он должен иметь представление о ее свойствах, надежности и возможной сфере применения. Основополагающими документами в области информационной безопасности на данный момент являются:
. Оранжевая книга (TCSEC)
. Радужная серия
Рекомендуем скачать другие рефераты по теме: ответы 5 класс, реферат теория.
Предыдущая страница реферата | 1 2 3 4 5 6 7 8 9 10 11 | Следующая страница реферата