Курсовая работа: Исследование возможности удаленной идентификации сетевых устройств. Введение в предметную область • Большинство устройств в сети содержит некоторую доступную для других устройств информацию. • Сетевой сканер nmap определяет ОС удалённой машины. Постановка задачи Целью данной курсовой работы является исследование возможности удалённой идентификации сетевых устройств в сетях TCP/IP/Ethernet. Для успешного выполнения работы требуется: 1. Формализовать задачу удаленной идентификации сетевых устройств с помощью активного сканирования. 2. Построить набор параметров для идентификации узлов общего назначения (серверов и рабочих станций) в локальных сетях архитектуры TCP/IP/Ethernet 3. Определить граничные условия применимости для каждого из параметров. 4. Выбрать ограниченный набор параметров для пилотной реализации. 5. Разработать алгоритм построения профиля сетевого устройства. 6. Разработать и реализовать систему удаленной идентификации сетевых устройств по данному набору параметров. 7. Провести экспериментальные исследования в локальной сети ЛВК с целью оценки эффективности идентификации. Задача удалённой идентификации 1. Требуется построить набор параметров сетевых устройств, каждый из которых может служить уникальной характеристикой устройства в пределах заданных граничных условий (назовём такой набор профилем сетевого устройства) 2. Разработать метод идентификации устройств на основе профиля. Метод идентификации должен быть устойчив к изменениям наблюдаемого профиля в пределах граничных условий - при смене способа подключения устройства к сети, географического положения, частичном изменении программной или аппаратной конфигурации. Набор параметров для удалённой идентификации. • Информацию об удалённом хосте можно получить двумя способами: при помощи активного и пассивного сканирования. Уровни стека протоколов 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 факта: • Слишком мало машин содержалось в базе. • Почти все машины содержали избыточное количество информации.