Создание защиты для программных пакетов, на примере системы дистанционного обучения

Автор: Пользователь скрыл имя, 19 Февраля 2013 в 10:27, практическая работа

Описание работы

Выполнен сравнительный анализ существующих подходов к организации защиты данных в системах с монопольным доступом, на примере автоматизированных систем дистанционного обучения. Отмечено, что существует много защищенных обучающие систем, функционирующих в среде интернет, но практически отсутствуют защищенные пакеты для локального использования. Это обусловлено плохо проработанными и еще не достаточно хорошо изученными методами построения защищенных систем.

Содержание

ВВЕДЕНИЕ
ГЛАВА 1. СОЗДАНИЕ ЗАЩИТЫ ДЛЯ ПРОГРАММНЫХ ПАКЕТОВ, НА ПРИМЕРЕ СИСТЕМЫ ДИСТАНЦИОННОГО ОБУЧЕНИЯ
1.1. Вопросы защиты информации, стоящие перед автоматизированными системами дистанционного обучения
1.2. Обзор публикаций по данной проблеме
1.3. Задачи поставленные перед создаваемой системой защиты
1.4. Выбор класса требований к системе защиты
1.5. Выводы
ГЛАВА 2. СОЗДАНИЯ СИСТЕМЫ ЗАЩИТЫ ИНФОРМАЦИИ
2.1. Выбор объектов для защиты
2.2. Шифрование данных
2.3. Функциональность системы защиты
ЗАКЛЮЧЕНИЕ
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

Работа содержит 1 файл

Отчет.doc

— 241.50 Кб (Скачать)

В некоторых работах отмечается, что примененные системы защиты может иметь негативные стороны. В тезисах докладов Занимонец  Ю.М. отмечает: "иногда чрезмерные меры защиты создавали проблемы при инсталляции и эксплуатации программного обеспечения" [5]. Следовательно, немаловажным моментом является хорошая продуманность системы защиты. В противном случае она может скорее навредить, чем принести пользу. Из этого вновь можно сделать выводы, что вопросы защиты (в области дистанционного образования) плохо проработаны.

Некоторые ученые рассматривают защиту в очень ограниченном аспекте. Н.Н. Сенцов и В.С. Солдаткин, описывая программный  комплекс 
тестового контроля знаний «Тест», говорят о следующем [6]:

"Каждая часть программного  комплекса функционирует самостоятельно. В клиентской части нет возможности  доступа к базе данных для  ее изменения – это возможно  из администраторской части при  знании пароля доступа к базе  данных. Для работы клиентской части необходима заполненная база данных тестовыми заданиями. Это должно быть заведомо сделано из части администратора."

Таким образом, существует защита от модификации, но нет защиты от просмотра. Так же, вполне очевидно, отсутствует  и защита отчетов о результатах тестирования

Теперь обратимся к списку проблем, приведенному в предыдущем разделе. Проведем обзор исследований по данным вопросам в различных работах.

1. Отсутствие возможности определить, прошел ли студент тестирование  самостоятельно. Для этой задачи он вполне мог использовать другого человека (например, более подготовленного студента).

Это, пожалуй, самая сложная задача. Невозможно помешать студенту пойти  к другу и попросить выполнить  определенную лабораторную работу, пройти тестирование. Без применения специальной аппаратуры это практически нереально. Но, естественно, применение аппаратных средств невозможно в силу хотя бы своей цены. Следовательно, такой вариант рассматриваться не будет. По крайней мере он не реален да данном этапе состояния образования в нашей стране.

Проблема того, что студент может  пойти к товарищу, а не выполнять  лабораторную работу дома, практически  является проблемой установки нескольких копий комплекса "виртуальная  лаборатория". А следовательно, эта  проблема будет обсуждена в пункте № 2.

Вот что пишет П.С. Ложников по вопросу  распознавание пользователей в  системах дистанционного образования [7]:

