ИЗВЕСТИЯ
ПЕНЗЕНСКОГО ГОСУДАРСТВЕННОГО ПЕДАГОГИЧЕСКОГО УНИВЕРСИТЕТА имени В. Г. БЕЛИНСКОГО ФИЗИКО-МАТЕМАТИЧЕСКИЕ И ТЕХНИЧЕСКИЕ НАУКИ № 18 (22) 2010
IZVESTIA
PENZENSKOGO GOSUDARSTVENNOGO PEDAGOGICHESKOGO UNIVERSITETA imeni V. G. BELINSKOGO PHYSICAL, MATHEMATICAL AND TECHNICAL SCIENCES № 18 (22) 2010
УДК 004.056
УГРОЗЫ ИНФОРМАЦИОННОЙ БЕЗОПАСНОСТИ В СИСТЕМАХ КОМПЬЮТЕРНОГО ТЕСТИРОВАНИЯ
© М. Ю. ЛУПАНОВ*, В. А. МАЛИ**
* Пензенский государственный университет, кафедра информационной безопасности систем и технологий e-mail: [email protected] **Пензенский государственный педагогический университет им. В. Г. Белинского, кафедра прикладной математики и информатики e-mail: [email protected]
Лупанов М. Ю., Мали В. А. - Угрозы информационной безопасности в системах компьютерного тестирования // Известия ПГПУ им. В.Г. Белинского. 2010. № 18 (22). С. 174-176. - Рассмотрены вопросы обеспечения информационной безопасности при проведении компьютерных тестов. Выявлены источники угроз и рассмотрены меры их нейтрализации. Приведен анализ влияния архитектуры информационной системы тестирования на наличие уязвимостей.
Ключевые слова: компьютерное тестирование, уязвимость, информационная безопасность.
Lupanov M.U., Mali V.A. - Threats to information security in systems of computer-based testing // Izv. Penz. gos. pedagog. univ. im.i V.G. Belinskogo. 2010. № 18 (22). P. 174-176. - In article investigated the issues of information security during the computer testing. We have identified the sources of threats and considered measures to neutralize them. The authors cited an analysis of the influence of architecture information system testing for vulnerabilities.
Keywords: computer testing, vulnerability, information security.
АНАЛИЗ ЦЕЛЕЙ НАРУШИТЕЛЕМ И ВЫЯВЛЕНИЕ УГРОЗ ИНФОРМАЦИОННОЙ БЕЗОПАСНОСТИ
В настоящее время для оперативной оценки знаний учащихся широко применяются компьютерные тесты. Однако, при разработке информационных систем тестирования, основное внимание уделяется таким аспектам, как широкое представление типов используемых вопросов, удобный графический интерфейс, способы хранения тестов и ответов на них [1, 2]. И, зачастую, вопросы информационной безопасности не рассматриваются вовсе или рассматриваются вскользь и непрофессионально. Тем не менее, именно нарушения информационной безопасности могут скомпрометировать как отдельные результаты тестирования, так и всю систему в целом.
В общем случае, в информационной системе тестирования есть два типа пользователей, назовем их условно «ученик» и «учитель». «Учитель» выполняет следующие действия: составление вопросов, формирование тестов, проведение тестирования, контроль и обработка результатов. «Ученик» выполняет только одно действие - участие в тестировании, заключающееся в ответах на поставленные вопросы. Цель «учителя» - получить объективную оценку знаний «учени-
ка». Цель «ученика» - получить максимально возможную оценку за тест. Исходя из этой цели, можно предположить, что «ученик» может выполнить попытку нарушения информационной безопасности системы тестирования для повышения своей оценки. С другой стороны, «ученик» может добиваться срыва процесса тестирования, в расчете на то, что тестирование будет перенесено на более приемлемое для него время, или будет заменено другой формой контроля. Следовательно, при разработке модели нарушителя следует рассматривать как внешнего нарушителя, так и внутреннего. В качестве внутреннего нарушителя следует рассматривать пользователя, выполняющего в системе роль «ученика». Конечной целью нарушителя в такой системе будет либо повышение оценки, либо нарушение доступности к системе тестирования. Повышения оценки можно добиться следующими способами:
- наблюдение за тестированием и составление шаблона правильных ответов;
- несанкционированный доступ (НСД) к базе вопросов и кража шаблона правильных ответов;
- НСД к базе результатов и исправление результата тестирования;
- замена одного «ученика» другим при тестировании;
ИНФОРМАТИКА ►►►►►
- использование «подсказок», вспомогательных материалов и программных продуктов при тестировании.
Кроме того, следующие действия могут привести к срыву тестирования или потери его результатов:
- НСД к базе вопросов с целью ее уничтожения или модификации;
- НСД к базе ответов с целью ее уничтожения или модификации.
Таким образом, можно выделить три основных угрозы информационной безопасности в системах тестирования:
1. Компрометация шаблона ответов за счет наблюдения за тестом;
2. Замена одного «ученика» на другого и использование «подсказок»;
3. НСД к базе вопросов и ответов.
АНАЛИЗ УГРОЗ БЕЗОПАСНОСТИ, ПОРОЖДАЕМЫХ АРХИТЕКТУРОЙ СИСТЕМЫ
Первая угроза может быть частично нейтрализована введением механизмов рандомизации при отображении вопросов и ответов. Например, вывод вопросов в случайном порядке, выбор случайного подмножества вопросов из общего множества в каждом конкретном случае, изменение случайным образом порядка следования вариантов ответов. Полностью нейтрализовать данную угрозу невозможно, так как она порождается самим принципом тестирования выбором правильных ответов из множества предложенных. Так как механизм рандомизации наиболее эффективен в тех случаях, когда исходное множество достаточно велико, то нейтрализация данной угрозы должна выполнятся как программными средствами, предусматривающими наличие механизма рандомизации в информационной системе тестирования, так и организационными, обеспечивающими большое исходное множество вопросов для более эффективной рандомизации.
Вторая угроза связана с аутентификацией «ученика» и контролем операционной среды во время тестирования. Как правило, эта угроза может быть нейтрализована, если тестирование проводится в контролируемом помещении и аутентификация «учеников» проводится преподавателем визуально. При дистанционном тестировании данная угроза представляет серьезную проблему и, как правило, нейтрализовать ее практически невозможно. При этом нейтрализация данной угрозы осуществляется в основном организационными мерами.
Наличие угроз третьего типа закладывается уже на этапе проектирования информационной системы тестирования и зависит от выбранной архитектуры. При проектировании тестовой системы могут быть использованы два варианта архитектуры: монолитная и клиент-серверная. Клиент-серверная архитектура может в свою очередь использовать «толстого» клиента и системой управления базами данных (СУБД) на серверной стороне, или «тонкого» клиента, а на серверной стороне - промежуточное программное обеспечение и СУБД. Под термином СУБД в данном контексте по-
нимаются не только классические СУБД, например реляционного или иерархического типа, но и любое программное обеспечение (ПО), осуществляющее операции обработки информации: запись, хранение, поиск, удаление и работающее со структурированными данными различного формата, например XML.
Монолитные тестовые системы как правило хранят данные на той же локальной системе, на которой выполняются сами. Кроме неудобств управления, такая архитектура также делает очень простым реализацию НСД к базам данных системы тестирования. Например, в операционных системах семейства Windows приложение получает от операционной системы те же права доступа, что и запускающий его пользователь. Это позволяет пользователю получить доступ к критическим информационным ресурсам системы тестирования в обход ПО системы тестирования.
При размещении информационных ресурсов таких систем не на локальном компьютере, а на сетевом ресурсе возникают проблемы блокировок совместно используемых файлов. При этом проблема возможного доступа пользователя к информационным ресурсам напрямую, минуя систему тестирования, остается.
Таким образом, системы тестирования с монолитной архитектурой имеют уязвимость, обусловленную архитектурой и позволяющую осуществлять НСД к базе вопросов и результатов. Нейтрализовать данную уязвимость невозможно.
В клиент-серверных системах с «толстым» клиентом как правило вся обработка данных и формирование «экранных форм» производится на клиентской стороне. На серверной стороне находится только СУБД с возможностью удаленного доступа. Недостатком таких систем является то, что аутентификационные данные (идентификатор и пароль), предъявляемые СУБД, находятся в коде программы-клиента и не могут меняться. Таким образом, анализ кода программы-клиента может дать злоумышленнику реквизиты доступа к базе данных. Сменить же скомпрометированные реквизиты доступа без повторной компиляции программы-клиента зачастую невозможно. Таким образом, данная архитектура также оказывается уязвимой, и при проектировании систем тестирования от нее следует отказаться.
Архитектура с тонким клиентом, как правило, использует в качестве клиента стандартный веб-браузер. На серверной стороне используется веб-сервер и промежуточное программное обеспечение, например CGI-программы, сервлеты или PHP-программы. Промежуточное ПО осуществляет динамическое формирование веб-страниц для клиента на основе данных, содержащихся в базе. Если данные управляются стандартной СУБД, то взаимодействие между промежуточным ПО и СУБД осуществляется с помощью ^QL-запросов. Реквизиты доступа к СУБД могут хранится как в коде программы, так и в конфигурационных файлах на серверной стороне. Во втором случае появляется возможность их смены в ходе эксплуатации. Кроме того, при неправильном проектировании промежуточного ПО и
ИЗВЕСТИЯ ПГПУ
Физико-математические и технические науки •
№ 18 (22) 2010 г.
использовании языка SQL, возможны так называемые SQL-инъекции.
Для обеспечения защиты от НСД во-первых, доступ к СУБД должен быть возможен только со стороны промежуточного ПО, и, во-вторых, должен быть закрыт или надежно ограничен доступ к серверу, на котором функционирует промежуточное ПО и, в-третьих, при проектировании промежуточного ПО должны быть предусмотрены меры против реализации SQL-инъекций.
ВЫВОДЫ
Таким образом, при выборе готовых систем тестирования следует ориентироваться на клиент-серверные решения с тонким клиентом, при этом проверять их на уязвимость SQL-инъекциям.
При проектировании новых систем надо выбирать клиент-серверную архитектуру с тонким клиентом. При этом можно отказаться от использования СУБД из-за риска ^О^-инъекций и возложить на промежуточное ПО функции обработки данных.
СПИСОК ЛИТЕРАТУРЫ
1. Норенков И.П., Зимин А.М. Информационные технологии в образовании. М.: Изд-во МГТУ им. Н.Э. Баумана, 2004.
2. Напрасник С.В., Цимбалюк Е.С., Шкиль А.С. Компьютерная система тестирования знаний OpenTEST 2.0 // Сборник научных трудов 10-й международной конференции УАДО Образование и виртуальность-2006. Харьков: ХНУРЭ, 2006. С. 454-461.