Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лекции 1 (от него).docx
Скачиваний:
35
Добавлен:
21.11.2018
Размер:
4.65 Mб
Скачать

Уровень межсетевого взаимодействия стека протоколов технологии tcp/ip

Основным протоколом, при помощи которого реализуются функции уровня межсетевого взаимодействия, является протокол IP (Internet Protocol). Протокол IP, в отличие от других протоколов сетевого уровня модели ЭМВОС, определённых в технологиях Х.25, Frame Relay и ATM, не ориентирован на предварительное установление соединения перед началом передачи данных. Структура IP-пакета показана на рис. 11.5.

Версия

(4 бита)

Длина заголовка

(4 бита)

Тип сервиса

(8 бит)

Длина

(16 бит)

Идентификатор (16 бит)

Флаги (3 бита)

Смещение фрагмента

(13 бит)

Время жизни

(8 бит)

Идентификатор протокола

(8 бит)

Контрольная сумма

(16 бит)

Адрес отправителя (32 бита)

Адрес получателя (32 бита)

Параметры (переменная длина)

Выравнивание (переменная длина)

Поле данных (переменная длина)

Рисунок 11.5 - Структура IP-пакета

Рассмотрим каждое из полей IP-пакета более подробно.

Поле «Версия» содержит номер используемой версии протокола IP. В настоящее время наиболее распространена четвертая версия протокола, однако в будущем она будет заменена более новой - шестой версией.

Поле «Длина заголовка» содержит числовое значение длины заголовка IP-пакета. При этом минимальная длина заголовка составляет 20 байт.

Значение поля «Тип сервиса» используется в процессе обеспечения качества обслуживания передаваемых данных в IP-сетях. Методы обеспечения качества обслуживания передаваемых данных в IP-сетях будут рассмотрены ниже.

В поле «Длина» указывается общая длина пакета, включая заголовок и поле данных. Пакеты данных, формируемые на основе протокола IP, могут иметь переменную длину от 576 до 65535 байт. В случае если с транспортного уровня стека TCP/IP поступает блок данных, длина которого превышает максимальную длину поля данных IP-пакета, то на уровне межсетевого взаимодействия этот блок данных фрагментируется на несколько пакетов данных.

