Xreferat.com » Топики по английскому языку » Дослідження протоколу TCP/IP /укр./

Дослідження протоколу TCP/IP /укр./

основе TSR работают и в DOS , и в Windows. Они рекомендуются в том случае, если требуется программа реализации TCP/IP, которая работает в обеих средах . Реализация TCP/IP с использованием DLL и в виде VxD- родные для Windows программы. Возможности VxD выше, чем DLL, поскольку они могут управляться прерываниями. Поэтому технология VxD  - перспективное направление и для программного обеспечения TCP/IP. Вне зависимости от метода реализации системы, наиболее важным фактором при выборе пакета TCP/IP для Windows  является количество приложений , которые он поддерживает , и качество этих приложений . Существует несколько пакетов TCP/IP для Windows, из которых можно выбрать наиболее приемлемый . Например, пакет фирмы Microsoft – это стек протоколов TCP/IP, но в нем отсутствуют многие приложения, а пакет фирмы SPRY  - это полный набор приложений, но без стека протоколов. Winsock – это стандарт API, определенный для TCP/IP в системе Windows. Winsock представляет собой реализацию интерфейса в стиле Berkeley TCP/IP socket Microsoft Windows.

Безотказная работа серверов возможна только в том случае , если на них установлена надежная ОС. Большинство администраторов локальных сетей обратились  к ОС NetWare, а администраторы сетей ,работающих на основе протокола TYCP/IP, – k UNIX . Microsoft хотела бы изменить эту ситуацию. Самой последней ее попыткой решить эту задачу было создание OC Windows NT – многозадачная , многопользовательская и многофункциональная ОС . Ее однопользовательская версия предназначена для мощных рабочих станций, а для серверов была выпущена многопользовательская версия Windows NT Server. OC NT с самого начала предназначалась для работы в сетях . Уже первые версии включали в себя программное обеспечение, предназначенное для поддержки протоколов TCP/IP, и предполагали построение корпоративных сетей, работающих на основе этих протоколов . BIOS ,или базовая система ввода/вывода – стандартная часть DOS, реализующая процедуры, используемые приложениями при запросе сервиса ввода /вывода у системы DOS. Протокол NetBios расширил ее, дополнив функциями ввода /вывода через сеть. Протокол не  обеспечивает передачу пакетов через маршрутизаторы . Пакеты передаются только в пределах одной физической сети. Работа NetBios зависит от особенностей функционирования нижележащего, физического уровня сети, на котором обеспечивается широковещательная передача информации. Преимущества и недостатки NetBios делают его очень удобным для использования в маленькой изолированной локальной сети и совершенно непригодным для большой производственной сети. Протокол  NetBios можно запустить поверх множества других сетевых протоколов, включая TCP/IP. Протокол NetBios over TCP/IP  -  это когда сообщения NetBios встраиваются в дейтаграммы TCP/IP. Он относится к числу стандартных .Приложения , использующие NBT, могут работать только вместе с теми приложениями, которые также используют NBT. Они не могут взаимодействовать с приложениями, работающими поверх NBT. Каждая система, которая ожидает связи через глобальную сеть TCP/IP, должна запустить у себя NBT. Приложения NetBios не могут взаимодействовать со стандартными приложениями TCP/IP. Самое большое разочарование, ожидающие пользователей при работе в сети TCP/IP- это Mail, система электронной почты . Проблема для пользователей сети TCP/IP состоит в том , что с помощью Mail невозможно послать письмо никому, кроме         других пользователей Microsoft Mail . Windows NT –это операционная система со встроенной поддержкой сети. Для того чтобы работать в глобальных сетях Microsoft предложила протокол NBT . При функционировании сети под управлением этого протокола используется файл LMHOSTS  ( чтобы уменьшить зависимость от широковещательных передач ) и параметр Scope ID ( для фильтрации нежелательной информации при работе в больших глобальных  сетях ). Помимо этих двух специальных параметров , при конфигурировании TCP/IP для NT требуется установка тех же опций , что и для других реализаций TCP/IP. Система Windows NT поставляется с несколькими приложениями , работа которых зависит от интерфейса приложений NetBios . Эти приложения обеспечивают выполнение большинства функций, предлагаемых стандартными приложениями TCP/IP. При конфигурировании TCP/IP потребуется информация об аппаратном обеспечении, адресах и маршрутизации  . Так как этот протокол создавался в расчете на независимость от любого конкретного аппаратного обеспечения , информация , которая в некоторых других сетевых средствах встроена в аппаратные компоненты, не может быть встроена в TCP/IP. Эту информацию должен ввести тот, кто ответственен за конфигурацию . Изначально протокол TCP/IP создавался для того , чтобы обеспечить надежную работу сети, состоящей из мэйнфреймов и мини – компьютеров и находящейся под управлением профессиональных администраторов . Компьютеры в сетях TCP/IP рассматриваются как равноправные системы ( peers). В протоколе TCP/IP не делается различий между ПК и мэйнфреймами. Для TCP/IP все они хосты , а ко всем хостам предъявляются одинаковые требования по конфигурации. Конечно TCP/IP   тоже совершенствуется  по мере развития ПК и программного обеспечения локальных сетей . В протоколе TCP/IP также появились средства , облегчающие задачу конфигурирования ПК – RARP , BOOTP.

