Разработка системы хранения, обработки и выдачи информации об опасностях на сайте
При реализации системы самое очевидное использовать клиент-серверную архитектуру, когда на ПК пользователя ставится программное обеспечение «клиент» и происходит взаимодействие с сервером — в нашем случае в роли сервера выступит Веб-сервис. Классический способ, когда клиент постоянно посылает запрос серверу и ждёт ответа нам не подходит из-за масштаба системы, на клиенте необходимо создать свою… Читать ещё >
Разработка системы хранения, обработки и выдачи информации об опасностях на сайте (реферат, курсовая, диплом, контрольная)
ВВЕДЕНИЕ
Классическим определением слова «Интернет» является: «Интернет — это всемирная информационная система общего доступа». Подключив свой компьютер к глобальной сети Интернет, вы получаете доступ к огромному хранилищу данных и огромным возможностям, созданным всем человечеством, платой за такие возможности становятся опасности, которые подстерегают пользователя при его использовании. Условно их можно разделить на 4 типа:
Прямая атака на уровне операционной системы, когда происходит проникновение на компьютер пользователя через «дыры» в установленной операционной системе. Решением является установка межсетевого экрана, так называемого Firewall, разработками таких систем занимаются многие крупные фирмы, такие как Symantec. Их продукт Norton Internet Security является лидером на рынке межсетевых экранов.
Атака на уровне браузеров, когда проникновение на компьютер пользователя происходит через «дыры» в браузере, посредством исполнения кода вируса на просматриваемой пользователем странице.
Заражение вирусом, компьютера при запуске прикреплённых приложений пришедших по электронной почте, либо неизвестных программ скачанных из Интернета. Для борьбы с вирусами существуют антивирусные программы, например, Kaspersky Antivirus.
Сайты с сомнительным содержанием, по тем или иным причинам, представляющие для пользователя угрозу. Например, Интернет магазины с некачественным товаром.
Как мы видим, для борьбы с первым и третьим типом опасностей есть довольно эффективные инструменты. Для второго и четвертого типа, таких инструментов практически нет.
Второй тип опасностей частично решается с помощью антивирусов, но чаще всего только после проявления активности вирусом, который уже установился в системе. Антивирус может его отследить и удалить. Но хотелось бы иметь инструмент позволяющий предотвратить заражение.
Таким образом, цель данной работы — разработать систему хранения, обработки и выдачи пользователю информации о возможных опасностях на просматриваемом в данный момент сайте.
1. АНАЛИТИЧЕСКАЯ ЧАСТЬ Предметной областью данной работы являются сайты, их содержание и опасности, которым могут подвергнуться пользователи при посещении данных сайтов.
Качественно может быть 3 подхода к решению проблемы фильтрации:
Устанавливать «Великие китайские firewall». Как известно, в настоящее время Интернет в Китае контролируется государством. Власти страны осуществляют цензурирование мировых сайтов, доступных китайским гражданам, и закрывают доступ к ресурсам, считающимся неблагонадежными. Создание подобных ресурсов в самом Китае, а также деятельность по обеспечению нелегального доступа к закрытым сайтам пресекаются с помощью правоохранительных органов. Это не самый лучший подход к решению проблемы, если мы имеем несколько каналов в Интернет, то задача усложняется в несколько разно, на весь Интернет трафик в России этого сделать не получится.
Устанавливать отдельные экраны на уровне локальных сетей и сетей организаций. Опять же не лучший подход, некоторые организации так и поступают, но как быть тем пользователям, которые не подключены к «сознательному» провайдеру, который займется поддержанием и обслуживанием такого экрана, в том числе контролем за последними обновлениями.
Выход может быть только один — устанавливать программное обеспечение пользователю и дать ему инструмент для фильтрации сайтов, которые он посещает.
На сегодняшний день существует 2 наиболее перспективные разработки:
Первая из них это разработка компании SurfControl plc. Их продукт SurfControl используют многие крупные компании для ограждения пользователей и безопасности сети от вирусов и различных сетевых угроз. Программа представляет собой веб-фильтр, серверная часть которой, ставится на сервер организации, а клиентское приложение устанавливается на ПК работников фирмы или пользователей локальной сети. Сервер производит фильтрацию трафика, который получает пользователь, блокирует сайты и почтовый трафик. Из недостатков можно отметить:
программа является централизованной, те все настройки задаются администратором сети и пользователь никак не может их сменить. Даже если вы являетесь администратором и поставили данную систему на домашний компьютер, это создаст вам трудности с её эксплуатацией.
Для рядового пользователя система тяжела в настройке.
Вся система занимает 80 мегабайт.
Вся база знаний создается каждым пользователем в отдельности, т. е. вы не можете воспользоваться базой чёрных списков других пользователей.
Вторая программа — это Outpost Firewall. На самом деле это межсетевой экран, но у него есть функция фильтрации содержимого сайта. Эта функция реализована как дополнение. Основной недостаток, что этот инструмент очень неудобен в использовании, так как является дополнительной возможностью программы и фирма разработчик не уделяет внимание его использованию. Так же опять присутствует проблема, что каждый пользователь будет иметь свой собственный чёрный список.
Таким образом, проанализировав преимущества и недостатки каждого можно сделать вывод, что необходима система, которая позволит пользователю:
самому выбирать, что ему фильтровать, по каким принципам и каким категориям.
обмениваться чёрными списками между пользователями, это позволит более оперативно пополнять базу знаний каждого из пользователей и системы в целом.
При реализации системы самое очевидное использовать клиент-серверную архитектуру, когда на ПК пользователя ставится программное обеспечение «клиент» и происходит взаимодействие с сервером — в нашем случае в роли сервера выступит Веб-сервис. Классический способ, когда клиент постоянно посылает запрос серверу и ждёт ответа нам не подходит из-за масштаба системы, на клиенте необходимо создать свою собственную базу знаний, которая будет закачиваться с сервера и храниться на клиенте во внутреннем представлении. Причём базы данных чёрных списков необходимо распределить между несколькими серверами баз данных, для большей масштабируемости системы
2. КОНСТРУКТОРСКАЯ ЧАСТЬ
2.1 Архитектура системы Система должна состоять из клиента, Windows приложения, и сервера, Веб-сервиса, сайта. Всё их общение с веб-сервисом происходит по протоколу SOAP. Доступ к базам данных осуществляется только через веб-сервис, клиент и сайт непосредственно не должны иметь доступ к базам данных. Клиент имеет доступ только к своей базе знаний, чтобы получить обновления ему необходимо передать запрос веб-сервису, тот в свою очередь обработает его и сделает запрос в базы данных, и после получения данных из БД сформирует ответ для клиента в виде файлов с последними из доступных обновлений.
Рис. 2.1. Структура системы.
Клиентское приложение, установленное на рабочей станции, взаимодействует с базами данных через web-сервис. Запрос на обновление базы фильтров от клиентского приложения посылается веб-сервису, который соединяется с базами (Рис 2.3).
Рис. 2.3. Диаграмма развёртывания системы.
Уровень доступа к данным реализуется специальным классом на web-сервисе. Таким образом, остальные классы становятся независимыми от типа используемой СУБД и, для реляционных баз данных, — от диалекта языка SQL конкретной СУБД.
Присутствующие на рынке СУБД можно разделить на 3 категории:
для локального использования (количество пользователей 1−3), такие как Microsoft Access и Microsoft FoxPro;
для использования в пределах предприятия (отдела) (Microsoft SQL Server, Interbase);
глобального масштаба (Oracle).
Для поставленной задачи оптимальным будет использование СУБД среднего уровня. Принимая во внимание возможность интеграции с уже существующей базой данных, работающей под управлением MS SQL Server 2000, разработка осуществлялась с использованием именно этой СУБД.
2.2 Диаграмма прецедентов Для работы в системе пользователю необходимо предоставить следующие возможности:
Рис. 2.2. Диаграмма прецедентов системы.
2.3 Компоненты системы Рис. 2.4. Диаграмма компонентов системы.
Для данного проекта была выбрана трехуровневая архитектура: доступ клиента к информации, хранящейся в базах данных, происходит с помощью веб-сервиса. Клиент — это windows-приложение, сайт — написан на asp.net. Протокол передачи — TCP/IP. Общение программы и сайта с веб-сервисом происходит по протоколу SOAP.
2.4 Пакеты системы Рис. 2.5. Диаграмма пакетов системы.
Было выделено три основных пакета: пакет классов пользовательского интерфейса, содержащий классы элементов управления; пакет классов для работы с сетью и пакеты классов, реализующих основную логику функционирования системы.
2.5 Классы На рисунке 2.6 представлена концептуальная диаграмма всех классов и их связей. Классы разделены на три модуля: модуль IU, модуль клиента и модуль сервера.
Рис. 2.5. Концептуальная диаграмма классов.
Рис. 2.6. Диаграмма определяющих классов клиента.
ContextFilter — класс, описывающий один фильтр.
ContextFilterCollection — класс, описывающий массив фильтров пользователя.
ContextFilter — класс, описывающий один контекстный фильтр.
ContextFilterCollection — класс, описывающий массив контекстных фильтров пользователя.
Рис. 2.7. Диаграмма определяющих классов сервера.
Service — класс web-сервиса для организации работы клиента с базами данных.
SqlHelper — класс формирования Sql-запроса.
Рис. 2.8. Диаграмма классов UI.
Options — форма для настройки параметров программы.
MainWindow — основная форма программы.
About — форма вывода информации о системе.
CheckSite — форма для проверки наличия жалоб на владельца домена.
CheckUpdates — форма для проверки наличия обновлений баз знаний.
2.5 Последовательность действий в системе Последовательность действий системы описывается 4 диаграммами, каждая из которых описывает определённое действие в системе.
Рис. 2.9. Диаграмма последовательности действии системы. (Получение информации о системе) Рис. 2.10. Диаграмма последовательности действии системы (Настройка параметров программы).
Рис. 2.11. Диаграмма последовательности действии системы (Проверка и загрузка обновлений) Рис. 2.11. Диаграмма последовательности действии системы (Проверка наличия жалоб на владельца домена).
2.6 Инфологическая модель базы данных Рассмотрим сущности предметной области, их атрибуты и отношения между ними.
Рис. 2.12. Инфологическая модель базы данных Блеклист — сущность, описывающая фильтр, который создаёт пользователь для дальнейшего использования самим автором или для подключения другими пользователями.
Пользователи — пользователи системы.
Языки — содержит длинное название языка: Russian, или короткое международное сокращение RU
Слова — список слов и выражений для словарей.
Словари — содержат список слов определённой тематики Хранилище словарей — сущность, связывающая различные словари с блеклистом.
Отчёт — жалоба пользователя на какой-либо сайт.
Рейтинг — количество жалоб.
Хранилище — некая сущность, связывающая различные виды жалоб: на сайты, Webmoney кошельки и т. д.
Сайты — представляет собой список url, на которые поступили жалобы.
2.7 Датологическая модель базы данных В процессе реализации базы данных на выбранной СУБД всем таблицам, соответствующим сущностям, и их атрибутам были даны англоязычные наименования и связи между таблицами, а также для каждого атрибута был выбран тип данных.
Рис. 2.13. Датологическая модель данных
1. Блэклист — Lists
Атрибут сущности | Атрибут таблицы | |
Идентификатор блэк листа | ListID | |
Уровень доступа | PrivatePublic | |
Тип листа | ListVocabulary | |
Имя листа | Name | |
Описание | Description | |
Номер записи | RecordsNumber | |
Владелец листа | OwnerUserID | |
Идентификатор листов | LanguegeID | |
2. Хранилище словарей — BL_StorageVocabulary
Атрибут сущности | Атрибут таблицы | |
Идентификатор словаря | BL_VocabularyID | |
Имя | Name | |
Описание | Description | |
Идентификатор блэк листа | ListID | |
3. Слова — Vocabulary
Атрибут сущности | Атрибут таблицы | |
Идентификатор слов | VocabularyID | |
Слово | Word | |
4. Пользователи — Users
Атрибут сущности | Атрибут таблицы | |
Идентификатор пользователя | UserID | |
Имя пользователя | Login | |
Пароль | Password | |
5. Языки — Language
Атрибут сущности | Атрибут таблицы | |
Идентификатор языка | LanguageID | |
Имя | Name | |
Короткое имя | ShortName | |
6. Хранилище — BL_Storage
Атрибут сущности | Атрибут таблицы | |
Идентификатор хранилища | BL_StorageID | |
Имя | Name | |
Описание | Description | |
Идентификатор рейтинга | RatingID | |
Идентификатор блэк листа | ListID | |
7. ОтчетReports
Атрибут сущности | Атрибут таблицы | |
Идентификатор отчета | ReportID | |
Описание | Description | |
Идентификатор хранилища | BL_StorageID | |
8. Рейтинг — Ratings
Атрибут сущности | Атрибут таблицы | |
Идентификатор рейтинга | RatingID | |
Оценка | Rate | |
9. Сайты — BL_Sites
Атрибут сущности | Атрибут таблицы | |
Идентификатор сайта | BL_SiteID | |
Урл | Url | |
10. Webmoney кошельки — BL_Webmoney
Атрибут сущности | Атрибут таблицы | |
Идентификатор web-кошелька | BL_WebmoneyID | |
Номер кошелька | Purse | |
11. Paypal — BL_Paypal
Атрибут сущности | Атрибут таблицы | |
Идентификатор paypal | BL_PaypalID | |
Номер счета | AccountNumber | |
3. ТЕХНОЛОГИЧЕСКАЯ ЧАСТЬ
3.1 Требования к программному и аппаратному обеспечению При разработке использовалась технология .NET. Для установки требуется установка .NET Framework версии не ниже 1.1. Данная библиотека поставляется фирмой Microsoft бесплатно, как набор библиотек для выполнения приложений реализованных на платформе .NET.
3.2 Требования к серверной части ПК типа IBM PC с процессором Pentium Ш 600 Mhz и выше
128 мб оперативной памяти;
От 100 мб свободного дискового пространства до размера БД фильтров операционная система Windows 2000, XP, 2003 и выше.
Microsoft SQL Server 2000 и выше.
.NET Framework версии не ниже v1.1
Система должна быть запущена под управлением отдельного web-сервера.
3.3 Требования к клиентской части Любая ЭВМ с поддержкой графики и сетевым интерфейсом
Internet Explorer 6.0
3.4 Инструкция по установке системы Для установки базы данных необходимо наличие установленной СУБД Microsoft SQL Server 2000.
Набор библиотек .NET Framework поставляется в виде инсталятора, всю документацию по установке можно найти на сайте Microsoft (www.microsoft.ru).
Установка системы будет проводится в 3 этапа:
Настройка IIS сервера и операционной системы.
Папки со всеми файлами необходимо скопировать в директорию C: Inetpubwwwroot.
В IIS менеджере создать виртуальный каталог, указав в качестве псевдонима любое имя, например: «WSFA», а в качестве пути путь к нашему скопированному каталогу.
В Операционной Системе необходимо создать нового пользователя и наделить его правами типа Users или Guests. Имя этого пользователя понадобится нам для настройки соединения нашего приложения и sql менеджера.
Настройка соединения.
В папке проекта существует файл web. config,. в нём необходимо изменить строку соединения с sql сервером, первоначально строка будет выглядеть так:
…
…
Необходимо указать имя базы данных, к которой мы будем подключаться, в нашем случае это «FA». Если подключенная база данных имеет другое имя, то необходимо атрибуту database присвоить имя этой базы данных.
Теперь необходимо настроить базу данных. Для этого нам надо создать нового пользователя.(New Login). В качестве Login name выбрать пользователя, которого мы создали в пункте 1.3. В окне доступа отметить пункт db_owner. И нажать OK. После этого соединение будет сконфигурировано и приложение готово к работе.
3.5 Безопасность При проектировании безопасности используется аутентификация. Аутентификация — это процесс, при котором приложение проверяет идентичность.
Для хранения имён пользователей и паролей всех пользователей была создана база данных пользователей, расположенная на сервере, где установлен web-сервис.
3.6 Руководство пользователя Клиент выполнен, как Windows приложение. Для его установки необходимо запустить установочный файл fdr1.2.exe. После установки клиент запустится и будет готов к работе. Приложение работает только с Internet Explorer 6.0 и выше, работоспособность на более ранних версиях не проверялась.
Для начала работы с программой необходимо загрузить базу знаний системы, для этого необходимо выбрать во всплывающем меню пункт CheckUpdates.
Рис. 2.14. загрузка базы знаний Для загрузки не только системной базы знаний, но и подключения базы знаний пользователей, нам необходимо выставить в настройках имя и пароль нашей учётной записи в системе, после этого перейти в окно получения обновлений и если такой пользователь существует загрузить ему принадлежащую базу знаний. (Рис 2.15.).
Также в окне настройки параметров можно задать:
Запускать ли приложение при запуске Windows;
Как часто производить автоматическое обновление баз знаний;
Url, по которому производится обращение за обновлениями.
Рис. 2.15. Окно настроек параметров программы.
Данных действий хватит, чтобы начать работу с системой, при посещении сайта Url которого находится в чёрном списке, загруженной базы данных будет появляться окно предупреждения (Рис. 2.16.).
На выбор пользователю дается 3 варианта:
Закрыть окно Internet Explorer;
Игнорировать и продолжить работу с данных сайтом;
Перейти на сайт и посмотреть, почему Url попал в чёрные списки.
Рис 2.16. Окно предупреждение при заходе на сайт находящийся в чёрном списке.
Кроме автоматического отслеживания посещений сайтов, можно производить ручную проверку домена на нахождение в системном чёрном списке. (Рис 2.17.). Если домен находится в чёрном списке, то результатом будет красная надпись под строкой ввода.
Рис. 2.17. Ручная проверка находится ли домен в блек листе
ВЫВОДЫ В результате работы была спроектирована система, предупреждающая пользователя о наличии опасности при просмотре текущих страниц Интернета, разработана система создания пользовательских фильтров и разработан набор баз данных для хранения фильтров как системных, так и пользовательских.
Возможные пути развития представляются, как добавление специальных программных расширений для возможности перехватывать действия пользователя не только в Internet Explorer, но и в других популярных программах:
В Web Browser — Opera, Firefox и других;
Почтовых клиентах — Outlook, Outlook Express, AOL;
В популярных чатах — ICQ, Miranda, MS Messenger.
программа сайт фильтрация установка
1. Симон Робисон, Олли Корнес, Джей Глинн, Бартон Харвей. C# для профессионалов, Издательство «Лори», 2003.
2. Microsoft Corporation, Проектирование и реализация баз данных Microsoft SQL Server 2000.
3. Просуков Е. А. Курс лекций по введению в теорию баз данных, 2002.