Смекни!
smekni.com

Безопасность сетей на базе TCPIP (стр. 2 из 3)

Во многих протоколах данные передаются в открытом, незашифрованном виде. Анализ сетевого трафика позволяет перехватывать данные, передаваемые по протоколам FTP и TELNET (пароли и идентификаторы пользователей), HTTP (передача гипертекста между WEB-сервером и браузером, в том числе и вводимые пользователем в формы на web-страницах данные), SMTP, POP3, IMAP, NNTP (электронная почта и конференции) и IRC (online-разговоры, chat). Так могут быть перехвачены пароли для доступа к почтовым системам с web-интерфейсом, номера кредитных карт при работе с системами электронной коммерции и различная информация личного характера, разглашение которой нежелательно.

В настоящее время разработаны различные протоколы обмена, позволяющие защитить сетевое соединение и зашифровать трафик (например, протоколы SSL и TLS, SKIP, S-HTTP и т.п.). К сожалению, они ещё не сменили старые протоколы и не стали стандартом для каждого пользователя. В определённой степени их распространению помешали существующие в ряде стран ограничения на экспорт средств сильной криптографии. Из-за этого реализации данных протоколов либо не встраивались в программное обеспечение, либо значительно ослаблялись (ограничивалась максимальная длина ключа), что приводило к практической бесполезности их, так как шифры могли быть вскрыты за приемлемое время.

Ложный ARP-сервер в сети Internet

Для адресации IP-пакетов в сети Internet кроме IP-адреса хоста необходим еще либо Ethernet-адрес его сетевого адаптера (в случае адресации внутри одной подсети), либо Ethernet-адрес маршрутизатора (в случае межсетевой адресации). Первоначально хост может не иметь информации о Ethernet-адресах других хостов, находящихся с ним в одном сегменте, в том числе и о Ethernet-адресе маршрутизатора. Следовательно, перед хостом встает стандартная проблема, решаемая с помощью алгоритма удаленного поиска.

В сети Internet для решения этой проблемы используется протокол ARP (Address Resolution Protocol). Протокол ARP позволяет получить взаимно однозначное соответствие IP- и Ethernet-адресов для хостов, находящихся внутри одного сегмента. Этот протокол работает следующим образом: при первом обращении к сетевому ресурсу хост отправляет широковещательный ARP-запрос, в котором указывает IP-адрес нужного ресурса (маршрутизатора или хоста) и просит сообщить его Ethernet-адрес. Этот запрос получают все станции в данном сегменте сети, в том числе и та, адрес которой ищется. Получив этот запрос, хост вносит запись о запросившей станции в свою ARP-таблицу, а затем отправляет на запросивший хост ARP-ответ со своим Ethernet-адресом. Полученный в ARP-ответе Ethernet-адрес заносится в ARP-таблицу, находящуюся в памяти ОС на запросившем хосте.

Из-за использования в РВС алгоритмов удаленного поиска, существует возможность осуществления в такой сети типовой удаленной атаки "Ложный объект РВС"

Общая схема этой атаки такова:

· ожидание ARP-запроса;

· при получении ARP-запроса передача по сети на запросивший хост ложного ARP-ответа, в котором указывается адрес сетевого адаптера атакующей станции (ложного ARP-сервера) или тот Ethernet-адрес, на котором будет принимать пакеты ложный ARP-сервер;

· прием, анализ, воздействие и передача пакетов обмена между взаимодействующими хостами (воздействие на перехваченную информацию);

Самое простое решение по ликвидации данной атаки – создание сетевым администратором статической ARP-таблицы в виде файла, куда вносится информация об адресах, и установка этого файла на каждый хост внутри сегмента.

Ложный DNS-сервер в сети Internet

Как известно, для обращения к хостам в сети Internet используются 32-разрядные IP-адреса, уникально идентифицирующие каждый сетевой компьютер. Но для пользователей применение IP-адресов при обращении к хостам является не слишком удобным и далеко не самым наглядным. Поэтому для их удобства было принято решение присвоить всем компьютерам в Сети имена, что в свою очередь потребовало преобразования этих имён в IP-адреса, так как на сетевом уровне адресация пакетов идёт не по именам, а по IP-адресам.

Первоначально, когда в сети Internet было мало компьютеров, для решения проблемы преобразования имён в адреса существовал специальный файл (так называемый hosts-файл), в котором именам в соответствие ставились IP-адреса. Файл регулярно обновлялся и рассылался по Сети. По мере развития Internet, число объединённых в Сеть хостов увеличивалось, и такая схема становилась всё менее работоспособной. Поэтому ей на смену пришла новая система преобразования имён, позволяющая пользователю получить IP-адрес, соответствующий определённому имени, от ближайшего информационно-поискового сервера (DNS-сервера). Этот способ решения проблемы получил название Domain Name System (DNS – доменная система имён). Для реализации этой системы был разработан протокол DNS.

Алгоритм работы DNS-службы такой:

1. Хост посылает на IP-адрес ближайшего DNS-сервера DNS-запрос, в котором указывается имя сервера, IP-адрес которого требуется найти.