"Сегодня остро стоит вопрос  о качестве знаний, полученных  с использованием технологии  дистанционного образования. При очной форме обучения большинство преподавателей ведут учет посещаемости студентов. С переходом на дистанционное образование (ДО) аудитория обучаемых увеличилась в несколько раз, и учитывать посещаемость студентов проблематично. ДО предъявляет определенные требования к психологическим особенностям обучаемого. Во-первых, у него должна быть высокая устойчивая мотивация к получению образования. Во-вторых, студент достаточно четко должен представлять желаемый результат обучения. И, в-третьих, он должен понимать, что несет ответственность за знания, полученные с помощью СДО. Говорить о том, что сегодня идут на дистанционную форму обучения люди с такими психологическими данными нельзя. Большинство людей в Казахстане учится за сам факт получения диплома. И у многих утверждение о том, что ДО обеспечивает человеку свободный график обучения, ассоциируется со свободным посещением сервера СДО. В связи с этим, существует вероятность того, что при тестировании студент может посадить за компьютер вместо себя более осведомленного в предмете человека. Навигационная система ДО должна проверять, находится ли за удаленным компьютером именно тот обучаемый, за которого он себя выдает, то есть, произвести распознавание пользователя.

Каким образом сегодня решается эта проблема? Каждый поступающий на обучение в СДО человек получает свое входное имя и пароль для входа на сервер с учебными материалами. При обращении обучаемого к серверу о нем можно собирать информацию, полезную для преподавателя:

  • перечень страниц, посещенных пользователем за сеанс работы;
  • время, проведенное на каждой странице;
  • активированные гиперссылки на данной странице;
  • перечень файлов, которые были скопированы пользователем с учебного сервера;
  • время тестирования;
  • и др.

При необходимости администратор  сервера СДО может с помощью собираемой информации восстановить любой сценарий сеанса работы какого-либо обучаемого.

Но вся собранная таким образом  информация является косвенной. То есть, если в систему вошел человек  по входному имени и паролю своего коллеги с целью отметиться и принять участие в тестировании, то его невозможно разоблачить. Другими словами, нужны прямые доказательства того, что данный сеанс обучения провел действительно тот пользователь, с чьим именем сопоставлены входное имя и пароль."

Далее в статье идет речь о распознавании пользователей с применением дополнительного аппаратного обеспечения. Предлагается использовать такие биометрические характеристики человека, как отпечаток пальца, геометрия руки, радужная оболочка глаза, сетчатка глаза, голос, геометрия лица, что для нас не представляет интереса.

Более интересным является направление, обозначенное в статье как распознавание  пользователей с использованием дополнительного программного обеспечения. Развитие исследования данного вопроса  мы можем найти в пособии "Как защитить информацию" (глава "Идентификация пользователя: СВОЙ - ЧУЖОЙ?") [8]. Вот основные идеи, излагаемые в этом руководстве:

"Почерк уникален, это знают  все. Но немногие догадываются, что в общении с компьютером  индивидуальность пользователя проявляется также: скорость, привычка использовать основную или дополнительную часть клавиатуры, характер «сдвоенных» и «строенных» нажатий клавиш, излюбленные приемы управления компьютером..., с помощью которых можно выделить конкретного человека среди всех работавших на данной машине. И ничего удивительного, - это сродни способности меломанов различать на слух пианистов, исполняющих одно произведение. Как же выявить индивидуальные особенности клавиатурного почерка? Также, как и при графологической экспертизе: нужны эталонный и исследуемый образцы текста. Лучше, если их содержание будет одинаковым (так называемая, парольная или ключевая фраза). Разумеется, по двум-трем, даже по десяти нажатым клавишам отличить пользователя невозможно, нужна статистика.

При наборе ключевой фразы компьютер  позволяет зафиксировать много  различных параметров, но для идентификации  наиболее удобно использовать время, затраченное  на ввод отдельных букв. А повторив ввод фразы несколько раз, в результате будем иметь множество временных интервалов для каждого символа. На базе полученных значений всегда можно рассчитать среднее время ввода каждого символа, допустимое отклонение от среднего, и хранить эти результате в качестве эталонов для каждого пользователя.