Протокол обратного перевода адресов RARP – это протокол, который преобразует физический сетевой адрес в IP – адрес . Чтобы создать сервер RARP , который может помочь с начальной инсталляцией программного пакета  TCP/IP, вам нужен не зависящий от TCP/IP способ узнать адрес Ethernet. Иногда этот адрес обозначен на самой плате Ethernet   или приведен в документации к ней . Протокол RARP – полезное средство , но он обеспечивает получение только IP- адреса . Чтобы работа сервера была более эффективной , требуется предварительное   конфигурирование программного обеспечения TCP/IP для пользователей ПК. Не каждая реализация TCP/IP может быть заранее сконфигурирована.

Протокол cамозагрузки BOOTP определяется в RFC 951. Этот документ представляет BOOTP в качестве альтернативы RARP, т.е. когда используется BOOTP, надобность RARP отпадает. BOOTP обеспечивает намного больше конфигурационной информации и постоянно совершенствуется. Исходная спецификация протокола позволяла поставщикам без проблем расширять его возможности , что весьма способствовало его дальнейшему развитию. Можно отконфигурировать сервер BOOTP так , чтобы он имел дело сразу со многими клиентами. Сервер легко конфигурируется при помощи всего лишь двух диалоговых окон, но за эту легкость приходится платить.Динамический протокол конфигурации хостов DHCP является представителем последнего на сегодняшний  день поколения BOOTP. Он обеспечивает клиента полным набором значений конфигурационных параметров TCP/IP . Также позволяет выполнять  автоматическое распределение IP- адресов. Сервер DHCP обеспечивает поддержку клиента BOOTP .

2.2. Атаки TSP/IP и защита от них

Атаки на TCP/IP можно разделить на два вида: пассивные и активные. При данном типе атак крэкеры никаким образом не обнаруживают себя и не вступают напрямую во взаимодействие с другими системами. Фактически все сводиться к наблюдению за доступными данными или сессиями связи.

Атака типа подслушивание заключаются в перехвате сетевого потока и его анализе. Англоязычные термин - "sniffing"

Для осуществления подслушивания крэкеру необходимо иметь доступ к машине, расположенной на пути сетевого потока, который необходимо анализировать; например, к маршрутизатору или PPP-серверу на базе UNIX. Если крэкеру удастся получить достаточные права на этой машине, то с помощью специального программного обеспечения сможет просматривать весь трафик, проходящий через заданные интерфейс.

Второй вариант - крэкер получает доступ к машине, которая расположена в одном сегменте сети с системой, которой имеет доступ к сетевому потоку. Например, в сети "тонкий ethernet" сетевая карта может быть переведена в режим, в котором она будет получать все пакеты, циркулирующие по сети, а не только адресованной ей конкретно. В данном случае крэкеру не требуется доступ к UNIX - достаточно иметь PC с DOS или Windows (частая ситуация в университетских сетях) .

Поскольку TCP/IP-трафик, как правило, не шифруется (мы рассмотрим исключения ниже), крэкер, используя соответствующий инструментарий, может перехватывать TCP/IP-пакеты, например, telnet-сессий и извлекать из них имена пользователей и их пароли.

Следует заметить, что данный тип атаки невозможно отследить, не обладая доступом к системе крэкера, поскольку сетевой поток не изменяется. Единственная надежная защита от подслушивания -- шифрование TCP/IP-потока (например, secure shell) или использование одноразовых паролей (например, S/KEY).

Другое вариант решения - использование интеллектуальных свитчей и UTP, в результате чего каждая машина получает только тот трафик, что адресован ей.

 Естественно, подслушивание может быть и полезно. Так, данный метод используется большим количеством программ, помогающих администраторам в анализе работы сети (ее загруженности, работоспособности и т.д.). Один из ярких примеров - общеизвестный tcpdump .

2.3.Активные атаки на уровне TCP

При данном типе атак крэкер взаимодействует с получателем информации, отправителем и/или промежуточными системами, возможно, модифицируя и/или фильтруя содержимое TCP/IP-пакетов. Данные типы атак часто кажутся технически сложными в реализации, однако для хорошего программиста не составляет труда реализовать соотвествующий инструментарий. К сожалению, сейчас такие программы стали доступны широким массам пользователей (например, см. раздел про SYN-затопление).

Активные атаки можно разделить на две части. В первом случае крэкер предпринимает определенные шаги для перехвата и модификации сетевого потока или попыток "притвориться" другой системой. Во втором случае протокол TCP/IP используется для того, чтобы привести систему-жертву в нерабочее состоянии.

