Разработка программного средства для обнаружения и устранен (1209811), страница 5
Текст из файла (страница 5)
Рисунок 2.2.2 – Диаграмма вариантов использования
Анализ информационных потоков на определение IP адресов отправляющих пакетов с широковещательным адресом рассылки
На рисунке 2.2.3 изображена диаграмма, которая показывает, как будет происходить поиск пакетов с широковещательной рассылкой.
Рисунок 2.2.3 – Анализ информационных потоков
Обнаружение попытки внешнего сканирования портов и узлов компании от злоумышленника и его блокировка
На рисунке 2.2.4 изображена диаграмма, которая показывает, как будет происходить обнаружение попытки внешнего сканирования портов и узлов компании от злоумышленника и его блокировка.
Рисунок 2.2.4 – обнаружение попытки внешнего сканирования портов
2.2 Диаграмма классов анализа
Фундаментальными понятиями объектно-ориентированного подхода являются понятия объекта и класса, которые представляются абстракциями реальной или воображаемой сущности (набора сущностей). Класс анализа – еще более абстрактная сущность, чем просто класс, представляет собой набор из одного или более классов.
Таким образом, класс анализа – это укрупненная абстракции, которая на концептуальном уровне (без точного определения атрибутов и операций) описывает некоторый фрагмент системы [13].
На рисунке 2.2.5 представлена диаграмма классов анализа разрабатываемого программного обеспечения.
Рисунок 2.2.5 – Диаграмма классов анализа
2.3 Диаграммы классов
Состав диаграммы классов аналогичен составу диаграммы классов анализа. При построении диаграммы окончательно должны быть определены атрибуты и операции классов. Графически класс отображается в виде прямоугольника, который может быть разделен горизонтальными линиями на секции. В этих секциях указывается имя, атрибуты (свойства) и операции (методы) [13].
Были разработаны две диаграммы классов: логическая и физическая. Главное отличие логической диаграммы классов от физической в том, что логическая диаграмма классов не ориентирована на конкретный язык программирования. Она позволяет продемонстрировать какие методы и атрибуты будут использоваться в классах, не привязываясь к языку программирования, что упрощает понимание предназначения классов.
В таблице 2.2.1 представлено описание классов, а на рисунке 2.2.6 и 2.2.7 изображены логическая и физическая диаграммы классов.
Таблица 2.2.1 – Описание классов
| Название класса | Выполняемые функции |
| MainForm.cs | Обработка всех событий, происходящих в приложении. |
| Settings.cs | Настройки приложения. |
| FileMethods.cs | Содержит методы для работы с файлами MSWord. |
| Glavnaya.cs | Содержит методы перехвата пакетов и добавления их в базу SQL. |
| SelectCapture.cs | Содержит методы выбора устройства сканирования. |
| Result.cs | Содержит методы вывода результатов и отчетов. |
Рисунок 2.2.6 – Логическая диаграмма классов
Рисунок 2.2.7 – Физическая диаграмма классов C#
2.4 Диаграмма компонентов
Диаграмма компонентов позволяет определить состав программных компонентов, в роли которых может выступать исходный, бинарный и исполняемый код, а также установить зависимости между ними [13].
При разработке диаграмм компонентов преследуются цели:
-
спецификация общей структуры исходного кода системы;
-
спецификация исполнимого варианта системы.
На рисунке 2.2.8 изображена диаграмма компонентов разрабатываемого программного средства.
Рисунок 2.2.8 – Диаграмма компонентов
-
Выбор программных средств
-
Язык программирования и средства разработки
Используемый для разработки язык программирования (ЯП) C# является относительно новым ЯП, обладающий тремя основными преимуществами:
-
спроектирован для использования с Microsoft .NET Framework (развитой платформой разработки, развертывания и выполнения распределенных приложений);
-
основан на объектно-ориентированной методологии проектирования, являющейся на данный момент основной методологией для разработки корпоративных информационных систем;
-
при разработке использован опыт создания других ЯП, исключены многие подходы, признанные неудачными.
Язык C# разработан корпорацией Microsoft и впервые выпущен в виде альфа-версии в середине 2000 года. Руководителем команды разработчиков C# выступил Андерс Хейльсберг – один из известнейших специалистов по ЯП [14].
Версия .NET, используемая при разработке – 3.5. В этой версии в язык программирования C# добавлены следующие возможности:
-
поддержка строго типизированных запросов, применяемых для взаимодействия с различными структурами данных;
-
поддержка анонимных типов, позволяющих моделировать форму типа, а не его поведение;
-
возможность расширения функциональности существующего типа с использованием расширяющих методов, не создавая при этом подклассы этого типа;
-
возможность использования лямбда-операций, упрощающих работу с типами делегатов;
-
новый синтаксис инициализации объектов, позволяющий устанавливать значения свойств во время создания объекта.
Причинами выбора этого языка являются:
-
наличие средств, позволяющих относительно просто и быстро создавать надежные и производительные сетевые службы;
-
наличие большого опыта разработки на этом языке;
-
возможность интеграции с другими системами организации, также использующим этот ЯП.
В качестве среды для разработки программного средства для обнаружения и устранения уязвимостей сетевых ресурсов была использована программа Microsoft Visual Studio 2015. Причины выбора:
-
поддержка языка программирования C#;
-
возможность бесплатного использования.
-
Система управления базой данных
Для создания базы данных и хранения в ней данных о сайтах, о результатах проверки сайтов, списков IP и других данных используемых программным средством поиска и устранения уязвимостей сетевых ресурсов, была выбрана встраиваемая реляционная СУБД SQL SERVER.
Встраиваемой она называется потому что не использует принятую в крупных СУБД структуру типа «клиент-сервер». SQL SERVER не работает как отдельный процесс, а является библиотекой, предоставляющей функции для управления базой данных и встраиваемой в само клиентское приложение. Такой подход упрощает программу и увеличивает производительность.
Еще одной особенностью этой СУБД является то, что база данных хранится полностью в единственном файле на том устройстве, где размещено клиентское приложение. Таким образом чтение и запись в базу данных контролируется файловой системой.
Существуют также другие отличительные особенности:
-
наличие в каждой таблице виртуального столбца rowid, определяющего первичный ключ, даже если таковой не создан;
-
возможность создания базы данных в оперативной памяти;
-
переносимость и кроссплатформенность;
-
тип данных не определяет тип хранимого значения и служит только для сравнения типов.
На самом деле типов как таковых в SQL SERVER нет. Вместо типов используются пять классов данных:
-
NULL – определяет отсутствие значения;
-
INTEGER – определяет целочисленное значение, причем размер поля определяется размером числа;
-
REAL – определяет значение с плавающей точкой;
-
TEXT – определяет текстовую строку, хранимую в кодировке, указанной для базы данных;
-
BLOB – определяет данные в том виде, в котором они были помещены в базу данных (в таком виде хранятся изображения или другие файлы).
Причины выбора этой СУБД:
-
свободное распространение;
-
возможность быстрого развертывания системы обновления из-за отсутствия сервера;
-
производительность;
-
малая сложность базы данных;
-
возможность написания клиентского приложения на ЯП C#.
-
Руководство пользователя программного средства
Обнаружение сайтов, не шифрующих данные авторизации пользователя.
Шаг 1. Запускаем программу, открывается главное окно.
Рисунок 4.1 – форма «Главное окно»
Шаг 2. В главном меню жмем на кнопку «Выполнить сканирования». Открывается окно выбора интерфейса, который необходимо просканировать. Нажимаем кнопку «Начать».
Шаг 3. В окне сканирования мы жмем на кнопку начать поиск сайтов и в открывшемся окне выбираем интерфейс и нажимаем кнопку «Начать».
Рисунок 4.2 – форма «Выберите интерфейс»
Шаг 4. В окне поиска сайтов начинают отображаться пакеты, которые отправляются и посылаются через выбранный ранее интерфейс.
Рисунок 4.3 – форма «Поиск сайтов, не шифрующих пароли»
Шаг 5. Затем мы открываем браузер и авторизуемся на выбранном сайте. В случае нахождения уязвимости в окне поиска сайтов появится сообщение «Найдены угрозы». Мы нажимаем кнопку «Посмотреть отчет», открывается новое окно, в котором отображается адрес и домен сайта, на котором была найдена уязвимость.
Рисунок 4.3 – форма «Найденные сайты»
Проверка IP адресов на наличие их в черном списке DNSBL.
Шаг 1. В главном окне программы жмем на кнопку «Проверка IP по базе DNSBL». В открывшемся окне требуется ввести адрес или домен сайта, который необходимо проверить.
Рисунок 4.4 – форма «Проверка сайтов на уязвимости»
В новой форме открывается список ip адресов, с которыми происходит обмен пакетами. Выполняется проверка и во второй колонке отображается результат. В случае отсутствия IP в базе в столбце выводится сообщение «Отсутствует в базе».
Сканирование портов.
Шаг 1. Вводится адрес интерфейса и промежуток портов, которые мы хотим сканировать. В ответ получаем список закрытых и открытых портов.
Рисунок 4.5 – форма «Контроль портов»
Шаг 2. При нажатии на кнопку произвести анализ открывается форма «Работа с портами». В этой форме отображается список найденных открытых портов. В данной форме мы можем блокировать входящий и исходящий трафик для данного порта, а также разблокировать его.
Рисунок 4.6 – форма «Работа с портами»
Проверка блокировки в брандмауэре
Для этого необходимо зайти в панель управления, выбрать пункт «брандмауэр Windows» и перейти во вкладку дополнительно. Там выбрать подпункт «Правила для входящих подключений» или же «Правила для исходящих подключений». С помощью этого можно проверить работоспособность программы, а именно реагирование на уязвимости сетевых ресурсов.
Рисунок 4.7 – Блокировка
Заключение