Уникальные особенности клавиатурного почерка выявляются двумя методами: по набору ключевой фразы или по «свободному» тексту. Каждый обязательно имеет режимы настройки и идентификации. При настройке определяются и запоминаются эталонные характеристики ввода пользователем ключевых фраз, например, время, затраченное на отдельные буквы. А в режиме идентификации, после исключения грубых ошибок, эталонное и полученное множества сопоставляются (проверяется гипотеза о равенстве их центров распределения)."

Далее в руководстве излагаются соответствующие алгоритмы для настройки и организации идентификации системы, использующей анализ клавиатурного подчерка, движений мышки. Применительно к системам дистанционного обучения, использование подобного метода могло бы дать возможность выявления ситуации, когда за компьютер сядет другой человек. Хотя приведенные в статье методы интересны, но они достаточно ненадежны, а исследование в этом направлении потребует отдельной работы. Для обучения системы необходимо определенное время. В случае студента этого времени практически нет, да и при своей работе ему придется вводить совсем немного текстовых данных. Движения мышки в такой системе анализировать будет сложно.

2. Неизвестно, сколько раз студент  предпринял попытку пройти тестирование. Студент имеет возможность устанавливать систему дистанционного обучения в нескольких экземплярах и/или копировать ее, тем самым сохраняя ее текущее состояние. Студент получает возможность неограниченного количества попыток прохождения тестирования и выбора из них попытки с наилучшим результатом.

Применение различных ухищрений  при хранении информации о проделанной  студентом работе. Решить эту проблему не просто. В любом случае невозможно узнать, что студент установил  пакет программ дистанционного обучения на двух компьютерах, а затем использует один для тренировки и подбора правильных ответов, а второй уже для тестирования. При чем он может поступить проще и воспользоваться программой для создания множества виртуальных машин на одной физической. Такой программой, например, является WMware [24]. Или может создать одну виртуальную машину и установить на ней программу, производящую тестирования. А затем, если результат прохождения тестирования его не будет устраивать, он сможет восстановить предыдущее состояние всей виртуальной системы, просто сделав откат. Это, например, позволяет произвести уже упомянутая ранее программа WMware. Т.е., фактически, используя такую программу, студент имеет возможность создавать "моментальный слепок" всего компьютера. Что позволяет ему необходимо вернуться к предыдущему состоянию.

Одним из методом решения данной проблемы может стать использование  индивидуальной флэшки студента. Идея здесь та же, что и использовалась при защите программного обеспечения от несанкционированного копирования. Сейчас для этих целей все чаше используется технология электронных ключей (Hasp и т.д.). Смысл в том, что флэшка форматируется, а затем используется особым образом. Т.е. работать с такой флэшкой может только специальный набор программ. Стандартными методами такую флэшку нельзя ни скопировать, ни просмотреть информацию на ней, так как она хранится в особом формате. Работать с такой флэшкой могут только программы, входящие в состав системы дистанционного обучения. Без ключевой флэшки система работать не будет. На этой флэшке можно отмечать количество попыток тестирование и т.д., тем самым решая рассматриваемую проблему.

Но эта технология не является решением проблемы. Посмотрим, что, например, говорится  в электронном пособии по борьбе с хакерами о некоторых таких системах [8]:

"Система 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афия без секретов" [9]:

"Как  бы ни были сложны и надежны  криптографические системы - их  слабое место при практической  реализации - проблема распределения  ключей. Для того, чтобы был возможен  обмен конфиденциальной информацией  между двумя субъектами ИС, ключ  должен быть сгенерирован одним из них, а затем каким-то образом опять же в конфиденциальном порядке передан другому. Т.е. в общем случае для передачи ключа опять же требуется использование какой-то криптосистемы.

Для решения этой проблемы на основе результатов, полученных классической и современной алгеброй, были предложены системы с открытым ключом.

Суть  их состоит в том, что каждым адресатом  ИС генерируются два ключа, связанные  между собой по определенному  правилу. Один ключ объявляется открытым, а другой закрытым. открытый ключ публикуется и доступен любому, кто желает послать сообщение адресату. секретный ключ сохраняется в тайне.

Информация о работе Создание защиты для программных пакетов, на примере системы дистанционного обучения