Разработка программного средства для обнаружения и устранен (1209811), страница 4
Текст из файла (страница 4)
Просмотр отчета об опасных сайтах изображен на рисунке 2.1.3.
Рисунок 2.1.3 – отчет о найденных сайтах с уязвимостями
2.1.2. Определение IP адресов широковещательной рассылки
Производится анализ информационных потоков на определение IP адресов отправляющих пакетов с широковещательным адресом рассылки.
Этот компонент предостерегает пользователя от появления вредоносных программ или от ошибок работы с сетевыми ресурсами, из-за которых в сети появляются пакеты с широковещательными адресами.
Появление таких пакетов вызывают передачу большого количества широковещательных пакетов в сети, часто с последующим увеличением их количества. Пример рассылки пакета с широковещательным адресом показан на рисунке 2.1.4. Изображенный пакет получат и обработают все узлы в локальной сети.
Рисунок 2.1.4 – Рассылка пакета с широковещательным адресом
Это может привести к нарушению работоспособности как отдельного сегмента, так и сети в целом.
Исходя из соображений безопасности и обеспечения максимальной пропускной способности сети, на шлюзах может быть установлен запрет транзита пакетов на широковещательные адреса.
Для поиска таких пакетов мы также производим анализ базы пакетов на наличие в ней пакетов с широковещательными адресами.
На втором уровне модели OSI используется широковещательный MAC-адрес вида FF:FF:FF:FF:FF:FF.
На третьем уровне вид широковещательного адреса зависит от протокола. Так, в IP-сетях широковещательные адреса формируются следующим образом: к адресу подсети прибавляется побитовая инверсия маски подсети. Например, если адрес сети равен 192.168.0.0, маска подсети 255.255.255.0, то широковещательный адрес будет 192.168.0.255.
Компонент при обнаружении такого пакета извлекает адрес его отправителя и при желании пользователя соединение с этим IP адресом блокируется.
На рисунке 2.1.5 изображено созданное программой правило блокировки IP адреса
Рисунок 2.1.5 – Блокировка широковещательного адреса
2.1.3. Предотвращение внешнего сканирования
Реализуется способ обнаружение попытки внешнего сканирования портов и узлов компании от злоумышленника и его блокировка
Порт – это поле в tcp- или udp-пакете, идентифицирующее приложение-получателя (и отправителя, в пакете этих полей два) пакета.
Формат пакета данных TCP-протокола изображен на рисунке 2.1.6.
Рисунок 2.1.6 – Пакет TCP
Формат пакета данных UDP протокола изображен на рисунке 2.1.7.
Рисунок 2.1.7 – Пакет UDP
Приложение обращается к операционной системе с запросом на создание сокета. Операционная система регистрирует, какое приложение обращается к нему с этим запросом, и формирует привязку приложения к сокету — выделяет порт. Этот порт служит для обмена информацией по сетевым протоколам, и вся информация, полученная из сети для порта с этим номером, в дальнейшем передается нужному приложению.
Сокет – это название программного интерфейса для обеспечения информационного обмена между процессами. Процессы при таком обмене могут исполняться как на одной ЭВМ, так и на различных ЭВМ, связанных между собой сетью. Сокет – абстрактный объект, представляющий конечную точку соединения.
Из этого вытекает, что если прибыл пакет на порт, которому не сопоставлено никакое приложение, то пакет будет просто выброшен операционной системой, и обрабатываться не будет.
Сканирование портов выполняется с целью определить, какие порты целевого хоста закреплены за приложениями. Сканирование есть подготовительная операция, разведка периметра. После того, как будет составлен список активных портов, начнётся выяснение — какие именно приложения используют эти порты.
После определения приложений, а иногда даже их версий, фаза разведки заканчивается, и начинается фаза активных действий против узлов сети компании, а именно – атака. Не обязательно, что после первой фазы (разведки) сразу начнётся вторая. Зачастую через некоторое время разведка повторяется, причём с других узлов сети. Это своего рода проверка бдительности «стражи» — администраторов.
С целью предотвращения атак необходимо предотвратить сканирование портов узлов сети компании. Следует понимать, что сканирование само по себе ничем не может Вам повредить – повредить могут последующие действия, если они последуют.
Обнаруживать попытки сканирования портов мы будем двумя способами.
Первый способ - NULL-сканирование, это анализ базы пакетов на наличие пакетов с отключенными флагами. При выполнении NULL-сканирования злоумышленник посылает пакеты с отключенными флагами и в ответ согласно RFC 793, исследуемый узел должен ответить отправкой сообщения RST для закрытого порта, если порт открыт, то этого ответа злоумышленник не получит.
Второй способ – это анализ базы пакетов на наличие пакетов с запросом ECHO_REQUEST. При выполнении сканирования злоумышленник посылает пакеты и в ответ согласно RFC 793, исследуемый узел должен ответить отправкой сообщения RST для закрытого порта, если порт открыт, то этого ответа злоумышленник не получит.
При обнаружении попытки сканирования происходит блокировка IP адреса злоумышленника изображенная на рисунке 2.1.8.
Рисунок 2.1.8 – Блокировка IP
2.1.4 Блокировка постороннего узла в компьютерной сети
Программа позволяет обнаружить неизвестное устройство в сети компании. Для начала создается таблица устройств компании, в которую вносятся MAC-адреса всех устройств.
MAC-адрес (Media Access Control – управление доступом к среде) – уникальный идентификатор, присваиваемый каждой единице активного оборудования или некоторым их интерфейсам в компьютерных сетях Интернет.
Структура MAC-адреса изображена на рисунке 2.1.9.
Рисунок 2.1.9 – Структура MAC-адреса
Стандарты IEEE определяют 48-разрядный MAC-адрес, который разделен на четыре части.
Первые три октета содержат 24-битный уникальный идентификатор организации, или производителя. При этом используются только младшие 22 разряда, 2 старшие имеют специальное назначение:
-
первый бит указывает, для одиночного или группового адресата предназначен кадр;
-
второй младший бит первого байта указывает, является ли MAC-адрес глобально или локально администрируемым.
Следующие три октета выбираются изготовителем для каждого экземпляра устройства. За исключением сетей системной сетевой архитектуры SNA.
Таким образом, глобально администрируемый MAC-адрес устройства глобально уникален и обычно «зашит» в аппаратуру.
Для обнаружения постороннего устройства необходимо проанализировать базу полученных пакетов и найти в ARP пакетах посторонний MAC-адрес.
Для подключения своего устройства, злоумышленник посылает фальсифицированный ARP-запрос. Главная цель злоумышленника установить связь между MAC-адресом его машины и IP-адресом другого компьютера (например, сетевого шлюза). Если такое хакеру удастся, то все пакеты, адресованные сетевому шлюзу, будут посылаться машине хакера. Злоумышленник может переадресовывать эти пакеты настоящему шлюзу или модифицировать данные перед последующей переадресацией. Также он может предпринять DoS-атаку против машины жертвы, подменив МАС-адрес шлюза на МАС-адрес машины жертвы.
Схема подключения устройства злоумышленника к сети компании изображена на рисунке 2.1.10.
Рисунок 2.1.10 – Схема получения доступа злоумышленником
2.1.5 Выявление программ-шпионов
Разрабатывается средство поиска программ-шпионов, несанкционированно собирающих и отправляющих информацию о работе на компьютере.
Программа позволяет определить собираются ли и отправляются сведения о действиях пользователя на компьютере, а именно отправляются ли скриншоты экрана и отправляется ли история нажатия клавиш пользователем.
Программное средство записывает в базу нажатие клавиш и затем производит анализ на наличие пакетов, содержащих в данных эти комбинации.
Также производится анализ пакетов на содержание в них скриншотов.
После обнаружения таких пакетов строится отчет.
2.2 Проектирование программного средства
Любая разработка какого-либо программного продукта начинается именно с проектирования – детализированного описания, расчётов, необходимых для создания конечной системы. Для проектирования программного средства для обнаружения и устранения уязвимостей в компании ООО «Приморье» будет использоваться унифицированных язык моделирования (UML), который является стандартом при разработке объектно-ориентированных систем.
В UML предусмотрено множество видов диаграмм:
-
классов;
-
компонентов;
-
композитной/составной структуры;
-
развёртывания;
-
деятельности;
-
состояний;
-
вариантов использования;
-
последовательности;
-
синхронизации;
-
и др.
Некоторые из этих диаграмм будут применены для проектирования разрабатываемого программного средства.
2.1 Диаграммы вариантов использования
Визуальное моделирование можно представить, как некоторый процесс поуровнего спуска от наиболее общей и абстрактной концептуальной модели к логической, а затем и к физической модели соответствующего программного средства. Для этого вначале строится модель вариантов использования, которая описывает функциональное назначение программного средства. Разработка диаграммы преследует следующие цели:
-
определить общие границы и контекст моделируемой предметной области;
-
сформулировать общие требования к функциональному поведению проектируемого программного средства;
-
разработать исходную концептуальную модель системы для ее последующей детализации в форме логических и физических моделей;
-
подготовить исходную документацию для взаимодействия разработчиков системы с ее заказчиками и пользователями.
Суть данной диаграммы состоит в следующем: проектируемая система представляется в виде множества актеров, взаимодействующих с системой с помощью так называемых вариантов использования. При этом актером называется любой объект, субъект или система, взаимодействующая с моделируемой системой извне. Это может быть человек, техническое устройство или другая система, которая может служить источником воздействия на моделируемую систему. В свою очередь вариант использования – это спецификация сервисов (функций), которые система предоставляет актеру. Другими словами, каждый вариант использования определяет некоторый набор действий, совершаемых системой при взаимодействии с актером. При этом в модели никак не отражается то, каким образом будет реализован этот набор действий [13].
2.1.1 Контекстная диаграмма
Разработку диаграмм вариантов использования начинают с создания контекстной диаграммы. Это диаграмма, расположенная на вершине древовидной структуры диаграмм, представляющая собой самое общее описание системы и ее взаимодействие с внешней средой. На рисунке 2.2.1 показана контекстная диаграмма.
Рисунок 2.2.1 – Контекстная диаграмма
Определение web-ресурсов, в которых данные авторизации передаются в открытом виде и построение отчета о возможных рисках
На рисунке 2.2.2 изображена диаграмма декомпозиции для варианта использования «Определение web-ресурсов, в которых данные авторизации передаются в открытом виде и построение отчета о возможных рисках».














