Диплом: Разработка программного обеспечения для повышения эффективности защиты веб-приложения от XSS-атак

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
52
Таблица 9 - Множество состояний навигатора
Field Summary
public TSiteNavigatorState
snsCancel
Операция отменена
public TSiteNavigatorState
snsComplete
Операция успешно завершена
public TSiteNavigatorState
snsError
Операция завершилась с ошибкой
public TSiteNavigatorState
snsExec
Операция выполняется
public TSiteNavigatorState
snsFree
Свободен
Класс «TSiteLogin»
Класс, реализующий механизм автоматической авторизации.
Класс «TSiteMapCreator»
Класс, реализующий построение карты сайта. Работает следующим
образом: Выполняется загрузка базового адреса, после загрузки страницы мы
выбираем все ссылки, которые имеются на странице и добавляем их в базу
данных. Базовый адрес также записывается в базу данных и для него
вычисляется ряд показателей (наличие форм ввода на странице, будет ли
использоваться данная страница в ходе проверок, и т.д.) После этого, мы
устанавливаем «флаг посещения» для базового адреса и выполняем данную
процедуру рекурсивно для каждой полученной ссылки хранящейся в БД в
статусе «еще не посещено».
Класс «TSiteReflectedXssFinder»
Класс, реализующий поиск отраженных уязвимостей. Поиск
уязвимостей реализуется следующим образом: Выполняется
последовательный перебор страниц сайта, у которых имеются GET-
параметры. Для URL-адреса текущей (выбранной) страницы выполняется
генерация вариантов встраивания XSS инъекций в URL-адрес (метод
«InjectXssInUrl»). После этого, результаты работы метода «InjectXssInUrl»
(т.к. результат работы метода представляет собой список ссылок)
53
помещаются в очередь «URLQueue», из которой они последовательно
извлекаются, и по ним выполняется переход. После загрузки страницы,
выполняется поиск XSS-сигнатур внутри страницы.
Класс «TSiteStoredXssFinder»
Класс, реализующий поиск хранимых уязвимостей. Внутри данного
класса реализуется механизм поиска уязвимостей в два этапа:
Встраивания XSS. Для встраивания выбираются только те страницы,
внутри которых имеются формы ввода данных. Когда «TSiteStoredXssFinder»
выполняет переход на страницу с формой, при первой загрузке, он загружает
список полей формы в специальную очередь «PageFieldsQueue» и заполняет
очередь XSS-сигнатур «XSSQueue». И пока в очереди «XSSQueue» имеются
элементы, последовательно извлекает поля из очереди «PageFieldsQueue» и
выполняет ввод данных в соответствующее поле и выполняет отправку
формы. Когда очередь «PageFieldsQueue» не содержит элементов, удаляется
первый элемент очереди «XSSQueue» и так продолжается до тех пор, пока
количество элементов в «XSSQueue» не станет равным нулю. После этого мы
переходим к следующей странице и операции встраивания повторяются.
Поиск XSS. Класс «TSiteStoredXssFinder» выполняет
последовательный обход всей карты сайта (т.к. внесенные данные могут
отображаться на множестве различных страницах сайта) и выполняется
поиск XSS-сигнатур в HTML-коде страницы. Также поиск выполняется
после каждой отправки формы на этапе встраивания (это связано с тем, что
обычно, на сайтах после сохранения данных выполняется редирект на
страницу просмотре внесенных данных).
3.3 Руководство по использованию прототипа
Настройка Windows
54
Необходимо зайти в «панель управления» - «свойства обозревателя» -
«безопасность» - «Другой …» после этого, найти параметр «включить
фильтр XSS» и установить его свойство в значение «отключить». Данную
операцию необходимо выполнить для каждой зоны.
Рисунок 8 Настройка Windows
Далее опишем основные моменты работы с программой.
Рисунок 9 – Главная форма программы
55
Для тестирования приложения использовался тестовый сайт (apache,
mysql, php, yii 2 framework), в котором были специально созданы
возможности для реализации XSS-атак.
Создаем задание (рисунок 10).
Рисунок 10 – Формирование задания
Рисунок 11 – Содержание задания
56
После запуска программы производится тестирование каждой
уязвимости на сайте, указанном в задании, после чего список уязвимостей
появляется на экранной форме результатов работы программы.
Рисунок 12 - Список заданий
В зависимости от задания, порядок выполнения которых определяет
пользователь, появляется определенное окно с отчетами: (Рисунок 13).
57
Рисунок 13- Запуск задания
Получаем отчет
Рисунок 14 - Отчет о работе программы
58
Для оценки качества разработанного программного обеспечения было
проведено сравнение по основным характеристикам с аналогичными
решениями (NetSparker, Wapiti, XenoTix) и протестировано на специально
разработанном веб-приложении в котором предусмотрена функция
авторизации на веб-ресурсе. Результаты сравнения и тестирования
представлены в таблице 9.
Таблица 10 – Результаты сравнения и тестирования
NetSparker
Wapiti
XenoTix
XSS Finder
Авторизация в системе
-
-
+
+
Поиск хранимых XSS
+
+
+
+
Поиск отраженных XSS
+
+
+
+
Поиск DOM XSS
+
-
-
+
Наличие ГИП
+
-
+
+
Количество найденных уязвимостей
7/10
6/10
7/10
10/10
Количество пропущенных форм
1/6
3/6
1/6
0/6
В таблице 1 наглядно отражены основные характеристики
существующих решений и результаты тестирования, разработанного
программного обеспечения XSS Finder. Исходя из результатов тестирования
разработанное ПО XSS Finder имеет ряд преимуществ перед
существующими продуктами, что делает разработанную программу
конкурентоспособным продуктом направленную на детектирование XSS-
уязвимостей.
Таким образом разработанная программа позволит повысить
эффективность защиты веб-приложения от XSS-атак. Значительно упростит
процесс тестирования веб-ресурса разработчиком, благодаря функционалу
формирования отчета с рекомендациями по устранению найденных XSS-
уязвимостей. ПО обладает простым пользовательским графическим
интерфейсом, что дает возможность пользоваться программой даже без
знания основ в области информационной безопасности.
59
ЗАКЛЮЧЕНИЕ
Обеспечение информационной безопасности можно рассматривать как
одну из важнейших задач для любой компании, работающей с информацией,
разглашение которой может дорого стоить. Характерным в такой работе
является то, что почти каждый человек понимает для себя важность защиты
данных, но на практике лишь несколько понимают необходимость такой
защиты и представляют реальные последствия и методы их предотвращения.
У большинства же людей информационная угроза ассоциируется с сфенами
из популярных фильмов о «хакерах». На практике же все не так просто, ведь
ИБ обязана учитывать множество факторов, которые так или иначе связаны с
рассматриваемым объектом.
Каждый год появляется множество новый научных открытий, особенно
заметно это в сфере информационных технологий. Реализуются новые
технологии обработки данных, их хранения, передачи, благодаря этому
растут и вычислительные мощности, направляемые на преодоление даже
самых современных систем защиты. Продвижение таких направлений, как
физика волн, радиоэлектроника, электромагнитные импульсы, позволяют
изобретать все более изощренные способы получения данных, при которых
даже не устанавливается непосредственного контакта с компьютером
жертвы.
В России еще с начала 90-х годов практика применения
противоправных средств при ведении бизнеса стала нормой, угроза
информационной безопасности стоит очень актуально. Поэтому всем
администраторам рекомендуется постоянно следить за появлением новых
методов в области взлома, прослушивания каналов и защитного ПО.
Вначале важно подробно описать все бизнес и информационные
процессы, проходящие в компании. Если упустить на этом этапе хотя бы
один нюанс, в будущем именно он может стать зацепкой для
60
злоумышленника. Однако стоит помнить и про чрезмерное засекречивание и
неоправданные растраты на защиту данных во вред всей компании.
В ходе работы тщательным образом проанализирована и изучена
предметная область: виды XSS атак, методы защиты, сформулированы
требований к программному обеспечению и описан его прототип.
Проведен анализ работоспособности разработанного прототипа.
Разработанное программное обеспечение позволяет определить перечень
имеющихся на сайте XSS –уязвимостей. Для разработки использовались
язык программирования высокого уровня Borland Delphi 7 и СУБД MS
Access.
Основной акцент в данной работе делался на защиту информации от
несанкционированного доступа и непреднамеренных действий с целью
нарушения конфиденциальности, целостности и доступности к ней.
Полученные результаты продемонстрировали пригодность
разработанных постановки задачи и алгоритма ее решения для выбора
способа защиты Web-сервера от XSS.
61
СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ
1. Обеспечение информационной безопасности организаций
банковской системы РФ. Стандарт банка России СТО БР ИББС-1.0-2010. )
[Электронный ресурс] http://www.cbr.ru/credit/Gubzi_docs/main.asp?Prtid=Stnd
2. Практические правила управления информационной
безопасностью. ГОСТ Р ИСО/МЭК 17799-2005.
3. ГОСТ Р ИСО/МЭК 15408-1-2002 [Электронный ресурс]
http://www.a-datum.ru/downloads/gost.../GOST_R_ISO_15408_1.doc
4. ГОСТ Р ИСО/МЭК 15408-1-2002. Информационная технология.
Методы и средства обеспечения. Критерии оценки безопасности
информационных технологий. Ч.1. Введение и общая модель. – М.:
Госстандарт России, 2002.
5. Стандарт Банка России: "Обеспечение информационной
безопасности организаций банковской системы Российской Федерации.
Методика оценки соответствия информационной безопасности организаций
банковской системы Российской Федерации требованиям СТО БР ИББС-1.0 -
2010" (СТО БР ИББС-1.2-2010) [Электронный ресурс]
http://www.cbr.ru/credit/Gubzi_docs/main.asp?Prtid=Stnd
6. Федеральный закон "О банках и банковской деятельности" от
02.12.1990 N 395
7. Федеральный закон от 27.07.2006 г. N 149-ФЗ «Об информации,
информационных технологиях и о защите информации» (с последующими
изменениями и дополнениями от 28.07.2012)
8. Адаменко М.А., Основы классической криптологии. Секреты
шифров и кодов, Издательство: ДМК Пресс, 2012 г., 256 с.
9. Адаменко М.А., Основы классической криптологии. Секреты
шифров и кодов. - М.: ДМК Пресс, 2012. – 256 с.

Смотрите также:

"Автоматизация обработки заявок ООО "Проектно-Строительная Компания"
"Автоматизация процесса аттестации персонала для ООО "Нэт Бай Нэт Холдинг"
"Анализ интернет-активности конкурентов ( на примере конкурентов "Газпром нефть")
"Бухгалтерский учёт и аудит расчётов с подотчётними лицами в организации на примере ООО "ЛОЦ 10""
«Психологическое сопровождение персонала в организации на примере ООО «Крокус»
Cовершенствование деловой оценки персонала в организации (на примере ООО "Даймонд кейтеринг развитие")
PR как средство продвижения организации (на примере ПАО "Тамбовский завод "Комсомолец им. Н.С. Артемова")
PR-коммуникации в сфере общественного питания (на примере кафе-кондитерской «Cream Cheese»)
SMM как средство повышения эффективности работы учреждений социокультурной сферы (на примере Малого театра)
Value-based education: ценности в системе образования и способы их реализации на уроке английского языка. Опыт Европейских стран