2. DNS-сервер при получении такого запроса ищет указанное имя в своей базе имён. Если оно и соответствующий ему IP-адрес найдены, то DNS-сервер отправляет на хост DNS-ответ, в котором указывает этот адрес. Если имя не найдено в своей базе имён, то DNS-сервер пересылает DNS-запрос на один из ответственных за домены верхнего уровня DNS-серверов. Эта процедура повторяется, пока имя не будет найдено или будет не найдено.

Как видно из приведённого алгоритма, в сети, использующей протокол DNS, возможно внедрение ложного объекта – ложного DNS-сервера

Так как по умолчанию служба DNS функционирует на базе протокола UDP, не предусматривающего, в отличие от TCP, средств идентификации сообщений, это делает её менее защищённой.

Возможна такая схема работы ложного DNS-сервера:

1. Ожидание DNS-запроса.

2. Извлечение из полученного сообщения необходимых сведений и передача за запросивший хост ложного DNS-ответа от имени (с IP-адреса) настоящего DNS-сервера и с указанием в этом ответе IP-адреса ложного DNS-сервера.

3. При получении пакета от хоста – изменение в IP-заголовке пакета его IP-адреса на IP-адрес ложного DNS-сервера и передача пакета на сервер. Ложный DNS-сервер ведёт работу с сервером от своего имени.

4. При получении пакета от сервера – изменение в IP-заголовке пакета его IP-адреса на адрес ложного DNS-сервера и передача пакета на хост. Ложный DNS-сервер для хоста является настоящим сервером.

Возможны два варианта реализации этой атаки. В первом случае необходимым условием является перехват DNS-запроса, что требует нахождения атакующего либо на пути основного трафика, либо в одном сегменте с DNS-сервером. Во втором случае создаётся направленный шторм ложных заранее подготовленных DNS-ответов на атакуемый хост.

В Internet при использовании существующей версии службы DNS нет приемлемого решения для защиты от ложного DNS-сервера. Можно отказаться от механизма удалённого поиска и вернуться к методу с файлом hosts, как это было до появления службы DNS, но на сегодняшний день в этот файл можно лишь внести информацию о наиболее часто посещаемых адресах.

Также для затруднения данной атаки можно предложить использовать протокол TCP вместо UDP, хотя из документации не всегда известно, как это сделать, да и использование TCP всё равно не обеспечивает полную безопасность.

Навязывание хосту ложного маршрута с использованием протокола ICMP с целью создания в сети Internet ложного маршрутизатора

Это ещё одна атака, связанная с внедрением в РВС ложного объекта. Маршрутизация в Internet осуществляется на сетевом уровне (IP-уровень). Для её обеспечения в памяти сетевой ОС каждого хоста существуют таблицы маршрутизации, содержащие данные о возможных маршрутах. Каждый сегмент сети подключен к глобальной сети Internet как минимум через один маршрутизатор. Все сообщения, адресованные в другие сегменты сети, направляются на маршрутизатор, который, в свою очередь, перенаправляет их далее по указанному в пакете IP-адресу, выбирая при этом оптимальный маршрут.

Как говорилось ранее, в сети Internet существует управляющий протокол ICMP, одно из назначений которого состоит в динамическом изменении таблицы маршрутизации оконечных сетевых систем. Удалённое управление маршрутизацией реализовано в виде передачи на хост управляющего ICMP-сообщения Redirect Message.

Для осуществления данной атаки необходимо подготовить ложное ICMP-сообщение Redirect Datagrams for the Host, где указать адрес хоста, маршрут к которому будет изменён, и IP-адрес ложного маршрутизатора. Затем это сообщение передаётся на атакуемый хост от имени маршрутизатора. Эта атака позволяет получить контроль над трафиком между этим хостом и интересующим взломщика сервером, если хост и взломщик находятся в одном сегменте, или нарушить работоспособность хоста, если они располагаются в разных сегментах.

Защититься от этого воздействия можно фильтрацией проходящих ICMP-сообщений при помощи систем Firewall. Другой способ заключается в изменении сетевого ядра ОС, чтобы запретить реакцию на ICMP-сообщение Redirect.

Подмена одного из субъектов TCP-соединения в сети Internet (hijacking)

Протокол TCP (Transmission Control Protocol) является одним из базовых протоколов транспортного уровня сети Internet. Он позволяет исправлять ошибки, которые могут возникнуть в процессе передачи пакетов, устанавливая логическое соединение – виртуальный канал. По этому каналу передаются и принимаются пакеты с регистрацией их последовательности, осуществляется управление информационным потоком, организовывается повторная передача искаженных пакетов, а в конце сеанса канал разрывается. При этом протокол TCP является единственным базовым протоколом из семейства TCP/IP, имеющим дополнительную систему идентификации сообщений и соединения.

Для идентификации TCP-пакета в TCP-заголовке существуют два 32-разрядных идентификатора, которые также играют роль счетчика пакетов. Их названия - Sequence Number (номер последовательности) и Acknowledgment Number (номер подтверждения).