Обладая достаточными привилегиями в Unix (или попросту используя DOS или Windows, не имеющие системы ограничений пользователей), крэкер может вручную формировать IP-пакеты и передавать их по сети. Естественно, поля заголовка пакета могут быть сформированы произвольным образом. Получив такой пакет, невозможно выяснить откуда реально он был получен, поскольку пакеты не содержат пути их прохождения. Конечно, при установке обратного адреса не совпадающим с текущим IP-адресом, крэкер никогда не

получит ответ на отосланный пакет. Однако, как мы увидим, часто это и не требуется.

Возможность формирования произвольных IP-пакетов является ключевым пунктом для осуществления активных атак.

2.4.Предсказание TCP sequence number

Данная атака была описана еще Робертом Моррисом (Robert T. Morris) в A Weakness in the 4.2BSD Unix TCP/IP Software Англоязычный термин -- IP spoofing. В данном случае цель крэкера - притвориться другой системой, которой, например, "доверяет" система-жертва (в случае использования протокола rlogin/rsh для беспарольного входа). Метод также используется для других целей -- например, для использовании SMTP жертвы для посылки поддельных писем.

Вспомним, что установка TCP-соединения происходит в три стадии (3-way handshake): клиент выбирает и передает серверу sequence number (назовем его C-SYN), в ответ на это сервер высылает клиенту пакет данных, содержащий подтверждение (C-ACK) и собственный sequence number сервера (S-SYN). Теперь уже клиент должен выслать подтверждение (S-ACK). Схематично это можно представить так:

После этого соединение считается установленным и начинается обмен данными. При этом каждый пакет имеет в заголовке поле для sequence number и acknowledge number. Данные числа увеличиваются при обмене данными и позволяют контролировать корректность передачи. 

Предположим, что крэкер может предсказать, какой sequence number (S-SYN по схеме) будет выслан сервером. Это возможно сделать на основе знаний о конкретной реализации TCP/IP. Например, в 4.3BSD значение sequence number, которое будет использовано при установке следующего значения, каждую секунду увеличивается на 125000. Таким образом, послав один пакет серверу, крэкер получит ответ и сможет (возможно, с нескольких попыткок и с поправкой на скорость соединения)предсказать sequence number для  следующего соединения.

Если реализация TCP/IP использует специальный алгоритм для определения sequence number, то он может быть выяснен с помощью посылки нескольких десятков пакетов серверу и анализа его ответов.

Итак, предположим, что система A доверяет системе B, так, что пользователь системы B может сделать "rlogin A"_ и оказаться на A, не вводя пароля. Предположим, что крэкер расположен на системе C. Система A выступает в роли сервера, системы B и C - в роли клиентов.

 Первая задача крэкера - ввести систему B в состояние, когда она не сможет отвечать на сетевые запросы. Это может быть сделано несколькими способами, в простейшем случае нужно просто дождаться перезагрузки системы B. Нескольких минут, в течении которых она будет неработоспособна, должно хватить. Другой вариант - использование описанными в следующих разделах методов.

После этого крэкер может попробовать притвориться системой B, для того, что бы получить доступ к системе A (хотя бы кратковременный).

Крэкер высылает несколько IP-пакетов, инициирующих соединение, системе A, для выяснения текущего состояния sequence number сервера. Крэкер высылает IP-пакет, в котором в качестве обратного адреса указан уже адрес системы B.  Система A отвечает пакетом с sequence number, который направляется системе B. Однако система B никогда не получит его (она выведена из строя), как, впрочем, и крэкер. Но он на основе предыдущего анализа догадывается, какой sequence number был выслан системе B  Крэкер подтверждает "получение" пакета от A, выслав от имени B пакет с предполагаемым S-ACK (заметим, что если системы располагаются в одном сегменте, крэкеру для выяснения sequence number достаточно перехватить пакет, посланный системой A). После этого, если крэкеру повезло и sequence number сервера был угадан верно, соединение считается установленным.

Теперь крэкер может выслать очередной фальшивый IP-пакет, который будет уже содержать данные. Например, если атака была направлена на rsh, он может содержать команды создания файла .rhosts или отправки /etc/passwd крэкеру по электронной почте.

Представим это в виде схемы 1:

Если Вам нужна помощь с академической работой (курсовая, контрольная, диплом, реферат и т.д.), обратитесь к нашим специалистам. Более 90000 специалистов готовы Вам помочь.
Бесплатные корректировки и доработки. Бесплатная оценка стоимости работы.

Поможем написать работу на аналогичную тему

Получить выполненную работу или консультацию специалиста по вашему учебному проекту
Нужна помощь в написании работы?
Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Пишем статьи РИНЦ, ВАК, Scopus. Помогаем в публикации. Правки вносим бесплатно.

Похожие рефераты: