Курсовая работа: Исследование возможности удаленной идентификации сетевых устройств.
Введение в предметную область Большинство устройств в сети содержит некоторую доступную для других устройств информацию. Сетевой сканер 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-пакетов.
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( ), probability 78% profile name(ip) in base = ghostwalk.lvk.cs.msu.su( ), probability 89% profile name(ip) in base = ka50.lvk.cs.msu.su( ), probability 78%
Результаты экспериментов Просканировано 18 компьютеров лаборатории 5 из них имеют абсолютно идентичные профили(один открытый порт 7777/tcp и одинаковую реакцию на tcp-пакеты), а 3 хоста не имеют ни одного открытого порта, и, соответственно, проведение полного tcp-сканирования невозможно Оставшиеся 10 компьютеров удачно идентифицировались после повторного их сканирования.
Заключение Как показали эксперименты, из просканированных 18-ти машин, отфильтровать пришлось 8. А это немалая часть. Но успех эксперимента с 10-ю оставшимися машинами также нельзя считать доказательством возможности идентификации узлов, которые не отфильтровываются после первого взгляда. Успеху эксперимента содействовали 2 факта: Слишком мало машин содержалось в базе. Почти все машины содержали избыточное количество информации.