Поле «Флаги» состоит из трех бит, старший из которых всегда равен 0. Следующий за ним бит носит название DF (Don't fragment), и если 0н содержит единичное значение, то это означает невозможность фрагментации пакета данных. Третий бит MF (More fragments) принимает единичное значение во всех фрагментах одного пакета данных, кроме последнего.

В поле «Идентификатор» указывается числовое значение, которое должно быть одинаковым во всех фрагментах одного IP-пакета.

Поле «Время жизни» используется в качестве счётчика количества маршрутизаторов, через которые был передан IP-пакет. Каждый маршрутизатор, через который проходит пакет данных, уменьшает значение этого поля заголовка пакета на единицу. В случае если при прохождении через маршрутизатор поле «Время жизни» IP-пакета будет иметь нулевое значение, то маршрутизатор удалит этот пакет.

В поле «Идентификатор протокола» указывается числовой идентификатор протокола, при помощи которого сформирован блок данных, помещаемый в поле данных IP-пакета.

Поле «Контрольная сумма» используется для выявления случайных ошибок в заголовке IP-пакета. Значение контрольной суммы вычисляется как инвертированная сумма 16-битовых слов заголовка IP-пакета. Значение контрольной суммы вычисляется и проверяется в каждом маршрутизаторе, через который проходит IP-пакет. В случае обнаружения ошибки в заголовке IP-пакета пакет отбрасывается.

Поля «Адрес отправителя» и «Адрес получателя» содержат 32-битовые IP-адреса отправителя и получателя пакета. Как правило, IP-адрес записывается в виде четырёх десятичных чисел, разделённых точками, где каждое число изменяется в диапазоне от 0 до 255 (например, «195.203.104.2»).

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

«Поле данных» IP-пакета содержит блоки данных транспортного уровня стека протоколов TCP/IP или пакеты данных, сформированные протоколом ICMP или протоколами маршрутизации.

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

Пакеты данных ICMP помещаются в поле данных IP-пакета. Заголовок пакета данных ICMP содержит три поля: «Тип пакета данных» ICMP (8 бит), «Код пакета данных» ICMP (8 бит) и «Контрольная сумма» (16 бит). Примеры основных значений поля «Тип пакета данных» приведены в табл. 11.1.

Таблица 11.1 - Значения поля «Тип пакета данных» заголовка ICMP-пакета

Тип пакета данных ICMP

Описание

0

Ответ на эхо-запрос

3

Получатель IP-пакета недостижим

8

Эхо-запрос

11

Время жизни IP-пакета истекло

12

Ошибка параметра

13

Запрос временной метки

14

Передача временной метки

Поле «Код пакета данных» ICMP-заголовка, а также поле данных ICMP-пакета конкретизируют информацию, определяемую типом пакета данных. Поле «Контрольная сумма» предназначено для выявления случайных ошибок в заголовке ICMP-пакетов и вычисляется аналогично контрольной сумме заголовка IP-пакета, рассмотренной выше.

Воздействия нарушителя на уровне межсетевого взаимодействия стека протоколов TCP/IP

На уровне межсетевого взаимодействия нарушитель может осуществлять воздействия, направленные на активизацию уязвимостей протоколов IP, ICМР или протоколов маршрутизации IS-IS, OSPF, EGP и BGP. Примеры таких ВН приведены ниже.

Воздействия нарушителя, направленные на активизацию «закладок»

ВН, направленные на активизацию «закладок», внедрённых в информационную сферу IP-сети, подразумевают формирование нарушителем специальных команд, содержащихся в IP-пакетах, пакетах данных ICMP или пакетах данных протоколов маршрутизации, передаваемых в маршрутизаторы или ЦУС, куда внедрена «закладка». Команда активизации «закладки» может содержаться в заголовке или поле данных информационных единиц соответствующих протоколов уровня межсетевого взаимодействия. «Закладка» может быть активизирована как при помощи одной команды, так и при помощи последовательности команд, содержащихся в нескольких пакетах данных.

Последствиями активизации «закладки» в маршрутизаторе или ЦУС могут, например, являться:

  • нарушение работоспособности ЦУС или маршрутизатора с активизированной «закладкой»;

  • нарушение целостности IP-пакетов, пакетов данных ICMP, RSVP или пакетов данных протоколов маршрутизации, проходящих через ЦУС или маршрутизаторы, в которых активизирована «закладка»;

  • формирование нарушителем в ЦУС или маршрутизаторах новых пакетов данных с целью выполнения несанкционированных действий.

Воздействия нарушителя, направленные на блокирование процесса передачи сообщений пользователя

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

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

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

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

Искажение поля данных IP-пакета

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

Искажение значения длины заголовка IP-пакета

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

Искажение значения поля «Время жизни» заголовка IP-пакета

Значение поля «Время жизни» заголовка IP-пакета уменьшается на единицу при прохождении через маршрутизаторы IP-сети. Как только это поле примет нулевое значение, то IP-пакет будет удалён маршрутизатором. Нарушитель может несанкционированно записать в поле «Время жизни» заголовка IP-пакета единичное значение, что приведёт к тому, что искажённый IP-пакет будет удалён в ближайшем маршрутизаторе, в который поступит этот пакет. В случае периодической записи единичного значения в поле «Время жизни» передаваемых IP-пакетов будет иметь место блокирование процесса передачи сообщений пользователя.

Искажение значения идентификатора IP-пакета

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

Искажение адреса получателя IP-пакета

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

Искажение значения поля «Идентификатор протокола» заголовка IP-пакета

Заголовок любого IP-пакета содержит идентификатор протокола транспортного или сетевого уровня, посредством которого сформирован блок данных, помещаемый в поле данных IP-пакета. Последствие ВН, связанное с искажением идентификатора протокола, записанного в поле заголовка IP-пакета, приведёт к тому, что терминальное оборудование пользователя, получив IP-пакет, не сможет правильно обработать блок данных, содержащийся в поле данных полученного пакета. Это, в свою очередь, приведёт к сборке искажённого сообщения пользователя, что потребует его повторной передачи. Периодическое изменение нарушителем значения поля «Идентификатор протокола» заголовка IP-пакета приведёт к блокированию процесса передачи сообщений пользователя.

Искажение значения версии протокола IP

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

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

Воздействия нарушителя, направленные на уменьшение скорости передачи сообщений пользователя

Одним из способов реализации ВН, направленных на уменьшение скорости передачи сообщений пользователя, является несанкционированное искажение значения поля «Тип сервиса» заголовка IP-пакета. Данное поле содержит числовое значение, определяющее уровень качества, с которым будет обслужен этот IP-пакет в маршрутизаторах сети. Уменьшение нарушителем значения поля понизит уровень качества обслуживания IP-пакета. Таким образом, периодическое уменьшение значения поля «Тип сервиса» приведёт к снижению скорости передаваемых сообщений пользователя.

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

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

Воздействия нарушителя, направленные на нарушение работоспособности ЦУС путём активизации уязвимостей программного обеспечения

ВН, направленные на нарушение работоспособности ЦУС, могут быть реализованы путём активизации уязвимостей ПО ЦУС, присутствующих в программных модулях, отвечающих за реализацию протокола IP. Одно из таких ВН получило название «TearDrop» и заключается в посылке ЦУС серии неправильно фрагментированных IP-пакетов, т.е. в полях заголовка «Смещение фрагмента» этих пакетов нарушитель записывает заведомо неправильные значения. Получив такие IP-пакеты, программное обеспечение ЦУС начинает сборку исходного пакета данных, в процессе которой из-за неправильных значений смещений фрагментов, указанных нарушителем, в программном обеспечении ЦУС может произойти сбой, что приведёт к нарушению его работоспособности. Такая уязвимость присутствует во многих версиях операционных систем (ОС) семейств Windows и Unix.

Воздействия нарушителя, направленные на блокирование доступа к ЦУС

Для реализации воздействий, направленных на блокирование доступа к ЦУС, нарушитель может использовать пакеты данных, формируемые на основе протокола ICMP и содержащие эхо-запросы. Реализация ВН заключается в отправке нарушителем в ЦУС большого числа пакетов данных ICMP, содержащих эхо-запросы. При этом в формируемых пакетах данных нарушитель подменяет свой реальный IP-адрес отправителя несуществующими значениями IP-адресов. Получив пакеты данных ICMP, содержащие эхо-запросы, ЦУС будет вынужден произвести их обработку и сформировать новый ICMP-пакет, содержащий эхо-ответ. Постоянное формирование нарушителем пакетов данных ICMP, содержащих эхо-запросы, приведёт к тому, что ЦУС будет тратить часть своих вычислительных ресурсов на обработку ICMP-пакетов, сформированных нарушителем, что, в свою очередь, приведёт к блокированию доступа к ЦУС. Такой метод реализации ВН получил название «Ping Flooding».

Другой метод реализации ВН, направленных на блокирование доступа к ЦУС, получил название «Smurf» и также базируется на использовании протокола ICMP. При реализации воздействия «Smurf» нарушитель отправляет в заранее выбранный сегмент ЛВС, подключённый к IP-сети, широковещательные пакеты данных ICMP, содержащие эхо-запрос. В качестве адреса отправителя этих пакетов данных ICMP нарушитель указывает IP-адрес ЦУС. Всё терминальное оборудование пользователей, подключённое к сегменту ЛВС, получив широковещательный ICMР-пакет с эхо-запросом, сформирует и отправит в ЦУС пакет данных ICMP, содержащий эхо-ответ. В результате реализации ВН в ЦУС будет направлено большое число ICMP-пакетов, содержащих эхо-ответы, обработка которых в ЦУС приведёт к снижению его производительности и блокированию доступа.

Описанные выше ВН «Ping flooding» и «Smurf» могут иметь не только однонаправленный, но и распределённый характер. В этом случае ВН реализуются не из одного, а одновременно из нескольких источников. В настоящее время существуют несколько специализированных программных комплексов, предназначенных для реализации распределённых ВН. Примерами таких комплексов являются «Stacheldraht», «trib00» и «TFN2K».

ВН, направленные на блокирование доступа к маршрутизаторам IP-сети также могут быть реализованы при помощи рассмотренных выше воздействий «Ping flooding» и «Smurf».