120 likes | 373 Views
Курсовая работа:. Исследование возможности удаленной идентификации сетевых устройств. Введение в предметную область. Большинство устройств в сети содержит некоторую доступную для других устройств информацию. Сетевой сканер nmap определяет ОС удалённой машины. Постановка задачи.
E N D
Курсовая работа: Исследование возможности удаленной идентификации сетевых устройств.
Введение в предметную область • Большинство устройств в сети содержит некоторую доступную для других устройств информацию. • Сетевой сканер nmap определяет ОС удалённой машины.
Постановка задачи Целью данной курсовой работы является исследование возможности удалённой идентификации сетевых устройств в сетях TCP/IP/Ethernet. Для успешного выполнения работы требуется: • Формализовать задачу удаленной идентификации сетевых устройств с помощью активного сканирования. • Построить набор параметров для идентификации узлов общего назначения (серверов и рабочих станций) в локальных сетях архитектуры TCP/IP/Ethernet • Определить граничные условия применимости для каждого из параметров. • Выбрать ограниченный набор параметров для пилотной реализации. • Разработать алгоритм построения профиля сетевого устройства. • Разработать и реализовать систему удаленной идентификации сетевых устройств по данному набору параметров. • Провести экспериментальные исследования в локальной сети ЛВК с целью оценки эффективности идентификации.
Задача удалённой идентификации • Требуется построить набор параметров сетевых устройств, каждый из которых может служить уникальной характеристикой устройства в пределах заданных граничных условий (назовём такой набор профилем сетевого устройства) • Разработать метод идентификации устройств на основе профиля. Метод идентификации должен быть устойчив к изменениям наблюдаемого профиля в пределах граничных условий - при смене способа подключения устройства к сети, географического положения, частичном изменении программной или аппаратной конфигурации.
Набор параметров для удалённой идентификации. • Информацию об удалённом хосте можно получить двумя способами: при помощи активного и пассивного сканирования. Уровни стека протоколов TCP/IP: 4.Прикладной FTP, TELNET, SMTP, TFTP, DNS, Сужба времени, Эхо 3.Транспортный TCP, GGP, HMP, EGP, UDP 2.Internet IP/ICMP 1.Уровень доступа к сети Локальные сети, ARPANET, SATNET, Пакетная радиосеть
Набор параметров для пилотной реализации • Сервисы. • Тесты обработки TCP-пакетов.
Тесты обработки TCP-пакетов. • Tseq ( Class = i800 ) - тест определения закона изменения ISN хоста. • T1(DF=N%W=C000|EF2A%ACK=S++%Flags=AS%Ops=MNWNNT) - тестопределения TCP-опций. В данном тесте на открытый порт сервера хост посылает SYN-пакет с набором TCP-опций. В скобках записаны параметры, возвращаемые в ответе на посланный SYN-пакет • T2(Resp=Y%DF=N%W=0%ACK=S%Flags=AR%Ops=) - тестобработки NULL-пакета. На открытый порт сервера хост отправляет "пустой" пакет с указанием TCP-опций, аналогичных предыдущему тесту. • T3(Resp=Y%DF=N%W=C000|EF2A%ACK=0%Flags=A%Ops=NNT) - тест обработки SYN|FIN|PSH|URG-пакета. На открытый порт сервера хост посылает пакет с указанием соотв. набора флагов и без указания TCP-опций. • T4(DF=N%W=0%ACK=0%Flags=R%Ops=) - тест обработки ACK-пакета. На открытый порт сервера хост отправляет ACK-пакет • T5(DF=N%W=0%ACK=S++%Flags=AR%Ops=) - тест обработки SYN-пакета. На закрытый порт сервера хост отправляет SYN-пакет. • T6(DF=N%W=0%ACK=0%Flags=R%Ops=)- тест обработки ACK-пакета на закрытый порт. На закрытый порт сервера хост отправляет ACK-пакет. • T7(DF=N%W=0%ACK=S%Flags=AR%Ops=) - тест обработки FIN|PSH|URG-пакета. На закрытый порт сервера хост отправляет соответствующий пакет. • PU(DF=N%TOS=0%IPLEN=38%RIPTL=148%RID=E%RIPCK=E%UCK=E%ULEN=134%DAT=E) - тестформата ICMP-сообщения Port Unreachable. На закрытый порт сервера с большим номером хост отправляет запрос (TCP и UDP-пакет), и анализируется прибывшее в ответ ICMP-сообщение Port Unreachable
Архитектура и алгоритмы работы системы идентификации ./fpbase [OPTIONS] HOST | FILENAME Программа поддерживает следующие опции: -s, --scan - Указывает, что должно быть проведено сканирование хоста. Следовательно последним параметром должно быть имя хоста, либо его ip-адрес -f, --file - Указывает, что результаты сканирования следует взять из файла. Последним параметром должен быть путь к файлу. -o, --output - Используется в комбинации с опцией –s для перенаправления потока вывода в файл. Следующим параметром должен быть путь к файлу для вывода результатов. -i, --identificate - Указывает, что требуется идентифицировать устройство по полученным (из файла, либо в процессе сканирования) результатам сканирования.
Архитектура и алгоритмы работы системы идентификации • Для удобства распознавания файлов с результатами cканирования, вывод осуществляется в формате похожем наформат вывода сканера nmap. • При указании опции -i, результат представляет собой набор строк следующего вида: profile name(ip) in base = zigzag.lvk.cs.msu.su(158.250.17.23), probability 78% profile name(ip) in base = ghostwalk.lvk.cs.msu.su(158.250.17.87), probability 89% profile name(ip) in base = ka50.lvk.cs.msu.su(158.250.17.90), probability 78%
Результаты экспериментов • Просканировано 18 компьютеров лаборатории 5 из них имеют абсолютно идентичные профили(один открытый порт 7777/tcp и одинаковую реакцию на tcp-пакеты), а 3 хоста не имеют ни одного открытого порта, и, соответственно, проведение полного tcp-сканирования невозможно • Оставшиеся 10 компьютеров удачно идентифицировались после повторного их сканирования.
Заключение Как показали эксперименты, из просканированных 18-ти машин, отфильтровать пришлось 8. А это немалая часть. Но успех эксперимента с 10-ю оставшимися машинами также нельзя считать доказательством возможности идентификации узлов, которые не отфильтровываются после первого взгляда. Успеху эксперимента содействовали 2 факта: • Слишком мало машин содержалось в базе. • Почти все машины содержали избыточное количество информации.