Анализ сетевого трафика сети Internet
На каждый полученный TCP-запрос на создание соединения операционная система должна сгенерировать начальное значение идентификатора ISN и отослать его в ответ на запросивший хост. При этом, так как в сети Internet (стандарта IPv4) не предусмотрен контроль за IP-адресом отправителя сообщения, то невозможно отследить истинный маршрут, пройденный IP-пакетом, и, следовательно, у конечных абонентов… Читать ещё >
Анализ сетевого трафика сети Internet (реферат, курсовая, диплом, контрольная)
Анализ сетевого трафика сети Internet
В сети 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-службы такой:
Хост посылает на IP-адрес ближайшего DNS-сервера DNS-запрос, в котором указывается имя сервера, IP-адрес которого требуется найти.
DNS-сервер при получении такого запроса ищет указанное имя в своей базе имён. Если оно и соответствующий ему IP-адрес найдены, то DNS-сервер отправляет на хост DNS-ответ, в котором указывает этот адрес. Если имя не найдено в своей базе имён, то DNS-сервер пересылает DNS-запрос на один из ответственных за домены верхнего уровня DNS-серверов. Эта процедура повторяется, пока имя не будет найдено или будет не найдено.
Как видно из приведённого алгоритма, в сети, использующей протокол DNS, возможно внедрение ложного объекта — ложного DNS-сервера.
Так как по умолчанию служба DNS функционирует на базе протокола UDP, не предусматривающего, в отличие от TCP, средств идентификации сообщений, это делает её менее защищённой.
Возможна такая схема работы ложного DNS-сервера:
Ожидание DNS-запроса.
Извлечение из полученного сообщения необходимых сведений и передача за запросивший хост ложного DNS-ответа от имени (с IP-адреса) настоящего DNS-сервера и с указанием в этом ответе IP-адреса ложного DNS-сервера.
При получении пакета от хоста — изменение в IP-заголовке пакета его IP-адреса на IP-адрес ложного DNS-сервера и передача пакета на сервер. Ложный DNS-сервер ведёт работу с сервером от своего имени.
При получении пакета от сервера — изменение в 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 (номер подтверждения).
Для формирования ложного TCP-пакета атакующему необходимо знать текущие идентификаторы для данного соединения. Это значит, что ему достаточно, подобрав соответствующие текущие значения идентификаторов TCP-пакета для данного TCP-соединения послать пакет с любого хоста в Сети от имени одного из участников данного соединения, и данный пакет будет воспринят как верный.
При нахождении взломщика и объекта атаки в одном сегменте, задача получения значений идентификаторов решается анализом сетевого трафика. Если же они находятся в разных сегментах, приходится пользоваться математическим предсказанием начального значения идентификатора экстраполяцией его предыдущих значений.
Для защиты от таких атак необходимо использовать ОС, в которых начальное значение идентификатора генерируется действительно случайным образом. Также необходимо использовать защищённые протоколы типа SSL, S-HTTP, Kerberos и т. д.
Направленный шторм ложных TCP-запросов на создание соединения.
На каждый полученный TCP-запрос на создание соединения операционная система должна сгенерировать начальное значение идентификатора ISN и отослать его в ответ на запросивший хост. При этом, так как в сети Internet (стандарта IPv4) не предусмотрен контроль за IP-адресом отправителя сообщения, то невозможно отследить истинный маршрут, пройденный IP-пакетом, и, следовательно, у конечных абонентов сети нет возможности ограничить число возможных запросов, принимаемых в единицу времени от одного хоста. Поэтому возможно осуществление типовой атаки «Отказ в обслуживании », которая будет заключаться в передаче на атакуемый хост как можно большего числа ложных TCP-запросов на создание соединения от имени любого хоста в сети. При этом атакуемая сетевая ОС в зависимости от вычислительной мощности компьютера либо — в худшем случае — практически зависает, либо — в лучшем случае — перестает реагировать на легальные запросы на подключение (отказ в обслуживании).
Это происходит из-за того, что для всей массы полученных ложных запросов система должна, во-первых, сохранить в памяти полученную в каждом запросе информацию и, во-вторых, выработать и отослать ответ на каждый запрос. Таким образом, все ресурсы системы «съедаются «ложными запросами: переполняется очередь запросов, и система занимается только их обработкой.
Недавно в Сети был отмечен новый тип атак. Вместо типичных атак Denial of Service хакеры переполняют буфер пакетов корпоративных роутеров не с единичных машин, а с целых тысяч компьютеров-зомби.
Такие атаки способны блокировать каналы мощностью вплоть до Т3 (44.736 Мбит/c) и уже отмечено несколько таких случаев. Опасность атаки становится тем важнее, чем больше бизнесов используют частные сети типа VPN и другие Интернет-технологии. Ведь отказ канала у публичного провайдера приведет в этом случае не просто к отключению отдельных пользователей, а к остановке работы огромных корпораций.
В этом случае существуют трудности в определении источника атаки — ложные пакеты идут с различных неповторяющихся IP-адресов. «Зомби-атаку «называют самой сложной из известных. На одинокую жертву нападает целая армия, и каждый зомби бьет только один раз.
Приемлемых способов защиты от подобных атак в сети стандарта IPv4 нет, так как невозможен контроль за маршрутом сообщений. Для повышения надёжности работы системы можно использовать по возможности более мощные компьютеры, способные выдержать направленный шторм ложных запросов на создание соединения.